wang-hao-jie
2021-12-27 76e9e8e05cbe7dafeba51a235386f20ebf986e25
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/pc/StatisticController.java
@@ -1,8 +1,17 @@
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.your.entity.*;
import cn.exrick.xboot.your.service.*;
import cn.exrick.xboot.your.util.HaiKangPost;
import cn.hutool.core.date.DateUtil;
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;
@@ -25,6 +34,24 @@
    @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;
    @RequestMapping(value = "/getIndex1", method = RequestMethod.GET)
    @ApiOperation(value = "获取首页数据")
    public Result<Object> getIndex1() {
@@ -35,4 +62,64 @@
        }
        return new ResultUtil<Object>().setData(map);
    }
    @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");
        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();
        String codes[] = new String[list.size()];
        for(int i=0;i<list.size();i++){
            codes[i] = list.get(i).getCode();
        }
        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);
    }
    public double trans2(double v2){
        return (double) Math.round(v2 * 100) / 100;
    }
}