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 b63247420..0956b2687 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 @@ -266,7 +266,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl p != null && !p.trim().isEmpty()) .filter(r -> !r.isEmpty()) .map(BigDecimal::new) .reduce(BigDecimal.ZERO, BigDecimal::add); @@ -278,7 +278,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl().eq(PdmBiSubpackagerelation::getSale_order_name, packagerelationList.get(0).getSale_order_name())); Integer maxBoxGroup = pdmBiSubpackagerelationList.stream() .map(PdmBiSubpackagerelation::getBox_group) - .filter(Objects::nonNull) + .filter(r -> r != null && !r.trim().isEmpty()) .map(Integer::parseInt) .max(Integer::compareTo) .orElse(0) + 1; @@ -343,7 +343,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl { try { - updateBoxGroup(maxBoxGroup, workIdList, boxSn, whereJson.getString("checked"), weightTotal); + updateBoxGroup(maxBoxGroup, workIdList, boxDao, weightTotal); } catch (Exception e) { log.error("子卷装箱异常,updateBoxGroup更新子卷包装关系异常,木箱号为:" + boxSn + ",异常信息:" + e); } @@ -367,14 +367,16 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl entityList, String boxSn, String boxType, String totalWeight) { + private void updateBoxGroup(Integer maxBoxGroup, List entityList, BstIvtBoxinfo boxDao, String totalWeight) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); //理论毛重 updateWrapper.set("box_weight", totalWeight); - updateWrapper.set("package_box_sn", boxSn); + updateWrapper.set("package_box_sn", boxDao.getBox_no()); updateWrapper.set("quanlity_in_box", entityList.size()); - updateWrapper.set("box_type", boxType); + updateWrapper.set("box_type", boxDao.getMaterial_code()); + updateWrapper.set("box_length", boxDao.getBox_length()); + updateWrapper.set("box_width", boxDao.getBox_width()); + updateWrapper.set("box_high", boxDao.getBox_high()); updateWrapper.set("box_group", maxBoxGroup); updateWrapper.set("status", "0"); updateWrapper.in("workorder_id", entityList); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index b32380611..94eb71d7c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -288,14 +288,14 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl point != null && !point.trim().isEmpty() ) .collect(Collectors.toSet()); } else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务分配"))) { pointSets = taskList.stream() .flatMap(task -> Stream.of( task.getPoint_code1() )) - .filter(Objects::nonNull) + .filter(point -> point != null && !point.trim().isEmpty()) .collect(Collectors.toSet()); } else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("空载具放货"))) { pointSets = taskList.stream() @@ -303,13 +303,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl point != null && !point.trim().isEmpty() && !point.equals("ZXQ_01_1") && !point.equals("ZXQ_01_2")) .collect(Collectors.toSet()); List ivtList = packageinfoivtList.stream().filter(r -> r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))).collect(Collectors.toList()); Set ivtpointSets = ivtList.stream().map(BstIvtPackageinfoivt::getPoint_code).collect(Collectors.toSet()); if (CollectionUtils.isNotEmpty(ivtpointSets)) { //存在任务数量+已有库存数量大于3,不创建任务 - if (pointSets.size() + ivtpointSets.size() > 3) { + if (pointSets.size() + ivtpointSets.size() >= 3) { return returList; } } @@ -319,7 +319,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl point != null && !point.trim().isEmpty() ) .collect(Collectors.toSet()); } else { pointSets = taskList.stream() @@ -329,7 +329,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl point != null && !point.trim().isEmpty() ) .collect(Collectors.toSet()); } //符合条件的库存点位过滤掉已存在任务的点位 @@ -346,11 +346,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl getNoBlockIvt(String pointCode, List taskList, List ivtList) { Set taskPointSet = null; - if (CollectionUtils.isEmpty(taskList)) { - taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).filter(pointCode2 -> !pointCode2.equals("ZXQ_01_1")).collect(Collectors.toSet()); + if (CollectionUtils.isNotEmpty(taskList)) { + taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).filter(pointCode2 -> !pointCode2.equals("ZXQ_01_1") && !pointCode2.equals("ZXQ_01_2")).collect(Collectors.toSet()); } List pointList = new ArrayList<>(); //存在补空载具任务已分配却未完成的任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index 84f5d4609..5776a6e7c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -20,20 +20,22 @@ public enum PackageInfoIvtEnum { //点位类型 POINT_STATUS(MapOf.of("满轴缓存位", "1", "空载具缓存位", "2", "待检区", "3", "管制区", "4", "装箱位", "5", "装箱区", "6","等待点", "7")), + //深浅位类型 + DEPTH_TYPE(MapOf.of("浅货位", "0", "深货位", "1")), //任务类型 TASK_TYPE(MapOf.of("输送线->满轴缓存位", "010901", "满轴缓存位->待检区", "010902", "满轴缓存位->管制区", "010903", "放空(空载具缓存位->输送线)", "010904", "补空(待检区->空载具缓存位)", "010905", "待检区->管制区", "010906", "管制区->待检区", "010907", "待检区->装箱区", "010908", "装箱区->装箱对接位", "010909", "补空(装箱区->待检区)", "010910", "输送线四个点任务", "010911", "补空(装箱区->管制区)", "010912", - "补空(管制区->空载具缓存位)","010913")), + "补空(管制区->空载具缓存位)","010913","待检区移库任务","010914","管制区移库任务","010915")), //ACS任务类型 ACS_TASK_TYPE(MapOf.of("agv任务", "1", "桁架任务", "6")), //agv二次分配类型 - AGV_ACTION_TYPE(MapOf.of("普通任务", "1", "取货二次分配", "2", "放货二次分配", "3", "取放货二次分配", "4")), + AGV_ACTION_TYPE(MapOf.of("普通任务", "1", "取货二次分配", "2", "放货二次分配", "3", "取放货二次分配", "4", "移库任务", "5")), //二次分配请求类型