From 2d5f3029da3c66f22071b9d4f39d1470df6b3ff0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 16 三月 2022 12:53:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   39 +++++++++++++++----
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    4 ++
 src/main/resources/mapper/WrkMastMapper.xml                 |   21 ++++++++++
 src/main/java/com/zy/core/MainProcess.java                  |    3 +
 4 files changed, 57 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 604c778..6f9c9c0 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -70,4 +70,8 @@
     @Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}")
     int updateWaitPakInStep2(String barcode);
 
+    WrkMast selectWorkingPakin();
+
+    WrkMast selectWorkingPakout();
+
 }
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 4ec61b3..1c15707 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -115,13 +115,17 @@
 //                }
 
                 // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
+
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
+
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading()
                         && staProtocol.isInEnable()
@@ -266,13 +270,17 @@
             // 閬嶅巻鍏ュ簱鍙�
             for (DevpSlave.Sta inSta : devp.getInSta()) {
                 // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
+
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
+
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999)
@@ -330,13 +338,17 @@
 //                }
 
                 // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
+
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
+
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()){
 
                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
@@ -691,13 +703,18 @@
                 continue;
             }
             // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
             StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
             if (staProtocol == null) {
                 continue;
             } else {
                 staProtocol = staProtocol.clone();
             }
+
+            // 鍏ュ嚭搴撴ā寮忓垽鏂�
+            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
+
+
             // 鏌ヨ绔欑偣璇︾粏淇℃伅
             BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
             if (staDetl == null) {
@@ -1017,13 +1034,17 @@
             // 閬嶅巻绌烘澘鍏ュ簱鍙�
             for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
                 // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
+
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
+
                 // 绔欑偣鏉′欢鍒ゆ柇
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9990 || staProtocol.getWorkNo() == 9997) && staProtocol.isPakMk()) {
@@ -1598,14 +1619,14 @@
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
 
-                WrkMast pakoutOf2F = wrkMastMapper.selectWorkingPakoutOf2F();
-                if (pakoutOf2F != null) {
+                WrkMast pakout = wrkMastMapper.selectWorkingPakout();
+                if (pakout != null) {
                     if (devpThread.ioMode != IoModeType.PAKOUT_MODE) {
                         // 鍑哄簱鍒囨崲涓�
                         devpThread.ioMode = IoModeType.PAKOUT_BOOTING;
 
-                        WrkMast pakinOf2F = wrkMastMapper.selectWorkingPakinOf2F();
-                        if (pakinOf2F == null && !devpThread.getStation().get(201).isLoading() && !devpThread.getStation().get(202).isLoading()) {
+                        WrkMast pakin = wrkMastMapper.selectWorkingPakin();
+                        if (pakin == null && !devpThread.getStation().get(201).isLoading() && !devpThread.getStation().get(202).isLoading()) {
                             // 鍑哄簱妯″紡
                             devpThread.ioMode = IoModeType.PAKOUT_MODE;
                         }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index f88821d..810f454 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -41,7 +41,8 @@
 
                     // 婕旂ず
                     mainService.crnDemoOfLocMove1();
-
+                    // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+                    mainService.ioConvert();
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
                     mainService.generateStoreWrkFile(); // 缁勬墭
                     mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ee26d24..5436457 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -119,4 +119,25 @@
         select top 1 * from dbo.asr_wrk_mast where 1=1 and (wrk_sts=3 or wrk_sts=12) and crn_no=#{crnNo} order by io_time,wrk_no
     </select>
 
+    <!-- 鍏ュ簱浠诲姟 -->
+    <select id="selectWorkingPakin" resultMap="BaseResultMap">
+        select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 order by io_time,wrk_no
+    </select>
+
+    <!-- 鍑哄簱浠诲姟 -->
+    <select id="selectWorkingPakout" resultMap="BaseResultMap">
+        select top 1 *
+        from dbo.asr_wrk_mast
+        where (wrk_sts in (11,12)
+        or (wrk_sts in (14,15) and wrk_no in
+        (
+        select wrk_no
+        from asr_bas_devp
+        where wrk_no > 0)
+        ))
+        and io_type != 11
+        order by io_time,wrk_no
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.1