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