From 1372bffd2f0d8f618f2e3ec2b95ac3c0efdecdae Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 12 Apr 2021 14:05:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BB=E8=A1=A8=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E7=9B=B8=E5=85=B3sql=E4=BF=AE=E6=94=B9=EF=BC=8C?= =?UTF-8?q?=E4=B8=BB=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=8F=90=E5=8F=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactOriginProjectMainDailyDTO.java | 10 ++++ .../com/epmet/constant/ProjectConstant.java | 3 ++ .../FactOriginProjectMainDailyEntity.java | 10 ++++ .../impl/ProjectExtractServiceImpl.java | 49 ++++++++++++++----- .../FactOriginProjectCategoryDailyDao.xml | 5 +- .../extract/FactOriginProjectLogDailyDao.xml | 1 + .../extract/FactOriginProjectMainDailyDao.xml | 10 ++++ .../resources/mapper/project/ProjectDao.xml | 4 +- 8 files changed, 74 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java index f24397f43d..9d1484b5f4 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java @@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyDTO implements Serializable { */ private String agencyId; + /** + * 来源:议题issue + */ + private String origin; + + /** + * 来源ID + */ + private String originId; + /** * 状态 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index eac79f016a..16530a61a2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -64,4 +64,7 @@ public interface ProjectConstant { String XIA_JI = "xiaji"; String GRID_ID = "GRID_ID"; String AGENCY_ID = "AGENCY_ID"; + + + String ISSUE = "issue"; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java index c570c4e453..35d0e46b8f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java @@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity { */ private String agencyId; + /** + * 来源:议题issue + */ + private String origin; + + /** + * 来源ID + */ + private String originId; + /** * 状态 */ 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 8f1985b6be..77b4d843b8 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 @@ -128,7 +128,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!CollectionUtils.isEmpty(projectList)) { //提取议题ID - List issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList()); + List issueIds = + projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); //获取议题信息 List issueList = issueService.getIssueInfoByIds(issueIds); //提取话题ID @@ -144,18 +145,28 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); entity.setId(project.getId()); entity.setAgencyId(project.getAgencyId()); + entity.setOrigin(project.getOrigin()); + entity.setOriginId(project.getOriginId()); entity.setCustomerId(customerId); entity.setYearId(dimId.getYearId()); entity.setQuarterId(dimId.getQuarterId()); entity.setMonthId(dimId.getMonthId()); entity.setWeekId(dimId.getWeekId()); entity.setDateId(dimId.getDateId()); - entity.setIssueId(project.getOriginId()); + if (ProjectConstant.ISSUE.equals(project.getOrigin())) { + entity.setIssueId(project.getOriginId()); + } else { + entity.setIssueId(""); + } entity.setProjectStatus(project.getStatus()); entity.setIsResolved(project.getClosedStatus()); entity.setCreatedTime(project.getCreatedTime()); entity.setUpdatedTime(project.getUpdatedTime()); entity.setPids(project.getOrgIdPath()); + entity.setIssueCreatorId(""); + entity.setTopicId(""); + entity.setTopicCreatorId(""); + entity.setGridId(""); String[] pIds = project.getOrgIdPath().split(StrConstant.COLON); if (pIds.length > 1) { entity.setPid(pIds[pIds.length - 2]); @@ -168,17 +179,23 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setIsOverdue(NumConstant.ZERO_STR); return entity; }).collect(Collectors.toList()); - list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { - entity.setIssueCreatorId(issue.getCreatedBy()); - entity.setTopicId(issue.getSourceId()); - })); - list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { - entity.setTopicCreatorId(topic.getCreatedBy()); - entity.setGridId(topic.getGridId()); - })); - list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { - entity.setIsParty(NumConstant.ONE_STR); - })); + if (CollectionUtils.isNotEmpty(issueList)) { + list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { + entity.setIssueCreatorId(issue.getCreatedBy()); + entity.setTopicId(issue.getSourceId()); + })); + } + if (CollectionUtils.isNotEmpty(topicList)) { + list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { + entity.setTopicCreatorId(topic.getCreatedBy()); + entity.setGridId(topic.getGridId()); + })); + } + if (CollectionUtils.isNotEmpty(partyMemberList)) { + list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { + entity.setIsParty(NumConstant.ONE_STR); + })); + } list.forEach(entity -> finishOrgList.stream().filter(finish -> entity.getId().equals(finish.getProjectId())).forEach(dto -> { String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); String org = ""; @@ -228,6 +245,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); }else{ + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if(!process.getPids().contains(StrConstant.COLON)){ entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); @@ -278,6 +297,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); } else { + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if (!process.getPids().contains(StrConstant.COLON)) { entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); @@ -358,6 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); }else{ + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if(!process.getPids().contains(StrConstant.COLON)){ entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index 7836274c05..03ea9ab75c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -27,11 +27,12 @@ count(1)as projectTotal FROM fact_origin_project_category_daily c - LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0') + LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} AND c.`LEVEL` = '2' + GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, @@ -50,7 +51,7 @@ count(distinct c.project_id)as projectTotal FROM fact_origin_project_category_daily c - LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0') + LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index 03bc021fc8..7b2a4f9ae7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -388,6 +388,7 @@ WHERE fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} AND fm.PROJECT_STATUS = 'closed' + AND fm.GRID_ID != '' ) a GROUP BY GRID_ID diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index b9608e9ee3..a79b5ba233 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -97,6 +97,7 @@ fact_origin_project_main_daily WHERE DEL_FLAG = 0 + AND GRID_ID != '' AND PROJECT_STATUS = #{status} AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} @@ -121,6 +122,7 @@ fact_origin_project_main_daily t1 WHERE t1.DEL_FLAG = '0' + AND t1.TOPIC_CREATOR_ID != '' AND t1.CUSTOMER_ID = #{customerId} AND t1.MONTH_ID = #{monthId} AND ISNULL(T1.TOPIC_CREATOR_ID)=0 @@ -269,6 +271,7 @@ fact_origin_project_main_daily fm WHERE fm.PROJECT_STATUS = 'close' + AND fm.GRID_ID != '' AND fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} GROUP BY @@ -281,6 +284,7 @@ fact_origin_project_main_daily fm WHERE fm.PROJECT_STATUS = 'close' + AND fm.GRID_ID != '' AND fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} AND fm.IS_RESOLVED = 'resolved' @@ -297,6 +301,7 @@ 1=1 AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} + AND GRID_ID != '' GROUP BY GRID_ID @@ -506,6 +513,7 @@ WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} + AND GRID_ID != '' GROUP BY GRID_ID @@ -518,6 +526,7 @@ WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND MONTH_ID #{monthId} + AND GRID_ID != '' AND PROJECT_STATUS != 'closed' @@ -538,6 +547,7 @@ AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} AND PROJECT_STATUS = 'closed' + AND GRID_ID != '' GROUP BY GRID_ID diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index ec1cf07215..790c464b60 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -24,7 +24,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND STATUS = 'closed' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') #{date} @@ -41,7 +40,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND STATUS = 'closed' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date} @@ -81,6 +79,7 @@ ID, CUSTOMER_ID, AGENCY_ID, + ORIGIN, ORIGIN_ID, STATUS, CLOSED_STATUS, @@ -90,7 +89,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(CREATED_TIME, '%Y%m%d') = #{date}