diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 0798627046..e09d7c1615 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -734,6 +734,14 @@ public class RedisKeys { } public static String getCustomerMenuList(String customerId, Integer type) { - return rootPrefix.concat("oper:access:nav:customerId:").concat(customerId).concat(":type:")+type; + return getCustomerMenuListPrefix().concat(customerId).concat(":type:")+type; + } + + /** + * desc:菜单缓存前缀 + * @return + */ + public static String getCustomerMenuListPrefix() { + return rootPrefix.concat("oper:access:nav:customerId:"); } } 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 77bcd7cc34..a0dc4073d4 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 @@ -179,6 +179,13 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 当前组织内结案的项目中:由区直部门结案的项目总数 */ private Integer districtDeptClosedCount; - + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; } 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 f461727c34..fbf54c353c 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 @@ -1197,8 +1197,11 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve 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 workEventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventResolvedCount).sum(); + Integer workEventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventUnResolvedCount).sum(); Integer closedProjectTotal = issueResolvedCount + issueUnResolvedCount+projectResolvedCount - + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount; + + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount + + workEventResolvedCount + workEventUnResolvedCount; resultDTO.setProblemResolvedCount(closedProjectTotal); resultDTO.setGroupSelfGovernRatio(getPercentage(inGroupTopicResolvedCount + inGroupTopicUnResolvedCount, problemResolvedCount)); resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, closedProjectTotal)); 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 106489dbb5..051bffb00c 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 @@ -630,7 +630,8 @@ `level` AS level, 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, + +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT + +WORK_EVENT_RESOLVED_COUNT+WORK_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, @@ -652,7 +653,8 @@ grid_id AS gridId, 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, + +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT + +WORK_EVENT_RESOLVED_COUNT+WORK_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, @@ -689,7 +691,9 @@ APPROVAL_PROJECT_RESOLVED_COUNT, APPROVAL_PROJECT_UN_RESOLVED_COUNT, EVENT_RESOLVED_COUNT, - EVENT_UN_RESOLVED_COUNT + EVENT_UN_RESOLVED_COUNT, + WORK_EVENT_RESOLVED_COUNT, + WORK_EVENT_UN_RESOLVED_COUNT FROM fact_agency_govern_daily WHERE 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 a550775779..5767491aa3 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 @@ -138,6 +138,15 @@ public class FactAgencyGovernDailyDTO implements Serializable { */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ 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 b8d585f00f..e1122d933b 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 @@ -149,6 +149,15 @@ public class FactGridGovernDailyDTO implements Serializable { */ private Integer eventUnResolvedCount; + /** + * 21、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 22、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; + /** * 15、未出当前网格的,结案项目数=11+12+13+14 */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java index b792e6ea15..3e318c72d4 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java @@ -20,7 +20,6 @@ package com.epmet.dto.org; import lombok.Data; import java.io.Serializable; -import java.util.Date; /** @@ -46,6 +45,7 @@ public class CustomerStaffGridDTO implements Serializable { * 网格ID */ private String gridId; + private String gridName; /** * 上级组织ID */ 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 1bb5176a49..07cb835339 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 @@ -83,6 +83,8 @@ public interface ProjectConstant { String PROJECT_ORIGIN_AGENCY="agency"; String PROJECT_ORIGIN_EVENT="resi_event"; + + String PROJECT_ORIGIN_WORK_EVENT="work_event"; /** * 自办 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 84cb0c6964..b84b8bc30b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -41,6 +41,7 @@ import com.epmet.entity.stats.DimAgencyEntity; import com.epmet.entity.stats.DimCustomerEntity; import com.epmet.entity.stats.DimDateEntity; import com.epmet.entity.stats.DimMonthEntity; +import com.epmet.service.HistoryDataService; import com.epmet.service.StatsDemoService; import com.epmet.service.StatsPartyMemberVanguardService; import com.epmet.service.evaluationindex.extract.dataToIndex.*; @@ -60,6 +61,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @@ -139,6 +141,8 @@ public class DemoController { private DimCustomerService dimCustomerService; @Autowired private ScreenProjectDataService screenProjectDataService; + @Resource + private HistoryDataService historyDataService; @GetMapping("testAlarm") public void testAlarm() { @@ -1139,4 +1143,11 @@ public class DemoController { long l = (end - start) / 1000; return new Result().ok("gridAndOrgDaily耗时" + l+ "s"); } + + + @PostMapping("projectHistoryData") + public Result projectHistoryData(@RequestBody ExtractOriginFormDTO formDTO) { + historyDataService.projectAddGridId(formDTO.getCustomerId()); + return new Result(); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index 7d1c6903ab..66d2d286f9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -23,6 +23,7 @@ import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO; import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.extract.result.TransferRightRatioResultDTO; import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.pingyin.result.*; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; @@ -550,4 +551,13 @@ public interface FactOriginProjectMainDailyDao extends BaseDao getMemberProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId); + /** + * 更新历史数据 + * @Param dto + * @Return + * @Author zhaoqifeng + * @Date 2022/3/16 9:48 + */ + void updateHistoryData(CustomerStaffGridDTO dto); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java index bf82610651..db2b42ba5b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -19,6 +19,7 @@ package com.epmet.dao.evaluationindex.screen; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.result.DataCheckDTO; import com.epmet.dto.screen.result.GridAndOrgCategoryCountResultDTO; @@ -122,4 +123,13 @@ public interface ScreenProjectDataDao extends BaseDao { * @Date 2022/3/7 16:00 */ List getCheckResult(ExtractOriginFormDTO formDTO); + + /** + * 更新历史数据 + * @Param list + * @Return + * @Author zhaoqifeng + * @Date 2022/3/16 9:48 + */ + void updateHistoryData(CustomerStaffGridDTO dto); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java index e154508f30..5930a90611 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java @@ -19,6 +19,7 @@ package com.epmet.dao.project; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.ProjectDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.project.*; import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; import com.epmet.entity.project.ProjectEntity; @@ -204,4 +205,13 @@ public interface ProjectDao extends BaseDao { * @return */ List getEventList(@Param("customerId") String customerId, @Param("projectId") String projectId); + + /** + * 更新历史数据 + * @Param dto + * @Return + * @Author zhaoqifeng + * @Date 2022/3/16 9:48 + */ + void updateHistoryData(CustomerStaffGridDTO dto); } 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 95f48fdeee..523f482902 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 @@ -158,6 +158,14 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 12、当前组织内:来源于事件的项目:结案无需解决数 */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; /** * 未出当前网格的,结案项目数 */ 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 827a6fdf75..204a3591ff 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 @@ -177,6 +177,14 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { * 16、当前组织内:来源于事件的项目:结案无需解决数 */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; /** @@ -204,7 +212,6 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { //界面展示 this.problemResolvedCount = NumConstant.ZERO; this.groupSelfGovernRatio=BigDecimal.ZERO; - this.gridSelfGovernProjectTotal=NumConstant.ZERO; this.communityClosedRatio=BigDecimal.ZERO; this.streetClosedRatio=BigDecimal.ZERO; this.districtDeptClosedRatio=BigDecimal.ZERO; @@ -219,6 +226,8 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { this.approvalProjectUnResolvedCount=NumConstant.ZERO; this.eventResolvedCount=NumConstant.ZERO; this.eventUnResolvedCount=NumConstant.ZERO; + this.workEventResolvedCount=NumConstant.ZERO; + this.workEventUnResolvedCount=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/service/HistoryDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/HistoryDataService.java new file mode 100644 index 0000000000..f2ac7a321d --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/HistoryDataService.java @@ -0,0 +1,19 @@ +package com.epmet.service; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/3/15 10:09 + */ +public interface HistoryDataService { + /** + * 网格员立项来源改为work_event + * + * @Param customerId + * @Return + * @Author zhaoqifeng + * @Date 2022/3/15 10:13 + */ + void projectAddGridId(String customerId); + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index 6e1268f727..965b6536db 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -23,6 +23,7 @@ import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO; import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.extract.result.TransferRightRatioResultDTO; import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.pingyin.result.*; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; @@ -490,4 +491,13 @@ public interface FactOriginProjectMainDailyService extends BaseService> */ Map> getMemberProjectCount(String customerId, String dateId, Integer type); + + /** + * 更新项目表历史数据 + * @Param dto + * @Return + * @Author zhaoqifeng + * @Date 2022/3/16 9:46 + */ + void updateHistoryData(CustomerStaffGridDTO dto); } 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 52b6310caf..ccf0ee8597 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 @@ -260,6 +260,31 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl workEventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.RESOLVED, + ProjectConstant.PROJECT_ORIGIN_WORK_EVENT); + if (!eventProjectResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setWorkEventResolvedCount(dto.getSum()); + } + }); + } + //2022.03.11 当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + Map workEventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.UNRESOLVED, + ProjectConstant.PROJECT_ORIGIN_WORK_EVENT); + if (!eventProjectUnResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setWorkEventUnResolvedCount(dto.getSum()); + } + }); + } + // 2.党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的) agencyGovernDailyList.forEach(item -> { int count = item.getInGroupTopicResolvedCount() + item.getInGroupTopicUnResolvedCount(); @@ -396,6 +421,8 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl approvalProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_AGENCY,DimObjectStatusConstant.UNRESOLVED); Map eventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.RESOLVED); Map eventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.UNRESOLVED); + Map workEventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.RESOLVED); + Map workEventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.UNRESOLVED); Map inGroupTopicResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.RESOLVED,NumConstant.ZERO_STR); Map inGroupTopicUnResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.UNRESOLVED,NumConstant.ZERO_STR); Map dtoMap=getGovernGridClosedTotalCommonDTOMap(customerId,gridIds); @@ -167,6 +169,16 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl 1) { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index d4a154acbd..21e456a9dd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -119,6 +119,22 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic meta.setLongitude(new BigDecimal(projectInfo.getLocateLongitude())); } meta.setProjectAddress(projectInfo.getLocateAddress()); + } else if (ProjectConstant.PROJECT_ORIGIN_WORK_EVENT.equals(projectInfo.getOrigin())) { + //直接立项的话 项目内容是项目背景 经纬度添加 + meta.setOrgType(OrgTypeConstant.GRID); + meta.setOrgId(projectInfo.getOriginId()); + //上面的initNewScreenProjectData已经赋值了orgName=组织名称 + meta.setProjectContent(projectInfo.getBackGround()); + meta.setLinkUserId(projectInfo.getCreatedBy()); + meta.setLinkName(projectInfo.getCreatedBy()); + if (StringUtils.isNotBlank(projectInfo.getLocateDimension())) { + meta.setLatitude(new BigDecimal(projectInfo.getLocateDimension())); + } + if (StringUtils.isNotBlank(projectInfo.getLocateLongitude())) { + meta.setLongitude(new BigDecimal(projectInfo.getLocateLongitude())); + } + meta.setProjectAddress(projectInfo.getLocateAddress()); + meta.setOrgName(meta.getTempGridName()); } //项目满意度得分 meta.setSatisfactionScore(projectService.calProjectSatisfactionScore(param.getCustomerId(),meta.getProjectId())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java index cf5279027a..c0d124698f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java @@ -20,6 +20,7 @@ package com.epmet.service.evaluationindex.screen; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; @@ -157,4 +158,13 @@ public interface ScreenProjectDataService extends BaseService staffGridList = customerGridService.getCustomerStaffGridList(customerId); + List staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER); + if (CollectionUtils.isEmpty(staffGridList) || CollectionUtils.isEmpty(staffInfoList)) { + return; + } + Map staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId, + Function.identity())); + List list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> { + StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId()); + CustomerStaffGridDTO dto = ConvertUtils.sourceToTarget(item, CustomerStaffGridDTO.class); + dto.setStaffId(staffInfo.getStaffId()); + return dto; + }).collect(Collectors.toList()); + + list.forEach(part -> { + //更新project表 + projectService.updateHistoryData(part); + //更新fact_origin_project_main_daily + factOriginProjectMainDailyService.updateHistoryData(part); + //更新screen_project_data + screenProjectDataService.updateHistoryData(part); + }); + + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java index 23367bfa06..bd8584c7c1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java @@ -20,6 +20,7 @@ package com.epmet.service.project; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.ProjectCategoryDTO; import com.epmet.dto.ProjectDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectGridDTO; import com.epmet.dto.project.ResiEventDTO; @@ -204,4 +205,13 @@ public interface ProjectService extends BaseService { * @return */ Map getEventList(String customerId, String projectId); + + /** + * 更新项目表历史数据 + * @Param dto + * @Return + * @Author zhaoqifeng + * @Date 2022/3/16 9:46 + */ + void updateHistoryData(CustomerStaffGridDTO dto); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java index 9b409ce75f..75cd4ff714 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.project.ProjectDao; import com.epmet.dto.ProjectDTO; +import com.epmet.dto.org.CustomerStaffGridDTO; import com.epmet.dto.project.*; import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; @@ -31,6 +32,7 @@ import com.epmet.service.project.ProjectService; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; @@ -263,5 +265,19 @@ public class ProjectServiceImpl extends BaseServiceImpl AND DATE_ID = #{dateId} @@ -1202,7 +1202,7 @@ FROM fact_origin_project_main_daily WHERE - ORIGIN = 'agency' + ORIGIN = 'work_event' AND CUSTOMER_ID = #{customerId} AND DATE_ID <= #{dateId} @@ -1211,4 +1211,18 @@ AGENCY_ID, PROJECT_CREATOR + + + UPDATE + fact_origin_project_main_daily + SET + ORIGIN = 'work_event', + ORIGIN_ID = #{gridId}, + GRID_ID = #{gridId} + WHERE + PROJECT_CREATOR = #{staffId} + AND CUSTOMER_ID = #{customerId} + AND AGENCY_ID = #{agencyId} + AND ORIGIN = 'agency' + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml index 95c907ce97..51f9a0fcb6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml @@ -458,4 +458,19 @@ AGENCY_ID, DATE_ID DESC + + + UPDATE + screen_project_data + SET + ORIGIN = 'work_event', + ORG_TYPE = 'grid', + ORG_ID = #{gridId}, + ORG_NAME = #{gridName} + WHERE + PROJECT_CREATOR = #{staffId} + AND CUSTOMER_ID = #{customerId} + AND ORG_ID = #{agencyId} + AND ORIGIN = 'agency' + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml index adcaf8e50d..e6cd7f3321 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml @@ -120,6 +120,7 @@ ca.PID, cg.PIDS, csg.GRID_ID, + cg.GRID_NAME, csg.USER_ID AS staffId FROM customer_staff_grid csg 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 7b92a7b440..f309d79bf4 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 @@ -268,4 +268,16 @@ and rero.CUSTOMER_ID = #{customerId} + + UPDATE + project + SET + ORIGIN = 'work_event', + ORIGIN_ID = #{gridId} + WHERE + CREATED_BY = #{staffId} + AND CUSTOMER_ID = #{customerId} + AND AGENCY_ID = #{agencyId} + AND ORIGIN = 'agency' + diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java index 3cc19b8ae2..6190a7c4c0 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java @@ -17,6 +17,7 @@ package com.epmet.redis; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.dto.GovMenuDTO; @@ -66,16 +67,11 @@ public class GovCustomerMenuRedis { /** * desc:删除客户菜单缓存 - * @param customerId - * @param type * @see com.epmet.enums.MenuTypeEnum */ - public void delCustomerMenu(String customerId, Integer type) { - if (checkParam(customerId, type)) { - String key = RedisKeys.getCustomerMenuList(customerId, type); - redisUtils.delete(key); - } - + public void delAllCustomerMenu() { + String key = RedisKeys.getCustomerMenuListPrefix().concat(StrConstant.STAR); + redisUtils.deleteByPattern(key); } private boolean checkParam(String customerId, Integer type) { diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java index 95e4f2f8d2..a5933f8e58 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java @@ -28,7 +28,6 @@ import com.epmet.dao.GovCustomerMenuDao; import com.epmet.dto.GovCustomerMenuDTO; import com.epmet.dto.form.MenuConfigFormDTO; import com.epmet.entity.GovCustomerMenuEntity; -import com.epmet.enums.MenuTypeEnum; import com.epmet.redis.GovCustomerMenuRedis; import com.epmet.service.GovCustomerMenuService; import org.apache.commons.lang3.StringUtils; @@ -119,8 +118,8 @@ public class GovCustomerMenuServiceImpl extends BaseServiceImpl govCustomerMenuRedis.delCustomerMenu(customerId, MenuTypeEnum.MENU.value())); + //删除全部客户缓存 + govCustomerMenuRedis.delAllCustomerMenu(); } @Override diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index d269a4aeaa..0ce775f1ad 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -64,5 +65,15 @@ public class ProjectApprovalFormDTO implements Serializable { private String app; private String client; private String userId; + /** + * 立项类型 直接立项:agency,上报事件:work_event + */ + @NotBlank(message = "立项类型不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) + private String type = "agency"; + /** + * 网格ID + */ + @NotBlank(message = "网格ID不能为空",groups = {AddGroup.class}) + private String gridId; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 612debd512..77b6b21601 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -15,6 +15,11 @@ public interface ProjectConstant { */ String AGENCY = "agency"; + /** + * 项目来源-网格员上报事件 + */ + String WORK_EVENT = "work_event"; + String RESI_EVENT="resi_event"; /** * 状态-待处理 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 66074acfa2..5d1cb318ba 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -7,6 +7,8 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.constant.ProjectConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; @@ -356,6 +358,9 @@ public class ProjectTraceController { @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_APPROVAL) public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO,ProjectApprovalFormDTO.ApprovalCategory.class); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + ValidatorUtils.validateEntity(formDTO, AddGroup.class); + } formDTO.setCustomerId(tokenDTO.getCustomerId()); formDTO.setApp(tokenDTO.getApp()); formDTO.setClient(tokenDTO.getClient()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 53e1bd4c6c..d55fb3fa7a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -382,8 +382,13 @@ public class ProjectTraceServiceImpl implements ProjectTraceS ProjectEntity projectEntity = new ProjectEntity(); projectEntity.setCustomerId(formDTO.getCustomerId()); projectEntity.setAgencyId(loginUser.getAgencyId()); - projectEntity.setOrigin(ProjectConstant.AGENCY); - projectEntity.setOriginId(loginUser.getAgencyId()); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + projectEntity.setOrigin(ProjectConstant.WORK_EVENT); + projectEntity.setOriginId(formDTO.getGridId()); + } else { + projectEntity.setOrigin(ProjectConstant.AGENCY); + projectEntity.setOriginId(loginUser.getAgencyId()); + } projectEntity.setTitle(formDTO.getTitle()); projectEntity.setBackGround(formDTO.getBackGround()); projectEntity.setStatus(ProjectConstant.PENDING); @@ -413,6 +418,9 @@ public class ProjectTraceServiceImpl implements ProjectTraceS } } }); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + processEntity.setGridId(formDTO.getGridId()); + } projectProcessService.insert(processEntity); //3-3.项目人员表批量新增数据 diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql new file mode 100644 index 0000000000..2e490baa26 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql @@ -0,0 +1,2 @@ +ALTER TABLE `epmet_gov_project`.`project` + MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency 事件:resi_event 工作人员上报:work_event' AFTER `AGENCY_ID`; \ No newline at end of file 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 0ce0ccba89..3d6dc43b7f 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 @@ -313,7 +313,7 @@ project WHERE DEL_FLAG = '0' AND CREATED_TIME BETWEEN #{patrolStartTime} AND #{patrolEndTime} - AND ORIGIN = 'agency' + AND ORIGIN = 'work_event' AND CREATED_BY = #{userId}