From bb25300d92dd425f9608f444d6de5e1580cca217 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 12 七月 2024 15:00:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    1 +
 src/main/resources/mapper/WrkMastMapper.xml                 |    4 ++++
 src/main/resources/application.yml                          |    2 --
 4 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 6a95d49..60a15b5 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -59,6 +59,7 @@
     // 鍑哄簱绗簩姝ワ紝浠庡爢鍨涙満鍑哄簱绔欏埌鐩爣鍑哄簱绔欙紝鍫嗗灈鏈哄嚭搴撶珯鏈夌墿鏃舵墽琛�
 //    @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 selectPakOutStep2(@Param("sourceStaNo")Integer sourceStaNo);
+    WrkMast selectPakOutStep2345(@Param("sourceStaNo")Integer sourceStaNo,@Param("workNo")Integer workNo);
 
     WrkMast selectPakOutStep3(@Param("sourceStaNo")Integer sourceStaNo);
 
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 468076a..f5af807 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1073,7 +1073,7 @@
                     case 3:
                     case 4:
                     case 5:
-                        crnStnToOutStnTwo(crnStn,1);
+                        crnStnToOutStnTwo(crnSlave.getId(),crnStn,1);
                         continue;
                     case 6:
                     case 7:
@@ -1206,7 +1206,7 @@
         return false;
     }
 
-    public synchronized boolean crnStnToOutStnTwo(CrnSlave.CrnStn crnStn ,Integer conStation) {
+    public synchronized boolean crnStnToOutStnTwo(Integer crnNo,CrnSlave.CrnStn crnStn ,Integer conStation) {
         try{
             Date now = new Date();
             // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
@@ -1218,19 +1218,21 @@
                 staProtocol = staProtocol.clone();
             }
             if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
-                // 鏌ヨ宸ヤ綔妗�
-                WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
-                if (wrkMast == null) {
-                    return false;
-                }
-                // 鍒ゆ柇宸ヤ綔妗f潯浠�
-                if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
-                    return false;
-                }
+
                 // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
-                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn,crnNo);
                 CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+
                 if (conStation==1){
+                    // 鏌ヨ宸ヤ綔妗�
+                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2345(staProtocol.getSiteId(),crnProtocol.getTaskNo().intValue());
+                    if (wrkMast == null) {
+                        return false;
+                    }
+                    // 鍒ゆ柇宸ヤ綔妗f潯浠�
+                    if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+                        return false;
+                    }
                     if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
                         // 绉诲姩涓�
                         return false;
@@ -1276,6 +1278,15 @@
                         }
                     }
                 }else if (conStation==2){
+                    // 鏌ヨ宸ヤ綔妗�
+                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2345(staProtocol.getSiteId(),crnProtocol.getTaskNoTwo().intValue());
+                    if (wrkMast == null) {
+                        return false;
+                    }
+                    // 鍒ゆ柇宸ヤ綔妗f潯浠�
+                    if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+                        return false;
+                    }
                     if (crnProtocol.statusTypeTwo == CrnStatusType.FETCHING || crnProtocol.statusTypeTwo == CrnStatusType.PUTTING) {
                         // 绉诲姩涓�
                         return false;
@@ -1396,7 +1407,7 @@
                     case 3:
                     case 4:
                     case 5:
-                        crnStnToOutStnTwo(crnStn,2);
+                        crnStnToOutStnTwo(crnSlave.getId(),crnStn,2);
                         continue;
                     default:
                         break;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7130128..249162d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -254,12 +254,10 @@
 #      staNo: 173
     # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
     inLargeSta[0]:
-      barcode: ${wcs-slave.barcode[1].id}
       staNo: 292
       barcode: ${wcs-slave.barcode[1].id}
     # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
     inLargeSta[1]:
-      barcode: ${wcs-slave.barcode[0].id}
       staNo: 281
       barcode: ${wcs-slave.barcode[0].id}
     # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 6e11a13..ac74d1e 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -131,6 +131,10 @@
         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
     </select>
 
+    <select id="selectPakOutStep2345" resultMap="BaseResultMap">
+        select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC
+    </select>
+
     <select id="selectPakOutStep3" resultMap="BaseResultMap">
         select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and io_type=10
     </select>

--
Gitblit v1.9.1