From 2d4c6a8ef2f3755ba980261362538361f99c2a2e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 14 十月 2022 15:38:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   56 +++++++++++++++++----------
 src/main/resources/mapper/WrkMastMapper.xml                 |   10 ++++-
 2 files changed, 43 insertions(+), 23 deletions(-)

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 b84be88..82c195b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -695,18 +695,22 @@
                 continue;
             }
 
-            // 杩囨护
-            WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), null);
-            if (null != pakoutWrkMast) {
-                if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107)
-                        && pakoutWrkMast.getWrkSts() == 17
-                        && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null
-                ) {
-
-                } else {
-                    log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo());
-                    continue;
-                }
+            // 妫�娴嬫槸鍚﹀瓨鍦ㄥ嚭搴撲换鍔�
+//            WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), null);
+//            if (null != pakoutWrkMast) {
+//                if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107)
+//                        && pakoutWrkMast.getWrkSts() == 17
+//                        && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null
+//                ) {
+//
+//                } else {
+//                    log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo());
+//                    continue;
+//                }
+//            }
+            if (null != wrkMastMapper.selectPakout(slave.getId(), null)) {
+                log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo());
+                continue;
             }
 
             // 缃《浠诲姟
@@ -1014,15 +1018,25 @@
                             SteThread steThread = queryIdleCar(wrkMast);
                             if (steThread != null) {
                                 // 娌℃湁鍏朵粬浠诲姟
-                                WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), steNo);
-                                if (null != pakoutWrkMast) {
-                                    if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107)
-                                            && pakoutWrkMast.getWrkSts() == 17
-                                            && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null
-                                    ) {
-                                        // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
-                                        this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
-                                    }
+//                                boolean hasPakout = true;
+//                                WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), steNo);
+//                                if (null != pakoutWrkMast) {
+//                                    if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107)
+//                                            && pakoutWrkMast.getWrkSts() == 17
+//                                            && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null
+//                                    ) {
+//                                        hasPakout = false;
+//                                    }
+//                                } else {
+//                                    hasPakout = false;
+//                                }
+//                                if (!hasPakout) {
+//                                    // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
+//                                    this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
+//                                }
+                                if (null != wrkMastMapper.selectPakout(slave.getId(), steNo)) {
+                                    // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
+                                    this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
                                 }
                             }
                         }
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index c4b0371..14fc8f7 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -144,9 +144,15 @@
     </select>
 
     <select id="selectPakout" resultMap="BaseResultMap">
-        select top 1 * from dbo.asr_wrk_mast
+        select top 1 *
+        from dbo.asr_wrk_mast
         where 1=1
-        and wrk_sts in (12,13,14,15,16,17)
+        and
+        (
+            (wrk_sts in (12,13,14,15,16,17) and io_type in (101, 110))
+            or
+            (wrk_sts in (12,13,14,15,16) and io_type in (103, 104, 107))
+        )
         and crn_no=#{crnNo}
         <if test="steNo != null">
             and ste_no = #{steNo}

--
Gitblit v1.9.1