From ccbcfdb4241951a36c1d2fe1e0bca6e8b8deb719 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 19 九月 2022 12:48:47 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 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 2f813e9..2994deb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -404,13 +404,13 @@
                     if (basCrnp.getInEnable().equals("Y")) {
                         //  鍏ュ簱
                         if (this.crnStnToLoc(crn, crnProtocol)) {
-                            crnProtocol.setLastIo("O");
                         }
+                        crnProtocol.setLastIo("O");
                     } else if (basCrnp.getOutEnable().equals("Y")) {
                         //  鍑哄簱
                         if (this.locToCrnStn(crn, crnProtocol)) {
-                            crnProtocol.setLastIo("I");
                         }
+                        crnProtocol.setLastIo("I");
                     }
                 }
                 // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
@@ -418,13 +418,13 @@
                     if (basCrnp.getOutEnable().equals("Y")) {
                         //  鍑哄簱
                         if (this.locToCrnStn(crn, crnProtocol)) {
-                            crnProtocol.setLastIo("I");
                         }
+                        crnProtocol.setLastIo("I");
                     } else if (basCrnp.getInEnable().equals("Y")) {
                         //  鍏ュ簱
                         if (this.crnStnToLoc(crn, crnProtocol)) {
-                            crnProtocol.setLastIo("O");
                         }
+                        crnProtocol.setLastIo("O");
                     }
                 }
             }
@@ -541,7 +541,7 @@
                 if (steNo != null) {
                     // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
                     if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
-                        this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo());
+                        this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
                     }
                     // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆  ===>> 7.鍚婅溅鍏ュ簱涓�
                     if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) {
@@ -803,6 +803,40 @@
             }
         }
         return null;
+    }
+
+    /**
+     * 璁╁皬杞︿粠 杩滅偣 ====>> 寰呮満
+     *  绛夊緟鍫嗗灈鏈烘惉杩�
+     */
+    public void letCarBeWaiting(WrkMast wrkMast, Integer steNo, String locNo) {
+        // 鑾峰彇绌挎杞︿俊鎭�
+        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+        SteProtocol steProtocol = steThread.getSteProtocol();
+        if (steProtocol == null) { return; }
+        if (steProtocol.isIdle()) {
+
+            // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+            SteCommand steCommand = new SteCommand();
+            steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+            steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+            steCommand.setTaskMode(SteTaskModeType.findWaiting(steProtocol.getRow().intValue())); // 浠诲姟妯″紡:  鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+
+            steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+            steCommand.setBay(steProtocol.getBay());
+            steCommand.setLev(steProtocol.getLev());
+
+            if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+                log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+            } else {
+                // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
+                wrkMast.setSteNo(steNo);
+                wrkMast.setModiTime(new Date());
+                if (wrkMastMapper.updateById(wrkMast) == 0) {
+                    log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                }
+            }
+        }
     }
 
     /**
@@ -1077,6 +1111,18 @@
                         if (!steThread.confirmPos()) {
                             log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
                         }
+                        // 绌挎杞﹀幓寰呮満浣�
+                        BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
+                        SteCommand steCommand = new SteCommand();
+                        steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
+                        steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+                        steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡:  鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+//                        steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+//                        steCommand.setBay(steProtocol.getBay());
+//                        steCommand.setLev(steProtocol.getLev());
+                        if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
+                            log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
+                        }
                     } else {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 5.杩佸嚭灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                     }
@@ -1324,7 +1370,7 @@
                 }
                 // 绔欑偣鏉′欢鍒ゆ柇
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
-                        && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9990 || staProtocol.getWorkNo() == 9997) && staProtocol.isPakMk()) {
+                        && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 ||  (staProtocol.getWorkNo() >= 9990 && staProtocol.getWorkNo() <= 9999) || staProtocol.getWorkNo() == 9997) && staProtocol.isPakMk()) {
 
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);

--
Gitblit v1.9.1