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