Commit fad568ec LN

SocketMsg增加国际化处理

1 个父辈 4ac70fd1
......@@ -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
......@@ -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;
// }
}
......@@ -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 pSid=sid.length()>20? sid.substring(0,20):sid;
......
......@@ -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!