diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/ScreenDeptEventStatDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/ScreenDeptEventStatDTO.java index 8aa2df9cd..fb5d48e81 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/ScreenDeptEventStatDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/ScreenDeptEventStatDTO.java @@ -133,6 +133,36 @@ public class ScreenDeptEventStatDTO implements Serializable { */ private Integer closedIncr; + /** + * 民生诉求结案数 + */ + private Integer livelihoodClosedCount; + + /** + * 民生诉求结案增量 + */ + private Integer livelihoodClosedIncr; + + /** + * 发展诉求结案数 + */ + private Integer developClosedCount; + + /** + * 发展诉求结案增量 + */ + private Integer developClosedIncr; + + /** + * 执法诉求结案数 + */ + private Integer lawClosedCount; + + /** + * 执法诉求结案增量 + */ + private Integer lawClosedIncr; + /** * 删除标识 0:未删除,1:删除 */ diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java index 5e531a4bf..b4bca9f50 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/form/EventStatisticsFormDTO.java @@ -24,4 +24,5 @@ public class EventStatisticsFormDTO implements Serializable { private String startDate; private String endDate; private String type; + private String peopleFlag; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java index 09c36d572..dcf00876e 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/screen/result/EventStatisticsResultDTO.java @@ -1,5 +1,6 @@ package com.elink.esua.epdc.dto.screen.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -45,5 +46,12 @@ public class EventStatisticsResultDTO implements Serializable { /** * 结案总数 */ + @JsonIgnore private Integer closedCount; + @JsonIgnore + private Integer livelihoodClosedCount; + @JsonIgnore + private Integer developClosedCount; + @JsonIgnore + private Integer lawClosedCount; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventEfficiencyEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventEfficiencyEntity.java index a4ea955a3..7a4ebf223 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventEfficiencyEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventEfficiencyEntity.java @@ -114,4 +114,110 @@ public class ScreenDeptEventEfficiencyEntity extends BaseEpdcEntity { */ private BigDecimal closedRatio; + /** + * 民生诉求事件数 + */ + private Integer livelihoodCount; + + /** + * 民生诉求响应数 + */ + private Integer livelihoodResponseCount; + + /** + * 民生诉求响应率 + */ + private BigDecimal livelihoodResponseRatio; + + /** + * 民生诉求满意数 + */ + private Integer livelihoodSatisfiedCount; + + /** + * 民生诉求满意率 + */ + private BigDecimal livelihoodSatisfiedRatio; + + /** + * 民生诉求结案数 + */ + private Integer livelihoodClosedCount; + + /** + * 民生诉求结案率 + */ + private BigDecimal livelihoodClosedRatio; + + /** + * 发展诉求事件数 + */ + private Integer developCount; + + /** + * 发展诉求响应数 + */ + private Integer developResponseCount; + + /** + * 发展诉求响应率 + */ + private BigDecimal developResponseRatio; + + /** + * 发展诉求满意数 + */ + private Integer developSatisfiedCount; + + /** + * 发展诉求满意率 + */ + private BigDecimal developSatisfiedRatio; + + /** + * 发展诉求结案数 + */ + private Integer developClosedCount; + + /** + * 发展诉求结案率 + */ + private BigDecimal developClosedRatio; + + /** + * 执法诉求事件数 + */ + private Integer lawCount; + + /** + * 执法诉求响应数 + */ + private Integer lawResponseCount; + + /** + * 执法诉求响应率 + */ + private BigDecimal lawResponseRatio; + + /** + * 执法诉求满意数 + */ + private Integer lawSatisfiedCount; + + /** + * 执法诉求满意率 + */ + private BigDecimal lawSatisfiedRatio; + + /** + * 执法诉求结案数 + */ + private Integer lawClosedCount; + + /** + * 执法诉求结案率 + */ + private BigDecimal lawClosedRatio; + + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventStatEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventStatEntity.java index 9f55cd1b2..bd88b9571 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventStatEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/entity/ScreenDeptEventStatEntity.java @@ -98,12 +98,13 @@ public class ScreenDeptEventStatEntity extends BaseEpdcEntity { */ private Integer livelihoodCount; - /** - * 民生诉求增量 - */ + /** + * 民生诉求增量 + */ private Integer livelihoodIncr; - /** + + /** * 发展诉求总数 */ private Integer developCount; @@ -133,4 +134,35 @@ public class ScreenDeptEventStatEntity extends BaseEpdcEntity { */ private Integer closedIncr; + /** + * 民生诉求结案数 + */ + private Integer livelihoodClosedCount; + + /** + * 民生诉求结案增量 + */ + private Integer livelihoodClosedIncr; + + /** + * 发展诉求结案数 + */ + private Integer developClosedCount; + + /** + * 发展诉求结案增量 + */ + private Integer developClosedIncr; + + /** + * 执法诉求结案数 + */ + private Integer lawClosedCount; + + /** + * 执法诉求结案增量 + */ + private Integer lawClosedIncr; + + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventEfficiencyServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventEfficiencyServiceImpl.java index 65abf89eb..68e4a40b3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventEfficiencyServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenDeptEventEfficiencyServiceImpl.java @@ -83,6 +83,45 @@ public class ScreenDeptEventEfficiencyServiceImpl extends BaseServiceImpl list) { + private BarCategoryResultDTO getBarCategoryResultDTO(BarCategoryResultDTO result, List list, String peopleFlag) { if (CollectionUtils.isNotEmpty(list)) { List barList = list.stream().map(item -> { BarCategoryDTO dto = new BarCategoryDTO(); @@ -203,11 +209,35 @@ public class ScreenDeptEventStatServiceImpl extends BaseServiceImpl detail = new ArrayList<>(); BarCategoryDetail eventDetail = new BarCategoryDetail(); eventDetail.setLegendName("事件数"); - eventDetail.setCount(item.getEventCount()); + switch (peopleFlag) { + case NumConstant.ZERO_STR: + eventDetail.setCount(item.getLivelihoodCount()); + break; + case NumConstant.ONE_STR: + eventDetail.setCount(item.getDevelopCount()); + break; + case NumConstant.TWO_STR: + eventDetail.setCount(item.getLawCount()); + break; + default: + eventDetail.setCount(item.getEventCount()); + } detail.add(eventDetail); BarCategoryDetail closedDetail = new BarCategoryDetail(); closedDetail.setLegendName("结案数"); - closedDetail.setCount(item.getClosedCount()); + switch (peopleFlag) { + case NumConstant.ZERO_STR: + eventDetail.setCount(item.getLivelihoodClosedCount()); + break; + case NumConstant.ONE_STR: + eventDetail.setCount(item.getDevelopClosedCount()); + break; + case NumConstant.TWO_STR: + eventDetail.setCount(item.getLawClosedCount()); + break; + default: + closedDetail.setCount(item.getClosedCount()); + } detail.add(closedDetail); dto.setDetail(detail); return dto; diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventEfficiencyDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventEfficiencyDao.xml index c13dcb8f3..12dd63348 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventEfficiencyDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventEfficiencyDao.xml @@ -9,39 +9,102 @@ AND STAT_DATE = #{statDate} SELECT DEPT_ID, DEPT_NAME, - EVENT_COUNT, - CLOSED_COUNT, - RESPONSE_COUNT, - SATISFIED_COUNT, - CASE RESPONSE_RATIO - WHEN 0 THEN - '0%' - ELSE - CONCAT(ROUND(RESPONSE_RATIO, 1), '%') - END RESPONSE_RATIO, - CASE SATISFIED_RATIO - WHEN 0 THEN - '0%' - ELSE - CONCAT(ROUND(SATISFIED_RATIO, 1), '%') + + EVENT_COUNT, + CLOSED_COUNT, + RESPONSE_COUNT, + SATISFIED_COUNT, + CASE RESPONSE_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(RESPONSE_RATIO, 1), '%') + END RESPONSE_RATIO, + CASE SATISFIED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(SATISFIED_RATIO, 1), '%') + END SATISFIED_RATIO, + CASE CLOSED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(CLOSED_RATIO, 1), '%') + END CLOSED_RATIO + + + LIVELIHOOD_COUNT AS EVENT_COUNT, + LIVELIHOOD_CLOSED_COUNT AS CLOSED_COUNT, + LIVELIHOOD_RESPONSE_COUNT AS RESPONSE_COUNT, + LIVELIHOOD_SATISFIED_COUNT AS SATISFIED_COUNT, + CASE LIVELIHOOD_RESPONSE_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LIVELIHOOD_RESPONSE_RATIO, 1), '%') + END RESPONSE_RATIO, + CASE LIVELIHOOD_SATISFIED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LIVELIHOOD_SATISFIED_RATIO, 1), '%') + END SATISFIED_RATIO, + CASE LIVELIHOOD_CLOSED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LIVELIHOOD_CLOSED_RATIO, 1), '%') + END CLOSED_RATIO + + + DEVELOP_COUNT AS EVENT_COUNT, + DEVELOP_CLOSED_COUNT AS CLOSED_COUNT, + DEVELOP_RESPONSE_COUNT AS RESPONSE_COUNT, + DEVELOP_SATISFIED_COUNT AS SATISFIED_COUNT, + CASE DEVELOP_RESPONSE_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(DEVELOP_RESPONSE_RATIO, 1), '%') + END RESPONSE_RATIO, + CASE DEVELOP_SATISFIED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(DEVELOP_SATISFIED_RATIO, 1), '%') + END SATISFIED_RATIO, + CASE DEVELOP_CLOSED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(DEVELOP_CLOSED_RATIO, 1), '%') + END CLOSED_RATIO + + + LAW_COUNT AS EVENT_COUNT, + LAW_CLOSED_COUNT AS CLOSED_COUNT, + LAW_RESPONSE_COUNT AS RESPONSE_COUNT, + LAW_SATISFIED_COUNT AS SATISFIED_COUNT, + CASE LAW_RESPONSE_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LAW_RESPONSE_RATIO, 1), '%') + END RESPONSE_RATIO, + CASE LAW_SATISFIED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LAW_SATISFIED_RATIO, 1), '%') END SATISFIED_RATIO, - CASE CLOSED_RATIO - WHEN 0 THEN - '0%' - ELSE - CONCAT(ROUND(CLOSED_RATIO, 1), '%') - END CLOSED_RATIO + CASE LAW_CLOSED_RATIO WHEN 0 THEN '0%' + ELSE CONCAT(ROUND(LAW_CLOSED_RATIO, 1), '%') + END CLOSED_RATIO + FROM screen_dept_event_efficiency WHERE DEL_FLAG = '0' AND PID = #{deptId} @@ -289,6 +474,9 @@ AND IS_PEOPLE = '1' AND EVENT_ID is null AND ISSUE_ID is null + + AND PEOPLE_FLAG = #{peopleFlag} + AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') <= #{endDate} ) a @@ -312,6 +500,9 @@ AND IS_PEOPLE = '1' AND EVENT_ID is null AND ISSUE_ID is null + + AND PEOPLE_FLAG = #{peopleFlag} + AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') <= #{endDate}) a STRAIGHT_JOIN epdc_item_handle_process b ON b.ITEM_ID = a.ID AND b.DEL_FLAG = '0' AND b.STATE = '60' @@ -323,6 +514,9 @@ AND IS_PEOPLE = '1' AND EVENT_ID is null AND ISSUE_ID is null + + AND PEOPLE_FLAG = #{peopleFlag} + GROUP BY ALL_DEPT_IDS ) b ON b.ALL_DEPT_IDS LIKE CONCAT('%', a.id, '%') WHERE a.del_flag = '0' diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml index 2f5243403..5f5d2f0eb 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/screen/ScreenDeptEventStatDao.xml @@ -62,7 +62,10 @@ LIVELIHOOD_COUNT, DEVELOP_COUNT, LAW_COUNT, - CLOSED_COUNT + CLOSED_COUNT, + LIVELIHOOD_CLOSED_COUNT, + DEVELOP_CLOSED_COUNT, + LAW_CLOSED_COUNT FROM screen_dept_event_stat WHERE PID = #{deptId} AND STAT_DATE = #{statDate} @@ -79,7 +82,10 @@ SUM(LIVELIHOOD_INCR) LIVELIHOOD_COUNT, SUM(DEVELOP_INCR) DEVELOP_COUNT, SUM(LAW_INCR) LAW_COUNT, - SUM(CLOSED_INCR) CLOSED_COUNT + SUM(CLOSED_INCR) CLOSED_COUNT, + SUM(LIVELIHOOD_CLOSED_INCR) LIVELIHOOD_CLOSED_COUNT, + SUM(DEVELOP_CLOSED_INCR) DEVELOP_CLOSED_COUNT, + SUM(LAW_CLOSED_INCR) LAW_CLOSED_COUNT FROM screen_dept_event_stat WHERE PID = #{deptId} AND DEPT_LEVEL != 'street_dept' @@ -101,17 +107,23 @@