From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均

---
 ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java
index dceb4c8..209fc63 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java
@@ -101,12 +101,20 @@
         int provinceTotalSites = 0;
         //鍖哄幙鎬荤偣浣嶆暟
         int countyTotalSites = 0;
+        //鍚屾湡鐪佸巺鎶撴媿閲�
+        int lastProvinceSnap = 0;
+        //鍚屾湡鍖哄幙鎶撴媿閲�
+        int lastCountySnap = 0;
         //浠庡瓧鍏搁噷绛涢�夌渷鍘呭��
-        int lastProvinceSnap = Integer.parseInt(lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_PROVINCE_FACE.equals(sysDictData.getDictLabel())).findFirst().get().getDictValue());
+        Optional<SysDictData> first = lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_PROVINCE_FACE.equals(sysDictData.getDictLabel())).findFirst();
+        if (first.isPresent()) {
+            lastProvinceSnap = Integer.parseInt(first.get().getDictValue());
+        }
         //浠庡瓧鍏搁噷绛涢�夊尯鍘垮��
-        int lastCountySnap = Integer.parseInt(lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_COUNTY_FACE.equals(sysDictData.getDictLabel())).findFirst().get().getDictValue());
-        ;
-
+        Optional<SysDictData> first2 = lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_COUNTY_FACE.equals(sysDictData.getDictLabel())).findFirst();
+        if (first2.isPresent()) {
+            lastCountySnap = Integer.parseInt(first2.get().getDictValue());
+        }
         //璁$畻鎬绘暟
         for (Map.Entry<String, AreaStats> entry : areaStatsMap.entrySet()) {
             String key = entry.getKey();
@@ -126,14 +134,20 @@
                 if (value.totalSites == 0) {
                     value.lastSnapCount = 0;
                 } else {
-                    value.lastSnapCount = (value.totalSites / provinceTotalSites) * lastProvinceSnap;
+                    BigDecimal result = new BigDecimal(value.totalSites)
+                            .divide(new BigDecimal(provinceTotalSites), 2, RoundingMode.HALF_UP)
+                            .multiply(new BigDecimal(lastProvinceSnap));
+                    value.lastSnapCount = result.setScale(0, RoundingMode.HALF_UP).intValue();
                 }
             } else {
                 //鍖哄幙
                 if (value.totalSites == 0) {
                     value.lastSnapCount = 0;
                 } else {
-                    value.lastSnapCount = (value.totalSites / countyTotalSites) * lastCountySnap;
+                    BigDecimal result = new BigDecimal(value.totalSites)
+                            .divide(new BigDecimal(countyTotalSites), 2, RoundingMode.HALF_UP)
+                            .multiply(new BigDecimal(lastCountySnap));
+                    value.lastSnapCount = result.setScale(0, RoundingMode.HALF_UP).intValue();
                 }
             }
         }

--
Gitblit v1.8.0