Browse Source

项目增加work_event来源,为网格员上报事件,修改设计到的统计查询

dev
zhaoqifeng 4 years ago
parent
commit
588031204c
  1. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java
  2. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  3. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  4. 9
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java
  5. 9
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java
  6. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java
  7. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java
  8. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java
  9. 27
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java
  10. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
  11. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
  12. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  13. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql
  14. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  15. 11
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java
  16. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  17. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
  18. 12
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  19. 2
      epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql
  20. 4
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

9
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;
}

5
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));

10
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

9
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;
/**
* 未出当前网格的结案项目数
*/

9
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
*/

2
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";
/**
* 自办
*/

8
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;
/**
* 未出当前网格的结案项目数
*/

11
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;

27
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<FactAgency
});
}
//2022.03.11 当前组织内:来源于工作人员上报事件的项目:结案已解决数
Map<String, OrgStatisticsResultDTO> 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<String, OrgStatisticsResultDTO> 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<FactAgency
entity.setApprovalProjectUnResolvedCount(NumConstant.ZERO);
entity.setEventResolvedCount(NumConstant.ZERO);
entity.setEventUnResolvedCount(NumConstant.ZERO);
entity.setWorkEventResolvedCount(NumConstant.ZERO);
entity.setWorkEventUnResolvedCount(NumConstant.ZERO);
entity.setInGroupTopicResolvedCount(NumConstant.ZERO);
entity.setInGroupTopicUnResolvedCount(NumConstant.ZERO);
entity.setGridSelfGovernProjectTotal(NumConstant.ZERO);

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java

@ -110,6 +110,8 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
Map<String,Integer> approvalProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_AGENCY,DimObjectStatusConstant.UNRESOLVED);
Map<String,Integer> eventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.RESOLVED);
Map<String,Integer> eventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.UNRESOLVED);
Map<String,Integer> workEventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.RESOLVED);
Map<String,Integer> workEventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.UNRESOLVED);
Map<String, Integer> inGroupTopicResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.RESOLVED,NumConstant.ZERO_STR);
Map<String, Integer> inGroupTopicUnResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.UNRESOLVED,NumConstant.ZERO_STR);
Map<String, GovernGridClosedTotalCommonDTO> dtoMap=getGovernGridClosedTotalCommonDTOMap(customerId,gridIds);
@ -167,6 +169,16 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
insertEntity.setEventUnResolvedCount(eventProjectUnResolvedMap.get(insertEntity.getGridId()));
}
// 2022.03.11 当前组织内:来源于工作人员上报事件的项目:结案已解决数
if(workEventProjectResolvedMap.containsKey(insertEntity.getGridId())){
insertEntity.setWorkEventResolvedCount(workEventProjectResolvedMap.get(insertEntity.getGridId()));
}
// 2022.03.11 当前组织内:来源于工作人员上报事件的项目:结案无需解决数
if(workEventProjectUnResolvedMap.containsKey(insertEntity.getGridId())){
insertEntity.setWorkEventUnResolvedCount(workEventProjectUnResolvedMap.get(insertEntity.getGridId()));
}
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 9、当前网格内,未出小组即未转议题的:话题关闭已解决数
if(inGroupTopicResolvedMap.containsKey(insertEntity.getGridId())){
@ -209,7 +221,9 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
+ insertEntity.getApprovalProjectResolvedCount()
+ insertEntity.getApprovalProjectUnResolvedCount()
+ insertEntity.getEventResolvedCount()
+ insertEntity.getEventUnResolvedCount();
+ insertEntity.getEventUnResolvedCount()
+ insertEntity.getWorkEventResolvedCount()
+ insertEntity.getWorkEventUnResolvedCount();
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
//界面展示:2、党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
int groupSelfGovernRatioFz=insertEntity.getInGroupTopicResolvedCount()+insertEntity.getInGroupTopicUnResolvedCount();

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java

@ -174,10 +174,10 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setTopicId("");
entity.setTopicCreatorId("");
entity.setGridId("");
entity.setIssueId("");
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())) {
@ -185,8 +185,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setTopicCreatorId(eventDTO.getCreatedBy());
}
}
} else {
entity.setIssueId("");
} else if (ProjectConstant.PROJECT_ORIGIN_WORK_EVENT.equals(project.getOrigin())){
entity.setGridId(project.getOrigin());
}
String[] pIds = project.getOrgIdPath().split(StrConstant.COLON);
if (pIds.length > 1) {

16
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()));

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql

@ -0,0 +1,13 @@
ALTER TABLE `epmet_data_statistical`.`fact_origin_project_main_daily`
MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目来源 来源:议题issue 组织agency,事件resi_event 工作人员上报:work_event' AFTER `PIDS`;
ALTER TABLE `epmet_evaluation_index`.`screen_project_data`
MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency 事件:resi_event; add1015\r\n工作人员上报:work_event' AFTER `ALL_PARENT_IDS`;
ALTER TABLE `epmet_data_statistical`.`fact_agency_govern_daily`
ADD COLUMN `WORK_EVENT_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '17、当前组织内:来源于工作人员上报事件的项目:结案已解决数' AFTER `EVENT_UN_RESOLVED_COUNT`,
ADD COLUMN `WORK_EVENT_UN_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数' AFTER `WORK_EVENT_RESOLVED_COUNT`;
ALTER TABLE `epmet_data_statistical`.`fact_grid_govern_daily`
ADD COLUMN `WORK_EVENT_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '21、当前组织内:来源于工作人员上报事件的项目:结案已解决数' AFTER `EVENT_UN_RESOLVED_COUNT`,
ADD COLUMN `WORK_EVENT_UN_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '22、当前组织内:来源于工作人员上报事件的项目:结案无需解决数' AFTER `WORK_EVENT_RESOLVED_COUNT`;

4
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -1184,7 +1184,7 @@
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
ORIGIN = 'work_event'
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID = #{dateId}
@ -1202,7 +1202,7 @@
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
ORIGIN = 'work_event'
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID &lt;= #{dateId}

11
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;
/**
* 网格ID
*/
@NotBlank(message = "网格ID不能为空",groups = {AddGroup.class})
private String gridId;
}

5
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";
/**
* 状态-待处理

5
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());

12
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -382,8 +382,13 @@ public class ProjectTraceServiceImpl<ProjectTagService> 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<ProjectTagService> implements ProjectTraceS
}
}
});
if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) {
processEntity.setGridId(formDTO.getGridId());
}
projectProcessService.insert(processEntity);
//3-3.项目人员表批量新增数据

2
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`;

4
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}
</select>
<select id="selectPendingListByGrid" resultType="com.epmet.dto.result.PendingResultDTO">
@ -493,7 +493,7 @@
project
WHERE
DEL_FLAG = '0'
AND ORIGIN = 'agency'
AND ORIGIN = 'work_event'
AND AGENCY_ID = #{agencyId}
<if test="staffId != null and staffId != ''">
AND CREATED_BY = #{staffId}

Loading…
Cancel
Save