From 2f7f19db3b2a85bf0fd074416aa69de350a28614 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期三, 08 三月 2023 07:55:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |    4 ++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   97 +++++++++++++++++++++++++-----------------------
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java         |    1 
 src/main/resources/mapper/WrkMastMapper.xml                 |    4 ++
 4 files changed, 60 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 08d4b5f..25c8a20 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -32,6 +32,7 @@
     // 鍏ュ簱绗笁姝ワ紝褰撳爢鍨涙満鎶婅揣鏀惧叆搴撲綅鏃�
 //    @Select("select top 1 from dbo.asr_wrk_mast where wrk_no=#{workNo}")
     WrkMast selectCrnWaiting(@Param("workNo")Integer workNo);
+    WrkMast selectCrnWaiting2(@Param("workNo")Integer workNo);
 
     WrkMast selectPakInStep45(@Param("workNo")Integer 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 012062f..6d6cd4b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -115,57 +115,51 @@
                     staProtocol = staProtocol.clone();
                 }
                 Short workNo = staProtocol.getWorkNo();
+                // 灏哄妫�娴嬪紓甯�
+                boolean back = false;
+                String errMsg = "寮傚父锛�";
+                if (staProtocol.isFrontErr()) {
+                    errMsg = errMsg+"鍓嶈秴闄愶紱";
+                    back = true;
+                }
+                if (staProtocol.isBackErr()) {
+                    errMsg = errMsg+"鍚庤秴闄�";
+                    back = true;
+                }
+                if (staProtocol.isHighErr()) {
+                    errMsg = errMsg+"楂樿秴闄�";
+                    back = true;
+                }
+                if (staProtocol.isLeftErr()) {
+                    errMsg = errMsg+"宸﹁秴闄�";
+                    back = true;
+                }
+                if (staProtocol.isRightErr()) {
+                    errMsg = errMsg+"鍙宠秴闄�";
+                    back = true;
+                }
+                if (staProtocol.isWeightErr()) {
+                    errMsg = errMsg+"瓒呴噸";
+                    back = true;
+                }
+                if (staProtocol.isBarcodeErr()) {
+                    errMsg = errMsg+"鎵爜澶辫触";
+                    back = true;
+                }
+                // 閫�鍥�
+                if (back) {
+                    // led 寮傚父鏄剧ず
+                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                    if (ledThread != null) {
+                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
+                    }
+                    continue;
+                }
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading()
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999))
                         && staProtocol.isPakMk()) {
-                    // 灏哄妫�娴嬪紓甯�
-                    boolean back = false;
-                    String errMsg = "寮傚父锛�";
-                    if (staProtocol.isFrontErr()) {
-                        errMsg = errMsg+"鍓嶈秴闄愶紱";
-                        back = true;
-                    }
-                    if (staProtocol.isBackErr()) {
-                        errMsg = errMsg+"鍚庤秴闄�";
-                        back = true;
-                    }
-                    if (staProtocol.isHighErr()) {
-                        errMsg = errMsg+"楂樿秴闄�";
-                        back = true;
-                    }
-                    if (staProtocol.isLeftErr()) {
-                        errMsg = errMsg+"宸﹁秴闄�";
-                        back = true;
-                    }
-                    if (staProtocol.isRightErr()) {
-                        errMsg = errMsg+"鍙宠秴闄�";
-                        back = true;
-                    }
-                    if (staProtocol.isWeightErr()) {
-                        errMsg = errMsg+"瓒呴噸";
-                        back = true;
-                    }
-                    if (staProtocol.isBarcodeErr()) {
-                        errMsg = errMsg+"鎵爜澶辫触";
-                        back = true;
-                    }
-                    // 閫�鍥�
-                    if (back) {
-                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
-                        staProtocol.setWorkNo((short) 32002);
-                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-
-                        // led 寮傚父鏄剧ず
-                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-                        if (ledThread != null) {
-                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
-                        }
-                        continue;
-                    }
 
                     // 鑾峰彇鏉$爜鎵弿浠俊鎭�
                     BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
@@ -1615,6 +1609,17 @@
                     WrkCharge wrkCharge = wrkChargeService.selectById(crnProtocol.getTaskNo());
                     if (wrkCharge == null) {
                         News.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+                        wrkMast = wrkMastMapper.selectCrnWaiting2(crnProtocol.getTaskNo().intValue());
+                        if (wrkMast.getIoType() != 11) {
+                            // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+                            if (wrkMastMapper.updateById(wrkMast) > 0) {
+                                // 鍫嗗灈鏈哄浣�
+                                crnThread.setResetFlag(true);
+                                News.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵��,澶嶄綅锛屼絾鏈壘鍒板伐浣滄。銆傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+                            } else {
+                                News.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵��,澶嶄綅澶辫触锛屼絾鏈壘鍒板伐浣滄。銆傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+                            }
+                        }
                         continue;
                     } else {
                         // 灏忚溅鎼嚦鎸囧畾搴撲綅瀹屾垚
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 78869df..0385170 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -289,7 +289,11 @@
             short commandFinish = 1;
             Thread.sleep(300);
             result = siemensNet.Write("DB100.18", commandFinish);
+            log.info("鍐欏叆鍫嗗灈鏈哄懡浠ゅ悗杩斿洖鎴愬姛锛屽苟涓斿洖璇绘垚鍔熴�傚爢鍨涙満plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(command), writeCount);
+        }else {
+            log.info("鏈啓鍏ュ爢鍨涙満鍛戒护"+command.getAckFinish());
         }
+        log.info("鍫嗗灈鏈哄懡浠ゆ祴璇�-----"+command.getAckFinish());
 
         try {
             // 鏃ュ織璁板綍
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index a90895b..e395995 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -101,6 +101,10 @@
         select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts in (4,5,7,13, 16)
     </select>
 
+    <select id="selectCrnWaiting2" resultMap="BaseResultMap">
+        select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts = 18
+    </select>
+
     <select id="selectCarWaiting" resultMap="BaseResultMap">
         select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts in (2,8,11,14)
     </select>

--
Gitblit v1.9.1