zxl
6 小时以前 3b0516a2959e25576e4f3fda697a3b025d06c8c9
ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -19,14 +19,14 @@
 */
@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;
@@ -43,15 +43,17 @@
            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;