From 174da9c1166b06f83cb178961fbb3153d688859d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 20 十一月 2020 14:56:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/LedThread.java | 104 ++++++++++++++++++++--------------
src/main/webapp/views/monitor/js/monitor.js | 11 +++
src/main/java/com/zy/asrs/controller/MonitorController.java | 16 +++-
src/main/webapp/views/monitor/monitor.html | 22 ++++--
src/main/resources/application.yml | 12 ++--
src/main/java/com/zy/core/ServerBootstrap.java | 13 ++--
6 files changed, 111 insertions(+), 67 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index c5484c1..9db7fc6 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -12,8 +12,12 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.thread.LedThread;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+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 java.text.SimpleDateFormat;
import java.util.*;
@@ -93,20 +97,22 @@
}
}
-// int totalWrk = reportQueryMapper.getTotalWrkByCrnId(crnId);
-// int totalLoc = reportQueryMapper.getTotalLocByCrnId();
+ // 鑾峰彇杈撻�佺嚎plc绾跨▼
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, crnId);
+ String ledContent = ledThread.getStringBuffer().toString();
+ ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
return R.ok(
Cools.add("xSpeed", Arith.multiplys(1, Math.abs(xSpeed), 1)) // 琛岃蛋閫熷害
.add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1)) // 鍗囬檷閫熷害
.add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1)) // 鍙夌墮閫熷害
.add("forkPos", forkPos) // 鍙夌墮閫熷害
-// .add("totalLoc", totalLoc) // 鎬诲簱浣嶆暟
-// .add("totalWrk", totalWrk) // 鎬讳换鍔℃暟
.add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1)) // 绱璧拌璺濈km
.add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1)) // 绱鍗囬檷璺濈km
.add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1)) // 绱璧拌鏃堕暱h
.add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1)) // 绱鍗囬檷鏃堕暱h
+ .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
+ .add("content", ledContent) // 鏄剧ず鍐呭
);
}
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 3e034da..48f02da 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -5,6 +5,7 @@
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
+import com.zy.core.model.LedSlave;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.*;
import lombok.extern.slf4j.Slf4j;
@@ -104,12 +105,12 @@
SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
}
// 鍒濆鍖朙ED绾跨▼
-// log.info("鍒濆鍖朙ED绾跨▼...................................................");
-// for (LedSlave led : slaveProperties.getLed()) {
-// LedThread ledThread = new LedThread(led);
-// new Thread(ledThread).start();
-// SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
-// }
+ log.info("鍒濆鍖朙ED绾跨▼...................................................");
+ for (LedSlave led : slaveProperties.getLed()) {
+ LedThread ledThread = new LedThread(led);
+ new Thread(ledThread).start();
+ SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
+ }
// 鍒濆鍖栧彴杞︾嚎绋�
log.info("鍒濆鍖栧彴杞︾嚎绋�...................................................");
for (Slave car : slaveProperties.getCar()) {
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 3b9d7e5..4640025 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -39,6 +39,9 @@
private Set<Integer> workNos = new HashSet<>();
private boolean resetStatus = false; // 澶嶄綅鐘舵��
+ // 鏄剧ず鍣�
+ private StringBuffer stringBuffer = new StringBuffer();
+
public LedThread(Slave slave) {
this.slave = slave;
try {
@@ -54,7 +57,7 @@
@Override
@SuppressWarnings({"InfiniteLoopStatement", "unchecked"})
public void run() {
- connect();
+// connect();
while (true) {
try {
Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
@@ -73,7 +76,7 @@
}
}
- Thread.sleep(3000);
+ Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
@@ -102,56 +105,73 @@
private void write(List<LedCommand> list) throws Bx5GException {
- pf = new ProgramBxFile( 0, screen.getProfile());
- pf.setFrameShow(false);
- // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
- area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
- // 鍒涘缓涓�涓暟鎹〉
- TextBxPage page = new TextBxPage();
+// pf = new ProgramBxFile( 0, screen.getProfile());
+// pf.setFrameShow(false);
+// // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
+// area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
+// // 鍒涘缓涓�涓暟鎹〉
+// TextBxPage page = new TextBxPage();
+// for (LedCommand command : list) {
+// page.newLine(command.getTitle() +"锛�"+command.getWorkNo()+")");
+// page.newLine("婧愬簱浣嶏細"+command.getSourceLocNo());
+// page.newLine("鐩爣绔欙細"+command.getStaNo());
+// if (!command.isEmptyMk()) {
+// for (MatDto matDto : command.getMatDtos()) {
+// page.newLine(matDto.getMaknx() + "銆愭暟閲�" + matDto.getCount() +"銆�");
+// }
+// }
+// page.newLine("\n");
+// }
+//
+// // 璁剧疆瀛椾綋
+// page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
+// // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
+// page.setDisplayStyle(styles[6]);
+// area.clearPages();
+// area.addPage(page);
+// pf.addArea(area);
+// // 鏇存柊鑺傜洰
+// screen.writeProgram(pf);
+// resetStatus = false;
+
+ StringBuilder sb = new StringBuilder();
for (LedCommand command : list) {
- page.newLine(command.getTitle() +"锛�"+command.getWorkNo()+")");
- page.newLine("婧愬簱浣嶏細"+command.getSourceLocNo());
- page.newLine("鐩爣绔欙細"+command.getStaNo());
+ sb.append(command.getTitle() +"锛�"+command.getWorkNo()+")");
+ sb.append("婧愬簱浣嶏細"+command.getSourceLocNo());
+ sb.append("鐩爣绔欙細"+command.getStaNo());
if (!command.isEmptyMk()) {
for (MatDto matDto : command.getMatDtos()) {
- page.newLine(matDto.getMaknx() + "銆愭暟閲�" + matDto.getCount() +"銆�");
+ sb.append(matDto.getMaknx() + "銆愭暟閲�" + matDto.getCount() +"銆�");
}
}
- page.newLine("\n");
+ sb.append("\n");
}
-
- // 璁剧疆瀛椾綋
- page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
- // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
- page.setDisplayStyle(styles[6]);
- area.clearPages();
- area.addPage(page);
- pf.addArea(area);
- // 鏇存柊鑺傜洰
- screen.writeProgram(pf);
- resetStatus = false;
+ stringBuffer.delete(0, stringBuffer.length());
+ stringBuffer.append(sb.toString());
}
private void reset() throws Bx5GException {
if (!resetStatus) {
- pf = new ProgramBxFile( 0, screen.getProfile());
- pf.setFrameShow(false);
- // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
- area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
- // 鍒涘缓涓�涓暟鎹〉
- TextBxPage page = new TextBxPage();
- page.newLine("骞垮痉涓壃鐗╂祦瑁呭鏈夐檺鍏徃");
- page.newLine("鑷姩鍖栫珛浣撲粨搴�");
- page.newLine("娴欐睙涓壃鐗╂祦瑁呭鏈夐檺鍏徃");
- // 璁剧疆瀛椾綋
- page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
- // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
- page.setDisplayStyle(styles[6]);
- area.clearPages();
- area.addPage(page);
- pf.addArea(area);
- // 鏇存柊鑺傜洰
- screen.writeProgram(pf);
+// pf = new ProgramBxFile( 0, screen.getProfile());
+// pf.setFrameShow(false);
+// // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
+// area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
+// // 鍒涘缓涓�涓暟鎹〉
+// TextBxPage page = new TextBxPage();
+// page.newLine("骞垮痉涓壃鐗╂祦瑁呭鏈夐檺鍏徃");
+// page.newLine("鑷姩鍖栫珛浣撲粨搴�");
+// page.newLine("娴欐睙涓壃鐗╂祦瑁呭鏈夐檺鍏徃");
+// // 璁剧疆瀛椾綋
+// page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
+// // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
+// page.setDisplayStyle(styles[6]);
+// area.clearPages();
+// area.addPage(page);
+// pf.addArea(area);
+// // 鏇存柊鑺傜洰
+// screen.writeProgram(pf);
+
+ stringBuffer.delete(0, stringBuffer.length());
resetStatus = true;
}
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 19167ba..962f2eb 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -102,12 +102,12 @@
ip: 192.168.10.150
port: 51236
# LED1
-# led[0]:
-# id: 1
-# ip: 192.168.10.61
-# port: 5005
-# devpPlcId: ${wcs-slave.devp[0].id}
-# staArr: 1,2
+ led[0]:
+ id: 1
+ ip: 192.168.10.61
+ port: 5005
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staArr: 2
# 纾呯О
# scale[0]:
# id: 1
diff --git a/src/main/webapp/views/monitor/js/monitor.js b/src/main/webapp/views/monitor/js/monitor.js
index d874890..ac48e85 100644
--- a/src/main/webapp/views/monitor/js/monitor.js
+++ b/src/main/webapp/views/monitor/js/monitor.js
@@ -73,6 +73,17 @@
// crnChartOption.series[3].data[0].value = (Math.random()*2).toFixed(2) - 0;
crnChart.setOption(crnChartOption);
+ // 涓笅
+ if (res.data.isShow) {
+ $('#banner').hide();
+ $('#led-content').show();
+ $('#led-p-content').text(res.data.content);
+ } else {
+ $('#led-content').hide();
+ $('#banner').show();
+ $('#led-p-content').text("");
+ }
+
} else if (res.code === 403){
parent.location.href = baseUrl+"/login";
} else {
diff --git a/src/main/webapp/views/monitor/monitor.html b/src/main/webapp/views/monitor/monitor.html
index 82ee207..2174df9 100644
--- a/src/main/webapp/views/monitor/monitor.html
+++ b/src/main/webapp/views/monitor/monitor.html
@@ -80,6 +80,14 @@
}
}
+ #led-content {
+ display: none;
+ }
+ #led-p-content {
+ padding: 20px 40px;
+ font-size: 35px;
+ font-weight: bold
+ }
</style>
</head>
@@ -195,18 +203,12 @@
<div class="speed-content">
<div id="crn-chart" class="speed-chart">
</div>
-<!-- <div id="xSpeed-chart" class="speed-chart">-->
-<!--<!– <span>鍫嗗灈鏈鸿蛋琛岄�熷害锛�</span><span id="xSpeed" class="counter">5.00</span><span>绫�/绉�</span>–>-->
-<!-- </div>-->
-<!-- <div id="ySpeed-chart" class="speed-chart">-->
-<!--<!– <span>鍫嗗灈鏈哄崌闄嶉�熷害锛�</span><span id="ySpeed" class="counter">5.00</span><span>绫�/绉�</span>–>-->
-<!-- </div>-->
</div>
</div>
<!-- 涓笅 -->
<div class="scroll-pane">
- <div class="layui-carousel" id="test1">
+ <div class="layui-carousel" id="banner">
<div carousel-item>
<div class="item-img" id="img-1" style="background-color: red"></div>
<div class="item-img" id="img-2" style="background-color: gold"></div>
@@ -214,6 +216,10 @@
<div class="item-img" id="img-4" style="background-color: white"></div>
<div class="item-img" id="img-5" style="background-color: darkgoldenrod"></div>
</div>
+ </div>
+
+ <div id="led-content">
+ <pre id="led-p-content"></pre>
</div>
<!-- <!– 涓乏 –>-->
@@ -368,7 +374,7 @@
var element = layui.element;
// 杞挱鍥�
carousel.render({
- elem: '#test1'
+ elem: '#banner'
,width: '100%' //璁剧疆瀹瑰櫒瀹藉害
,arrow: 'hover' // 鍒囨崲绠ご榛樿鏄剧ず鐘舵�侊紝鍙�夊�间负 hover锛堟偓鍋滄樉绀猴級 always锛堝缁堟樉绀猴級 none锛堝缁堜笉鏄剧ず锛�
,interval: '3000' // 鑷姩鍒囨崲鐨勬椂闂撮棿闅旓紝鍗曚綅锛歮s锛堟绉掞級锛屼笉鑳戒綆浜�800
--
Gitblit v1.9.1