|  |  | 
 |  |  | import com.zy.core.CrnThread; | 
 |  |  | import com.zy.core.cache.SlaveConnection; | 
 |  |  | import com.zy.core.enums.SlaveType; | 
 |  |  | import com.zy.core.model.LedSlave; | 
 |  |  | import com.zy.core.model.command.LedCommand; | 
 |  |  | import com.zy.core.model.protocol.CrnProtocol; | 
 |  |  | import com.zy.core.properties.SlaveProperties; | 
 |  |  | import com.zy.core.thread.LedThread; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ReportQueryMapper reportQueryMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private SlaveProperties slaveProperties; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取当前时间 | 
 |  |  | 
 |  |  |      * 获取其他信息 | 
 |  |  |      */ | 
 |  |  |     @GetMapping("/other") | 
 |  |  |     public R monitorOther(@RequestParam("crnId") Integer crnId) { | 
 |  |  |     public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer sta) { | 
 |  |  |         Integer ledId = 0; | 
 |  |  |         for (LedSlave led : slaveProperties.getLed()) { | 
 |  |  |             for (Integer staNo : led.getStaArr()) { | 
 |  |  |                 if (staNo.equals(sta)) { | 
 |  |  |                     ledId = led.getId(); | 
 |  |  |                     break; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         Double xSpeed = 0.0D; | 
 |  |  |         Double ySpeed = 0.0D; | 
 |  |  |         Double zSpeed = 0.0D; | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 获取输送线plc线程 | 
 |  |  |         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, crnId); | 
 |  |  |         String ledContent = ledThread.getStringBuffer().toString(); | 
 |  |  |         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId); | 
 |  |  |         String ledContent = Cools.isEmpty(ledThread) ? "" : ledThread.getWorkNos().toString(); | 
 |  |  | //        ledContent = "ask的模块萨满大算了萨满大了\n 是窘境到埃及嗲家嗲\n 萨达姆打开萨满大凯撒麦当劳萨满大老师"; | 
 |  |  |  | 
 |  |  |         return R.ok( | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 库位使用情况统计 | 
 |  |  |      */ | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @GetMapping("/loc/rep") | 
 |  |  |     public R monitorLocRep(){ | 
 |  |  |         List<Map<String, Object>> pie = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); | 
 |  |  |         // 总库位数 | 
 |  |  |         Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty()); | 
 |  |  |         // 使用中 | 
 |  |  |         Integer used = locUseRate.getFqty() + locUseRate.getUqty(); | 
 |  |  |         if(locUseRate!=null) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  |             map.put("name", "在库"); | 
 |  |  | 
 |  |  |  | 
 |  |  |             Map<String, Object> map1 = new HashMap<>(); | 
 |  |  |             map1.put("name", "空"); | 
 |  |  |             map1.put("value", locUseRate.getOqty()); | 
 |  |  |             map1.put("value", 11200-used); | 
 |  |  |             pie.add(map1); | 
 |  |  |  | 
 |  |  |             Map<String, Object> map2 = new HashMap<>(); | 
 |  |  | 
 |  |  |             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 usedDivides = Arith.divides(3, used, 11200); | 
 |  |  |         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) | 
 |  |  |                         .add("stockCunt", locUseRate.getFqty()) | 
 |  |  |                         .add("emptyCount", 11200-used) | 
 |  |  |                         .add("noneCount", locUseRate.getXqty()) | 
 |  |  |                         .add("total", 11200) | 
 |  |  |                         .add("used", used) | 
 |  |  |                         .add("usedPr", usedPr) | 
 |  |  |         ); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 库位使用情况统计 | 
 |  |  |      */ | 
 |  |  | //    @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) | 
 |  |  | //        ); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取其他信息 | 
 |  |  |      */ | 
 |  |  |     @GetMapping("/led") | 
 |  |  |     public R monitorLed(@RequestParam("ledId") Integer ledId) { | 
 |  |  |         String ledContent = ""; | 
 |  |  |         List<LedCommand> commandList = null; | 
 |  |  |         for (LedSlave slave : slaveProperties.getLed()) { | 
 |  |  |             if (slave.getStaArr().contains(ledId)) { | 
 |  |  |                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId()); | 
 |  |  |                 if (null != ledThread) { | 
 |  |  |                     ledContent = ledThread.getStringBuffer().toString(); | 
 |  |  |                     commandList = ledThread.getCommandList(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok().add(commandList); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 异常通知 | 
 |  |  |      */ | 
 |  |  |     @GetMapping("/led/error") | 
 |  |  |     public R monitorLedError(@RequestParam("ledId") Integer ledId) { | 
 |  |  |         String errorMsg = ""; | 
 |  |  |         for (LedSlave slave : slaveProperties.getLed()) { | 
 |  |  |             if (slave.getStaArr().contains(ledId)) { | 
 |  |  |                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId()); | 
 |  |  |                 if (null != ledThread) { | 
 |  |  |                     errorMsg = ledThread.getErrorMsg().toString(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok().add(errorMsg); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  |