From 32efc4fa320befa79292b9ca62dfe40d0a00c23f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Mon, 16 Aug 2021 17:28:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=A4=84=E7=90=86=E8=A1=97?= =?UTF-8?q?=E9=81=93=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dao/ScreenGovernanceDao.java | 11 +++++++ .../impl/ScreenGovernanceServiceImpl.java | 29 ++++++++++--------- .../mapper/screen/ScreenGovernanceDao.xml | 21 ++++++++++++++ 3 files changed, 47 insertions(+), 14 deletions(-) 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 @@ + +