diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/conveyor/appearance_inspection_scannner_conveyor/AppearanceInspectionScannerConveyorDeviceDriver.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/conveyor/appearance_inspection_scannner_conveyor/AppearanceInspectionScannerConveyorDeviceDriver.java index 35d12cc..c762182 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/conveyor/appearance_inspection_scannner_conveyor/AppearanceInspectionScannerConveyorDeviceDriver.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/conveyor/appearance_inspection_scannner_conveyor/AppearanceInspectionScannerConveyorDeviceDriver.java @@ -696,7 +696,13 @@ public class AppearanceInspectionScannerConveyorDeviceDriver extends AbstractOpc this.requireTime = currentTimeMillis; LOCK.lock(); try { + List taskDtoBusys = taskService.findInstsByNextDeviceCode(deviceCode); Device cacheDevice = deviceAppService.findDeviceByCode(deviceCode); + Integer maxInstNum = Optional.ofNullable(cacheDevice.getExtraValue().get("maxInstNum")).map(Object::toString).map(Integer::parseInt).orElse(2); + if (taskDtoBusys.size() >= maxInstNum) { + this.unExecutedMessage = "查询出库任务,当前终点: " + deviceCode + ", 指令数量大于设定最大值: " + maxInstNum; + return; + } List checkoutStartDeviceCode = new ArrayList<>(); if (cacheDevice.getDeviceDriver() instanceof AppearanceInspectionScannerConveyorDeviceDriver) { AppearanceInspectionScannerConveyorDeviceDriver appearanceInspectionScannerConveyorDeviceDriver = (AppearanceInspectionScannerConveyorDeviceDriver) cacheDevice.getDeviceDriver(); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/stacker/double_stacker/enums/ErrorEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/stacker/double_stacker/enums/ErrorEnum.java index 565c2fc..5306381 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/stacker/double_stacker/enums/ErrorEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/driver/stacker/double_stacker/enums/ErrorEnum.java @@ -49,7 +49,9 @@ public enum ErrorEnum { ERROR_35(35, "减速开关信号异常"), ERROR_36(36, "防撞开关被触碰"), ERROR_37(37, "防撞激光被遮挡"), - ERROR_38(38, "高货物禁止放入矮库位"); + ERROR_38(38, "高货物禁止放入矮库位"), + ERROR_40(40, "水平定位曲线故障"), + ERROR_41(41, "起升定位曲线故障"); private int code; private String desc; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java index 353fcc7..faf1c5e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -589,4 +589,6 @@ public interface InstructionService extends CommonService { List findReadyInstByXDeviceCode(List xDeviceCodeList, String noY); Instruction findByNextPointCode(String nextPointCode); + + List findInstsByNextDeviceCode(String deviceCode); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index dbe100e..54f8c93 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -1031,7 +1031,7 @@ public class InstructionServiceImpl extends CommonServiceImpl resp = xiangGongAgvService.sendOrderSequencesToXZ(inst); if (!resp.isSuccess()) { inst.setRemark(resp.getMessage()); @@ -1610,7 +1610,7 @@ public class InstructionServiceImpl extends CommonServiceImpl> positionCodePath = new ArrayList<>(); if (StrUtil.equals(InstTypeEnum.CTU_IN_TASK.getCode(), inst.getInstruction_type())) { StorageCell storageCell = storageCellService.getOne(new LambdaQueryWrapper().eq(StorageCell::getStorage_code, inst.getNext_point_code())); @@ -2406,4 +2406,13 @@ public class InstructionServiceImpl extends CommonServiceImpl findInstsByNextDeviceCode(String deviceCode) { + return Optional.ofNullable(this.instructions) + .orElse(new CopyOnWriteArrayList<>()) + .stream() + .filter(inst -> inst.getNext_device_code().equals(deviceCode)) + .collect(Collectors.toList()); + } + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java index e8211c4..ce41477 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java @@ -408,4 +408,7 @@ public interface TaskService extends CommonService { TaskDto findFrontBindTask(TaskDto frontTask, String backNoY); void cancelNoSendWms(String task_id); + + + List findInstsByNextDeviceCode(String deviceCode); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 09be9ae..e16bfaa 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -1535,4 +1535,14 @@ public class TaskServiceImpl extends CommonServiceImpl impleme //移除任务缓存信息 this.removeByCodeFromCache(entity.getTask_code()); } + + @Override + public List findInstsByNextDeviceCode(String deviceCode) { + return Optional.ofNullable(this.tasks) + .orElse(new CopyOnWriteArrayList<>()) + .stream() + .filter(taskDto -> taskDto.getNext_device_code().equals(deviceCode)) + .filter(taskDto -> taskDto.getTask_status().equals(TaskStatusEnum.BUSY.getIndex())) + .collect(Collectors.toList()); + } } diff --git a/nladmin-ui/src/views/acs/device/driver/appearance_inspection_scanner_conveyor_device.vue b/nladmin-ui/src/views/acs/device/driver/appearance_inspection_scanner_conveyor_device.vue index 15f86f9..c2f0191 100644 --- a/nladmin-ui/src/views/acs/device/driver/appearance_inspection_scanner_conveyor_device.vue +++ b/nladmin-ui/src/views/acs/device/driver/appearance_inspection_scanner_conveyor_device.vue @@ -204,8 +204,14 @@ - - + + + @@ -512,7 +518,8 @@ export default { samePoint: false, scanApplyTask: false, applyTask: false, - isFront: false + isFront: false, + maxInstNum: 1 }, rules: {} }