Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a3265e84
由
sunke
编写于
2022-08-17 09:53:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
感应料架入库成功不通知
1 个父辈
6dcf1f0c
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
51 行增加
和
27 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/custom/dalu/DaLuApi.java
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
src/main/java/com/neotel/smfcore/security/service/dao/impl/MenuDaoImpl.java
src/main/resources/banner.txt
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
a3265e8
package
com
.
neotel
.
smfcore
.
common
.
init
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.utils.PermissionInitUtil
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.inList.util.InListCache
;
import
com.neotel.smfcore.core.message.enums.MessageType
;
import
com.neotel.smfcore.core.message.service.manager.IMessageManager
;
...
...
@@ -42,6 +44,8 @@ public class DataInitManager {
IRoleManager
roleManager
;
@Autowired
IMenuManager
menuManager
;
@Autowired
DataCache
dataCache
;
@Autowired
MainTimer
mainTimer
;
...
...
@@ -71,7 +75,7 @@ public class DataInitManager {
@PostConstruct
public
void
DataInit
()
{
try
{
log
.
info
(
"smfcore
版本号
:["
+
version
+
"],类型["
+
appType
+
"]。初始化环境..."
);
log
.
info
(
"smfcore
Version
:["
+
version
+
"],类型["
+
appType
+
"]。初始化环境..."
);
//查询admin的用户是否存在
String
userName
=
Constants
.
SUPER_USERNAME
;
User
admin
=
userManager
.
findByUserName
(
userName
);
...
...
@@ -106,6 +110,9 @@ public class DataInitManager {
Message
message
=
Message
.
newMsg
(
MessageType
.
INFO
,
"server"
,
""
,
""
,
"smfcore.messages.serverStart"
,
"服务器启动"
,
null
);
messageManager
.
save
(
message
);
dataCache
.
getAllInventory
(
null
,
""
);
}
catch
(
Exception
exception
)
{
log
.
error
(
"初始化环境出错..."
+
exception
.
toString
(),
exception
);
}
...
...
@@ -141,6 +148,10 @@ public class DataInitManager {
//功能菜单(不包含父级菜单),key为path
Map
<
String
,
Menu
>
functionMenuMap
=
new
HashMap
<>();
//AGV看板
addNewFunctionMenu
(
1
,
null
,
"agvkanban"
,
"AGV看板"
,
"agvkanban"
,
"agv/agvkanban/index"
,
"agv"
,
functionMenuMap
);
//设备看板
addNewFunctionMenu
(
1
,
null
,
"boxkanban"
,
"设备看板"
,
"lockMaterial"
,
"lockMaterial/material/index"
,
"kanban"
,
functionMenuMap
);
...
...
@@ -237,9 +248,10 @@ public class DataInitManager {
private
void
updateMenu
(
String
[]
menuListToShow
,
String
[]
menuListToHide
){
List
<
Menu
>
dbMenus
=
menuManager
.
findAll
();
List
<
String
>
menuList
=
Lists
.
newArrayList
();
if
(
dbMenus
.
isEmpty
()){
log
.
info
(
"创建默认菜单..."
);
menuListToShow
=
new
String
[]{
String
[]
defaultMenus
=
new
String
[]{
"lockMaterial"
,
//设备看板
"singleOuput"
,
"tacticsOuput"
,
...
...
@@ -259,9 +271,13 @@ public class DataInitManager {
"peoples"
,
//用户管理
"role"
//角色管理
};
menuList
=
Lists
.
newArrayList
(
defaultMenus
);
}
for
(
String
menuToShow
:
menuListToShow
)
{
menuList
.
add
(
menuToShow
);
}
Map
<
String
,
Menu
>
allMenus
=
getAllMenuMap
();
Set
<
String
>
showIdSet
=
showMenu
(
allMenus
,
menuList
ToShow
);
Set
<
String
>
showIdSet
=
showMenu
(
allMenus
,
menuList
);
Set
<
String
>
hideIdSet
=
hideMenu
(
allMenus
,
menuListToHide
);
if
(!
showIdSet
.
isEmpty
()
||
!
hideIdSet
.
isEmpty
()){
List
<
Role
>
roles
=
roleManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"name"
).
is
(
"admin"
)));
...
...
@@ -286,7 +302,7 @@ public class DataInitManager {
/**
* 展示菜单
*/
private
Set
<
String
>
showMenu
(
Map
<
String
,
Menu
>
allMenu
,
String
[]
menuListToShow
){
private
Set
<
String
>
showMenu
(
Map
<
String
,
Menu
>
allMenu
,
List
<
String
>
menuListToShow
){
Set
<
String
>
showIdSet
=
new
HashSet
<>();
for
(
String
showPath
:
menuListToShow
)
{
Menu
showMenu
=
allMenu
.
get
(
showPath
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
a3265e8
...
...
@@ -396,13 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
String
msg
=
queueTask
.
getBarcode
()
+
"入库到"
+
pos
.
getPosName
()
+
"成功"
;
log
.
info
(
msg
);
List
<
String
>
notifyUsers
=
userManager
.
findByDeviceGroupId
(
storage
.
getGroupId
());
WebSocketServer
.
sendMsg
(
new
SocketMsg
(
notifyUsers
,
msg
,
MsgType
.
INFO
,
"smfclient.nlp.inputOk"
,
new
String
[]{
queueTask
.
getBarcode
(),
pos
.
getPosName
()}));
//
List<String> notifyUsers = userManager.findByDeviceGroupId(storage.getGroupId());
//
WebSocketServer.sendMsg(new SocketMsg(notifyUsers, msg, MsgType.INFO,"smfclient.nlp.inputOk",new String[]{queueTask.getBarcode(),pos.getPosName()}));
break
;
}
catch
(
Exception
e
)
{
log
.
error
(
"入库出错"
+
e
.
getMessage
());
List
<
String
>
notifyUsers
=
userManager
.
findByDeviceGroupId
(
storage
.
getGroupId
());
WebSocketServer
.
sendMsg
(
new
SocketMsg
(
notifyUsers
,
"入库出错:"
+
e
.
getMessage
(),
MsgType
.
ERROR
,
"smfclient.nlp.inputError"
,
new
String
[]{
e
.
getMessage
()}));
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.inputError"
,
"入库出错:{0}"
,
new
String
[]{
e
.
getMessage
()});
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
a3265e8
...
...
@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.inList.util.InListCache
;
import
com.neotel.smfcore.core.language.service.bean.LanguageInfo
;
import
com.neotel.smfcore.core.language.service.po.LanguageMsg
;
...
...
@@ -31,6 +32,7 @@ import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import
com.neotel.smfcore.core.system.service.po.CacheItem
;
import
com.neotel.smfcore.core.system.service.po.Settings
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -667,12 +669,11 @@ public class DataCache {
public
List
<
String
>
getAvailableStorageIds
(){
List
<
String
>
availableStorageIds
=
new
ArrayList
<>();
for
(
Storage
storage
:
getAllStorage
().
values
())
{
//默认所有料仓可用
// StatusBean statusBean =dataCache. getStatus(storage.getCid());
// if (statusBean.isAvailable())
{
availableStorageIds
.
add
(
storage
.
getId
());
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
storage
.
getCid
());
if
(
bean
==
null
||
bean
.
timeOut
()
||
!
bean
.
isAvailable
())
{
continue
;
}
availableStorageIds
.
add
(
storage
.
getId
());
}
return
availableStorageIds
;
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
查看文件 @
a3265e8
...
...
@@ -595,7 +595,7 @@ public class MaterialBoxController {
// task.setPosId(operatePos.getId());
task
.
setPosName
(
pidBarcode
.
getBarcode
());
task
.
set
SourceName
(
SecurityUtils
.
getLoginUsername
());
task
.
set
Operator
(
SecurityUtils
.
getLoginUsername
());
task
=
dataLogManager
.
save
(
task
);
taskService
.
moveTaskToFinished
(
task
);
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
a3265e8
...
...
@@ -820,9 +820,9 @@ public class TaskService {
task
.
setOperator
(
opUser
);
task
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
task
=
dataLogDao
.
save
(
task
);
theFinishedTaskMap
.
put
(
task
.
getBarcode
(),
task
);
updateFinishedTask
(
task
);
}
catch
(
Exception
e
)
{
log
.
error
(
"addTaskToFinished Error:"
,
e
);
}
...
...
@@ -831,7 +831,7 @@ public class TaskService {
/**
* 出库完成
*/
p
ublic
void
checkoutFinished
(
DataLog
task
)
throws
ValidateException
{
p
rivate
void
checkoutFinished
(
DataLog
task
)
throws
ValidateException
{
boolean
isCancelTask
=
task
.
isCancel
();
StoragePos
storagePos
=
storagePosManager
.
get
(
task
.
getPosId
());
...
...
@@ -841,8 +841,9 @@ public class TaskService {
//记录日志
task
.
setStatus
(
OP_STATUS
.
CANCEL
.
name
());
taskMap
.
remove
(
task
.
getId
());
theFinishedTaskMap
.
put
(
task
.
getBarcode
(),
task
);
//
theFinishedTaskMap.put(task.getBarcode(), task);
log
.
warn
(
"任务:"
+
task
.
getBarcode
()
+
" 仓位:"
+
task
.
getPosName
()
+
" 的 Barcode 为null, 之前可能处理过直接返回"
);
updateFinishedTask
(
task
);
return
;
}
//记录在库时长
...
...
@@ -880,7 +881,7 @@ public class TaskService {
if
(
isCancelTask
)
{
task
.
setStatus
(
OP_STATUS
.
CANCEL
.
name
());
}
dataLogDao
.
save
(
task
);
updateFinishedTask
(
task
);
//从队列里面移除操作
DataLog
removeTask
=
taskMap
.
remove
(
task
.
getId
());
...
...
@@ -891,7 +892,7 @@ public class TaskService {
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
}
theFinishedTaskMap
.
put
(
task
.
getBarcode
(),
task
);
//
theFinishedTaskMap.put(task.getBarcode(), task);
// //任务已经被取消就不再更新需求单信息
...
...
src/main/java/com/neotel/smfcore/custom/dalu/DaLuApi.java
查看文件 @
a3265e8
...
...
@@ -19,6 +19,14 @@ import java.util.Map;
@Slf4j
public
class
DaLuApi
extends
DefaultSmfApiListener
{
/**
*
api:
#name: DaLu
#inCheckUrl: DaLu
#outNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/OutBox
#inNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/InBox
*/
@Autowired
private
IComponentManager
componentManager
;
...
...
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
查看文件 @
a3265e8
...
...
@@ -102,8 +102,7 @@ public class MenuController {
public
ResponseEntity
<
Object
>
query
(
@RequestParam
String
pid
,
HttpServletRequest
servletRequest
)
{
List
<
Menu
>
menus
=
menuManager
.
getMenusByPid
(
pid
);
Locale
locale
=
servletRequest
.
getLocale
();
for
(
Menu
menu
:
menus
)
{
for
(
Menu
menu
:
menus
)
{
menu
.
UpdateTitle
(
locale
);
}
List
<
MenuDto
>
dtos
=
menuMapper
.
toDto
(
menus
);
...
...
src/main/java/com/neotel/smfcore/security/service/dao/impl/MenuDaoImpl.java
查看文件 @
a3265e8
...
...
@@ -26,6 +26,7 @@ public class MenuDaoImpl extends AbstractBaseDao implements IMenuDao {
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"pid"
).
is
(
pid
));
query
.
addCriteria
(
Criteria
.
where
(
"type"
).
ne
(
2
));
query
.
addCriteria
(
Criteria
.
where
(
"hidden"
).
is
(
false
));
return
super
.
findByQuery
(
query
);
}
}
src/main/resources/banner.txt
查看文件 @
a3265e8
...
...
@@ -5,4 +5,3 @@
| \____) | _| |_\/_| |_ _| |_
\______.'|_____||_____||_____|
:: SMF Version :: (v1.7.819)
src/main/resources/config/application.yml
查看文件 @
a3265e8
...
...
@@ -2,10 +2,10 @@ server:
port
:
8800
api
:
name
:
Siemens
inCheckUrl
:
http://cnctu04053:8014/api/JsonC
outNotifyUrl
:
http://cnctu04053:8014/api/JsonC
inNotifyUrl
:
http://cnctu04053:8014/api/JsonC
#name: DaLu
#inCheckUrl: DaLu
#outNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/OutBox
#inNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/InBox
# 文件存储路径
...
...
@@ -37,7 +37,7 @@ rsa:
app
:
version
:
'
1.27.2515
'
version
:
'
@app.version@
'
type
:
"
"
menu
:
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论