From b5ccfa77fc6e4a895818f987887207bb0d2b824a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 18 十一月 2020 17:03:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MonitorController.java |  151 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 147 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 407b3d0..104dfce 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -3,11 +3,17 @@
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.R;
+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.*;
@@ -44,19 +50,156 @@
     }
 
     /**
-     * 鍏ュ簱鎶ヨ〃
+     * 鑾峰彇鍏朵粬淇℃伅
+     */
+    @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")
     public R monitorPakinRep(){
-        List<Map<String, Object>> report = reportQueryMapper.queryPakinRep();
-        for (Map<String, Object> map : report) {
+        // 鍏ュ簱
+        List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep();
+        for (Map<String, Object> map : pakinRep) {
             if (map.get("node")!=null) {
                 map.put("node", String.valueOf(map.get("node")).substring(5, 10));
             }
         }
-        return R.ok(report);
+        // 鍑哄簱
+        List<Map<String, Object>> pakoutRep = reportQueryMapper.queryPakinRep();
+        return R.ok(pakinRep);
     }
 
+    /**
+     * 搴撲綅浣跨敤鎯呭喌缁熻
+     */
+    @GetMapping("/loc/rep")
+    public R monitorLocRep(){
+        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("value", locUseRate.getFqty());
+            pie.add(map);
+
+            Map<String, Object> map1 = new HashMap<>();
+            map1.put("name", "绌�");
+            map1.put("value", locUseRate.getOqty());
+            pie.add(map1);
+
+            Map<String, Object> map2 = new HashMap<>();
+            map2.put("name", "浣跨敤");
+            map2.put("value", locUseRate.getUqty());
+            pie.add(map2);
+
+            Map<String, Object> map3 = new HashMap<>();
+            map3.put("name", "绂佺敤");
+            map3.put("value", locUseRate.getXqty());
+            pie.add(map3);
+        }
+
+        // 鎬诲簱浣嶆暟
+        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