From 57758164d462e669cb93139ecf949bc94fa73876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=97=AD=E6=98=8E=5C73939?= <739390650@QQ.COM> Date: Sat, 11 Jul 2026 14:55:30 +0700 Subject: [PATCH] =?UTF-8?q?opt:=E5=8D=B0=E5=B0=BC=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/controller/VehicleTwoController.java | 2 +- .../b_lms/pda/service/VehicleTwoService.java | 12 + .../service/impl/VehicleTwoServiceImpl.java | 111 +++++- .../mapper/PdmBiSubpackagerelationMapper.java | 2 +- .../PdmBiSubpackagerelationServiceImpl.java | 3 +- .../nl/b_lms/sch/tasks/TwoInBoxTrussTask.java | 2 +- .../org/nl/b_lms/sch/tasks/TwoLashTask.java | 1 + .../nl/b_lms/sch/tasks/TwoOutHeapTask.java | 356 ++++++++++-------- .../b_lms/sch/tasks/boxstack/MxOutTask.java | 6 +- .../sch/tasks/boxstack/auto/AutoMxZxTask.java | 2 +- .../sch/tasks/first_floor_area/DjqTask.java | 6 +- .../sch/tasks/first_floor_area/ZxqTask.java | 6 +- .../storage_manage/ios/enums/IOSEnum.java | 25 +- .../impl/StIvtIostorinvOutServiceImpl.java | 14 +- .../impl/StIvtIostorinvServiceImpl.java | 24 +- .../util/impl/InBoxManageServiceImpl.java | 83 ++-- .../util/impl/InBussManageServiceImpl.java | 2 + .../util/impl/InVehicleManageServiceImpl.java | 23 +- .../util/impl/LashManageServiceImpl.java | 21 +- .../util/impl/OutBussManageServiceImpl.java | 24 +- .../impl/OutVehicleManageServiceImpl.java | 2 +- .../util/impl/TwoInBussManageServiceImpl.java | 1 + .../st/dao/mapper/StIvtStructattrMapper.xml | 16 +- .../java/org/nl/common/PdaTableDataInfo.java | 65 ++++ .../nl/modules/logging/aspect/LogAspect.java | 3 +- .../controller/dict/SysDictController.java | 10 + .../system/service/dict/ISysDictService.java | 8 + .../service/dict/impl/SysDictServiceImpl.java | 22 ++ .../acs/service/impl/AcsToWmsServiceImpl.java | 46 ++- .../sap/service/impl/LmsToSapServiceImpl.java | 24 +- .../nl/wms/pda/mps/eum/RegionTypeEnum.java | 2 +- .../st/instor/task/HandMoveStorAcsTask.java | 2 +- .../main/java/org/nl/wms/util/TaskUtil.java | 6 +- .../master/storagevehicleinfo/index.vue | 3 + .../src/views/wms/st/outbill/DivDialog.vue | 5 +- 35 files changed, 623 insertions(+), 317 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/common/PdaTableDataInfo.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java index 01e49cf..965c3e6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/VehicleTwoController.java @@ -41,7 +41,7 @@ public class VehicleTwoController { @Log("入空载具") @SaIgnore public ResponseEntity vehicleIn(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(vehicleTwoService.vehicleIn(whereJson), HttpStatus.OK); + return new ResponseEntity<>(vehicleTwoService.InVehicleIn(whereJson), HttpStatus.OK); } @PostMapping("/boxIn") diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/VehicleTwoService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/VehicleTwoService.java index 92910b4..a822489 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/VehicleTwoService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/VehicleTwoService.java @@ -20,6 +20,18 @@ public interface VehicleTwoService { */ JSONObject vehicleIn(JSONObject whereJson); + /** + * 一楼入库空载具入库 + * @param whereJson { + * vehicle_code: 载具号 + * vehicle_type: 载具类型 + * point_code: 点位 + * } + * @return :JSONObject:返回前端参数 + */ + + JSONObject InVehicleIn(JSONObject whereJson); + /** * * @param whereJson { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java index 40fae60..0dc1b8c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java @@ -28,8 +28,10 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussMana import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService; import org.nl.common.enums.SpecEnum; import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.basedata.st.service.StructattrService; @@ -41,6 +43,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -90,6 +93,18 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { @Autowired private IMdPbStoragevehicleextService mdPbStoragevehicleextService; + @Autowired + private RedisUtils redisUtils; + + /** + * 空载具入库处理服务 + */ + @Autowired + private InVehicleManageService inVehicleManageService; + + @Resource + private ISysParamService iSysParamService; + @Override @Transactional(rollbackFor = Exception.class) public JSONObject vehicleIn(JSONObject whereJson) { @@ -112,7 +127,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { // 判断入库叠盘位的 托盘类型是否相同、是否叠满 JSONObject device_jo = new JSONObject(); - device_jo.put("device_code", "RK1004"); + device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK")); JSONArray device_ja = new JSONArray(); @@ -126,7 +141,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010715"); jsonTaskParam.put("start_device_code", point_code); - jsonTaskParam.put("next_device_code", "RK1004"); + jsonTaskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); jsonTaskParam.put("containerType", whereJson.getString("vehicle_type")); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); JSONObject param = new JSONObject(); @@ -145,7 +160,8 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { // 生层到出库口叠盘机任务 // 判断托盘类型 - String next_device_code = "CK2005"; + + String next_device_code = IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type); /*if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code("是"))) { // 小托盘 CK2009 next_device_code = "CK2009"; @@ -155,11 +171,11 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { }*/ // 判断点位状态 - device_jo.put("device_code", "CK2005"); + device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type)); JSONArray device_ja2 = new JSONArray(); device_ja2.add(device_jo); JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2); - JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0); + // JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0); /*// 判断是否有货 且数量小于5 if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) || (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是")) @@ -172,6 +188,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { jsonTaskParam.put("next_device_code", next_device_code); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); jsonTaskParam.put("containerType", whereJson.getString("vehicle_type")); + jsonTaskParam.put("type", "3"); JSONObject param = new JSONObject(); param.put("containerType", whereJson.getString("vehicle_type")); param.put("heightLevel", "0"); @@ -187,15 +204,93 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { return result; } + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject InVehicleIn(JSONObject whereJson) { + JSONObject result = new JSONObject(); + + String point_code = whereJson.getString("point_code"); + String vehicle_type = whereJson.getString("vehicle_type"); + if( whereJson.getIntValue("layer") >4 || whereJson.getIntValue("layer")<1){ + throw new BadRequestException("层数不区间"); + } + + // 判断起点是否存在 + SchBasePoint pointDao = ischBasePointService.getOne( + new QueryWrapper().lambda() + .eq(SchBasePoint::getPoint_code, point_code) + .eq(SchBasePoint::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + .eq(SchBasePoint::getIs_used, IOSEnum.IS_NOTANDYES.code("是")) + ); + + if (ObjectUtil.isEmpty(pointDao)) { + throw new BadRequestException("点位:" + point_code + "不存在或未启用!"); + } + + if(!IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type).equals(point_code)){ + throw new BadRequestException("点位只能为" + IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type)); + } + + String height = ""; + String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); + String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue(); + String vehicle_height = iSysParamService.findByCode("vehicle_height").getValue(); + int high = Integer.parseInt(vehicle_height) * whereJson.getIntValue("layer"); + if (high <= Integer.parseInt(heightLevel1)) { + height = "1"; + } else if (high > Integer.parseInt(heightLevel1) && high <= Integer.parseInt(heightLevel2)) { + height = "2"; + } + // whereJson.put("heightLevel", height); + + if (high > Integer.parseInt(heightLevel2)){ + throw new BadRequestException("高度超高,无法入库"); + } + + JSONArray rows = new JSONArray(); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("device_code", point_code); + jsonObject.put("code", "to_back_up_1"); + jsonObject.put("value", "3"); + jsonObject.put("product_area", "BLK"); + rows.add(jsonObject); + + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("device_code", point_code); + jsonObject1.put("code", "to_container_type"); + jsonObject1.put("value",vehicle_type); + jsonObject1.put("product_area", "BLK"); + + rows.add(jsonObject1); + + redisUtils.set(whereJson.getString("vehicle_code") + "InVehicleInHeightLevel",height); + + wmsToAcsService.action(rows); + + + // inVehicleManageService.inVehicle(whereJson); + + + result.put("message", "入库成功!"); + return result; + } + @Override public JSONObject boxIn(JSONObject whereJson) { // 调用接口 String startCode = whereJson.getString("point_code"); - if ("MXRKW1".equals(startCode)) { - inBoxManageService.boxBinVehicle(whereJson); - } else if ("THRKDJW1".equals(startCode)) { + if(StringUtils.isBlank(startCode)){ + throw new BadRequestException("点位不能为空!"); + } + //KMXRKW2 退货入库 + if ("KMXRKW2".equals(startCode)) { inBoxManageService.boxBinVehicleByTHRK(whereJson); } + else if (startCode.contains("KMXRKW")) { + inBoxManageService.boxBinVehicle(whereJson); + } JSONObject result = new JSONObject(); result.put("message", "入库成功!"); return result; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.java index 07d4261..5f42716 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.java @@ -40,6 +40,6 @@ public interface PdmBiSubpackagerelationMapper extends BaseMapper> downloadData(@Param("day") String date); - @Select("select * from pdm_bi_subpackagerelation where package_box_sn = #{boxNo}") + @Select("select * from pdm_bi_subpackagerelation where package_box_sn = #{boxNo} limit 1") StructattrQuerry selectSubpackagerelationInser(String boxNo); } 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 12428e0..7403c6e 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 @@ -42,7 +42,6 @@ import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; -import org.nl.b_lms.sch.tasks.TwoInBoxTrussTask; import org.nl.b_lms.sch.tasks.boxstack.InBoxTrussTask; import org.nl.b_lms.sch.tasks.TwoOutBoxTask; import org.nl.b_lms.sch.tasks.boxstack.MxMoveTask; @@ -867,7 +866,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } acsParam.put("device_code", deviceCode); acsParam.put("sub_volume", "BR" + box); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java index 0286dba..8956bc2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java @@ -115,7 +115,7 @@ public class TwoInBoxTrussTask extends AbstractAcsTask { task.setUpdate_optid(SecurityUtils.getCurrentUserId()); task.setUpdate_optname(SecurityUtils.getCurrentNickName()); task.setUpdate_time(DateUtil.now()); - ischBaseTaskService.update(task, new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, task.getTask_id())); + ischBaseTaskService.update(task, new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java index 37909df..d500fc7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -104,6 +104,7 @@ public class TwoLashTask extends AbstractAcsTask { interaction_json.put("length", dao.get(0).getBox_length()); interaction_json.put("weight", dao.get(0).getBox_width()); interaction_json.put("height", dao.get(0).getBox_high()); + interaction_json.put("barcode",dao.get(0).getBox_no()); // 捆扎模版 if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) { throw new BadRequestException("捆扎模版不能为空!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java index 7e91f31..7e7880e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java @@ -38,6 +38,8 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 堆垛机点位至行架点位任务(出库) @@ -57,158 +59,211 @@ public class TwoOutHeapTask extends AbstractAcsTask { private MdPdStoragevehicleextMapper mdPdStoragevehicleextMapper; - private List sendTask(List taskArrAll) { + private List sendTask(List taskArrAll) { /* * 一个行架点位只允许一个任务正在执行或下发中 */ -// WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); -// // 点位表 -// WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); + // 点位表 + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - List taskArr = new ArrayList<>(); + ArrayList taskArr = new ArrayList<>(); // 判断这两个点位是否有任务:如果没有则下发任务 -// List pointJson = wo_Task.query("handle_class = '" + THIS_CLASS + "' AND task_status IN ('05','06') AND is_delete = '0' ORDER BY point_code2") -// .getResultJSONArray(0).toJavaList(JSONObject.class); + List pointJson = wo_Task.query("handle_class = '" + THIS_CLASS + "' AND task_status IN ('05','06') AND is_delete = '0' ORDER BY point_code2") + .getResultJSONArray(0).toJavaList(JSONObject.class); - List taskList = schBaseTaskMapper.selectList(new LambdaQueryWrapper().eq(SchBaseTask::getHandle_class, THIS_CLASS).eq(SchBaseTask::getIs_delete, "0") - .in(SchBaseTask::getTask_status, "05", "06").orderByAsc(SchBaseTask::getPoint_code2)); + // 统计行架1、行架2 当前负载数量 + long countHanger1 = pointJson.stream() + .filter(j -> IOSEnum.OUT_HANGER.code("行架位1").equals(j.getString("point_code2"))).count(); + long countHanger2 = pointJson.stream() + .filter(j -> IOSEnum.OUT_HANGER.code("行架位2").equals(j.getString("point_code2"))).count(); + // ==========2. 预分组待下发任务,只遍历一次taskArrAll ========== + Map> taskGroupMap = taskArrAll.stream() + .collect(Collectors.groupingBy(item -> item.getString("point_code2"))); + List exceptTaskList = taskGroupMap.getOrDefault(IOSEnum.EXCEP_OUT.code("异常出库口"), Collections.emptyList()); + List waitHanger1List = taskGroupMap.getOrDefault(IOSEnum.OUT_HANGER.code("行架位1"), Collections.emptyList()); + List waitHanger2List = taskGroupMap.getOrDefault(IOSEnum.OUT_HANGER.code("行架位2"), Collections.emptyList()); - if (CollUtil.isEmpty(taskList)) { - // 下发两个的任务 - SchBaseTask oneTask = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1"))) - .findFirst().orElse(null); - if (ObjectUtil.isNotEmpty(oneTask)) { - taskArr.add(oneTask); + // ==========3. 优先下发异常出库任务(限制最多1条,点位独占) ========== + if (CollUtil.isNotEmpty(exceptTaskList)) { + // 只取第一条下发 + taskArr.add(exceptTaskList.get(0)); + } + + // ==========4. 行架负载均衡分配核心逻辑 ========== + // 判断哪边负载更小 + boolean hanger1Less = countHanger1 < countHanger2; + boolean hanger2Less = countHanger2 < countHanger1; + + JSONObject selectTask = null; + String targetPoint = null; + + if (hanger1Less) { + // 行架1负载低:优先原生行架1任务 + selectTask = waitHanger1List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位1"); + // 若无原生任务,则把行架2任务 转移 → 行架1 + if (ObjectUtil.isNull(selectTask)) { + selectTask = waitHanger2List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位1"); } - - SchBaseTask towTask = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2"))) - .findFirst().orElse(null); - if (ObjectUtil.isNotEmpty(towTask)) { - taskArr.add(towTask); + } else if (hanger2Less) { + // 行架2负载低:优先原生行架2任务 + selectTask = waitHanger2List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位2"); + // 若无原生任务,则把行架1任务 转移 → 行架2 + if (ObjectUtil.isNull(selectTask)) { + selectTask = waitHanger1List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位2"); } } else { - // 哪里空了就下发哪里的 - if (taskList.size() == 1) { - SchBaseTask schBaseTask = taskList.get(0); - if (schBaseTask.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1"))) { - // 行架位1有任务则下发行架位2的任务 - SchBaseTask towTask = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2"))) - .findFirst().orElse(null); - if (ObjectUtil.isNotEmpty(towTask)) { - // 如果能找到去行架位2的任务则下发当前任务 - taskArr.add(towTask); - } else { - // 如果不能找到去行架位2则找去行架位1的任务进行二次分配到行架位2 - SchBaseTask twoJsonOne = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1"))) - .findFirst().orElse(null); - - if (twoJsonOne != null) { - // 进行二次分配 - // 判断点位是否启用 -// JSONObject jsonOne = pointTab.query("point_code = '" + IOSEnum.OUT_HANGER.code("行架位2") + "'") -// .uniqueResult(0); - SchBasePoint point = schPointMapper.selectOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, IOSEnum.OUT_HANGER.code("行架位2"))); - if (point.getIs_used().equals("1")) { - twoJsonOne.setPoint_code2(IOSEnum.OUT_HANGER.code("行架位2")); - schBaseTaskMapper.updateById(twoJsonOne); - taskArr.add(twoJsonOne); - } - } - - } - } else { - // 行架位2有任务则下发行架位1的任务 - SchBaseTask oneJson = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位1"))) - .findFirst().orElse(null); - if (ObjectUtil.isNotEmpty(oneJson)) { - // 如果能找到去行架位1的任务则下发当前任务 - taskArr.add(oneJson); - } else { - // 如果不能找到去行架位1则找去行架位2的任务进行二次分配到行架位1 - SchBaseTask twoJsonTwo = taskArrAll.stream() - .filter(row -> row.getPoint_code2().equals(IOSEnum.OUT_HANGER.code("行架位2"))) - .findFirst().orElse(null); - - if (twoJsonTwo!=null) { - // 进行二次分配 -// JSONObject jsonTwo = pointTab.query("point_code = '" + IOSEnum.OUT_HANGER.code("行架位1") + "'") -// .uniqueResult(0); - SchBasePoint point = schPointMapper.selectOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, IOSEnum.OUT_HANGER.code("行架位1"))); - - if (point.getIs_used().equals("1")) { - twoJsonTwo.setPoint_code2(IOSEnum.OUT_HANGER.code("行架位1")); - schBaseTaskMapper.updateById(twoJsonTwo); - taskArr.add(twoJsonTwo); - } - } - } - } - + // count相等,默认优先行架1 + selectTask = waitHanger1List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位1"); + if (ObjectUtil.isNull(selectTask)) { + selectTask = waitHanger2List.stream().findFirst().orElse(null); + targetPoint = IOSEnum.OUT_HANGER.code("行架位2"); } } + + // ==========5. 处理选中任务,区分是否需要变更点位 ========== + if (ObjectUtil.isNotEmpty(selectTask)) { + String originalPoint = selectTask.getString("point_code2"); + // 深拷贝!禁止操作原始taskArrAll对象 + JSONObject taskCopy = JSONObject.parseObject(selectTask.toJSONString()); + + if (!originalPoint.equals(targetPoint)) { + // 需要二次分配、变更点位 + // 校验目标点位是否启用 + JSONObject pointInfo = pointTab.query("point_code = '" + targetPoint + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(pointInfo) && "1".equals(pointInfo.getString("is_used"))) { + // 修改副本点位 + taskCopy.put("point_code2", targetPoint); + // 更新数据库 + wo_Task.update(taskCopy); + taskArr.add(taskCopy); + } + } else { + // 原生点位,无需修改,直接加入下发列表 + taskArr.add(taskCopy); + } + } + return taskArr; } + @Override public List addTask() { - return Collections.emptyList(); + /* + * 下发给ACS时需要特殊处理 + */ + //任务表 + WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); + + List taskArrAll = wo_Task + .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") + .getResultJSONArray(0).toJavaList(JSONObject.class); + + // 是否下发多个AGV输送出库任务 + String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue(); + // 是否异常出库口任务 + String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); + + List taskArr; + if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + // 只允许每个行架点位有一条任务 + taskArr = sendTask(taskArrAll); + } else { + taskArr = taskArrAll; + } + } else { + taskArr = taskArrAll; + } + + ArrayList resultList = new ArrayList<>(); + for (int i = 0; i < taskArr.size(); i++) { + JSONObject json = taskArr.get(i); + + char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); + AcsTaskDto dto = AcsTaskDto.builder() + .ext_task_id(json.getString("task_id")) + .task_code(json.getString("task_code")) + .task_type(json.getString("acs_task_type")) + .start_device_code(json.getString("point_code1")) + .next_device_code(json.getString("point_code2")) + .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) + .interaction_json(json.getJSONObject("request_param")) + .priority(json.getString("priority")) + .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) + .dtl_type(String.valueOf(dtl_type)) + .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) + .remark(json.getString("remark")) + .build(); + + if (json.getString("vehicle_code2").contains("YNX")) { + dto.setRoute_plan_code("two"); + } else { + dto.setRoute_plan_code("normal"); + } + resultList.add(dto); + + // 更新任务为下发 + JSONObject paramMap = new JSONObject(); + paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode()); + wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'"); + } + return resultList; } @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 String task_id = taskObj.getString("task_id"); -// JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0); - - - SchBaseTask schBaseTask = schBaseTaskMapper.selectOne(new LambdaQueryWrapper().eq(SchBaseTask::getTask_id,task_id).lt(SchBaseTask::getTask_status, "07")); - - - if (ObjectUtil.isNotEmpty(schBaseTask)) { + JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonTask)) { if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { // 任务为执行之后就不允许取消 - if (Integer.parseInt(schBaseTask.getTask_status()) > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) { - throw new BadRequestException("任务:" + schBaseTask.getTask_code() + "已执行,不可取消"); + if (jsonTask.getIntValue("task_status") > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) { + throw new BadRequestException("任务:" + jsonTask.getString("task_code") + "已执行,不可取消"); } - schBaseTask.setIs_delete("1"); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTaskMapper.updateById(schBaseTask); + JSONObject param = new JSONObject(); + param.put("is_delete", "1"); + param.put("update_time", DateUtil.now()); + taskTab.update(param, "task_id = '" + task_id + "'"); } if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { - schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTaskMapper.updateById(schBaseTask); - - + JSONObject param = new JSONObject(); + param.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + param.put("update_time", DateUtil.now()); + taskTab.update(param, "task_id = '" + task_id + "'"); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { // 更新任务完成 - schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTaskMapper.updateById(schBaseTask); + JSONObject param = new JSONObject(); + param.put("task_status", TaskStatusEnum.FINISHED.getCode()); + param.put("update_time", DateUtil.now()); + taskTab.update(param, "task_id = '" + task_id + "'"); // 如果是异常出库口则不需要下发行架任务 - if (schBaseTask.getPoint_code2().equals(IOSEnum.EXCEP_OUT.code("异常出库口"))) { - - - MdPdStoragevehicleext mdPdStoragevehicleext = mdPdStoragevehicleextMapper.selectOne(new QueryWrapper().eq("storagevehicle_code",schBaseTask.getVehicle_code() )); - if (ObjectUtil.isNotEmpty(mdPdStoragevehicleext)) { - mdPdStoragevehicleext.setPcsn(""); - mdPdStoragevehicleextMapper.updateById(mdPdStoragevehicleext); + if (jsonTask.getString("point_code2").equals(IOSEnum.EXCEP_OUT.code("异常出库口"))) { + WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); + JSONObject ext_jo = veExtTab.query("pcsn = '" + jsonTask.getString("vehicle_code") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(ext_jo)) { + ext_jo.put("pcsn", ""); + veExtTab.update(ext_jo); } } else { // 下发桁架任务:捆扎 JSONObject jsonParam = new JSONObject(); - jsonParam.put("device_code", schBaseTask.getPoint_code2()); - jsonParam.put("vehicle_code", schBaseTask.getVehicle_code()); - jsonParam.put("task_group_id", schBaseTask.getTask_group_id()); + jsonParam.put("device_code", jsonTask.getString("point_code2")); + jsonParam.put("vehicle_code", jsonTask.getString("vehicle_code")); + jsonParam.put("task_group_id", jsonTask.getString("task_group_id")); LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class); bean1.createLashTask(jsonParam); } @@ -280,80 +335,49 @@ public class TwoOutHeapTask extends AbstractAcsTask { } @Transactional - public void sendTaskAcs(String groupTaskId, boolean retry) { -// WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); -// List taskArrAll = wo_Task -// .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") -// .getResultJSONArray(0).toJavaList(JSONObject.class); - - - List taskList = schBaseTaskMapper.selectList(new LambdaQueryWrapper().eq(SchBaseTask::getHandle_class, THIS_CLASS) - .eq(SchBaseTask::getTask_status, TaskStatusEnum.START_AND_POINT.getCode()) - .eq(SchBaseTask::getIs_delete, "0").orderByAsc(SchBaseTask::getCreate_time)); - - + public void sendTaskAcs(String groupTaskId, boolean retry) { WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); + List taskArrAll = wo_Task + .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") + .getResultJSONArray(0).toJavaList(JSONObject.class); // 是否下发多个AGV输送出库任务 - if (CollectionUtils.isEmpty(taskList)) { + if (CollectionUtils.isEmpty(taskArrAll)) { return; } - List taskArr; + List taskArr; // 是否异常出库口任务 String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code("否"))) { String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue(); if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code("否"))) { // 只允许每个行架点位有一条任务 - taskArr = sendTask(taskList); + taskArr = sendTask(taskArrAll); } else { - taskArr = taskList; + taskArr = taskArrAll; } } else { - taskArr = taskList; + taskArr = taskArrAll; } ArrayList resultList = new ArrayList<>(); for (int i = 0; i < taskArr.size(); i++) { -// SchBaseTask schBaseTask = taskArr.get(i); -// char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); -// AcsTaskDto dto = AcsTaskDto.builder() -// .ext_task_id(json.getString("task_id")) -// .task_code(json.getString("task_code")) -// .task_type(json.getString("acs_task_type")) -// .start_device_code(json.getString("point_code1")) -// .next_device_code(json.getString("point_code2")) -// .vehicle_code(json.getString("vehicle_code2")) -// .vehicle_code2(json.getString("vehicle_code")) -// .interaction_json(json.getJSONObject("request_param")) -// .priority(json.getString("priority")) -// .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) -// .dtl_type(String.valueOf(dtl_type)) -// .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) -// .remark(json.getString("remark")) -// .build(); - - SchBaseTask schBaseTask = taskArr.get(i); - char dtl_type = schBaseTask.getTask_type().charAt(schBaseTask.getTask_type().length() - 1); - // 处理request_param转换为JSONObject - JSONObject requestParamJson = null; - if (schBaseTask.getRequest_param() != null && !schBaseTask.getRequest_param().isEmpty()) { - requestParamJson = JSONObject.parseObject(schBaseTask.getRequest_param()); - } + JSONObject json = taskArr.get(i); + char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() - .ext_task_id(schBaseTask.getTask_id()) - .task_code(schBaseTask.getTask_code()) - .task_type(schBaseTask.getAcs_task_type()) - .start_device_code(schBaseTask.getPoint_code1()) - .next_device_code(schBaseTask.getPoint_code2()) - .vehicle_code(schBaseTask.getVehicle_code2()) - .vehicle_code2(schBaseTask.getVehicle_code()) - .interaction_json(requestParamJson) - .priority(schBaseTask.getPriority()) + .ext_task_id(json.getString("task_id")) + .task_code(json.getString("task_code")) + .task_type(json.getString("acs_task_type")) + .start_device_code(json.getString("point_code1")) + .next_device_code(json.getString("point_code2")) + .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) + .interaction_json(json.getJSONObject("request_param")) + .priority(json.getString("priority")) .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) .dtl_type(String.valueOf(dtl_type)) .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) - .remark(schBaseTask.getRemark()) + .remark(json.getString("remark")) .build(); - if (schBaseTask.getVehicle_code2().contains("A")) { + if (json.getString("vehicle_code2").contains("YNX")) { dto.setRoute_plan_code("two"); } else { dto.setRoute_plan_code("normal"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java index d9497a0..8b1e055 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java @@ -254,9 +254,9 @@ public class MxOutTask extends AbstractAcsTask { BeanUtils.copyProperties(schBaseTaskVo, task); taskService.save(task); //测试屏蔽下发acs -// if (isSend) { -// this.immediateNotifyAcs(null); -// } + if (isSend) { + this.immediateNotifyAcs(null); + } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java index 9a2c3cc..8761863 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java @@ -108,7 +108,7 @@ public class AutoMxZxTask { schBaseTask.setPoint_code2(bstIvtBoxstacks.get(0).getStack_code()); taskService.updateById(schBaseTask); //测试屏蔽下发acs -// this.immediateNotifyAcs(null); + // this.immediateNotifyAcs(null); } } else { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index 0186246..38c12b8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -209,9 +209,9 @@ public class DjqTask extends AbstractAcsTask { taskService.save(task); //如果目标点位没有空位先创建不下发 //测试屏蔽下发acs -// if (isSend) { -// this.immediateNotifyAcs(null); -// } + if (isSend) { + this.immediateNotifyAcs(null); + } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index b3167d0..5a2d095 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -253,9 +253,9 @@ public class ZxqTask extends AbstractAcsTask { //测试屏蔽下发acs -// if (isSend) { -// this.immediateNotifyAcs(null); -// } + if (isSend) { + this.immediateNotifyAcs(null); + } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java index e8dbb08..9a93342 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java @@ -79,7 +79,7 @@ public enum IOSEnum { SECT_TYPE(MapOf.of("主存区", "00","暂存区","01","虚拟区","09")), //库区 - SECT_ID(MapOf.of("印尼主存区", "2026561243103498240")), + SECT_ID(MapOf.of("印尼主存区", "2071537527294136320")), //库存变动类型 IVT_CHANGE(MapOf.of("加待入", "31","加库存","33","减待入","32","加冻结","11","减冻结","12","减库存","21")), @@ -100,20 +100,29 @@ public enum IOSEnum { // 出库 38 42 46 // 出库堆垛机点位 - OUT_POINT(MapOf.of("1","CK2038", "2","CK2038", "3","CK2042", "4","CK2042" ,"5","CK2046", - "6","CK2046", "7","7", "8","8", "9","9", "10","10","1020","CK1020")), + OUT_POINT(MapOf.of("1","CK1116", "2","CK1116", "3","CK1112", "4","CK1112" ,"5","CK1108", + "6","CK1108", "7","CK1104", "8","CK1104", "9","9", "10","10")), // 出库堆垛机点位 - OUT_POINT2(MapOf.of("1","CK2037", "2","CK2037", "3","CK2041", "4","CK2041" ,"5","CK2045", - "6","CK2045", "7","7", "8","8", "9","9", "10","10","1020","CK1020")), + OUT_POINT2(MapOf.of("1","CK1116", "2","CK1116", "3","CK1112", "4","CK1112" ,"5","CK1108", + "6","CK1108", "7","CK1104", "8","CK1104", "9","9", "10","10")), + + // 载具类型对应1楼拆叠盘点位 + VEHICLE_TYPE_POINT(MapOf.of("1","RK1006", "2","RK1013")), + + // 载具类型对应1楼入库扫码位 + VEHICLE_TYPE_SCAN_POINT(MapOf.of("1","RK1005", "2","RK1012")), + + VEHICLE_TYPE_OUT_POINT(MapOf.of("1","CK1142", "2","CK1140")), + // 出库发货等待点 OUT_FH_POINT(MapOf.of("1","B_FH01_0", "2","B_FH02_0", "3","B_FH03_0", "4","B_FH04_0" ,"5","B_FH05_0", "6","B_FH06_0")), // 行架点位 - OUT_HANGER(MapOf.of("行架位1", "CK2013","行架位2", "CK2017")), + OUT_HANGER(MapOf.of("行架位1", "CK1134","行架位2", "CK1138")), // 点位 - POINT_CODE(MapOf.of("退货入库位", "THRKDJW1", "2020","CK2020", "2022","CK2022","木箱装箱开盒盖位","CK2024")), + POINT_CODE(MapOf.of("退货入库位", "KMXRKW2", "1125","CK1125", "1124","CK1124","木箱装箱开盒盖位","CK2024")), //acs申请任务 ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1" @@ -135,7 +144,7 @@ public enum IOSEnum { CHANGE_OUT(MapOf.of("换标出库口", "CK1020")), // 下发acs任务类型(明细) - ACS_TYPE(MapOf.of("子卷装箱行架任务", "12","装箱入库行架任务", "13", + ACS_TYPE(MapOf.of("木箱入库行架任务", "12","装箱入库行架任务", "13", "子卷下线行架任务", "16","退货入库行架任务", "14","RGV输送任务", "15", "木箱堆叠行架任务", "17" )), 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 78cc7bb..1566d5f 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 @@ -711,7 +711,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -1812,11 +1812,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java index dc67e49..902d68a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java @@ -354,23 +354,23 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } attrParam.put("height", height); StIvtSectattr stIvtSectattr = stIvtSectattrMapper.selectOne(new QueryWrapper().eq("sect_id", jsonObject.getString("sect_id"))); @@ -469,7 +469,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库")); @@ -217,26 +217,19 @@ public class InBoxManageServiceImpl implements InBoxManageService { if (ObjectUtil.isEmpty(point)) { throw new BadRequestException("未查询到点位【" + whereJson.getString("point_code") + "】!"); } - String box_no = whereJson.getString("box_no"); - String[] split = box_no.split(","); - String boxType = ""; - int layer = whereJson.getIntValue("layer"); - if (layer != split.length) { - throw new BadRequestException("扫描的木箱个数和选择的木箱层数不一致!"); - } - Set collect = Arrays.stream(split).collect(Collectors.toSet()); - if (collect.size() != split.length) { - throw new BadRequestException("扫描的木箱条码不能相同"); - } - if (split.length > 3) { - throw new BadRequestException("堆叠木箱最大不能超过3层"); - } - // 校验是否有相同木箱号 - List strings = Arrays.asList(split); - int size = (int) strings.stream() - .distinct().count(); - if (size != split.length) { + String boxType = ""; + + String up_box_no = whereJson.getString("up_box_no"); + String down_box_no = whereJson.getString("down_box_no"); + + List split = Arrays.asList(down_box_no,up_box_no); + + if (StringUtils.isBlank(down_box_no)) { + throw new BadRequestException("下条码不能为空"); + } + + if (down_box_no.equals(up_box_no)) { throw new BadRequestException("木箱号有相同,请重新扫码!"); } //查询仓库是否存在相同木箱 @@ -247,8 +240,8 @@ public class InBoxManageServiceImpl implements InBoxManageService { } } - for (int i = 0; i < split.length; i++) { - String boxNO = split[i]; + for (int i = 0; i < split.size(); i++) { + String boxNO = split.get(i); JSONObject jo = new JSONObject(); jo.put("box_no", boxNO); //调用MES接口插入或更新木箱信息 @@ -258,8 +251,8 @@ public class InBoxManageServiceImpl implements InBoxManageService { } } - for (int i = 0; i < split.length; i++) { - String boxNo = split[i]; + for (int i = 0; i < split.size(); i++) { + String boxNo = split.get(i); BstIvtBoxinfo boxinfo = iBstIvtBoxinfoService.getOne( new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, boxNo)); @@ -278,7 +271,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { // 查询木箱信息 BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( new QueryWrapper().lambda() - .eq(BstIvtBoxinfo::getBox_no, split[0]) + .eq(BstIvtBoxinfo::getBox_no, split.get(0)) ); if (boxDao == null) { throw new BadRequestException("木箱不存在!"); @@ -289,7 +282,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { // 判断入库叠盘位的 托盘类型是否相同、是否叠满 JSONObject device_jo = new JSONObject(); - device_jo.put("device_code", "RK1004"); + device_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK")); JSONArray device_ja = new JSONArray(); @@ -301,19 +294,19 @@ public class InBoxManageServiceImpl implements InBoxManageService { if (data.getIntValue("qty") == 0 && data.getIntValue("move") == 0) { //生成空托盘出库任务 JSONObject apply_jo = new JSONObject(); - apply_jo.put("device_code", "RK1004"); + apply_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); apply_jo.put("type", "3"); apply_jo.put("container_type", vehicle_type); acsToWmsService.applyTwo(apply_jo); } else { if (!data.getString("container_type").equals(vehicle_type)) { - if (data.getString("container_type").equals("0")) { - throw new BadRequestException("当前电气反馈的托盘类型为0,请检查!"); - } + // if (data.getString("container_type").equals("0")) { + // throw new BadRequestException("当前电气反馈的托盘类型为0,请检查!"); + // } //给ACS下发拆叠盘位的空托盘入库信号,并进行空托盘出库 JSONArray action_rows = new JSONArray(); JSONObject action_jo = new JSONObject(); - action_jo.put("device_code", "RK1004"); + action_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); action_jo.put("code", "to_command"); action_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK")); action_jo.put("value", "4"); @@ -322,7 +315,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { //生成空托盘出库任务 JSONObject apply_jo = new JSONObject(); - apply_jo.put("device_code", "RK1004"); + apply_jo.put("device_code", IOSEnum.VEHICLE_TYPE_POINT.code(vehicle_type)); apply_jo.put("type", "3"); apply_jo.put("container_type", vehicle_type); acsToWmsService.applyTwo(apply_jo); @@ -332,15 +325,17 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject taskParam = new JSONObject(); taskParam.put("task_type", "010713"); taskParam.put("start_device_code", whereJson.getString("point_code")); - taskParam.put("next_device_code", "RK1005"); + taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(vehicle_type)); taskParam.put("vehicle_code", whereJson.getString("box_no")); JSONObject param = new JSONObject(); - param.put("layer", whereJson.getString("layer")); + param.put("layer", split.size()); param.put("length", boxDao.getBox_length()); param.put("width", boxDao.getBox_width()); param.put("height", boxDao.getBox_high()); param.put("containerType", boxDao.getVehicle_type()); param.put("barcode", whereJson.getString("box_no")); + //新增逻辑 需要确认 + param.put("type", "1"); //根据木箱高度,判断入库仓位的高度 String height = ""; String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); @@ -351,7 +346,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } param.put("heightLevel", height); taskParam.put("request_param", param.toString()); @@ -382,15 +377,18 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject taskParam = new JSONObject(); taskParam.put("task_type", "010713"); taskParam.put("start_device_code", whereJson.getString("point_code")); - taskParam.put("next_device_code", "CK2005"); + taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(boxDao.getVehicle_type())); taskParam.put("vehicle_code", whereJson.getString("box_no")); //taskParam.put("vehicle_code2", whereJson.getString("box_no")); JSONObject param = new JSONObject(); - param.put("layer", whereJson.getString("layer")); + param.put("layer", "1"); + // param.put("layer", whereJson.getString("layer")); param.put("length", boxDao.getBox_length()); param.put("width", boxDao.getBox_width()); param.put("height", boxDao.getBox_high()); param.put("containerType", boxDao.getVehicle_type()); + //新增逻辑 需要确认 + param.put("type", "2"); param.put("barcode", whereJson.getString("box_no") + "-9"); //根据木箱高度,判断入库仓位的高度 @@ -403,7 +401,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } param.put("heightLevel", height); taskParam.put("request_param", param.toString()); @@ -506,15 +504,18 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject taskParam = new JSONObject(); taskParam.put("task_type", "010713"); taskParam.put("start_device_code", whereJson.getString("point_code")); - taskParam.put("next_device_code", IOSEnum.SPECIAL_POINTS.code("退货入库口")); + taskParam.put("next_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code("1")); taskParam.put("vehicle_code", whereJson.getString("box_no")); //taskParam.put("vehicle_code2", whereJson.getString("box_no")); JSONObject param = new JSONObject(); - param.put("layer", whereJson.getString("layer")); + param.put("layer", "1"); param.put("length", boxDao.getBox_length()); param.put("width", boxDao.getBox_width()); param.put("height", boxDao.getBox_high()); param.put("containerType", boxDao.getVehicle_type()); + //新增逻辑 需要确认 + param.put("type", "2"); + String type = whereJson.getString("bill_type"); if (StrUtil.isEmpty(type)) { throw new BadRequestException("入库类型不能为空!"); @@ -534,7 +535,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } param.put("heightLevel", height); taskParam.put("request_param", param.toString()); 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 4d8da96..5d1e3ac 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 @@ -341,6 +341,8 @@ public class InBussManageServiceImpl implements InBussManageService { jsonDiv.put("sect_id", IOSEnum.SECT_ID.code("印尼主存区")); jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库")); jsonDiv.put("material_barcode", jsonObject.getString("material_barcode")); + jsonDiv.put("in_buss", IOSEnum.IS_NOTANDYES.code("是")); + jsonDiv.put("move_block_num", jsonObject.getString("move_block_num")); jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code")); jsonDiv.put("vehicle_type", jsonObject.getString("vehicleType")); iStIvtIostorinvService.divStruct(jsonDiv); 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 39ba124..c9fdfb8 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 @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.SchBasePoint; import org.nl.b_lms.sch.point.dao.mapper.SchBasePointMapper; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -68,6 +69,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { @Override @Transactional public void inVehicle(JSONObject whereJson) { + whereJson.put("type", "3"); SchBasePoint schBasePoint = schBasePointMapper.selectOne(new QueryWrapper().eq("point_code", whereJson.getString("device_code")) .eq("is_delete", IOSEnum.IS_NOTANDYES.code("否")) .eq("is_used", IOSEnum.IS_NOTANDYES.code("是"))); @@ -81,7 +83,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { jsonParam.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库")); jsonParam.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); jsonParam.put("vehicle_type", whereJson.getString("vehicle_type")); - + if("2".equals(whereJson.getString("vehicle_type"))) { + jsonParam.put("move_block_num","3"); + } else { + jsonParam.put("move_block_num","4"); + } JSONObject jsonAttr = getStruct(jsonParam); if (ObjectUtil.isEmpty(jsonAttr)) { @@ -92,12 +98,23 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 生成任务 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010705"); - jsonTaskParam.put("start_device_code", whereJson.getString("device_code")); + + if(IOSEnum.VEHICLE_TYPE_OUT_POINT.code(whereJson.getString("vehicle_type")).equals(whereJson.getString("device_code"))) { + jsonTaskParam.put("start_device_code", whereJson.getString("device_code")); + } else { + jsonTaskParam.put("start_device_code", IOSEnum.VEHICLE_TYPE_SCAN_POINT.code(whereJson.getString("vehicle_type"))); + } jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code")); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); jsonTaskParam.put("containerType", whereJson.getString("vehicle_type")); JSONObject param = new JSONObject(); param.put("containerType", whereJson.getString("vehicle_type")); + param.put("heightLevel", whereJson.getString("heightLevel")); + if(StringUtils.isBlank(whereJson.getString("heightLevel")) + && !IOSEnum.VEHICLE_TYPE_OUT_POINT.code(whereJson.getString("vehicle_type")).equals(whereJson.getString("device_code"))){ + throw new BadRequestException("异常"); + } + param.put("type", whereJson.getString("type")); //0表示为空托盘 jsonTaskParam.put("request_param", param.toString()); @@ -105,7 +122,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { taskBean.createTask(jsonTaskParam); //测试屏蔽下发acs -// taskBean.immediateNotifyAcs(null); + taskBean.immediateNotifyAcs(null); // 锁定终点 StIvtStructattr stIvtStructattr = stIvtStructattrMapper.selectOne(new QueryWrapper().lambda().eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code"))); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java index 429de16..7b42ac6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -162,6 +162,7 @@ public class LashManageServiceImpl implements LashManageService { // 桁架任务终点 String end_point; + // todo 检查一下这个堆叠的代码逻辑是否正常 // 判断是否有相同订单号、木箱规格的木箱 List likeBoxList = pointDaoList.stream() .filter(row -> ObjectUtil.isNotEmpty(row.getString("box_length")) && @@ -189,11 +190,11 @@ public class LashManageServiceImpl implements LashManageService { jsonPoint.put("vehicle_code", ""); is_move = IOSEnum.IS_NOTANDYES.code("是"); - // 判断是否是2020工位:如果是则需要判断2022工位上后续是否有堆叠的木箱,如果没有则强制离开 - if (jsonPoint.getString("point_code").equals(IOSEnum.POINT_CODE.code("2020"))) { + //判断工位上后续是否有堆叠的木箱,如果没有则强制离开 + //判断是否是1124工位:如果是则需要判断1125工位上后续是否有堆叠的木箱,如果没有则强制离开 + if (jsonPoint.getString("point_code").equals(IOSEnum.POINT_CODE.code("1124"))) { checkMove(); } - } end_point = jsonPoint.getString("point_code"); schBasePointMapper.updateById(JSON.parseObject(jsonPoint.toString(), SchBasePoint.class)); @@ -265,7 +266,7 @@ public class LashManageServiceImpl implements LashManageService { twoLashTask.createTask(jsonTaskParam); //测试屏蔽下发acs -// twoLashTask.immediateNotifyAcs(null); + twoLashTask.immediateNotifyAcs(null); } @Override @@ -482,22 +483,22 @@ public class LashManageServiceImpl implements LashManageService { } /** - * 校验2022捆扎位是否可以强制离开 + * 校验1125捆扎位是否可以强制离开 */ private void checkMove() { - // 判断2022工位是否有有货 + // 判断1125工位是否有有货 SchBasePoint pointDao = schBasePointMapper.selectOne( new QueryWrapper().lambda() - .eq(SchBasePoint::getPoint_code, IOSEnum.POINT_CODE.code("2022")) + .eq(SchBasePoint::getPoint_code, IOSEnum.POINT_CODE.code("1125")) ); if (ObjectUtil.isNotEmpty(pointDao.getVehicle_code()) && pointDao.getVehicle_qty().intValue() == 1) { - // 判断是否还有去2022工位的行架任务 + // 判断是否还有去1125工位的行架任务 List taskList = ischBaseTaskService.list( new QueryWrapper().lambda() .eq(SchBaseTask::getTask_type, TASKEnum.LASH_TYPE.code("捆扎桁架任务")) .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - .eq(SchBaseTask::getPoint_code2, IOSEnum.POINT_CODE.code("2022")) + .eq(SchBaseTask::getPoint_code2, IOSEnum.POINT_CODE.code("1125")) .ne(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) ); @@ -506,7 +507,7 @@ public class LashManageServiceImpl implements LashManageService { WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class); JSONArray action_rows = new JSONArray(); JSONObject action_jo = new JSONObject(); - action_jo.put("device_code", IOSEnum.POINT_CODE.code("2022")); + action_jo.put("device_code", IOSEnum.POINT_CODE.code("1125")); action_jo.put("code", "to_command"); action_jo.put("product_area", "BLK"); action_jo.put("value", "26"); 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 a04a083..5985862 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 @@ -474,11 +474,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "1,2,3"; + height = "1"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -654,11 +654,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "1,2,3"; + height = "1"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -788,11 +788,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "1,2,3"; + height = "1"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); @@ -903,11 +903,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "1,2,3"; + height = "1"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "2,3"; + height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } moveParam.put("height", height); 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 6c8862a..39ecca7 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 @@ -121,7 +121,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { //测试屏蔽下发acs -// taskBean.immediateNotifyAcs(null); + taskBean.immediateNotifyAcs(null); // 锁定起点 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java index e8256f3..32bc302 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java @@ -353,6 +353,7 @@ public class TwoInBussManageServiceImpl implements TwoInBussManageService { StructattrQuerry structattrQuerry2 = new StructattrQuerry(); structattrQuerry2.setBlock_num(structattrQuerry.getBlock_num()); structattrQuerry2.setSect_id(structattrQuerry.getSect_id()); + structattrQuerry2.setHeight(structattrQuerry.getHeight()); // 查询此巷道的所有仓位 List stIvtStructattrs = stIvtStructattrMapper.getallStruct(structattrQuerry2); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml index 7113e85..2b517a9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml @@ -17,7 +17,7 @@ AND attr.stor_id = #{param.stor_id} AND attr.sect_id = #{param.sect_id} - AND attr.storagevehicle_type != #{param.vehicle_type} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.block_num != #{param.block_num} @@ -29,7 +29,7 @@ AND attr.height in - + #{height} group by attr.block_num @@ -151,11 +151,11 @@ AND attr.sect_id = #{param.sect_id} AND attr.zdepth = '2' - AND attr.storagevehicle_type != #{param.vehicle_type} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in - + #{height} @@ -211,10 +211,10 @@ AND attr.stor_id = #{param.stor_id} AND attr.sect_id = #{param.sect_id} - AND attr.storagevehicle_type != #{param.vehicle_type} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in - + #{height} @@ -247,11 +247,11 @@ AND attr.stor_id = #{param.stor_id} AND attr.sect_id = #{param.sect_id} - AND attr.storagevehicle_type != #{param.vehicle_type} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in - + #{height} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/PdaTableDataInfo.java b/lms/nladmin-system/src/main/java/org/nl/common/PdaTableDataInfo.java new file mode 100644 index 0000000..8214be2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/PdaTableDataInfo.java @@ -0,0 +1,65 @@ +package org.nl.common; + +import cn.hutool.http.HttpStatus; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * 表格分页数据对象 + * + * @author Lion Li + */ + +@Data +@NoArgsConstructor +public class PdaTableDataInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 总记录数 + */ + private long totalElements; + + /** + * 列表数据 + */ + private List data; + + /** + * 消息状态码 + */ + private int code; + + /** + * 消息内容 + */ + private String msg; + + /** + * 分页 + * + * @param list 列表数据 + * @param total 总记录数 + */ + public PdaTableDataInfo(List list, long total) { + this.data = list; + this.totalElements = total; + } + + public static PdaTableDataInfo pdaBuild(List list) { + PdaTableDataInfo rspData = new PdaTableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setData(list); + rspData.setTotalElements(list.size()); + return rspData; + } + + + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 93365c2..ae10865 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -122,7 +122,8 @@ public class LogAspect { if (ex instanceof BadRequestException){ throw ex; }else { - throw new BadRequestException("系统繁忙,请联系管理员确认,稍后再试"); + throw ex; + //throw new BadRequestException("系统繁忙,请联系管理员确认,稍后再试"); } } finally { log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]", url, (System.currentTimeMillis() - comming) / 1000); diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java index 0f7abb7..757f4a9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java @@ -2,6 +2,8 @@ package org.nl.system.controller.dict; import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.PdaTableDataInfo; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; @@ -87,6 +89,14 @@ public class SysDictController { return new ResponseEntity<>(TableDataInfo.build(dictService.queryDetailsPost(code)), HttpStatus.OK); } + @PostMapping("/dictDetail/pdaPost") + public ResponseEntity queryDetailsPdaPost(@RequestBody JSONObject jsonData) { + if(StringUtils.isNotBlank(jsonData.getString("code"))) { + return new ResponseEntity<>(PdaTableDataInfo.pdaBuild(dictService.queryDetailsPdaPost(jsonData.getString("code"))), HttpStatus.OK); + } else { + return new ResponseEntity<>(PdaTableDataInfo.pdaBuild(null), HttpStatus.OK); + } + } @GetMapping(value = "/dictDetail/map") public ResponseEntity getDictDetailMaps(@RequestParam String dictName) { diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java index 8f571d9..13c4c36 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java @@ -1,5 +1,6 @@ package org.nl.system.service.dict; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; @@ -103,5 +104,12 @@ public interface ISysDictService extends IService { */ List queryDetailsPost(String code); + /** + * 根据code获取字典数据 + * @param code + * @return + */ + List queryDetailsPdaPost(String code); + List getInvTypes(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java index 76a0811..9ddd9d8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java @@ -3,6 +3,8 @@ package org.nl.system.service.dict.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -26,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; /** *

@@ -220,6 +223,25 @@ public class SysDictServiceImpl extends ServiceImpl impleme return sysDictMapper.selectList(lam); } + @Override + public List queryDetailsPdaPost(String code) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(Dict::getCode, code) + .isNotNull(Dict::getLabel) + .ne(Dict::getLabel, "") + .orderBy(true, true, Dict::getDict_sort); + List dictList = sysDictMapper.selectList(lam); + return dictList.stream() + .map(dict -> { + JSONObject json = new JSONObject(); + json.put("text", dict.getLabel()); + json.put("value", dict.getValue()); + // 如需其他字段可继续put + return json; + }) + .collect(Collectors.toList()); + } + @Override public List getInvTypes() { return sysDictMapper.getInvTypes(); 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 9df454a..78c80af 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 @@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.sun.org.apache.regexp.internal.RE; import org.nl.b_lms.sch.tasks.slitter.util.MdmDescriptionParseUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -59,6 +60,7 @@ import org.nl.common.enums.SpecEnum; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -197,6 +199,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Autowired private BoxSSXTask boxSSXTask; + @Autowired + private RedisUtils redisUtils; + /** * task_id:任务标识 @@ -1305,6 +1310,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (CollectionUtils.isEmpty(errorMsg)) { whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库")); whereJson.put("material_barcode",containers); + if(whereJson.getString("vehicle_code").startsWith("YNX")) { + whereJson.put("move_block_num", "3"); + } else if(whereJson.getString("vehicle_code").startsWith("YNY")) { + whereJson.put("move_block_num", "4"); + } inBussManageService.inTask(whereJson); PdmProductSpecServiceImpl.doRecord(SpecEnum.RK, null, Boolean.TRUE, null, containers); } else { @@ -1322,9 +1332,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonTaskParam.put("vehicle_code", jsonObject.getString("box_no")); jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code")); JSONObject request_param = new JSONObject(); - if (whereJson.getString("vehicle_code").startsWith("A")) { + if (whereJson.getString("vehicle_code").startsWith("YNX")) { request_param.put("containerType", "2"); - } else if (whereJson.getString("vehicle_code").startsWith("B")) { + } else if (whereJson.getString("vehicle_code").startsWith("YNY")) { request_param.put("containerType", "1"); } else { throw new BadRequestException("托盘号有误,无法找到对应的托盘类型!"); @@ -1343,7 +1353,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) { // 2-空盘入库 whereJson.put("vehicle_type", whereJson.getString("container_type")); + whereJson.put("heightLevel", redisUtils.get(whereJson.getString("vehicle_code")+"InVehicleInHeightLevel")); inVehicleManageService.inVehicle(whereJson); + redisUtils.del(whereJson.getString("vehicle_code")+"InVehicleInHeightLevel"); } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘出库"))) { // 3-空盘出库 if (ObjectUtil.isEmpty(whereJson.getString("container_type"))) { @@ -1430,6 +1442,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { mdPdStoragevehicleext.setUpdate_time(DateUtil.now()); mdPdStoragevehicleextMapper.updateById(mdPdStoragevehicleext); } + //测试,后面改成 + if(whereJson.getString("vehicle_code").startsWith("YNX")) { + whereJson.put("move_block_num", "3"); + } else if(whereJson.getString("vehicle_code").startsWith("YNY")) { + whereJson.put("move_block_num", "4"); + } whereJson.put("material_barcode", material_barcodes); inBussManageService.inTask(whereJson); @@ -1452,6 +1470,26 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); boxSSXTask.createTask(jsonParam); + } + else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("退货异常申请行架对接位至NG位"))) { + //校验 + List pdmBiSubpackagerelations = pdmBiSubpackagerelationMapper.selectList(new QueryWrapper().eq("package_box_sn", whereJson.getString("material_barcode")).eq("status", "0")); + if (ObjectUtil.isEmpty(pdmBiSubpackagerelations)){ + throw new BadRequestException("未查询到子卷包装信息!"); + } + MdPdStorageVehicleInfo mdPdStorageVehicleInfo = mdStorageVehicleInfoMapper.selectOne(new QueryWrapper().eq("storagevehicle_code", whereJson.getString("vehicle_code"))); + if (ObjectUtil.isEmpty(mdPdStorageVehicleInfo)) { + throw new BadRequestException("载具不存在!"); + } + + JSONObject jsonParam = new JSONObject(); + jsonParam.put("start_device_code",whereJson.getString("device_code")); + jsonParam.put("next_device_code",IOSEnum.POINT_CODE.code("木箱装箱开盒盖位")); + jsonParam.put("vehicle_code2",mdPdStorageVehicleInfo.getStoragevehicle_code()); + jsonParam.put("vehicle_code",whereJson.getString("material_barcode")); + jsonParam.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + boxSSXTask.createTask(jsonParam); + } result.put("status", HttpStatus.OK.value()); result.put("message", "下发成功!"); @@ -1896,7 +1934,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } JSONObject jsonObject = new JSONObject(); jsonObject.put("boxLength", boxNo.getBox_length()); @@ -1971,7 +2009,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { height = "2"; } else { - height = "3"; + throw new BadRequestException("高度超高,无法入库"); } JSONObject jsonObject = new JSONObject(); jsonObject.put("boxLength", boxDao.getBox_length()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java index 01c6189..070a140 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java @@ -54,7 +54,7 @@ public class LmsToSapServiceImpl implements LmsToSapService { String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); String api = ""; - url = url + "/sap/center/lms/004"; + url = url + "/sap/center/YNLMS/004"; try { String resultMsg = HttpRequest.post(url).header("TOKEN", token) //.header("sap-client", sap_client) @@ -71,13 +71,13 @@ public class LmsToSapServiceImpl implements LmsToSapService { } catch (Exception e) { // 记录失败日志 - OutboundApiLogger.logFail("sap", "/sap/center/lms/004", "LMS回传SAP交货单", + OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/004", "LMS回传SAP交货单", url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(), System.currentTimeMillis() - startTime); throw new BadRequestException("SAP提示错误:" + e.getMessage()); } // 记录成功日志 - OutboundApiLogger.logSuccess("sap", "/sap/center/lms/004", "LMS回传SAP交货单", + OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/004", "LMS回传SAP交货单", url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200, System.currentTimeMillis() - startTime); return result; @@ -123,7 +123,7 @@ public class LmsToSapServiceImpl implements LmsToSapService { String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue(); String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); - String api = "/sap/center/lms/005"; + String api = "/sap/center/YNLMS/005"; url = url + api; try { String resultMsg = HttpRequest.post(url).header("TOKEN", token) @@ -140,12 +140,12 @@ public class LmsToSapServiceImpl implements LmsToSapService { } catch (Exception e) { // 记录失败日志 - OutboundApiLogger.logFail("sap", "/sap/center/lms/005", "LMS移库接口回传", + OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/005", "LMS移库接口回传", url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(), System.currentTimeMillis() - startTime); throw new BadRequestException("SAP提示错误:" + e.getMessage()); } - OutboundApiLogger.logSuccess("sap", "/sap/center/lms/005", "LMS移库接口回传", + OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/005", "LMS移库接口回传", url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200, System.currentTimeMillis() - startTime); return result; @@ -171,7 +171,7 @@ public class LmsToSapServiceImpl implements LmsToSapService { String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue(); String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); - String api = "/sap/center/lms/007"; + String api = "/sap/center/YNLMS/007"; url = url + api; try { String resultMsg = HttpRequest.post(url).header("TOKEN", token) @@ -188,13 +188,13 @@ public class LmsToSapServiceImpl implements LmsToSapService { } catch (Exception e) { // 记录失败日志 - OutboundApiLogger.logFail("sap", "/sap/center/lms/007", "LMS调拨出库接口回传", + OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/007", "LMS调拨出库接口回传", url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(), System.currentTimeMillis() - startTime); throw new BadRequestException("SAP提示错误:" + e.getMessage()); } // 记录成功日志 - OutboundApiLogger.logSuccess("sap", "/sap/center/lms/007", "LMS调拨出库接口回传", + OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/007", "LMS调拨出库接口回传", url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200, System.currentTimeMillis() - startTime); return result; @@ -220,7 +220,7 @@ public class LmsToSapServiceImpl implements LmsToSapService { String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue(); String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); - String api = "/sap/center/lms/001"; + String api = "/sap/center/YNLMS/001"; url = url + api; try { String resultMsg = HttpRequest.post(url).header("TOKEN", token) @@ -237,13 +237,13 @@ public class LmsToSapServiceImpl implements LmsToSapService { } catch (Exception e) { // 记录失败日志 - OutboundApiLogger.logFail("sap", "/sap/center/lms/001", "LMS成品报废明细回传", + OutboundApiLogger.logFail("sap", "/sap/center/YNLMS/001", "LMS成品报废明细回传", url, "POST", JSONUtil.toJsonStr(jo), e.getMessage(), System.currentTimeMillis() - startTime); throw new BadRequestException("SAP提示错误:" + e.getMessage()); } // 记录成功日志 - OutboundApiLogger.logSuccess("sap", "/sap/center/lms/001", "LMS成品报废明细回传", + OutboundApiLogger.logSuccess("sap", "/sap/center/YNLMS/001", "LMS成品报废明细回传", url, "POST", JSONUtil.toJsonStr(jo), result.toString(), 200, System.currentTimeMillis() - startTime); return result; 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 b1f3cd8..0ec8752 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,7 +26,7 @@ public enum RegionTypeEnum { TWO_KZ01("23", "二期捆扎区", "1754774130626007040"), TWO_FH01("24", "二期发货区", "1759453285649092608"), TWO_OUT01("25", "二期出库区", "1760141408548818944"), - TWO_BZC01("26", "二期主存区", "1748219897940414464"), + TWO_BZC01("26", "主存区", "2071537527294136320"), B1_HKZC("27", "B1烘烤暂存区", "1809497203715215360"), B2_HKZC("28", "B2烘烤暂存区", "1766012860535803904"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java index c84b6fd..3d80b66 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java @@ -67,7 +67,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { if (json.getString("task_type").equals("010709")) { dto.setVehicle_code(json.getString("vehicle_code2")); - if (json.getString("vehicle_code2").contains("A")) { + if (json.getString("vehicle_code2").contains("YNX")) { dto.setRoute_plan_code("two"); } else { dto.setRoute_plan_code("normal"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java index ff14f64..e3cc785 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/util/TaskUtil.java @@ -20,10 +20,10 @@ public class TaskUtil { * 一楼立库获取托盘路由方案two大托盘,normal小托盘 */ public static String getRoutePlanCode(String location) { - if (location.contains("L1-") || location.contains("L2-") || location.contains("L3-") || location.contains("L4-")) { - return "two"; - } else { + if (location.contains("L12-") || location.contains("L13-") || location.contains("L14-") || location.contains("L15-")) { return "normal"; + } else { + return "two"; } } diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue b/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue index 8f3dc33..0676be2 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue @@ -291,6 +291,9 @@ export default { parent_class_code: 'vehicle_type' } crudClassstandard.getClassType(param).then(res => { + console.log(res) + console.log(res) + console.log(res) const data = res.content this.buildTree(data) this.classes1 = data diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue index be09da3..07b0668 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue @@ -407,11 +407,8 @@ export default { this.sects = res.content }) - var area_type = '1585167595403874304' + var area_type = '1791031105286180864' - if (this.storId.toString() === '1582991156504039455') { - area_type = '1791031105286180864' - } crudPoint.getPoint({ 'area_type': area_type }).then(res => { this.pointList = res })