From ebcaed76a00f824e57ccd7e2c38efe725e160374 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 17 十一月 2020 16:02:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MonitorController.java |  129 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 119 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 6c4dbef..f077b4d 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -6,9 +6,14 @@
 import com.zy.asrs.domain.vo.LocChartPie;
 import com.zy.asrs.mapper.ReportQueryMapper;
 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 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 java.util.*;
@@ -45,6 +50,51 @@
     }
 
     /**
+     * 鑾峰彇鍏朵粬淇℃伅
+     */
+    @GetMapping("/other")
+    public R monitorOther(@RequestParam("crnId") Integer crnId) {
+        Double xSpeed = 0.0D;
+        Double ySpeed = 0.0D;
+        Double xDistance = 0.0D;
+        Double yDistance = 0.0D;
+        Double xDuration = 0.0D;
+        Double yDuration = 0.0D;
+
+        if (null != crnId) {
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnId);
+            if (crnThread != null) {
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol != null) {
+                    xSpeed = Double.valueOf(crnProtocol.getXSpeed());
+                    ySpeed = Double.valueOf(crnProtocol.getYSpeed());
+                    xDistance = Double.valueOf(crnProtocol.getXDistance());
+                    yDistance = Double.valueOf(crnProtocol.getYDistance());
+                    xDuration = Double.valueOf(crnProtocol.getXDuration());
+                    yDuration = Double.valueOf(crnProtocol.getYDuration());
+                }
+            }
+        }
+
+        xSpeed = Double.valueOf(new Random().nextInt(10));
+        ySpeed = Double.valueOf(new Random().nextInt(10));
+
+//        int totalWrk = reportQueryMapper.getTotalWrkByCrnId(crnId);
+//        int totalLoc = reportQueryMapper.getTotalLocByCrnId();
+
+        return R.ok(
+                Cools.add("xSpeed", xSpeed) // 琛岃蛋閫熷害
+                .add("ySpeed", ySpeed)  // 鍗囬檷閫熷害
+//                .add("totalLoc", totalLoc)  // 鎬诲簱浣嶆暟
+//                .add("totalWrk", totalWrk)    // 鎬讳换鍔℃暟
+                .add("xDistance", xDistance)    // 绱璧拌璺濈km
+                .add("yDistance", yDistance)    // 绱鍗囬檷璺濈km
+                .add("xDuration", xDuration)    // 绱璧拌鏃堕暱h
+                .add("yDuration", yDuration)    // 绱鍗囬檷鏃堕暱h
+        );
+    }
+
+    /**
      * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥�
      */
     @GetMapping("/pakin/rep")
@@ -58,39 +108,98 @@
         return R.ok(report);
     }
 
+    /**
+     * 搴撲綅浣跨敤鎯呭喌缁熻
+     */
     @GetMapping("/loc/rep")
     public R monitorLocRep(){
-        List<Map<String, Object>> result = new ArrayList<>();
+        List<Map<String, Object>> pie = new ArrayList<>();
 
         LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
         if(locUseRate!=null) {
             Map<String, Object> map = new HashMap<>();
-            map.put("name", "鍦ㄥ簱搴撲綅");
+            map.put("name", "鍦ㄥ簱");
             map.put("value", locUseRate.getFqty());
-            result.add(map);
+            pie.add(map);
 
             Map<String, Object> map1 = new HashMap<>();
-            map1.put("name", "绌哄簱浣�");
+            map1.put("name", "绌�");
             map1.put("value", locUseRate.getOqty());
-            result.add(map1);
+            pie.add(map1);
 
             Map<String, Object> map2 = new HashMap<>();
-            map2.put("name", "浣跨敤搴撲綅");
+            map2.put("name", "浣跨敤");
             map2.put("value", locUseRate.getUqty());
-            result.add(map2);
+            pie.add(map2);
 
             Map<String, Object> map3 = new HashMap<>();
-            map3.put("name", "绂佺敤搴撲綅");
+            map3.put("name", "绂佺敤");
             map3.put("value", locUseRate.getXqty());
-            result.add(map3);
+            pie.add(map3);
         }
-        return R.ok(result);
+
+        // 鎬诲簱浣嶆暟
+        Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty());
+        // 浣跨敤涓�
+        Integer used = locUseRate.getFqty() + locUseRate.getUqty();
+        // 搴撲綅浣跨敤鐜�
+        double usedDivides = Arith.divides(3, used, total);
+        double usedPr = Arith.multiplys(1, usedDivides, 100);
+
+        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)
+        );
     }
 
 
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
     /**
      * 鑷姩琛ラ浂
      */

--
Gitblit v1.9.1