From 0d243e7f5dc593cdc6e0608bb52cd635f8fc6982 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 19 九月 2025 11:59:44 +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