From 04b45b8c22594cc5535b164380738a80b0e8cbe2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 26 五月 2025 15:27:57 +0800
Subject: [PATCH] 修改大屏录像可用率指标

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java |   50 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 30 insertions(+), 20 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 196e733..7e514d4 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
@@ -180,34 +180,44 @@
         }
         //鍒嗘暟淇濈暀涓�浣嶅皬鏁�
         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<>(); // 涓存椂瀛樺偍闇�瑕佹坊鍔犵殑鍏冪礌
+
+        boolean hasFace = false;
+        boolean hasCar = false;
+        for (int i =0;i <entry.getValue().size();i++) {
+            CheckScore checkScore = entry.getValue().get(i);
+            if (checkScore.getExamineCategory() == 2){
+                hasCar = true;
+            }else if (checkScore.getExamineCategory() == 3){
+                hasFace = true;
+            }
+        }
+        if (!hasCar){
+            CheckScore car = new CheckScore();
+            car.setExamineCategory((short) 2);
+            car.setScore(new BigDecimal("0.0"));
+            tempList.add(car);
+        }
+        if (!hasFace){
+            CheckScore face = new CheckScore();
+            face.setExamineCategory((short) 3);
+            face.setScore(new BigDecimal("0.0"));
+            tempList.add(face);
+        }
+
+        return tempList;
+    }
+
     private void getCheckScore(CheckScore checkScore) {
         checkScore.setStartDate(DateUtils.getDayStart(checkScore.getStartDate()));
         checkScore.setEndDate(DateUtils.getDayEnd(checkScore.getEndDate()));

--
Gitblit v1.8.0