zxl
昨天 3b0516a2959e25576e4f3fda697a3b025d06c8c9
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();
                }
            }
        }