| | |
| | | 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(); |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | } |