diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java index cdfa915c4..6097bc1bf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java @@ -16,6 +16,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.domain.query.PageQuery; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.TaskUtils; @@ -113,7 +114,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); - lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName); + lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")); return pdmBiSlittingproductionplanMapper.selectOne(lam); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml index 1b25e5058..39447a4ca 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml @@ -84,6 +84,7 @@ WHERE b.point_status = '3' AND b.ivt_status = '3' AND a.sale_order_name = #{sale_order_name} + AND c.is_delete = '0' ORDER BY box_group 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 431d935a7..bc0fbe26b 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 @@ -755,10 +755,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl subList = this.list(new LambdaQueryWrapper().eq(PdmBiSubpackagerelation::getContainer_name, jo.getString("container_name"))); if (CollectionUtils.isEmpty(subList)) { - PdmBiSlittingproductionplan plan = iPdmBiSlittingproductionplanService.getOne(new LambdaQueryWrapper().eq(PdmBiSlittingproductionplan::getContainer_name, containerName)); - if (ObjectUtil.isEmpty(plan)) { + List planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); + if (CollectionUtils.isEmpty(planList)) { throw new BadRequestException("未查询到可用的分切计划!"); } + PdmBiSlittingproductionplan plan = planList.get(0); PdmBiSubpackagerelation sub = new PdmBiSubpackagerelation(); sub.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + ""); sub.setContainer_name(plan.getContainer_name()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java index 17a5f3197..0bd34718d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendZxToDjw.java @@ -128,7 +128,7 @@ public class AutoSendZxToDjw { List zxqPoint = zxqPackageinfoivtList.stream().filter(r -> r.getContainer_name().equals(containerName)).collect(Collectors.toList()); //装箱区点位上有与该木箱号匹配的子卷 if (CollectionUtils.isNotEmpty(zxqPoint)) { - List productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper().eq(PdmBiSlittingproductionplan::getContainer_name, containerName)); + List productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))); if (productionPlanList.isEmpty()) { log.info("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!"); throw new BadRequestException("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InVehicleManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InVehicleManageServiceImpl.java index d0ab9cbe5..96320428c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InVehicleManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InVehicleManageServiceImpl.java @@ -60,8 +60,8 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 判断起点点位是否存在 JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" + - IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" + - IOSEnum.IS_NOTANDYES.code("是") + "'") + IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" + + IOSEnum.IS_NOTANDYES.code("是") + "'") .uniqueResult(0); if (ObjectUtil.isEmpty(jsonPoint)) { @@ -150,11 +150,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { /** * 找一个空仓位(空托盘区) + * * @param jsonParam { - * stor_id: 仓库标识 - * sect_id: 库区标识 - * vehicle_type: 载具类型 - * } + * stor_id: 仓库标识 + * sect_id: 库区标识 + * vehicle_type: 载具类型 + * } * @return JSONObject : 仓位对象 */ private JSONObject getStruct(JSONObject jsonParam) { @@ -167,10 +168,10 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { */ JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + - "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonParam.getString("stor_id")+"' " + - "AND storagevehicle_type = '" +jsonParam.getString("vehicle_type")+"'"+ + "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " + + "AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" + "AND height = '2'" + - "AND sect_id = '"+jsonParam.getString("sect_id")+"'").getResultJSONArray(0); + "AND sect_id = '" + jsonParam.getString("sect_id") + "'").getResultJSONArray(0); if (ObjectUtil.isEmpty(structArray)) { notInRowList.clear(); @@ -182,11 +183,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { String block_num = getMinBlock(jsonParam); // 确定排:查看每排的载具数量,找到数量最小的那排 - jsonParam.put("block_num",block_num); + jsonParam.put("block_num", block_num); String row_num = getMinRow(jsonParam); // 确定仓位: 找到相同托盘类型的伸位 - jsonParam.put("row_num",row_num); + jsonParam.put("row_num", row_num); JSONObject jsonAttr = queryStruct(jsonParam); // 为空则新找巷道 @@ -209,7 +210,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { json.put("vehicle_type", jsonParam.getString("vehicle_type")); String row_num_2 = getMinRow(json); - json.put("row_num",row_num_2); + json.put("row_num", row_num_2); JSONObject jsonAttr_2 = queryStruct(json); if (ObjectUtil.isNotEmpty(jsonAttr_2)) { @@ -225,10 +226,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { /** * 确定巷道 + * * @param jsonParam { - * stor_id: 仓库标识 - * sect_id: 库区标识 - * } + * stor_id: 仓库标识 + * sect_id: 库区标识 + * } * @return String 巷道 */ private String getMinBlock(JSONObject jsonParam) { @@ -247,7 +249,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { .collect(Collectors.joining("','")); jsonParam.put("flag", "2"); - jsonParam.put("block_in", "('"+block_in+"')"); + jsonParam.put("block_in", "('" + block_in + "')"); List boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) .process().getResultJSONArray(0).toJavaList(JSONObject.class); @@ -282,11 +284,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { /** * 获取最小排 + * * @param jsonParam { - * stor_id: 仓库标识 - * sect_id: 库区标识 - * block_num: 巷道 - * } + * stor_id: 仓库标识 + * sect_id: 库区标识 + * block_num: 巷道 + * } * @return String: 排 */ private String getMinRow(JSONObject jsonParam) { @@ -305,7 +308,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { .collect(Collectors.joining("','")); jsonParam.put("flag", "2"); - jsonParam.put("row_in", "('"+row_in+"')"); + jsonParam.put("row_in", "('" + row_in + "')"); List boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) .process().getResultJSONArray(0).toJavaList(JSONObject.class); @@ -346,12 +349,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { /** * 确定仓位 + * * @param jsonParam { - * stor_id: 仓库标识 - * sect_id: 库区标识 - * block_num: 巷道 - * row_num: 排 - * } + * stor_id: 仓库标识 + * sect_id: 库区标识 + * block_num: 巷道 + * row_num: 排 + * } * @return JSONObject: 仓位 */ private JSONObject queryStruct(JSONObject jsonParam) { @@ -371,7 +375,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 新的一排 String row_num_new = this.getMinRow(jsonParam); - jsonParam.put("row_num",row_num_new); + jsonParam.put("row_num", row_num_new); jsonAttr = this.getStructOne(jsonParam); } @@ -380,12 +384,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { /** * 获取一个货位公共方法 + * * @param jsonParam { - * sect_id:库区 - * stor_id:仓库 - * block_num: 巷道 - * row_num :排 - * } + * sect_id:库区 + * stor_id:仓库 + * block_num: 巷道 + * row_num :排 + * } * @return JSONObject : 仓位 */ private JSONObject getStructOne(JSONObject jsonParam) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index e57f11198..9eaa9a593 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1921,7 +1921,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 创建前先判断是否有已创建相同任务 List taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"))); List existTaskList1 = taskService.getExistTasks(taskTypes); - existTaskList1 = existTaskList1.stream().filter(r->StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList()); + existTaskList1 = existTaskList1.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList()); if (CollectionUtils.isEmpty(existTaskList1)) { jo.put("point_code3", pointCode3); //终点为输送线点位 @@ -2360,7 +2360,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String material_barcode = param.getString("material_barcode"); String vehicle_code = param.getString("vehicle_code"); //干燥剂模板 - String desiccantTemplate = "4"; + String desiccantTemplate = "6"; //是否开盖 String isUncap = "1"; JSONObject vehicle_info = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + material_barcode + "'").uniqueResult(0); @@ -2373,6 +2373,18 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, material_barcode) ); + + //获取包装关系 + JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + material_barcode + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(sub_jo)) { + String material_type = sub_jo.getString("material_type"); + if (material_type.equals("FG1")) { + desiccantTemplate = "6"; + } + if (material_type.equals("FG2")) { + desiccantTemplate = "4"; + } + } //根据木箱高度,判断入库仓位的高度 String height = ""; String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();