diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java index 5562abb6..f8cc158b 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java @@ -1,6 +1,7 @@ package com.elink.esua.epdc.modules.screen.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; @@ -16,6 +17,16 @@ import java.util.List; @Mapper public interface ScreenGovernanceDao extends BaseDao { + /** + * 获取街道列表 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/16 17:11 + */ + List getStreetList(); + /** * 治理能力排行数据(按日统计)数据 * 网格统计 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java index 2311fb6b..7c9f0ebc 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; @@ -39,11 +40,6 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl data = baseDao.governrankdatadaily(); List agencyData = baseDao.governrankdatadailyAgency(); List noRespData = baseDao.governrankdatadailyNoResp(); + List streetList = baseDao.getStreetList(); // 处理未响应和项目转入次数 noRespHandle(data, noRespData); @@ -67,15 +64,19 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(STREET_ID)).findFirst(); - if (agencyOptional.isPresent()) { - ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); - Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); - Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); - agencyResult.setResponseCount(responseCount); - agencyResult.setTransferCount(transferCount); - } + + streetList.forEach(street -> { + String streetId = street.getId().toString(); + // 街道数据需要在本身基础上再加上社区的合计 + Optional agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(streetId)).findFirst(); + if (agencyOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); + Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); + Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); + agencyResult.setResponseCount(responseCount); + agencyResult.setTransferCount(transferCount); + } + }); // 合并网格社区街道数据 data.addAll(agencyData); // 计算响应率 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml index c0a34838..cc62bf6d 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml @@ -3,6 +3,27 @@ + +