wl
2022-12-13 ddd9d82bcda5cb6e8be8f1dd142dbae2e07b25c3
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -2,9 +2,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ycl.api.CommonResult;
import com.ycl.dto.trend.TrendAnalysisParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.Violations;
import com.ycl.mapper.trend.TrendAnalysisMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.trend.TrendAnalysisService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.TrendVo;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
@@ -23,6 +29,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @author Lyq
@@ -38,6 +45,10 @@
    @Autowired
    IBaseCaseService iBaseCaseService;
    @Autowired
    IViolationsService iViolationsService;
    @Resource
    TrendAnalysisMapper trendAnalysisMapper;
    @ApiOperation(value = "执法事件统计")
    @GetMapping("/statistics")
@@ -60,24 +71,11 @@
    public CommonResult type(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        EnforcementEventsVO.TypeAndSourceVO typeAndSourceVO = new EnforcementEventsVO.TypeAndSourceVO();
        Long allCount = iBaseCaseService.count();
        Long violationCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "1"));
        Long illegalBuildingCount = iBaseCaseService.count(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getCategory, "2"));
        ArrayList<VideoAndAreaVO> typeAndSourceVO1s = new ArrayList<>();
        VideoAndAreaVO violationVO1 = new VideoAndAreaVO();
        violationVO1.setName("违规");
        violationVO1.setCount(violationCount);
        violationVO1.setRatio(new BigDecimal(violationCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
        VideoAndAreaVO illegalBuildingVO1 = new VideoAndAreaVO();
        illegalBuildingVO1.setName("违建");
        illegalBuildingVO1.setCount(illegalBuildingCount);
        illegalBuildingVO1.setRatio(new BigDecimal(illegalBuildingCount * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP));
        typeAndSourceVO1s.add(violationVO1);
        typeAndSourceVO1s.add(illegalBuildingVO1);
        typeAndSourceVO.setRecords(typeAndSourceVO1s);
        typeAndSourceVO.setAll(allCount);
        System.out.println(illegalBuildingCount / allCount);
        Long count = iViolationsService.count();
        typeAndSourceVO.setAll(iViolationsService.count());
        List<VideoAndAreaVO> videoAndAreaVOS = iViolationsService.selectType();
        videoAndAreaVOS.stream().forEach(item->item.setRatio(new BigDecimal(item.getCount()*1.0/count).setScale(2,BigDecimal.ROUND_HALF_UP)));
        typeAndSourceVO.setRecords(videoAndAreaVOS);
        return CommonResult.success(typeAndSourceVO);
    }
@@ -85,16 +83,15 @@
    @GetMapping("/video")
    public CommonResult video(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        List<VideoAndAreaVO> videoVOS = new ArrayList<>();
        VideoAndAreaVO videoVO = null;
        for (int i = 0; i < 4; i++) {
            videoVO = new VideoAndAreaVO();
            videoVO.setName("团结屯");
            videoVO.setCount(10L);
            videoVO.setRatio(new BigDecimal("0.65").setScale(2, RoundingMode.HALF_UP));
            videoVOS.add(videoVO);
        }
        return CommonResult.success(videoVOS);
        Long count = iViolationsService.count(new LambdaQueryWrapper<Violations>().isNotNull(Violations::getVideoPointId));
        List<VideoAndAreaVO> collect = trendAnalysisMapper.selectTrendInfo(new TrendAnalysisParam()).stream().map(item -> {
            VideoAndAreaVO videoAndAreaVO = new VideoAndAreaVO();
            videoAndAreaVO.setName(item.getName());
            videoAndAreaVO.setCount(item.getCount());
            videoAndAreaVO.setRatio(new BigDecimal(item.getCount() * 1.0 / count).setScale(2, BigDecimal.ROUND_HALF_UP));
            return videoAndAreaVO;
        }).collect(Collectors.toList());
        return CommonResult.success(collect);
    }
    @ApiOperation(value = "事件来源")