diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index 7db1b27aa..1ffce1fbe 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -232,13 +232,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic if (device.getDeviceDriver() instanceof SiemensConveyorDeviceDriver) { siemensConveyorDeviceDriver = (SiemensConveyorDeviceDriver) device.getDeviceDriver(); - data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); List list = new ArrayList(); Map map = new HashMap(); map.put("code", "to_command"); map.put("value", "2"); list.add(map); siemensConveyorDeviceDriver.writing(list); + data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); + } if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java index 1bcc665ef..a09703451 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java @@ -1,5 +1,6 @@ package org.nl.acs.ext.wms.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -62,7 +63,29 @@ public class LiKuToAcsServiceImpl implements LiKuToAcsService { String status = requestParam.getState(); String carNo = requestParam.getRobotId(); Instruction inst = instructionService.findByCodeFromCache(inst_code); + if (ObjectUtil.isEmpty(inst)) { + InStoreReportResponse inStoreReportResponse = new InStoreReportResponse(); + inStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应指令"); + result.put("data", inStoreReportResponse ); + log.info("入库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new InStoreReportResponse()); + } TaskDto task = taskService.findByCodeFromCache(inst.getTask_code()); + if (ObjectUtil.isEmpty(task)) { + InStoreReportResponse inStoreReportResponse = new InStoreReportResponse(); + inStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应任务"); + result.put("data", inStoreReportResponse ); + log.info("入库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new InStoreReportResponse()); + } // 1 已接收 2 开始执行 3执行完成 4 5 取消 if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ task.setTask_status("1"); @@ -102,8 +125,29 @@ public class LiKuToAcsServiceImpl implements LiKuToAcsService { String status = requestParam.getState(); String carNo = requestParam.getRobotId(); Instruction inst = instructionService.findByCodeFromCache(inst_code); + if (ObjectUtil.isEmpty(inst)) { + OutStoreReportResponse outStoreReportResponse = new OutStoreReportResponse(); + outStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应指令"); + result.put("data", outStoreReportResponse ); + log.info("出库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new OutStoreReportResponse()); + } TaskDto task = taskService.findByCodeFromCache(inst.getTask_code()); - + if (ObjectUtil.isEmpty(task)) { + OutStoreReportResponse outStoreReportResponse = new OutStoreReportResponse(); + outStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应任务"); + result.put("data", outStoreReportResponse ); + log.info("出库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new OutStoreReportResponse()); + } // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ task.setTask_status("1"); @@ -159,8 +203,29 @@ public class LiKuToAcsServiceImpl implements LiKuToAcsService { String status = requestParam.getState(); String carNo = requestParam.getRobotId(); Instruction inst = instructionService.findByCodeFromCache(inst_code); + if (ObjectUtil.isEmpty(inst)) { + MoveStoreReportResponse moveStoreReportResponse = new MoveStoreReportResponse(); + moveStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应指令"); + result.put("data", moveStoreReportResponse ); + log.info("移库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new MoveStoreReportResponse()); + } TaskDto task = taskService.findByCodeFromCache(inst.getTask_code()); - // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 + if (ObjectUtil.isEmpty(task)) { + MoveStoreReportResponse moveStoreReportResponse = new MoveStoreReportResponse(); + moveStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "false"); + result.put("code", "0"); + result.put("comment", "未找到对应任务"); + result.put("data", moveStoreReportResponse ); + log.info("移库任务状态反馈-----输出参数{}", result); + return RespUtil.getResp(result.toString(), new MoveStoreReportResponse()); + } // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ task.setTask_status("1"); taskService.update(task); diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index a0e155f4c..3081615c6 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -602,8 +602,9 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu JSONObject json = (JSONObject) JSONObject.toJSON(dto); wo.update(json); - - this.reload(); + removeByCodeFromCache(dto.getInstruction_code()); + instructions.add(dto); +// this.reload(); } @Override @@ -735,7 +736,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu } removeByCodeFromCache(entity.getInstruction_code()); - this.reload(); +// this.reload(); } @Override @@ -979,7 +980,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu } removeByCodeFromCache(entity.getInstruction_code()); } - this.reload(); +// this.reload(); } @Override @@ -1320,11 +1321,10 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu @Override public boolean removeByCodeFromCache(String code) { - CopyOnWriteArrayList instructions = (CopyOnWriteArrayList) this.instructions; - instructions.removeIf((instruction) -> { - instruction.getInstruction_code().equals(code); - return true; - }); + CopyOnWriteArrayList instructions = (CopyOnWriteArrayList) this.instructions; + instructions.removeIf((inst) -> { + return inst.getInstruction_code().equals(code); + }); // while (iterator.hasNext()) { // Instruction instruction = iterator.next(); // if (instruction.getInstruction_code().equals(code)) { @@ -1332,7 +1332,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu // return true; // } // } - return true; + return true; } @Override diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 877d6e05e..7efd12e53 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -54,6 +54,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -525,7 +526,12 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { wo.insert(json); synchronized(TaskServiceImpl.class){ + System.out.println("-------------------"+dto.getTask_code()); + System.out.println("-------------1"+tasks.size()); + tasks.add(dto); + System.out.println("-------------2"+tasks.size()); + } } @@ -1271,10 +1277,9 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { public boolean removeByCodeFromCache(String code) { CopyOnWriteArrayList taskDtos = (CopyOnWriteArrayList) this.tasks; taskDtos.removeIf((task) -> { - task.getTask_code().equals(code); - return true; + return task.getTask_code().equals(code); }); - return false; + return true; } @Override