diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dto/StructattrQuerry.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dto/StructattrQuerry.java index 440fc9d..194cf3c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dto/StructattrQuerry.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dto/StructattrQuerry.java @@ -12,6 +12,11 @@ public class StructattrQuerry extends PdmBiSubpackagerelation { private String material_id; private String vehicle_type; private String block_num; + //木箱数 + private String box_num; + //托盘数 + private String vehicle_num; + private String row_num; List height; private String not_in_block_num; 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 beb0b80..2d36321 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 @@ -1,22 +1,27 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.TwoInEmpTask; -import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.StructattrQuerry; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService; +import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr; +import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructattrMapper; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.nl.wms.basedata.st.service.impl.StructattrServiceImpl; import org.nl.wms.pda.mps.eum.RegionTypeEnum; -import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -52,33 +57,25 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { */ @Autowired private IschBaseTaskService ischBaseTaskService; + @Autowired + private SchBasePointMapper schBasePointMapper; + + @Autowired + private StIvtStructattrMapper stIvtStructattrMapper; + @Autowired + private StructattrServiceImpl structattrServiceImpl; @Override @Transactional public void inVehicle(JSONObject whereJson) { - // 点位表 - WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); - // 仓位表 - WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); - - // 判断起点点位是否存在 - JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" + - IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" + - IOSEnum.IS_NOTANDYES.code("是") + "'") - .uniqueResult(0); + 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("是"))); - if (ObjectUtil.isEmpty(jsonPoint)) { + if (ObjectUtil.isEmpty(schBasePoint)) { throw new BadRequestException("起始点位不存在或未启用!"); } - /* int count = ischBaseTaskService.count(new QueryWrapper() - .eq("point_code1", whereJson.getString("device_code")) - .eq("vehicle_code", whereJson.getString("vehicle_code")) - .eq("task_type", "010705") - .eq("is_delete", "0") - .lt("task_status", TaskStatusEnum.EXECUTING.getCode())); - if (count>0){ - return; - }*/ + // 找一个托盘区的空仓位 JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); @@ -110,9 +107,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { taskBean.immediateNotifyAcs(null); // 锁定终点 - jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘入库锁")); - attrTab.update(jsonAttr); - + StIvtStructattr stIvtStructattr = stIvtStructattrMapper.selectOne(new QueryWrapper().lambda().eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code"))); + stIvtStructattr.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘入库锁")); + stIvtStructattrMapper.update(stIvtStructattr, new QueryWrapper().lambda() + .eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code")) + ); // 清空缓存 notInRowList.clear(); notInBlockList.clear(); @@ -170,8 +169,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { * @return JSONObject : 仓位对象 */ private JSONObject getStruct(JSONObject jsonParam) { - // 仓位表 - WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + /* * 判断是否有仓位 @@ -179,24 +177,17 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { */ String block_num = jsonParam.getString("move_block_num"); - JSONArray structArray = new JSONArray(); - if (ObjectUtil.isEmpty(block_num)) { - structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + - "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + - "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " + - "AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" + - "AND height = '2'" + - "AND sect_id = '" + jsonParam.getString("sect_id") + "'").getResultJSONArray(0); - } else { - structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + - "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + - "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " + - "AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" + - "AND height = '2'" + - "AND sect_id = '" + jsonParam.getString("sect_id") + "' AND block_num = '"+block_num+"'").getResultJSONArray(0); + LambdaQueryWrapper stIvtStructattrLambdaQueryWrapper = new LambdaQueryWrapper<>(); + stIvtStructattrLambdaQueryWrapper.eq(StIvtStructattr::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + .eq(StIvtStructattr::getIs_used, IOSEnum.IS_NOTANDYES.code("是")).eq(StIvtStructattr::getSect_id, jsonParam.getString("sect_id")) + .eq(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")).eq(StIvtStructattr::getStor_id, jsonParam.getString("stor_id")) + .eq(StIvtStructattr::getStoragevehicle_type, jsonParam.getString("vehicle_type")) + .eq(StIvtStructattr::getHeight, "2"); + if (!ObjectUtil.isEmpty(block_num)) { + stIvtStructattrLambdaQueryWrapper.eq(StIvtStructattr::getBlock_num, block_num); } - - if (ObjectUtil.isEmpty(structArray)) { + List stIvtStructattrs = stIvtStructattrMapper.selectList(stIvtStructattrLambdaQueryWrapper); + if (CollUtil.isEmpty(stIvtStructattrs)) { notInRowList.clear(); notInBlockList.clear(); throw new BadRequestException("仓位不足!"); @@ -219,21 +210,20 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { // 为空则新找巷道 if (ObjectUtil.isEmpty(jsonAttr)) { - jsonParam.put("flag", "1"); notInBlockList.add(jsonParam.getString("block_num")); - - String join = "('" + String.join("','", notInBlockList) + "')"; - jsonParam.put("not_block", join); + jsonParam.put("not_block", notInBlockList); jsonParam.put("storagevehicle_type", jsonParam.getString("vehicle_type")); - List blockList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); - for (int i = 0; i < blockList.size(); i++) { - JSONObject json = blockList.get(i); + List vehicleBlock = stIvtStructattrMapper.getInVehicleBlock(jsonParam); + + for (int i = 0; i < vehicleBlock.size(); i++) { + String vehicleBlockStr = vehicleBlock.get(i); + JSONObject json = new JSONObject(); json.put("stor_id", jsonParam.getString("stor_id")); json.put("sect_id", jsonParam.getString("sect_id")); json.put("vehicle_type", jsonParam.getString("vehicle_type")); + json.put("block_num", vehicleBlockStr); String row_num_2 = getMinRow(json); json.put("row_num", row_num_2); @@ -266,51 +256,39 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { if (!not_in_block_num.equals(IOSEnum.IS_NOTANDYES.code("否"))) { jsonParam.put("not_in_block_num", not_in_block_num); } - - jsonParam.put("flag", "1"); - - // 获取仓库、库区有空位的巷道 - List blockList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); - + List vehicleBlock = stIvtStructattrMapper.getInVehicleBlock(jsonParam); /* * 查询所属巷道所有托盘 */ - String block_in = blockList.stream() - .map(row -> row.getString("block_num")) - .collect(Collectors.joining("','")); - - jsonParam.put("flag", "2"); - jsonParam.put("block_in", "('" + block_in + "')"); + jsonParam.put("block_in",vehicleBlock); - List boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List vehicleStructattr = stIvtStructattrMapper.getInVehicleStructattr(jsonParam); // 为空说明没有托盘,返回最小巷道 - if (ObjectUtil.isEmpty(boxAllList)) { - return blockList.get(0).getString("block_num"); + if (CollUtil.isEmpty(vehicleStructattr)) { + return vehicleBlock.get(0); } // 计算每个巷道的托盘数 - ArrayList blockBoxList = new ArrayList<>(); + List blockBoxList = new ArrayList<>(); - for (int i = 0; i < blockList.size(); i++) { - JSONObject jsonBlock = blockList.get(i); + for (int i = 0; i < vehicleBlock.size(); i++) { + String structattr = vehicleBlock.get(i); - List box_num = boxAllList.stream() - .filter(row -> row.getString("block_num").equals(jsonBlock.getString("block_num"))) + List stIvtStructattrList = vehicleStructattr.stream() + .filter(row -> row.getBlock_num().equals(structattr)) .collect(Collectors.toList()); - - jsonBlock.put("box_num", String.valueOf(box_num.size())); - blockBoxList.add(jsonBlock); + StructattrQuerry structattrQuerry = new StructattrQuerry(); + structattrQuerry.setBlock_num(structattr); + structattrQuerry.setBox_num(String.valueOf(stIvtStructattrList.size())); + blockBoxList.add(structattrQuerry); } - // 最小托盘数的巷道 - List boxNumList = blockBoxList.stream() - .sorted(Comparator.comparing(row -> row.getIntValue("box_num"))) + List structattrQuerries = blockBoxList.stream() + .sorted(Comparator.comparing(row -> row.getBox_num())) .collect(Collectors.toList()); - return boxNumList.get(0).getString("block_num"); + return structattrQuerries.get(0).getBlock_num(); } @@ -326,55 +304,45 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { */ private String getMinRow(JSONObject jsonParam) { - jsonParam.put("flag", "3"); // 获取此仓库、库区、巷道 有空位的排 - List rowList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List vehicleStructRow = stIvtStructattrMapper.getInVehicleStructRow(jsonParam); /* * 查询所属排的所有托盘号 */ - String row_in = rowList.stream() - .map(row -> row.getString("row_num")) - .collect(Collectors.joining("','")); - - jsonParam.put("flag", "2"); - jsonParam.put("row_in", "('" + row_in + "')"); - - List boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + jsonParam.put("row_in",vehicleStructRow); + List boxAllList = stIvtStructattrMapper.getInVehicleStructattr(jsonParam); // 为空说明没有托盘,返回最小排 if (ObjectUtil.isEmpty(boxAllList)) { - if (ObjectUtil.isNotEmpty(rowList)) { - return rowList.get(0).getString("row_num"); + if (ObjectUtil.isNotEmpty(vehicleStructRow)) { + return vehicleStructRow.get(0); } } - // 计算最小排的托盘 - ArrayList rowkBoxList = new ArrayList<>(); - - for (int i = 0; i < rowList.size(); i++) { - JSONObject jsonRow = rowList.get(i); - - List box_num = boxAllList.stream() - .filter(row -> row.getString("row_num").equals(jsonRow.getString("row_num"))) + // 计算最小排的托盘 + List rowkBoxList = new ArrayList<>(); + for (int i = 0; i < vehicleStructRow.size(); i++) { + String vehicleStr = vehicleStructRow.get(i); + List stIvtStructattrList = boxAllList.stream() + .filter(row -> row.getRow_num().equals(vehicleStr)) .collect(Collectors.toList()); - - jsonRow.put("box_num", String.valueOf(box_num.size())); - rowkBoxList.add(jsonRow); + StructattrQuerry structattrQuerry = new StructattrQuerry(); + structattrQuerry.setBox_num(String.valueOf(stIvtStructattrList.size())); + structattrQuerry.setRow_num(vehicleStr); + rowkBoxList.add(structattrQuerry); } // 最小木箱数的排 - List boxNumList = rowkBoxList.stream() - .sorted(Comparator.comparing(row -> row.getIntValue("box_num"))) + List structattrQuerries = rowkBoxList.stream() + .sorted(Comparator.comparing(row -> row.getBox_num())) .collect(Collectors.toList()); String row_num = ""; - if (ObjectUtil.isNotEmpty(boxNumList)) { - row_num = boxNumList.get(0).getString("row_num"); + if (ObjectUtil.isNotEmpty(structattrQuerries)) { + row_num = structattrQuerries.get(0).getRow_num(); } return row_num; } @@ -401,9 +369,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { if (ObjectUtil.isEmpty(jsonParam.getString("row_num"))) { return null; } - - String join = "('" + String.join("','", notInRowList) + "')"; - jsonParam.put("not_row_in", join); + jsonParam.put("not_row_in", notInRowList); // 新的一排 String row_num_new = this.getMinRow(jsonParam); @@ -428,90 +394,85 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { private JSONObject getStructOne(JSONObject jsonParam) { // 获取此仓库、库区、巷道、排的所有空位 根据列、层、深度排序 - jsonParam.put("flag", "4"); - - List rowStructList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List vehicleRowStructattr = stIvtStructattrMapper.getInVehicleRowStructattr(jsonParam); // 获取此仓库、库区、巷道、排的所有仓位 - jsonParam.put("flag", "5"); + List allVehicleStruct = stIvtStructattrMapper.getAllInVehicleStruct(jsonParam); - List structAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); // 需要返回的仓位 - JSONObject jsonAttr = new JSONObject(); - for (int i = 0; i < rowStructList.size(); i++) { - JSONObject json = rowStructList.get(i); + StIvtStructattr stIvtStructattrReturn = new StIvtStructattr(); + for (int i = 0; i < vehicleRowStructattr.size(); i++) { + StIvtStructattr stIvtStructattr = vehicleRowStructattr.get(i); // 判断伸位 - if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("无"))) { + if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("无"))) { // 无需深度 - jsonAttr = json; + stIvtStructattrReturn = stIvtStructattr; break; - } else if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) { + } else if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) { /* * 深货位:判断浅货位是否被锁定 */ // 获取此货位对应的浅货位 - List lowAttr = structAllList.stream() - .filter(row -> row.getString("col_num").equals(json.getString("col_num")) && - row.getString("layer_num").equals(json.getString("layer_num")) && - row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) + List lowAttr = allVehicleStruct.stream() + .filter(row -> row.getCol_num().equals(stIvtStructattr.getCol_num()) && + row.getLayer_num().equals(stIvtStructattr.getLayer_num()) && + row.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) .collect(Collectors.toList()); - if (ObjectUtil.isEmpty(lowAttr) || lowAttr.size() != 1) { + if (CollUtil.isEmpty(lowAttr) || lowAttr.size() != 1) { notInRowList.clear(); notInBlockList.clear(); - throw new BadRequestException("仓位:" + json.getString("struct_code") + "对应的浅货位错误!"); + throw new BadRequestException("仓位:" + stIvtStructattr.getStruct_code() + "对应的浅货位错误!"); } // 判断是否被锁定 - JSONObject jsonAttrLow = lowAttr.get(0); + StIvtStructattr stIvtStructattrLow = lowAttr.get(0); - if (ObjectUtil.isEmpty(jsonAttrLow.getString("storagevehicle_code")) && jsonAttrLow.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + if (ObjectUtil.isEmpty(stIvtStructattrLow.getStoragevehicle_code()) && stIvtStructattrLow.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { // 没有载具和被锁定 - jsonAttr = json; + stIvtStructattrReturn = stIvtStructattr; break; } else { continue; } - } else if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) { + } else if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) { /* * 浅货位:判断深货位是否空洞,是否是相同类型的托盘 */ // 获取此货位对应的深货位 - List darkAttr = structAllList.stream() - .filter(row -> row.getString("col_num").equals(json.getString("col_num")) && - row.getString("layer_num").equals(json.getString("layer_num")) && - row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) + List darkAttr = allVehicleStruct.stream() + .filter(row -> row.getCol_num().equals(stIvtStructattr.getCol_num()) && + row.getLayer_num().equals(stIvtStructattr.getLayer_num()) && + row.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) .collect(Collectors.toList()); if (ObjectUtil.isEmpty(darkAttr) || darkAttr.size() != 1) { notInRowList.clear(); notInBlockList.clear(); - throw new BadRequestException("仓位:" + json.getString("struct_code") + "对应的深货位错误!"); + throw new BadRequestException("仓位:" + stIvtStructattr.getStruct_code() + "对应的深货位错误!"); } // 判断是否有托盘 - JSONObject jsonAttrDark = darkAttr.get(0); + StIvtStructattr stIvtStructattrDark = darkAttr.get(0); - if (ObjectUtil.isNotEmpty(jsonAttrDark.getString("storagevehicle_code"))) { + if (ObjectUtil.isNotEmpty(stIvtStructattrDark.getStoragevehicle_code())) { // 判断是否是空托盘 - if (jsonAttrDark.getString("is_vehicle").equals(IOSEnum.IS_NOTANDYES.code("否")) + if (stIvtStructattrDark.getIs_vehicle().equals(IOSEnum.IS_NOTANDYES.code("否")) ) { continue; } - if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + if (stIvtStructattrDark.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { - if (jsonAttrDark.getString("storagevehicle_type").equals(jsonParam.getString("vehicle_type"))) { - jsonAttr = json; + if (stIvtStructattrDark.getStoragevehicle_type().equals(jsonParam.getString("vehicle_type"))) { + stIvtStructattrReturn = stIvtStructattr; break; } else { continue; @@ -521,8 +482,8 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { } } else { - if (jsonAttrDark.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { - jsonAttr = jsonAttrDark; + if (stIvtStructattrDark.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + stIvtStructattrReturn = stIvtStructattrDark; break; } else { continue; @@ -531,7 +492,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService { } } - return jsonAttr; + if (ObjectUtil.isEmpty(stIvtStructattrReturn)){ + return null; + }else { + JSONObject jsonAttr = (JSONObject) JSONObject.toJSON(stIvtStructattrReturn); + return jsonAttr; + } } } 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 749c739..779ab4d 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 @@ -1,17 +1,23 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.TwoExcepionalMoveTask; import org.nl.b_lms.sch.tasks.TwoInEmpTask; import org.nl.b_lms.sch.tasks.TwoOutEmpTask; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.StructattrQuerry; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.OutVehicleManageService; +import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr; +import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructattrMapper; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -49,9 +55,15 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { /** * 任务服务 */ + @Autowired + private SchBaseTaskMapper schBaseTaskMapper; + @Autowired private IschBaseTaskService ischBaseTaskService; + @Autowired + private StIvtStructattrMapper stIvtStructattrMapper; + @Override @Transactional(rollbackFor = Exception.class) public void outVehicle(JSONObject whereJson) { @@ -60,10 +72,8 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { * 2.找到相同托盘类型的最多排 * 3.确定仓位 */ - // 点位表 - 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_BZC01.getId()); @@ -80,12 +90,11 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { }*/ //判断当前点位是否存在任务,如果存在则不生成任务 - WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - JSONObject jsonObject = wo_Task.query("point_code2 = '" + whereJson.getString("device_code") + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonObject)){ - throw new BadRequestException("点位【"+jsonObject.getString("point_code2")+"】正在出空托盘任务!"); - } + List taskList= schBaseTaskMapper.selectList(new QueryWrapper().lambda().eq(SchBaseTask::getPoint_code2, whereJson.getString("device_code")).lt(SchBaseTask::getTask_status, "07").eq(SchBaseTask::getIs_delete, "0")); + if (ObjectUtil.isNotEmpty(taskList)) { + throw new BadRequestException("点位【"+taskList.get(0).getPoint_code2()+"】正在出空托盘任务!"); + } JSONObject jsonAttr = getStruct(whereJson); if (ObjectUtil.isEmpty(jsonAttr)) { @@ -111,9 +120,12 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { taskBean.immediateNotifyAcs(null); // 锁定起点 - jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘出库锁")); - attrTab.update(jsonAttr); + StIvtStructattr stIvtStructattr = stIvtStructattrMapper.selectOne(new QueryWrapper().lambda().eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code"))); + stIvtStructattr.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘出库锁")); + stIvtStructattrMapper.update(stIvtStructattr, new QueryWrapper().lambda() + .eq(StIvtStructattr::getStruct_code, jsonAttr.getString("struct_code")) + ); // 清空缓存 notOutRowList.clear(); notOutBlockList.clear(); @@ -148,7 +160,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { if (ObjectUtil.isEmpty(jsonAttrNow)) { throw new BadRequestException("仓位不足!"); } - + // 锁定新终点 jsonAttrNow.put("lock_type", IOSEnum.LOCK_TYPE.code("空托盘出库锁")); @@ -210,29 +222,26 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { * @return JSONObject : 仓位对象 */ private JSONObject getStruct(JSONObject whereJson) { - // 仓位表 - WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); /* * 判断是否有相同类型的托盘 * 判断条件:库区、仓库、是否启用、是否删除、未锁定、有载具、相同载具类型 */ - String block_num = whereJson.getString("move_block_num"); - JSONArray structArray = new JSONArray(); - if (ObjectUtil.isEmpty(block_num)) { - structArray = attrTab.query("IFNULL(storagevehicle_code,'') <> '' " + - "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + - "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+whereJson.getString("stor_id")+"' " + - "AND sect_id = '"+whereJson.getString("sect_id")+"' AND storagevehicle_type = '"+whereJson.getString("storagevehicle_type")+"' AND is_emptyvehicle = '1'").getResultJSONArray(0); - } else { - structArray = attrTab.query("IFNULL(storagevehicle_code,'') <> '' " + - "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + - "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+whereJson.getString("stor_id")+"' " + - "AND sect_id = '"+whereJson.getString("sect_id")+"' AND storagevehicle_type = '"+whereJson.getString("storagevehicle_type")+"' AND block_num = '"+block_num+"' AND is_emptyvehicle = '1'").getResultJSONArray(0); + String block_num = whereJson.getString("move_block_num"); + LambdaQueryWrapper stIvtStructattrLambdaQueryWrapper = new LambdaQueryWrapper<>(); + stIvtStructattrLambdaQueryWrapper.apply("IFNULL(storagevehicle_code,'') != '' ") + .eq(StIvtStructattr::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + .eq(StIvtStructattr::getIs_used, IOSEnum.IS_NOTANDYES.code("是")).eq(StIvtStructattr::getSect_id, whereJson.getString("sect_id")) + .eq(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")).eq(StIvtStructattr::getStor_id, whereJson.getString("stor_id")) + .eq(StIvtStructattr::getStoragevehicle_type, whereJson.getString("storagevehicle_type")) + .eq(StIvtStructattr::getIs_emptyvehicle, "1"); + if (!ObjectUtil.isEmpty(block_num)) { + stIvtStructattrLambdaQueryWrapper.eq(StIvtStructattr::getBlock_num, block_num); } + List stIvtStructattrs = stIvtStructattrMapper.selectList(stIvtStructattrLambdaQueryWrapper); - if (ObjectUtil.isEmpty(structArray)) { + if (CollUtil.isEmpty(stIvtStructattrs)) { notOutRowList.clear(); notOutBlockList.clear(); if (ObjectUtil.isNotEmpty(block_num)) { @@ -258,21 +267,19 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { // 为空则新找巷道 if (ObjectUtil.isEmpty(jsonAttr)) { - whereJson.put("flag", "1"); notOutBlockList.add(whereJson.getString("block_num")); - String join = "('" + String.join("','", notOutBlockList) + "')"; - whereJson.put("not_block_id", join); + whereJson.put("not_block_id", notOutBlockList); - List blockList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List vehicleBlock = stIvtStructattrMapper.getOutVehicleBlockList(whereJson); - for (int i = 0; i < blockList.size(); i++) { - JSONObject json = blockList.get(i); + for (int i = 0; i < vehicleBlock.size(); i++) { + String vehicleBlockStr = vehicleBlock.get(i); + JSONObject json = new JSONObject(); json.put("stor_id", whereJson.getString("stor_id")); json.put("sect_id", whereJson.getString("sect_id")); json.put("storagevehicle_type", whereJson.getString("vehicle_type")); - + json.put("block_num", vehicleBlockStr); String row_num_2 = getMaxRow(json); json.put("row_num",row_num_2); @@ -309,8 +316,8 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { if (ObjectUtil.isEmpty(jsonAttr)) { notOutRowList.add(whereJson.getString("row_num")); - String join = "('" + String.join("','", notOutRowList) + "')"; - whereJson.put("not_row_in", join); + + whereJson.put("not_row_in", notOutRowList); // 新的一排 String row_num_new = this.getMaxRow(whereJson); @@ -332,51 +339,42 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { * @return String: 巷道 */ private String getMaxBlock(JSONObject whereJson) { - whereJson.put("flag", "1"); + // 查询所有相同载具类型的巷道集合 - List allBlockList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List outVehicleBlockList = stIvtStructattrMapper.getOutVehicleBlockList(whereJson); - if (ObjectUtil.isEmpty(allBlockList)) { + if (CollUtil.isEmpty(outVehicleBlockList)) { notOutRowList.clear(); notOutBlockList.clear(); throw new BadRequestException("没有相同类型的空托盘库存!"); } - // 查询所有相同托盘类型巷道的仓位 - String block_num_in = allBlockList.stream() - .map(row -> row.getString("block_num")) - .collect(Collectors.joining("','")); + whereJson.put("block_num_in",outVehicleBlockList); + List outVehicleStructattr = stIvtStructattrMapper.getOutVehicleStructattr(whereJson); - whereJson.put("flag", "2"); - whereJson.put("block_num_in", "('"+block_num_in+"')"); - - List likeAttrList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); // 计算每个巷道的数量 - ArrayList blockVehicleList = new ArrayList<>(); + ArrayList blockVehicleList = new ArrayList<>(); - for (int i = 0; i < allBlockList.size(); i++) { - JSONObject jsonBlock = allBlockList.get(i); + for (int i = 0; i < outVehicleBlockList.size(); i++) { + String block_num = outVehicleBlockList.get(i); - List blockAttrNum = likeAttrList.stream() - .filter(row -> row.getString("block_num").equals(jsonBlock.getString("block_num"))) + List stIvtStructattrs = outVehicleStructattr.stream() + .filter(row -> row.getBlock_num().equals(block_num)) .collect(Collectors.toList()); - - jsonBlock.put("vehicle_num", String.valueOf(blockAttrNum.size())); - blockVehicleList.add(jsonBlock); + StructattrQuerry structattrQuerry = new StructattrQuerry(); + structattrQuerry.setBlock_num(block_num); + structattrQuerry.setVehicle_num(String.valueOf(stIvtStructattrs.size())); + blockVehicleList.add(structattrQuerry); } // 最大托盘数的巷道 - List boxNumList = blockVehicleList.stream() - .sorted(Comparator.comparing(row -> row.getIntValue("vehicle_num"))) - .collect(Collectors.toList()); + List boxNumList = blockVehicleList.stream().sorted(Comparator.comparing(row -> row.getVehicle_num())).collect(Collectors.toList()); String block_num = ""; if (ObjectUtil.isNotEmpty(boxNumList)) { - block_num = boxNumList.get(boxNumList.size() - 1).getString("block_num"); + block_num = boxNumList.get(boxNumList.size() - 1).getBlock_num(); } return block_num ; @@ -393,49 +391,44 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { * @return String: 排 */ private String getMaxRow(JSONObject whereJson) { - whereJson.put("flag", "3"); - // 查询所有某一巷道相同载具类型的排集合 - List allRowList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List outVehicleStructRow = stIvtStructattrMapper.getOutVehicleStructRow(whereJson); - if (ObjectUtil.isEmpty(allRowList)) { + if (CollUtil.isEmpty(outVehicleStructRow)) { throw new BadRequestException("请当前排列任务执行完后在试!"); } + // 查询某一巷道所有相同托盘类型排的仓位 - String row_num_in = allRowList.stream() - .map(row -> row.getString("row_num")) - .collect(Collectors.joining("','")); + whereJson.put("row_num_in", outVehicleStructRow); + - whereJson.put("flag", "2"); - whereJson.put("row_num_in", "('"+row_num_in+"')"); - List likeAttrList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + List boxAllList = stIvtStructattrMapper.getOutVehicleStructattr(whereJson); // 计算每个排的数量 - ArrayList blockVehicleList = new ArrayList<>(); + ArrayList blockVehicleList = new ArrayList<>(); - for (int i = 0; i < allRowList.size(); i++) { - JSONObject jsonRow = allRowList.get(i); + for (int i = 0; i < outVehicleStructRow.size(); i++) { + String structRow = outVehicleStructRow.get(i); - List blockAttrNum = likeAttrList.stream() - .filter(row -> row.getString("row_num").equals(jsonRow.getString("row_num"))) + List stIvtStructattrs = boxAllList.stream() + .filter(row -> row.getRow_num().equals(structRow)) .collect(Collectors.toList()); - - jsonRow.put("vehicle_num", String.valueOf(blockAttrNum.size())); - blockVehicleList.add(jsonRow); + StructattrQuerry structattrQuerry = new StructattrQuerry(); + structattrQuerry.setRow_num(structRow); + structattrQuerry.setVehicle_num(String.valueOf(stIvtStructattrs.size())); + blockVehicleList.add(structattrQuerry); } // 最大托盘数的排 - List boxNumList = blockVehicleList.stream() - .sorted(Comparator.comparing(row -> row.getIntValue("vehicle_num"))) + List structattrQuerryList = blockVehicleList.stream() + .sorted(Comparator.comparing(row -> row.getVehicle_num())) .collect(Collectors.toList()); String row_num = ""; - if (ObjectUtil.isNotEmpty(boxNumList)) { - row_num = boxNumList.get(boxNumList.size() - 1).getString("row_num"); + if (ObjectUtil.isNotEmpty(structattrQuerryList)) { + row_num = structattrQuerryList.get(structattrQuerryList.size() - 1).getRow_num(); } return row_num; @@ -455,59 +448,58 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService { private JSONObject getVehicleOne(JSONObject whereJson) { // 查相同托盘类型某一巷道某一排的所有托盘 - whereJson.put("flag", "4"); - List allAttrList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); - // 获取此仓库、库区、巷道、排的所有仓位 - whereJson.put("flag", "5"); + List vehicleRowStructattr = stIvtStructattrMapper.getOutVehicleRowStructattr(whereJson); - List structAllList = WQL.getWO("BST_OUTVEHICLE").addParamMap(whereJson) - .process().getResultJSONArray(0).toJavaList(JSONObject.class); + // 获取此仓库、库区、巷道、排的所有仓位 + List allVehicleStruct = stIvtStructattrMapper.getAllOutVehicleStruct(whereJson); - JSONObject jsonAttr = new JSONObject(); + StIvtStructattr stIvtStructattrReturn = new StIvtStructattr(); // 确定仓位 - for (int i = 0; i < allAttrList.size(); i++) { - JSONObject json = allAttrList.get(i); + for (int i = 0; i < vehicleRowStructattr.size(); i++) { + StIvtStructattr stIvtStructattr = vehicleRowStructattr.get(i); - if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("无"))) { - jsonAttr = json; + if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("无"))) { + stIvtStructattrReturn = stIvtStructattr; break; - } else if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) { + } else if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) { /* * 深货位: 判断浅货位是否被锁定 */ // 获取此货位对应的浅货位 - List lowAttr = structAllList.stream() - .filter(row -> row.getString("col_num").equals(json.getString("col_num")) && - row.getString("layer_num").equals(json.getString("layer_num")) && - row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) + List lowAttr = allVehicleStruct.stream() + .filter(row -> row.getCol_num().equals(stIvtStructattr.getCol_num()) && + row.getLayer_num().equals(stIvtStructattr.getLayer_num()) && + row.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) .collect(Collectors.toList()); if (ObjectUtil.isEmpty(lowAttr) || lowAttr.size() != 1) { notOutRowList.clear(); notOutBlockList.clear(); - throw new BadRequestException("仓位:" + json.getString("struct_code") + "对应的浅货位错误!"); + throw new BadRequestException("仓位:" + stIvtStructattr.getStruct_code() + "对应的浅货位错误!"); } - if (lowAttr.get(0).getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { - jsonAttr = json; + if (lowAttr.get(0).getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + stIvtStructattrReturn = stIvtStructattr; break; } else { continue; } - } else if (json.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) { + } else if (stIvtStructattr.getZdepth().equals(IOSEnum.ZDEPTH_STRUCT.code("浅"))) { /* * 浅货位: 直接出 */ - jsonAttr = json; + stIvtStructattrReturn = stIvtStructattr; break; } - } - - return jsonAttr; + if (ObjectUtil.isEmpty(stIvtStructattrReturn)){ + return null; + }else { + JSONObject jsonAttr = (JSONObject) JSONObject.toJSON(stIvtStructattrReturn); + return jsonAttr; + } } } 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 7aef4a4..a8987d4 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 @@ -330,9 +330,12 @@ public class TwoInBussManageServiceImpl implements TwoInBussManageService { } } - - JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stIvtStructattrReturn); - return jsonObject; + if (ObjectUtil.isEmpty(stIvtStructattrReturn)){ + return null; + }else { + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stIvtStructattrReturn); + return jsonObject; + } } /** diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.java index cb1c354..04d9610 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.java @@ -22,5 +22,25 @@ public interface StIvtStructattrMapper extends BaseMapper { List getstructRow(@Param("param")StructattrQuerry structattrQuerry); - List getAllStruct(StructattrQuerry structattrQuerry); + List getAllStruct(@Param("param")StructattrQuerry structattrQuerry); + + List getInVehicleBlock(JSONObject jsonParam); + + List getInVehicleStructattr(JSONObject jsonParam); + + List getInVehicleStructRow(JSONObject jsonParam); + + List getInVehicleRowStructattr(JSONObject jsonParam); + + List getAllInVehicleStruct(JSONObject jsonParam); + + List getOutVehicleBlockList(JSONObject whereJson); + + List getOutVehicleStructattr(JSONObject whereJson); + + List getOutVehicleStructRow(JSONObject whereJson); + + List getOutVehicleRowStructattr(JSONObject whereJson); + + List getAllOutVehicleStruct(JSONObject whereJson); } 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 d5ca8a3..5ee2b6f 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 @@ -251,5 +251,297 @@ + + + + + + + + + + + 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 dff4134..a34f918 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 @@ -1266,6 +1266,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String pcsn = mdPdStoragevehicleext.getPcsn(); if (StringUtils.isNotEmpty(pcsn)) { JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + pcsn + "'").getResultJSONArray(0); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { errorMsg.add("载具" + whereJson.getString("vehicle_code") + "已绑定" + pcsn); } @@ -1347,10 +1348,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonTaskParam.put("vehicle_code", whereJson.getString("material_barcode")); TwoBoxExcepTask taskBean = new TwoBoxExcepTask(); taskBean.createTask(jsonTaskParam); - } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("木箱入库"))) { - // 5-木箱入库 - whereJson.put("box_no", whereJson.getString("material_barcode")); - inBoxManageService.inBox(whereJson); } else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("退货入库"))) { String materialBarcode = whereJson.getString("material_barcode"); if (StrUtil.isEmpty(materialBarcode)) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java index df192d2..15d400b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java @@ -193,7 +193,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { String is_productstore = stor_jo.getString("is_productstore"); //生产入库 if (StrUtil.equals(bill_type, "0001") || StrUtil.equals(bill_type, "0007")) { - + //1.回传MES //查询该入库单下的所有箱子回传 diff --git a/lms/nladmin-system/src/main/resources/config/application-dev.yml b/lms/nladmin-system/src/main/resources/config/application-dev.yml index 21022a3..ca5e617 100644 --- a/lms/nladmin-system/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-dev.yml @@ -45,7 +45,7 @@ spring: DruidFilter,stat url: jdbc:mysql://localhost:3306/lanzhou_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: root - password: root + password: 123456 slave: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver @@ -86,7 +86,7 @@ spring: DruidFilter,stat url: jdbc:mysql://127.0.0.1:3306/lanzhou_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: root - password: root + password: 123456 rules: readwrite-splitting: data-sources: