From e31d4d2d3cecab2fb56508c0f5b82d821719e7bb Mon Sep 17 00:00:00 2001 From: zhangzeli <123456> Date: 星期二, 25 一月 2022 14:39:14 +0800 Subject: [PATCH] bug --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java | 201 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 186 insertions(+), 15 deletions(-) diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java index 578fa22..3f3936e 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java @@ -5,14 +5,15 @@ import cn.exrick.xboot.core.common.utils.ResultUtil; import cn.exrick.xboot.core.common.vo.PageVo; import cn.exrick.xboot.core.common.vo.Result; -import cn.exrick.xboot.your.entity.Car; -import cn.exrick.xboot.your.entity.EventLog; -import cn.exrick.xboot.your.entity.OrderTask; -import cn.exrick.xboot.your.service.ICarService; -import cn.exrick.xboot.your.service.IEventLogService; -import cn.exrick.xboot.your.service.IOrderTaskService; +import cn.exrick.xboot.your.entity.*; +import cn.exrick.xboot.your.service.*; import cn.exrick.xboot.your.util.HaiKangPost; +import cn.exrick.xboot.your.vo.AlarmVo; +import cn.exrick.xboot.your.vo.PreviewURLsVo; +import cn.exrick.xboot.your.vo.TalkURLsVo; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -45,6 +46,21 @@ @Autowired private ICarService iCarService; + + @Autowired + private HaiKangPost haiKangPost; + + @Autowired + private IAreaService iAreaService; + + @Autowired + private IAreaSectionService iAreaSectionService; + + @Autowired + private IEquipmentService iEquipmentService; + + @Autowired + private IAlarmService iAlarmService; @RequestMapping(value = "/getIndex1", method = RequestMethod.GET) @ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁") @@ -81,13 +97,168 @@ return new ResultUtil<Object>().setData(data.getRecords()); } -// @RequestMapping(value = "/getCars", method = RequestMethod.GET) -// @ApiOperation(value = "鑾峰彇杞﹁締淇℃伅") -// public Result<Object> getCars() { -// List<Car> list = iCarService.list(); -// String codes[] = new String[list.size()]; -// -// HaiKangPost.findLatestGps() -// return new ResultUtil<Object>().setData(data.getRecords()); -// } + @RequestMapping(value = "/getCars", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇杞﹁締瀹氫綅淇℃伅") + public Result<Object> getCars() { + List<Car> list = iCarService.list(); + List<String> list2 = new ArrayList<>(); + + for(int i=0;i<list.size();i++){ + if(!StrUtil.isEmpty(list.get(i).getCode())){ + list2.add(list.get(i).getCode()); + } + } + + String codes[] = new String[list2.size()]; + for(int i=0;i<list2.size();i++){ + codes[i] = list2.get(i); + } + String latestGps = haiKangPost.findLatestGps(codes); + return new ResultUtil<Object>().setData(JSONUtil.parseObj(latestGps)); + } + + @RequestMapping(value = "/getAnalysis", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇閰嶉�佸垎鏋�") + public Result<Object> getAnalysis() { + List<Area> list = iAreaService.list2(); + for(Area area:list){ + double sum = 0; + int flag = 0; + for(AreaSection areaSection: area.getChildren()){ + sum+=areaSection.getStability(); + flag++; + } + if(flag>0){ + double v = sum / flag; + area.setVariance(trans2(v)); + } + } + return new ResultUtil<Object>().setData(list); + } + + @RequestMapping(value = "/getAnalysisDetail", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇閰嶉�佸垎鏋愯鎯�") + public Result<Object> getAnalysisDetail(String areaName,String selectName) { + QueryWrapper<Area> wrapper = new QueryWrapper<Area>(); + wrapper.eq("name",areaName); + Area one = iAreaService.getOne(wrapper); + + QueryWrapper<AreaSection> wrapper2 = new QueryWrapper<AreaSection>(); + wrapper2.eq("area_id",one.getId()); + wrapper2.eq("name",selectName); + AreaSection one1 = iAreaSectionService.getOne(wrapper2); + + List<OrderTask> list = iOrderTaskService.groupByTime(one.getId(),one1.getId()); + + List<String> list1 = new ArrayList<>(); + List<Integer> list2 = new ArrayList<>(); + List<Integer> list3 = new ArrayList<>(); + List<Integer> list4 = new ArrayList<>(); + + for(OrderTask obj:list){ + list1.add(obj.getCustomerName()); + list2.add(Integer.valueOf(obj.getTime()/60000)); + list3.add(Integer.valueOf(obj.getNum()/60000)); + list4.add(Integer.valueOf(obj.getLevel()/60000)); + } + Map<String,Object> map = new HashMap<>(); + map.put("name",list1); + map.put("avg",list2); + map.put("min",list3); + map.put("max",list4); + + return new ResultUtil<Object>().setData(map); + } + + @RequestMapping(value = "/getOrderStatus", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鏌愯締杞︾殑閰嶉�佹儏鍐�") + public Result<Object> getOrderStatus(String carNo) { + + QueryWrapper<Car> wrapper = new QueryWrapper<>(); + wrapper.eq("car_no",carNo); + Car car = iCarService.getOne(wrapper); + + if(car==null){ + return ResultUtil.error("杞﹁締涓嶅瓨鍦�,璇峰厛娣诲姞杞﹁締淇℃伅"); + } + + QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); + String format = DateUtil.format(new Date(), "yyyy-MM-dd"); + wrapper2.eq("a.send_date",format); + wrapper2.eq("a.car_id",car.getId()); + List<OrderTask> list = iOrderTaskService.list4(wrapper2); + + return new ResultUtil<Object>().setData(list); + } + + @RequestMapping(value = "/getVideoByCarId", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇瑙嗛淇℃伅 1锛氬墠缃� 4锛氳溅鍐�") + public Result<Object> getVideoByCarId(String carCode,int type) { + QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); + wrapper.eq("code",carCode); + Car car = iCarService.getOne(wrapper); + if(car==null){ + return ResultUtil.error("杞﹁締缂栧彿閿欒"); + } + + QueryWrapper<Equipment> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("car_id",car.getId()); + wrapper1.eq("type",type); + Equipment one = iEquipmentService.getOne(wrapper1); + if(one==null){ + return ResultUtil.error("璁惧鏈壘鍒�"); + } + + PreviewURLsVo previewURLsVo = new PreviewURLsVo(); + previewURLsVo.setCameraIndexCode(one.getCode()); + String s = haiKangPost.previewURLs(previewURLsVo); + return new ResultUtil<Object>().setData(JSONUtil.parseObj(s)); + } + + @RequestMapping(value = "/getYuYinByCarId", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇瀵硅淇℃伅") + public Result<Object> getYuYinByCarId(String carCode,int type,int transmode) { + QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); + wrapper.eq("code",carCode); + Car car = iCarService.getOne(wrapper); + if(car==null){ + return ResultUtil.error("杞﹁締缂栧彿閿欒"); + } + + QueryWrapper<Equipment> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("car_id",car.getId()); + wrapper1.eq("type",type); + Equipment one = iEquipmentService.getOne(wrapper1); + if(one==null){ + return ResultUtil.error("璁惧鏈壘鍒�"); + } + + TalkURLsVo talkURLsVo =new TalkURLsVo(); + talkURLsVo.setCameraIndexCode(one.getCode()); + talkURLsVo.setTransmode(transmode); + String s = haiKangPost.talkURLs(talkURLsVo); + return new ResultUtil<Object>().setData(JSONUtil.parseObj(s)); + } + + @RequestMapping(value = "/getAlarmByCarId", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鎶ヨ鍥剧墖") + public Result<Object> getAlarmByCarId(String alarmId) { + QueryWrapper<Alarm> wrapper = new QueryWrapper<Alarm>(); + wrapper.eq("alarm_id",alarmId); + Alarm alarm = iAlarmService.getOne(wrapper); + if(alarm==null){ + return ResultUtil.error("鎶ヨid閿欒"); + } + + AlarmVo alarmVo = new AlarmVo(); + alarmVo.setAlarmId(alarm.getAlarmId()); + String[] s1 = alarm.getAlarmTime().split(" "); + alarmVo.setAlarmTime(s1[0]+"T"+s1[1]+".000+08:00"); + String s = haiKangPost.findPicturesByAlarmId(alarmVo); + return new ResultUtil<Object>().setData(JSONUtil.parseObj(s)); + } + + public double trans2(double v2){ + return (double) Math.round(v2 * 100) / 100; + } } -- Gitblit v1.9.1