Commit fad568ec LN

SocketMsg增加国际化处理

1 个父辈 4ac70fd1
...@@ -24,6 +24,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg; ...@@ -24,6 +24,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg;
import com.neotel.smfcore.core.system.websocket.WebSocketServer; import com.neotel.smfcore.core.system.websocket.WebSocketServer;
import com.neotel.smfcore.security.TokenProvider; import com.neotel.smfcore.security.TokenProvider;
import com.neotel.smfcore.security.annotation.AnonymousAccess; import com.neotel.smfcore.security.annotation.AnonymousAccess;
import com.neotel.smfcore.security.service.po.Group;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -75,7 +76,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -75,7 +76,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if(groupId!=null&&groupId.equals("-1")){ if(groupId!=null&&groupId.equals("-1")){
groupId=""; 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(); String loginUser = SecurityUtils.getLoginUsername();
Collection<DataLog> queueTasks = taskService.getQueueTasks(); Collection<DataLog> queueTasks = taskService.getQueueTasks();
ResultBean resultBean = null; ResultBean resultBean = null;
...@@ -154,7 +155,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -154,7 +155,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
try { try {
taskService.addTaskToExecute(dataLog); taskService.addTaskToExecute(dataLog);
} catch (Exception e) { } 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{ ...@@ -324,7 +325,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if(hasReelPosList.length > 1){ if(hasReelPosList.length > 1){
String msg = "不可同时放入多盘物料:"+ String.join(",",hasReelPosList); String msg = "不可同时放入多盘物料:"+ String.join(",",hasReelPosList);
log.error(msg); 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) { for (String posStr : hasReelPosList) {
inNgList.add(posStr); inNgList.add(posStr);
} }
...@@ -333,12 +334,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -333,12 +334,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if(pos == null){ if(pos == null){
String msg = "未找到库位:"+String.join(",",hasReelPosList) ; String msg = "未找到库位:"+String.join(",",hasReelPosList) ;
log.error(msg); 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())){ else if(!pos.getStorageId().equals(storage.getId())){
String msg = "["+storage.getName()+"]未找到库位:"+String.join(",",hasReelPosList) ; String msg = "["+storage.getName()+"]未找到库位:"+String.join(",",hasReelPosList) ;
log.error(msg); 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) { else if(pos.getBarcode()!=null) {
...@@ -368,7 +369,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -368,7 +369,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
inOkList.add(hasReelPosList[0]); inOkList.add(hasReelPosList[0]);
String msg = queueTask.getBarcode() + "入库到" + pos.getPosName() + "成功"; String msg = queueTask.getBarcode() + "入库到" + pos.getPosName() + "成功";
log.error(msg); 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; break;
} catch (Exception e) { } catch (Exception e) {
log.error("入库出错", e); log.error("入库出错", e);
...@@ -395,12 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -395,12 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if(pos == null){ if(pos == null){
String msg = "未找到库位:"+String.join(",",hasReelPosList) ; String msg = "未找到库位:"+String.join(",",hasReelPosList) ;
log.error(msg); 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())){ else if(!pos.getStorageId().equals(storage.getId())){
String msg = "["+storage.getName()+"]未找到库位:"+String.join(",",hasReelPosList) ; String msg = "["+storage.getName()+"]未找到库位:"+String.join(",",hasReelPosList) ;
log.error(msg); 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){ }else if(pos.getBarcode()==null){
log.info("料架[" + cid + "]出库库位[" + pos.getPosName() + "]已为空 "); log.info("料架[" + cid + "]出库库位[" + pos.getPosName() + "]已为空 ");
}else{ }else{
...@@ -414,7 +415,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -414,7 +415,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
super.finishedOutPos(cid,posName); super.finishedOutPos(cid,posName);
String msg = queueTask.getBarcode()+ "从"+ posName+"出库成功"; String msg = queueTask.getBarcode()+ "从"+ posName+"出库成功";
log.error(msg); 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; break;
} catch (Exception e) { } catch (Exception e) {
log.error("出库出错",e); log.error("出库出错",e);
...@@ -426,7 +427,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -426,7 +427,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
outNgList.add(posName); outNgList.add(posName);
String msg = "未找到["+posName+"]的出库任务"; String msg = "未找到["+posName+"]的出库任务";
log.error(msg); log.error(msg);
WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.ERROR)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.ERROR,"smfclient.nlp.noOutTask",new String[]{posName}));
}else{ }else{
outOkList.add(outResult); outOkList.add(outResult);
} }
...@@ -500,4 +501,4 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -500,4 +501,4 @@ public class NLPShelfHandler extends BaseDeviceHandler{
public DeviceType getDeviceType() { public DeviceType getDeviceType() {
return DeviceType.NLP; return DeviceType.NLP;
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -15,19 +15,28 @@ ...@@ -15,19 +15,28 @@
*/ */
package com.neotel.smfcore.core.system.websocket; package com.neotel.smfcore.core.system.websocket;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* @author ZhangHouYing * @author ZhangHouYing
* @date 2019-08-10 9:55 * @date 2019-08-10 9:55
*/ */
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class SocketMsg { public class SocketMsg {
private String msg; private String msg;
private MsgType msgType; private MsgType msgType;
public SocketMsg(String msg, MsgType msgType) { private String msgCode;
this.msg = msg;
this.msgType = msgType; private String[] msgParams;
}
// public SocketMsg(String msg, MsgType msgType) {
// this.msg = msg;
// this.msgType = msgType;
// }
} }
...@@ -141,7 +141,7 @@ public class WebSocketServer { ...@@ -141,7 +141,7 @@ public class WebSocketServer {
/** /**
* 群发自定义消息 * 群发自定义消息
* */ * */
public static void sendInfo(SocketMsg socketMsg,@PathParam("sid") String sid){ private static void sendInfo(SocketMsg socketMsg,@PathParam("sid") String sid){
String message = JSONObject.toJSONString(socketMsg); String message = JSONObject.toJSONString(socketMsg);
String pSid=sid.length()>20? sid.substring(0,20):sid; String pSid=sid.length()>20? sid.substring(0,20):sid;
......
...@@ -197,10 +197,10 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -197,10 +197,10 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if(respCommand.isOkResp()){ if(respCommand.isOkResp()){
ResultBean okResult = ResultBean.newOkResult("smfcore.loadMaterialFinished","loading material is finished: {0}" ,new String[]{messageText},""); 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{ }else{
ResultBean ngResult = ResultBean.newErrorResult(Integer.valueOf(returnCode),"smfcore.loadMaterialFailed","loading material failed:{0}",new String[]{messageText} ); 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()); commandMap.remove(respCommand.getEventId());
}else if(respCommand.isUnloadMaterialCmd()){ }else if(respCommand.isUnloadMaterialCmd()){
...@@ -261,6 +261,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -261,6 +261,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
String resultCode = "0"; String resultCode = "0";
String resultMsg = "OK"; String resultMsg = "OK";
String dataStr = ""; String dataStr = "";
int posSize=0;
// if(ObjectUtil.isNotEmpty(shelfNumber)&&shelf == null){ // if(ObjectUtil.isNotEmpty(shelfNumber)&&shelf == null){
if(ObjectUtil.isNotEmpty(lineNumber)&&shelfIds.size()<=0){ 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> //<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 ...@@ -275,11 +276,14 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if(shelfIds.size()<=0){ if(shelfIds.size()<=0){
shelfIds.add(""); shelfIds.add("");
} }
log.info("getInventory,lineNumber["+lineNumber+"],shelfIds["+String.join(",",shelfIds)+"]");
for (String shelfId : for (String shelfId :
shelfIds) { shelfIds) {
List<StoragePos> posList = storagePosManager.findNotEmptyByStorageId(shelfId); List<StoragePos> posList = storagePosManager.findNotEmptyByStorageId(shelfId);
int numberOfResult = posList.size(); int numberOfResult = posList.size();
dataStr = "" + numberOfResult; log.info("getInventory,shelfId["+shelfId+"],numberOfResult["+numberOfResult+"]");
posSize+=numberOfResult;
// dataStr = "" + numberOfResult;
for (StoragePos storagePos : posList) { for (StoragePos storagePos : posList) {
Barcode barcode = storagePos.getBarcode(); Barcode barcode = storagePos.getBarcode();
String pn = barcode.getPartNumber(); String pn = barcode.getPartNumber();
...@@ -292,13 +296,18 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -292,13 +296,18 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
if (Strings.isNotBlank(barcode.getLockId())) { if (Strings.isNotBlank(barcode.getLockId())) {
reserved = "1"; 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); // log.info(respMsg);
//session.write("\02" + respMsg); //session.write("\02" + respMsg);
HellaTcpClient.sendMsg(respMsg,session); HellaTcpClient.sendMsg(respMsg,session);
...@@ -413,15 +422,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -413,15 +422,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
try{ try{
taskService.addTaskToExecute(dataLog); taskService.addTaskToExecute(dataLog);
ResultBean okResult = ResultBean.newOkResult("checking material is ok: " + messageText); 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){ }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{ }else{
//NG,需要在界面上进行提示 //NG,需要在界面上进行提示
ResultBean ngResult = ResultBean.newErrorResult(Integer.valueOf(returnCode),"smfcore.checkNg","checking material is ng:{0}" ,new String[]{messageText} ); 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()); commandMap.remove(respCommand.getEventId());
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!