From d4764bcbb80efc278b7dd35e62112eb4b1335ce9 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 24 三月 2025 10:05:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MonitorController.java |  163 +++++++++++++++++++++--------------------------------
 1 files changed, 65 insertions(+), 98 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 2d839dd..eaea9c2 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -7,13 +7,18 @@
 import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.domain.vo.LocChartPie;
 import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.common.model.annotations.RateLimit;
 import com.zy.common.service.CommonService;
 import com.zy.core.CrnThread;
 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.*;
@@ -25,7 +30,7 @@
 @RequestMapping("/monitor")
 public class MonitorController {
 
-    private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"};
+    private static final String[] WEEK = {"鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�"};
 
     @Autowired
     private ReportQueryMapper reportQueryMapper;
@@ -40,12 +45,12 @@
         calendar.setTime(now);
         return R.ok(
                 Cools.add("year", calendar.get(Calendar.YEAR))
-                .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2))
-                .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
-                .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
-                .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
-                .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2))
-                .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1])
+                        .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH) + 1), 2))
+                        .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
+                        .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
+                        .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
+                        .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)), 2))
+                        .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK) - 1])
         );
     }
 
@@ -53,7 +58,7 @@
      * 鑾峰彇鍏朵粬淇℃伅
      */
     @GetMapping("/other")
-    public R monitorOther(@RequestParam("crnId") Integer crnId) {
+    public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer ledId) {
         Double xSpeed = 0.0D;
         Double ySpeed = 0.0D;
         Double zSpeed = 0.0D;
@@ -76,10 +81,10 @@
                             forkPos = 1;
                             break;
                         case 1:
-                            forkPos = 0;
+                            forkPos = 2;
                             break;
                         case 2:
-                            forkPos = 2;
+                            forkPos = 0;
                             break;
                         default:
                             forkPos = 1;
@@ -93,32 +98,35 @@
             }
         }
 
-//        int totalWrk = reportQueryMapper.getTotalWrkByCrnId(crnId);
-//        int totalLoc = reportQueryMapper.getTotalLocByCrnId();
+        // 鑾峰彇杈撻�佺嚎plc绾跨▼
+        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+        String ledContent = ledThread.getWorkNos().toString();
+//        ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
 
         return R.ok(
-                Cools.add("xSpeed", xSpeed) // 琛岃蛋閫熷害
-                .add("ySpeed", ySpeed)  // 鍗囬檷閫熷害
-                .add("zSpeed", zSpeed)  // 鍙夌墮閫熷害
-                .add("forkPos", forkPos)  // 鍙夌墮閫熷害
-//                .add("totalLoc", totalLoc)  // 鎬诲簱浣嶆暟
-//                .add("totalWrk", totalWrk)    // 鎬讳换鍔℃暟
-                .add("xDistance", xDistance)    // 绱璧拌璺濈km
-                .add("yDistance", yDistance)    // 绱鍗囬檷璺濈km
-                .add("xDuration", xDuration)    // 绱璧拌鏃堕暱h
-                .add("yDuration", yDuration)    // 绱鍗囬檷鏃堕暱h
+                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("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) // 鏄剧ず鍐呭
         );
     }
 
     /**
      * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥�
      */
+    @RateLimit(2)
     @GetMapping("/pakin/rep")
-    public R monitorPakinRep(){
+    public R monitorPakinRep() {
         // 鍏ュ簱
         List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep();
         for (Map<String, Object> map : pakinRep) {
-            if (map.get("node")!=null) {
+            if (map.get("node") != null) {
                 map.put("node", String.valueOf(map.get("node")).substring(5, 10));
             }
         }
@@ -127,33 +135,34 @@
         return R.ok(pakinRep);
     }
 
+    @RateLimit(2)
     @GetMapping("/line/charts")
-    public R locIoLineCharts(){
-        Map<String,Object> map=new HashMap<String, Object>();
+    public R locIoLineCharts() {
+        Map<String, Object> map = new HashMap<String, Object>();
         List<AxisBean> list = new ArrayList<AxisBean>();
 
         List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis();
 
-        if(listChart!=null) {
+        if (listChart != null) {
             ArrayList<Integer> data1 = new ArrayList<Integer>();
             ArrayList<Integer> data2 = new ArrayList<Integer>();
 
             SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
             Calendar calendar = Calendar.getInstance();
             calendar.add(Calendar.DATE, -12);
-            for(int i=0;i<12;i++) {
+            for (int i = 0; i < 12; i++) {
                 boolean flag = true;
                 calendar.add(Calendar.DATE, 1);
                 String str = sf.format(calendar.getTime());
-                for(WorkChartAxis workChart : listChart) {
-                    if(str.equals(workChart.getYmd())) {
+                for (WorkChartAxis workChart : listChart) {
+                    if (str.equals(workChart.getYmd())) {
                         data1.add(workChart.getInqty());
                         data2.add(workChart.getOutqty());
                         flag = false;
                         break;
                     }
                 }
-                if(flag) {
+                if (flag) {
                     data1.add(0);
                     data2.add(0);
                 }
@@ -169,7 +178,7 @@
             outqty.setData(data2.toArray(array2));
             list.add(outqty);
         }
-        map.put("rows",list);
+        map.put("rows", list);
         return R.ok(map);
     }
 
@@ -177,12 +186,13 @@
     /**
      * 搴撲綅浣跨敤鎯呭喌缁熻
      */
+    @RateLimit(2)
     @GetMapping("/loc/rep")
-    public R monitorLocRep(){
+    public R monitorLocRep() {
         List<Map<String, Object>> pie = new ArrayList<>();
 
         LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
-        if(locUseRate!=null) {
+        if (locUseRate != null) {
             Map<String, Object> map = new HashMap<>();
             map.put("name", "鍦ㄥ簱");
             map.put("value", locUseRate.getFqty());
@@ -214,70 +224,28 @@
 
         return R.ok(
                 Cools.add("pie", pie)
-                .add("stockCunt", locUseRate.getFqty())
-                .add("emptyCount", locUseRate.getOqty())
-                .add("noneCount", locUseRate.getXqty())
-                .add("total", total)
-                .add("used", used)
-                .add("usedPr", usedPr)
+                        .add("stockCunt", locUseRate.getFqty())
+                        .add("emptyCount", locUseRate.getOqty())
+                        .add("noneCount", locUseRate.getXqty())
+                        .add("total", total)
+                        .add("used", used)
+                        .add("usedPr", usedPr)
         );
     }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 
 
     /**
      * 鑷姩琛ラ浂
      */
-    private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){
-        for (int i = start ; i <= end; i++){
+    private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end) {
+        for (int i = start; i <= end; i++) {
             boolean exist = false;
-            for (Map seq : list){
-                if (Integer.parseInt(String.valueOf(seq.get("node"))) == i){
+            for (Map seq : list) {
+                if (Integer.parseInt(String.valueOf(seq.get("node"))) == i) {
                     exist = true;
                 }
             }
-            if (!exist){
+            if (!exist) {
                 HashMap<String, Object> map = new HashMap<>();
                 map.put("node", i);
                 map.put("val", 0);
@@ -292,12 +260,12 @@
      * x杞村崟浣嶈浆鎹�
      * @param dot y杞存暟鍊间繚鐣欏皬鏁颁綅
      */
-    private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot){
-        for (Map<String, Object> map : list){
+    private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot) {
+        for (Map<String, Object> map : list) {
             Object val = map.get("val");
             map.put("val", Arith.multiplys(dot, 1, (Number) val));
             Object node = map.get("node");
-            switch (statsType){
+            switch (statsType) {
                 case MONTH:
                     map.put("node", node + "鍙�");
                     break;
@@ -311,15 +279,16 @@
         return list;
     }
 
-    enum StatsType{
+    enum StatsType {
 
-        YEAR(1,1, 12),
-        MONTH(2,1, 30),
+        YEAR(1, 1, 12),
+        MONTH(2, 1, 30),
         ;
 
         int id;
         int start;
         int end;
+
         StatsType(int id, int start, int end) {
             this.id = id;
             this.start = start;
@@ -328,8 +297,8 @@
 
         static StatsType get(int id) {
             StatsType[] values = StatsType.values();
-            for (StatsType statsType : values){
-                if (statsType.id == id){
+            for (StatsType statsType : values) {
+                if (statsType.id == id) {
                     return statsType;
                 }
             }
@@ -337,8 +306,6 @@
         }
 
     }
-
-
 
 
 }

--
Gitblit v1.9.1