Commit eea4ba51 LN

appendCid自动保存

1 个父辈 4d927bb1
...@@ -43,6 +43,10 @@ public class StatusBean { ...@@ -43,6 +43,10 @@ public class StatusBean {
*客户端IP *客户端IP
*/ */
private String clientIp; private String clientIp;
/**
* 附属CID
*/
private String appendCid;
/// <summary> /// <summary>
/// 操作相关数据, /// 操作相关数据,
/// op=1时,客户端发送 code 二维码给服务器,服务器返回时有:posId库位编号,plateW:料盘宽度,plateH:料盘高度 /// op=1时,客户端发送 code 二维码给服务器,服务器返回时有:posId库位编号,plateW:料盘宽度,plateH:料盘高度
......
...@@ -27,6 +27,7 @@ import com.neotel.smfcore.core.inList.enums.INITEM.INITEM_STATUS; ...@@ -27,6 +27,7 @@ import com.neotel.smfcore.core.inList.enums.INITEM.INITEM_STATUS;
import com.neotel.smfcore.core.inList.service.po.InList; import com.neotel.smfcore.core.inList.service.po.InList;
import com.neotel.smfcore.core.message.util.DeviceMessageUtil; import com.neotel.smfcore.core.message.util.DeviceMessageUtil;
import com.neotel.smfcore.core.order.service.po.LiteOrder; import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.dao.IAlarmInfoDao; import com.neotel.smfcore.core.system.service.dao.IAlarmInfoDao;
...@@ -74,6 +75,9 @@ public class DeviceController { ...@@ -74,6 +75,9 @@ public class DeviceController {
private IStoragePosManager storagePosManager; private IStoragePosManager storagePosManager;
@Autowired @Autowired
private IStorageManager storageManager;
@Autowired
private IBarcodeManager barcodeManager; private IBarcodeManager barcodeManager;
@Autowired @Autowired
...@@ -105,6 +109,30 @@ public class DeviceController { ...@@ -105,6 +109,30 @@ public class DeviceController {
log.error("料仓cid: [" + cid + "]不存在"); log.error("料仓cid: [" + cid + "]不存在");
EnLog.error("Storage cid: [" + cid + "] does not exist"); EnLog.error("Storage cid: [" + cid + "] does not exist");
return null; return null;
}try {
String appendCid=statusBean.getFromData("appendCid");
if(ObjectUtil.isNotEmpty(appendCid)){
statusBean.setAppendCid(appendCid);
}
//判断是否需要更改附属CID
if(ObjectUtil.isNotEmpty(statusBean.getAppendCid())){
boolean needsave=false;
if(ObjectUtil.isEmpty(storage.getAppendCid()) ){
needsave=true;
log.info("料仓["+cid+"] 更改 appendCid ="+statusBean.getAppendCid());
}
else if( !(storage.getAppendCid().equals(statusBean.getAppendCid()))){
needsave=true;
log.info("料仓["+cid+"] 更改 appendCid ="+statusBean.getAppendCid()+", 原来 appendCid ="+storage.getAppendCid());
}
if(needsave) {
storage.setAppendCid(statusBean.getAppendCid());
storageManager.save(storage);
dataCache.reloadStorage(storage, storage.getCid());
}
}
}catch (Exception ex){
log.error("更改cid=的appendId出错:"+ex.toString());
} }
synchronized (storage) { synchronized (storage) {
String deviceType = storage.getType(); String deviceType = storage.getType();
......
...@@ -5,10 +5,7 @@ import com.google.common.base.Strings; ...@@ -5,10 +5,7 @@ import com.google.common.base.Strings;
import com.neotel.smfcore.common.bean.PageData; import com.neotel.smfcore.common.bean.PageData;
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.common.utils.Constants; import com.neotel.smfcore.common.utils.*;
import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.bean.BoxStatusBean; import com.neotel.smfcore.core.device.bean.BoxStatusBean;
import com.neotel.smfcore.core.device.bean.StatusBean; import com.neotel.smfcore.core.device.bean.StatusBean;
...@@ -380,6 +377,28 @@ public class BoxKanbanController { ...@@ -380,6 +377,28 @@ public class BoxKanbanController {
throw new ValidateException("smfcore.posNotExist", "仓位不存在"); throw new ValidateException("smfcore.posNotExist", "仓位不存在");
} }
@ApiOperation("打开或者关闭ng门")
@RequestMapping("api/boxkanban/boxNgDoorOp")
@AnonymousAccess
public ResultBean boxNgDoorOp(@RequestBody Map<String, Object> paramList) {
log.info("{}收到数据为:{}", "boxNgDoorOp", JsonUtil.toJsonStr(paramList));
String cid = paramList.get("cid").toString();
String opValue = paramList.get("opValue").toString();
String opKey = paramList.get("opKey").toString();
StatusBean statusBean = DevicesStatusUtil.getStatusBean(cid);
if (statusBean == null || statusBean.timeOut()) {
//return ResultBean.newErrorResult(1, "smfcore.duo.offline", "设备{0}离线", new String[]{cid});
}
if (ObjectUtil.isNotEmpty(opKey)) {
String openLock = statusBean.getData().getOrDefault(opKey, "");
if (openLock.equals("enable")) {
log.info("boxDoorOp:cid=" + cid + "," + opKey + "=" + opValue);
DevicesStatusUtil.addOp(cid, opKey, opValue);
return ResultBean.newOkResult("smfcore.msg.ok", "操作成功");
}
}
return ResultBean.newErrorResult(2, "smfcore.msg.op.fail", "操作失败");
}
private BoxKanbanDto getKanBan(List<DataLog> allTasks,Locale local) { private BoxKanbanDto getKanBan(List<DataLog> allTasks,Locale local) {
int allCount = allTasks.size(); int allCount = allTasks.size();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!