baizonghao
2023-03-30 e986bd63309fba70f7f3cfaf70aadec46220917b
ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -1,23 +1,32 @@
package com.ycl.controller.cockpit.statisticsEvents;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.entity.cockpitManage.TeamConstruction;
import com.ycl.entity.cockpitManage.TeamIndex;
import com.ycl.service.apidata.IApiDataService;
import com.ycl.service.cockpitManage.ITeamConstructionService;
import com.ycl.service.equipment.IOrgGridService;
import com.ycl.service.video.impl.IVideoPointService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO;
import com.ycl.vo.equipment.VideoPointVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -31,6 +40,35 @@
public class StatisticsEventsController {
    @Resource
    private CheckApiUtil checkApiUtil;
    private IVideoPointService videoPointService;
    private ITeamConstructionService teamConstructionService;
    private IOrgGridService orgGridService;
    private IApiDataService iApiDataService;
    @Autowired
    public void setIApiDataService(IApiDataService apiDataService) {
        this.iApiDataService = apiDataService;
    }
    @Autowired
    public void setTeamConstructionService(ITeamConstructionService teamConstructionService) {
        this.teamConstructionService = teamConstructionService;
    }
    @Autowired
    public void setVideoPointService(IVideoPointService videoPointService) {
        this.videoPointService = videoPointService;
    }
    @Autowired
    public void setOrgGridService(IOrgGridService orgGridService) {
        this.orgGridService = orgGridService;
    }
    @ApiOperation(value = "执法事件")
    @GetMapping("/law_enforcement_event")
@@ -53,16 +91,8 @@
    @GetMapping("/lot")
    public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.LotVO> lotVOS = new ArrayList<>();
        StatisticsEventsVO.LotVO a = null;
        for (int i = 0; i < 4; i++) {
            a = new StatisticsEventsVO.LotVO();
            a.setName("团结屯");
            a.setType("摄像头");
            a.setCount(10);
            a.setRatio(new BigDecimal("-0.3").setScale(2, RoundingMode.HALF_UP));
            lotVOS.add(a);
        }
        List<StatisticsEventsVO.LotVO> lotVOS = iApiDataService.listLot(params.getStreetId(), params.getBeginTime(), params.getEndTime());
        return CommonResult.success(lotVOS);
    }
@@ -118,13 +148,17 @@
    @ApiOperation(value = "top10")
    @GetMapping("/top10")
    public CommonResult<List<StatisticsEventsVO.Top10VO>> top10(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>();
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0));
        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0));
        return CommonResult.success(ls);
//        checkApiUtil.cockpit(params);
//        List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>();
//        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0));
//        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0));
//        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0));
//        ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0));
//        return CommonResult.success(ls);
        String beginTime = params.getBeginTime();
        String endTime = params.getEndTime();
        List<StatisticsEventsVO.Top10VO> res = iApiDataService.listTop10(beginTime, endTime);
        return CommonResult.success(res);
    }
@@ -132,11 +166,8 @@
    @GetMapping("/arithmetic_event")
    public CommonResult<List<StatisticsEventsVO.ArithmeticVO>> arithmeticEvent(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<StatisticsEventsVO.ArithmeticVO> ls = new ArrayList<>();
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 10, 0.1));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 20, 0.2));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 30, 0.3));
        ls.add(new StatisticsEventsVO.ArithmeticVO("xx中队", 40, 0.4));
        List<StatisticsEventsVO.ArithmeticVO> ls = iApiDataService.arithmeticEvent(params.getStreetId(), params.getBeginTime(), params.getEndTime());
        return CommonResult.success(ls);
    }
@@ -146,8 +177,57 @@
    public CommonResult<StatisticsEventsVO.CityPanelVo> cityPanel(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, 22, 12, 22, 34, 99, 9, 34, 6);
        StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, true, 22, false, 12, true,
                22, false, 34, true, 99, false, 9, true,
                34, false, 6, true);
        return CommonResult.success(vo);
    }
    @ApiOperation(value = "点位")
    @GetMapping("/video_point")
    public CommonResult<List<VideoPointVo>> videoPoint(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        IPage<VideoPointVo> page = videoPointService.getList(null, null, 1, 500);
        return CommonResult.success(page.getRecords());
    }
    @ApiOperation(value = "网格地图")
    @GetMapping("/grid_map")
    public CommonResult<List<GridMapVO>> gridMap(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<GridMapVO> list = orgGridService.statisticsGridMap(params.getBeginTime(), params.getEndTime());
        return CommonResult.success(list);
    }
    @ApiOperation(value = "队伍建设")
    @GetMapping("/team_construction")
    public CommonResult<List<TeamConstruction>> teamConstruction(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
        List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
        return CommonResult.success(list);
    }
    @ApiOperation(value = "中队指数体征")
    @GetMapping("/team_index")
    public CommonResult<List<TeamIndex>> teamIndex(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
        List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
        List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class);
        teamIndexList.forEach(o -> {
            o.setStepTimely(0.6);
            o.setStepDelayed(0.3);
            o.setStepOvertime(0.1);
            o.setHandleTimely(0.6);
            o.setHandleDelayed(0.2);
            o.setHandleOvertime(0.1);
            o.setNoHandle(0.1);
        });
        return CommonResult.success(teamIndexList);
    }
}