src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
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/asrs/service/impl/LocMastServiceImpl.java
@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -70,7 +71,28 @@ @Override public Boolean isOutMost(String locNo, Boolean pakin) { return Integer.parseInt(locNo.substring(0, 2)) == Utils.getOutLayerRow(locNo, pakin); int row = Utils.getRow(locNo); int bay = Utils.getBay(locNo); ArrayList<Integer> list = new ArrayList<Integer>(){{ add(1);add(3);add(4);add(6); add(8);add(10);add(11); }}; if (list.contains(row)) { return true;//最外侧库位 } if (row == 13 && (bay >= 59 && bay <= 61)) { return true;//最外侧库位 } if (bay < 59) { if (row == 13 || row == 14 || row == 16) { return true;//最外侧库位 } } return false;//不是最外侧库位 } public static void main(String[] args) { src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -190,9 +190,9 @@ } } List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); if (!Cools.isEmpty(groupInsideLoc)) { for (String insideLoc : groupInsideLoc) { List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo); if (!Cools.isEmpty(groupInnerLoc)) { for (String insideLoc : groupInnerLoc) { if (locNos.contains(insideLoc)){ continue; } @@ -554,9 +554,9 @@ if (sign){ break; } List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); if (!Cools.isEmpty(groupInsideLoc)) { for (String insideLoc : groupInsideLoc) { List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo); if (!Cools.isEmpty(groupInnerLoc)) { for (String insideLoc : groupInnerLoc) { if (locNos.contains(insideLoc)){ continue; } src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -49,55 +49,29 @@ if (ioType != 11) { // 入库 if (ioType < 100) { List<String> groupOuterLoc = Utils.getGroupOuterLocIoPri(locNo); if (!Cools.isEmpty(groupOuterLoc)) { for (String outerLoc : groupOuterLoc) { WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(outerLoc); List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo); if (!Cools.isEmpty(groupInnerLoc)) { for (String innerLoc : groupInnerLoc) { WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(innerLoc); if (wrkMast != null) { defaultIoPri = wrkMast.getIoPri() - 2; // defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2; } } } List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); if (!Cools.isEmpty(groupInsideLoc)) { for (String insideLoc : groupInsideLoc) { WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(insideLoc); if (wrkMast != null) { defaultIoPri = wrkMast.getIoPri() + 2; // defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2; } } } // 出库 } else { List<String> groupOuterLoc = Utils.getGroupInsideLoc(locNo); List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); if (!Cools.isEmpty(groupOuterLoc)) { for (String outerLoc : groupOuterLoc) { WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(outerLoc); if (wrkMast != null) { defaultIoPri = wrkMast.getIoPri() - 2; break; // defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2; } } } List<String> groupInsideLoc = Utils.getGroupOuterLocIoPri(locNo); if (!Cools.isEmpty(groupInsideLoc)) { for (String insideLoc : groupInsideLoc) { WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(insideLoc); if (wrkMast != null) { defaultIoPri = wrkMast.getIoPri() + 2; // defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2; } } } } // 移库 } else { // @Deprecated } return defaultIoPri == null ? 300.0D : defaultIoPri; return defaultIoPri == null ? 100.0D : defaultIoPri; } @Override src/main/java/com/zy/asrs/utils/Utils.java
@@ -181,17 +181,6 @@ return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2); } public static Integer getOutLayerRow(String locNo, Boolean pakin){ int row = getRow(locNo); if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { return 4; } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { return 5; } else { return -1; } } /** * 获取库位组 * @param locNo 库位号 @@ -259,7 +248,7 @@ } public static void main(String[] args) { System.out.println(JSON.toJSONString(getGroupInnerLoc("1605909"))); System.out.println(JSON.toJSONString(getGroupLoc("0703409"))); } /** @@ -358,105 +347,6 @@ return new ArrayList<>(); } throw new RuntimeException("库位解析异常"); } // 外侧方向的货位 优先入库方向/优先出库方向 public static List<String> getGroupOuterLocIoPri(String locNo){ // int row = getRow(locNo); // List<String> result = new ArrayList<>(); // if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { // for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) { // if (integer < row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)){ // for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST_SHORT) { // if (integer < row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)){ // for (Integer integer : CommonService.SECOND_GROUP_ROW_LIST) { // if (integer < row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)){ // List<Integer> clone = Arrays.asList(new Integer[CommonService.THIRD_GROUP_ROW_LIST.size()]); // Collections.copy(clone, CommonService.THIRD_GROUP_ROW_LIST); // Collections.reverse(clone); // for (Integer integer : clone) { // if (integer > row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } // return result; return null; } // 内侧方向的货位 优先入库方向/优先出库方向 ===>> 反之 public static List<String> getGroupInsideLoc(String locNo){ // int row = getRow(locNo); // List<String> result = new ArrayList<>(); // if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { // List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST.size()]); // Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST); // Collections.reverse(clone); // for (Integer integer : clone) { // if (integer > row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { // List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST_SHORT.size()]); // Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST_SHORT); // Collections.reverse(clone); // for (Integer integer : clone) { // if (integer > row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { // List<Integer> clone = Arrays.asList(new Integer[CommonService.SECOND_GROUP_ROW_LIST.size()]); // Collections.copy(clone, CommonService.SECOND_GROUP_ROW_LIST); // Collections.reverse(clone); // for (Integer integer : clone) { // if (integer > row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { // for (Integer integer : CommonService.THIRD_GROUP_ROW_LIST) { // if (integer < row) { // result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); // } else { // break; // } // } // } else { //// throw new RuntimeException("库位解析异常"); // } // if (!Cools.isEmpty(result)) { // Collections.reverse(result); // } // return result; return null; } } src/main/java/com/zy/common/service/CommonService.java
@@ -344,9 +344,9 @@ // 1.当检索库排为浅库位排时,优先寻找当前库排的深库位排 List<LocMast> peakLocs = locMastService.selectAllPeakLoc(); for (LocMast peakLoc : peakLocs) { List<String> groupInsideLoc = Utils.getGroupInsideLoc(peakLoc.getLocNo()); if (!Cools.isEmpty(groupInsideLoc)) { if (!locMastService.checkAllLocEmpty(groupInsideLoc)) continue; List<String> groupInnerLoc = Utils.getGroupInnerLoc(peakLoc.getLocNo()); if (!Cools.isEmpty(groupInnerLoc)) { if (!locMastService.checkAllLocEmpty(groupInnerLoc)) continue; locMast = peakLoc; break; } else {