| | |
| | | } |
| | | //分数保留一位小数 |
| | | checkScores.stream().forEach(item -> item.setScore(item.getScore().setScale(1, RoundingMode.HALF_UP))); |
| | | |
| | | Map<Long, List<CheckScore>> map = checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId)); |
| | | log.error("map :{}",map); |
| | | |
| | | for (Map.Entry<Long, List<CheckScore>> entry : map.entrySet()) { |
| | | List<CheckScore> tempList = new ArrayList<>(); // 临时存储需要添加的元素 |
| | | Iterator<CheckScore> iterator = entry.getValue().iterator(); |
| | | while (iterator.hasNext()) { |
| | | CheckScore listCheckScore = iterator.next(); |
| | | if (listCheckScore.getExamineCategory() == 1 && entry.getValue().size() == 1) { |
| | | CheckScore face = new CheckScore(); |
| | | face.setExamineCategory((short) 2); |
| | | face.setScore(new BigDecimal("0.0")); |
| | | CheckScore car = new CheckScore(); |
| | | car.setExamineCategory((short) 3); |
| | | car.setScore(new BigDecimal("0.0")); |
| | | tempList.add(face); |
| | | tempList.add(car); |
| | | } |
| | | } |
| | | List<CheckScore> tempList = getCheckScores(entry); |
| | | // 迭代结束后,将新元素添加到原始列表中 |
| | | entry.getValue().addAll(tempList); |
| | | } |
| | | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | private List<CheckScore> getCheckScores(Map.Entry<Long, List<CheckScore>> entry) { |
| | | List<CheckScore> tempList = new ArrayList<>(); // 临时存储需要添加的元素 |
| | | for (CheckScore listCheckScore : entry.getValue()) { |
| | | if (listCheckScore.getExamineCategory() == 1 && entry.getValue().size() == 1) { |
| | | CheckScore face = new CheckScore(); |
| | | face.setExamineCategory((short) 2); |
| | | face.setScore(new BigDecimal("0.0")); |
| | | CheckScore car = new CheckScore(); |
| | | car.setExamineCategory((short) 3); |
| | | car.setScore(new BigDecimal("0.0")); |
| | | tempList.add(face); |
| | | tempList.add(car); |
| | | } |
| | | } |
| | | return tempList; |
| | | } |
| | | |
| | | private void getCheckScore(CheckScore checkScore) { |
| | | checkScore.setStartDate(DateUtils.getDayStart(checkScore.getStartDate())); |
| | | checkScore.setEndDate(DateUtils.getDayEnd(checkScore.getEndDate())); |