Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit fad568ec
由
LN
编写于
2022-02-18 16:55:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
SocketMsg增加国际化处理
1 个父辈
4ac70fd1
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
43 行增加
和
24 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/system/websocket/SocketMsg.java
src/main/java/com/neotel/smfcore/core/system/websocket/WebSocketServer.java
src/main/java/com/neotel/smfcore/hella/handler/HellaServiceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
fad568e
...
...
@@ -24,6 +24,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg;
import
com.neotel.smfcore.core.system.websocket.WebSocketServer
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.service.po.Group
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -75,7 +76,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if
(
groupId
!=
null
&&
groupId
.
equals
(
"-1"
)){
groupId
=
""
;
}
// WebSocketServer.sendMsg("", new SocketMsg("这是一个webSocket消息:"+code, MsgType.INFO
));
// WebSocketServer.sendMsg("", new SocketMsg("{0}未找到库位:{1}"+code, MsgType.INFO,"smfclient.nlp.cannotFindPos",new String[]{"消息测试","库位号"}
));
String
loginUser
=
SecurityUtils
.
getLoginUsername
();
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
ResultBean
resultBean
=
null
;
...
...
@@ -154,7 +155,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
try
{
taskService
.
addTaskToExecute
(
dataLog
);
}
catch
(
Exception
e
)
{
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
e
.
getMessage
(),
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
e
.
getMessage
(),
MsgType
.
INFO
,
"smfclient.nlp.error"
,
new
String
[]{
e
.
getMessage
()}
));
}
...
...
@@ -324,7 +325,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if
(
hasReelPosList
.
length
>
1
){
String
msg
=
"不可同时放入多盘物料:"
+
String
.
join
(
","
,
hasReelPosList
);
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.onlyOneTray"
,
new
String
[]{
String
.
join
(
","
,
hasReelPosList
)}
));
for
(
String
posStr
:
hasReelPosList
)
{
inNgList
.
add
(
posStr
);
}
...
...
@@ -333,12 +334,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if
(
pos
==
null
){
String
msg
=
"未找到库位:"
+
String
.
join
(
","
,
hasReelPosList
)
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.cannotFindPos"
,
new
String
[]{
""
,
String
.
join
(
","
,
hasReelPosList
)}
));
}
else
if
(!
pos
.
getStorageId
().
equals
(
storage
.
getId
())){
String
msg
=
"["
+
storage
.
getName
()+
"]未找到库位:"
+
String
.
join
(
","
,
hasReelPosList
)
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.cannotFindPos"
,
new
String
[]{
storage
.
getName
(),
String
.
join
(
","
,
hasReelPosList
)}
));
}
//如果库位有料,直接结束
else
if
(
pos
.
getBarcode
()!=
null
)
{
...
...
@@ -368,7 +369,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
inOkList
.
add
(
hasReelPosList
[
0
]);
String
msg
=
queueTask
.
getBarcode
()
+
"入库到"
+
pos
.
getPosName
()
+
"成功"
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
,
"smfclient.nlp.inputOk"
,
new
String
[]{
queueTask
.
getBarcode
(),
pos
.
getPosName
()}
));
break
;
}
catch
(
Exception
e
)
{
log
.
error
(
"入库出错"
,
e
);
...
...
@@ -395,12 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if
(
pos
==
null
){
String
msg
=
"未找到库位:"
+
String
.
join
(
","
,
hasReelPosList
)
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.cannotFindPos"
,
new
String
[]{
""
,
String
.
join
(
","
,
hasReelPosList
)}
));
}
else
if
(!
pos
.
getStorageId
().
equals
(
storage
.
getId
())){
String
msg
=
"["
+
storage
.
getName
()+
"]未找到库位:"
+
String
.
join
(
","
,
hasReelPosList
)
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.cannotFindPos"
,
new
String
[]{
storage
.
getName
(),
String
.
join
(
","
,
hasReelPosList
)}
));
}
else
if
(
pos
.
getBarcode
()==
null
){
log
.
info
(
"料架["
+
cid
+
"]出库库位["
+
pos
.
getPosName
()
+
"]已为空 "
);
}
else
{
...
...
@@ -414,7 +415,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
super
.
finishedOutPos
(
cid
,
posName
);
String
msg
=
queueTask
.
getBarcode
()+
"从"
+
posName
+
"出库成功"
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
,
"smfclient.nlp.outputOk"
,
new
String
[]{
queueTask
.
getBarcode
(),
posName
}
));
break
;
}
catch
(
Exception
e
)
{
log
.
error
(
"出库出错"
,
e
);
...
...
@@ -426,7 +427,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
outNgList
.
add
(
posName
);
String
msg
=
"未找到["
+
posName
+
"]的出库任务"
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
ERROR
,
"smfclient.nlp.noOutTask"
,
new
String
[]{
posName
}
));
}
else
{
outOkList
.
add
(
outResult
);
}
...
...
@@ -500,4 +501,4 @@ public class NLPShelfHandler extends BaseDeviceHandler{
public
DeviceType
getDeviceType
()
{
return
DeviceType
.
NLP
;
}
}
}
\ No newline at end of file
src/main/java/com/neotel/smfcore/core/system/websocket/SocketMsg.java
查看文件 @
fad568e
...
...
@@ -15,19 +15,28 @@
*/
package
com
.
neotel
.
smfcore
.
core
.
system
.
websocket
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author ZhangHouYing
* @date 2019-08-10 9:55
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
SocketMsg
{
private
String
msg
;
private
MsgType
msgType
;
public
SocketMsg
(
String
msg
,
MsgType
msgType
)
{
this
.
msg
=
msg
;
this
.
msgType
=
msgType
;
}
private
String
msgCode
;
private
String
[]
msgParams
;
// public SocketMsg(String msg, MsgType msgType) {
// this.msg = msg;
// this.msgType = msgType;
// }
}
src/main/java/com/neotel/smfcore/core/system/websocket/WebSocketServer.java
查看文件 @
fad568e
...
...
@@ -141,7 +141,7 @@ public class WebSocketServer {
/**
* 群发自定义消息
* */
p
ublic
static
void
sendInfo
(
SocketMsg
socketMsg
,
@PathParam
(
"sid"
)
String
sid
){
p
rivate
static
void
sendInfo
(
SocketMsg
socketMsg
,
@PathParam
(
"sid"
)
String
sid
){
String
message
=
JSONObject
.
toJSONString
(
socketMsg
);
String
pSid
=
sid
.
length
()>
20
?
sid
.
substring
(
0
,
20
):
sid
;
...
...
src/main/java/com/neotel/smfcore/hella/handler/HellaServiceHandler.java
查看文件 @
fad568e
...
...
@@ -197,10 +197,10 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if
(
respCommand
.
isOkResp
()){
ResultBean
okResult
=
ResultBean
.
newOkResult
(
"smfcore.loadMaterialFinished"
,
"loading material is finished: {0}"
,
new
String
[]{
messageText
},
""
);
WebSocketServer
.
sendMsg
(
requestCommand
.
getToken
(),
new
SocketMsg
(
okResult
.
getMsg
(),
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
requestCommand
.
getToken
(),
new
SocketMsg
(
okResult
.
getMsg
(),
MsgType
.
INFO
,
"smfclient.loadMaterialFinished"
,
new
String
[]{
messageText
}
));
}
else
{
ResultBean
ngResult
=
ResultBean
.
newErrorResult
(
Integer
.
valueOf
(
returnCode
),
"smfcore.loadMaterialFailed"
,
"loading material failed:{0}"
,
new
String
[]{
messageText
}
);
WebSocketServer
.
sendMsg
(
requestCommand
.
getToken
(),
new
SocketMsg
(
ngResult
.
getMsg
(),
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
requestCommand
.
getToken
(),
new
SocketMsg
(
ngResult
.
getMsg
(),
MsgType
.
ERROR
,
"smfclient.loadMaterialFailed"
,
new
String
[]{
messageText
}
));
}
commandMap
.
remove
(
respCommand
.
getEventId
());
}
else
if
(
respCommand
.
isUnloadMaterialCmd
()){
...
...
@@ -261,6 +261,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
String
resultCode
=
"0"
;
String
resultMsg
=
"OK"
;
String
dataStr
=
""
;
int
posSize
=
0
;
// if(ObjectUtil.isNotEmpty(shelfNumber)&&shelf == null){
if
(
ObjectUtil
.
isNotEmpty
(
lineNumber
)&&
shelfIds
.
size
()<=
0
){
//<STX>getInventoryResp;eventId;returnCode;messageText;numberofResults;partNumber1;containerNumber;remainQuantity;MSL;lightClass;SelfPosition;reserved;…;partNumberN;containerNumberN;remainQuantityN;MSLN;lightClassN;SelfPositionN;reservedN;<CR><LF>
...
...
@@ -275,11 +276,14 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if
(
shelfIds
.
size
()<=
0
){
shelfIds
.
add
(
""
);
}
log
.
info
(
"getInventory,lineNumber["
+
lineNumber
+
"],shelfIds["
+
String
.
join
(
","
,
shelfIds
)+
"]"
);
for
(
String
shelfId
:
shelfIds
)
{
List
<
StoragePos
>
posList
=
storagePosManager
.
findNotEmptyByStorageId
(
shelfId
);
int
numberOfResult
=
posList
.
size
();
dataStr
=
""
+
numberOfResult
;
log
.
info
(
"getInventory,shelfId["
+
shelfId
+
"],numberOfResult["
+
numberOfResult
+
"]"
);
posSize
+=
numberOfResult
;
// dataStr = "" + numberOfResult;
for
(
StoragePos
storagePos
:
posList
)
{
Barcode
barcode
=
storagePos
.
getBarcode
();
String
pn
=
barcode
.
getPartNumber
();
...
...
@@ -292,13 +296,18 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if
(
Strings
.
isNotBlank
(
barcode
.
getLockId
()))
{
reserved
=
"1"
;
}
dataStr
=
dataStr
+
";"
+
pn
+
";"
+
reelId
+
";"
+
qty
+
";"
+
msl
+
";"
+
lightClass
+
";"
+
posName
+
";"
+
reserved
;
// dataStr = dataStr + ";" + pn + ";" + reelId + ";" + qty + ";" + msl + ";" + lightClass + ";" + posName + ";" + reserved;
if
(
ObjectUtil
.
isNotEmpty
(
dataStr
)){
dataStr
=
dataStr
+
";"
+
pn
+
";"
+
reelId
+
";"
+
qty
+
";"
+
msl
+
";"
+
lightClass
+
";"
+
posName
+
";"
+
reserved
;
}
else
{
dataStr
=
pn
+
";"
+
reelId
+
";"
+
qty
+
";"
+
msl
+
";"
+
lightClass
+
";"
+
posName
+
";"
+
reserved
;
}
}
}
}
String
respMsg
=
"getInventoryResp;"
+
eventId
+
";"
+
resultCode
+
";"
+
resultMsg
+
";"
+
dataStr
;
String
respMsg
=
"getInventoryResp;"
+
eventId
+
";"
+
resultCode
+
";"
+
resultMsg
+
";"
+
posSize
+
";"
+
dataStr
;
// log.info(respMsg);
//session.write("\02" + respMsg);
HellaTcpClient
.
sendMsg
(
respMsg
,
session
);
...
...
@@ -413,15 +422,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
try
{
taskService
.
addTaskToExecute
(
dataLog
);
ResultBean
okResult
=
ResultBean
.
newOkResult
(
"checking material is ok: "
+
messageText
);
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
okResult
.
getMsg
(),
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
okResult
.
getMsg
(),
MsgType
.
INFO
,
""
,
new
String
[]{
messageText
}
));
}
catch
(
Exception
e
){
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
e
.
getMessage
(),
MsgType
.
INFO
));
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
e
.
getMessage
(),
MsgType
.
INFO
,
"smfclient.nlp.error"
,
new
String
[]{
e
.
getMessage
()}
));
}
}
else
{
//NG,需要在界面上进行提示
ResultBean
ngResult
=
ResultBean
.
newErrorResult
(
Integer
.
valueOf
(
returnCode
),
"smfcore.checkNg"
,
"checking material is ng:{0}"
,
new
String
[]{
messageText
}
);
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
ngResult
.
getMsg
(),
MsgType
.
ERROR
));
WebSocketServer
.
sendMsg
(
token
,
new
SocketMsg
(
ngResult
.
getMsg
(),
MsgType
.
ERROR
,
"smfclient.checkNg"
,
new
String
[]{
messageText
}
));
}
commandMap
.
remove
(
respCommand
.
getEventId
());
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论