From d1480e6c40cbcaf7e0dd6349153a461a3635bee3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 19 八月 2024 09:04:39 +0800
Subject: [PATCH] #优化
---
src/main/java/com/zy/asrs/utils/Utils.java | 244 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 235 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 34f89db..1705301 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -5,7 +5,9 @@
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
import com.zy.common.properties.SlaveProperties;
@@ -486,8 +488,8 @@
add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
}};
case 3:
- return new ArrayList<>();
case 4:
+ return new ArrayList<>();
case 5:
return new ArrayList<String>() {{
add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
@@ -519,8 +521,8 @@
add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
}};
case 11:
- return new ArrayList<>();
case 12:
+ return new ArrayList<>();
case 13:
return new ArrayList<String>() {{
add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
@@ -546,8 +548,8 @@
add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
}};
case 18:
- return new ArrayList<>();
case 19:
+ return new ArrayList<>();
case 20:
return new ArrayList<String>() {{
add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
@@ -800,10 +802,10 @@
}
/**
- * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+ * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丱
* 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFX锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FX
*/
- public static boolean checkInsideLocIsDFX2(String locNo) {
+ public static boolean checkInsideLocIsDFXO(String locNo) {
LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
List<String> insideLoc = Utils.getGroupInsideLoc(locNo);
if (insideLoc.size() > 0) {
@@ -811,8 +813,9 @@
for (LocMast mast : insideLocMast) {
if (!mast.getLocSts().equals("D")
&& !mast.getLocSts().equals("F")
+ && !mast.getLocSts().equals("O")
&& !mast.getLocSts().equals("X")) {
- //D銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
+ //D銆丗銆乆銆丱(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅)
return true;
}
}
@@ -865,9 +868,232 @@
return randomCrnNo;
}
- public static void main(String[] args) {
- List<String> groupLoc = Utils.getGroupLoc("1300801");
- System.out.println(groupLoc);
+ //public static void main(String[] args) {
+ // List<String> groupLoc = Utils.getGroupLoc("1300801");
+ // System.out.println(groupLoc);
+ //}
+
+ public static Double getIoPri(String locNo){
+ switch (Utils.getRow(locNo)){
+ case 3:
+ case 4:
+ case 11:
+ case 12:
+ case 18:
+ case 19:
+ return 21.0;
+ case 2:
+ case 5:
+ case 10:
+ case 13:
+ case 17:
+ case 20:
+ return 19.0;
+ case 1:
+ case 6:
+ case 9:
+ case 14:
+ case 16:
+ case 21:
+ return 17.0;
+ default:
+ return 15.0;
+ }
}
+ public static List<String> getLocNosSort(List<String> locNos){
+ List<String> locSort = new ArrayList<>();
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(15.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(17.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(19.0)){
+ locSort.add(loc);
+ }
+ }
+ for (String loc : locNos){
+ if (getIoPri(loc).equals(21.0)){
+ locSort.add(loc);
+ }
+ }
+ return locSort;
+ }
+
+ public static List<StockOutParam.LocDetl> getStockOutParamLocDetlSort(List<StockOutParam.LocDetl> locNos){
+ List<StockOutParam.LocDetl> locSort = new ArrayList<>();
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(15.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(17.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(19.0)){
+ locSort.add(loc);
+ }
+ }
+ for (StockOutParam.LocDetl loc : locNos){
+ if (getIoPri(loc.getLocNo()).equals(21.0)){
+ locSort.add(loc);
+ }
+ }
+ return locSort;
+ }
+
+ public static boolean getLocNoWeighting(List<String> locNos,String locNo){
+ boolean sign=false;
+ for (String loc : locNos){
+ if (getBay(loc)==getBay(locNo) && getLev(loc)==getLev(locNo) && getRowWeighting(loc)==getRowWeighting(locNo)){
+ sign = true;
+ break;
+ }
+ }
+ return sign;
+ }
+
+
+ public static int getRowWeighting(String locNo){
+ switch (Utils.getRow(locNo)){
+ case 1:
+ case 2:
+ case 3:
+ return 123;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ return 456;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ return 891011;
+ case 12:
+ case 13:
+ case 14:
+ return 121314;
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ return 15161718;
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ default:
+ return 19202122;
+ }
+ }
+
+ public static void main(String[] args) {
+ ArrayList<String> locS = new ArrayList<String>();
+ locS.add("1902501");
+ locS.add("2102501");
+ locS.add("1802301");
+ locS.add("1800101");
+ locS.add("0300102");
+ locS.add("0100102");
+ List<String> innermostSideLoc = getInnermostSideLoc(locS, true);
+ System.out.println(innermostSideLoc);
+ }
+
+ public static List<String> getInnermostSideLoc(List<String> locS, boolean pakin){
+ ArrayList<String> listLoc = new ArrayList<>();
+ ArrayList<String> listLocRBL = new ArrayList<>();
+ for (String locNo : locS){
+ if (!listLocRBL.contains(Utils.getInnermostSideLocRBL(locNo, pakin))){
+ listLocRBL.add(Utils.getInnermostSideLocRBL(locNo, pakin));
+ listLoc.add(locNo);
+ }else {
+ for (String loc1 : listLoc){
+ if (Utils.getInnermostSideLocRBL(locNo, pakin).equals(Utils.getInnermostSideLocRBL(loc1, pakin))){
+ if (!pakin){
+ if (Utils.getRow(loc1)>17 && Utils.getRow(locNo)>Utils.getRow(loc1) ){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ }else if ( Utils.getRow(loc1)<18 && Utils.getRow(locNo)<Utils.getRow(loc1)){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ }
+ }else {
+ if ( Utils.getRow(loc1)<4 && Utils.getRow(locNo)>Utils.getRow(loc1)){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ } else if (Utils.getRow(loc1)>3 && Utils.getRow(loc1)<8 && Utils.getRow(locNo)<Utils.getRow(loc1) ){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ } else if (Utils.getRow(loc1)>7 && Utils.getRow(loc1)<12 && Utils.getRow(locNo)>Utils.getRow(loc1) ){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ } else if (Utils.getRow(loc1)>11 && Utils.getRow(loc1)<15 && Utils.getRow(locNo)<Utils.getRow(loc1) ){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ } else if (Utils.getRow(loc1)>14 && Utils.getRow(loc1)<19 && Utils.getRow(locNo)>Utils.getRow(loc1) ){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ } else if ( Utils.getRow(loc1)>18 && Utils.getRow(locNo)<Utils.getRow(loc1)){
+ listLoc.remove(loc1);
+ listLoc.add(locNo);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ return listLoc;
+ }
+
+ public static String getInnermostSideLocRBL(String locNo, boolean pakin){
+ int row = Utils.getRow(locNo);
+ if (row <= 3) {
+ row = 3;
+ } else if (row <= 7) {
+ row = 4;
+ } else if (row <= 11) {
+ row = 11;
+ } else if (row <= 14) {
+ row = 12;
+ } else if (row <= 18) {
+ row = 18;
+ } else {
+ row = 19;
+ }
+ return ""+row+Utils.getBay(locNo)+Utils.getLev(locNo);
+
+ //if (row <3){
+ // return ""+33+Utils.getBay(locNo)+Utils.getLev(locNo);
+ //}else if (row>30){
+ // return ""+31+Utils.getBay(locNo)+Utils.getLev(locNo);
+ //}
+ //if (row<18 && row>1){
+ // row=1;
+ //}else if (row < 31 && row>17){
+ // row=2;
+ //}
+ //if (pakin){
+ // row=3-row;
+ //}
+ //return ""+row+Utils.getBay(locNo)+Utils.getLev(locNo);
+
+ }
}
--
Gitblit v1.9.1