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