From 045023133d111be97ad52f097b4b99a2cf5a8311 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 06 九月 2024 00:22:47 +0800 Subject: [PATCH] 考核结果导出优化2 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 72 insertions(+), 39 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java index 1294a76..8f6ab0a 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java @@ -317,19 +317,30 @@ roleControl(checkIndexCar); List<CheckIndexCar> checkIndexCars = indexCarService.selectCheckIndexCarList(checkIndexCar); //璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚� - if (exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexCars)) { - //鍏堝尯鍒嗗悇涓尯鍘匡紝鍐嶅尯鍒嗚�冩牳鏍囩 - Map<Long, List<CheckIndexCar>> carMap = checkIndexCars.stream().collect(Collectors.groupingBy(CheckIndexCar::getDeptId)); - carMap.forEach((deptId,list)->{ - List<CheckIndexCar> provinceList = list.stream().filter(car -> CheckConstants.Examine_Tag_Province.equals(car.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(provinceList)) { - checkIndexCars.add(CheckIndexCar.calculateAverage(provinceList)); - } - List<CheckIndexCar> countyList = list.stream().filter(car -> CheckConstants.Examine_Tag_County.equals(car.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(countyList)) { - checkIndexCars.add(CheckIndexCar.calculateAverage(countyList)); - } - }); + if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexCars)) { + //鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙 + List<CheckIndexCar> countyList = checkIndexCars.stream().filter(car -> CheckConstants.Examine_Tag_County.equals(car.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(countyList)) { + Map<Long, List<CheckIndexCar>> carMap = countyList.stream().collect(Collectors.groupingBy(CheckIndexCar::getDeptId)); + List<CheckIndexCar> cars = new ArrayList<>(); + carMap.forEach((deptId, list) -> { + CheckIndexCar car = CheckIndexCar.calculateAverage(list); + cars.add(car); + }); + //鏍规嵁绉垎闄嶅簭 + checkIndexCars.addAll(cars.stream().sorted(Comparator.comparing(CheckIndexCar::getScore).reversed()).collect(Collectors.toList())); + } + List<CheckIndexCar> provinceList = checkIndexCars.stream().filter(car -> CheckConstants.Examine_Tag_Province.equals(car.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(provinceList)) { + Map<Long, List<CheckIndexCar>> carMap = provinceList.stream().collect(Collectors.groupingBy(CheckIndexCar::getDeptId)); + List<CheckIndexCar> cars = new ArrayList<>(); + carMap.forEach((deptId, list) -> { + CheckIndexCar car = CheckIndexCar.calculateAverage(list); + cars.add(car); + }); + //鏍规嵁绉垎闄嶅簭 + checkIndexCars.addAll(cars.stream().sorted(Comparator.comparing(CheckIndexCar::getScore).reversed()).collect(Collectors.toList())); + } } List<CheckIndexCarVO> checkIndexCarVOS = new ArrayList<>(); for (CheckIndexCar indexCar : checkIndexCars) { @@ -348,19 +359,30 @@ roleControl(checkIndexFace); List<CheckIndexFace> checkIndexFaces = indexFaceService.selectCheckIndexFaceList(checkIndexFace); //璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚� - if (exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexFaces)) { - //鍏堝尯鍒嗗悇涓尯鍘匡紝鍐嶅尯鍒嗚�冩牳鏍囩 - Map<Long, List<CheckIndexFace>> faceMap = checkIndexFaces.stream().collect(Collectors.groupingBy(CheckIndexFace::getDeptId)); - faceMap.forEach((deptId,list)->{ - List<CheckIndexFace> provinceList = list.stream().filter(face -> CheckConstants.Examine_Tag_Province.equals(face.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(provinceList)) { - checkIndexFaces.add(CheckIndexFace.calculateAverage(provinceList)); - } - List<CheckIndexFace> countyList = list.stream().filter(face -> CheckConstants.Examine_Tag_County.equals(face.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(countyList)) { - checkIndexFaces.add(CheckIndexFace.calculateAverage(countyList)); - } - }); + if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexFaces)) { + //鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙 + List<CheckIndexFace> countyList = checkIndexFaces.stream().filter(face -> CheckConstants.Examine_Tag_County.equals(face.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(countyList)) { + Map<Long, List<CheckIndexFace>> faceMap = countyList.stream().collect(Collectors.groupingBy(CheckIndexFace::getDeptId)); + List<CheckIndexFace> faces = new ArrayList<>(); + faceMap.forEach((deptId, list) -> { + CheckIndexFace face = CheckIndexFace.calculateAverage(list); + faces.add(face); + }); + //鏍规嵁绉垎闄嶅簭 + checkIndexFaces.addAll(faces.stream().sorted(Comparator.comparing(CheckIndexFace::getScore).reversed()).collect(Collectors.toList())); + } + List<CheckIndexFace> provinceList = checkIndexFaces.stream().filter(face -> CheckConstants.Examine_Tag_Province.equals(face.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(provinceList)) { + Map<Long, List<CheckIndexFace>> faceMap = provinceList.stream().collect(Collectors.groupingBy(CheckIndexFace::getDeptId)); + List<CheckIndexFace> faces = new ArrayList<>(); + faceMap.forEach((deptId, list) -> { + CheckIndexFace face = CheckIndexFace.calculateAverage(list); + faces.add(face); + }); + //鏍规嵁绉垎闄嶅簭 + checkIndexFaces.addAll(faces.stream().sorted(Comparator.comparing(CheckIndexFace::getScore).reversed()).collect(Collectors.toList())); + } } List<CheckIndexFaceVO> checkIndexFaceVOS = new ArrayList<>(); for (CheckIndexFace indexFace : checkIndexFaces) { @@ -379,19 +401,30 @@ roleControl(checkIndexVideo); List<CheckIndexVideo> checkIndexVideos = indexVideoService.selectCheckIndexVideoList(checkIndexVideo); //璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚� - if (exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexVideos)) { - //鍏堝尯鍒嗗悇涓尯鍘匡紝鍐嶅尯鍒嗚�冩牳鏍囩 - Map<Long, List<CheckIndexVideo>> videoMap = checkIndexVideos.stream().collect(Collectors.groupingBy(CheckIndexVideo::getDeptId)); - videoMap.forEach((deptId,list)->{ - List<CheckIndexVideo> provinceList = list.stream().filter(video -> CheckConstants.Examine_Tag_Province.equals(video.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(provinceList)) { - checkIndexVideos.add(CheckIndexVideo.calculateAverage(provinceList)); - } - List<CheckIndexVideo> countyList = list.stream().filter(video -> CheckConstants.Examine_Tag_County.equals(video.getExamineTag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(countyList)) { - checkIndexVideos.add(CheckIndexVideo.calculateAverage(countyList)); - } - }); + if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexVideos)) { + //鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙 + List<CheckIndexVideo> countyList = checkIndexVideos.stream().filter(video -> CheckConstants.Examine_Tag_County.equals(video.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(countyList)) { + Map<Long, List<CheckIndexVideo>> videoMap = countyList.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<CheckIndexVideo> provinceList = checkIndexVideos.stream().filter(video -> CheckConstants.Examine_Tag_Province.equals(video.getExamineTag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(provinceList)) { + Map<Long, List<CheckIndexVideo>> videoMap = provinceList.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) { -- Gitblit v1.8.0