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