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) {