From a853cf5758095db64924c8ccacd43fd61a20d597 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 11 八月 2020 09:24:05 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   20 ++++++++++++--------
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    8 ++++++--
 src/main/java/com/zy/core/thread/CrnThread.java             |    2 ++
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 5f98223..aa086c1 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -32,9 +32,13 @@
     @Select("select top 1 * from asr_wrk_mast where wrk_no=#{workNo} and wrk_sts=14 and (io_type=103 or io_type=107 or io_type=104)")
     WrkMast selectPickStep(@Param("workNo")Integer workNo);
 
-    // 鍑哄簱鏃讹紝浠庡爢鍨涙満鍑哄簱绔欏埌鐩爣鍑哄簱绔欙紝鍫嗗灈鏈哄嚭搴撶珯鏈夌墿鏃舵墽琛�
+    // 鍑哄簱绗竴姝ワ紝浠庡簱浣嶅埌鍫嗗灈鏈哄嚭搴撶珯
+    @Select("select top 1 * from dbo.asr_wrk_mast where crn_no={crnNo} and wrk_sts=11 and io_type>100 order by io_pri desc,io_time,wrk_no asc")
+    WrkMast selectPakOutStep1(@Param("crnNo")Integer crnNO);
+
+    // 鍑哄簱绗簩姝ワ紝浠庡爢鍨涙満鍑哄簱绔欏埌鐩爣鍑哄簱绔欙紝鍫嗗灈鏈哄嚭搴撶珯鏈夌墿鏃舵墽琛�
     @Select("select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC")
-    WrkMast selectPakOutStep1(@Param("sourceStaNo")Integer sourceStaNo);
+    WrkMast selectPakOutStep2(@Param("sourceStaNo")Integer sourceStaNo);
 
     // work log -------------------------------------------------------
     @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
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 bd2af25..f409a1f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -246,7 +246,7 @@
                 StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo());
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
                     // 鏌ヨ宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(staProtocol.getSiteId());
+                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
                     if (wrkMast == null) {
                         continue;
                     }
@@ -304,8 +304,8 @@
             if (basCrnp == null) {
                 continue;
             }
-            // 鍙湁褰撳爢鍨涙満绌洪棽 鎴栬�� 鏃犱换鍔℃椂鎵嶇户缁墽琛�
-            if (crnProtocol.getStatusType() == CrnStatusType.IDLE || crnProtocol.getTaskNo() == 0) {
+            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0) {
                 // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
                 if (crnProtocol.getLastIo().equals("I")) {
                     if (basCrnp.getInEnable().equals("Y")) {
@@ -348,23 +348,23 @@
                 flag = true;
             }
             if (!flag) {
-                return;
+                continue;
             }
             // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
             WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo());
             if(null == wrkMast) {
                 log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
-                return;
+                continue;
             }
             // 鑾峰彇搴撲綅淇℃伅
             LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
             if (locMast == null) {
                 log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo());
-                return;
+                continue;
             }
             if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) {
                 log.error("搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
-                return;
+                continue;
             }
 
             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -378,7 +378,6 @@
             crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 灞�
             if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(2, crnCommand))) {
                 log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-                throw new CoolException("鏇存柊鍫嗗灈鏈轰俊鎭け璐�");
             }
         }
     }
@@ -392,6 +391,11 @@
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
             StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
 
+            // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
+            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId());
+            if (wrkMast == null) {
+                continue;
+            }
 
 
         }
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index edc4600..4b2442a 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -8,6 +8,7 @@
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.Task;
+import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -44,6 +45,7 @@
                         readStatus();   // 璇诲彇鐘舵��
                         break;
                     case 2:
+                        CrnCommand command = (CrnCommand) task.getData();
                         break;
                     case 3:
                         break;

--
Gitblit v1.9.1