From c74dc9e3a36f1f91d5dc1e867cd2b9faceac2d02 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期五, 11 十一月 2022 10:38:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   25 +++++++++++++++++++++++++
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    6 ++++++
 src/main/resources/mapper/WrkMastMapper.xml                 |    3 +++
 3 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 526e511..36b4585 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -99,4 +99,10 @@
 
     List<WrkMast> selectPick17(@Param("staNo") Integer staNo, @Param("wrkNo") Integer wrkNo);
 
+    /**
+     * 鏌ヨ宸ヤ綔妗f槸鍚﹀瓨鍦ㄧЩ搴撲换鍔�
+     * @param crnNo
+     * @return
+     */
+    WrkMast selectLocMoveData(@Param("crnNo")Integer crnNo);
 }
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 b15818c..1521d31 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -701,6 +701,14 @@
                 log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                 continue;
             }
+
+            //鍔犲己鍒ゆ柇锛屽彧瑕佸瓨鍦ㄧЩ搴撲换鍔★紝璇存槑鍑哄簱浠诲姟鏈畬鍏ㄧ粨鏉燂紝涓嶆墽琛屽叆搴撲换鍔�
+            WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
+            if(!Cools.isEmpty(one)){
+                log.error("鍏ュ簱 ===>> 瀛樺湪绉诲簱鏈畬鎴愪换鍔★紝涓嶈兘鍏ュ簱銆傜Щ搴撲换鍔″彿={},鍫嗗灈鏈哄彿={}", one.getWrkNo(), slave.getId());
+                continue;
+            }
+
             // 鑾峰彇宸ヤ綔鐘舵�佷负 2,3,4,5,6 鐨勫叆搴撳伐浣滄。
             WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
             if(null == wrkMast) {
@@ -895,6 +903,23 @@
                 continue;
             }
 
+            //鍔犲己鍒ゆ柇锛岀‘淇濆洜鍑哄簱瀵艰嚧鐨勭Щ搴撴暣濂椾换鍔″叏閮ㄧ粨鏉熷悗锛屾墠鑳芥墽琛屼笅涓�绗斿嚭搴撲换鍔°�傚彧鏈夊簱浣嶅畬鎴愮Щ搴撳洖鍘诲叏閮ㄤ换鍔″悗锛屾墠璁や负褰撶粍鍑哄簱浠诲姟瀹屾垚
+            WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
+            if(!Cools.isEmpty(one)){
+                //瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍑轰腑锛屼笖绉诲簱婧愬簱浣嶄笌寰呭嚭搴撳簱浣嶄笉鍦ㄥ悓涓�搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗�
+                if(one.getWrkSts() > 10 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getSourceLocNo())
+                        && Utils.getBay(wrkMast.getSourceLocNo()) == Utils.getBay(one.getSourceLocNo())
+                        && Utils.getLev(wrkMast.getSourceLocNo()) == Utils.getLev(one.getSourceLocNo()))){
+                    continue;
+                }
+                //瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍥炰腑锛屼笖绉诲簱鐩爣搴撲綅涓庡緟鍑哄簱搴撲綅涓嶅湪鍚屼竴搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗�
+                if(one.getWrkSts() < 11  && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getLocNo())
+                        && Utils.getBay(wrkMast.getSourceLocNo()) == Utils.getBay(one.getLocNo())
+                        && Utils.getLev(wrkMast.getSourceLocNo()) == Utils.getLev(one.getLocNo()))){
+                    continue;
+                }
+            }
+
             //鍑哄簱搴撲綅涓嶆槸鏈�澶栧眰搴撲綅锛屽垽鏂祬搴撲綅缁勬槸鍚﹂兘涓虹┖锛屾垨瀛樺湪搴撲綅绉昏浆浠诲姟
             boolean flag = false;
             if(!locMastService.isOutMost(wrkMast.getSourceLocNo())){
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 93afb26..5959ba6 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -177,4 +177,7 @@
         </if>
     </select>
 
+    <select id="selectLocMoveData" resultMap="BaseResultMap">
+        select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and io_type=11 order by io_pri desc,io_time,wrk_no asc
+    </select>
 </mapper>

--
Gitblit v1.9.1