|  |  | 
 |  |  | package com.zy.asrs.controller; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.core.common.Arith; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.zy.asrs.domain.dto.AxisBean; | 
 |  |  | import com.zy.asrs.domain.dto.WorkChartAxis; | 
 |  |  | import com.zy.asrs.domain.vo.LocChartPie; | 
 |  |  | import com.zy.asrs.entity.LocDetl; | 
 |  |  | import com.zy.asrs.mapper.ReportQueryMapper; | 
 |  |  | import com.zy.asrs.service.LocDetlService; | 
 |  |  | 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.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; | 
 |  |  |     @Autowired | 
 |  |  |     private LocDetlService locDetlService; | 
 |  |  |  | 
 |  |  |     @GetMapping(value = "/locDetl/pda/statisticalModel") | 
 |  |  |     public R statisticalModel() { | 
 |  |  |         //仓库数据 | 
 |  |  |         EntityWrapper<LocDetl> locDetlEntityWrapper = new EntityWrapper<>(); | 
 |  |  |         locDetlEntityWrapper.setSqlSelect("matnr,count(*)as matnrCount").groupBy("matnr"); | 
 |  |  |         List<Map<String, Object>> selectMap = locDetlService.selectMaps(locDetlEntityWrapper); | 
 |  |  |         return R.ok(selectMap); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取当前时间 | 
 |  |  | 
 |  |  |      * 获取其他信息 | 
 |  |  |      */ | 
 |  |  |     @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.getInStaArr()) { | 
 |  |  |                 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( | 
 |  |  | 
 |  |  |     public R monitorLocRep(){ | 
 |  |  |         List<Map<String, Object>> pie = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); | 
 |  |  |         if(locUseRate!=null) { | 
 |  |  |             Map<String, Object> map = new HashMap<>(); | 
 |  |  | 
 |  |  |             pie.add(map3); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         // 总库位数 | 
 |  |  |         Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty()); | 
 |  |  |         // 使用中 | 
 |  |  | 
 |  |  |  | 
 |  |  |         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) | 
 |  |  |         ); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取其他信息 | 
 |  |  |      */ | 
 |  |  |     @GetMapping("/led") | 
 |  |  |     public R monitorLed(@RequestParam("ledId") Integer ledId) { | 
 |  |  |         String ledContent = ""; | 
 |  |  |         List<LedCommand> commandList = null; | 
 |  |  |         for (LedSlave slave : slaveProperties.getLed()) { | 
 |  |  |             if (slave.getInStaArr().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.getInStaArr().contains(ledId)) { | 
 |  |  |                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId()); | 
 |  |  |                 if (null != ledThread) { | 
 |  |  |                     errorMsg = ledThread.getErrorMsg().toString(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok().add(errorMsg); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  |