From a14d14287e3502a46e2894770b5d2d9df6dd8e1f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 20 九月 2022 14:35:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/SiteController.java |   37 ++++++++++++++++++
 src/main/webapp/views/pipeline.html                      |   40 ++++++++++---------
 src/main/java/com/zy/core/thread/SiemensDevpThread.java  |    4 +
 3 files changed, 61 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 9f78842..122b07c 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -16,6 +16,7 @@
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.DevpThread;
+import com.zy.core.thread.SiemensDevpThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -37,6 +38,42 @@
     @Autowired
     private BasDevpService basDevpService;
 
+    @GetMapping("/io/mode/info/site")
+    @ManagerAuth(memo = "鍏呯數妯″紡")
+    public R ioMode(){
+        List<Map<String, Object>> res = new ArrayList<>();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            Map<String, Object> map1 = new HashMap<>();
+            map1.put("floor", 1);
+            map1.put("modeVal", devpThread.charge0);
+            map1.put("modeDesc", devpThread.charge0?"鍏呯數涓�":"鍏抽棴");
+            res.add(map1);
+            Map<String, Object> map2 = new HashMap<>();
+            map2.put("floor", 2);
+            map2.put("modeVal", devpThread.charge1);
+            map2.put("modeDesc", devpThread.charge1?"鍏呯數涓�":"鍏抽棴");
+            res.add(map2);
+            Map<String, Object> map3 = new HashMap<>();
+            map3.put("floor", 3);
+            map3.put("modeVal", devpThread.charge2);
+            map3.put("modeDesc", devpThread.charge2?"鍏呯數涓�":"鍏抽棴");
+            res.add(map3);
+        }
+        return R.ok().add(res);
+    }
+
+    @PostMapping("/io/mode/action/site")
+    @ManagerAuth(memo = "鍏呯數鎺у埗")
+    public R ioModeAction(@RequestParam("floor") Integer floor, @RequestParam("charge") Boolean charge){
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            boolean res = devpThread.charge(floor - 1, charge);
+            return res?R.ok():R.error();
+        }
+        return R.ok();
+    }
+
     @PostMapping("/table/site")
     @ManagerAuth(memo = "绔欑偣淇℃伅琛�")
     public R siteTable(){
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 10463f9..93566d9 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -268,11 +268,13 @@
      * @param index 鍏呯數妗╁簭鍙� 0 寮�濮�
      * @param open true 寮�濮嬪厖鐢碉紱false 缁撴潫鍏呯數
      */
-    public void charge(int index, boolean open) {
+    public boolean charge(int index, boolean open) {
         OperateResult write = siemensS7Net.Write("DB102.50." + index + 3, open);
         if (!write.IsSuccess) {
             log.error("杈撻�佺嚎plc缂栧彿={} {}鍙峰厖鐢垫々{}鎺у埗澶辫触", slave.getId(), index + 1, open?"鎵撳紑":"鍏抽棴");
+            return false;
         }
+        return true;
     }
 
     @Override
diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html
index 8361771..8ab209f 100644
--- a/src/main/webapp/views/pipeline.html
+++ b/src/main/webapp/views/pipeline.html
@@ -215,26 +215,28 @@
         if (ioModeData != null && ioModeData.length > 1) {
             ioModeData.forEach(function(e) {
                 if (e.floor === Number(floor)) {
-                    if (e.modeVal === 3 || e.modeVal === 4) {
-                        layer.confirm('纭畾鍒囨崲涓哄叆搴撴ā寮忓悧锛�',function () {
-                            $.ajax({
-                                url: baseUrl+ "/site/io/mode/action/site",
-                                headers: {'token': localStorage.getItem('token')},
-                                data: {floor: e.floor},
-                                method: 'POST',
-                                success: function (res) {
-                                    if (res.code === 200){
-                                        layer.msg("鏆傛椂涓嶈兘鍒囨崲锛�", {icon: 1})
-                                    } else if (res.code === 403){
-                                        window.location.href = baseUrl+"/login";
-                                    }  else {
-                                        console.log(res.msg);
-                                    }
+                    console.log()
+                    layer.confirm('纭畾鍒囨崲鍏呯數鐘舵�佸悧锛�',function () {
+                        $.ajax({
+                            url: baseUrl+ "/site/io/mode/action/site",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: {
+                                floor: e.floor,
+                                charge: !e.modeVal
+                            },
+                            method: 'POST',
+                            success: function (res) {
+                                if (res.code === 200){
+                                    layer.msg(res.msg, {icon: 1})
+                                } else if (res.code === 403){
+                                    window.location.href = baseUrl+"/login";
+                                }  else {
+                                    console.log(res.msg);
                                 }
-                            });
-                            layer.closeAll();
-                        })
-                    }
+                            }
+                        });
+                        layer.closeAll();
+                    })
                 }
             });
         }

--
Gitblit v1.9.1