From 8842d9b779d8e2aacb6a5f6429111622fa05c0ab Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 16 八月 2022 16:50:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    4 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    2 
 src/main/java/com/zy/asrs/utils/Utils.java                     |  111 +++++++-----------------------------
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   12 ++--
 src/main/java/com/zy/common/web/WcsController.java             |    4 
 src/main/java/com/zy/asrs/service/LocMastService.java          |    3 
 src/main/java/com/zy/common/service/CommonService.java         |    2 
 7 files changed, 36 insertions(+), 102 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 40fd67d..a31bb9b 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -30,7 +30,7 @@
     @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
     int updateLocNo(String newLocNo, String oldLocNo);
 
-    @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' ORDER BY lm.modi_time ASC")
+    @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE 1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' ORDER BY lm.modi_time ASC")
     List<String> selectSameDetl(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end);
 
     @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' AND DateDiff(dd, lm.modi_time, getdate()) = 0) ORDER BY lm.modi_time ASC")
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index e5fb670..ce77ce6 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -37,8 +37,9 @@
      * @param locNo
      * @return
      */
-    Boolean isOutMost(String locNo);
+    Boolean isOutMost(String locNo, Boolean pakin);
 
+    // 鍚岀粍绌洪棽搴撲綅
     LocMast findOutMost(List<String> locNos);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 1245184..1f5e6eb 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -53,8 +53,8 @@
     }
 
     @Override
-    public Boolean isOutMost(String locNo) {
-        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo);
+    public Boolean isOutMost(String locNo, Boolean pakin) {
+        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo, true);
     }
 
     @Override
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 8291afb..0d39802 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -99,7 +99,7 @@
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾э細13
-        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -226,7 +226,7 @@
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
             wrkMast.setIoPri(13D); // 浼樺厛绾э細13
-            wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+            wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false)?1:0);;
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -301,7 +301,7 @@
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
         wrkMast.setIoPri(13D); // 浼樺厛绾э細13
-        wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo())?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false)?1:0);;
         wrkMast.setCrnNo(locMast.getCrnNo());
         wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
         wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -377,7 +377,7 @@
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(10D); // 浼樺厛绾э細10
-        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -459,7 +459,7 @@
             wrkMast.setIoPri(10D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
-            wrkMast.setOutMost(locMastService.isOutMost(locNo)?1:0);;
+            wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -532,7 +532,7 @@
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
         wrkMast.setIoPri(10D);
-        wrkMast.setOutMost(locMastService.isOutMost(locNo)?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
         wrkMast.setCrnNo(sourceLoc.getCrnNo());
         wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
         wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index d45378d..4b053cb 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,6 +3,7 @@
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.zy.common.properties.SlaveProperties;
+import com.zy.common.service.CommonService;
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
@@ -161,103 +162,35 @@
 
     }
 
-    public static Integer getGroupRow(String locNo){
+    public static Integer getGroupRow(String locNo, Boolean pakin){
         int row = getRow(locNo);
-        switch (row) {
-            case 1:
-            case 2:
-            case 3:
-                return 3;
-            case 4:
-            case 5:
-            case 6:
-            case 7:
-                return 4;
-            case 8:
-            case 9:
-            case 10:
-            case 11:
-                return 11;
-            case 12:
-            case 13:
-            case 14:
-                return 12;
-            case 15:
-            case 16:
-            case 17:
-            case 18:
-                return 18;
-            case 19:
-            case 20:
-            case 21:
-                return 19;
-            default:
-                throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            return pakin?17:2;
         }
+        if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            return pakin?30:18;
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
     }
 
 
     public static List<String> getGroupLoc(String locNo){
         int row = getRow(locNo);
-        switch (row) {
-            case 1:
-            case 2:
-            case 3:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(1), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(2), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(3), 2) + locNo.substring(2));
-                }};
-            case 4:
-            case 5:
-            case 6:
-            case 7:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(4), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(5), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(6), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(7), 2) + locNo.substring(2));
-                }};
-            case 8:
-            case 9:
-            case 10:
-            case 11:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(8), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(9), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(10), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(11), 2) + locNo.substring(2));
-                }};
-            case 12:
-            case 13:
-            case 14:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(12), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(13), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(14), 2) + locNo.substring(2));
-                }};
-            case 15:
-            case 16:
-            case 17:
-            case 18:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(15), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(16), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(17), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(18), 2) + locNo.substring(2));
-                }};
-            case 19:
-            case 20:
-            case 21:
-                return new ArrayList<String>() {{
-                    add(zerofill(String.valueOf(19), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(20), 2) + locNo.substring(2));
-                    add(zerofill(String.valueOf(21), 2) + locNo.substring(2));
-                }};
-            default:
-                throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST) {
+                result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+            }
+            return result;
         }
-
+        if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : CommonService.SECOND_GROUP_ROW_LIST) {
+                result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+            }
+            return result;
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
     }
 
     public static void main(String[] args) {
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0989bf9..ce15337 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -132,7 +132,7 @@
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
         if (!Cools.isEmpty(matNos)) {
-            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), sRow, eRow);
+            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), 2, 30);
             for (String locNo : locNos) {
                 List<String> groupLoc = Utils.getGroupLoc(locNo);
                 locMast = locMastService.findOutMost(groupLoc);
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index be4d849..6a19487 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -118,7 +118,7 @@
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾�
         wrkMast.setCrnNo(dto.getCrnNo());
-        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
         wrkMast.setLocNo(dto.getLocNo());
@@ -191,7 +191,7 @@
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾�
-        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);;
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());

--
Gitblit v1.9.1