Commit 2e82456f zshaohui

1.出入库下架时,卡控异常库位

2.出入库通知,reqId改成taskId
1 个父辈 114428f8
...@@ -79,7 +79,7 @@ public class HikVisionApi implements ITaskListener { ...@@ -79,7 +79,7 @@ public class HikVisionApi implements ITaskListener {
map.put("shelfCode", task.getStorageName()); map.put("shelfCode", task.getStorageName());
map.put("uniqueCode", task.getBarcode()); map.put("uniqueCode", task.getBarcode());
map.put("storageCode", task.getPosName()); map.put("storageCode", task.getPosName());
ApiRequest apiRequest = new ApiRequest(getReqCode(), task.getCreator(), Arrays.asList(map)); ApiRequest apiRequest = new ApiRequest(task.getId(), task.getCreator(), Arrays.asList(map));
String requestBody = JSON.toJSONString(apiRequest); String requestBody = JSON.toJSONString(apiRequest);
log.info("出入库通知hik请求为:" + requestBody); log.info("出入库通知hik请求为:" + requestBody);
try { try {
......
...@@ -103,9 +103,9 @@ public class HikVisionController { ...@@ -103,9 +103,9 @@ public class HikVisionController {
return ApiResponse.apiResponse(reqCode, ResponseCode.REQUEST_ERROR.getCode(), "", "smfcore.shelfNotExist", new String[]{shelfCode}, "{0}对应的料架不存在"); return ApiResponse.apiResponse(reqCode, ResponseCode.REQUEST_ERROR.getCode(), "", "smfcore.shelfNotExist", new String[]{shelfCode}, "{0}对应的料架不存在");
} }
boolean hasErrorPos = hasErrorPos(storage.getCid(),""); List<String> hasErrorPosList = hasErrorPos(storage.getCid(),"");
if (hasErrorPos){ if (hasErrorPosList != null && !hasErrorPosList.isEmpty()){
return ApiResponse.apiResponse(reqCode,ResponseCode.REQUEST_ERROR.getCode(),"","",new String[]{},"当前货架状态异常,无法发起上架任务"); return ApiResponse.apiResponse(reqCode,ResponseCode.REQUEST_ERROR.getCode(),"","",new String[]{},"当前货架状态异常,无法发起上架任务,异常库位为:"+JSON.toJSONString(hasErrorPosList));
} }
//判断是否正在执行 //判断是否正在执行
...@@ -232,9 +232,9 @@ public class HikVisionController { ...@@ -232,9 +232,9 @@ public class HikVisionController {
return ApiResponse.apiResponse(reqCode, ResponseCode.REQUEST_ERROR.getCode(), "", "", null, info.getUniqueCode() + "不在库位中"); return ApiResponse.apiResponse(reqCode, ResponseCode.REQUEST_ERROR.getCode(), "", "", null, info.getUniqueCode() + "不在库位中");
} }
boolean hasErrorPos = hasErrorPos(storage.getCid(),pos.getPosName()); List<String> hasErrorPosList = hasErrorPos(storage.getCid(),pos.getPosName());
if (hasErrorPos){ if (hasErrorPosList != null && !hasErrorPosList.isEmpty()){
return ApiResponse.apiResponse(reqCode,ResponseCode.REQUEST_ERROR.getCode(),"","",new String[]{},info.getUniqueCode()+":当前物料唯一码货位异常,无法发起下架任务"); return ApiResponse.apiResponse(reqCode,ResponseCode.REQUEST_ERROR.getCode(),"","",new String[]{},info.getUniqueCode()+":当前物料唯一码货位异常,无法发起下架任务,异常库位为:"+JSON.toJSONString(hasErrorPosList));
} }
//判断 //判断
...@@ -511,12 +511,13 @@ public class HikVisionController { ...@@ -511,12 +511,13 @@ public class HikVisionController {
} }
private boolean hasErrorPos(String cid,String posName) { private List<String> hasErrorPos(String cid,String posName) {
List<String> errorPosNameList = new ArrayList<>();
List<List<String>> deviceData = DevicesStatusUtil.getDeviceData(cid); List<List<String>> deviceData = DevicesStatusUtil.getDeviceData(cid);
if (deviceData != null && deviceData.size() == 2) { if (deviceData != null && deviceData.size() == 2) {
List<String> hasReelPosErrorList = deviceData.get(0); List<String> hasReelPosErrorList = deviceData.get(0);
if (hasReelPosErrorList != null && !hasReelPosErrorList.isEmpty()) { if (hasReelPosErrorList != null && !hasReelPosErrorList.isEmpty()) {
log.info("hasReelPosErrorList-----"+JSON.toJSONString(hasReelPosErrorList)); log.info("hasReelPosErrorList-----" + JSON.toJSONString(hasReelPosErrorList));
Query query = new Query(Criteria.where("posName").in(hasReelPosErrorList.toArray())); Query query = new Query(Criteria.where("posName").in(hasReelPosErrorList.toArray()));
List<StoragePos> posList = storagePosManager.findByQuery(query); List<StoragePos> posList = storagePosManager.findByQuery(query);
for (StoragePos pos : posList) { for (StoragePos pos : posList) {
...@@ -528,19 +529,20 @@ public class HikVisionController { ...@@ -528,19 +529,20 @@ public class HikVisionController {
} }
if (StringUtils.isNotBlank(posName)) { if (StringUtils.isNotBlank(posName)) {
if (posName.equals(pos.getPosName())) { if (posName.equals(pos.getPosName())) {
log.info(posName+"对应的货架位异常"); log.info(posName + "对应的货架位异常");
return true; errorPosNameList.add(posName);
return errorPosNameList;
} }
} else { } else {
log.info(pos.getPosName()+"对应的货架位异常"); log.info(pos.getPosName() + "对应的货架位异常");
return true; errorPosNameList.add(pos.getPosName());
} }
} }
} }
List<String> noReelPosErrorList = deviceData.get(1); List<String> noReelPosErrorList = deviceData.get(1);
if (noReelPosErrorList != null && !noReelPosErrorList.isEmpty()) { if (noReelPosErrorList != null && !noReelPosErrorList.isEmpty()) {
log.info("noReelPosErrorList-----"+JSON.toJSONString(noReelPosErrorList)); log.info("noReelPosErrorList-----" + JSON.toJSONString(noReelPosErrorList));
Query query = new Query(Criteria.where("posName").in(noReelPosErrorList.toArray())); Query query = new Query(Criteria.where("posName").in(noReelPosErrorList.toArray()));
List<StoragePos> posList = storagePosManager.findByQuery(query); List<StoragePos> posList = storagePosManager.findByQuery(query);
for (StoragePos pos : posList) { for (StoragePos pos : posList) {
...@@ -552,16 +554,17 @@ public class HikVisionController { ...@@ -552,16 +554,17 @@ public class HikVisionController {
} }
if (StringUtils.isNotBlank(posName)) { if (StringUtils.isNotBlank(posName)) {
if (posName.equals(pos.getPosName())) { if (posName.equals(pos.getPosName())) {
log.info(posName+"对应的货架位异常"); log.info(posName + "对应的货架位异常");
return true; errorPosNameList.add(posName);
return errorPosNameList;
} }
} else { } else {
log.info(pos.getPosName()+"对应的货架位异常"); log.info(pos.getPosName() + "对应的货架位异常");
return true; errorPosNameList.add(pos.getPosName());
} }
} }
} }
} }
return false; return errorPosNameList;
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!