From 700059de6ffbe956e6546e74aac9a1f0cd6f2663 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 27 三月 2023 11:15:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 136 +++++++++++++++++++++++++++------ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 34 -------- src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 6 src/main/java/com/zy/common/service/CommonService.java | 55 ++++++------- 4 files changed, 141 insertions(+), 90 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index ebd138e..0ead33d 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -540,39 +540,7 @@ int row = getRow(locNoKong); int bay = getBay(locNoKong); int lev = getLev(locNoKong); - if (!(row==4 || row==5)){ - if (row>5){ - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locMast1.getRow1()<row){ - if (!locMast1.getLocSts().equals("O")){ - if (param.getLocNos().contains(locMast1.getLocNo())){ - continue; - } - sign=true; - th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } - } - } - }else { - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locMast1.getRow1()>row){ - if (!locMast1.getLocSts().equals("O")){ - if (param.getLocNos().contains(locMast1.getLocNo())){ - continue; - } - sign=true; - th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } - } - } - } - } + } if (sign){ throw new CoolException("鍑哄簱澶辫触锛�"+th); diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java index 2f977a0..0fc3482 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java @@ -49,7 +49,7 @@ if (ioType != 11) { // 鍏ュ簱 if (ioType < 100) { - List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); + List<String> groupOuterLoc = Utils.getGroupOuterLocIoPri(locNo); if (!Cools.isEmpty(groupOuterLoc)) { for (String outerLoc : groupOuterLoc) { WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(outerLoc); @@ -71,7 +71,7 @@ } // 鍑哄簱 } else { - List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); + List<String> groupOuterLoc = Utils.getGroupInsideLoc(locNo); if (!Cools.isEmpty(groupOuterLoc)) { for (String outerLoc : groupOuterLoc) { WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(outerLoc); @@ -81,7 +81,7 @@ } } } - List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); + List<String> groupInsideLoc = Utils.getGroupOuterLocIoPri(locNo); if (!Cools.isEmpty(groupInsideLoc)) { for (String insideLoc : groupInsideLoc) { WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(insideLoc); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 9fd11fb..bd97705 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -183,6 +183,20 @@ } return result; } + if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST_SHORT) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } @@ -199,32 +213,15 @@ } - public static Integer getInnermostRow(String locNo){ - int row = getRow(locNo); - switch (row) { - case 1: - case 2: - case 3: - case 4: - return 1; - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - return 11; - default: - throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); - } - } - public static List<Integer> getGroupLoc(Integer row){ if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { return CommonService.FIRST_GROUP_ROW_LIST; + } else if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + return CommonService.FIRST_GROUP_ROW_LIST_SHORT; } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { return CommonService.SECOND_GROUP_ROW_LIST; + } else if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + return CommonService.THIRD_GROUP_ROW_LIST; } else { throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } @@ -279,6 +276,49 @@ return result; } + // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 + 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; + } + public static void main(String[] args) { System.out.println(JSON.toJSONString(getGroupOuterLoc("0200101"))); } @@ -287,7 +327,29 @@ public static List<String> getGroupInsideLoc(String locNo){ int row = getRow(locNo); List<String> result = new ArrayList<>(); - if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { + 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); @@ -298,8 +360,8 @@ break; } } - } else if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { - for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) { + } 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 { @@ -319,8 +381,8 @@ public static List<String> getGroupOutsideLoc(String locNo){ int row = getRow(locNo); List<String> result = new ArrayList<>(); - if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { - for (Integer integer : CommonService.SECOND_GROUP_ROW_LIST) { + 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 { @@ -338,6 +400,28 @@ 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 { // throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index c0d057e..3f4744f 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -151,17 +151,31 @@ // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 if (staDescId == 10) { - List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("loc_sts", "D")); - if (locMasts.size() > 0) { - for (LocMast loc : locMasts) { - LocMast locMast0 = locMastService.findNearloc(loc.getLocNo()); - if (null != locMast0) { - // 娴呭簱浣嶇鍚堝昂瀵告娴� - if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { - locMast = locMast0; - break; + //鍏堝垽鏂伐浣滄。锛屾煡鎵句富妗OType=1锛� wrkSts < 10鐨勫伐浣滄槑缁嗭紝鏂欏彿鐩稿悓鐨勬槑缁嗗簱浣� + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type",10)); + for (WrkMast wrkMast : wrkMasts) { + LocMast locMast0 = locMastService.findNearloc(wrkMast.getLocNo()); + if (null != locMast0) { + // 娴呭簱浣嶇鍚堝昂瀵告娴� + if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { + locMast = locMast0; + break; + } + } + } + if (Cools.isEmpty(locMast)){ + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("loc_sts", "D")); + if (locMasts.size() > 0) { + for (LocMast loc : locMasts) { + LocMast locMast0 = locMastService.findNearloc(loc.getLocNo()); + if (null != locMast0) { + // 娴呭簱浣嶇鍚堝昂瀵告娴� + if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { + locMast = locMast0; + break; + } } } } @@ -194,8 +208,7 @@ List<String> groupInsideLoc = Utils.getGroupInsideLoc(peakLoc.getLocNo()); if (!Cools.isEmpty(groupInsideLoc)){ if (!locMastService.checkAllLocEmpty(groupInsideLoc)) continue; - locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", groupInsideLoc.get(0))); + locMast = peakLoc; break; }else { locMast=peakLoc; @@ -206,22 +219,8 @@ // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� if (Cools.isEmpty(locMast)) { - List<LocMast> peakLocs = locMastService.selectAllPeakLoc(); - for (LocMast peakLoc : peakLocs) { - List<String> groupOuterLoc = Utils.getGroupInsideLoc(peakLoc.getLocNo()); - if (!Cools.isEmpty(groupOuterLoc)){ - if (!locMastService.checkAllLocEmpty(groupOuterLoc)) continue; - locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", groupOuterLoc.get(0))); - }else { - locMast = peakLoc; - } - - } - if (Cools.isEmpty(locMast)) { - log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); - throw new CoolException("娌℃湁绌哄簱浣�"); - } + log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); + throw new CoolException("娌℃湁绌哄簱浣�"); } String locNo = locMast.getLocNo(); -- Gitblit v1.9.1