From 986aca08c6202596ec8bfbbc220b9957904eec3f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 30 十二月 2020 10:42:00 +0800
Subject: [PATCH] ##

---
 src/main/java/com/zy/core/enums/CrnTaskModeType.java        |    1 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    7 ++++---
 src/main/java/com/zy/core/thread/MelsecCrnThread.java       |    1 +
 src/main/java/com/zy/asrs/controller/CrnController.java     |   38 +++++++++++++++++++++++++++-----------
 4 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index af1991a..c0c1558 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -403,23 +403,39 @@
                 if (crnProtocol == null) {
                     throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
                 }
-                // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
-                if (crnProtocol.getCrnError3().leftTakeNoneErr
-                        || crnProtocol.getCrnError3().rightTakeNoneErr
-                        || crnProtocol.getCrnError3().leftTakeThenLoadErr
-                        || crnProtocol.getCrnError3().rightTakeThenLoadErr) {
-                    CrnCommand command = new CrnCommand();
-                    command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
-                    command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
-                    command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+                if (crn.getId() == 1) {
+                    // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
+                    if (crnProtocol.getCrnError3().leftTakeNoneErr
+                            || crnProtocol.getCrnError3().rightTakeNoneErr
+                            || crnProtocol.getCrnError3().leftTakeThenLoadErr
+                            || crnProtocol.getCrnError3().rightTakeThenLoadErr) {
+                        CrnCommand command = new CrnCommand();
+                        command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+                        command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
+                        command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+                        // 寤舵椂鍙戦��
+                        Thread.sleep(3000L);
+                        if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
+                            return R.ok();
+                        } else {
+                            throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                        }
+                    }
+                } else if (crn.getId() == 2) {
+                    CrnCommand crnCommand = new CrnCommand();
+                    crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
+                    crnCommand.setTaskMode(CrnTaskModeType.CANCEL);
+                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                     // 寤舵椂鍙戦��
-                    Thread.sleep(3000L);
-                    if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
+                    Thread.sleep(1000L);
+                    if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {
                         return R.ok();
                     } else {
                         throw new CoolException("鍛戒护涓嬪彂澶辫触");
                     }
                 }
+
+
             }
         }
 
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 e13dc95..79b66f7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -731,7 +731,8 @@
                             if (wrkMast == null) {
                                 continue;
                             }
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
+                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
                                     wrkMast.getWrkNo(),    // 宸ヤ綔鍙�
@@ -747,7 +748,7 @@
                                     wrkMast.getSourceLocNo(),    // 婧愬簱浣�
                                     wrkMast.getBarcode(),    // 鏉$爜
                                     crnProtocol.getAlarm1().intValue(),    // 寮傚父鐮�
-                                    crnError.getErrName(),    // 寮傚父
+                                    errName,    // 寮傚父
                                     1,    // 寮傚父鎯呭喌
                                     now,    // 娣诲姞鏃堕棿
                                     null,    // 娣诲姞浜哄憳
@@ -777,7 +778,7 @@
                     if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
                         // 璁板綍鏂板紓甯�
                         if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
-                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
                             String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
diff --git a/src/main/java/com/zy/core/enums/CrnTaskModeType.java b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
index 9f8af09..e465340 100644
--- a/src/main/java/com/zy/core/enums/CrnTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -10,6 +10,7 @@
     GO_ORIGIN(5),    // 鍥炲師鐐�
     OFFSET_MOVE(7),    // 鍧愭爣绉昏
     TIMING(90),     // 鏍℃椂
+    CANCEL(99),     // 鍙栨秷褰撳墠浠诲姟
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index ff55e83..6fb1898 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -222,6 +222,7 @@
         }
         if (command.getAckFinish() == 1) {
             command.setTaskSend((short) 0);
+            command.setTaskNo((short) 0);
         } else if (command.getAckFinish() == 0) {
             command.setTaskSend((short) 1);
         }

--
Gitblit v1.9.1