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 |  351 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 351 insertions(+), 0 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 78679e7..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
@@ -1,15 +1,33 @@
 package cn.exrick.xboot.your.controller.pc;
 
 import cn.exrick.xboot.core.common.redis.RedisTemplateHelper;
+import cn.exrick.xboot.core.common.utils.PageUtil;
 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.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;
 import io.swagger.annotations.Api;
 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.*;
 
 /**
@@ -25,6 +43,42 @@
     @Autowired
     private RedisTemplateHelper redisTemplateHelper;
 
+    @Autowired
+    private IOrderTaskService iOrderTaskService;
+
+    @Autowired
+    private IEventLogService iEventLogService;
+
+    @Autowired
+    private ICarService iCarService;
+
+    @Autowired
+    private HaiKangPost haiKangPost;
+
+    @Autowired
+    private IAreaService iAreaService;
+
+    @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() {
@@ -33,6 +87,303 @@
         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(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);
+    }
+
+    @RequestMapping(value = "/getEventLog", method = RequestMethod.GET)
+    @ApiOperation(value = "鑾峰彇浜嬩欢鏃ュ織")
+    public Result<Object> getEventLog() {
+        QueryWrapper<EventLog> wrapper2 = new QueryWrapper<EventLog>();
+        PageVo page = new PageVo();
+        page.setPageNumber(1);
+        page.setPageSize(20);
+        page.setOrder("desc");
+        page.setSort("createTime");
+        IPage<EventLog> data = iEventLogService.page(PageUtil.initMpPage(page),wrapper2);
+        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;
+    }
+
+
+    @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