From a067fdbf6b1374a1402096c722257575916eab99 Mon Sep 17 00:00:00 2001 From: wjli <591616088@qq.com> Date: 星期四, 11 五月 2023 16:21:14 +0800 Subject: [PATCH] 1.首页分段显示 2.配送订单页可根据分段显示 3.后端配送率统计 --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java | 301 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 289 insertions(+), 12 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 56ecf50..beee9d8 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,13 +5,17 @@ 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.Area; -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.core.entity.User; +import cn.exrick.xboot.core.service.UserService; +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.bean.BeanUtil; 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; @@ -19,9 +23,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -55,6 +61,24 @@ @Autowired private IAreaSectionService iAreaSectionService; + @Autowired + private IEquipmentService iEquipmentService; + + @Autowired + private IAlarmService iAlarmService; + + @Autowired + private ICustomerService iCustomerService; + + @Autowired + private IOrderTask2Service iOrderTask2Service; + + @Autowired + private UserService userService; + + @Autowired + private IDuoZhengService iDuoZhengService; + @RequestMapping(value = "/getIndex1", method = RequestMethod.GET) @ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁") public Result<Object> getIndex1() { @@ -63,16 +87,32 @@ for (String str : scan) { map.put(str.substring(12),redisTemplateHelper.get(str)); } + QueryWrapper<Customer> wrapper = new QueryWrapper<>(); + wrapper.eq("kstatus",0); + map.put("taKan",iCustomerService.count(wrapper)); return new ResultUtil<Object>().setData(map); + } + + @RequestMapping(value = "/getTaKanList", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇韪忓嫎鍟嗘埛鍒楄〃") + public Result<Object> getTaKanList() { + QueryWrapper<Customer> wrapper = new QueryWrapper<>(); + wrapper.eq("kstatus",0); + return new ResultUtil<Object>().setData(iCustomerService.list(wrapper)); } @RequestMapping(value = "/getTodayTask", method = RequestMethod.GET) @ApiOperation(value = "鑾峰彇浠婃棩閰嶉�佷换鍔�") - public Result<Object> getTodayTask() { - QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); - String format = DateUtil.format(new Date(), "yyyy-MM-dd"); - wrapper2.eq("a.send_date",format); -// wrapper2.orderByAsc("a.seq"); + public Result<Object> getTodayTask(String sendTime) { + //QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); + String format = ""; + if(StrUtil.isNotEmpty(sendTime)){ + format = sendTime; + }else{ + format = DateUtil.format(new Date(), "yyyy-MM-dd"); + } + //wrapper2.eq("a.send_date",format); + //wrapper2.orderByAsc("a.seq"); List<OrderTask> list = iOrderTaskService.list3(format); return new ResultUtil<Object>().setData(list); } @@ -94,10 +134,17 @@ @ApiOperation(value = "鑾峰彇杞﹁締瀹氫綅淇℃伅") public Result<Object> getCars() { List<Car> list = iCarService.list(); - String codes[] = new String[list.size()]; + List<String> list2 = new ArrayList<>(); for(int i=0;i<list.size();i++){ - codes[i] = list.get(i).getCode(); + 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)); @@ -106,7 +153,237 @@ @RequestMapping(value = "/getAnalysis", method = RequestMethod.GET) @ApiOperation(value = "鑾峰彇閰嶉�佸垎鏋�") public Result<Object> getAnalysis() { - List<Area> list = iAreaService.list(); + 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; + } + + + @RequestMapping(value = "/getYiHuDuoZheng", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇閰嶉�佸垎鏋愯鎯�") + public Result<Object> getYiHuDuoZheng() { + +// List<Customer> list = iCustomerService.getYiHuDuoZheng(); +// Map<String,Object> map = new HashMap<>(); +// map.put("name","涓�鎴峰璇�"); +// List<Object> childrens = new ArrayList<>(); +// for(Customer c:list){ +// Map<String,Object> map2 = new HashMap<>(); +// map2.put("name",c.getName()); +// +// List<Object> names = new ArrayList<>(); +// Map<String,Object> map3 = new HashMap<>(); +// map3.put("name",c.getCode()); +// names.add(map3); +// +// map2.put("children",names); +// +// childrens.add(map2); +// } +// map.put("children",childrens); + + + List<String> list = iDuoZhengService.getNames(); + Map<String,Object> map = new HashMap<>(); + map.put("name","涓�鎴峰璇�"); + List<Object> childrens = new ArrayList<>(); + for(String c:list){ + Map<String,Object> map2 = new HashMap<>(); + map2.put("name",c); + + List<Object> names = new ArrayList<>(); + + QueryWrapper<DuoZheng> wp = new QueryWrapper<>(); + wp.eq("name",c); + List<DuoZheng> list1 = iDuoZhengService.list(wp); + for(DuoZheng dz:list1){ + Map<String,Object> map3 = new HashMap<>(); + map3.put("name",dz.getCustomerName()); + names.add(map3); + } + + map2.put("children",names); + + childrens.add(map2); + } + map.put("children",childrens); + return new ResultUtil<Object>().setData(map); + } + + @RequestMapping(value = "/test", method = RequestMethod.GET) + @ApiOperation(value = "娴嬭瘯鎺ュ彛锛屾病鐢�") + public String test(){ + List<OrderTask> list = iOrderTaskService.list(); + + List<OrderTask2> list2 = new ArrayList<>(); + for(OrderTask orderTask:list){ + OrderTask2 orderTask2 = new OrderTask2(); + BeanUtil.copyProperties(orderTask,orderTask2); + + if(StrUtil.isNotEmpty(orderTask.getUserId())){ + orderTask2.setUserName(getUser(orderTask.getUserId())); + } + if(StrUtil.isNotEmpty(orderTask.getCustomerId())){ + orderTask2.setCustomerName(getCustomer(orderTask.getCustomerId())); + } + list2.add(orderTask2); + } + iOrderTask2Service.saveBatch(list2); + return list.size()+"ok"; + } + + private String getUser(String id){ + User user = userService.get(id); + if(user!=null){ + return user.getNickname(); + }else{ + return null; + } + } + + private String getCustomer(String id){ + Customer customer = iCustomerService.getById(id); + if(customer!=null){ + return customer.getName(); + }else{ + return null; + } + } } -- Gitblit v1.9.1