From 6371f17b2056b6e4010cbdc60965d5eac12a5d98 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 15 十月 2024 18:27:29 +0800 Subject: [PATCH] 考核导出bug,人脸上传及时bug --- ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java | 28 +++++++++++++++++++++++----- 1 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java index 4b9b085..98c4b3e 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java @@ -90,11 +90,21 @@ int provinceTotalSites = 0; //鍖哄幙鎬荤偣浣嶆暟 int countyTotalSites = 0; + //鍚屾湡鐪佸巺鎶撴媿閲� + int lastProvinceSnap = 0; + //鍚屾湡鍖哄幙鎶撴媿閲� + int lastCountySnap = 0; //浠庡瓧鍏搁噷绛涢�夌渷鍘呭�� - int lastProvinceSnap = Integer.parseInt(lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_PROVINCE_CAR.equals(sysDictData.getDictLabel())).findFirst().get().getDictValue()); + Optional<SysDictData> first = lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_PROVINCE_CAR.equals(sysDictData.getDictLabel())).findFirst(); + if (first.isPresent()) { + lastProvinceSnap = Integer.parseInt(first.get().getDictValue()); + } //浠庡瓧鍏搁噷绛涢�夊尯鍘垮�� - int lastCountySnap = Integer.parseInt(lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_COUNTY_CAR.equals(sysDictData.getDictLabel())).findFirst().get().getDictValue());; - + Optional<SysDictData> first2 = lastSnap.stream().filter(sysDictData -> CheckConstants.SNAP_COUNTY_CAR.equals(sysDictData.getDictLabel())).findFirst(); + if (first2.isPresent()) { + lastCountySnap = Integer.parseInt(first2.get().getDictValue()); + } + log.info("鐪佸巺鍚屾湡锛歿}锛屽尯鍘垮悓鏈燂細{}",lastProvinceSnap,lastCountySnap); //璁$畻鎬绘暟 for (Map.Entry<String, AreaStats> entry : areaStatsMap.entrySet()) { String key = entry.getKey(); @@ -105,6 +115,7 @@ countyTotalSites += value.totalSites; } } + log.info("鐪佸巺鎬绘暟锛歿}锛屽尯鍘挎�绘暟锛歿}",provinceTotalSites,countyTotalSites); //鍔犳潈鎿嶄綔,琛ュ厖鍚屾湡鎶撴媿閲� for (Map.Entry<String, AreaStats> entry : areaStatsMap.entrySet()) { String key = entry.getKey(); @@ -114,16 +125,23 @@ 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(); } } + log.info("璁$畻鐨勬暟鎹細鎬荤偣浣嶆暟锛歿}锛屾�绘姄鎷嶉噺锛歿}锛屽悓鏈熸姄鎷嶉噺锛歿}",value.totalSites,value.totalDataSum,value.lastSnapCount); } } -- Gitblit v1.8.0