From 7aa842ca0c3863da9024873cadd9fd64c72d26d2 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 13 十二月 2022 08:48:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java                  |   21 +++++++---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   17 ++++++++
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    4 ++
 src/main/resources/mapper/WrkMastMapper.xml                 |   32 ++++++++++++++++
 4 files changed, 68 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 415a87d..5de2551 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -87,4 +87,8 @@
 
     WrkMast selectWorkingByCrn(@Param("crnNo")Integer crnNo);
 
+    WrkMast selectPakinWorkingByGroupLoc(@Param("locNos")List<String> locNos);
+
+    WrkMast selectPakoutWorkingByGroupLoc(@Param("locNos")List<String> locNos);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 7100a26..799328d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -692,6 +692,15 @@
 //                log.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo());
                 continue;
             }
+
+            // 鍚屽簱浣嶇粍杩涜鏍¢獙
+            List<String> groupLocNo = Utils.getGroupLocNo(wrkMast.getLocNo());
+            if (!Cools.isEmpty(groupLocNo)) {
+                if (null != wrkMastMapper.selectPakoutWorkingByGroupLoc(groupLocNo)) {
+                    continue;
+                }
+            }
+
             if (wrkMast.getWrkSts() < 3) {
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
                         && staDetl.getCanining()!=null && staDetl.getCanining().equals("Y")) {
@@ -967,6 +976,14 @@
                 continue;
             }
 
+            // 鍚屽簱浣嶇粍杩涜鏍¢獙
+            List<String> groupLocNo = Utils.getGroupLocNo(wrkMast.getSourceLocNo());
+            if (!Cools.isEmpty(groupLocNo)) {
+                if (null != wrkMastMapper.selectPakinWorkingByGroupLoc(groupLocNo)) {
+                    continue;
+                }
+            }
+
             // 鍒ゆ柇鏄惁鏈夊悓搴撲綅缁勭殑鍑哄簱浠诲姟锛屽鏋滄湁锛屽垯鏆傚仠
             List<String> outsideLoc = Utils.getGroupOutsideLoc(wrkMast.getSourceLocNo());
             if (!Cools.isEmpty(outsideLoc)) {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 08df323..a2d24be 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -52,6 +52,21 @@
         return getGroupRow(row, pakin);
     }
 
+    public static List<String> getGroupLocNo(String locNo){
+        int row = getRow(locNo);
+        List<String> result = new ArrayList<>();
+        if (FIRST_GROUP_ROW_LIST.contains(row)) {
+            for (Integer groupRow : FIRST_GROUP_ROW_LIST) {
+                result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
+            }
+        } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
+            for (Integer groupRow : SECOND_GROUP_ROW_LIST) {
+                result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
+            }
+        }
+        return result;
+    }
+
     public static Integer getGroupRow(Integer row, Boolean pakin) {
         if (pakin) {
             if (FIRST_GROUP_ROW_LIST.contains(row)) {
@@ -138,12 +153,6 @@
         return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
     }
 
-    public static void main(String[] args) {
-        SlaveProperties slaveProperties = new SlaveProperties();
-        slaveProperties.setDoubleDeep(true);
-        slaveProperties.setGroupCount(2);
-        System.out.println(getShallowLoc(slaveProperties, "3200101"));
-    }
 
     /**
      * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺�
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 946ad3a..bef9d78 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -186,4 +186,36 @@
         </if>
     </select>
 
+    <select id="selectPakinWorkingByGroupLoc" resultMap="BaseResultMap">
+        select top 1 *
+        from dbo.asr_wrk_mast
+        where 1=1
+        and
+        (
+            (wrk_sts = 2 and ste_no != null)
+            or
+            (wrk_sts in (3,4,5,6,7,8))
+        )
+        and loc_no in
+        <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="selectPakoutWorkingByGroupLoc" resultMap="BaseResultMap">
+        select top 1 *
+        from dbo.asr_wrk_mast
+        where 1=1
+        and
+        (
+            (wrk_sts = 11 and ste_no != null)
+            or
+            (wrk_sts in (12,13,14,15,16,17))
+        )
+        and source_loc_no in
+        <foreach item="item" collection="locNos" index="index"  separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>

--
Gitblit v1.9.1