From 61090cc2a521db18ccfccb2e02a548ceacd03447 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 27 三月 2023 16:59:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/LedThread.java             |   16 ++++++++
 src/main/java/com/zy/asrs/controller/MonitorController.java |   43 +++++++++++++++++++--
 src/main/webapp/views/monitor.html                          |   41 +++++++++++++++-----
 3 files changed, 85 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 3f9b38e..326ccc7 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -9,18 +9,17 @@
 import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.common.service.CommonService;
 import com.zy.core.CrnThread;
+import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.LedSlave;
+import com.zy.core.model.Task;
 import com.zy.core.model.command.LedCommand;
 import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.LedThread;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -33,6 +32,8 @@
 public class MonitorController {
 
     private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"};
+
+    private String programMsg;
 
     @Autowired
     private ReportQueryMapper reportQueryMapper;
@@ -271,8 +272,42 @@
         return R.ok().add(errorMsg);
     }
 
+    /**
+     * 鑺傜洰
+     */
+    @GetMapping("/led/program")
+    public R monitorProgramShow(@RequestParam("ledId") Integer ledId) {
+        String program = "";
+        for (LedSlave slave : slaveProperties.getLed()) {
+            if (slave.getStaArr().contains(ledId)) {
+                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
+                if (null != ledThread) {
+                    program = ledThread.getProgram().toString();
+                }
+            }
+        }
+        return R.ok().add(program);
+    }
 
 
+    /**
+     * 鏄剧ず鑺傜洰
+     */
+    @RequestMapping("/led/add/program")
+    public R addProgram(Integer ledId, String msg) {
+        MessageQueue.offer(SlaveType.Led, ledId, new Task(5, msg));
+        return R.ok();
+    }
+
+    /**
+     * 绉婚櫎鑺傜洰
+     */
+    @RequestMapping("/led/remove/program")
+    public R removeProgram(Integer ledId, String msg) {
+
+        return R.ok();
+    }
+
 
 
 
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 9aa2c99..d735a76 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -29,6 +29,7 @@
     private List<LedCommand> commandList;
 
     private StringBuffer errorMsg = new StringBuffer();
+    private StringBuffer program = new StringBuffer();
 
     public LedThread(Slave slave) {
         this.slave = slave;
@@ -56,6 +57,12 @@
                             break;
                         case 4:
                             errorReset();
+                            break;
+                        case 5:
+                            program((String) task.getData());
+                            break;
+                        case 6:
+                            programReset();
                             break;
                         default:
                             break;
@@ -106,6 +113,15 @@
         this.errorMsg.delete(0, errorMsg.length());
     }
 
+    private void program(String msg) {
+        program.delete(0, program.length());
+        program.append(msg);
+    }
+
+    public void programReset() {
+        this.program.delete(0, program.length());
+    }
+
     @Override
     public boolean connect() {
         return true;
diff --git a/src/main/webapp/views/monitor.html b/src/main/webapp/views/monitor.html
index 1e10315..a4e7186 100644
--- a/src/main/webapp/views/monitor.html
+++ b/src/main/webapp/views/monitor.html
@@ -329,8 +329,8 @@
                         </div>
                         <div id="checked" style="overflow-y: scroll;height: 80%;border: 1px solid #888" >
                             <label for=""><input type="checkbox" name="monitor" checked="checked" value="1">1鍙锋樉绀哄櫒</label>
-                            <label for=""><input type="checkbox" name="monitor" >2鍙锋樉绀哄櫒</label>
-                            <label for=""><input type="checkbox" name="monitor">3鍙锋樉绀哄櫒</label>
+                            <label for=""><input type="checkbox" name="monitor" value="113">2鍙锋樉绀哄櫒</label>
+                            <label for=""><input type="checkbox" name="monitor" value="3">3鍙锋樉绀哄櫒</label>
                             <label for=""><input type="checkbox" name="monitor">4鍙锋樉绀哄櫒</label>
                             <label for=""><input type="checkbox" name="monitor">5鍙锋樉绀哄櫒</label>
                             <label for=""><input type="checkbox" name="monitor">6鍙锋樉绀哄櫒</label>
@@ -374,6 +374,7 @@
 </body>
 </html>
 <script>
+    var inputValue = ''
     $(function() {
         $(".label").click(function() {
             $(this).addClass("abc").siblings().removeClass("abc");
@@ -391,12 +392,17 @@
     });
     $('#sendMessage').click(function () {
         var sendMessage = $('#sendContent').val()
-        $('input:checkbox[name=monitor]').each(function () {
-            if ($(this).is(':checked')) {
-                console.log(sendMessage)
-            } else {
-                console.log('m')
-            }
+        inputValue = ''
+        $('input:checkbox[name=monitor]:checked').each(function () {
+            var ledId = parseInt($(this).val())
+            $.ajax({
+                url: baseUrl+"/monitor/led/add/program",
+                data: {ledId:ledId,msg:sendMessage},
+                method: 'GET',
+                success: function (res) {
+                    console.log(res)
+                }
+            })
         })
 
     })
@@ -404,7 +410,7 @@
         var sendMessage = 'K'
         $('input:checkbox[name=monitor]').each(function () {
             if ($(this).is(':checked')) {
-                console.log(sendMessage)
+                console.log($(this).find(':checked'))
             } else {
                 console.log('m')
             }
@@ -440,7 +446,7 @@
     });
 
     var crnId = 1;
-    var lcdId = 110;
+    var lcdId = 100;
     var lcdData = 'TEST DATA'
     var lcdControll = 1;
     $('.lcd').click(function () {
@@ -448,7 +454,7 @@
         switch (id) {
             case 1:
                 crnId = 1;
-                lcdId = 113;
+                lcdId = 100;
                 break;
             case 2:
                 crnId = 2;
@@ -465,6 +471,7 @@
         getOther2(crnId,lcdId)
         getInfo(lcdId);
         getError(lcdId);
+        getProgram(lcdId)
     }, 1000);
 
 
@@ -494,6 +501,18 @@
         });
     }
 
+    function getProgram(ledId) {
+        console.log(ledId)
+        $.ajax({
+            url: baseUrl+"/monitor/led/program",
+            data: {ledId:ledId},
+            method: 'GET',
+            success: function (res) {
+                console.log(res)
+            }
+        });
+    }
+
 
 
 

--
Gitblit v1.9.1