| | |
| | | */ |
| | | @Component |
| | | @Slf4j |
| | | public abstract class IndexCalculationServe <T extends BaseResult, S> extends IndexCalculationUtils { |
| | | public abstract class IndexCalculationServe<T extends BaseResult, S> extends IndexCalculationUtils { |
| | | @Autowired |
| | | private TMonitorMapper monitorMapper; |
| | | |
| | | //抽象方法,由子类编写具体逻辑算法 |
| | | protected abstract void updateAreaStats(Map<String, S> areaStatsMap, String key, T result); |
| | | |
| | | protected Map<String, S> getAreaStatsMap(List<T> list){ |
| | | protected Map<String, S> getAreaStatsMap(List<T> list, Boolean needDept) { |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | log.info("数据为空"); |
| | | return null; |
| | |
| | | String deptId = monitor.getDeptId().toString(); |
| | | updateAreaStats(areaStatsMap, deptId, result); |
| | | |
| | | // 处理省厅数据 |
| | | if (result.getProvinceTag()!=null && result.getProvinceTag()) { |
| | | // 处理省厅考核数据 |
| | | if (result.getProvinceTag() != null && result.getProvinceTag()) { |
| | | String provinceKey = ApiConstants.Province + deptId; |
| | | updateAreaStats(areaStatsMap, provinceKey, result); |
| | | } |
| | | // 处理公安部数据 |
| | | if (result.getDeptTag()!=null && result.getDeptTag()) { |
| | | String deptKey = ApiConstants.Dept + deptId; |
| | | updateAreaStats(areaStatsMap, deptKey, result); |
| | | // 处理公安部考核数据(公安部数据只有视频才有,所以这里定义了needDept来决定是否需要处理部级数据) |
| | | if (needDept) { |
| | | if (result.getDeptTag() != null && result.getDeptTag()) { |
| | | String deptKey = ApiConstants.Dept + deptId; |
| | | updateAreaStats(areaStatsMap, deptKey, result); |
| | | } |
| | | } |
| | | } |
| | | return areaStatsMap; |