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 3c920c646..4cb4aae0b 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 @@ -648,7 +648,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements } }else { //下一个设备不是输送线指令 - this.setNotCreateInstMessage("下一个设备不是输送线指令"); + this.setNotCreateInstMessage("universal_notCreateInstMessage6"); return false; } Instruction instdto = new Instruction(); 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 a55ff07b6..2a9e7bc89 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 @@ -288,7 +288,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv applyIn(StorageTypeEnum.BOX_IN.getType()); List list1 = new ArrayList(); Map map = new HashMap(); - map.put("code", "mode"); + map.put("code", "to_command"); map.put("value", 6); list1.add(map); this.writing(list1); @@ -299,7 +299,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv applyIn(StorageTypeEnum.STORAGE.getType()); List list1 = new ArrayList(); Map map = new HashMap(); - map.put("code", "mode"); + map.put("code", "to_command"); map.put("value", 7); list1.add(map); this.writing(list1); @@ -476,115 +476,18 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv return false; } else { this.instruction_require_time = date; - //判断是否存在起点相同 任务状态就绪的任务 - TaskDto taskdto = taskserver.findByStartCodeAndReady(device_code); - if (!ObjectUtil.isEmpty(taskdto)) { - - String taskid = taskdto.getTask_id(); - String taskcode = taskdto.getTask_code(); - String vehiclecode = taskdto.getVehicle_code(); - String priority = taskdto.getPriority(); - Instruction instdto = new Instruction(); - String interactionJson = taskdto.getInteraction_json(); - InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class); - String containerType = ""; - if (ObjectUtil.isNotEmpty(interactionJsonDTO)) { - containerType = interactionJsonDTO.getContainerType(); + //根据补码查找任务 + if (StrUtil.isNotBlank(hand_barcode)) { + TaskDto taskdto = taskserver.findByVehicleCodeCodeAndReady(hand_barcode); + if (!ObjectUtil.isEmpty(taskdto)) { + if (creatInstruction(taskdto)) return false; } - if (TaskTypeEnum.AGV_Task.getIndex().equals(taskdto.getTask_type())){ - String route_plan_code = taskdto.getRoute_plan_code(); - - List shortPathsList = routeLineService.getShortPathLines(taskdto.getStart_device_code(), taskdto.getNext_device_code(), route_plan_code); - if (CollectionUtil.isEmpty(shortPathsList)){ - return false; - } - RouteLineDto routeLineDto = shortPathsList.get(0); - String path = routeLineDto.getPath(); - String[] str = path.split("->"); - List pathlist = Arrays.asList(str); - Integer start = 0; - String start_device_code = pathlist.get(start); - String next_device_code = pathlist.get(start+1); - - //判断有无出入库任务是相同路线 - TaskDto dto = taskserver.findByCodeAndExcute(taskdto.getNext_device_code(), taskdto.getStart_device_code()); - if (ObjectUtil.isNotEmpty(dto)){ - requireSucess = false; - return false; - } - - - packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,start_device_code,next_device_code,containerType); - }else { - - - packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,taskdto.getStart_device_code(),taskdto.getNext_device_code(),containerType); - } - try { - instructionService.create(instdto); - } catch (Exception e) { - e.printStackTrace(); - log.error("指令创建失败!", e.getMessage()); - return false; - } - Device nextdevice = deviceAppservice.findDeviceByCode(instdto.getNext_device_code()); - - //创建指令后修改任务状态 - taskdto.setTask_status(TaskStatusEnum.BUSY.getIndex()); - taskserver.update(taskdto); - String next_addr = nextdevice.getExtraValue().get("address").toString(); - - List list = new ArrayList(); - Map map = new HashMap(); - map.put("code", "to_target"); - map.put("value", next_addr); - list.add(map); - Map map2 = new HashMap(); - map2.put("code", "to_task"); - map2.put("value", instdto.getInstruction_code()); - list.add(map2); - Map map3 = new HashMap(); - map3.put("code", "to_container_type"); - map3.put("value", instdto.getVehicle_type()); - list.add(map3); - Map map4 = new HashMap(); - map3.put("code", "to_command"); - map3.put("value", "1"); - list.add(map4); - - this.writing(list); - led_message = getLedMessage(instdto); - List deviceCodes = this.getExtraDeviceCodes("link_device_code"); - String device = null; - if (ObjectUtil.isNotEmpty(deviceCodes)) { - for (String deviceCode : deviceCodes) { - Device linkDevice = deviceAppService.findDeviceByCode(deviceCode); - if (ObjectUtil.isEmpty(linkDevice)) { - throw new BadRequestException("设备:" + device_code + "关联设备->" + deviceCode + "为空!"); - } - if (linkDevice.getDeviceDriver() instanceof LedScreenDeviceDriver){ - device = deviceCode; - } - } - } - taskScreenService.getLedMessage(device); - requireSucess = true; - while (!StrUtil.equals(this.getOpcValueAccessor().getValue(this.getOpcServer() + "." + this.getOpcPlc() + "." + this.getDevice_code() + ".task").toString() - , instdto.getInstruction_code())) { - this.writing(list); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content(device_code + inst.getInstruction_code() + "再次下发电气信号") - .build(); - luceneExecuteLogService.deviceExecuteLog(logDto); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - if (ObjectUtil.isEmpty(taskserver.findByCode(taskdto.getTask_code()))) { - requireSucess = false; - return false; + }else { + if (StrUtil.isNotBlank(barcode)) { + //根据载具号查找任务 + TaskDto taskdto = taskserver.findByVehicleCodeCodeAndReady(barcode); + if (!ObjectUtil.isEmpty(taskdto)) { + if (creatInstruction(taskdto)) return false; } } } @@ -592,6 +495,117 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv } } + private boolean creatInstruction(TaskDto taskdto) { + String taskid = taskdto.getTask_id(); + String taskcode = taskdto.getTask_code(); + String vehiclecode = taskdto.getVehicle_code(); + String priority = taskdto.getPriority(); + Instruction instdto = new Instruction(); + String interactionJson = taskdto.getInteraction_json(); + InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class); + String containerType = ""; + if (ObjectUtil.isNotEmpty(interactionJsonDTO)) { + containerType = interactionJsonDTO.getContainerType(); + } + if (TaskTypeEnum.AGV_Task.getIndex().equals(taskdto.getTask_type())){ + String route_plan_code = taskdto.getRoute_plan_code(); + + List shortPathsList = routeLineService.getShortPathLines(taskdto.getStart_device_code(), taskdto.getNext_device_code(), route_plan_code); + if (CollectionUtil.isEmpty(shortPathsList)){ + return true; + } + RouteLineDto routeLineDto = shortPathsList.get(0); + String path = routeLineDto.getPath(); + String[] str = path.split("->"); + List pathlist = Arrays.asList(str); + Integer start = 0; + String start_device_code = pathlist.get(start); + String next_device_code = pathlist.get(start+1); + + //判断有无出入库任务是相同路线 + TaskDto dto = taskserver.findByCodeAndExcute(taskdto.getNext_device_code(), taskdto.getStart_device_code()); + if (ObjectUtil.isNotEmpty(dto)){ + requireSucess = false; + return true; + } + + + packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,start_device_code,next_device_code,containerType); + }else { + + + packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority, taskdto.getStart_device_code(), taskdto.getNext_device_code(),containerType); + } + try { + instructionService.create(instdto); + } catch (Exception e) { + e.printStackTrace(); + log.error("指令创建失败!", e.getMessage()); + return true; + } + Device nextdevice = deviceAppservice.findDeviceByCode(instdto.getNext_device_code()); + + //创建指令后修改任务状态 + taskdto.setTask_status(TaskStatusEnum.BUSY.getIndex()); + taskserver.update(taskdto); + String next_addr = nextdevice.getExtraValue().get("address").toString(); + + List list = new ArrayList(); + Map map = new HashMap(); + map.put("code", "to_target"); + map.put("value", next_addr); + list.add(map); + Map map2 = new HashMap(); + map2.put("code", "to_task"); + map2.put("value", instdto.getInstruction_code()); + list.add(map2); + Map map3 = new HashMap(); + map3.put("code", "to_container_type"); + map3.put("value", instdto.getVehicle_type()); + list.add(map3); + Map map4 = new HashMap(); + map3.put("code", "to_command"); + map3.put("value", "1"); + list.add(map4); + + this.writing(list); + led_message = getLedMessage(instdto); + List deviceCodes = this.getExtraDeviceCodes("link_device_code"); + String device = null; + if (ObjectUtil.isNotEmpty(deviceCodes)) { + for (String deviceCode : deviceCodes) { + Device linkDevice = deviceAppService.findDeviceByCode(deviceCode); + if (ObjectUtil.isEmpty(linkDevice)) { + throw new BadRequestException("设备:" + device_code + "关联设备->" + deviceCode + "为空!"); + } + if (linkDevice.getDeviceDriver() instanceof LedScreenDeviceDriver){ + device = deviceCode; + } + } + } + taskScreenService.getLedMessage(device); + requireSucess = true; + while (!StrUtil.equals(this.getOpcValueAccessor().getValue(this.getOpcServer() + "." + this.getOpcPlc() + "." + this.getDevice_code() + ".task").toString() + , instdto.getInstruction_code())) { + this.writing(list); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content(device_code + inst.getInstruction_code() + "再次下发电气信号") + .build(); + luceneExecuteLogService.deviceExecuteLog(logDto); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + if (ObjectUtil.isEmpty(taskserver.findByCode(taskdto.getTask_code()))) { + requireSucess = false; + return true; + } + } + return false; + } + /** * 获取任务信息 */ 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 5ba3a98c0..976cf66ce 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 @@ -1043,7 +1043,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme jo.put("stopReceiveTask", this.stopReceiveTask); jo.put("requireSucess", requireSucess); jo.put("driver_type", "standard_stacker"); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); + jo.put("notCreateInstMessage", notCreateInstMessage); return jo; } 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 7101f37bc..a133afd82 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 @@ -1128,7 +1128,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i jo.put("isError", this.getIserror()); jo.put("message", message); jo.put("notCreateTaskMessage", notCreateTaskMessage); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); + jo.put("notCreateInstMessage", notCreateInstMessage); jo.put("feedMessage", feedMessage); jo.put("requireActionSucess", requireActionSucess); jo.put("driver_type", "siemens_conveyor"); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/enums/ContainerTypeEnum.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/enums/ContainerTypeEnum.java new file mode 100644 index 000000000..f43b99199 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/enums/ContainerTypeEnum.java @@ -0,0 +1,20 @@ +package org.nl.acs.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ContainerTypeEnum { + SMALL("1", "小托盘"), + + BIG("2", "大托盘"); + /** + * 索引 + */ + private String type; + /** + * 编码 + */ + private String value; +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties index 4d4d56b85..5dd2b8e3c 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties @@ -46,6 +46,7 @@ universal_notCreateInstMessage2=\u5149\u7535\u65E0\u8D27,\u65E0\u6CD5\u751F\u621 universal_notCreateInstMessage3=\u8BBE\u5907\u5F85\u673A\u6216\u4E0D\u5141\u8BB8\u8FDB\u5165 universal_notCreateInstMessage4=ddj\u5BF9\u63A5\u4F4D\u6709\u8D27,\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage5=\u5B58\u5728\u76F8\u540C\u8DEF\u7EBF\u7684\u6307\u4EE4! +universal_notCreateInstMessage6=\u4E0B\u4E00\u4E2A\u8BBE\u5907\u4E0D\u662F\u8F93\u9001\u7EBF\u6307\u4EE4! diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties index 6271023a1..786aa8688 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_en_US.properties @@ -45,3 +45,4 @@ universal_notCreateInstMessage2=Photoelectric no goods, can not generate command universal_notCreateInstMessage3=The device is in standby mode or is not allowed to enter universal_notCreateInstMessage4=ddj interface bit is in stock, cannot generate command! universal_notCreateInstMessage5=Instructions with the same route exist! +universal_notCreateInstMessage6=The next device is not a conveyor line directive! diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_in_ID.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_in_ID.properties index b47c3ca58..cc6ee070b 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_in_ID.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_in_ID.properties @@ -45,3 +45,4 @@ universal_notCreateInstMessage2=Photo-electric tidak tersedia dan tidak dapat me universal_notCreateInstMessage3=Siaga perangkat atau tidak diizinkan masuk universal_notCreateInstMessage4=DDJ mendarat di dok, tidak ada perintah yang diberikan! universal_notCreateInstMessage5=Ada instruksi tentang rute yang sama! +universal_notCreateInstMessage6=Perangkat berikutnya bukan arahan jalur konveyor! diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties index 3472606d5..ee062b42c 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties @@ -45,4 +45,5 @@ universal_notCreateInstMessage2=\u5149\u7535\u65E0\u8D27,\u65E0\u6CD5\u751F\u621 universal_notCreateInstMessage3=\u8BBE\u5907\u5F85\u673A\u6216\u4E0D\u5141\u8BB8\u8FDB\u5165 universal_notCreateInstMessage4=ddj\u5BF9\u63A5\u4F4D\u6709\u8D27,\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage5=\u5B58\u5728\u76F8\u540C\u8DEF\u7EBF\u7684\u6307\u4EE4! +universal_notCreateInstMessage6=\u4E0B\u4E00\u4E2A\u8BBE\u5907\u4E0D\u662F\u8F93\u9001\u7EBF\u6307\u4EE4!