diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index 63faccb82..91568a89d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -262,6 +262,16 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl containerNameList = packagerelationList.stream() .map(PdmBiSubpackagerelation::getContainer_name) .collect(Collectors.toSet()); + + List ivtList = packageinfoivtService + .list(new QueryWrapper() + .in("container_name", containerNameList)); + + for (BstIvtPackageinfoivt ivtPackageinfoivt : ivtList) { + if (!ivtPackageinfoivt.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))){ + throw new BadRequestException("当前子卷未质检"+ivtPackageinfoivt.getContainer_name()); + } + } List planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper() .in(PdmBiSlittingproductionplan::getContainer_name, containerNameList) .eq(PdmBiSlittingproductionplan::getIs_delete,IOSEnum.IS_NOTANDYES.code("否")) @@ -710,14 +720,17 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl djqPoints = djqPointList.stream() .filter(r -> containerNameList.contains(r.getContainer_name())) .collect(Collectors.toList()); - + if (CollectionUtils.isEmpty(djqPoints) || djqPoints.size()!=containerNameList.size()){ + throw new BadRequestException(containerNameList+"该子卷未设置成合格品"); + } //任务组id String groupId = deviceCode.substring(deviceCode.indexOf("_") + 1, deviceCode.indexOf("_", deviceCode.indexOf("_") + 1)); String now = DateUtil.now(); for (int i1 = 0; i1 < djqPoints.size(); i1++) { BstIvtPackageinfoivt item = djqPoints.get(i1); //校验重复任务 - List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getVehicle_code, item.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")) + List taskList = taskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getVehicle_code, item.getContainer_name()).eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")) .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")).lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())); if (CollectionUtils.isEmpty(taskList)){ JSONObject jo = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 0eb36c86a..411ef4407 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -889,22 +889,19 @@ public class SlitterServiceImpl implements SlitterService { log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num") + "行没数据!"); return res; } - int qty = mdPbPapervehicle.getQty().intValue(); - if (qty <= 0) { - throw new BadRequestException("当前物料数量为0!"); + if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("vehicle_code", vehicleCode) + .eq("row_num", param.getString("row_num")) + .setSql("qty=qty-1"); + papervehicleService.update(updateWrapper); + // 检查更新后的 qty 是否为 0,然后删除相应的记录 + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.eq("vehicle_code", vehicleCode) + .eq("row_num", param.getString("row_num")) + .eq("qty", "0"); + boolean remove = papervehicleService.remove(deleteWrapper); } - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("vehicle_code", vehicleCode) - .eq("row_num", param.getString("row_num")) - .setSql("qty=qty-1"); - papervehicleService.update(updateWrapper); - // 检查更新后的 qty 是否为 0,然后删除相应的记录 - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.eq("vehicle_code", vehicleCode) - .eq("row_num", param.getString("row_num")) - .eq("qty", "0"); - boolean remove = papervehicleService.remove(deleteWrapper); - // todo: 如果等于0,则创建AGV任务,将托盘拉回去 return res; } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index 27fdbc96e..34dad32e5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -162,9 +162,10 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { } JSONObject jsonBox; - if (structArray.size() == 1){ + if (structArray.size() < 4){ jsonBox = structArray.getJSONObject(0); - }else { + }else + { //大于一个的话则走查找逻辑 // 确定巷道:找相同规格木箱的最多的巷道 if (ObjectUtil.isEmpty(block_num)) {