From 6994981f40f1573f54de1a1e402a7743073cf38e Mon Sep 17 00:00:00 2001
From: fyxc <fyxc@qq.com>
Date: 星期四, 22 五月 2025 14:26:30 +0800
Subject: [PATCH] server commit file

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java  |   22 ++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/CrnController.java |   34 ++++++++++++++++++++++++++++------
 2 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 11082d5..cd3019a 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -388,17 +388,39 @@
     @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟")
     @PostMapping("/operator/taskRe")
     public R taskRe(CrnOperatorParam param){
-        CrnCommand command = new CrnCommand();
-        command.setTaskRe((short)1);
-        return crnControl(command)?R.ok():R.error();
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        if (crnThread == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+
+        if (MessageQueue.offer(SlaveType.Crn, param.getCrnNo(), new Task(4, null))) {
+            return R.ok();
+        } else {
+            return R.error("鍛戒护涓嬪彂澶辫触");
+        }
     }
 
     @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟")
     @PostMapping("/operator/taskClear")
     public R crnTaskClear(CrnOperatorParam param){
-        CrnCommand command = new CrnCommand();
-        command.setTaskClear((short)1);
-        return crnControl(command)?R.ok():R.error();
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        if (crnThread == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+
+        if (MessageQueue.offer(SlaveType.Crn, param.getCrnNo(), new Task(5, null))) {
+            return R.ok();
+        } else {
+            return R.error("鍛戒护涓嬪彂澶辫触");
+        }
     }
 
 //    @ManagerAuth(memo = "鏆傚仠")
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 3b02b31..738225b 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -91,6 +91,12 @@
                         command.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
                         write(command);
                         break;
+                    case 4://鎭㈠鑱旀満
+                        writeResume();
+                        break;
+                    case 5://鍙栨秷浠诲姟
+                        writeCancel();
+                        break;
                     default:
                         break;
                 }
@@ -235,6 +241,22 @@
         }
     }
 
+    private boolean writeResume() throws InterruptedException {
+        OperateResult write = siemensNet.Write("DB100.22", (short) 1);
+        if (write.IsSuccess) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean writeCancel() throws InterruptedException {
+        OperateResult write = siemensNet.Write("DB100.20", (short) 1);
+        if (write.IsSuccess) {
+            return true;
+        }
+        return false;
+    }
+
     /**
      * 鍐欏叆鏁版嵁
      */

--
Gitblit v1.9.1