| src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/utils/Utils.java
@@ -10,6 +10,7 @@ import com.zy.asrs.service.RowLastnoService; import com.zy.common.CodeBuilder; import com.zy.common.model.LocDetlDto; import com.zy.common.model.LocGroupOrder; import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; import com.zy.system.service.UserService; @@ -642,6 +643,37 @@ } public static List<Integer> getLocGroupAsc(SlaveProperties slaveProperties, String locNo) { return new ArrayList<>(); LocGroupOrder checkOrder = findLocGroupOrder(slaveProperties, locNo); List<Integer> rowList = checkOrder.getRowList(); return new ArrayList<>(rowList); } public static LocGroupOrder findLocGroupOrder(SlaveProperties slaveProperties, String locNo) { int row1 = Utils.getRow(locNo); int bay1 = Utils.getBay(locNo); List<LocGroupOrder> locGroupAscOrder = slaveProperties.getLocGroupAscOrder(); LocGroupOrder checkOrder = null; for (LocGroupOrder order : locGroupAscOrder) { if (!order.getRowList().contains(row1)){ continue; } if (bay1 < order.getMinBay()){ continue; } if (bay1 > order.getMaxBay()){ continue; } checkOrder = order; } if (checkOrder == null){ throw new RuntimeException(locNo + "库位号,未定义库位组规则"); } return checkOrder; } } src/main/java/com/zy/common/service/CommonService.java
@@ -265,7 +265,80 @@ //搜索空托盘库位 public LocMast searchEmptyPallet(LocTypeDto locTypeDto){ return new LocMast(); LocMast targetLocMast = null; List<LocMast> locMastsD = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D")); for (LocMast locMast : locMastsD) { String locNo = locMast.getLocNo(); //获取通道组 List<Integer> locGroupDesc = Utils.getLocGroupDesc(slaveProperties, locNo); for (Integer row : locGroupDesc) { String deepLocNo = Utils.getLocNo(row, Utils.getBay(locNo), Utils.getLev(locNo)); LocMast deepLoc = locMastService.selectById(deepLocNo); if (deepLoc == null){ continue; } if (deepLoc.getLocSts().equals("F")){ continue; }else if (deepLoc.getLocSts().equals("O")){ targetLocMast = deepLoc; break; }else { break; } } } if (targetLocMast == null){ //获取设备楼层 List<Integer> levList = basCrnpService.getLevList(); Collections.shuffle(levList); List<Integer> locLevList = locMastService.getLevList(); levList.addAll(locLevList); for (Integer lev : levList) { //相近物料匹配失败,搜索可用空库位组 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("lev1", lev).orderBy("bay1", true)); for (LocMast locMast : locMasts) { String locNo = locMast.getLocNo(); //获取通道组 List<Integer> locGroupDesc = Utils.getLocGroupDesc(slaveProperties, locNo); boolean flag = true; for (Integer row : locGroupDesc) { String deepLocNo = Utils.getLocNo(row, Utils.getBay(locNo), Utils.getLev(locNo)); LocMast deepLoc = locMastService.selectById(deepLocNo); if (deepLoc == null){ continue; } if (!deepLoc.getLocSts().equals("O")){ flag = false; break; } } if (flag){ for (Integer row : locGroupDesc) { String deepLocNo = Utils.getLocNo(row, Utils.getBay(locNo), Utils.getLev(locNo)); LocMast deepLoc = locMastService.selectById(deepLocNo); if (deepLoc == null){ continue; } targetLocMast = deepLoc; break; } break; } } if (targetLocMast != null){ break; } } } return targetLocMast; } /** src/main/java/com/zy/common/web/WcsController.java
@@ -10,6 +10,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.entity.param.StatusParam; import com.zy.asrs.entity.result.FindLocNoAttributeVo; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.*; import com.zy.common.CodeRes; @@ -174,7 +175,8 @@ StartupDto dto = null; dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto); // dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto); dto = startupFullPutStore(Integer.valueOf(param.getFromPort()), null, locTypeDto, null); log.info("WCS入库接口返参:{},托盘码:{}", dto); return Re.ok(); }