From a315e29b913babd2e6f8005e2af75ae8484751aa Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 25 十月 2022 10:20:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  102 ++++++++++++++++++++++++++------------------------
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    2 
 src/main/resources/mapper/WrkMastMapper.xml                 |    2 
 3 files changed, 55 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 9aab3b2..c88b693 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -11,7 +11,7 @@
 @Repository
 public interface WrkMastMapper extends BaseMapper<WrkMast> {
 
-    WrkMast selectByLocNo(@Param("sourceLocNo") String sourceLocNo);
+    WrkMast selectBySourceLocNo(@Param("sourceLocNo") String sourceLocNo);
 
 //    @Select("select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type <> 103 and io_type <> 104 and io_type <> 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no")
     List<WrkMast> selectToBeCompleteData();
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 2d1b045..a9e6816 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,6 @@
             }
 
             // 妫�娴嬫槸鍚﹀瓨鍦ㄥ嚭搴撲换鍔�
-//            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;
@@ -716,6 +704,7 @@
             wrkMast.setIoPri((double) 9999);
             wrkMastMapper.updateById(wrkMast);
 
+            // 鍒ゆ柇鏄惁涓虹┛姊簱
             if (!locMastService.isShuttle(wrkMast.getLocNo())) {
 
                 // 闈炵┛姊簱鍏ュ簱 銆� 鍫嗗灈鏈虹洿鎺ュ叆搴� 銆�
@@ -734,17 +723,17 @@
                         switch (shallowLoc.getLocSts()) {
                             case "P":
                             case "R": {
-                                WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                                if (null == waitWrkMast || (waitWrkMast.getIoType() == 101 && waitWrkMast.getWrkSts() >= 14L)) {
+                                WrkMast waitWrkMast = wrkMastMapper.selectBySourceLocNo(shallowLocNo);
+                                if (null == waitWrkMast) {
                                     log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
                                 } else {
-                                    waitWrkMast.setIoPri(15D);
-                                    waitWrkMast.setModiTime(new Date());
-                                    if (wrkMastMapper.updateById(waitWrkMast) == 0) {
-                                        log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
-                                    }
-                                    //20220719 Add锛屽鏋滄祬搴撲綅鐘舵�佷负P/R锛屽伐浣滅姸鎬佷负14/15,璇存槑娴呭簱浣嶅凡缁忕┖浜嗭紝鍙互鎵ц鍏ュ簱浠诲姟
-                                    if (waitWrkMast.getWrkSts() < 14L) {
+                                    if (waitWrkMast.getWrkSts() < 17) {
+                                        waitWrkMast.setIoPri(20D);
+                                        waitWrkMast.setModiTime(new Date());
+                                        if (wrkMastMapper.updateById(waitWrkMast) == 0) {
+                                            log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+                                        }
+                                        //20220719 Add锛屽鏋滄祬搴撲綅鐘舵�佷负P/R锛屽伐浣滅姸鎬佷负14/15,璇存槑娴呭簱浣嶅凡缁忕┖浜嗭紝鍙互鎵ц鍏ュ簱浠诲姟
                                         continue;
                                     }
                                 }
@@ -755,15 +744,15 @@
                                 // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
                                 if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
                                     wrkMast.setUpdMk("Y");
-                                    wrkMast.setIoPri(14D);
+                                    wrkMast.setIoPri(20D);
                                     wrkMastMapper.updateById(wrkMast);
                                     // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
                                     moveLocForDeepLoc(slave, shallowLoc);
                                 }
                                 continue;
                             case "Q": {
-                                WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                                if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
+                                WrkMast waitWrkMast = wrkMastMapper.selectBySourceLocNo(shallowLocNo);
+                                if (null != waitWrkMast && waitWrkMast.getWrkSts() == 9) {
                                     continue;
                                 }
                                 break;
@@ -1799,8 +1788,7 @@
                 if (wrkMast.getIoType() != 11) {
                     // 鍏ュ簱 ==>> 璐х墿鎼叆搴�
                     if (wrkMast.getWrkSts() == 7){
-                        // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
-                        if (locMastService.isOutMost(wrkMast.getLocNo())) {
+                        if (!locMastService.isShuttle(wrkMast.getLocNo())) {
                             // ==> 9.鍏ュ簱瀹屾垚
                             wrkMast.setWrkSts(9L);
                             Date now = new Date();
@@ -1814,35 +1802,51 @@
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                             }
                         } else {
-                            // 缁欑┛姊溅涓嬪彂鍛戒护
-                            Integer steNo = wrkMast.getSteNo();
-                            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
-                            SteProtocol steProtocol = steThread.getSteProtocol();
-                            if (steProtocol == null) { continue; }
-                            if (steProtocol.isIdle()) {
-                                // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-                                SteCommand steCommand = new SteCommand();
-                                steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
-                                steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
-                                steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
-                                if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
-                                    log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+                            // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
+                            if (locMastService.isOutMost(wrkMast.getLocNo())) {
+                                // ==> 9.鍏ュ簱瀹屾垚
+                                wrkMast.setWrkSts(9L);
+                                Date now = new Date();
+                                wrkMast.setCrnEndTime(now);
+                                wrkMast.setModiTime(now);
+                                // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+                                if (wrkMastMapper.updateById(wrkMast) > 0) {
+                                    // 鍫嗗灈鏈哄浣�
+                                    crnThread.setResetFlag(true);
                                 } else {
-                                    // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
-                                    wrkMast.setWrkSts(8L);
-                                    Date now = new Date();
-                                    wrkMast.setCrnEndTime(now);
-                                    wrkMast.setModiTime(now);
-                                    if (wrkMastMapper.updateById(wrkMast) > 0) {
-                                        // 鍫嗗灈鏈哄浣�
-                                        crnThread.setResetFlag(true);
+                                    log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                                }
+                            } else {
+                                // 缁欑┛姊溅涓嬪彂鍛戒护
+                                Integer steNo = wrkMast.getSteNo();
+                                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+                                SteProtocol steProtocol = steThread.getSteProtocol();
+                                if (steProtocol == null) { continue; }
+                                if (steProtocol.isIdle()) {
+                                    // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+                                    SteCommand steCommand = new SteCommand();
+                                    steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+                                    steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+                                    steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
+                                    if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+                                        log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
                                     } else {
-                                        log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                                        // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
+                                        wrkMast.setWrkSts(8L);
+                                        Date now = new Date();
+                                        wrkMast.setCrnEndTime(now);
+                                        wrkMast.setModiTime(now);
+                                        if (wrkMastMapper.updateById(wrkMast) > 0) {
+                                            // 鍫嗗灈鏈哄浣�
+                                            crnThread.setResetFlag(true);
+                                        } else {
+                                            log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                                        }
                                     }
                                 }
                             }
                         }
-                        // 鍏ュ簱 ===>> 杩佸叆灏忚溅 瀹屾垚
+                    // 鍏ュ簱 ===>> 杩佸叆灏忚溅 瀹屾垚
                     } else if (wrkMast.getWrkSts() == 4) {
                         // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
                         wrkMast.setWrkSts(6L);
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 14fc8f7..d62b2c7 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -64,7 +64,7 @@
 
     </resultMap>
 
-    <select id="selectByLocNo"  resultMap="BaseResultMap">
+    <select id="selectBySourceLocNo"  resultMap="BaseResultMap">
         select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo}
     </select>
 

--
Gitblit v1.9.1