Commit 44af67fc LN

webSocket 消息推送逻辑修改。

1 个父辈 cbecc745
...@@ -200,6 +200,9 @@ public class DataInitManager { ...@@ -200,6 +200,9 @@ public class DataInitManager {
Menu materialBox = new Menu(new ArrayList<Menu>(), 1, "materialBox", "料盒操作", 1, "materialBox", "neolight/materialBox/index", "", 0, "mIbox"); Menu materialBox = new Menu(new ArrayList<Menu>(), 1, "materialBox", "料盒操作", 1, "materialBox", "neolight/materialBox/index", "", 0, "mIbox");
Menu outSet = new Menu(new ArrayList<Menu>(), 1, "outSetting", "出库策略", 1, "outSetting", "system/outSetting/index", "", 0, "outSet"); Menu outSet = new Menu(new ArrayList<Menu>(), 1, "outSetting", "出库策略", 1, "outSetting", "system/outSetting/index", "", 0, "outSet");
// Menu orderSet = new Menu(new ArrayList<Menu>(), 1, "orderSetting", "工单设置", 1, "orderSetting", "system/orderSetting/index", "", 0, "sysSet"); // Menu orderSet = new Menu(new ArrayList<Menu>(), 1, "orderSetting", "工单设置", 1, "orderSetting", "system/orderSetting/index", "", 0, "sysSet");
Menu inOrderMenu= new Menu(new ArrayList<Menu>(), 1, "inList", "入库单", 1, "inList", "system/inList/index", "", 0, "headIcon");
celueOut.setHidden(true); celueOut.setHidden(true);
groupOut.setHidden(true); groupOut.setHidden(true);
...@@ -207,7 +210,7 @@ public class DataInitManager { ...@@ -207,7 +210,7 @@ public class DataInitManager {
outSet.setHidden(true); outSet.setHidden(true);
posOut.setHidden(true); posOut.setHidden(true);
// orderSet.setHidden(true); // orderSet.setHidden(true);
menus.addAll(createMenus(poutOut, menuOrder, out,posOut,groupOut,materialBox,outSet)); menus.addAll(createMenus(poutOut, menuOrder, out,posOut,groupOut,materialBox,outSet,inOrderMenu));
//MSD管理:MSD库存.MSD追溯性.MSD设置 //MSD管理:MSD库存.MSD追溯性.MSD设置
Menu msd = Menu.CreatePMenu("MSD管理", 20, "msd", 2, "MSD"); Menu msd = Menu.CreatePMenu("MSD管理", 20, "msd", 2, "MSD");
......
package com.neotel.smfcore.core.device.api;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@Data
@AllArgsConstructor
public class CodeValidateParam implements Serializable {
private String loginUser;
private String groupId;
private String storageId;
private String code;
private String token;
}
...@@ -11,11 +11,11 @@ public interface IOpAuthApi { ...@@ -11,11 +11,11 @@ public interface IOpAuthApi {
/** /**
* 传入原始条码,API解析条码,注意条码中带有尺寸信息,此方法会在canPutIn方法之前调用,通常料架使用(其他设备会有尺寸信息且会有多个条码所以不适用此方法) * 传入原始条码,API解析条码,注意条码中带有尺寸信息,此方法会在canPutIn方法之前调用,通常料架使用(其他设备会有尺寸信息且会有多个条码所以不适用此方法)
* @param code * @param param
* @return * @return
* @throws ValidateException * @throws ValidateException
*/ */
Barcode resolveBarcode(String loginUser, String groupId,String storageId, String code) throws ValidateException; Barcode resolveBarcode(CodeValidateParam param) throws ValidateException;
/** /**
* 是否可入库验证 * 是否可入库验证
......
...@@ -14,6 +14,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager; ...@@ -14,6 +14,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager; 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.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component; import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.device.api.CodeValidateParam;
import com.neotel.smfcore.core.device.api.IOpAuthApi; import com.neotel.smfcore.core.device.api.IOpAuthApi;
import com.neotel.smfcore.core.device.bean.StatusBean; import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP; import com.neotel.smfcore.core.device.enums.OP;
...@@ -31,6 +32,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg; ...@@ -31,6 +32,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.hella.tcp.command.HellaReqCommand; import com.neotel.smfcore.hella.tcp.command.HellaReqCommand;
import com.neotel.smfcore.hella.tcp.command.HellaRespCommand; import com.neotel.smfcore.hella.tcp.command.HellaRespCommand;
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 com.neotel.smfcore.security.service.po.Group;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -56,7 +58,8 @@ import java.util.*; ...@@ -56,7 +58,8 @@ import java.util.*;
@RestController @RestController
@Slf4j @Slf4j
public class SensorShelfHandler extends BaseDeviceHandler { public class SensorShelfHandler extends BaseDeviceHandler {
@Autowired
private TokenProvider tokenProvider;
public SensorShelfHandler(List<IOpAuthApi> apiList) { public SensorShelfHandler(List<IOpAuthApi> apiList) {
super(apiList); super(apiList);
} }
...@@ -67,11 +70,12 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -67,11 +70,12 @@ public class SensorShelfHandler extends BaseDeviceHandler {
@ApiOperation("扫码入库") @ApiOperation("扫码入库")
@PostMapping("/api/sensorShelf/codeIn") @PostMapping("/api/sensorShelf/codeIn")
@PreAuthorize("@el.check('sensorShelf:putIn')") @PreAuthorize("@el.check('sensorShelf:putIn')")
public ResultBean codeIn( @RequestBody Map<String, String> mapValues) { public ResultBean codeIn( @RequestBody Map<String, String> mapValues,HttpServletRequest request) {
String code = mapValues.get("code"); String code = mapValues.get("code");
String groupId = mapValues.get("group"); String groupId = mapValues.get("group");
String storageId=mapValues.get("storageId"); String storageId=mapValues.get("storageId");
String sourceId=mapValues.get("sourceId"); String sourceId=mapValues.get("sourceId");
String token = tokenProvider.getToken(request);
if(ObjectUtils.isEmpty(code)){ if(ObjectUtils.isEmpty(code)){
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"code"}); throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"code"});
} }
...@@ -87,6 +91,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -87,6 +91,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
if(groupId!=null&&groupId.equals("-1")){ if(groupId!=null&&groupId.equals("-1")){
groupId=""; groupId="";
} }
// WebSocketServer.sendMsg(token, new SocketMsg("这是一个webSocket消息:"+code, MsgType.INFO));
String loginUser = SecurityUtils.getLoginUsername(); String loginUser = SecurityUtils.getLoginUsername();
Collection<DataLog> queueTasks = taskService.getQueueTasks(); Collection<DataLog> queueTasks = taskService.getQueueTasks();
ResultBean resultBean = null; ResultBean resultBean = null;
...@@ -103,7 +108,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -103,7 +108,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
} }
} }
Barcode barcodeSave = resolveBarcodeFromApiForShelf(loginUser,groupId,storageId,code); Barcode barcodeSave = resolveBarcodeFromApiForShelf(new CodeValidateParam( loginUser,groupId,storageId,code,token));
if(barcodeSave == null){ if(barcodeSave == null){
barcodeSave = codeResolve.resolveOneValideBarcode("=1x1="+code); barcodeSave = codeResolve.resolveOneValideBarcode("=1x1="+code);
} }
...@@ -119,13 +124,13 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -119,13 +124,13 @@ public class SensorShelfHandler extends BaseDeviceHandler {
Barcode verResult = verifyPutInFromApi(barcodeSave); Barcode verResult = verifyPutInFromApi(barcodeSave);
if(verResult==null){ if(verResult==null){
return testPutIn(loginUser,groupId,storageId, barcodeSave); return testPutIn(loginUser,groupId,storageId, barcodeSave,token);
} }
// resultBean = hellaServiceHandler.checkMaterial(loginUser, groupId, code); // resultBean = hellaServiceHandler.checkMaterial(loginUser, groupId, code);
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
private ResultBean testPutIn(String loginUser, String groupId,String storageId,Barcode barcode) { private ResultBean testPutIn(String loginUser, String groupId,String storageId,Barcode barcode,String token) {
// CodeBean codeBean = codeResolve.resolveSingleCode(codeStr); // CodeBean codeBean = codeResolve.resolveSingleCode(codeStr);
if (barcode == null || barcode.getBarcode() == null) { if (barcode == null || barcode.getBarcode() == null) {
...@@ -165,7 +170,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -165,7 +170,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
try { try {
taskService.addTaskToExecute(dataLog); taskService.addTaskToExecute(dataLog);
} catch (Exception e) { } catch (Exception e) {
WebSocketServer.sendGroupMsg(groupId, new SocketMsg(e.getMessage(), MsgType.INFO)); WebSocketServer.sendMsg(token, new SocketMsg(e.getMessage(), MsgType.INFO));
} }
...@@ -179,9 +184,9 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -179,9 +184,9 @@ public class SensorShelfHandler extends BaseDeviceHandler {
/** /**
* 从API接口解析条码,通常料架使用(其他设备会有尺寸信息且会有多个条码所以不适用此方法) * 从API接口解析条码,通常料架使用(其他设备会有尺寸信息且会有多个条码所以不适用此方法)
*/ */
protected Barcode resolveBarcodeFromApiForShelf(String loginUser, String groupId,String storageId, String code) throws ValidateException{ protected Barcode resolveBarcodeFromApiForShelf(CodeValidateParam param) throws ValidateException{
for (IOpAuthApi opAuthApi : opAuthApiList) { for (IOpAuthApi opAuthApi : opAuthApiList) {
Barcode responseBarcode = opAuthApi.resolveBarcode(loginUser,groupId,storageId,code); Barcode responseBarcode = opAuthApi.resolveBarcode(param);
if(responseBarcode != null){ if(responseBarcode != null){
return responseBarcode; return responseBarcode;
} }
...@@ -321,7 +326,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -321,7 +326,7 @@ public class SensorShelfHandler 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.sendGroupMsg(groupId,new SocketMsg(msg, MsgType.ERROR)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.ERROR));
for (String posStr : hasReelPosList) { for (String posStr : hasReelPosList) {
inNgList.add(posStr); inNgList.add(posStr);
} }
...@@ -330,7 +335,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -330,7 +335,7 @@ public class SensorShelfHandler 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.sendGroupMsg(groupId,new SocketMsg(msg, MsgType.ERROR)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.ERROR));
}else{ }else{
Collection<DataLog> queueTasks = taskService.getQueueTasks(); Collection<DataLog> queueTasks = taskService.getQueueTasks();
for (DataLog queueTask : queueTasks) { for (DataLog queueTask : queueTasks) {
...@@ -355,7 +360,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -355,7 +360,7 @@ public class SensorShelfHandler 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.sendGroupMsg(groupId, new SocketMsg(msg, MsgType.INFO)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.INFO));
break; break;
} catch (Exception e) { } catch (Exception e) {
log.error("入库出错", e); log.error("入库出错", e);
...@@ -385,7 +390,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -385,7 +390,7 @@ public class SensorShelfHandler 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.sendGroupMsg(groupId,new SocketMsg(msg, MsgType.INFO)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.INFO));
break; break;
} catch (Exception e) { } catch (Exception e) {
log.error("出库出错",e); log.error("出库出错",e);
...@@ -397,7 +402,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -397,7 +402,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
outNgList.add(posName); outNgList.add(posName);
String msg = "未找到["+posName+"]的出库任务"; String msg = "未找到["+posName+"]的出库任务";
log.error(msg); log.error(msg);
WebSocketServer.sendGroupMsg(groupId,new SocketMsg(msg, MsgType.ERROR)); WebSocketServer.sendMsg("",new SocketMsg(msg, MsgType.ERROR));
}else{ }else{
outOkList.add(outResult); outOkList.add(outResult);
} }
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.neotel.smfcore.core.system.websocket; package com.neotel.smfcore.core.system.websocket;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
...@@ -56,13 +57,14 @@ public class WebSocketServer { ...@@ -56,13 +57,14 @@ public class WebSocketServer {
* */ * */
@OnOpen @OnOpen
public void onOpen(Session session, @PathParam("sid") String sid) { public void onOpen(Session session, @PathParam("sid") String sid) {
log.info(sid+"的webSocket已连接:" + session.getId()); String psid=sid.substring(0,20);
log.info("["+psid+"]的webSocket已连接:" + session.getId());
this.session = session; this.session = session;
this.sid=sid; this.sid=sid;
//如果存在就先删除一个,防止重复推送消息 //如果存在就先删除一个,防止重复推送消息
for (WebSocketServer webSocket:webSocketSet) { for (WebSocketServer webSocket:webSocketSet) {
if (webSocket.sid.equals(sid)) { if (webSocket.sid.equals(sid)) {
log.info("清理旧的["+sid+"]的连接:"+ session.getId()); log.info("清理旧的["+psid+"]的连接:"+ session.getId());
webSocketSet.remove(webSocket); webSocketSet.remove(webSocket);
} }
} }
...@@ -85,7 +87,8 @@ public class WebSocketServer { ...@@ -85,7 +87,8 @@ public class WebSocketServer {
*/ */
@OnClose @OnClose
public void onClose() { public void onClose() {
log.info("清理["+this.sid+"]连接:"+ session.getId()); String psid=sid.substring(0,20);
log.info("清理["+psid+"]连接:"+ session.getId());
webSocketSet.remove(this); webSocketSet.remove(this);
} }
...@@ -94,7 +97,7 @@ public class WebSocketServer { ...@@ -94,7 +97,7 @@ public class WebSocketServer {
* @param message 客户端发送过来的消息*/ * @param message 客户端发送过来的消息*/
@OnMessage @OnMessage
public void onMessage(String message, Session session) { public void onMessage(String message, Session session) {
log.info("收到来"+sid+"的信息:"+message); log.info("收到来["+sid+"]的信息:"+message);
//群发消息 //群发消息
for (WebSocketServer item : webSocketSet) { for (WebSocketServer item : webSocketSet) {
try { try {
...@@ -117,33 +120,44 @@ public class WebSocketServer { ...@@ -117,33 +120,44 @@ public class WebSocketServer {
this.session.getBasicRemote().sendText(message); this.session.getBasicRemote().sendText(message);
} }
// /**
// * 发送分组消息
// */
// public static void sendGroupMsg(String groupId, SocketMsg socketMsg) {
// String sid = "group-"+groupId;
// sendInfo(socketMsg,sid);
// }
/** /**
* 发送分组消息 * 发送分组消息
*/ */
public static void sendGroupMsg(String groupId, SocketMsg socketMsg) { public static void sendMsg(String token, SocketMsg socketMsg) {
String sid = "group-"+groupId; String sid ="Bearer "+ token;
sendInfo(socketMsg,sid); sendInfo(socketMsg,sid);
} }
/** /**
* 群发自定义消息 * 群发自定义消息
* */ * */
public static void sendInfo(SocketMsg socketMsg,@PathParam("sid") String sid){ public static void sendInfo(SocketMsg socketMsg,@PathParam("sid") String sid){
String message = JSONObject.toJSONString(socketMsg); String message = JSONObject.toJSONString(socketMsg);
log.info("推送消息到"+sid+",推送内容:"+message); String pSid=sid.substring(0,20);
boolean sendOk=false;
for (WebSocketServer item : webSocketSet) { for (WebSocketServer item : webSocketSet) {
try { try {
//这里可以设定只推送给这个sid的,为null则全部推送 //这里可以设定只推送给这个sid的,为null则全部推送
if(sid==null) { if(ObjectUtil.isEmpty(sid)) {
item.sendMessage(message); item.sendMessage(message);
sendOk=true;
}else if(item.sid.equals(sid)){ }else if(item.sid.equals(sid)){
item.sendMessage(message); item.sendMessage(message);
sendOk=true;
} }
} catch (IOException ignored) { } catch (IOException ignored) {
log.error("发送消息到"+sid+"出错",ignored); log.error("发送消息到["+pSid+"]出错",ignored);
} }
} }
log.info("推送消息到["+pSid+"],推送内容:"+message+",结果:"+sendOk);
} }
@Override @Override
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.ResultBean; import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.api.CodeValidateParam;
import com.neotel.smfcore.core.device.api.IOpAuthApi; import com.neotel.smfcore.core.device.api.IOpAuthApi;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.hella.tcp.HellaTcpClient; import com.neotel.smfcore.hella.tcp.HellaTcpClient;
...@@ -20,14 +21,14 @@ public class HellaApiHandler implements IOpAuthApi { ...@@ -20,14 +21,14 @@ public class HellaApiHandler implements IOpAuthApi {
@Autowired @Autowired
private HellaServiceHandler hellaServiceHandler; private HellaServiceHandler hellaServiceHandler;
@Override @Override
public Barcode resolveBarcode(String loginUser, String groupId,String storageId, String code) throws ValidateException { public Barcode resolveBarcode(CodeValidateParam param) throws ValidateException {
if (!isEnable()) { if (!isEnable()) {
return null; return null;
} }
hellaServiceHandler.checkMaterial(loginUser, groupId, storageId, code); hellaServiceHandler.checkMaterial(param);
Barcode barcode = new Barcode(); Barcode barcode = new Barcode();
barcode.setFullCode(code); barcode.setFullCode(param.getCode());
return barcode; return barcode;
} }
......
...@@ -10,6 +10,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager; ...@@ -10,6 +10,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.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component; import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.barcode.utils.CodeResolve; import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.api.CodeValidateParam;
import com.neotel.smfcore.core.device.enums.OP; import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS; import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
...@@ -93,9 +94,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -93,9 +94,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
* <STX>checkMaterial;eventId;scannedCode<CR><LF> * <STX>checkMaterial;eventId;scannedCode<CR><LF>
* @return * @return
*/ */
public ResultBean checkMaterial(String loginUser, String groupId,String storageId, String scannedCode){ public ResultBean checkMaterial(CodeValidateParam param){
String loginUser=param.getLoginUser();
String groupId=param.getGroupId();
String storageId=param.getStorageId();
String scannedCode= param.getCode();
String token=param.getToken();
HellaReqCommand command = HellaReqCommand.newCheckMaterialCmd(eventId.incrementAndGet(),scannedCode); HellaReqCommand command = HellaReqCommand.newCheckMaterialCmd(eventId.incrementAndGet(),scannedCode);
command.setToken(token);
command.setGroupId(groupId); command.setGroupId(groupId);
boolean storageCheckMaterial=false; boolean storageCheckMaterial=false;
if(ObjectUtil.isNotEmpty(storageId)){ if(ObjectUtil.isNotEmpty(storageId)){
...@@ -185,10 +192,10 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -185,10 +192,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.sendGroupMsg(groupId,new SocketMsg(okResult.getMsg(), MsgType.INFO)); WebSocketServer.sendMsg(requestCommand.getToken(),new SocketMsg(okResult.getMsg(), MsgType.INFO));
}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.sendGroupMsg(groupId,new SocketMsg(ngResult.getMsg(), MsgType.ERROR)); WebSocketServer.sendMsg(requestCommand.getToken(),new SocketMsg(ngResult.getMsg(), MsgType.ERROR));
} }
commandMap.remove(respCommand.getEventId()); commandMap.remove(respCommand.getEventId());
}else if(respCommand.isUnloadMaterialCmd()){ }else if(respCommand.isUnloadMaterialCmd()){
...@@ -322,6 +329,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -322,6 +329,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
String storageId=requestCommand.getStorageId(); String storageId=requestCommand.getStorageId();
String loginUser = requestCommand.getLoginUser(); String loginUser = requestCommand.getLoginUser();
String fullCode = requestCommand.getData().toString(); String fullCode = requestCommand.getData().toString();
String token=requestCommand.getToken().toString();
if(respCommand.isOkResp()){ if(respCommand.isOkResp()){
//<STX>loadMaterialResp;eventId;returnCode;messageText;partNumber;containerNumber;remainQuantity;MSL;lightClass<CR><LF> //<STX>loadMaterialResp;eventId;returnCode;messageText;partNumber;containerNumber;remainQuantity;MSL;lightClass<CR><LF>
//可以入库,生成一个任务,通知到页面,并将其存下来 //可以入库,生成一个任务,通知到页面,并将其存下来
...@@ -382,15 +390,15 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen ...@@ -382,15 +390,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.sendGroupMsg(groupId,new SocketMsg(okResult.getMsg(), MsgType.INFO)); WebSocketServer.sendMsg(token,new SocketMsg(okResult.getMsg(), MsgType.INFO));
}catch(Exception e){ }catch(Exception e){
WebSocketServer.sendGroupMsg(groupId,new SocketMsg(e.getMessage(), MsgType.INFO)); WebSocketServer.sendMsg(token,new SocketMsg(e.getMessage(), MsgType.INFO));
} }
}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.sendGroupMsg(groupId,new SocketMsg(ngResult.getMsg(), MsgType.ERROR)); WebSocketServer.sendMsg(token,new SocketMsg(ngResult.getMsg(), MsgType.ERROR));
} }
commandMap.remove(respCommand.getEventId()); commandMap.remove(respCommand.getEventId());
} }
......
...@@ -18,6 +18,10 @@ public class HellaReqCommand extends HellaCommand { ...@@ -18,6 +18,10 @@ public class HellaReqCommand extends HellaCommand {
* 料仓ID * 料仓ID
*/ */
private String storageId; private String storageId;
/**
* token
*/
private String token="";
/** /**
* 检查物料条码 * 检查物料条码
...@@ -77,4 +81,12 @@ public class HellaReqCommand extends HellaCommand { ...@@ -77,4 +81,12 @@ public class HellaReqCommand extends HellaCommand {
public void setStorageId(String storageId) { public void setStorageId(String storageId) {
this.storageId = storageId; this.storageId = storageId;
} }
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!