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 a20733e35..d010a4c39 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 @@ -199,29 +199,35 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl 待检区,木箱码不能为空!"); - } - //更新子卷包装关系更新木箱号 - UpdateWrapper updateWrapper1 = new UpdateWrapper<>(); - updateWrapper1.set("package_box_sn", boxSn); - updateWrapper1.in("workorder_id", entityList); - pdmBiSubpackagerelationMapper.update(null, updateWrapper1); + //下发空木箱出库任务 + //outBox(entityList, boxType); + //下发装箱区桁架任务 transferToPacking(packagerelationList); } catch (Exception e) { throw new BadRequestException(e.getMessage()); } } + private void outBox(List entityList, String boxType) { + JSONObject boxInfo = new JSONObject(); + //todo 测试,暂时默认ZXQ_1_1 + boxInfo.put("device_code", "ZXQ_1_1"); + boxInfo.put("material_code", boxType); + boxInfo.put("num", entityList.size()); + String boxSn = outBoxManageService.outBox(boxInfo); + if (StringUtils.isBlank(boxSn)) { + throw new BadRequestException("满轴缓存位 -> 待检区,木箱码不能为空!"); + } + //更新子卷包装关系更新木箱号 + UpdateWrapper updateWrapper1 = new UpdateWrapper<>(); + updateWrapper1.set("package_box_sn", boxSn); + updateWrapper1.in("workorder_id", entityList); + pdmBiSubpackagerelationMapper.update(null, updateWrapper1); + } + private void transferToPacking(List packagerelationList) { //创建子卷搬运到装箱区任务 // List zxqPointList = packageinfoivtService diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java index a6c69d6b9..3e2cf25ea 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInEmpTask.java @@ -93,6 +93,8 @@ public class TwoInEmpTask extends AbstractAcsTask { jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定")); jsonAttr.put("storagevehicle_code",jsonTask.getString("vehicle_code")); jsonAttr.put("storagevehicle_type",jsonTask.getString("vehicle_type")); + jsonAttr.put("is_emptyvehicle",IOSEnum.IS_NOTANDYES.code("是")); + attrTab.update(jsonAttr); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutEmpTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutEmpTask.java index d0a034288..05197bbc2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutEmpTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutEmpTask.java @@ -90,6 +90,7 @@ public class TwoOutEmpTask extends AbstractAcsTask { JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定")); jsonAttr.put("storagevehicle_code",""); + jsonAttr.put("is_emptyvehicle",IOSEnum.IS_NOTANDYES.code("否")); attrTab.update(jsonAttr); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java index 2b59ae5c2..9747a45ce 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java @@ -145,7 +145,7 @@ public class SlitterTaskUtil { param.put("currentRight", plan.getFRP_material()); param.put("currentRightSize", plan.getFRP_model().split("\\|")[2].charAt(0)); } - param.put("currentLeftSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); + param.put("currentRightSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java index 967ee0fb5..4bd35507a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java @@ -72,6 +72,11 @@ public class BstIvtBoxinfo implements Serializable { */ private String vehicle_type; + /* + * 是否装箱 + */ + private String is_packing; + /* * 捆绑数量 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index a89d5c58a..1c0957f2b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -1106,7 +1106,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl JSONObject JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(whereJson)); - // 分配明细集合 ArrayList list = (ArrayList) whereJson.get("tableMater"); - // 类型转换:linkenHashMap -> JSONObject JSONObject jsonDis = list.stream() .map(row -> JSONObject.parseObject(JSON.toJSONString(row))) .collect(Collectors.toList()).get(0); - // 判断当前木箱是否已经分配过货位 StIvtIostorinvdis disDao = iStIvtIostorinvdisService.getById(jsonDis.getString("iostorinvdis_id")); - if (ObjectUtil.isNotEmpty(disDao.getStruct_id())) { throw new BadRequestException("该木箱已经分配过货位,无法继续分配!"); } - // 主表实体类 StIvtIostorinv mstDao = this.getById(disDao.getIostorinv_id()); - // 用于锁定货位 JSONObject jsonLock = new JSONObject(); ArrayList paramLockList = new ArrayList<>(); - // 仓位对象 JSONObject jsonAttr; - // 是否自动分配货位 Boolean checked = jsonObject.getBoolean("checked"); if (ObjectUtil.isNotEmpty(checked) && checked) { @@ -301,11 +292,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() - .eq(BstIvtBoxinfo::getBox_no, disDao.getBox_no()) - ); + BstIvtBoxinfo boxDao = getBstIvtBoxinfo(whereJson); + if (boxDao == null) { + throw new BadRequestException("未找到该木箱信息!"); + } + jsonObject.put("box_no",boxDao.getBox_no()); + jsonObject.put("vehicle_type",boxDao.getVehicle_type()); attrParam.put("vehicle_type", boxDao.getVehicle_type()); //根据木箱高度,判断入库仓位的高度 String height = ""; @@ -320,9 +312,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() @@ -375,7 +359,6 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl disDaoList = iStIvtIostorinvdisService.list( new QueryWrapper().lambda() @@ -383,52 +366,35 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() .eq(StIvtIostorinvdtl::getIostorinv_id, mst.getIostorinv_id()) ).get(0); - List disList = iStIvtIostorinvdisService.list( new QueryWrapper().lambda() .eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id()) ).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class)) .collect(Collectors.toList()); - //查询木箱码 - PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper() - .eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode"))); - // 查询木箱信息 - BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( - new QueryWrapper().lambda() - .eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn()) - ); - if (boxDao == null) { - throw new BadRequestException("未找到该木箱信息!"); - } - jsonSend.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao))); jsonSend.put("tableMater", disList); jsonSend.put("point_code", jsonObject.getString("point_code")); jsonSend.put("stor_id", mst.getStor_id()); //成品入库托盘类型 - jsonSend.put("vehicle_code", boxDao.getBox_no()); + jsonSend.put("vehicle_code", jsonObject.getString("box_no")); jsonSend.put("vehicle_code2", jsonObject.getString("vehicle_code")); JSONObject param = new JSONObject(); - param.put("containerType", boxDao.getVehicle_type()); + param.put("containerType", jsonObject.getString("vehicle_type")); jsonSend.put("request_param", param.toString()); String task_id1 = this.setPoint(jsonSend); // 下发任务 @@ -438,6 +404,18 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl() + .eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode"))); + // 查询木箱信息 + BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn()) + ); + return boxDao; + } + @Override @Transactional public void unDivStruct(Map whereJson) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java index 9be35aea6..4f8f7c7d9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java @@ -85,14 +85,18 @@ public class InBoxManageServiceImpl implements InBoxManageService { WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); // 仓位表 WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); - String box_arr = whereJson.getString("box_no"); + + // 查询木箱信息 BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no")) ); + + + /* * 找一个木箱区的一个仓位,生成任务并下发 */ @@ -101,13 +105,10 @@ public class InBoxManageServiceImpl implements InBoxManageService { IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "'") .uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPoint)) { throw new BadRequestException("起始点位不存在或未启用!"); }*/ - // 找一个木箱区空位 - //根据木箱高度,判断入库仓位的高度 String height = ""; String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); @@ -120,26 +121,20 @@ public class InBoxManageServiceImpl implements InBoxManageService { } else { height = "3"; } - JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("box_length", boxDao.getBox_length()); jsonParam.put("box_width", boxDao.getBox_width()); jsonParam.put("box_high", boxDao.getBox_high()); jsonParam.put("vehicle_type", boxDao.getVehicle_type()); jsonParam.put("height", height); - - - JSONObject jsonAttr = getStruct(jsonParam); - if (ObjectUtil.isEmpty(jsonAttr)) { notInRowList.clear(); notInBlockList.clear(); throw new BadRequestException("仓位不足!"); } - // 生成任务 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010702"); @@ -150,16 +145,12 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject param = new JSONObject(); param.put("containerType", boxDao.getVehicle_type()); jsonTaskParam.put("request_param", param.toString()); - TwoInBoxTask taskBean = new TwoInBoxTask(); taskBean.createTask(jsonTaskParam); - taskBean.immediateNotifyAcs(null); - // 锁定终点 jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("木箱入库锁")); attrTab.update(jsonAttr); - // 清空缓存 notInRowList.clear(); notInBlockList.clear(); @@ -355,7 +346,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("box_length", boxDao.getBox_length()); jsonParam.put("box_width", boxDao.getBox_width()); jsonParam.put("box_high", boxDao.getBox_high()); @@ -712,6 +703,13 @@ public class InBoxManageServiceImpl implements InBoxManageService { if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) { + // 判断深货位是否是空木箱,判断内容:是否空载具,是否成品箱 + if (jsonAttrDark.getString("is_packing").equals(IOSEnum.IS_NOTANDYES.code("是")) || + jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code("是")) + ) { + continue; + } + if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { jsonAttr = json; break; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java index 38c7f82af..7646ddf70 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java @@ -672,6 +672,13 @@ public class InBussManageServiceImpl implements InBussManageService { if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) { + // 判断是否是成品箱,判断内容:是否空托盘、是否空木箱 + if (jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code("是")) || + jsonAttrDark.getString("is_packing").equals(IOSEnum.IS_NOTANDYES.code("否")) + ) { + continue; + } + if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { jsonAttr = json; break; 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 817042929..6d894c6f5 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 @@ -71,7 +71,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 找一个托盘区的空仓位 JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("vehicle_type", whereJson.getString("vehicle_type")); JSONObject jsonAttr = getStruct(jsonParam); @@ -124,7 +124,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 重新分配货位 JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("vehicle_type", taskDao.getVehicle_type()); // 调用找货位方法 @@ -460,6 +460,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) { + // 判断是否是空托盘 + if (jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code("否")) + ) { + continue; + } + if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { if (jsonAttrDark.getString("storagevehicle_type").equals(jsonParam.getString("vehicle_type"))) { 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 f3389bb2e..a412a10ec 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 @@ -71,9 +71,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); // 仓位表 WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); - whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期")); - whereJson.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); + whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); /* // 判断起点点位是否存在 JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" + @@ -103,19 +102,15 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { JSONObject request_param = new JSONObject(); request_param.put("containerType", jsonAttr.getString("storagevehicle_type")); jsonTaskParam.put("request_param", request_param.toString()); - TwoOutBoxTask taskBean = new TwoOutBoxTask(); taskBean.createTask(jsonTaskParam); taskBean.immediateNotifyAcs(null); - // 锁定起点 jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("木箱出库锁")); attrTab.update(jsonAttr); - // 清空缓存 notOutRowList.clear(); notOutBlockList.clear(); - return jsonAttr.getString("storagevehicle_code"); } @@ -144,7 +139,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("box_length", boxDao.getBox_length()); jsonParam.put("box_width", boxDao.getBox_width()); jsonParam.put("box_high", boxDao.getBox_high()); @@ -542,7 +537,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { // 找一个空的仓位 JSONObject paramIn = new JSONObject(); paramIn.put("stor_id", IOSEnum.STOR_ID.code("二期")); - paramIn.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); + paramIn.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); InBoxManageServiceImpl bean = SpringContextHolder.getBean(InBoxManageServiceImpl.class); JSONObject jsonAttr = bean.getStruct(paramIn); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index b2bd11cd6..6f13ea684 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -377,7 +377,7 @@ public class OutBussManageServiceImpl implements OutBussManageService { // 查询移入货位 JSONObject moveParam = new JSONObject(); moveParam.put("stor_id", json.getString("stor_id")); - moveParam.put("sect_id", RegionTypeEnum.TWO_ZZ01.getId()); + moveParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); moveParam.put("box_no", json.getString("storagevehicle_code")); moveParam.put("material_id", jsonMater.getString("material_id")); JSONObject jsonMove = inBussManageService.getOneStruct(moveParam); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutVehicleManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutVehicleManageServiceImpl.java index 904d80aa0..8d54eb6f8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutVehicleManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutVehicleManageServiceImpl.java @@ -66,7 +66,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期")); - whereJson.put("sect_id", RegionTypeEnum.TWO_TTP01.getId()); + whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); whereJson.put("storagevehicle_type", whereJson.getString("vehicle_type")); /* // 判断起点点位是否存在 @@ -131,7 +131,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { // 重新分配货位 JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); - jsonParam.put("sect_id", RegionTypeEnum.TWO_TTP01.getId()); + jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("storagevehicle_type", taskDao.getVehicle_type()); // 调用找货位方法 @@ -139,6 +139,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { if (ObjectUtil.isEmpty(jsonAttrNow)) { throw new BadRequestException("仓位不足!"); } + // 锁定新终点 jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘出库锁")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql index 7ca210864..795a6f307 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql @@ -79,6 +79,7 @@ attr.* FROM st_ivt_structattr attr + INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code WHERE attr.is_used = '1' AND attr.is_delete = '0' @@ -88,6 +89,8 @@ AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.storagevehicle_type = 输入.vehicle_type AND attr.height = 输入.height + AND box.is_packing = '0' + OPTION 输入.block_in <> "" attr.block_num in 输入.block_in ENDOPTION @@ -157,9 +160,18 @@ IF 输入.flag = "5" QUERY SELECT - attr.* + attr.*, + CASE + WHEN IFNULL(box.is_packing,'') = '' THEN '0' + ELSE box.is_packing + END AS is_packing, + CASE + WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0' + ELSE attr.is_emptyvehicle + END AS is_vehicle FROM st_ivt_structattr attr + LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code WHERE attr.is_used = '1' AND attr.is_delete = '0' diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql index 2835e7e44..91ed921bb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql @@ -86,12 +86,14 @@ attr.* FROM st_ivt_structattr attr + INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code WHERE attr.is_used = '1' AND attr.is_delete = '0' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id AND IFNULL(attr.storagevehicle_code,'') <> '' + AND box.is_packing = '1' OPTION 输入.block_in <> "" attr.block_num in 输入.block_in @@ -120,6 +122,7 @@ FROM st_ivt_structattr attr INNER JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code + INNER JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code LEFT JOIN md_me_materialbase mater ON mater.material_code = sub.product_name WHERE attr.is_used = '1' @@ -127,6 +130,7 @@ AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id AND IFNULL(attr.storagevehicle_code,'') <> '' + AND box.is_packing = '1' OPTION 输入.material_id <> "" mater.material_id = 输入.material_id @@ -227,9 +231,19 @@ IF 输入.flag = "6" QUERY SELECT - attr.* + attr.*, + CASE + WHEN IFNULL(box.is_packing,'') = '' THEN '0' + ELSE box.is_packing + END AS is_packing, + CASE + WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0' + ELSE attr.is_emptyvehicle + END AS is_vehicle + FROM st_ivt_structattr attr + LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code WHERE attr.is_used = '1' AND attr.is_delete = '0' diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INVEHICLE.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INVEHICLE.wql index c603aa489..360c30014 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INVEHICLE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INVEHICLE.wql @@ -89,6 +89,7 @@ AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id AND IFNULL(attr.storagevehicle_code,'') <> '' + AND attr.is_emptyvehicle = '1' OPTION 输入.block_in <> "" attr.block_num in 输入.block_in @@ -157,9 +158,18 @@ IF 输入.flag = "5" QUERY SELECT - attr.* + attr.*, + CASE + WHEN IFNULL(box.is_packing,'') = '' THEN '0' + ELSE box.is_packing + END AS is_packing, + CASE + WHEN IFNULL(attr.is_emptyvehicle,'') = '' THEN '0' + ELSE attr.is_emptyvehicle + END AS is_vehicle FROM st_ivt_structattr attr + LEFT JOIN bst_ivt_boxinfo box ON box.box_no = attr.storagevehicle_code WHERE attr.is_used = '1' AND attr.is_delete = '0' diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql index 48f2daf4e..e601728aa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql @@ -66,6 +66,7 @@ AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND box.is_packing = '0' OPTION 输入.not_block_id <> "" attr.block_num not in = 输入.not_block_id @@ -121,6 +122,7 @@ AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND box.is_packing = '0' OPTION 输入.block_num <> "" attr.block_num = 输入.block_num @@ -172,6 +174,7 @@ AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND box.is_packing = '0' OPTION 输入.block_num <> "" attr.block_num = 输入.block_num @@ -223,6 +226,7 @@ AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND box.is_packing = '0' OPTION 输入.block_num <> "" attr.block_num = 输入.block_num @@ -296,6 +300,7 @@ AND IFNULL(storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND box.is_packing = '0' OPTION 输入.box_length <> "" box.box_length = 输入.box_length diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTVEHICLE.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTVEHICLE.wql index 9dbab0059..9efe41774 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTVEHICLE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTVEHICLE.wql @@ -57,6 +57,7 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') <> '' + AND attr.is_emptyvehicle = '1' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id @@ -86,6 +87,7 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') <> '' + AND attr.is_emptyvehicle = '1' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id @@ -120,6 +122,7 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') <> '' + AND attr.is_emptyvehicle = '1' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id @@ -152,6 +155,7 @@ attr.is_used = '1' AND attr.is_delete = '0' AND attr.lock_type = '1' + AND attr.is_emptyvehicle = '1' AND IFNULL(attr.storagevehicle_code,'') <> '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java index 2a63c2346..f69817912 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java @@ -26,6 +26,7 @@ public enum RegionTypeEnum { TWO_KZ01("23", "二期捆扎区", "1754774130626007040"), TWO_FH01("24", "二期发货区", "1759453285649092608"), TWO_OUT01("25", "二期出库区", "1760141408548818944"), + TWO_BZC01("26", "二期主存区", "1748219897940414464"), B2_HKZC("26", "B2烘烤暂存区", "1766012860535803904"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java index 4067a94d0..f157990bb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java @@ -108,11 +108,11 @@ public abstract class AbstractAcsTask { * */ public JSONObject immediateNotifyAcs(String task_id) { - List taskList = this.schedule(); - if (ObjectUtil.isNotEmpty(taskList)) { - JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList)); - return AcsUtil.notifyAcs("api/wms/task", arr); - } + List taskList = this.schedule(); + if (ObjectUtil.isNotEmpty(taskList)) { + JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList)); + return AcsUtil.notifyAcs("api/wms/task", arr); + } return null; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index a99c71e1f..48d752f43 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -391,6 +391,7 @@ public class CheckOutBillController { @PostMapping("/testInBox") @Log("木箱入库测试") + @SaIgnore public ResponseEntity testInBox(@RequestBody JSONObject whereJson) { InBoxManageServiceImpl bean = SpringContextHolder.getBean(InBoxManageServiceImpl.class); bean.inBox(whereJson); diff --git a/lms/nladmin-ui/src/views/wms/pdm/sub/DivDialog.vue b/lms/nladmin-ui/src/views/wms/pdm/sub/DivDialog.vue index 8a387f865..653dd578c 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/sub/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/sub/DivDialog.vue @@ -155,6 +155,8 @@ export default { previousSelection: [], // 存储搜索后的选中状态 currentSelection: [], + // 上面表格选中的 + upSelection: [], // 取消选中 cancelSelection: [], multipleSelection: [], @@ -200,7 +202,9 @@ export default { methods: { handleSearch() { debugger - this.multipleSelection = this.multipleSelection.filter(i => { return this.$refs.dis_table.selection.includes(i) }) + this.multipleSelection = this.multipleSelection.filter(i => { + return this.$refs.dis_table.selection.includes(i) + }) this.currentSelection = [...this.$refs.dis_table.selection] }, handleSelectionChange(selection) { @@ -256,17 +260,16 @@ export default { this.clearSearch1() }, table2RowStyle({ row }) { - // if(this.cancelSelection.includes(row)) - // { - // return {background: 'white'}; // 修改颜色 - // } if (this.currentSelection.includes(row)) { - return { background: 'orange' } // 修改颜色 + if (row.box_group !== '0') { + return { background: 'orange' } // 修改颜色 + } } if (this.multipleSelection.includes(row)) { - return { background: 'orange' } // 修改颜色 + if (row.box_group !== '0') { + return { background: 'orange' } // 修改颜色 + } } - return {} }, getMultipleSelection(multipleSelection) { return multipleSelection.reduce((acc, item) => { @@ -295,10 +298,11 @@ export default { }, // 表格1的行点击事件 handleRowClick(scope) { + debugger const table2 = this.$refs.dis_table const table2Data = Array.from(this.openParam) - const groupValue = scope.box_group === 0 ? scope.container_name : scope.box_group - const selectedRows = table2Data.filter(row => row.box_group === groupValue && row.box_group !== null && row.box_group !== 0) + const groupValue = scope.box_group === '0' ? scope.container_name : scope.box_group + const selectedRows = table2Data.filter(row => (row.container_name == groupValue) || (row.box_group === groupValue && row.box_group !== null && row.box_group !== '0')) table2.clearSelection() selectedRows.forEach(row => table2.toggleRowSelection(row)) }, @@ -325,20 +329,18 @@ export default { tableRowClassName({ row, rowIndex }) { row.index = rowIndex }, - tableChanged(row) { + async tableChanged(row) { + debugger this.form.tableMater = this.currentSelection this.form.checked = row.material_code - debugger this.form.sale_order_name = this.sale_order_name - crudPackagerelation.updateEntityList(this.form).then(res => { - crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.sale_order_name }).then(res => { - this.openParam = res.content - this.$emit('childEvent') - this.clearSelection() - }) - this.form.tableMater = [] - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - }) + await crudPackagerelation.updateEntityList(this.form) + const res = crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.sale_order_name }) + this.openParam = res.content + this.clearSelection() + this.form.tableMater = [] + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.$emit('childEvent') }, divStruct() { if (this.currentSelection.length > 0 && this.$refs.dis_table.selection.length > 0) { diff --git a/lms/nladmin-ui/src/views/wms/pdm/sub/index.vue b/lms/nladmin-ui/src/views/wms/pdm/sub/index.vue index d4024f063..bd5e38549 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/sub/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/sub/index.vue @@ -85,7 +85,6 @@ size="mini" @select="handleSelectionChange" @selection-change="crud.selectionChangeHandler" - @row-dblclick="handleRowDblClick" > - + @@ -218,20 +223,12 @@ export default { this.query.status = tab.name === 'first' ? '99' : '0' this.crud.toQuery() }, - // 表格双击事件 - handleRowDblClick(row, column, event) { - // 双击事件的处理逻辑 - this.divOpen(row) - }, - // 双击 - divOpen(row) { + async divOpen() { debugger - this.sale_order_name = row.sale_order_name - crudSubpackagerelation.queryContainerization({ 'sale_order_name': row.sale_order_name }).then(res => { - debugger - this.openParam = res.content - this.divShow = true - }) + this.sale_order_name = this.currentRow.sale_order_name + const res = await crudSubpackagerelation.queryContainerization({ 'sale_order_name': this.currentRow.sale_order_name }) + this.openParam = res.content + // this.divShow = true }, divOpen1() { debugger @@ -298,9 +295,11 @@ export default { .custom-tabs { margin-bottom: 0px; /* 调整垂直间距,根据需要调整数值 */ } + .custom-table { margin-top: 0px; /* 调整垂直间距,根据需要调整数值 */ } + .tableAuto.el-table .cell { white-space: nowrap; }