From 227c4f1fc845080a70f230a2929fe76c204a9d9f Mon Sep 17 00:00:00 2001
From: vincent <1341870251@qq.com>
Date: 星期二, 18 八月 2020 15:08:50 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/crn.html                          |    8 ++++
 src/main/java/com/zy/asrs/controller/CrnController.java |   41 ++++++++++++++++++++
 src/main/java/com/zy/core/thread/CrnThread.java         |   20 ++++++++-
 3 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index ee847a6..781a542 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -327,6 +327,47 @@
         return R.ok("娓呴櫎鍛戒护鎴愬姛");
     }
 
+    @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
+    @PostMapping("/operator/handleReset")
+    public R handleReset(CrnOperatorParam param) throws Exception {
+        if (param.getCrnNo() == null) {
+            throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
+        }
+        // 鑾峰彇鍫嗗灈鏈虹紦瀛�
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            if (param.getCrnNo().equals(crn.getId())) {
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                if (crnThread == null) {
+                    throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+                }
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+                }
+                // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
+                if (crnProtocol.getCrnError2().leftTakeNoneErr
+                        || crnProtocol.getCrnError2().rightTakeNoneErr
+                        || crnProtocol.getCrnError2().leftPutLoadErr
+                        || crnProtocol.getCrnError2().rightPutLoadErr) {
+                    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("鍛戒护涓嬪彂澶辫触");
+                    }
+                }
+            }
+        }
+
+        return R.error();
+    }
+
     private boolean crnControl(CrnCommand command){
         if (command.getCrnNo() == null) {
             throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index 7ab78f7..73621df 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -249,12 +249,12 @@
 //        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
 //        command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
 //        command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-//        command.setSourcePosX((short)1);     // 婧愬簱浣嶆帓
-//        command.setSourcePosY((short)4);     // 婧愬簱浣嶅垪
+//        command.setSourcePosX((short)2);     // 婧愬簱浣嶆帓
+//        command.setSourcePosY((short)2);     // 婧愬簱浣嶅垪
 //        command.setSourcePosZ((short)3);     // 婧愬簱浣嶅眰
 //        command.setDestinationPosX((short)2);     // 鐩爣搴撲綅鎺�
 //        command.setDestinationPosY((short)4);     // 鐩爣搴撲綅鍒�
-//        command.setDestinationPosZ((short)3);     // 鐩爣搴撲綅灞�
+//        command.setDestinationPosZ((short)4);     // 鐩爣搴撲綅灞�
 //        crnThread.write(command);
 
         // 4.绔欎綅绉昏浆   婧愬拰鐩爣閮藉彂
@@ -298,6 +298,20 @@
 //        command.setDestinationPosY((short) 1);     // 鐩爣搴撲綅鍒�
 //        command.setDestinationPosZ((short) 1);     // 鐩爣搴撲綅灞�
 //        crnThread.write(command);
+
+        // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
+//        if (crnThread.crnProtocol.getCrnError2().leftTakeNoneErr
+//                || crnThread.crnProtocol.getCrnError2().rightTakeNoneErr
+//                || crnThread.crnProtocol.getCrnError2().leftPutLoadErr
+//                || crnThread.crnProtocol.getCrnError2().rightPutLoadErr) {
+//            CrnCommand command = new CrnCommand();
+//            command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+//            command.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
+//            command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+//            Thread.sleep(3000L);
+//            crnThread.write(command);
+//        }
+
     }
 
 }
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index 7ae4d2b..4e761e7 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -155,6 +155,7 @@
 <!--                <button class="item" onclick="pause()">鏆傚仠</button>-->
 <!--                <button class="item" onclick="boot()">鍚姩</button>-->
                 <button class="item" onclick="clearCommand()">娓呴櫎鍛戒护</button>
+                <button class="item" onclick="handleReset()">澶嶄綅</button>
             </div>
         </fieldset>
     </div>
@@ -398,6 +399,13 @@
         });
     }
 
+    // 鎵嬪姩澶嶄綅
+    function handleReset() {
+        http.post(baseUrl+"/crn/operator/clearCommand", getReqParam(), function (res) {
+            layer.msg(res.msg);
+        });
+    }
+
     // 杈撻�佽澶囨棩蹇楄緭鍑� -----------------------------------------------------------------------
     function getSiteOutput() {
         $.ajax({

--
Gitblit v1.9.1