From ac41c492e4cd3293898b29880a61ab067a3fbc89 Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Tue, 21 Jan 2025 17:41:36 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=B8=8A=E4=BD=8D=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=E5=92=8C=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4=EF=BC=8C=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agv/ndcone/AgvNdcOneDeviceDriver.java | 12 ++++-- .../wms/service/impl/WmsToAcsServiceImpl.java | 38 +++++++++++-------- .../task/service/impl/TaskServiceImpl.java | 5 ++- 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index 3b4079f..90917e2 100644 --- a/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -459,6 +459,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } // "========================================================================请求放货=================================================================================" agv_status = 3; + if (inst != null && !"3".equals(inst.getExecute_status())) { + inst.setExecute_status("3"); + instructionService.update(inst); + } //到达桁架1请求放货 if (device.getDeviceDriver() instanceof Hj1DeviceDriver) { hj1DeviceDriver = (Hj1DeviceDriver) device.getDeviceDriver(); @@ -534,10 +538,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic ssxDeviceDriver = (SsxDeviceDriver) device.getDeviceDriver(); log.info("agv到达" + device_code + "放货点,当前信号值为:Mode:" + ssxDeviceDriver.getMode() + ",Move:" + ssxDeviceDriver.getMove() + ",Action:" + ssxDeviceDriver.getAction() + ",准备执行放货"); if (ssxDeviceDriver.getMove() == 0 & ssxDeviceDriver.getMode() == 1 & ssxDeviceDriver.getAction() == 1) { - if (inst != null) { - inst.setExecute_status("3"); - instructionService.update(inst); - } +// if (inst != null) { +// inst.setExecute_status("3"); +// instructionService.update(inst); +// } data = getData(data, index, inst, task); ssxDeviceDriver.setMessage(""); flag = true; diff --git a/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index b73894d..8cb939a 100644 --- a/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -78,39 +78,45 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); CancelTaskResponse response = new CancelTaskResponse(); JSONArray errArr = new JSONArray(); + log.info("cancelFromWms--------------:输入参数:{}",reqs); for (int i = 0; i < reqs.size(); i++) { CancelTaskRequest request = reqs.get(i); String task_code = request.getTask_code(); String vehicle_code = request.getVehicle_code(); Map params = request.getParams(); if (StrUtil.isEmpty(task_code)) { - throw new BadRequestException("任务号不能为空"); + throw new BadRequestException(HttpStatus.OK,"任务号不能为空"); } TaskDto taskDto = taskService.findByCodeFromCache(task_code); - String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue(); + if (ObjectUtil.isEmpty(taskDto)) { + throw new BadRequestException(HttpStatus.OK,"没有找到该任务"); + } + //String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue(); + JSONObject json = new JSONObject(); //todo acs直接取消任务还是取消指令还是任务 - if (StrUtil.equals(cancelTaskCheck, "1")) { - taskService.cancelNoSendWms(taskDto.getTask_id()); - } else if (StrUtil.equals(cancelTaskCheck, "0")) { +// if (StrUtil.equals(cancelTaskCheck, "1")) { +// taskService.cancelNoSendWms(taskDto.getTask_id()); +// } else if (StrUtil.equals(cancelTaskCheck, "0")) { Instruction inst = instructionService.findByTaskcode(task_code); - if (inst == null) { - taskService.cancelNoSendWms(taskDto.getTask_id()); - } else { - throw new RuntimeException("指令正在执行中,操作失败!"); + if (inst != null) { + if (!StrUtil.isEmpty(inst.getExecute_status()) && Integer.parseInt(inst.getExecute_status())>=3){ + throw new BadRequestException(HttpStatus.OK,"请求放货后无法取消任务"); + } + instructionService.cancel(inst.getInstruction_id()); } - } + taskService.cancelNoSendWms(taskDto.getTask_id()); +// } else { +// throw new RuntimeException("指令正在执行中,操作失败!"); +// } +// } } - + response.setStatus(200); if (ObjectUtil.isEmpty(errArr)) { - response.setStatus(200); - } else { - response.setStatus(400); + response.setMessage("success"); } - response.setMessage("success"); response.setErrArr(errArr); log.info("cancelFromWms--------------:输出参数:" + response); - return response; } diff --git a/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 7d47948..5fa358d 100644 --- a/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -57,6 +57,7 @@ import org.nl.system.service.param.ISysParamService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -1020,12 +1021,12 @@ public class TaskServiceImpl extends CommonServiceImpl impleme public void cancelNoSendWms(String id) throws Exception { TaskDto entity = this.findById(id); if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); + throw new BadRequestException(HttpStatus.OK,"被删除或无权限,操作失败!"); } InstructionService instructionservice = SpringContextHolder.getBean("instructionServiceImpl"); InstructionDto instdto = instructionservice.findByTaskid(id, "instruction_status <2 "); if (instdto != null) { - throw new BadRequestException("有指令未完成!"); + throw new BadRequestException(HttpStatus.OK,"有指令未完成!"); } String currentUsername = SecurityUtils.getCurrentUsername(); String now = DateUtil.now();