From b905eacba9a85b1a78dfcbefe65c43114a438dc2 Mon Sep 17 00:00:00 2001 From: lishuai <1793460677@qq.com> Date: Mon, 24 Jun 2024 08:56:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A5=E5=BF=97bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/acs/agv/AgvWaitUtil.java | 25 +++++++++++++++- .../java/org/nl/acs/agv/QueryAGVStatus.java | 11 +++++++ .../server/impl/XianGongAgvServiceImpl.java | 18 ++++++------ .../BoxManipulatorSiteDeviceDriver.java | 2 +- .../BeltConveyorDeviceDriver.java | 5 +++- .../BlankManipulatorDeviceDriver.java | 2 +- .../DryManipulatorDeviceDriver.java | 2 +- .../OvenGantryManipulatorDeviceDriver.java | 2 +- .../BoxStorageOutConveyorDeviceDriver.java | 2 ++ .../BoxSubvolumesConveyorDeviceDriver.java | 3 +- ...nishedProductOutBindLableDeviceDriver.java | 1 - .../FoldDiscSiteDeviceDriver.java | 1 + ...ConveyorWithScannerWeightDeviceDriver.java | 1 + .../BoxPackageManipulatorDeviceDriver.java | 9 ++++-- .../BoxStorageManipulatorDeviceDriver.java | 9 ++++-- .../ReturnGoodManipulatorDeviceDriver.java | 10 +++++-- ...pedManipulatorManipulatorDeviceDriver.java | 28 ++++++++++++++---- ...TwoManipulatorManipulatorDeviceDriver.java | 10 +++++-- .../StandardStackerDeviceDriver.java | 29 ++++++++++++------- .../OvenGantryManipulatorDeviceDriver.java | 2 +- .../PullHeadManipulatorDeviceDriver.java | 2 +- .../PullTailManipulatorDeviceDriver.java | 2 +- .../wms/service/impl/AcsToWmsServiceImpl.java | 12 ++++---- .../service/InstructionService.java | 8 +++++ .../service/impl/InstructionServiceImpl.java | 24 +++++++++++++++ .../nl/acs/task/enums/AgvActionTypeEnum.java | 2 +- .../org/nl/acs/task/service/TaskService.java | 7 +++++ .../task/service/impl/TaskServiceImpl.java | 9 ++++++ .../controller/logicflow/StageController.java | 1 - .../service/quartz/task/CreateDDJInst.java | 14 ++++++--- .../src/main/resources/logback-spring.xml | 1 + 31 files changed, 197 insertions(+), 57 deletions(-) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java index c5f1965ba..6932d31d8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java @@ -18,6 +18,8 @@ import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.opc.DeviceAppService; import org.nl.acs.task.enums.AgvSystemTypeEnum; import org.nl.common.exception.BadRequestException; +import org.nl.config.lucene.service.LuceneExecuteLogService; +import org.nl.config.lucene.service.dto.LuceneLogDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -41,6 +43,9 @@ public class AgvWaitUtil { @Autowired private DeviceAppService deviceAppService; + @Autowired + private LuceneExecuteLogService luceneExecuteLogService; + //取货前等待 public JSONObject waitInGet(String startDeviceCode, Instruction inst) { log.info("仙工AGV请求取货,设备号 - {}", startDeviceCode); @@ -52,7 +57,13 @@ public class AgvWaitUtil { manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver(); manipulatorAgvStationDeviceDriver.writing(2); if(manipulatorAgvStationDeviceDriver.getAction() != 1){ - throw new BadRequestException("上位系统不允许取货"); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(inst.getCarno()) + .content("agv诺宝对接位行架不允许取货:" + inst.getCarno()+ "点位号"+ manipulatorAgvStationDeviceDriver.getDevice_code()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + throw new BadRequestException("行架不允许取货"); } } @@ -60,6 +71,12 @@ public class AgvWaitUtil { if(startDevice.getDeviceDriver() instanceof BoxSubvolumesConveyorDeviceDriver){ boxSubvolumesConveyorDeviceDriver = (BoxSubvolumesConveyorDeviceDriver) startDevice.getDeviceDriver(); if(boxSubvolumesConveyorDeviceDriver.getMode() != 2){ + LuceneLogDto logDto1 = LuceneLogDto.builder() + .device_code(inst.getCarno()) + .content("agv叉车对接位输送线不允许取货:" + inst.getCarno()+ "点位号"+ boxSubvolumesConveyorDeviceDriver.getDevice_code()) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); throw new BadRequestException("上位系统不允许取货"); } } @@ -98,6 +115,12 @@ public class AgvWaitUtil { manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver(); manipulatorAgvStationDeviceDriver.writing(2); if(manipulatorAgvStationDeviceDriver.getAction() != 1){ + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(inst.getCarno()) + .content("agv诺宝对接位行架不允许放货:" + inst.getCarno()+ "点位号"+ manipulatorAgvStationDeviceDriver.getDevice_code()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); log.info("不允许仙工AGV取货,对接位有报警,设备号 - {}", endDevice); throw new BadRequestException("上位系统不允许取货"); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java index a754c6ce6..b30688d40 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java @@ -13,7 +13,10 @@ import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.task.domain.Task; import org.nl.acs.task.enums.AgvSystemTypeEnum; +import org.nl.acs.task.service.TaskService; +import org.nl.acs.task.service.dto.TaskDto; import org.nl.config.SpringContextHolder; import org.nl.system.service.param.ISysParamService; import org.springframework.stereotype.Component; @@ -30,6 +33,7 @@ public class QueryAGVStatus { public void run() { InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); + TaskService taskService = SpringContextHolder.getBean(TaskService.class); ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class); List allInstFromCache = instructionService.findAllInstFromCache(); List agvInstruction = allInstFromCache.stream().filter(item -> AgvSystemTypeEnum.One_NDC_System_Type.getIndex().equals(item.getAgv_system_type()) || AgvSystemTypeEnum.XG_System_Type.getIndex().equals(item.getAgv_system_type())).collect(Collectors.toList()); @@ -59,9 +63,16 @@ public class QueryAGVStatus { // 等待=WAITING //执行中 String state = json.getString("state"); + String carNo = json.getString("vehicle"); if ("RUNNING".equals(state) || "CREATED".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) { instruction.setInstruction_status("1"); + instruction.setCarno(carNo); + TaskDto task = new TaskDto(); instructionService.update(instruction); + task.setCarno(carNo); + task.setTask_id(instruction.getTask_id()); + instructionService.update(instruction); + taskService.update(task); } else if ("FINISHED".equals(state)) { instruction.setInstruction_status("2"); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java index 2104b71a8..233224d81 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java @@ -745,7 +745,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { JSONObject param = new JSONObject(); param.put("task_code", task_code); LuceneLogDto logDto = LuceneLogDto.builder() - .device_code("追加动叉车作块:") + .device_code(instructionDto.getCarno()) .content("追加动叉车作块,参数:" + task_code ) .build(); logDto.setLog_level(4); @@ -754,7 +754,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { JSONObject jo = JSON.parseObject(response); if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code("追加动叉车作块:") + .device_code(instructionDto.getCarno()) .content("追加动叉车作块,参数,接口返回:" + jo) .build(); logDto2.setLog_level(4); @@ -765,7 +765,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { } else { LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code("追加动叉车作块:") + .device_code(instructionDto.getCarno()) .content("追加动叉车作块失败,返回参数:" + jo.getString("body")) .build(); logDto2.setLog_level(4); @@ -859,7 +859,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { param.put("taskCode", task_code); param.put("actionType", actionType.toString()); LuceneLogDto logDto = LuceneLogDto.builder() - .device_code("追加动诺宝作块:") + .device_code(instructionDto.getCarno()) .content("追加动诺宝作块,参数:" + task_code + "--" + actionType) .build(); logDto.setLog_level(4); @@ -868,7 +868,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { JSONObject jo = JSON.parseObject(response); if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code("追加动诺宝作块:") + .device_code(instructionDto.getCarno()) .content("追加动诺宝作块,参数,接口返回:" + jo) .build(); logDto2.setLog_level(4); @@ -881,7 +881,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { } else { LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code("追加动诺宝作块:") + .device_code(instructionDto.getCarno()) .content("追加动诺宝作块失败,返回参数:" + jo.getString("body")) .build(); logDto2.setLog_level(4); @@ -1343,16 +1343,16 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { JSONObject jo9 = new JSONObject(); jo9.put("blockId", IdUtil.simpleUUID()); - jo9.put("location", inst.getNext_device_code() + "INPUT"); + jo9.put("location", inst.getNext_device_code()); jo9.put("operation", "script"); - jo9.put("id", inst.getNext_device_code() + "INPUT"); + jo9.put("id", inst.getNext_device_code()); jo9.put("script_name", "userpy/interact.py"); JSONObject script_args5 = new JSONObject(); script_args5.put("addr", addr); JSONObject data3 = new JSONObject(); JSONObject reach3 = new JSONObject(); reach3.put("task_code", inst.getInstruction_code()); - reach3.put("address", inst.getNext_device_code() + "INPUT"); + reach3.put("address", inst.getNext_device_code()); data3.put("reach", reach3); script_args5.put("data", data3); script_args5.put("protocol", "HTTP"); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/box_manipulator_site/BoxManipulatorSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/box_manipulator_site/BoxManipulatorSiteDeviceDriver.java index 2f13780ec..626608dea 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/box_manipulator_site/BoxManipulatorSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/box_manipulator_site/BoxManipulatorSiteDeviceDriver.java @@ -240,7 +240,7 @@ public class BoxManipulatorSiteDeviceDriver extends AbstractOpcDeviceDriver impl } catch (Exception var17) { var17.printStackTrace(); - feedMessage = var17.getMessage(); + // feedMessage = var17.getMessage(); logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java index 04a1f0b95..f66eb5572 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java @@ -209,6 +209,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements JSONObject led_message = null; + @Override public Device getDevice() { return this.device; @@ -237,12 +238,13 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements to_container_no = this.itemProtocol.getContainer_direction(); - if (move != last_move && move == 0 && last_move == 1) { + if (move != last_move) { requireSucess = false; clearWrite(); } if (move != 0 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; CompletableFuture.runAsync(() -> { // 异步更新指令状态 try { @@ -826,6 +828,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements jo.put("requireSucess", requireSucess); jo.put("hand_barcode", hand_barcode); jo.put("materiel", material_barcode); + jo.put("inst_message", this.inst_message); jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/BlankManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/BlankManipulatorDeviceDriver.java index d7ad1df74..86cf129a7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/BlankManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/BlankManipulatorDeviceDriver.java @@ -229,7 +229,7 @@ // // } catch (Exception var17) { // var17.printStackTrace(); -// feedMessage = var17.getMessage(); +// // feedMessage = var17.getMessage(); // logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.standardItemProtocol)); // // } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/DryManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/DryManipulatorDeviceDriver.java index 3f92e2a9f..770827595 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/DryManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/DryManipulatorDeviceDriver.java @@ -228,7 +228,7 @@ // // } catch (Exception var17) { // var17.printStackTrace(); -// feedMessage = var17.getMessage(); +// // feedMessage = var17.getMessage(); // logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.standardItemProtocol)); // // } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/OvenGantryManipulatorDeviceDriver.java index 994fadc57..5238059e9 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator/standard_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -234,7 +234,7 @@ // // } catch (Exception var17) { // var17.printStackTrace(); -// feedMessage = var17.getMessage(); +// // feedMessage = var17.getMessage(); // logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.standardItemProtocol)); // // } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java index 593383cda..62f16ae9a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java @@ -167,6 +167,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i String vehicle_code; String last_vehicle_code; + @Override public Device getDevice() { return this.device; @@ -199,6 +200,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i } if (move != 0 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; update_instruction_status(); } } catch (Exception var17) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java index 903b214f9..f32a4dcb8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java @@ -196,7 +196,7 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i logServer.deviceExecuteLog(this.device_code, "", "", "信号mode:" + last_mode + "->" + mode); } if (move != 0 && task > 0) { - + inst_message = "当前指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + " 载具号:" + inst.getVehicle_code(); update_instruction_status(); } } catch (Exception var17) { @@ -737,7 +737,6 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i this.instruction_update_time = date; inst = checkInst(); if (inst != null) { - inst_message = "当前指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + " 载具号:" + inst.getVehicle_code(); vehicle_code = inst.getVehicle_code(); task_code = inst.getTask_code(); if (StrUtil.equals(inst.getInstruction_status(), "0") && StrUtil.equals(this.getDeviceCode(), inst.getStart_device_code())) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java index ad2dbc819..01ee64eb8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java @@ -199,7 +199,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr if (move != 0 && task > 0) { - update_instruction_status(); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java index 6759b151e..ead7b4e15 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java @@ -680,6 +680,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements jo.put("notCreateTaskMessage", notCreateTaskMessage); jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); jo.put("feedMessage", LangProcess.msg(feedMessage)); + jo.put("inst_message", this.inst_message); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); return jo; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java index f7448e772..3dee61a78 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java @@ -1026,6 +1026,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv jo.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("driver_type", "conveyor_with_scanner_weight"); jo.put("is_click", true); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java index b437e7dd3..d367fbd0e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java @@ -43,6 +43,7 @@ import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; import java.util.*; +import java.util.stream.Collectors; /** * 装箱智能行架 @@ -86,6 +87,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i // y坐标 float y = 0.0f; float last_y = 0.0f; + String inst_message; int heartbeat = 0; int last_heartbeat = 0; @@ -188,6 +190,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } // 更新指令状态 if (mode == 3 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; updateInstrction(); } @@ -336,8 +339,9 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i String startDeviceCode = getDeviceCodeList.get(i); //先查指令 List taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); - if (CollUtil.isNotEmpty(taskDtoInstruction)){ - TaskDto taskDtoIns = taskDtoInstruction.get(0); + List taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(taskDtoStream)) { + TaskDto taskDtoIns = taskDtoStream.get(0); if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) { Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code()); String interactionJson = taskDtoIns.getInteraction_json(); @@ -644,6 +648,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i jo.put("is_click", true); jo.put("x", x); jo.put("y", y); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java index 805c7e618..800ce85a7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java @@ -46,6 +46,7 @@ import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; import java.util.*; +import java.util.stream.Collectors; /** * 木箱入库行架 @@ -106,6 +107,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i int branchProtocol = 0; private String error_type = "hxhj_error_type"; + String inst_message; //暂定 0就绪 1请求取货 2取货完成 3请求放货 4放货完成 5取货完成离开 6放货完成离开 7请求进入区域 8请求离开区域 int flag; @@ -158,6 +160,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } // 更新指令状态 if (mode == 3 && task > 0 && !requireActionSucess) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; updateInstructionStatus(); } @@ -302,8 +305,9 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i String startDeviceCode = getDeviceCodeList.get(i); //先查指令 List taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); - if (CollUtil.isNotEmpty(taskDtoInstruction)) { - TaskDto taskDtoIns = taskDtoInstruction.get(0); + List taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(taskDtoStream)) { + TaskDto taskDtoIns = taskDtoStream.get(0); if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) { Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code()); String interactionJson = taskDtoIns.getInteraction_json(); @@ -596,6 +600,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i jo.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("driver_type", "box_storage_manipulator"); jo.put("is_click", true); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java index c0f1da0ba..719a5dc77 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java @@ -47,6 +47,7 @@ import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; import java.util.*; +import java.util.stream.Collectors; /** * 退货入库行架 @@ -141,6 +142,7 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i List getDeviceCodeList = null; List putDeviceCodeList = null; + String inst_message; @Override @@ -171,6 +173,8 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i // 更新指令状态 if (mode == 3 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; + updateInstructionStatus(); } @@ -319,8 +323,9 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i String startDeviceCode = getDeviceCodeList.get(i); //先查指令 List taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); - if (CollUtil.isNotEmpty(taskDtoInstruction)) { - TaskDto taskDtoIns = taskDtoInstruction.get(0); + List taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(taskDtoStream)) { + TaskDto taskDtoIns = taskDtoStream.get(0); if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) { Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code()); String interactionJson = taskDtoIns.getInteraction_json(); @@ -610,6 +615,7 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i jo.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java index 54ad24ca5..e07988161 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java @@ -42,6 +42,8 @@ import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 捆扎智能行架 @@ -130,6 +132,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice String notCreateTaskMessage = ""; String notCreateInstMessage = ""; String feedMessage = ""; + String inst_message; List getDeviceCodeList = null; @@ -165,12 +168,14 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice } // 更新指令状态 if (mode == 3 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; + updateInstructionStatus(); } } catch (Exception var17) { var17.printStackTrace(); - feedMessage = var17.getMessage(); + // feedMessage = var17.getMessage(); logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } @@ -311,8 +316,9 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice String startDeviceCode = getDeviceCodeList.get(i); //先查指令 List taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); - if (CollUtil.isNotEmpty(taskDtoInstruction)) { - TaskDto taskDtoIns = taskDtoInstruction.get(0); + List taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(taskDtoStream)) { + TaskDto taskDtoIns = taskDtoStream.get(0); if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) { Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code()); String interactionJson = taskDtoIns.getInteraction_json(); @@ -353,8 +359,19 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice return true; } } else { - TaskDto taskDto = taskserver.findByStartCodeAndReady(startDeviceCode); - if (ObjectUtil.isNotEmpty(taskDto) && TaskTypeEnum.Truss_Task.getIndex().equals(taskDto.getTask_type())) { + List taskDtos = taskserver.findByTrappedManipulatorReady(); + List taskDtosReady = new ArrayList<>(); + TaskDto taskDto = new TaskDto(); + for (TaskDto taskDto1 : taskDtos) { + if (getDeviceCodeList.contains(taskDto1.getStart_device_code())){ + taskDtosReady.add(taskDto1); + } + } + if (CollUtil.isNotEmpty(taskDtosReady)) { + List taskDtoList = taskDtosReady.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + taskDto = taskDtoList.get(0); + } + if (ObjectUtil.isNotEmpty(taskDto)) { String interactionJson = taskDto.getInteraction_json(); InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class); String start_device_code = taskDto.getStart_device_code(); @@ -624,6 +641,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice jo.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java index ab3919106..855d074fe 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java @@ -46,6 +46,7 @@ import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; import java.util.*; +import java.util.stream.Collectors; /** * 捆扎智能行架 @@ -151,6 +152,7 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi List getDeviceCodeList = null; List putDeviceCodeList = null; + String inst_message; @Override @@ -185,6 +187,8 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi } // 更新指令状态 if (mode == 3 && task > 0) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() ; + updateInstructionStatus(); } @@ -335,8 +339,9 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi String startDeviceCode = getDeviceCodeList.get(i); //先查指令 List taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); - if (CollUtil.isNotEmpty(taskDtoInstruction)) { - TaskDto taskDtoIns = taskDtoInstruction.get(0); + List taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(taskDtoStream)) { + TaskDto taskDtoIns = taskDtoStream.get(0); if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) { Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code()); String start_device_code = taskDtoIns.getStart_device_code(); @@ -641,6 +646,7 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi jo.put("feedMessage", LangProcess.msg(feedMessage)); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); + jo.put("inst_message", this.inst_message); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java index 01d823f66..f2b21b375 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java @@ -343,7 +343,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } else { this.instruction_update_time = date; //更改指令状态 - if (task > 0) { + if (task > 0 && !Objects.equals(command, last_command)) { Instruction inst = checkInst(); if (inst != null) { if (StrUtil.equals(inst.getInstruction_status(), "0")) { @@ -363,28 +363,27 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme //不同任务限制清零 if (!Objects.equals(task, last_task)) { + this.isonline=true; count = 0; } if (mode == 0) { this.setIsonline(false); message = "universal_off"; - } else if (error != 0) { + }else { + this.setIsonline(true); + } + if (error != 0) { this.setIserror(true); message = "universal_message3"; + } else { + this.setIserror(false); } if (mode != 3 || requireSucess) { message = "one_message7"; } else { if (error != 0) { - - Date date = new Date(); - if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) { - log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out); - } else { - //满入空出或者浅货位阻挡 - erroBlock(); - } + erroBlock(); } List list = new ArrayList(); switch (command) { @@ -402,6 +401,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); message = "universal_delivery"; + if (updateCommand("1")) break; break; case 2: @@ -592,6 +592,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } instruction0.setExecute_message(string); instructionService.update(instruction0); + } private static void packageDevicePoint(Device nextDevice, List list) { @@ -690,7 +691,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); return; } else { - Instruction instruction = instructionService.findByCode(String.valueOf(task)); + Instruction instruction = instructionService.findByDeviceCodeRunFromCache(String.valueOf(task)); if (ObjectUtil.isEmpty(instruction)) { message = "one_message9"; return; @@ -699,6 +700,12 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme param.put("task_code", instruction.getTask_code()); param.put("task_id", instruction.getTask_id()); param.put("type", type); + LuceneLogDto logDto1 = LuceneLogDto.builder() + .device_code(device_code) + .content("申请更新点位,参数:" + param) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); String response = acsToWmsService.applyUpdatePointCode(param); JSONObject jo = JSON.parseObject(response); if (StrUtil.isNotEmpty(jo.getString("body")) || jo.getInteger("status") == 200) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index 2a64e05da..40f1d5f91 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -198,7 +198,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } catch (Exception var17) { var17.printStackTrace(); - feedMessage = var17.getMessage(); + // feedMessage = var17.getMessage(); logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java index f51d46475..c6cf5c904 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java @@ -249,7 +249,7 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp } catch (Exception var17) { var17.printStackTrace(); - feedMessage = var17.getMessage(); + // feedMessage = var17.getMessage(); logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java index 9b61c7145..b431a83b5 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java @@ -274,7 +274,7 @@ public class PullTailManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp } catch (Exception var17) { var17.printStackTrace(); - feedMessage = var17.getMessage(); + // feedMessage = var17.getMessage(); logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index 7ab397e99..772d5ca7d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -601,7 +601,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public String getBoxInfo(JSONObject param) { try { MDC.put(log_file_type, log_type); - log.info("applyTaskToWms-----输入参数{}", param); + log.info("getBoxInfo-----输入参数{}", param); String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue(); AddressDto addressDto = addressService.findByCode("getBoxInfo"); String url = wmsurl + addressDto.getMethods_url(); @@ -766,7 +766,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public String applyUpdatePointCode(JSONObject param) { try { MDC.put(log_file_type, log_type); - log.info("deviceApplyExceptional-----输入参数{}", param); + log.info("applyUpdatePointCode-----输入参数{}", param); String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue(); AddressDto addressDto = addressService.findByCode("deviceApplyExceptional"); String url = wmsurl + addressDto.getMethods_url(); @@ -778,11 +778,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { .execute(); } catch (Exception e) { String msg = e.getMessage(); - log.info("deviceApplyExceptional-----输出参数{}", msg); + log.info("applyUpdatePointCode-----输出参数{}", msg); //网络不通 } if (ObjectUtil.isEmpty(result2)) { - log.info("deviceApplyExceptional-----输出参数{}", "返回结果为空"); + log.info("applyUpdatePointCode-----输出参数{}", "返回结果为空"); return null; } String type = ""; @@ -791,8 +791,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } else { type = "error"; } - log.info("deviceApplyExceptional-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto(4,"deviceApplyExceptional", String.valueOf(result2.getStatus()), + log.info("applyUpdatePointCode-----输出参数{}", result2.body()); + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyUpdatePointCode", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "申请更新点位"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java index 4a8087ef1..11ff78c0a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -342,6 +342,14 @@ public interface InstructionService extends CommonService { */ Instruction findByStartCodeAndReady(String device_code); + /** + * 根据起点设备编号查询当前是否有运行的指令 + * + * @param device_code + * @return + */ + Instruction findByDeviceCodeRunFromCache(String device_code); + /** * 根据终点设备编号查询当前是否有就绪指令 * diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index b02067e10..70b97622e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -1536,6 +1536,30 @@ public class InstructionServiceImpl extends CommonServiceImpl instructionList = instructions; + ListUtil.sort( + instructionList, + new Comparator() { + @Override + public int compare(Instruction o1, Instruction o2) { + return o1.getCreate_time().compareTo(o2.getCreate_time()); + } + }); + Iterator it = instructions.iterator(); + while (it.hasNext()) { + Instruction inst = it.next(); + if (StrUtil.equals(devicecode, inst.getStart_device_code()) + && inst.getInstruction_status().equals(InstructionStatusEnum.BUSY.getIndex())) { + return inst; + } + } + + return null; + } + + @Override public Instruction findByNextDeviceCodeFromCache(String devicecode) { List instructionList = instructions; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/enums/AgvActionTypeEnum.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/enums/AgvActionTypeEnum.java index 67b408a90..e90538944 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/enums/AgvActionTypeEnum.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/enums/AgvActionTypeEnum.java @@ -19,7 +19,7 @@ public enum AgvActionTypeEnum { /** * 防货二次分配 */ - OUT_STOCK(3, "防货二次分配"), + OUT_STOCK(3, "放货二次分配"), /** * 取放货二次分配 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java index f671b0cb9..5a12daba4 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java @@ -390,6 +390,13 @@ public interface TaskService extends CommonService { TaskDto findByStartCodeAndReady(String device_code); + /** + * 查找符合条件的堆叠行架任务 + * @return + */ + List findByTrappedManipulatorReady(); + + /** * 根据起载具号查询就绪任务 * diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index d473da1c9..351af73e0 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -1107,6 +1107,15 @@ public class TaskServiceImpl extends CommonServiceImpl impleme return optionalTask.orElse(null); } + @Override + public List findByTrappedManipulatorReady() { + //根据时间升序取第一个 + List taskDtoList = tasks.stream() + .filter(task -> StrUtil.equals(task.getTask_type(), TaskTypeEnum.Truss_Task.getIndex()) + && StrUtil.equals(task.getTask_status(), TaskStatusEnum.READY.getIndex())).collect(Collectors.toList()); + return taskDtoList; + } + @Override public TaskDto findByVehicleCodeCodeAndReady(String vehicleCode) { Optional optionalTask = tasks.stream() diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/logicflow/StageController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/logicflow/StageController.java index 23635f2d6..80df9b2b8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/logicflow/StageController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/logicflow/StageController.java @@ -82,7 +82,6 @@ public class StageController { } @PostMapping("/getNewStageDataByCode") - @Log("根据stage_code获取舞台数据") public ResponseEntity getNewStageDataByCode(@RequestBody String code) { Stage one = stageService.getOne(new LambdaQueryWrapper().eq(Stage::getStage_code, code)); return new ResponseEntity<>(one, HttpStatus.CREATED); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java index 094b822ce..7f1daef29 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java @@ -57,10 +57,10 @@ public class CreateDDJInst { String next_device_code = taskDto.getNext_device_code(); Device nextDevice = appService.findDeviceByCode(next_device_code); //判断有无出入库任务是相同路线 - TaskDto dto = taskserver.findByCodeAndExcute(next_device_code, start_device_code); - if (ObjectUtil.isNotEmpty(dto)) { - continue; - } +// TaskDto dto = taskserver.findByCodeAndExcute(next_device_code, start_device_code); +// if (ObjectUtil.isNotEmpty(dto)) { +// continue; +// } if (startDevice.getDevice_type().equals(DeviceType.storage.name()) && (nextDevice.getDevice_type().equals(DeviceType.conveyor.name()) || nextDevice.getDevice_type().equals(DeviceType.storage.name()))) { taskDtoList.add(taskDto); @@ -316,6 +316,12 @@ public class CreateDDJInst { String count = deviceByCode.getExtraValue().get("count").toString(); if (StrUtil.isNotEmpty(count)) { if (max <= Integer.parseInt(count)) { + //判断有没有DDJ对接位出入库的指令 + List byCodeAndExcute = instructionService.findByCodeAndExcute(next_device_code); + if (CollUtil.isNotEmpty(byCodeAndExcute)){ + ((StandardStackerDeviceDriver) deviceByCode.getDeviceDriver()).setNotCreateInstMessage("有DDJ对接位出入库的指令"); + continue; + } instdto.setInstruction_type(task_type); instdto.setInstruction_id(IdUtil.simpleUUID()); instdto.setRoute_plan_code(route_plan_code); diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index a357d9c8a..158891bd8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -22,6 +22,7 @@ https://juejin.cn/post/6844903775631572999 +