+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.project;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 居民报事表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-08-03
+ */
+@Data
+public class ResiEventDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 事件id
+ */
+ private String resiEventId;
+
+ /**
+ * 报给?:
+ 网格:grid;
+ 社区:community;
+ 乡(镇、街道)级:street;
+ 区县级: district;
+ 市级: city;
+ 省级:province。
+ */
+ private String orgType;
+
+ /**
+ * 报给的组织或者网格id
+ */
+ private String orgId;
+
+ /**
+ * org_id的上级组织id,org_id是跟组织,此列为0
+ */
+ private String orgPid;
+
+ /**
+ * org_id的所有上级组织id,org_id是跟组织,此列为0
+ */
+ private String orgPids;
+
+ /**
+ * 含义:已读read,未读:un_read;组织下的工作人员从待处理=>处理中,点击查看详情前更新为已读;
+ */
+ private String orgRead;
+
+ /**
+ * (1)含义:1:展示红点;0:不展示;(2)注意:发布事件插入数据时为1,(3)何时更新?:人大代表回复or报事人回复or工作人员回复、立项、办结更新为1;
+ */
+ private Boolean redDot;
+
+ private String projectId;
+
+ private String createdBy;
+
+}
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 b714ce2210..af4ef095f6 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
@@ -81,4 +81,5 @@ public interface ProjectConstant {
* 项目来源于 工作端立项
*/
String PROJECT_ORIGIN_AGENCY="agency";
+ String PROJECT_ORIGIN_EVENT="resi_event";
}
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 704aa3ee26..a0f70a5591 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,10 +19,7 @@ package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO;
-import com.epmet.dto.project.ProjectAgencyDTO;
-import com.epmet.dto.project.ProjectCategoryDTO;
-import com.epmet.dto.project.ProjectGridDTO;
-import com.epmet.dto.project.ProjectPointDTO;
+import com.epmet.dto.project.*;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -194,4 +191,11 @@ public interface ProjectDao extends BaseDao {
List selectClosedProjectIds(@Param("customerId")String customerId,
@Param("origin")String origin,
@Param("projectStatus")String projectStatus);
+
+ /**
+ * 获取已转项目事件事件
+ * @param customerId
+ * @return
+ */
+ List getEventList(@Param("customerId")String customerId);
}
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 9cae42b818..c2ebfd43e6 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
@@ -206,24 +206,54 @@ 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());
+ int sum = item.getApprovalProjectResolvedCount();
+ if (null != dto) {
+ sum = sum + dto.getSum();
+ }
+ item.setApprovalProjectResolvedCount(sum);
+ });
+ }
+ if (!eventProjectResolvedTotal.isEmpty()) {
+ agencyGovernDailyList.forEach(item -> {
+ OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId());
+ int sum = item.getApprovalProjectResolvedCount();
if (null != dto) {
- item.setApprovalProjectResolvedCount(dto.getSum());
+ 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());
+ int sum = item.getApprovalProjectUnResolvedCount();
+ if (null != dto) {
+ sum = sum + dto.getSum();
+ }
+ item.setApprovalProjectUnResolvedCount(sum);
+ });
+ }
+ if (!eventProjectUnResolvedTotal.isEmpty()) {
+ agencyGovernDailyList.forEach(item -> {
+ OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId());
+ int sum = item.getApprovalProjectUnResolvedCount();
if (null != dto) {
- item.setApprovalProjectUnResolvedCount(dto.getSum());
+ sum = sum + dto.getSum();
}
+ item.setApprovalProjectUnResolvedCount(sum);
});
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
index 56346813b5..a5bb954bef 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
@@ -108,6 +108,8 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl issueProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_ISSUE,DimObjectStatusConstant.UNRESOLVED);
Map approvalProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_AGENCY,DimObjectStatusConstant.RESOLVED);
Map 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 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);
@@ -142,14 +144,24 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl projectList = projectService.getProjectInfo(customerId, dateString);
factOriginProjectMainDailyService.deleteByDate(customerId, dateString);
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());
@@ -154,11 +153,6 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setMonthId(dimId.getMonthId());
entity.setWeekId(dimId.getWeekId());
entity.setDateId(dimId.getDateId());
- 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());
@@ -168,6 +162,20 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setTopicId("");
entity.setTopicCreatorId("");
entity.setGridId("");
+ if (ProjectConstant.ISSUE.equals(project.getOrigin())) {
+ entity.setIssueId(project.getOriginId());
+ } else if (ProjectConstant.PROJECT_ORIGIN_EVENT.equals(project.getOrigin())){
+ entity.setIssueId("");
+ ResiEventDTO eventDTO = projectEventMap.get(project.getId());
+ if (null != eventDTO) {
+ if (ProjectConstant.PUBLISHER_TYPE_GRID.equals(eventDTO.getOrgType())) {
+ entity.setGridId(eventDTO.getOrgId());
+ entity.setTopicCreatorId(eventDTO.getCreatedBy());
+ }
+ }
+ } else {
+ entity.setIssueId("");
+ }
String[] pIds = project.getOrgIdPath().split(StrConstant.COLON);
if (pIds.length > 1) {
entity.setPid(pIds[pIds.length - 2]);
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java
index c359035647..4c587f9694 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsIssueServiceImpl.java
@@ -270,7 +270,7 @@ public class StatsIssueServiceImpl implements StatsIssueService {
//已结案项目统计
List closedProjectTotalList = projectService.getGridClosedProjectTotal(customerId, dateString);
//已结案项目增量
- List closedProjectIncList = projectService.getGridClosedProjectTotal(customerId, dateString);
+ List closedProjectIncList = projectService.getGridClosedProjectInc(customerId, dateString);
Map resolveMap= new HashMap<>();
Map unResolveMap = new HashMap<>();
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 e826c9f9e7..f4283979b0 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
@@ -22,6 +22,7 @@ import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectGridDTO;
+import com.epmet.dto.project.ResiEventDTO;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
@@ -191,4 +192,11 @@ public interface ProjectService extends BaseService {
* @return
*/
List selectClosedProjectIds(String customerId,String origin ,String projectStatus);
+
+ /**
+ * 获取事件信息
+ * @param customerId
+ * @return
+ */
+ Map getEventList(String customerId);
}
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 f67bff807c..095a0ec901 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,10 +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.project.ProjectAgencyDTO;
-import com.epmet.dto.project.ProjectCategoryDTO;
-import com.epmet.dto.project.ProjectGridDTO;
-import com.epmet.dto.project.ProjectPointDTO;
+import com.epmet.dto.project.*;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.project.ProjectEntity;
@@ -37,6 +34,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
+import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -239,5 +237,14 @@ public class ProjectServiceImpl extends BaseServiceImpl getEventList(String customerId) {
+ List list = baseDao.getEventList(customerId);
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(list)) {
+ return Collections.emptyMap();
+ }
+ return list.stream().collect(Collectors.toMap(ResiEventDTO::getProjectId, Function.identity()));
+ }
+
}
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 280de575cf..92dd3ee38a 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
@@ -707,7 +707,8 @@
) a ON fm.GRID_ID = a.orgId
WHERE
PROJECT_STATUS = 'closed'
- AND ORIGIN = "issue"
+ AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
+ AND GRID_ID != ''
AND CUSTOMER_ID = #{customerId}
AND DATE_ID <= #{dateId}
GROUP BY
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 0b60e3efd5..7b217ec4ff 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
@@ -55,7 +55,7 @@
FROM project
WHERE
DEL_FLAG = '0'
- AND ORIGIN = 'issue'
+ AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
AND STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') #{date}
@@ -69,7 +69,7 @@
FROM project
WHERE
DEL_FLAG = '0'
- AND ORIGIN = 'issue'
+ AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
AND STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date}
@@ -220,4 +220,19 @@
AND p.ORIGIN =#{origin}
+
+