diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java index d709731f77..77bcd7cc34 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java @@ -151,6 +151,15 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { */ private Integer inGroupTopicUnResolvedCount; + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ @@ -171,4 +180,5 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { */ private Integer districtDeptClosedCount; + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index e2156dbadb..d1c160080d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -1186,13 +1186,20 @@ public class DataStatsServiceImpl implements DataStatsService { Integer streetClosedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getStreetClosedCount).sum(); //由区直部门结案的项目总数 Integer districtDeptClosedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getDistrictDeptClosedCount).sum(); - - resultDTO.setProblemResolvedCount(problemResolvedCount); + Integer issueResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIssueProjectResolvedCount).sum(); + Integer issueUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIssueProjectUnResolvedCount).sum(); + Integer projectResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getApprovalProjectResolvedCount).sum(); + Integer projectUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getApprovalProjectUnResolvedCount).sum(); + Integer eventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventResolvedCount).sum(); + Integer eventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventUnResolvedCount).sum(); + Integer closedProjectTotal = issueResolvedCount + issueUnResolvedCount+projectResolvedCount + + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount; + resultDTO.setProblemResolvedCount(closedProjectTotal); resultDTO.setGroupSelfGovernRatio(getPercentage(inGroupTopicResolvedCount + inGroupTopicUnResolvedCount, problemResolvedCount)); - resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, problemResolvedCount)); - resultDTO.setCommunityResolvedRatio(getPercentage(communityClosedCount, problemResolvedCount)); - resultDTO.setStreetResolvedRatio(getPercentage(streetClosedCount, problemResolvedCount)); - resultDTO.setDistrictDeptResolvedRatio(getPercentage(districtDeptClosedCount, problemResolvedCount)); + resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, closedProjectTotal)); + resultDTO.setCommunityResolvedRatio(getPercentage(communityClosedCount, closedProjectTotal)); + resultDTO.setStreetResolvedRatio(getPercentage(streetClosedCount, closedProjectTotal)); + resultDTO.setDistrictDeptResolvedRatio(getPercentage(districtDeptClosedCount, closedProjectTotal)); return resultDTO; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 50221188f9..3ae2108cd1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -599,6 +599,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { log.error("getStaffInfo have any agency staffId:{}",staffId); return null; } + result.setStaffId(staffEntity.getUserId()); result.setAgencyId(agencyDTO.getId()); result.setAgencyName(agencyDTO.getOrganizationName()); result.setAgencyPIds(agencyDTO.getPids()); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index c625e19c9b..e94f7859c3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -624,7 +624,9 @@ SELECT agency_id AS agencyId, `level` AS level, - problem_resolved_count AS problemResolvedCount, + ISSUE_PROJECT_RESOLVED_COUNT+ISSUE_PROJECT_UN_RESOLVED_COUNT + +APPROVAL_PROJECT_RESOLVED_COUNT+APPROVAL_PROJECT_UN_RESOLVED_COUNT + +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT AS problemResolvedCount, concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio, concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio, concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio, @@ -638,13 +640,15 @@ agency_id = #{agencyId} - ORDER BY problem_resolved_count DESC + ORDER BY problemResolvedCount DESC @@ -40,7 +40,7 @@ left join screen_customer_agency pa on(agency.PARENT_AREA_CODE=pa.AREA_CODE and pa.DEL_FLAG='0') - left join screen_govern_rank_data rankData + left join screen_govern_rank_data_daily rankData ON (agency.AGENCY_ID =rankData.org_id AND rankData.DEL_FLAG = '0' and rankData.org_type='agency') @@ -50,7 +50,7 @@ #{orgId} - AND rankData.MONTH_ID =#{monthId} + AND rankData.DATE_ID =#{monthId} ) union ( @@ -65,7 +65,7 @@ FROM screen_customer_grid grid left join screen_customer_agency ca on (ca.agency_id = grid.parent_agency_id) - left join screen_govern_rank_data rankData + left join screen_govern_rank_data_daily rankData ON (grid.grid_id=rankData.org_id AND grid.DEL_FLAG = 0 and rankData.org_type='grid') @@ -74,7 +74,7 @@ #{orgId} - AND rankData.MONTH_ID =#{monthId} + AND rankData.DATE_ID =#{monthId} ) ORDER BY RESPONSE_RATIO DESC diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java index 3f9c614f8a..a550775779 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java @@ -129,6 +129,15 @@ public class FactAgencyGovernDailyDTO implements Serializable { */ private Integer inGroupTopicUnResolvedCount; + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java index 778ffcb9a4..b8d585f00f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java @@ -140,6 +140,15 @@ public class FactGridGovernDailyDTO implements Serializable { */ private Integer fromAgencyUnResolvedInGridCount; + /** + * 15、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 16、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 15、未出当前网格的,结案项目数=11+12+13+14 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java index 1b6697f1ec..6e8c7b153e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java @@ -24,4 +24,6 @@ public interface DimObjectActionConstant { // perfect 非常满意 // created 立项 String PROJECT_RETURN="return"; + + String PROJECT_CLOSE="close"; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java index 2f37f9a113..95f48fdeee 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java @@ -150,7 +150,14 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 10、当前组织内,未出小组即未转议题的:话题关闭无需解决数 */ private Integer inGroupTopicUnResolvedCount; - + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java index 22fa2b2b67..827a6fdf75 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java @@ -169,6 +169,15 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { */ private Integer gridSelfGovernProjectTotal; + /** + * 15、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 16、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数 @@ -208,6 +217,8 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { this.issueProjectUnResolvedCount=NumConstant.ZERO; this.approvalProjectResolvedCount=NumConstant.ZERO; this.approvalProjectUnResolvedCount=NumConstant.ZERO; + this.eventResolvedCount=NumConstant.ZERO; + this.eventUnResolvedCount=NumConstant.ZERO; this.inGroupTopicResolvedCount=NumConstant.ZERO; this.inGroupTopicUnResolvedCount=NumConstant.ZERO; this.fromIssueResolvedInGridCount=NumConstant.ZERO; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java index fcc4193885..d38e74cabb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java @@ -51,6 +51,8 @@ public class GovernGridClosedTotalCommonDTO implements Serializable { */ private Integer districtDeptClosedCount; + private Integer gridSelfGovernProjectTotal; + public GovernGridClosedTotalCommonDTO(){ this.gridId = StrConstant.EPMETY_STR; this.fromIssueResolvedInGridCount=NumConstant.ZERO; @@ -60,5 +62,6 @@ public class GovernGridClosedTotalCommonDTO implements Serializable { this.communityClosedCount=NumConstant.ZERO; this.streetClosedCount=NumConstant.ZERO; this.districtDeptClosedCount=NumConstant.ZERO; + this.gridSelfGovernProjectTotal=NumConstant.ZERO; } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java index f766873cea..52b6310caf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java @@ -29,7 +29,6 @@ import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity; import com.epmet.service.evaluationindex.extract.todata.*; import com.epmet.service.stats.DimAgencyService; -import com.epmet.util.DimIdGenerator; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -202,13 +201,11 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl projectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, dateId, ProjectConstant.RESOLVED, OrgTypeConstant.AGENCY); - Map eventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, - dateId, ProjectConstant.RESOLVED, - ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!projectResolvedTotal.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = projectResolvedTotal.get(item.getAgencyId()); @@ -219,23 +216,12 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl { - OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); - int sum = item.getApprovalProjectResolvedCount(); - if (null != dto) { - sum = sum + dto.getSum(); - } - item.setApprovalProjectResolvedCount(sum); - }); - } - // 当前组织内:来源于议题的项目:结案无需解决数 + + // 当前组织内:项目立项:结案无需解决数 Map projectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, dateId, ProjectConstant.UNRESOLVED, OrgTypeConstant.AGENCY); - Map eventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, - dateId, ProjectConstant.UNRESOLVED, - ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!projectUnResolvedTotal.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = projectUnResolvedTotal.get(item.getAgencyId()); @@ -246,17 +232,34 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl { - OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); - int sum = item.getApprovalProjectUnResolvedCount(); - if (null != dto) { - sum = sum + dto.getSum(); - } - item.setApprovalProjectUnResolvedCount(sum); - }); - } + + } + + //2021.12.15 当前组织内:来源于事件的项目:结案已解决数 + Map eventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.RESOLVED, + ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!eventProjectResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setEventResolvedCount(dto.getSum()); + } + }); } + //2021.12.15 当前组织内:来源于事件的项目:结案无需解决数 + Map eventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.UNRESOLVED, + ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!eventProjectUnResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setEventUnResolvedCount(dto.getSum()); + } + }); + } + // 2.党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的) agencyGovernDailyList.forEach(item -> { int count = item.getInGroupTopicResolvedCount() + item.getInGroupTopicUnResolvedCount(); @@ -267,14 +270,16 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl gridSelfCount = factOriginProjectLogDailyService.getAgencyGridSelfDaily(customerId, dateId); if (!gridSelfCount.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = gridSelfCount.get(item.getAgencyId()); if (null != dto) { int count = dto.getCount(); - int sum = item.getProblemResolvedCount(); + //已结案项目数 = 来源议题的项目结案已解决数+来源议题的项目结案无需解决数+项目立项结案已解决数+项目立项结案无需解决数+来源事件的项目结案已解决数+来源事件的项目结案已解决数 + int sum = item.getIssueProjectResolvedCount() + item.getIssueProjectUnResolvedCount() + item.getApprovalProjectResolvedCount() + + item.getApprovalProjectUnResolvedCount() + item.getEventResolvedCount() + item.getEventUnResolvedCount(); if (sum != NumConstant.ZERO) { BigDecimal resolveCount = new BigDecimal(sum); BigDecimal selfCount = new BigDecimal(count); @@ -284,9 +289,9 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl> projectCount = factOriginProjectMainDailyService.getAgencyClosedProjectStatic(customerId, dateId); if (!gridSelfCount.isEmpty()) { agencyGovernDailyList.forEach(item -> { @@ -294,7 +299,9 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl map = list.stream().collect(Collectors.toMap(OrgStatisticsResultDTO::getLevel, Function.identity())); - int sum = item.getProblemResolvedCount(); + //已结案项目数 = 来源议题的项目结案已解决数+来源议题的项目结案无需解决数+项目立项结案已解决数+项目立项结案无需解决数+来源事件的项目结案已解决数+来源事件的项目结案已解决数 + int sum = item.getIssueProjectResolvedCount() + item.getIssueProjectUnResolvedCount() + item.getApprovalProjectResolvedCount() + + item.getApprovalProjectUnResolvedCount() + item.getEventResolvedCount() + item.getEventUnResolvedCount(); BigDecimal resolveCount = new BigDecimal(sum); if (sum != NumConstant.ZERO) { // 社区解决占比 @@ -316,7 +323,7 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl currentGridClosedProjectList = factOriginProjectMainDailyService.getGridClosedProjectList(customerId, gridId, ProjectConstant.CLOSED,null,null); @@ -339,6 +349,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl projectLogDTOList) { List handleLevelList=new ArrayList<>(); for (FactOriginProjectLogDailyDTO logDailyDTO : projectLogDTOList) { - if(logDailyDTO.getActionCode().equals(DimObjectActionConstant.PROJECT_RETURN)||NumConstant.ZERO==logDailyDTO.getIsActive()){ + if(!logDailyDTO.getActionCode().equals(DimObjectActionConstant.PROJECT_CLOSE)||NumConstant.ZERO==logDailyDTO.getIsActive()){ //当前操作如果是退回,不参与比较 continue; } @@ -395,32 +409,42 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl SELECT a.ID AS AGENCY_ID, - a.`LEVEL`, + b.`LEVEL`, COUNT( b.PROJECT_ID ) AS "sum", - SUM(IF( b.ORG_TYPE = 'department', 1, 0 )) AS "count" + SUM(IF( b.ORG_TYPE = 'department', 1, 0 )) AS "count" FROM dim_agency a INNER JOIN ( SELECT - PROJECT_ID, - PIDS, - ORG_TYPE + PROJECT_ID, + main.PIDS, + ORG_TYPE, + da.`LEVEL` FROM - fact_origin_project_log_daily - WHERE - CUSTOMER_ID = #{customerId} - AND DATE_ID <= #{dateId} + fact_origin_project_main_daily main + INNER JOIN fact_origin_project_log_daily log ON main.ID = log.PROJECT_ID AND ACTION_CODE = 'close' + AND (ORG_TYPE = 'agency' OR ORG_TYPE = 'department') + AND log.DEL_FLAG = '0' + AND log.CUSTOMER_ID = #{customerId} + INNER JOIN dim_agency da ON log.AGENCY_ID = da.ID AND da.CUSTOMER_ID = #{customerId} + WHERE + main.CUSTOMER_ID = #{customerId} + AND main.DATE_ID <= #{dateId} ) b ON b.PIDS LIKE CONCAT( '%', a.ID, '%' ) WHERE a.CUSTOMER_ID = #{customerId} GROUP BY a.ID, - a.`LEVEL` + b.`LEVEL` 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 85e8316cd3..9a2ec5b096 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 @@ -200,7 +200,7 @@ + s.PERFECT_COUNT * 100 )/s.SHOULD_EVALUATE_COUNT , - 0 + 80 ) AS score FROM project_satisfaction_statistics s 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 e9747050e3..4fecffafe7 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 @@ -19,7 +19,6 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; @@ -46,7 +45,6 @@ import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; -import com.epmet.send.SendMqMsgUtil; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerOrgParameterService; @@ -547,14 +545,25 @@ public class AgencyServiceImpl implements AgencyService { formDTO.setOrgId(staffInfo.getAgencyId()); formDTO.setLevel(OrgInfoConstant.AGENCY); } + if (StringUtils.isNotBlank(customerAgencyEntity.getLatitude())){ + result.setLatitude(new BigDecimal(customerAgencyEntity.getLatitude())); + } + if (StringUtils.isNotBlank(customerAgencyEntity.getLongitude())){ + result.setLongitude(new BigDecimal(customerAgencyEntity.getLongitude())); + } if (formDTO.getLevel().equals(OrgInfoConstant.AGENCY)){ CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getOrgId()); result = ConvertUtils.sourceToTarget(entity,MapOrgResultDTO.class); result.setName(entity.getOrganizationName()); result.setLevel(formDTO.getLevel()); result.setAgencyLevel(entity.getLevel()); - result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? new BigDecimal(customerAgencyEntity.getLatitude()) : new BigDecimal(entity.getLatitude())); - result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? new BigDecimal(customerAgencyEntity.getLongitude()) : new BigDecimal(entity.getLongitude())); + //经纬度 如果本级没有则取根级组织的 根级没有就空着 + if (StringUtils.isNotBlank(entity.getLatitude()){ + result.setLatitude(new BigDecimal(entity.getLatitude())); + } + if (StringUtils.isNotBlank(entity.getLongitude()){ + result.setLongitude(new BigDecimal(entity.getLongitude())); + } if (entity.getLevel().equals(OrgInfoConstant.COMMUNITY)){ List son = customerAgencyDao.selectSonOrg(formDTO.getOrgId(), OrgInfoConstant.GRID); if (CollectionUtils.isNotEmpty(son)){ @@ -576,12 +585,9 @@ public class AgencyServiceImpl implements AgencyService { if (CollectionUtils.isNotEmpty(directlySub)){ dtoList.addAll(directlySub); } - if (CollectionUtils.isNotEmpty(dtoList)){ - MapOrgResultDTO finalResult1 = result; - dtoList.forEach(d -> { - d.setLatitude(StringUtils.isBlank(d.getLatitudeOrigin()) ? finalResult1.getLatitude() : new BigDecimal(d.getLatitudeOrigin())); - d.setLongitude(StringUtils.isBlank(d.getLongitudeOrigin()) ? finalResult1.getLongitude() : new BigDecimal(d.getLongitudeOrigin())); - }); + for (MapSonOrgResultDTO d : dtoList) { + d.setLatitude(StringUtils.isBlank(d.getLatitudeOrigin()) ? result.getLatitude() : new BigDecimal(d.getLatitudeOrigin())); + d.setLongitude(StringUtils.isBlank(d.getLongitudeOrigin()) ? result.getLongitude() : new BigDecimal(d.getLongitudeOrigin())); } result.setChildren(dtoList); } @@ -591,15 +597,19 @@ public class AgencyServiceImpl implements AgencyService { result.setName(entity.getGridName()); result.setLevel(formDTO.getLevel()); result.setAgencyLevel(OrgInfoConstant.GRID); - result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? new BigDecimal(customerAgencyEntity.getLatitude()) : new BigDecimal(entity.getLatitude())); - result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? new BigDecimal(customerAgencyEntity.getLongitude()) : new BigDecimal(entity.getLongitude())); + //经纬度 如果本级没有则取根级组织的 根级没有就空着 + if (StringUtils.isNotBlank(entity.getLatitude()){ + result.setLatitude(new BigDecimal(entity.getLatitude())); + } + if (StringUtils.isNotBlank(entity.getLongitude()){ + result.setLongitude(new BigDecimal(entity.getLongitude())); + } List son = customerAgencyDao.selectSonOrg(formDTO.getOrgId(), OrgInfoConstant.NEIGHBOR_HOOD); if (CollectionUtils.isNotEmpty(son)){ - MapOrgResultDTO finalResult2 = result; - son.forEach(s -> { - s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? finalResult2.getLatitude() : new BigDecimal(s.getLatitudeOrigin())); - s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? finalResult2.getLongitude() : new BigDecimal(s.getLongitudeOrigin())); - }); + for (MapSonOrgResultDTO s : son) { + s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? result.getLatitude() : new BigDecimal(s.getLatitudeOrigin())); + s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? result.getLongitude() : new BigDecimal(s.getLongitudeOrigin())); + } } result.setChildren(CollectionUtils.isEmpty(son) ? new ArrayList<>() : son); } @@ -671,4 +681,4 @@ public class AgencyServiceImpl implements AgencyService { return insertEntity; } -} \ No newline at end of file +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 9b6f41daad..2c0834f2d2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; @@ -47,7 +46,6 @@ import com.epmet.entity.CustomerGridEntity; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; -import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerGridService; import com.epmet.util.ModuleConstant; @@ -596,8 +594,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl> getGridListByGridIds(List gridIdList) { Result> result = new Result>(); - if (gridIdList.size() < NumConstant.ONE) { - logger.error("根据网格Id集合获取网格列表信息-传入的网格Id集合为空数组!"); + if (CollectionUtils.isEmpty(gridIdList)) { + logger.warn("根据网格Id集合获取网格列表信息-传入的网格Id集合为空数组!"); return result; } List list = baseDao.selectGridByIds(gridIdList); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java index c1d5c440e3..ea85e2ce33 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java @@ -115,7 +115,7 @@ public class IcBuildingServiceImpl extends BaseServiceImpl getBuildingOptions(String neighborHoodId) { if (StringUtils.isBlank(neighborHoodId)) { - log.error("小区ID为空"); + log.warn("小区ID为空"); return Collections.emptyList(); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java index 2a4a325856..4b8cb1f094 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java @@ -115,7 +115,7 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl getUnitOptions(String buildingId) { if (StringUtils.isBlank(buildingId)) { - log.error("楼栋ID为空"); + log.warn("楼栋ID为空"); return Collections.emptyList(); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 914bc68a56..b6d0585694 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -127,7 +127,7 @@ public class IcHouseServiceImpl extends BaseServiceImpl getHouseOption(HouseFormDTO formDTO) { if (StringUtils.isBlank(formDTO.getBuildingId()) && StringUtils.isBlank(formDTO.getUnitId())) { - log.error("楼栋和单元ID为空"); + log.warn("楼栋和单元ID为空"); return Collections.emptyList(); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); 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 36475ba740..435f4838f8 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 @@ -2789,4 +2789,4 @@ public class ProjectServiceImpl extends BaseServiceImpl userIds; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index 531d6791ac..4be5398b9e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -21,7 +21,6 @@ import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; -import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; @@ -40,12 +39,10 @@ import com.epmet.excel.CustomerStaffExcel; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerStaffService; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Map; @@ -367,7 +364,8 @@ public class CustomerStaffController { * @date 2020/8/13 1:45 下午 */ @PostMapping("getstaffinfolist") - public Result> getStaffInfoList(@RequestBody UserIdsFormDTO formDTO){ + public Result> getStaffInfoList(@RequestHeader("customerId") String customerId,@RequestBody UserIdsFormDTO formDTO){ + formDTO.setCustomerId(customerId); ValidatorUtils.validateEntity(formDTO); return new Result>().ok(customerStaffService.getStaffInfoList(formDTO)); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 648c0e8245..e97ba4e662 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; @@ -54,7 +53,6 @@ import com.epmet.feign.AuthFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; -import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerStaffService; import com.epmet.service.GovStaffRoleService; import com.epmet.service.StaffRoleService; @@ -64,7 +62,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -603,7 +600,31 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl getStaffInfoList(UserIdsFormDTO formDTO) { List userIds = formDTO.getUserIds(); // 1. 根据userId查询人员基本信息 - List staffInfoList = customerStaffDao.getStaffInfoList(userIds); + List staffInfoList = new ArrayList<>(); + userIds.forEach(staffId->{ + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), staffId); + if (staffInfo ==null){ + log.error("getStaffInfoList fail customerId:{}, staffId:{} not exist in db",formDTO.getCustomerId(), staffId); + return; + } + StaffSinGridResultDTO resultDTO = new StaffSinGridResultDTO(); + resultDTO.setStaffId(staffId); + resultDTO.setStaffName(staffInfo.getRealName()); + resultDTO.setHeadPhoto(staffInfo.getHeadPhoto()); + resultDTO.setGender(staffInfo.getGender()); + + List roleInfoList = new ArrayList<>(); + staffInfo.getRoleMap().forEach((key,value) ->{ + RoleResultDTO dto = new RoleResultDTO(); + dto.setRoleKey(key); + dto.setRoleName(value); + roleInfoList.add(dto); + }); + resultDTO.setRoleList(roleInfoList); + staffInfoList.add(resultDTO); + }); + + /*List staffInfoList = customerStaffDao.getStaffInfoList(userIds); if (staffInfoList.size() == NumConstant.ZERO){ return staffInfoList; } @@ -619,7 +640,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>> errorRows = new ThreadLocal<>(); + String fileName; + + // 判断是否有错误信息,以确定文件名 + boolean hasError = false; + Map> tableAndErrorRows = errorRows.get(); + for (Map.Entry> entry:tableAndErrorRows.entrySet()) { + if (entry.getValue().size() != 0) { + hasError = true; + } + } - String fileName = "导入失败条目清单.xls"; + if (hasError) { + fileName = "导入失败条目清单.xls"; + } else { + fileName = "导入成功.xls"; + } response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8")); diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls deleted file mode 100644 index 9afbfdd669..0000000000 Binary files a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls and /dev/null differ