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 2651804b9..925181ee5 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 @@ -740,10 +740,21 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { String inst_code = requestParam.getString("task_code"); Instruction instructionDto = instructionService.findByCodeFromCache(inst_code); if (ObjectUtil.isEmpty(instructionDto)) { + LuceneLogDto logDto = LuceneLogDto.builder() + .content("请求失败,未找到指令!" ) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); throw new BadRequestException("请求失败,未找到指令!"); } String address = requestParam.getString("address"); if (StrUtil.isBlank(address)) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(instructionDto.getCarno()) + .content("请求失败,地址为空!" ) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); throw new BadRequestException("请求失败,地址为空!"); } if (address.contains("IN") || address.contains("WAIT")) { @@ -755,6 +766,12 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { deviceCodeNow = address.substring(0, address.length() - 5); } if (ObjectUtil.isEmpty(deviceAppService.findDeviceByCode(deviceCodeNow))) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(instructionDto.getCarno()) + .content("设备号 " + deviceCodeNow + " 不存在!") + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); throw new BadRequestException("设备号 " + deviceCodeNow + " 不存在!"); } //一楼诺宝agv @@ -802,6 +819,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { map.put("message", "允许叉车放货!" + "点位" + newPointCode); log.info("允许仙工AGV放货,设备号 - {}", newPointCode); LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(instructionDto.getCarno()) .content("叉车允许放货" + "新点位:" + newPointCode + map ) .build(); logDto.setLog_level(4); 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 48d455a21..a227e811c 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 @@ -366,6 +366,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements this.writing(list); message = null; vehicle_code = null; + inst_message = null; } @@ -420,7 +421,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements this.writing(list1); this.requireSucess = true; } else { - this.iserror = false; + this.iserror = true; message = "申请空托盘出入库出错,返回参数:" + jo; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/driver/AbstractOpcDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/driver/AbstractOpcDeviceDriver.java index 225534d39..7317909e1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/driver/AbstractOpcDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/driver/AbstractOpcDeviceDriver.java @@ -39,8 +39,6 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc public void checkcontrol(Map itemValues) throws Exception { - - CompletableFuture future = CompletableFuture.supplyAsync(() -> { try { Group group = opcServerService.getServer(this.getOpcServer()); Map write = new HashMap(); @@ -116,7 +114,7 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc } if (check) { - return ""; + return ; } if (i > 0) { @@ -133,20 +131,7 @@ public class AbstractOpcDeviceDriver extends AbstractDeviceDriver implements Opc Thread.currentThread().interrupt(); throw new IllegalStateException("Interrupted", e); } - }); - try { - String result = future.get(2, TimeUnit.SECONDS); // 设置超时时间为2秒 - System.out.println(result); - } catch (CompletionException e) { - Throwable cause = e.getCause(); - if (cause instanceof TimeoutException) { - System.out.println("Operation timed out"); - } else { - throw e; // rethrow other exceptions - } - } catch (Exception e) { - throw new RuntimeException(e); - } + } 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 e34ccb88a..29120de8c 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 @@ -274,6 +274,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i this.writing(list); message=null; vehicle_code=null; + inst_message = null; } @@ -379,7 +380,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i luceneExecuteLogService.deviceExecuteLog(logDto2); this.requireSucess = true; } else { - this.iserror = false; + this.iserror = true; message = "二楼到一楼输送线申请行架任务报错,返回参数:" + jo; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) 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 f6ecfd3d2..ae29ccab1 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 @@ -194,7 +194,8 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i if (move != 0 && task > 0) { if (null!=inst) { inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code(); - } update_instruction_status(); + } + update_instruction_status(); } } catch (Exception var17) { var17.printStackTrace(); @@ -298,6 +299,7 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i this.writing(list); message = null; vehicle_code = null; + inst_message = null; } @@ -390,7 +392,7 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i requireSucess = true; }else { message = "申请AGV任务报错,参数,接口返回:" + jo; - this.iserror = false; + this.iserror = true; } } 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 43585d2ef..9ae12bef9 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 @@ -330,6 +330,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr this.writing(list); message=null; + inst_message = null; } private void applyLaStrangulationAndLabeling(int mode) { @@ -368,7 +369,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr packagePLCData(jo.getString("data"), mode); requireSucess = true; } else { - this.iserror = false; + this.iserror = true; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("申请捆扎失败,接口返回:" + response) 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 0b4fd52f2..518d6d51a 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 @@ -18,6 +18,7 @@ import org.nl.acs.device.service.impl.DeviceExtraServiceImpl; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.FeedLmsRealFailed; import org.nl.acs.device_driver.RouteableDeviceDriver; +import org.nl.acs.device_driver.conveyor.belt_conveyor.BeltConveyorDeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; import org.nl.acs.enums.StorageTypeEnum; @@ -325,6 +326,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements this.writing(list); message = null; vehicle_code = null; + inst_message = null; } @@ -418,9 +420,28 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements requireSucess = false; return true; } + //关联站点判断 + Device nextDevice = deviceAppService.findDeviceByCode(next_device_code); + BeltConveyorDeviceDriver beltConveyorDeviceDriver; + if (nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { + beltConveyorDeviceDriver = (BeltConveyorDeviceDriver) nextDevice.getDeviceDriver(); + //判断对接位和关联站点光电信号 + getDeviceCodeList = beltConveyorDeviceDriver.getExtraDeviceCodes("link_device_code"); + if (CollUtil.isNotEmpty(getDeviceCodeList)) { + String linkDeviceCode = getDeviceCodeList.get(0); + Device linkDevice = deviceAppService.findDeviceByCode(linkDeviceCode); + BeltConveyorDeviceDriver linkDeviceDriver; + if (linkDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { + linkDeviceDriver = (BeltConveyorDeviceDriver) linkDevice.getDeviceDriver(); + if ((beltConveyorDeviceDriver.getMode() == 0 || beltConveyorDeviceDriver.getMove() == 1) || (linkDeviceDriver.getMode() == 0 || linkDeviceDriver.getMove() == 1)) { + this.message = "DDJ对接位或关联输送线存在正在移动的货物或者未联机"; + requireSucess = false; + return true; + } + } - Device startdevice = deviceAppservice.findDeviceByCode(start_device_code); - Device nextdevice = deviceAppservice.findDeviceByCode(next_device_code); + } + } String next_point_code; if (StrUtil.equals(deviceAppservice.findDeviceTypeByCode(next_device_code), "storage")) { next_point_code = taskdto.getTo_x() + "-" + taskdto.getTo_y() + "-" + taskdto.getTo_z(); @@ -457,7 +478,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements taskdto.setTask_status(TaskStatusEnum.BUSY.getIndex()); taskserver.update(taskdto); requireSucess = true; - String next_addr = nextdevice.getExtraValue().get("address").toString(); + String next_addr = nextDevice.getExtraValue().get("address").toString(); List list = new ArrayList(); Map map = new HashMap(); @@ -610,7 +631,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements this.writing(list1); this.requireSucess = true; } else { - this.iserror = false; + this.iserror = true; message = "申请空托盘出入库报错,接口返回:" + jo; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) 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 4f1f3f080..41b3f3266 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 @@ -447,6 +447,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv this.writing(list2); requireSucess = true; } else { + this.iserror = true; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("申请高度等级,返回参数:" + response) @@ -508,6 +509,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv this.writing(list1); this.requireSucess = true; } else { + this.iserror = true; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("申请退货入库,返回参数:" + response) @@ -541,6 +543,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv message = null; vehicle_code = null; hand_barcode = null; + inst_message = null; } @@ -618,7 +621,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv this.writing(list1); this.requireSucess = true; } else { - this.iserror = false; + this.iserror = true; message = "申请空托盘出入库报错,返回参数:" + jo; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -683,7 +686,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv this.writing(list1); requireSucess = true; } else { - this.iserror = false; + this.iserror = true; LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("木箱、子卷入库申请入库任务,返回参数:" + response) @@ -856,6 +859,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv requireSucess = false; return true; } + //关联站点判断 Device nextDevice = deviceAppService.findDeviceByCode(next_device_code); BeltConveyorDeviceDriver beltConveyorDeviceDriver; if (nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java index e9bf657d8..2ad4ca2c3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java @@ -286,7 +286,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl }else { message = "木箱开盖报错,返回参数:" + jo; - this.iserror = false; + this.iserror = true; } 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 c608b2a05..eb2103f83 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 @@ -164,7 +164,6 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i @Override public void execute() { - String message = null; try { device_code = this.getDeviceCode(); mode = this.itemProtocol.getMode(); 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 15c67264a..b9ce39591 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 @@ -136,7 +136,6 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i @Override public void execute() { - String message = null; try { device_code = this.getDeviceCode(); mode = this.itemProtocol.getMode(); 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 2a4e902d2..34add76b5 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 @@ -152,7 +152,6 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i @Override public void execute() { - String message = null; try { device_code = this.getDeviceCode(); mode = this.itemProtocol.getMode(); 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 c43eb1975..932dfc816 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 @@ -147,7 +147,6 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice @Override public void execute() { - String message = null; try { device_code = this.getDeviceCode(); mode = this.itemProtocol.getMode(); 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 9af1e6ba3..533d86382 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 @@ -167,7 +167,6 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi @Override public void execute() { - String message = null; try { device_code = this.getDeviceCode(); mode = this.itemProtocol.getMode(); 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 05b13c410..9ee01a092 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 @@ -632,7 +632,8 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme instructionService.update(instruction0); return false; } - return true; + //异常后上个动作命令是取货完成也要下发信号 + return false; } @@ -875,7 +876,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme //放货完成 if (forkCargo == 0) { //取货中或者取货完成(分入库出库) - if ("1".equals(instructionErro.getExecute_code()) || "2".equals(instructionErro.getExecute_code())) { + if ("1".equals(instructionErro.getExecute_code()) ) { List list = new ArrayList(); String startDeviceCode = instructionErro.getStart_device_code(); Device startDeviceError = deviceAppService.findDeviceByCode(startDeviceCode); @@ -889,7 +890,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } } //放货中报警 - if ("3".equals(instructionErro.getExecute_code()) && forkCargo == 2) { + if (("3".equals(instructionErro.getExecute_code()) && forkCargo == 2) || "2".equals(instructionErro.getExecute_code())) { List list = new ArrayList(); if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.conveyor.name())) { pakagePLCData(list, instructionErro.getTo_x(), instructionErro.getTo_y(), instructionErro.getTo_z(), "2", instructionErro.getInstruction_code()); @@ -903,7 +904,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme //出库报警 if (startDevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) { //取货报警 - if ("1".equals(instructionErro.getExecute_code()) || "2".equals(instructionErro.getExecute_code())) { + if ("1".equals(instructionErro.getExecute_code()) ) { List list = new ArrayList(); if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.storage.name())) { pakagePLCData(list, instructionErro.getFrom_x(), instructionErro.getFrom_y(), instructionErro.getFrom_z(), "1", instructionErro.getInstruction_code()); @@ -914,7 +915,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme message = "one_message19"; } //放货中报警 - if ("3".equals(instructionErro.getExecute_code()) && forkCargo == 2) { + if (("3".equals(instructionErro.getExecute_code()) && forkCargo == 2) || "2".equals(instructionErro.getExecute_code())) { String next_device_code = instructionErro.getNext_device_code(); Device nextDevice = deviceAppService.findDeviceByCode(next_device_code); List list = new ArrayList(); 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 8ab17083a..0c8073ea3 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 @@ -421,8 +421,8 @@ public class InstructionServiceImpl extends CommonServiceImpl(HttpStatus.OK); } + @Log("取消任务和指令") + @PostMapping(value = "/cancelAndInst/{id}") + public ResponseEntity cancelAndInst(@RequestBody String id) throws Exception { + taskService.cancelAndInst(id); + return new ResponseEntity<>(HttpStatus.OK); + } + @Log("手动创建指令") @PostMapping(value = "/createInst/{id}") public ResponseEntity createInst(@RequestBody String id) throws Exception { 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 73a3e12ac..f14fe7d93 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 @@ -303,6 +303,16 @@ public interface TaskService extends CommonService { void cancel(String ids) throws Exception; + + /** + * 取消任务和指令 + * + * @param ids + * @throws Exception + */ + void cancelAndInst(String ids) throws Exception; + + /** * 手动创建指令 * 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 dce19578c..f9247b2f5 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 @@ -881,6 +881,38 @@ public class TaskServiceImpl extends CommonServiceImpl impleme } } + @Override + @Transactional(rollbackFor = Exception.class) + public void cancelAndInst(String id) throws Exception { + TaskDto entity = this.findById(id); + if (entity == null) { + throw new BadRequestException(LangProcess.msg("error_sysAuth")); + } + + InstructionDto instdto = instructionService.findByTaskid(id, "instruction_status <2 "); + if (instdto != null) { + instructionService.cancel(instdto.getInstruction_id()); + } + + String currentUsername = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + entity.setUpdate_time(now); + entity.setUpdate_by(currentUsername); + entity.setTask_status(TaskStatusEnum.CANCEL.getIndex()); + + Task task = ConvertUtil.convert(entity, Task.class); + taskMapper.updateById(task); + + //移除任务缓存信息 + this.removeByCodeFromCache(entity.getTask_code()); + //反馈上位系统任务状态 + this.feedWmsTaskStatus(entity); + //关闭仙工运单序列 + if(StrUtil.equals(task.getTask_type(),TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode())||StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) { + this.markComplete(entity); + } + } + @Override public Instruction createInst(String ids) throws Exception { diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml index 409f69f12..12387255e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml @@ -51,7 +51,7 @@ spring: monitorInterval: 8 tomcatTp: # tomcat webserver 线程池配置 threadPoolAliasName: tomcat 线程池 # 线程池别名,可选 - corePoolSize: 10 + corePoolSize: 30 maximumPoolSize: 50 keepAliveTime: 60 runTimeout: 10000 @@ -60,8 +60,8 @@ spring: - threadPoolName: dtpExecutor1 # 线程池名称,必填 threadPoolAliasName: core_thread # 线程池别名,可选 executorType: common # 线程池类型 common、eager、ordered、scheduled、priority,默认 common - corePoolSize: 10 # 核心线程数,默认1 - maximumPoolSize: 30 # 最大线程数,默认cpu核数 + corePoolSize: 30 # 核心线程数,默认1 + maximumPoolSize: 50 # 最大线程数,默认cpu核数 queueCapacity: 1024 # 队列容量,默认1024 queueType: VariableLinkedBlockingQueue # 任务队列,查看源码QueueTypeEnum枚举类,默认VariableLinkedBlockingQueue rejectedHandlerType: CallerRunsPolicy # 拒绝策略,查看RejectedTypeEnum枚举类,默认AbortPolicy diff --git a/acs2/nladmin-ui/src/api/acs/task/task.js b/acs2/nladmin-ui/src/api/acs/task/task.js index 4238a9a4d..f118e1124 100644 --- a/acs2/nladmin-ui/src/api/acs/task/task.js +++ b/acs2/nladmin-ui/src/api/acs/task/task.js @@ -40,6 +40,14 @@ export function cancel(task_id) { }) } +export function cancelAndInst(task_id) { + return request({ + url: 'api/task/cancelAndInst/' + task_id, + method: 'post', + data: task_id + }) +} + export function createInst(task_id) { return request({ url: 'api/task/createInst/' + task_id, @@ -95,5 +103,5 @@ export function reload() { }) } -export default { add, edit, del, finish, cancel, createTaskByClick, deviceAskTask, ordinaryTaskCreate, specialTaskCreate, createInst, reload } +export default { add, edit, del, finish, cancel, createTaskByClick, deviceAskTask, ordinaryTaskCreate, specialTaskCreate, createInst, reload ,cancelAndInst} diff --git a/acs2/nladmin-ui/src/i18n/langs/task/en.js b/acs2/nladmin-ui/src/i18n/langs/task/en.js index 12a4304b9..2a76c045f 100644 --- a/acs2/nladmin-ui/src/i18n/langs/task/en.js +++ b/acs2/nladmin-ui/src/i18n/langs/task/en.js @@ -44,6 +44,7 @@ export default { 'In_progress': 'In Progress', 'Completed': 'Completed', 'Forced_Completed': 'Forced Completed', + 'Cancel_Tasks_And_Commands': 'Cancel tasks and commands', 'Pickup_point': 'Pickup Point', 'Delivery_point': 'Delivery Point', 'Remark': 'Remark', diff --git a/acs2/nladmin-ui/src/i18n/langs/task/in.js b/acs2/nladmin-ui/src/i18n/langs/task/in.js index 3563c5868..006a4862c 100644 --- a/acs2/nladmin-ui/src/i18n/langs/task/in.js +++ b/acs2/nladmin-ui/src/i18n/langs/task/in.js @@ -44,6 +44,7 @@ export default { 'In_progress': 'Sedang Berlangsung', 'Completed': 'Selesai', 'Forced_Completed': 'Penyelesaian wajib', + 'Cancel_Tasks_And_Commands': 'Batalkan misi dan perintah', 'Pickup_point': 'Titik Pengambilan', 'Delivery_point': 'Titik Pengiriman', 'Remark': 'Catatan', diff --git a/acs2/nladmin-ui/src/i18n/langs/task/zh.js b/acs2/nladmin-ui/src/i18n/langs/task/zh.js index 6c734df0a..2c537da26 100644 --- a/acs2/nladmin-ui/src/i18n/langs/task/zh.js +++ b/acs2/nladmin-ui/src/i18n/langs/task/zh.js @@ -44,6 +44,7 @@ export default { 'In_progress': '执行中', 'Completed': '完成', 'Forced_Completed': '强制完成', + 'Cancel_Tasks_And_Commands': '取消任务和指令', 'Pickup_point': '取货点', 'Delivery_point': '放货点', 'Remark': '备注', diff --git a/acs2/nladmin-ui/src/views/acs/task/index.vue b/acs2/nladmin-ui/src/views/acs/task/index.vue index d164db0ea..1edfda0de 100644 --- a/acs2/nladmin-ui/src/views/acs/task/index.vue +++ b/acs2/nladmin-ui/src/views/acs/task/index.vue @@ -21,7 +21,7 @@ style="width: 200px" @change="crud.toQuery" > - + @@ -57,7 +57,7 @@ style="width: 200px" @change="crud.toQuery" > - + @@ -71,7 +71,7 @@ style="width: 200px" @change="crud.toQuery" > - + - + @@ -118,9 +118,9 @@ -
+
- + - + -
+
- + - + - + @@ -475,7 +477,7 @@ stripe border > - +