Browse Source

重新处理街道数据

feature/screenDataPush
zhangyuan 4 years ago
parent
commit
32efc4fa32
  1. 11
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java
  2. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java
  3. 21
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml

11
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; package com.elink.esua.epdc.modules.screen.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; 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.ScreenAgencyGovernDailyResultDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO;
@ -16,6 +17,16 @@ import java.util.List;
@Mapper @Mapper
public interface ScreenGovernanceDao extends BaseDao<ScreenGovernanceResultDTO> { public interface ScreenGovernanceDao extends BaseDao<ScreenGovernanceResultDTO> {
/**
* 获取街道列表
*
* @param
* @return java.util.List<com.elink.esua.epdc.dto.SysDeptDTO>
* @author zhy
* @date 2021/8/16 17:11
*/
List<SysDeptDTO> getStreetList();
/** /**
* 治理能力排行数据(按日统计)数据 * 治理能力排行数据(按日统计)数据
* 网格统计 * 网格统计

29
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.constant.EpmetConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; 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.form.ScreenJobFormDTO;
import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; 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.ScreenGovernRankDataDailyResultDTO;
@ -39,11 +40,6 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl<ScreenGovernanc
@Value("${epmet.config.customerId}") @Value("${epmet.config.customerId}")
private String EPMET_CONFIG_CUSTOMER_ID; private String EPMET_CONFIG_CUSTOMER_ID;
/**
* 锦水街道DEPT_ID
*/
private final String STREET_ID = "1215437824174608386";
@Override @Override
public Result governrankdatadaily(ScreenJobFormDTO formDto) { public Result governrankdatadaily(ScreenJobFormDTO formDto) {
String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1));
@ -53,6 +49,7 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl<ScreenGovernanc
List<ScreenGovernRankDataDailyResultDTO> data = baseDao.governrankdatadaily(); List<ScreenGovernRankDataDailyResultDTO> data = baseDao.governrankdatadaily();
List<ScreenGovernRankDataDailyResultDTO> agencyData = baseDao.governrankdatadailyAgency(); List<ScreenGovernRankDataDailyResultDTO> agencyData = baseDao.governrankdatadailyAgency();
List<ScreenGovernRankDataDailyResultDTO> noRespData = baseDao.governrankdatadailyNoResp(); List<ScreenGovernRankDataDailyResultDTO> noRespData = baseDao.governrankdatadailyNoResp();
List<SysDeptDTO> streetList = baseDao.getStreetList();
// 处理未响应和项目转入次数 // 处理未响应和项目转入次数
noRespHandle(data, noRespData); noRespHandle(data, noRespData);
@ -67,15 +64,19 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl<ScreenGovernanc
agencyResult.setTransferCount(agencyResult.getTransferCount() + item.getTransferCount()); agencyResult.setTransferCount(agencyResult.getTransferCount() + item.getTransferCount());
} }
}); });
// 街道数据需要在本身基础上再加上社区的合计
Optional<ScreenGovernRankDataDailyResultDTO> agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(STREET_ID)).findFirst(); streetList.forEach(street -> {
if (agencyOptional.isPresent()) { String streetId = street.getId().toString();
ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); // 街道数据需要在本身基础上再加上社区的合计
Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); Optional<ScreenGovernRankDataDailyResultDTO> agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(streetId)).findFirst();
Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); if (agencyOptional.isPresent()) {
agencyResult.setResponseCount(responseCount); ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get();
agencyResult.setTransferCount(transferCount); 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); data.addAll(agencyData);
// 计算响应率 // 计算响应率

21
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml

@ -3,6 +3,27 @@
<mapper namespace="com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao"> <mapper namespace="com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao">
<select id="getStreetList" resultType="com.elink.esua.epdc.dto.SysDeptDTO">
SELECT
id,
pid,
pids,
NAME
FROM
esua_epdc_admin.sys_dept sd
WHERE
sd.del_flag = '0'
AND sd.type_key = 'street_party'
AND sd.id NOT IN (
SELECT
t.dept_id
FROM
esua_epdc_admin.sys_dept_config t
WHERE
t.del_flag = '0'
)
</select>
<select id="governrankdatadaily" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO"> <select id="governrankdatadaily" resultType="com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO">
SELECT SELECT
DATE_FORMAT( DATE_FORMAT(

Loading…
Cancel
Save