From 54bcba8ef40217ef724b93326f3e70ab614c1d88 Mon Sep 17 00:00:00 2001 From: lishuai <1793460677@qq.com> Date: Tue, 23 Jan 2024 09:54:20 +0800 Subject: [PATCH] =?UTF-8?q?add=20:=20=E6=B5=8B=E8=AF=95=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ConveyorWithScannerWeightDeviceDriver.java | 64 ++++++++++++------- 1 file changed, 42 insertions(+), 22 deletions(-) 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 9c041ff6d..c5afabe01 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 @@ -378,29 +378,27 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv String taskcode = taskdto.getTask_code(); String vehiclecode = taskdto.getVehicle_code(); String priority = taskdto.getPriority(); - if (TaskTypeEnum.AGV_Task.equals(taskdto.getTask_type())){ - - } Instruction instdto = new Instruction(); - instdto.setInstruction_id(IdUtil.simpleUUID()); - instdto.setRoute_plan_code(taskdto.getRoute_plan_code()); - instdto.setRemark(taskdto.getRemark()); - instdto.setMaterial(taskdto.getMaterial()); - instdto.setQuantity(taskdto.getQuantity()); - instdto.setTask_id(taskid); - instdto.setTask_code(taskcode); - instdto.setVehicle_code(vehiclecode); - String now = DateUtil.now(); - instdto.setCreate_time(now); - instdto.setCreate_by("auto"); - instdto.setStart_device_code(taskdto.getStart_device_code()); - instdto.setNext_device_code(taskdto.getNext_device_code()); - instdto.setStart_point_code(taskdto.getStart_device_code()); - instdto.setNext_point_code(taskdto.getNext_device_code()); - instdto.setPriority(priority); - instdto.setInstruction_status("0"); - instdto.setExecute_device_code(device_code); - instdto.setInstruction_type(taskdto.getTask_type()); + if (TaskTypeEnum.AGV_Task.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 = 1; + String start_device_code = pathlist.get(start); + String next_device_code = pathlist.get(start+1); + packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,start_device_code,next_device_code); + }else { + + + packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,taskdto.getStart_device_code(),taskdto.getNext_device_code()); + } try { instructionService.create(instdto); } catch (Exception e) { @@ -449,6 +447,28 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv } } + private void packageInstrcutData(Instruction instdto, TaskDto taskdto, String taskid, String taskcode, String vehiclecode, String priority,String startCode, String endCode) { + instdto.setInstruction_id(IdUtil.simpleUUID()); + instdto.setRoute_plan_code(taskdto.getRoute_plan_code()); + instdto.setRemark(taskdto.getRemark()); + instdto.setMaterial(taskdto.getMaterial()); + instdto.setQuantity(taskdto.getQuantity()); + instdto.setTask_id(taskid); + instdto.setTask_code(taskcode); + instdto.setVehicle_code(vehiclecode); + String now = DateUtil.now(); + instdto.setCreate_time(now); + instdto.setCreate_by("auto"); + instdto.setStart_device_code(startCode); + instdto.setNext_device_code(endCode); + instdto.setStart_point_code(startCode); + instdto.setNext_point_code(endCode); + instdto.setPriority(priority); + instdto.setInstruction_status("0"); + instdto.setExecute_device_code(device_code); + instdto.setInstruction_type(taskdto.getTask_type()); + } + public void writing(List list) {