From 7a88c5ac39249d3e29dcf670bcad1b07d440f8be Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 30 Dec 2021 17:23:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=8A=BD=E5=8F=96?= =?UTF-8?q?=E6=95=88=E7=8E=87=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectExtractServiceImpl.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 3c860e4d37..5ee0d941bd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -127,17 +127,30 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { //获取项目信息 List projectList = projectService.getProjectInfo(customerId, dateString, projectId); factOriginProjectMainDailyService.deleteByDate(customerId, dateString,projectId); + List issueList = new ArrayList<>(); + List topicList = new ArrayList<>(); if (!CollectionUtils.isEmpty(projectList)) { Map projectEventMap = projectService.getEventList(customerId); //提取议题ID List issueIds = projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); - //获取议题信息 - List issueList = issueService.getIssueInfoByIds(issueIds); - //提取话题ID - List topicIds = issueList.stream().map(IssueDTO::getSourceId).collect(Collectors.toList()); - //获取话题信息 - List topicList = topicService.getTopicByIds(topicIds); + if(CollectionUtils.isNotEmpty(issueIds)) { + //批次数量 + int batchCount = 200; + //获取议题信息 + + for (int i = 0; i < issueIds.size(); i += batchCount) { + int lastIndex = Math.min(i + batchCount, issueIds.size()); + issueList.addAll(issueService.getIssueInfoByIds(issueIds.subList(i, lastIndex))); + } + //提取话题ID + List topicIds = issueList.stream().map(IssueDTO::getSourceId).collect(Collectors.toList()); + //获取话题信息 + for (int i = 0; i < topicIds.size(); i += batchCount) { + int lastIndex = Math.min(i + batchCount, topicIds.size()); + topicList.addAll(topicService.getTopicByIds(topicIds.subList(i, lastIndex))); + } + } //获取网格认证党员 List partyMemberList = partyMemberService.getPartyMemberByCustomer(customerId); //生成DTO From aaa6d179e44fe386024b90bd4fe8ae4c2e9c0088 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 30 Dec 2021 17:39:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectExtractServiceImpl.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5ee0d941bd..6db4bc6c4c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -38,6 +38,7 @@ import com.epmet.util.DimIdGenerator; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -134,21 +135,17 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { //提取议题ID List issueIds = projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(issueIds)) { - //批次数量 - int batchCount = 200; + if (CollectionUtils.isNotEmpty(issueIds)) { + //分批次获取 //获取议题信息 - - for (int i = 0; i < issueIds.size(); i += batchCount) { - int lastIndex = Math.min(i + batchCount, issueIds.size()); - issueList.addAll(issueService.getIssueInfoByIds(issueIds.subList(i, lastIndex))); - } + List> partition = ListUtils.partition(issueIds, NumConstant.FIFTY); + partition.forEach(part -> issueList.addAll(issueService.getIssueInfoByIds(part))); //提取话题ID List topicIds = issueList.stream().map(IssueDTO::getSourceId).collect(Collectors.toList()); - //获取话题信息 - for (int i = 0; i < topicIds.size(); i += batchCount) { - int lastIndex = Math.min(i + batchCount, topicIds.size()); - topicList.addAll(topicService.getTopicByIds(topicIds.subList(i, lastIndex))); + if (CollectionUtils.isNotEmpty(topicIds)) { + //获取话题信息 + List> topicPart = ListUtils.partition(topicIds, NumConstant.FIFTY); + topicPart.forEach(part -> topicList.addAll(topicService.getTopicByIds(part))); } } //获取网格认证党员 From b266e8532a1aa6aee71a763882ec2b1a34b2d8d9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 31 Dec 2021 10:53:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E5=B8=83?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/SonOrgResultDTO.java | 20 +++++++++++++++++ .../epmet/feign/GovOrgOpenFeignClient.java | 2 +- .../GovOrgOpenFeignClientFallback.java | 4 ++-- .../epmet/controller/AgencyController.java | 4 ++-- .../java/com/epmet/dao/CustomerAgencyDao.java | 4 +++- .../java/com/epmet/service/AgencyService.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 9 ++++++-- .../resources/mapper/CustomerAgencyDao.xml | 14 ++++++++++-- .../service/impl/ProjectServiceImpl.java | 22 +++++++++++-------- .../src/main/resources/mapper/ProjectDao.xml | 2 +- 10 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SonOrgResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SonOrgResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SonOrgResultDTO.java new file mode 100644 index 0000000000..21d688ac55 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SonOrgResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/12/31 10:22 上午 + * @DESC + */ +@Data +public class SonOrgResultDTO implements Serializable { + + private static final long serialVersionUID = -1046350929245852333L; + + private String orgId; + + private String pids; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index f09e1f6ccf..f997cad3c5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -539,7 +539,7 @@ public interface GovOrgOpenFeignClient { * @date 2021/12/9 4:42 下午 */ @PostMapping("/gov/org/agency/getsonagencyid") - Result> getSonAgencyId(@RequestParam("orgId")String orgId); + Result> getSonAgencyId(@RequestParam("orgId")String orgId,@RequestParam("type")String type); // /icbuilding/{id}?id=demoData diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index f85e3471e6..95cdf04f81 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -335,8 +335,8 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { } @Override - public Result> getSonAgencyId(String orgId) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getSonAgencyId", orgId); + public Result> getSonAgencyId(String orgId,String type) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getSonAgencyId", orgId,type); } @Override diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 5651110c57..363f7b7297 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -356,8 +356,8 @@ public class AgencyController { * @date 2021/12/9 4:42 下午 */ @PostMapping("getsonagencyid") - public Result> getSonAgencyId(@RequestParam("orgId")String orgId){ - return new Result>().ok(agencyService.getSonAgencyId(orgId)); + public Result> getSonAgencyId(@RequestParam("orgId")String orgId,@RequestParam("type")String type){ + return new Result>().ok(agencyService.getSonAgencyId(orgId,type)); } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index d1a49f7ba3..b29ca682eb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -280,7 +280,9 @@ public interface CustomerAgencyDao extends BaseDao { * @author zxc * @date 2021/12/9 4:42 下午 */ - List getSonAgencyId(@Param("orgId") String orgId); + List getSonAgencyId(@Param("orgId") String orgId); + + List getSonGridId(@Param("orgId") String orgId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index d85f2d8b68..bacb45d855 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -154,6 +154,6 @@ public interface AgencyService { * @author zxc * @date 2021/12/9 4:42 下午 */ - List getSonAgencyId(String orgId); + List getSonAgencyId(String orgId,String type); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 4bfc4487d3..9b5981318e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -638,8 +638,13 @@ public class AgencyServiceImpl implements AgencyService { * @date 2021/12/9 4:42 下午 */ @Override - public List getSonAgencyId(String orgId) { - List result = customerAgencyDao.getSonAgencyId(orgId); + public List getSonAgencyId(String orgId,String type) { + List result = new ArrayList<>(); + if (type.equals("community")){ + result = customerAgencyDao.getSonGridId(orgId); + }else { + result = customerAgencyDao.getSonAgencyId(orgId); + } if (CollectionUtils.isNotEmpty(result)){ return result; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 8b89d3c966..310b631dc7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -669,13 +669,23 @@ - SELECT - ID + ID AS orgId, + pids FROM customer_agency WHERE DEL_FLAG = '0' AND PID = #{orgId} + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 0765ea11a9..e3a705b1a4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -2915,22 +2915,26 @@ public class ProjectServiceImpl extends BaseServiceImpl orgList = new ArrayList<>(); + Result> sonOrgList = govOrgOpenFeignClient.getSonAgencyId(formDTO.getOrgId(), agencyInfo.getLevel()); + if (!sonOrgList.success() || CollectionUtils.isEmpty(sonOrgList.getData())){ + throw new EpmetException(String.format("查询组织{%s}的下级组织失败或为空...",formDTO.getOrgId())); + } + List orgIds = sonOrgList.getData(); if (!agencyInfo.getLevel().equals(ProjectConstant.ORG_LEVEL_COMMUNITY)){ - Result> sonAgencyIdResult = govOrgOpenFeignClient.getSonAgencyId(formDTO.getOrgId()); - if (!sonAgencyIdResult.success()){ - throw new EpmetException(String.format("查询组织{%s}的下级组织失败...",formDTO.getOrgId())); - } - List agencyIds = sonAgencyIdResult.getData(); - if (CollectionUtils.isNotEmpty(agencyIds)){ - orgList = baseDao.selectProjectCountByOrg(agencyIds,formDTO.getStartDate(),formDTO.getEndDate()); - } + orgList = baseDao.selectProjectCountByOrg(orgIds.stream().map(m -> m.getPids()).collect(Collectors.toList()), formDTO.getStartDate(),formDTO.getEndDate()); }else { + for (SonOrgResultDTO o : orgIds) { + ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO(); + dto.setOrgId(o.getOrgId()); + orgList.add(dto); + } Result> projectCountByGrid = govIssueOpenFeignClient.getProjectCountByGrid(formDTO); if (!projectCountByGrid.success()){ throw new EpmetException("查询网格项目数失败..."); } if (CollectionUtils.isNotEmpty(projectCountByGrid.getData())){ - orgList = projectCountByGrid.getData(); + orgList.stream().forEach(o -> projectCountByGrid.getData().stream().filter(p -> p.getOrgId().equals(o.getOrgId())).forEach(p -> o.setCount(p.getCount()))); + } } if (CollectionUtils.isEmpty(orgList)){ diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 2e5d52b4ca..676ff317c1 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -478,7 +478,7 @@ COUNT(ID) AS count FROM project WHERE DEL_FLAG = '0' - AND ORG_ID_PATH LIKE CONCAT('%',#{orgId},'%') + AND ORG_ID_PATH LIKE CONCAT(#{orgId},'%') AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') #{endDate}