lohir
2024-10-22 a0e0eca428f47c4d796f1d0917041b072b8e7aac
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -317,22 +317,29 @@
//                date = formatter.format(new Date());
//            }
//        }
        //TODO:标签bug修复
        //没有标签默认全导
        if(CollectionUtils.isEmpty(exportDTO.getExamineTags())){
            exportDTO.setExamineTags(Arrays.asList(0,1,2));
        }
        /** 导三张sheet */
        //车辆
        CheckIndexCar checkIndexCar = new CheckIndexCar();
//        checkIndexCar.setDate(date);
        checkIndexCar.setQuarter(exportDTO.getQuarter());
        checkIndexCar.setDeptId(exportDTO.getDeptId());
        checkIndexCar.setDeptIds(exportDTO.getDeptIds());
        //权限控制 只能查看已发布
        roleControl(checkIndexCar);
        List<CheckIndexCar> checkIndexCars = new ArrayList<>();
        //车辆和人脸没有公安部
        for (Integer examineTag : exportDTO.getExamineTags()) {
            if(examineTag ==2) continue;
            CheckIndexCar checkIndexCar = new CheckIndexCar();
//        checkIndexCar.setDate(date);
            checkIndexCar.setQuarter(exportDTO.getQuarter());
            checkIndexCar.setDeptId(exportDTO.getDeptId());
            checkIndexCar.setDeptIds(exportDTO.getDeptIds());
            //权限控制 只能查看已发布
            roleControl(checkIndexCar);
            checkIndexCar.setExamineTag(Short.valueOf(examineTag + ""));
            if (examineTag == 0) {
                checkIndexCar.setExamineTagQuery(1);
                checkIndexCar.setProvinceTag(Boolean.TRUE);
            }
            checkIndexCars.addAll(indexCarService.selectCheckIndexCarList(checkIndexCar));
        }
        //计算平均值放在excel最后
@@ -368,18 +375,19 @@
        }
        ExcelExp e1 = new ExcelExp("车辆考核指标数据", checkIndexCarVOS, CheckIndexCarVO.class);
        //人脸
        CheckIndexFace checkIndexFace = new CheckIndexFace();
//        checkIndexFace.setDate(date);
        checkIndexFace.setQuarter(exportDTO.getQuarter());
        checkIndexFace.setDeptId(exportDTO.getDeptId());
        checkIndexFace.setDeptIds(exportDTO.getDeptIds());
        //权限控制 只能查看已发布
        roleControl(checkIndexFace);
        List<CheckIndexFace> checkIndexFaces = new ArrayList<>();
        for (Integer examineTag : exportDTO.getExamineTags()) {
            if(examineTag ==2) continue;
            CheckIndexFace checkIndexFace = new CheckIndexFace();
//        checkIndexFace.setDate(date);
            checkIndexFace.setQuarter(exportDTO.getQuarter());
            checkIndexFace.setDeptId(exportDTO.getDeptId());
            checkIndexFace.setDeptIds(exportDTO.getDeptIds());
            //权限控制 只能查看已发布
            roleControl(checkIndexFace);
            checkIndexFace.setExamineTag(Short.valueOf(examineTag + ""));
            if (examineTag == 0) {
                checkIndexFace.setExamineTagQuery(1);
                checkIndexFace.setProvinceTag(Boolean.TRUE);
            }
            checkIndexFaces.addAll(indexFaceService.selectCheckIndexFaceList(checkIndexFace));
        }
@@ -416,18 +424,21 @@
        }
        ExcelExp e2 = new ExcelExp("人脸考核指标数据", checkIndexFaceVOS, CheckIndexFaceVO.class);
        //视频
        CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
//        checkIndexVideo.setDate(date);
        checkIndexVideo.setQuarter(exportDTO.getQuarter());
        checkIndexVideo.setDeptId(exportDTO.getDeptId());
        checkIndexVideo.setDeptIds(exportDTO.getDeptIds());
        //权限控制 只能查看已发布
        roleControl(checkIndexVideo);
        List<CheckIndexVideo> checkIndexVideos = new ArrayList<>();
        for (Integer examineTag : exportDTO.getExamineTags()) {
            CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
//        checkIndexVideo.setDate(date);
            checkIndexVideo.setQuarter(exportDTO.getQuarter());
            checkIndexVideo.setDeptId(exportDTO.getDeptId());
            checkIndexVideo.setDeptIds(exportDTO.getDeptIds());
            //权限控制 只能查看已发布
            roleControl(checkIndexVideo);
            checkIndexVideo.setExamineTag(Short.valueOf(examineTag + ""));
            if (examineTag == 0) {
                checkIndexVideo.setExamineTagQuery(1);
                checkIndexVideo.setProvinceTag(Boolean.TRUE);
            }else if(examineTag ==2){
                //只有视频有公安部数据
                checkIndexVideo.setDeptTag(Boolean.TRUE);
            }
            checkIndexVideos.addAll(indexVideoService.selectCheckIndexVideoList(checkIndexVideo));
        }
@@ -456,6 +467,17 @@
                //根据积分降序
                checkIndexVideos.addAll(videos.stream().sorted(Comparator.comparing(CheckIndexVideo::getScore).reversed()).collect(Collectors.toList()));
            }
            List<CheckIndexVideo> deptList = checkIndexVideos.stream().filter(video -> CheckConstants.Examine_Tag_Dept.equals(video.getExamineTag())).collect(Collectors.toList());
            if (!CollectionUtils.isEmpty(deptList)) {
                Map<Long, List<CheckIndexVideo>> videoMap = deptList.stream().collect(Collectors.groupingBy(CheckIndexVideo::getDeptId));
                List<CheckIndexVideo> videos = new ArrayList<>();
                videoMap.forEach((deptId, list) -> {
                    CheckIndexVideo video = CheckIndexVideo.calculateAverage(list);
                    videos.add(video);
                });
                //根据积分降序
                checkIndexVideos.addAll(videos.stream().sorted(Comparator.comparing(CheckIndexVideo::getScore).reversed()).collect(Collectors.toList()));
            }
        }
        List<CheckIndexVideoVO> checkIndexVideoVOS = new ArrayList<>();
        for (CheckIndexVideo indexVideo : checkIndexVideos) {