From 6b8225e9d81cb6bfa0efeed2f0a02428eb3a86d1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 九月 2022 10:43:37 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java |    3 +
 src/main/java/com/zy/asrs/controller/SteController.java  |   45 +++++++++++++++++++++-
 src/main/webapp/views/ste.html                           |   38 ++++++++++++++++++-
 src/main/java/com/zy/asrs/domain/param/SteModeParam.java |   19 +++++++++
 4 files changed, 101 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index 40cf485..a0a9a87 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -7,6 +7,8 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.CrnStatusType;
+import com.zy.asrs.domain.param.CrnDemoParam;
+import com.zy.asrs.domain.param.SteModeParam;
 import com.zy.asrs.domain.param.SteOperatorParam;
 import com.zy.asrs.domain.vo.SteMsgTableVo;
 import com.zy.asrs.domain.vo.SteStateTableVo;
@@ -20,11 +22,13 @@
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.enums.SteTaskModeType;
+import com.zy.core.model.CrnSlave;
 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.properties.SystemProperties;
 import com.zy.core.thread.SteThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,6 +74,7 @@
                 continue;
             }
             vo.setTaskNo(steProtocol.getTaskNo().intValue());  //  浠诲姟鍙�
+            vo.setStatusVal(steProtocol.getMode().intValue());  // 鍦ㄧ嚎鐘舵��
             vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎");   //  妯″紡鐘舵��
             if (!Cools.isEmpty(steProtocol.getStatus())) {
                 vo.setStatus(steProtocol.getStatusType().desc);     //  鐘舵��
@@ -215,6 +220,42 @@
     /************************** 鎵嬪姩鎿嶄綔 ******************************/
     /****************************************************************/
 
+    @PostMapping("/mode/switch")
+    @ManagerAuth
+    public R crnDemo(SteModeParam param) throws InterruptedException {
+        if (Cools.isEmpty(param.getSteNo())){
+            return R.error();
+        }
+        if (Cools.isEmpty(param.getPassword())){
+            return R.error("璇疯緭鍏ュ彛浠�");
+        }
+        if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){
+            return R.error("鍙d护閿欒");
+        }
+        Thread.sleep(200L);
+        for (SteSlave steSlave : slaveProperties.getSte()) {
+            if (steSlave.getId().equals(param.getSteNo())) {
+                // 鑾峰彇绌挎杞︿俊鎭�
+                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+                SteProtocol steProtocol = steThread.getSteProtocol();
+                if (steProtocol == null) { continue; }
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙�
+                if (steProtocol.getMode() == 0) {
+                    steCommand.setControlMode((short) 1);
+                } else {
+                    steCommand.setControlMode((short) 0);
+                }
+                if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) {
+                    return R.ok();
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return R.ok();
+    }
+
     @ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
     @PostMapping("/operator/ste")
     public R steOperator(SteOperatorParam param){
@@ -238,9 +279,9 @@
                 steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙�
                 if (param.getSteTaskMode() == 16) {
                     steCommand.setComplete(true);
-                } else if (param.getSteTaskMode() == 17) {
+                } else if (param.getSteTaskMode() == 99) {
                     steCommand.setControlMode((short) 1);
-                } else if (param.getSteTaskMode() == 18) {
+                } else if (param.getSteTaskMode() == 100) {
                     steCommand.setControlMode((short) 0);
                 } else {
                     if (steTaskModeType == null) {
diff --git a/src/main/java/com/zy/asrs/domain/param/SteModeParam.java b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java
new file mode 100644
index 0000000..b15331d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+/**
+ * 鍫嗗灈鏈烘紨绀烘搷浣滃叆鍙�
+ * Created by vincent on 2020-06-03
+ */
+@Data
+public class SteModeParam {
+
+    private Integer steNo;
+
+    // 瀵嗙爜鍙d护
+    private String password;
+
+    private Boolean opt;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java
index 7c2e7f2..17e499a 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java
@@ -11,6 +11,9 @@
     // 绌挎杞﹀彿
     private Integer steNo;
 
+    // 鍦ㄧ嚎鐘舵��
+    private Integer statusVal;
+
     // 妯″紡
     private String statusType = "-";
 
diff --git a/src/main/webapp/views/ste.html b/src/main/webapp/views/ste.html
index 41feab5..7c60c8d 100644
--- a/src/main/webapp/views/ste.html
+++ b/src/main/webapp/views/ste.html
@@ -24,14 +24,17 @@
                     <div data-steNo="1" class="ste-command-item" style="margin-top: 30px">
                         <label>1#</label>
                         <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                        <button id="mode-1" class="demoBtn mode-btn" > - </button>
                     </div>
                     <div data-steNo="2" class="ste-command-item" style="margin-top: 30px">
                         <label>2#</label>
                         <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                        <button id="mode-2" class="demoBtn mode-btn" > - </button>
                     </div>
                     <div data-steNo="3" class="ste-command-item" style="margin-top: 30px">
                         <label>3#</label>
                         <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                        <button id="mode-3" class="demoBtn mode-btn" > - </button>
                     </div>
                 </div>
                 <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
@@ -106,8 +109,8 @@
                     <fieldset>
                         <legend>鎵嬪姩鎿嶄綔</legend>
                         <div class="button-group">
-                            <button class="item" onclick="steOperator(17)">鑱旀満</button>
-                            <button class="item" onclick="steOperator(18)">鑴辨満</button>
+                            <button class="item" onclick="steOperator(99)">鑱旀満</button>
+                            <button class="item" onclick="steOperator(100)">鑴辨満</button>
                             <button class="item" onclick="steOperator(1)">鍚戝乏鍑哄簱</button>
                             <button class="item" onclick="steOperator(2)">鍚戝彸鍑哄簱</button>
                             <button class="item" onclick="steOperator(3)">浠庡乏鍏ュ簱</button>
@@ -265,6 +268,36 @@
         })
     })
 
+    $(document).on('click ','.mode-btn', function () {
+        let steNo = Number($(this).parent().attr("data-steNo"));
+        layer.confirm("鏀瑰彉" + steNo + ' 鍙风┛姊溅鍦ㄧ嚎鐘舵�佸悧锛�', function(){
+            var index = layer.load(1, {
+                shade: [0.1,'#fff']
+            });
+            $.ajax({
+                url: baseUrl+ "/ste/mode/switch",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    steNo: Number(steNo),
+                    password: 'root'
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.close(index);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                    } else if (res.code === 403){
+                        window.location.href = baseUrl+"/login";
+                    }  else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            });
+        });
+    })
+
+
+
     $(document).on('click ','#save', function () {
         http.post(baseUrl+ "/ste/detl/update", {
             steNo: $('#steNo').val(),
@@ -299,6 +332,7 @@
                         steStateTableFullRows = table.length;
                     }
                     for (let i=1;i<=table.length;i++){
+                        $("#mode-"+table[i-1].steNo).html(table[i-1].statusVal===0?'鑱旀満':'鑴辨満');
                         let tr = tableEl.find("tr").eq(i);
                         setVal(tr.children("td").eq(0), table[i-1].steNo);
                         setVal(tr.children("td").eq(1), table[i-1].statusType);

--
Gitblit v1.9.1