From 7ea7fa055306a766420d578f508a7dc358afebc1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 25 八月 2022 14:09:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/SteController.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index 803842b..6cfc5dd 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -2,18 +2,26 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.CrnStatusType;
+import com.zy.asrs.domain.param.SteOperatorParam;
 import com.zy.asrs.domain.vo.SteMsgTableVo;
 import com.zy.asrs.domain.vo.SteStateTableVo;
 import com.zy.asrs.entity.BasSte;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.BasSteService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.SteTaskModeType;
+import com.zy.core.model.SteSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.SteCommand;
 import com.zy.core.model.protocol.SteProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.SteThread;
@@ -143,4 +151,49 @@
         return R.ok().add(str.toString());
     }
 
+
+    /****************************************************************/
+    /************************** 鎵嬪姩鎿嶄綔 ******************************/
+    /****************************************************************/
+
+    @ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
+    @PostMapping("/operator/ste")
+    public R steOperator(SteOperatorParam param){
+        if (Cools.isEmpty(param.getSteNo(), param.getSteTaskMode())) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        for (SteSlave ste : slaveProperties.getSte()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            if (param.getSteNo().equals(ste.getId())) {
+                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+                if (steThread == null) {
+                    throw new CoolException("绌挎杞︿笉鍦ㄧ嚎");
+                }
+                SteProtocol steProtocol = steThread.getSteProtocol();
+                if (steProtocol == null) {
+                    throw new CoolException("绌挎杞︿笉鍦ㄧ嚎");
+                }
+                SteTaskModeType steTaskModeType = SteTaskModeType.get(param.getSteTaskMode());
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙�
+                if (param.getSteTaskMode() == 16) {
+                    steCommand.setComplete(true);
+                } else {
+                    if (steTaskModeType == null) {
+                        throw new CoolException("浠诲姟绫诲瀷閿欒");
+                    }
+                    steCommand.setTaskNo(param.getTaskNo()); // 宸ヤ綔鍙�
+                    steCommand.setTaskMode(steTaskModeType);
+                }
+                if (MessageQueue.offer(SlaveType.Ste, ste.getId(), new Task(2, steCommand))) {
+                    return R.ok();
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return R.error();
+    }
+
 }

--
Gitblit v1.9.1