Browse Source

Merge branch 'develop' into release_temp

master
zhaoqifeng 4 years ago
parent
commit
2b29edde9e
  1. 4
      epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml
  2. 4
      epmet-admin/epmet-admin-server/pom.xml
  3. 4
      epmet-auth/deploy/docker-compose-prod.yml
  4. 4
      epmet-auth/pom.xml
  5. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java
  6. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  7. 4
      epmet-gateway/deploy/docker-compose-prod.yml
  8. 14
      epmet-gateway/pom.xml
  9. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java
  10. 15
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java
  11. 35
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java
  12. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectMonthIncrResultDTO.java
  13. 28
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectStatusListResultDTO.java
  14. 34
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectTotalResultDTO.java
  15. 2
      epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml
  16. 3
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  17. 34
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java
  18. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  19. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java
  20. 33
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  21. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml
  22. 2
      epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml
  23. 4
      epmet-module/data-report/data-report-server/pom.xml
  24. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  25. 2
      epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml
  26. 4
      epmet-module/data-statistical/data-statistical-server/pom.xml
  27. 26
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java
  28. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java
  29. 238
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java
  30. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginTopicMainDailyServiceImpl.java
  31. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/IssueExtractServiceImpl.java
  32. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
  33. 189
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/OrgRankStatisticsService.java
  34. 306
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/OrgRankStatisticsServiceImpl.java
  35. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java
  36. 99
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  37. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimCustomerPartymemberServiceImpl.java
  38. 10
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.14__cpc_subscore_add_samplecount.sql
  39. 94
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.14__groupact_analysis.sql
  40. 220
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.15__govern.sql
  41. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.16__add_shiftIssue.sql
  42. 226
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.17__inxdex_explain.sql
  43. 44
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.18__modify_index_weight_for_3.0.sql
  44. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.19__add_gridMemberToalColumn.sql
  45. 172
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml
  46. 415
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  47. BIN
      epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注3.0版新权重.xlsx
  48. 2
      epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml
  49. 2
      epmet-module/epmet-activiti/epmet-activiti-server/pom.xml
  50. 4
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml
  51. 4
      epmet-module/epmet-common-service/common-service-server/pom.xml
  52. 3
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalCustomerController.java
  53. 2
      epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml
  54. 4
      epmet-module/epmet-ext/epmet-ext-server/pom.xml
  55. 20
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandDetailFormDTO.java
  56. 19
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/IcResiUserDemandFromDTO.java
  57. 3
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandRecResultDTO.java
  58. 23
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/IcResiUserReportDemandRes.java
  59. 4
      epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml
  60. 4
      epmet-module/epmet-heart/epmet-heart-server/pom.xml
  61. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ActCustomizedController.java
  62. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java
  63. 1
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcResiDemandDictDao.java
  64. 20
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java
  65. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcResiDemandDictService.java
  66. 17
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
  67. 14
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java
  68. 132
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  69. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcResiDemandDictDao.xml
  70. 85
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  71. 4
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml
  72. 4
      epmet-module/epmet-job/epmet-job-server/pom.xml
  73. 4
      epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml
  74. 4
      epmet-module/epmet-message/epmet-message-server/pom.xml
  75. 2
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml
  76. 4
      epmet-module/epmet-oss/epmet-oss-server/pom.xml
  77. 19
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/IcResiPointPageFormDTO.java
  78. 21
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointPageResDTO.java
  79. 5
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankListResultDTO.java
  80. 4
      epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml
  81. 4
      epmet-module/epmet-point/epmet-point-server/pom.xml
  82. 13
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java
  83. 6
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/TestController.java
  84. 4
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java
  85. 10
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java
  86. 68
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointTotalService.java
  87. 19
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  88. 29
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java
  89. 112
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointTotalServiceImpl.java
  90. 14
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml
  91. 4
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml
  92. 26
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java
  93. 21
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java
  94. 63
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectFormDTO.java
  95. 64
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessAssignedStaffFormDTO.java
  96. 85
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessFormDTO.java
  97. 21
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java
  98. 10
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java
  99. 4
      epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml
  100. 56
      epmet-module/epmet-third/epmet-third-server/pom.xml

4
epmet-admin/epmet-admin-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-admin-server:0.3.15
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-admin-server:0.3.28
ports:
- "8082:8082"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-admin/epmet-admin-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.17</version>
<version>0.3.28</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>
@ -246,7 +246,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>

4
epmet-auth/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.70
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.96
ports:
- "8081:8081"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-auth/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.72</version>
<version>0.3.96</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -352,7 +352,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<!--公众号配置-->
<wx.mp.configs.appId>wxcb6ce2ed0c5ae54c</wx.mp.configs.appId>

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java

@ -93,4 +93,20 @@ public class CustomerStaffInfoCacheResult implements Serializable {
*/
private List<IdAndNameDTO> deptList;
/**
* 组织级别
*/
private String level;
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -16,6 +16,9 @@ public enum DictTypeEnum {
SCALE("scale", "人员规模", 6),
PARTY_UNIT_TYPE("party_unit_type", "联建单位分类", 7),
GENDER("gender", "性别", 8),
USER_DEMAND_STATUS("user_demand_status", "居民需求状态",8),
USER_DEMAND_REPORT_TYPE("user_demand_report_type","居民需求上报类型",9),
USER_DEMAND_SERVICE_TYPE("user_demand_service_type","居民需求服务方类型",10)
;
private final String code;

4
epmet-gateway/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-gateway-server:
container_name: epmet-gateway-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.43
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.69
ports:
- "8080:8080"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

14
epmet-gateway/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.43</version>
<version>0.3.69</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -323,11 +323,11 @@
<!-- <gateway.routes.gov-issue-server.uri>http://localhost:8101</gateway.routes.gov-issue-server.uri>-->
<gateway.routes.gov-issue-server.uri>lb://gov-issue-server</gateway.routes.gov-issue-server.uri>
<!-- 23、政府工作端项目管理 -->
<!-- <gateway.routes.gov-project-server.uri>http://localhost:8102</gateway.routes.gov-project-server.uri>-->
<!-- <gateway.routes.gov-project-server.uri>http://localhost:8102</gateway.routes.gov-project-server.uri>-->
<gateway.routes.gov-project-server.uri>lb://gov-project-server</gateway.routes.gov-project-server.uri>
<!-- 24、公共服务 -->
<!--<gateway.routes.common-service-server.uri>lb://common-service-server</gateway.routes.common-service-server.uri>-->
<gateway.routes.common-service-server.uri>http://localhost:8103</gateway.routes.common-service-server.uri>
<gateway.routes.common-service-server.uri>lb://common-service-server</gateway.routes.common-service-server.uri>
<!--<gateway.routes.common-service-server.uri>http://localhost:8103</gateway.routes.common-service-server.uri>-->
<!-- 25、党建园地 -->
<gateway.routes.resi-home-server.uri>lb://resi-home-server</gateway.routes.resi-home-server.uri>
<!-- <gateway.routes.resi-home-server.uri>http://localhost:8104</gateway.routes.resi-home-server.uri>-->
@ -347,8 +347,8 @@
<gateway.routes.epmet-openapi-scan.uri>lb://epmet-openapi-scan</gateway.routes.epmet-openapi-scan.uri>
<!-- <gateway.routes.epmet-openapi-scan.uri>http://localhost:8107</gateway.routes.epmet-openapi-scan.uri>-->
<!-- 31、微信第三方平台 -->
<gateway.routes.epmet-third-server.uri>lb://epmet-third-server</gateway.routes.epmet-third-server.uri>
<!-- <gateway.routes.epmet-third-server.uri>http://localhost:8110</gateway.routes.epmet-third-server.uri>-->
<!-- <gateway.routes.epmet-third-server.uri>lb://epmet-third-server</gateway.routes.epmet-third-server.uri>-->
<gateway.routes.epmet-third-server.uri>http://localhost:8110</gateway.routes.epmet-third-server.uri>
<!-- 32、爱心互助 -->
<gateway.routes.epmet-heart-server.url>lb://epmet-heart-server</gateway.routes.epmet-heart-server.url>
@ -508,7 +508,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<!-- gateway routes -->
<!-- 1、认证服务 -->

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java

@ -93,4 +93,24 @@ public class CustomerStaffResultDTO implements Serializable {
*/
private String twoOrgName;
/**
* 社区名称0409
*/
private String community;
/**
* 组织级别
*/
private String level;
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

15
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java

@ -142,4 +142,19 @@ public class CustomerAgencyDTO implements Serializable {
* 社区
*/
private String community;
/**
* 坐标
*/
private String coordinates;
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

35
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dataaggre.dto.govproject.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 赋能平台项目处理分析事件总数查询-接口入参
* @Auth sun
*/
@NoArgsConstructor
@Data
public class ProjectTotalFormDTO implements Serializable {
private static final long serialVersionUID = -8515172319313536407L;
//组织Id
@NotBlank(message = "组织ID不能为空", groups = {Total.class, Monthincr.class, Statuslist.class})
private String agencyId;
//日期yyyymmdd
@NotBlank(message = "组织ID不能为空", groups = {Total.class, Monthincr.class, Statuslist.class})
private String dateId;
//状态:待处理 pending,结案closed
@NotBlank(message = "项目状态不能为空", groups = {Statuslist.class})
private String status;
public interface Total extends CustomerClientShowGroup {
}
public interface Monthincr extends CustomerClientShowGroup {
}
public interface Statuslist extends CustomerClientShowGroup {
}
}

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectMonthIncrResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dataaggre.dto.govproject.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 赋能平台项目处理分析进12月新增项目折线图-接口返参
* @Auth sun
*/
@Data
public class ProjectMonthIncrResultDTO implements Serializable {
private static final long serialVersionUID = 6188316867855643263L;
//横坐标值
private String value;
//横坐标
private Integer type;
}

28
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectStatusListResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.dataaggre.dto.govproject.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 赋能平台项目处理分析事件总数查询-接口返参
* @Auth sun
*/
@Data
public class ProjectStatusListResultDTO implements Serializable {
private static final long serialVersionUID = 6188316867855643263L;
//组织Id
private String agencyId;
//项目Id
private String projectId;
//来源:议题issue 项目立项:agency 事件:resi_event
private Integer origin;
//状态:待处理 pending,结案closed
private Integer status;
//经度
private Integer longitude;
//纬度
private Integer dimension;
}

34
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectTotalResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dataaggre.dto.govproject.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 赋能平台项目处理分析事件总数查询-接口返参
* @Auth sun
*/
@Data
public class ProjectTotalResultDTO implements Serializable {
private static final long serialVersionUID = 6188316867855643263L;
//组织Id
private String agencyId;
//日期yyyymmdd
private String dateId;
//项目总数
private Integer projectTotal;
//较昨日数
private Integer dateIncr;
//较上月数
private Integer monthIncr;
//未结案项目数
private Integer pendingTotal;
//为结案项目占比 xx%
private String pendingRatio;
//已结案项目数
private Integer closedTotal;
//已结案项目占比
private String closedRatio;
}

2
epmet-module/data-aggregator/data-aggregator-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-aggregator-server:
container_name: data-aggregator-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-aggregator-server:0.3.1
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-aggregator-server:0.3.78
ports:
- "8114:8114"
network_mode: host # 使用现有网络

3
epmet-module/data-aggregator/data-aggregator-server/pom.xml

@ -2,6 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.78</version>
<parent>
<artifactId>data-aggregator</artifactId>
<groupId>com.epmet</groupId>
@ -571,7 +572,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<!--flyway migration 数据库迁移工具-->
<spring.flyway.enabled>true</spring.flyway.enabled>

34
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java

@ -8,8 +8,11 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.govproject.result.AllProjectResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectDistributionResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectMonthIncrResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectTotalResultDTO;
import com.epmet.dataaggre.service.govproject.GovProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -56,4 +59,35 @@ public class GovProjectController {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ProjectDistributionResultDTO>>().ok(govProjectService.queryProjectDistribution(formDTO));
}
/**
* @Description 赋能平台项目处理分析事件总数查询
* @author sun
*/
@PostMapping("projecttotal")
public Result<ProjectTotalResultDTO> projectTotal(@RequestBody ProjectTotalFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ProjectTotalFormDTO.Total.class);
return new Result<ProjectTotalResultDTO>().ok(govProjectService.projectTotal(formDTO));
}
/**
* @Description 赋能平台项目处理分析进12月新增项目折线图
* @author sun
*/
@PostMapping("projectmonthincr")
public Result<List<ProjectMonthIncrResultDTO>> projectMonthIncr(@RequestBody ProjectTotalFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ProjectTotalFormDTO.Monthincr.class);
return new Result<List<ProjectMonthIncrResultDTO>>().ok(govProjectService.projectMonthIncr(formDTO));
}
/**
* @Description 赋能平台项目处理分析按状态查询项目列表
* @author sun
*/
@PostMapping("projectstatuslist")
public Result<List<ProjectTotalResultDTO>> projectStatusList(@RequestBody ProjectTotalFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ProjectTotalFormDTO.Statuslist.class);
return new Result<List<ProjectTotalResultDTO>>().ok(govProjectService.projectStatusList(formDTO));
}
}

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -602,6 +602,9 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setAgencyId(agencyDTO.getId());
result.setAgencyName(agencyDTO.getOrganizationName());
result.setAgencyPIds(agencyDTO.getPids());
result.setLevel(agencyDTO.getLevel());
result.setLongitude(agencyDTO.getLongitude());
result.setLatitude(agencyDTO.getLatitude());
StaffOrgRelationResultDTO fromOrgTypeDto = govOrgService.getStaffFromOrgType(staffId);
String fromOrgType = OrgTypeEnum.AGENCY.getCode();
if (fromOrgTypeDto != null){

23
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java

@ -4,9 +4,8 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO;
import com.epmet.dataaggre.dto.govproject.result.AllProjectResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectDistributionResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ShiftProjectResultDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.govproject.result.*;
import java.util.List;
@ -51,4 +50,22 @@ public interface GovProjectService {
* @date 2021/8/3 15:27
*/
int countRedDot(String userId);
/**
* @Description 赋能平台项目处理分析事件总数查询
* @author sun
*/
ProjectTotalResultDTO projectTotal(ProjectTotalFormDTO formDTO);
/**
* @Description 赋能平台项目处理分析进12月新增项目折线图
* @author sun
*/
List<ProjectMonthIncrResultDTO> projectMonthIncr(ProjectTotalFormDTO formDTO);
/**
* @Description 赋能平台项目处理分析按状态查询项目列表
* @author sun
*/
List<ProjectTotalResultDTO> projectStatusList(ProjectTotalFormDTO formDTO);
}

33
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

@ -14,10 +14,8 @@ import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govproject.ProjectDTO;
import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO;
import com.epmet.dataaggre.dto.govproject.result.AllProjectResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectDistributionResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectInfoDTO;
import com.epmet.dataaggre.dto.govproject.result.ShiftProjectResultDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.govproject.result.*;
import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO;
import com.epmet.dataaggre.service.govissue.GovIssueService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
@ -247,4 +245,31 @@ public class GovProjectServiceImpl implements GovProjectService {
return projectDao.countRedDot(userId);
}
/**
* @Description 赋能平台项目处理分析事件总数查询
* @author sun
*/
@Override
public ProjectTotalResultDTO projectTotal(ProjectTotalFormDTO formDTO) {
return null;
}
/**
* @Description 赋能平台项目处理分析进12月新增项目折线图
* @author sun
*/
@Override
public List<ProjectMonthIncrResultDTO> projectMonthIncr(ProjectTotalFormDTO formDTO) {
return null;
}
/**
* @Description 赋能平台项目处理分析按状态查询项目列表
* @author sun
*/
@Override
public List<ProjectTotalResultDTO> projectStatusList(ProjectTotalFormDTO formDTO) {
return null;
}
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml

@ -26,7 +26,23 @@
ca.organization_name,
ca.level,
ca.area_code,
ca.parent_area_code
ca.parent_area_code,
( CASE WHEN ca.longitude is THEN
( SELECT longitude FROM customer_agency
WHERE del_flag = '0' AND customer_id = (SELECT customer_id FROM customer_agency WHERE id = ca.id)
ORDER BY pid ASC LIMIT 1
)
ELSE ca.longitude
END
) longitude,
( CASE WHEN ca.latitude is null THEN
( SELECT latitude FROM customer_agency
WHERE del_flag = '0' AND customer_id = (SELECT customer_id FROM customer_agency WHERE id = ca.id)
ORDER BY pid ASC LIMIT 1
)
ELSE ca.latitude
END
) latitude
FROM
customer_staff_agency csa
INNER JOIN customer_agency ca ON csa.agency_id = ca.id

2
epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-report-server:
container_name: data-report-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:0.3.59
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:0.3.195
ports:
- "8108:8108"
network_mode: host # 使用现有网络

4
epmet-module/data-report/data-report-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.59</version>
<version>0.3.195</version>
<artifactId>data-report-server</artifactId>
<parent>
@ -346,7 +346,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<!--flyway migration 数据库迁移工具-->
<spring.flyway.enabled>true</spring.flyway.enabled>

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java

@ -335,7 +335,7 @@ public interface DataStatisticalOpenFeignClient {
/**
* 事件上报
* @Param formDTO
* @Return {@link Result<List<BaseDisputeProcessDTO>>}
* @Return {@link Result<List<EventInfoResultDTO>>}
* @Author zhaoqifeng
* @Date 2021/10/15 16:50
*/

2
epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-statistical-server:
container_name: data-statistical-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.81
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.300
ports:
- "8108:8108"
network_mode: host # 使用现有网络

4
epmet-module/data-statistical/data-statistical-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.81</version>
<version>0.3.300</version>
<parent>
<artifactId>data-statistical</artifactId>
<groupId>com.epmet</groupId>
@ -636,7 +636,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<!--flyway migration 数据库迁移工具-->
<spring.flyway.enabled>false</spring.flyway.enabled>

26
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java

@ -95,12 +95,26 @@ public class FactOriginExtractController {
@PostMapping("project")
public Result projectData(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) {
List<String> customerIds = dimCustomerService.selectCustomerIdPage(1, 100);
customerIds.forEach(customerId -> {
ExtractOriginFormDTO dto = new ExtractOriginFormDTO();
dto.setCustomerId(customerId);
projectExtractService.saveOriginProjectDaily(dto);
});
if (StringUtils.isNotBlank(extractOriginFormDTO.getCustomerId())) {
List<String> daysBetween;
if (StringUtils.isBlank(extractOriginFormDTO.getDateId())) {
daysBetween = DateUtils.getDaysBetween(extractOriginFormDTO.getStartDate(), extractOriginFormDTO.getEndDate());
daysBetween.forEach(dateId -> {
extractOriginFormDTO.setDateId(dateId);
projectExtractService.saveOriginProjectDaily(extractOriginFormDTO);
});
} else{
projectExtractService.saveOriginProjectDaily(extractOriginFormDTO);
}
} else {
List<String> customerIds = dimCustomerService.selectCustomerIdPage(1, 100);
customerIds.forEach(customerId -> {
ExtractOriginFormDTO dto = new ExtractOriginFormDTO();
dto.setCustomerId(customerId);
projectExtractService.saveOriginProjectDaily(dto);
});
}
return new Result();
}

14
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java

@ -1,7 +1,9 @@
package com.epmet.controller.external;
import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.dto.screen.*;
import com.epmet.dto.screen.form.CategoryDictFormDTO;
import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO;
@ -13,6 +15,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 事件/项目采集接口入口
* @ClassName ScreenProjectDataCollController
@ -135,6 +140,15 @@ public class ScreenProjectDataCollController {
param.setCustomerId(customerId);
ValidatorUtils.validateEntity(param, ScreenCollFormDTO.CustomerIdShowGroup.class, ScreenCollFormDTO.DateIdShowGroup.class, ScreenCollFormDTO.DataListShowGroup.class);
projectDataService.collect(param);
//发送MQ消息,上报事件
param.getDataList().forEach(item -> {
List<String> projectList = new ArrayList<>();
projectList.add(item.getProjectId());
DisputeProcessMQMsg msg = new DisputeProcessMQMsg(param.getCustomerId(), projectList, SystemMessageType.PROJECT_ADD);
projectDataService.sendProjectChangeMq(msg);
});
return new Result();
}

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

@ -5,9 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.group.form.GroupTotalFormDTO;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
import com.epmet.dto.stats.topic.form.TopicStatusFormDTO;
import com.epmet.service.StatsGroupService;
import com.epmet.service.StatsTopicService;
import com.epmet.service.evaluationindex.extract.todata.*;
@ -94,6 +92,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
}
private void submitJob(ExtractOriginFormDTO param) {
CountDownLatch countDownLatch = new CountDownLatch(NumConstant.FIVE);
boolean isRange = StringUtils.isBlank(param.getDateId());
List<String> daysBetween = null;
if (isRange) {
@ -101,139 +100,159 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
}
List<String> finalDaysBetween = daysBetween;
threadPool.submit(() -> {
CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO();
formDTO.setCustomerId(param.getCustomerId());
if (!isRange) {
try {
formDTO.setDateId(param.getDateId());
dimCustomerPartymemberService.statsPartyMember(formDTO);
} catch (Exception e) {
log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(formDTO), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
formDTO.setDateId(dateDimId);
try {
CustomerIdAndDateIdFormDTO formDTO = new CustomerIdAndDateIdFormDTO();
formDTO.setCustomerId(param.getCustomerId());
if (!isRange) {
try {
formDTO.setDateId(param.getDateId());
dimCustomerPartymemberService.statsPartyMember(formDTO);
} catch (Exception e) {
log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(formDTO), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
formDTO.setDateId(dateDimId);
dimCustomerPartymemberService.statsPartyMember(formDTO);
}
} catch (Exception e) {
log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(param), e);
}
} catch (Exception e) {
log.error("抽取【党员数据】发生异常,参数:" + JSON.toJSONString(param), e);
}
} finally {
countDownLatch.countDown();
}
});
threadPool.submit(() -> {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
groupExtractService.extractGroupData(paramNew);
} catch (Exception e) {
log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
try {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
groupExtractService.extractGroupData(paramNew);
} catch (Exception e) {
log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
groupExtractService.extractGroupData(paramNew);
}
} catch (Exception e) {
log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} catch (Exception e) {
log.error("抽取【小组数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} finally {
countDownLatch.countDown();
}
});
threadPool.submit(() -> {
log.debug("extractAll start param:{}", JSON.toJSONString(param));
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
factOriginTopicMainDailyService.topicCleaning(paramNew);
} catch (Exception e) {
log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
log.info("extractAll cal param:{}", JSON.toJSONString(paramNew));
try {
log.debug("extractAll start param:{}", JSON.toJSONString(param));
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
factOriginTopicMainDailyService.topicCleaning(paramNew);
} catch (Exception e) {
log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
log.info("extractAll cal param:{}", JSON.toJSONString(paramNew));
factOriginTopicMainDailyService.topicCleaning(paramNew);
}
} catch (Exception e) {
log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} catch (Exception e) {
log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
log.debug("extractAll end param:{}", JSON.toJSONString(paramNew));
} finally {
countDownLatch.countDown();
}
log.debug("extractAll end param:{}", JSON.toJSONString(paramNew));
});
threadPool.submit(() -> {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
issueExtractService.issueExtractMain(paramNew);
} catch (Exception e) {
log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
try {
issueExtractService.issueExtractLog(paramNew);
} catch (Exception e) {
log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
try {
ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
try {
issueExtractService.issueExtractMain(paramNew);
} catch (Exception e) {
log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} catch (Exception e) {
log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
try {
issueExtractService.issueExtractLog(paramNew);
} catch (Exception e) {
log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} else {
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
issueExtractService.issueExtractMain(paramNew);
}
} catch (Exception e) {
log.error("抽取【议题数据主表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
paramNew.setDateId(dateDimId);
issueExtractService.issueExtractLog(paramNew);
}
} catch (Exception e) {
log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} catch (Exception e) {
log.error("抽取【议题数据附表】发生异常,参数:" + JSON.toJSONString(paramNew), e);
}
} finally {
countDownLatch.countDown();
}
});
//小组活动
threadPool.submit(() -> {
ExtractOriginFormDTO extractOriginFormDTO = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
//截止到当前dateId
try {
factGroupActDailyService.extractGridGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
try {
factGroupActDailyService.extractAgencyGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
} else {
//参数指定日期内,比如startDate=20210501,endDate=20210513;依次计算截止到20210501的数据.....截止到20210513的数据
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
extractOriginFormDTO.setDateId(dateDimId);
try {
ExtractOriginFormDTO extractOriginFormDTO = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class);
if (!isRange) {
//截止到当前dateId
try {
factGroupActDailyService.extractGridGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
extractOriginFormDTO.setDateId(dateDimId);
try {
factGroupActDailyService.extractAgencyGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
} else {
//参数指定日期内,比如startDate=20210501,endDate=20210513;依次计算截止到20210501的数据.....截止到20210513的数据
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
extractOriginFormDTO.setDateId(dateDimId);
factGroupActDailyService.extractGridGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
}
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
try {
for (int i = 0; i < finalDaysBetween.size(); i++) {
String dateDimId = finalDaysBetween.get(i);
extractOriginFormDTO.setDateId(dateDimId);
factGroupActDailyService.extractAgencyGroupActDaily(extractOriginFormDTO.getCustomerId(), extractOriginFormDTO.getDateId());
}
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
} catch (Exception e) {
log.error("抽取【fact_group_act_daily】发生异常,参数:" + JSON.toJSONString(extractOriginFormDTO), e);
}
} finally {
countDownLatch.countDown();
}
});
@ -297,7 +316,18 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService {
}
});*/
submitProjectRelationData(param, finalDaysBetween);
Future<?> future = submitProjectRelationData(param, finalDaysBetween);
try {
future.get();
} catch (Exception e) {
log.error("submitProjectRelationData exception:{}",e);
}
try {
countDownLatch.await();
log.info("extractAll submitJob execute end,param:{}",JSON.toJSONString(param));
} catch (InterruptedException e) {
log.error("extractAll daily InterruptedException:{}", e);
}
}
@Override

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

@ -20,7 +20,6 @@ package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
@ -166,7 +165,7 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
* @param logDailyEntityList
* @author yinzuomei
* @description 批量插入fact_origin_topic_log_daily
* @Date 2020/9/16 12:53
* @Date 2020/9/16 12:53
**/
private void saveFactOriginTopicLogDailyEntity(List<FactOriginTopicLogDailyEntity> logDailyEntityList) {
//批量插入
@ -175,7 +174,7 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
factOriginTopicLogDailyDao.insertBatchEntity(list);
});
}
/**
* @return java.util.Map<java.lang.String,java.lang.Object>
* @param topicOriginInfoList
@ -195,8 +194,8 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
GridInfoDTO gridInfoDTO=gridMap.get(topicOriginInfoDTO.getGridId());
if(null==gridInfoDTO){
log.warn("没有找到 gridId="+topicOriginInfoDTO.getGridId()+" 的基本信息");
// continue;
throw new RenException("gridInfoDTO is null gridId="+topicOriginInfoDTO.getGridId());
continue;
//throw new RenException("gridInfoDTO is null gridId="+topicOriginInfoDTO.getGridId());
}
// 一年的第几周
String weekId = DateUtils.format(topicOriginInfoDTO.getOriginalBusinessTime(), DateUtils.DATE_PATTERN_YYYY).concat("W").concat(String.valueOf(DateUtils.getWeekOfYear(topicOriginInfoDTO.getOriginalBusinessTime())));
@ -419,4 +418,4 @@ public class FactOriginTopicMainDailyServiceImpl extends BaseServiceImpl<FactOri
}
}
}

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

@ -121,7 +121,7 @@ public class IssueExtractServiceImpl implements IssueExtractService {
});
});
// 5. 查询pid
List<String> agencyIds = result.stream().map(r -> r.getAgencyId()).distinct().collect(Collectors.toList());
List<String> agencyIds = result.stream().map(IssueMainDailyFormDTO::getAgencyId).distinct().collect(Collectors.toList());
List<AgencyInfoResultDTO> agencyInfoList = dimAgencyDao.selectAgencyInfo(agencyIds);
if (CollectionUtils.isEmpty(agencyInfoList)){
throw new RenException(ExtractConstant.PARENT_AGENCY_ID_LIST);
@ -138,7 +138,9 @@ public class IssueExtractServiceImpl implements IssueExtractService {
}
});
});
delAndInsertMain(customerId,dateId,result);
//过滤掉pids为空的数据
List<IssueMainDailyFormDTO> collect = result.stream().filter(o -> StringUtils.isNotBlank(o.getPids())).collect(Collectors.toList());
delAndInsertMain(customerId,dateId,collect);
return true;
}
@ -244,7 +246,9 @@ public class IssueExtractServiceImpl implements IssueExtractService {
}
});
});
delAndInsertLog(customerId,dateId,result);
//去除pids 为空的数据
List<IssueLogDailyFormDTO> collect = result.stream().filter(o -> StringUtils.isNotBlank(o.getPids())).collect(Collectors.toList());
delAndInsertLog(customerId,dateId,collect);
return true;
}

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

@ -319,21 +319,14 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
entity.setOrgType(OrgTypeConstant.AGENCY);
entity.setOrgId(process.getAgencyId());
if (!process.getPids().contains(StrConstant.COLON)) {
entity.setPids("");
entity.setPid(NumConstant.ZERO_STR);
} else {
String[] orgArray = process.getPids().split(StrConstant.COLON);
if (orgArray.length > NumConstant.ONE) {
entity.setPid(orgArray[orgArray.length - NumConstant.TWO]);
String path = process.getPids().replaceAll(process.getAgencyId(), "");
if (path.endsWith(StrConstant.COLON)) {
path = path.substring(NumConstant.ZERO, path.length() - NumConstant.ONE);
}
entity.setPids(path);
} else {
log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}", process.getAgencyId(), process.getPids());
entity.setPid(NumConstant.ZERO_STR);
entity.setPids("");
}
}
}

189
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/OrgRankStatisticsService.java

@ -0,0 +1,189 @@
package com.epmet.service.evaluationindex.extract.toscreen;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import java.util.Map;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/12/7 10:43
*/
public interface OrgRankStatisticsService {
/**
* 网格被吹哨项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectCount(String customerId, String monthId, String dateId);
/**
* 部门被吹哨项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getDeptProjectCount(String customerId, String monthId, String dateId);
/**
* 组织被吹哨项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectCount(String customerId, String monthId, String dateId);
/**
* 网格被吹哨项目中已结案项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectClosedCount(String customerId, String monthId, String dateId);
/**
* 部门被吹哨项目中已结案项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getDeptProjectClosedCount(String customerId, String monthId, String dateId);
/**
* 组织被吹哨项目中已结案项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectClosedCount(String customerId, String monthId, String dateId);
/**
* 网格被吹哨项目中自己办结项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectResolvedCount(String customerId, String monthId, String dateId);
/**
* 部门被吹哨项目中自己办结项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getDeptProjectResolvedCount(String customerId, String monthId, String dateId);
/**
* 组织被吹哨项目中自己办结项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectResolvedCount(String customerId, String monthId, String dateId);
/**
* 网格自治项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectSelfCount(String customerId, String monthId, String dateId);
/**
* 部门自治项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getDeptProjectSelfCount(String customerId, String monthId, String dateId);
/**
* 组织自治项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectSelfCount(String customerId, String monthId, String dateId);
/**
* 网格产生的项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectTotal(String customerId, String monthId, String dateId);
/**
* 组织产生的项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectTotal(String customerId, String monthId, String dateId);
/**
* 网格产生的项目数中结案的项目数
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getGridProjectClosedTotal(String customerId, String monthId, String dateId);
/**
* 组织产生的项目数中结案的项目数含下级组织网格部门
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
Map<String, OrgStatisticsResultDTO> getAgencyProjectClosedTotal(String customerId, String monthId, String dateId);
}

306
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/OrgRankStatisticsServiceImpl.java

@ -0,0 +1,306 @@
package com.epmet.service.evaluationindex.extract.toscreen.impl;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.service.evaluationindex.extract.toscreen.OrgRankStatisticsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/12/7 10:43
*/
@Service
@Slf4j
public class OrgRankStatisticsServiceImpl implements OrgRankStatisticsService {
/**
* 网格被吹哨项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map < String, OrgStatisticsResultDTO >}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 部门被吹哨项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getDeptProjectCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织被吹哨项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 网格被吹哨项目中已结案项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectClosedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 部门被吹哨项目中已结案项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getDeptProjectClosedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织被吹哨项目中已结案项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectClosedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 网格被吹哨项目中自己办结项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectResolvedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 部门被吹哨项目中自己办结项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getDeptProjectResolvedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织被吹哨项目中自己办结项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectResolvedCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 网格自治项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectSelfCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 部门自治项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getDeptProjectSelfCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织自治项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectSelfCount(String customerId, String monthId, String dateId) {
return null;
}
/**
* 网格产生的项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectTotal(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织产生的项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectTotal(String customerId, String monthId, String dateId) {
return null;
}
/**
* 网格产生的项目数中结案的项目数
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getGridProjectClosedTotal(String customerId, String monthId, String dateId) {
return null;
}
/**
* 组织产生的项目数中结案的项目数含下级组织网格部门
*
* @param customerId
* @param monthId
* @param dateId
* @Param customerId
* @Param monthId
* @Param dateId
* @Return {@link Map< String, OrgStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/7 10:52
*/
@Override
public Map<String, OrgStatisticsResultDTO> getAgencyProjectClosedTotal(String customerId, String monthId, String dateId) {
return null;
}
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java

@ -18,7 +18,6 @@
package com.epmet.service.evaluationindex.screen.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;

99
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java

@ -1,5 +1,6 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
@ -40,6 +41,9 @@ import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.toCollection;
/**
* @dscription 省网格化平台数据上报--数据查询
* @author sun
@ -141,23 +145,28 @@ public class DataReportingServiceImpl implements DataReportingService {
Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>();
Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId());
if (StringUtils.isNotBlank(parentCustomer.getData())) {
customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData());
epmetCodeMap = customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData());
}
Map<String, CustomerProjectCategoryDictEntity> codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());;
//项目ID不为空时,因为只有一条,可以直接处理
Map<String, CustomerProjectCategoryDictEntity> finalEpmetCodeMap = epmetCodeMap;
if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) {
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap);
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) {
ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId());
dto.setOrgId(project.getOrgId());
dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName());
if (null != agency) {
dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName());
}
} else {
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId());
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
}
return dto;
}).collect(Collectors.toList());
@ -166,22 +175,26 @@ public class DataReportingServiceImpl implements DataReportingService {
Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId());
Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId());
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap);
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) {
ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName());
if (null != agency) {
dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName());
}
} else {
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
}
return dto;
}).collect(Collectors.toList());
}
return list.stream().filter(item -> StringUtils.isNotBlank(item.getEventCategory())).collect(Collectors.toList());
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap, Map<String, CustomerProjectCategoryDictEntity> codeMap) {
@ -198,8 +211,28 @@ public class DataReportingServiceImpl implements DataReportingService {
"46c55cb862d6d5e6d05d2ab61a1cc07e".equals(project.getCustomerId())) {
CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode);
if (null != categoryEntity) {
categoryCode = categoryEntity.getEpmetCategoryCode();
parentCode = epmetCodeMap.get(categoryEntity.getEpmetCategoryCode()).getParentCategoryCode();
String code = categoryEntity.getEpmetCategoryCode();
if (StringUtils.isBlank(code)) {
//没有对应平阴的分类code,那么一级分类和二级分类都为空
categoryCode = null;
parentCode = null;
} else {
//如果是对应一级分类,则二级分类为空。如果对应平阴二级分类,则取对应的一级分类
CustomerProjectCategoryDictEntity epmetCode = epmetCodeMap.get(code);
if (NumConstant.ONE == epmetCode.getLevel()) {
parentCode = code;
//如果项目为一级分类 则二级分类默认给第一个
epmetCode = epmetCodeMap.get(code.concat("01"));
if (epmetCode == null){
log.warn(" 分类下没有子分类,无法拼接2级分类 code:{}",code);
} else {
categoryCode = epmetCode.getCategoryCode();
}
} else {
categoryCode = code;
parentCode = epmetCode.getParentCategoryCode();
}
}
} else {
categoryCode = null;
parentCode = null;
@ -218,16 +251,18 @@ public class DataReportingServiceImpl implements DataReportingService {
if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) {
//如果是孔村的项目办结层级需要降一级
if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) {
switch (project.getFinishOrgLevel()) {
case OrgTypeConstant.DISTRICT:
dto.setCompleteLevel("04");
break;
case OrgTypeConstant.STREET:
case OrgTypeConstant.COMMUNITY:
dto.setCompleteLevel("06");
break;
default:
break;
if (StringUtils.isNotBlank(project.getFinishOrgLevel())) {
switch (project.getFinishOrgLevel()) {
case OrgTypeConstant.DISTRICT:
dto.setCompleteLevel("3");
break;
case OrgTypeConstant.STREET:
case OrgTypeConstant.COMMUNITY:
dto.setCompleteLevel("4");
break;
default:
break;
}
}
} else {
dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel()));
@ -237,10 +272,12 @@ public class DataReportingServiceImpl implements DataReportingService {
String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON);
int size = orgIds.length;
ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(orgIds[size - 1]);
dto.setCompleteLevel(getCompleteLevel(agency.getLevel()));
if (null != agency) {
dto.setCompleteLevel(getCompleteLevel(agency.getLevel()));
}
} else {
//办结组织是网格时,办结层级为网格
dto.setCompleteLevel("07");
dto.setCompleteLevel("5");
}
}
dto.setStatus(getProjectStatus(project.getProjectStatusCode()));
@ -253,15 +290,15 @@ public class DataReportingServiceImpl implements DataReportingService {
private String getCompleteLevel(String level) {
switch (level) {
case OrgTypeConstant.PROVINCE:
return "01";
return "0";
case OrgTypeConstant.CITY:
return "02";
return "1";
case OrgTypeConstant.DISTRICT:
return "03";
return "2";
case OrgTypeConstant.STREET:
return "04";
return "3";
case OrgTypeConstant.COMMUNITY:
return "06";
return "4";
default:
return null;
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimCustomerPartymemberServiceImpl.java

@ -173,6 +173,7 @@ public class DimCustomerPartymemberServiceImpl extends BaseServiceImpl<DimCustom
}
});
});
partyMemberList = partyMemberList.stream().filter(item -> StringUtils.isNotBlank(item.getAgencyId())).collect(Collectors.toList());
delAndInsertParty(partyMemberList,customerId,dateId);
});
});

10
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.14__cpc_subscore_add_samplecount.sql

@ -1,5 +1,5 @@
alter table fact_index_grid_sub_score add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;
alter table fact_index_community_sub_score
add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;
alter table fact_index_agency_sub_score
add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;
# alter table fact_index_grid_sub_score add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;
# alter table fact_index_community_sub_score
# add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;
# alter table fact_index_agency_sub_score
# add column SAMPLE_COUNT int(10) comment '参与统计的样本个数' after ORIGIN_VALUE;

94
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.14__groupact_analysis.sql

@ -1,47 +1,47 @@
-- epmet_data_statistical 库执行以下脚本
CREATE TABLE `fact_group_act_daily` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至日期Id:yyyyMMdd',
`ORG_ID` varchar(64) NOT NULL COMMENT '网格id',
`ORG_TYPE` varchar(10) NOT NULL COMMENT '网格:grid;组织:agency',
`PID` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pid=网格所属组织id;\r\n2)orgType=agency: pid=当前组织的上级组织',
`PIDS` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pids=网格所有上级组织,包括pid;\r\n2)orgType=agency: pids=当前组织的所有上级组织,包括pid.',
`CATEGORY_CODE` varchar(255) NOT NULL COMMENT '活动分类编码',
`PARENT_CODE` varchar(255) NOT NULL COMMENT '上级分类编码',
`LEVEL` int(11) NOT NULL COMMENT '分类等级',
`ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 组织次数;包含dateId这一天的数据',
`PARTICIPATE_USER_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 参加人数;包含dateId这一天的数据',
`AVG_PARTICIPATE_USER_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 平均参加人数;包含dateId这一天的数据',
`DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='组织活动(参加人数、组织次数、平均参加人数)按天累计值分析';
CREATE TABLE `fact_group_act_monthly` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`MONTH_ID` varchar(8) NOT NULL COMMENT '数据维度:yyyyMM',
`ORG_ID` varchar(64) NOT NULL COMMENT '网格id',
`ORG_TYPE` varchar(10) NOT NULL COMMENT '网格:grid;组织:agency',
`PID` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pid=网格所属组织id;\r\n2)orgType=agency: pid=当前组织的上级组织',
`PIDS` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pids=网格所有上级组织,包括pid;\r\n2)orgType=agency: pids=当前组织的所有上级组织,包括pid.',
`CATEGORY_CODE` varchar(255) NOT NULL COMMENT '活动分类编码',
`PARENT_CODE` varchar(255) NOT NULL COMMENT '上级分类编码',
`LEVEL` int(11) NOT NULL COMMENT '分类等级',
`ORGANIZE_INCR` int(11) NOT NULL COMMENT '本月内:活动组织次数',
`PARTICIPATE_USER__INCR` int(11) NOT NULL COMMENT '本月内:活动签到人数参加人数',
`AVG_PARTICIPATE_USER_INCR` int(11) NOT NULL COMMENT '本月内:平均参加人数',
`DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='专项组活动(参加人数、组织次数、平均参加人数)按月增量分析';
# -- epmet_data_statistical 库执行以下脚本
# CREATE TABLE `fact_group_act_daily` (
# `ID` varchar(64) NOT NULL COMMENT '主键',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
# `DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至日期Id:yyyyMMdd',
# `ORG_ID` varchar(64) NOT NULL COMMENT '网格id',
# `ORG_TYPE` varchar(10) NOT NULL COMMENT '网格:grid;组织:agency',
# `PID` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pid=网格所属组织id;\r\n2)orgType=agency: pid=当前组织的上级组织',
# `PIDS` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pids=网格所有上级组织,包括pid;\r\n2)orgType=agency: pids=当前组织的所有上级组织,包括pid.',
# `CATEGORY_CODE` varchar(255) NOT NULL COMMENT '活动分类编码',
# `PARENT_CODE` varchar(255) NOT NULL COMMENT '上级分类编码',
# `LEVEL` int(11) NOT NULL COMMENT '分类等级',
# `ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 组织次数;包含dateId这一天的数据',
# `PARTICIPATE_USER_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 参加人数;包含dateId这一天的数据',
# `AVG_PARTICIPATE_USER_TOTAL` int(11) NOT NULL COMMENT '截止到dateId: 平均参加人数;包含dateId这一天的数据',
# `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
# `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
# `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
# `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`) USING BTREE
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='组织活动(参加人数、组织次数、平均参加人数)按天累计值分析';
#
#
# CREATE TABLE `fact_group_act_monthly` (
# `ID` varchar(64) NOT NULL COMMENT '主键',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
# `MONTH_ID` varchar(8) NOT NULL COMMENT '数据维度:yyyyMM',
# `ORG_ID` varchar(64) NOT NULL COMMENT '网格id',
# `ORG_TYPE` varchar(10) NOT NULL COMMENT '网格:grid;组织:agency',
# `PID` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pid=网格所属组织id;\r\n2)orgType=agency: pid=当前组织的上级组织',
# `PIDS` varchar(255) DEFAULT NULL COMMENT '1)orgType=grid: pids=网格所有上级组织,包括pid;\r\n2)orgType=agency: pids=当前组织的所有上级组织,包括pid.',
# `CATEGORY_CODE` varchar(255) NOT NULL COMMENT '活动分类编码',
# `PARENT_CODE` varchar(255) NOT NULL COMMENT '上级分类编码',
# `LEVEL` int(11) NOT NULL COMMENT '分类等级',
# `ORGANIZE_INCR` int(11) NOT NULL COMMENT '本月内:活动组织次数',
# `PARTICIPATE_USER__INCR` int(11) NOT NULL COMMENT '本月内:活动签到人数参加人数',
# `AVG_PARTICIPATE_USER_INCR` int(11) NOT NULL COMMENT '本月内:平均参加人数',
# `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
# `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
# `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
# `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`) USING BTREE
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='专项组活动(参加人数、组织次数、平均参加人数)按月增量分析';

220
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.15__govern.sql

@ -1,110 +1,110 @@
-- epmet_data_statistical新增两张表,治理指数网格按天统计,治理指数按组织按天统计
CREATE TABLE `fact_agency_govern_daily` (
`ID` varchar(64) NOT NULL COMMENT '主键,customer_id+AGENCY_ID+date_id只有一条记录',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
`AGENCY_ID` varchar(64) NOT NULL COMMENT '组织id',
`LEVEL` varchar(30) NOT NULL COMMENT 'agency_id所属的机关级别(社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province)',
`PID` varchar(64) NOT NULL COMMENT '组织i所属的组织id',
`PIDS` varchar(255) NOT NULL COMMENT '组织i所有上级id',
`PROBLEM_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '界面展示:问题解决总数=1+2+3+4+5+6+7+8',
`GROUP_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数',
`GRID_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`COMMUNITY_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`STREET_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`DISTRICT_DEPT_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '1、当前组织内,话题关闭已解决数',
`TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '2、当前组织内,话题关闭无需解决数',
`ISSUE_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '3、当前组织内,议题关闭已解决数',
`ISSUE_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '4、当前组织内,议题关闭无需解决数',
`ISSUE_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '5、当前组织内:来源于议题的项目:结案已解决数',
`ISSUE_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '6、当前组织内:来源于议题的项目:结案无需解决数',
`APPROVAL_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '7、当前组织内:项目立项,结案已解决数;默认为0,',
`APPROVAL_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '8、当前组织内:项目立项,结案无需解决数;默认为0,',
`IN_GROUP_TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '9、当前组织内,未出小组即未转议题的:话题关闭已解决数',
`IN_GROUP_TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '10、当前组织内,未出小组即未转议题的:话题关闭无需解决数',
`GRID_SELF_GOVERN_PROJECT_TOTAL` int(11) NOT NULL DEFAULT '0' COMMENT '11、未出当前网格的,结案项目数',
`COMMUNITY_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由社区结案的项目总数',
`STREET_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由街道结案的项目总数',
`DISTRICT_DEPT_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由区直部门结案的项目总数',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='组织的治理指数,按天统计';
CREATE TABLE `fact_grid_govern_daily` (
`ID` varchar(64) NOT NULL COMMENT '主键,customer_id+grid_id+date_id只有一条记录',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
`GRID_ID` varchar(64) NOT NULL COMMENT '网格id',
`PID` varchar(64) NOT NULL COMMENT '网格所属的组织id',
`PIDS` varchar(255) NOT NULL COMMENT '网格所有上级id',
`PROBLEM_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '界面展示:问题解决总数=1+2+3+4+5+6+7+8',
`GROUP_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数',
`GRID_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`COMMUNITY_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`STREET_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`DISTRICT_DEPT_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
`TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '1、当前网格内,话题关闭已解决数',
`TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '2、当前网格内,话题关闭无需解决数',
`ISSUE_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '3、当前网格内,议题关闭已解决数',
`ISSUE_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '4、当前网格内,议题关闭无需解决数',
`ISSUE_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '5、当前网格内:来源于议题的项目:结案已解决数',
`ISSUE_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '6、当前网格内:来源于议题的项目:结案无需解决数',
`APPROVAL_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '7、当前网格内:项目立项,结案已解决数;默认为0,',
`APPROVAL_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '8、当前网格内:项目立项,结案无需解决数;默认为0,',
`IN_GROUP_TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '9、当前网格内,未出小组即未转议题的:话题关闭已解决数',
`IN_GROUP_TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '10、当前网格内,未出小组即未转议题的:话题关闭无需解决数',
`FROM_ISSUE_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '11、来源于议题的项目,未出网格结案并且已解决的项目数',
`FROM_ISSUE_UN_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '12、来源于议题的项目,未出网格结案并且无需解决的项目数',
`FROM_AGENCY_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '13、来源于项目立项的项目,未出网格结案,并且已解决的项目数;因现在网格不能立项,所以此列默认为0',
`FROM_AGENCY_UN_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '14、来源于项目立项的项目,未出网格结案,并且无需解决的项目数;因现在网格不能立项,所以此列默认为0',
`GRID_SELF_GOVERN_PROJECT_TOTAL` int(11) NOT NULL COMMENT '15、未出当前网格的,结案项目数=11+12+13+14',
`COMMUNITY_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数',
`STREET_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数',
`DISTRICT_DEPT_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由区直部门(已解决+未解决)结案的项目总数',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='网格的治理指数,按天统计';
# 小组成员添加是否是党员
ALTER TABLE `epmet_data_statistical`.`fact_origin_group_member_daily`
ADD COLUMN `IS_PARTY` tinyint(1) NULL DEFAULT 0 COMMENT '是否是党员' AFTER `ACTION_CODE`;
# 项目主表添加结案项目是否满意
ALTER TABLE `epmet_data_statistical`.`fact_origin_project_main_daily`
ADD COLUMN `IS_SATISFIED` tinyint(1) NULL COMMENT '是否满意 1:是' AFTER `IS_OVERDUE`;
# 添加治理能力按日统计表
CREATE TABLE `epmet_evaluation_index`.`screen_govern_rank_data_daily` (
`ID` varchar(64) NOT NULL COMMENT 'ID 主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`YEAR_ID` varchar(32) NOT NULL COMMENT '年Id',
`MONTH_ID` varchar(32) NOT NULL COMMENT '月份Id',
`DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd',
`ORG_TYPE` varchar(32) NOT NULL DEFAULT 'agency' COMMENT '组织类别 agency:组织;部门:department;网格:grid',
`ORG_ID` varchar(64) NOT NULL COMMENT '组织Id 可以为网格,机关id',
`PARENT_ID` varchar(64) NOT NULL COMMENT '上级组织Id',
`ORG_NAME` varchar(32) NOT NULL COMMENT '组织名称',
`RESPONSE_RATIO` decimal(10,6) DEFAULT NULL COMMENT '响应率',
`RESOLVED_RATIO` decimal(10,6) DEFAULT NULL COMMENT '解决率',
`GOVERN_RATIO` decimal(10,6) DEFAULT NULL COMMENT '自治率',
`SATISFACTION_RATIO` decimal(10,6) DEFAULT NULL COMMENT '满意率',
`DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='基层治理-治理能力排行数据(按日统计)';
# -- epmet_data_statistical新增两张表,治理指数网格按天统计,治理指数按组织按天统计
#
# CREATE TABLE `fact_agency_govern_daily` (
# `ID` varchar(64) NOT NULL COMMENT '主键,customer_id+AGENCY_ID+date_id只有一条记录',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
# `DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
# `AGENCY_ID` varchar(64) NOT NULL COMMENT '组织id',
# `LEVEL` varchar(30) NOT NULL COMMENT 'agency_id所属的机关级别(社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province)',
# `PID` varchar(64) NOT NULL COMMENT '组织i所属的组织id',
# `PIDS` varchar(255) NOT NULL COMMENT '组织i所有上级id',
# `PROBLEM_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '界面展示:问题解决总数=1+2+3+4+5+6+7+8',
# `GROUP_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数',
# `GRID_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `COMMUNITY_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `STREET_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `DISTRICT_DEPT_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '1、当前组织内,话题关闭已解决数',
# `TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '2、当前组织内,话题关闭无需解决数',
# `ISSUE_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '3、当前组织内,议题关闭已解决数',
# `ISSUE_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '4、当前组织内,议题关闭无需解决数',
# `ISSUE_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '5、当前组织内:来源于议题的项目:结案已解决数',
# `ISSUE_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '6、当前组织内:来源于议题的项目:结案无需解决数',
# `APPROVAL_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '7、当前组织内:项目立项,结案已解决数;默认为0,',
# `APPROVAL_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '8、当前组织内:项目立项,结案无需解决数;默认为0,',
# `IN_GROUP_TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '9、当前组织内,未出小组即未转议题的:话题关闭已解决数',
# `IN_GROUP_TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '10、当前组织内,未出小组即未转议题的:话题关闭无需解决数',
# `GRID_SELF_GOVERN_PROJECT_TOTAL` int(11) NOT NULL DEFAULT '0' COMMENT '11、未出当前网格的,结案项目数',
# `COMMUNITY_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由社区结案的项目总数',
# `STREET_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由街道结案的项目总数',
# `DISTRICT_DEPT_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前组织内结案的项目中:由区直部门结案的项目总数',
# `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
# `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
# `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
# `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`) USING BTREE
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='组织的治理指数,按天统计';
#
# CREATE TABLE `fact_grid_govern_daily` (
# `ID` varchar(64) NOT NULL COMMENT '主键,customer_id+grid_id+date_id只有一条记录',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
# `DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
# `GRID_ID` varchar(64) NOT NULL COMMENT '网格id',
# `PID` varchar(64) NOT NULL COMMENT '网格所属的组织id',
# `PIDS` varchar(255) NOT NULL COMMENT '网格所有上级id',
# `PROBLEM_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '界面展示:问题解决总数=1+2+3+4+5+6+7+8',
# `GROUP_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数',
# `GRID_SELF_GOVERN_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `COMMUNITY_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `STREET_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `DISTRICT_DEPT_CLOSED_RATIO` decimal(10,6) NOT NULL COMMENT '界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数',
# `TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '1、当前网格内,话题关闭已解决数',
# `TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '2、当前网格内,话题关闭无需解决数',
# `ISSUE_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '3、当前网格内,议题关闭已解决数',
# `ISSUE_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '4、当前网格内,议题关闭无需解决数',
# `ISSUE_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '5、当前网格内:来源于议题的项目:结案已解决数',
# `ISSUE_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '6、当前网格内:来源于议题的项目:结案无需解决数',
# `APPROVAL_PROJECT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '7、当前网格内:项目立项,结案已解决数;默认为0,',
# `APPROVAL_PROJECT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '8、当前网格内:项目立项,结案无需解决数;默认为0,',
# `IN_GROUP_TOPIC_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '9、当前网格内,未出小组即未转议题的:话题关闭已解决数',
# `IN_GROUP_TOPIC_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '10、当前网格内,未出小组即未转议题的:话题关闭无需解决数',
# `FROM_ISSUE_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '11、来源于议题的项目,未出网格结案并且已解决的项目数',
# `FROM_ISSUE_UN_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '12、来源于议题的项目,未出网格结案并且无需解决的项目数',
# `FROM_AGENCY_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '13、来源于项目立项的项目,未出网格结案,并且已解决的项目数;因现在网格不能立项,所以此列默认为0',
# `FROM_AGENCY_UN_RESOLVED_IN_GRID_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '14、来源于项目立项的项目,未出网格结案,并且无需解决的项目数;因现在网格不能立项,所以此列默认为0',
# `GRID_SELF_GOVERN_PROJECT_TOTAL` int(11) NOT NULL COMMENT '15、未出当前网格的,结案项目数=11+12+13+14',
# `COMMUNITY_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数',
# `STREET_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数',
# `DISTRICT_DEPT_CLOSED_COUNT` int(11) NOT NULL DEFAULT '0' COMMENT '当前网格内出来的项目:由区直部门(已解决+未解决)结案的项目总数',
# `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
# `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
# `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
# `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`) USING BTREE
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='网格的治理指数,按天统计';
#
# # 小组成员添加是否是党员
# ALTER TABLE `epmet_data_statistical`.`fact_origin_group_member_daily`
# ADD COLUMN `IS_PARTY` tinyint(1) NULL DEFAULT 0 COMMENT '是否是党员' AFTER `ACTION_CODE`;
#
# # 项目主表添加结案项目是否满意
# ALTER TABLE `epmet_data_statistical`.`fact_origin_project_main_daily`
# ADD COLUMN `IS_SATISFIED` tinyint(1) NULL COMMENT '是否满意 1:是' AFTER `IS_OVERDUE`;
#
# # 添加治理能力按日统计表
# CREATE TABLE `epmet_evaluation_index`.`screen_govern_rank_data_daily` (
# `ID` varchar(64) NOT NULL COMMENT 'ID 主键',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
# `YEAR_ID` varchar(32) NOT NULL COMMENT '年Id',
# `MONTH_ID` varchar(32) NOT NULL COMMENT '月份Id',
# `DATE_ID` varchar(8) NOT NULL COMMENT '数据更新至:yyyyMMdd',
# `ORG_TYPE` varchar(32) NOT NULL DEFAULT 'agency' COMMENT '组织类别 agency:组织;部门:department;网格:grid',
# `ORG_ID` varchar(64) NOT NULL COMMENT '组织Id 可以为网格,机关id',
# `PARENT_ID` varchar(64) NOT NULL COMMENT '上级组织Id',
# `ORG_NAME` varchar(32) NOT NULL COMMENT '组织名称',
# `RESPONSE_RATIO` decimal(10,6) DEFAULT NULL COMMENT '响应率',
# `RESOLVED_RATIO` decimal(10,6) DEFAULT NULL COMMENT '解决率',
# `GOVERN_RATIO` decimal(10,6) DEFAULT NULL COMMENT '自治率',
# `SATISFACTION_RATIO` decimal(10,6) DEFAULT NULL COMMENT '满意率',
# `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除;1已删除',
# `REVISION` int(11) NOT NULL COMMENT '乐观锁',
# `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
# `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`)
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='基层治理-治理能力排行数据(按日统计)';

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.16__add_shiftIssue.sql

@ -1 +1 @@
ALTER TABLE `fact_origin_topic_main_daily` ADD `SHIFT_ISSUE` tinyint(1) NOT NULL default '0' COMMENT '是否转为议题,0:false,1:true' AFTER `CREATE_TOPIC_USER_IS_PARTY`;
# ALTER TABLE `fact_origin_topic_main_daily` ADD `SHIFT_ISSUE` tinyint(1) NOT NULL default '0' COMMENT '是否转为议题,0:false,1:true' AFTER `CREATE_TOPIC_USER_IS_PARTY`;

226
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.17__inxdex_explain.sql

@ -1,113 +1,113 @@
CREATE TABLE `index_explain` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`TITLE` varchar(32) NOT NULL COMMENT '名称',
`INDEX_CODE` varchar(256) NOT NULL COMMENT '指标code',
`MEANING` varchar(256) NOT NULL COMMENT '含义',
`ORG_LEVEL` varchar(16) NOT NULL COMMENT '组织级别(网格级:grid;社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province)',
`PID` varchar(16) NOT NULL COMMENT '父ID',
`SORT` int(11) NOT NULL COMMENT '排序',
`IS_SEARCH` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否需要查询;1有;0:无;',
`TYPE` varchar(16) NOT NULL DEFAULT 'none' COMMENT '数据类型:none;本级:self;下级:sub',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL DEFAULT 'app_user' COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指标说明文案';
#插入指标结束
BEGIN;
INSERT INTO `index_explain` VALUES ('1', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'grid', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('10', 'default', '1/2下级党建指数得分', 'shequxiangguan:dangjiannengli', '下级党建指数得分=下级所有网格党建指数的平均值*相关权重', 'community', '8', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('11', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'community', '0', 4, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('12', 'default', '2/1本级治理指数得分', 'shequxiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'community', '11', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('13', 'default', '2/2下级治理指数得分', 'shequxiangguan:zhilinengli', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'community', '11', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('14', 'default', '服务指数', '', '含义:自然月周期内,服务指数得分=本级服务指数得分+下级服务指数得分', 'community', '0', 3, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('15', 'default', '3/1本级服务指数得分', 'shequxiangguan:fuwunengli', '本级服务指数得分=社区活动组织次数得分*相关权重', 'community', '14', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('16', 'default', '3/2下级服务指数得分', 'shequxiangguan:fuwunengli', '下级服务指数得分=社区下级所有网格服务指数得分(平均值)*相关权重', 'community', '14', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('17', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'street', '0', 5, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('18', 'default', '1/1本级党建指数得分', 'jiedaoxiangguan:dangjiannengli', '本级党建指数得分=社区名义发文数量得分*相关权重', 'street', '17', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('19', 'default', '1/2下级党建指数得分', 'jiedaoxiangguan:dangjiannengli', '下级党建指数得分=下级所有网格党建指数的平均值*相关权重', 'street', '17', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('2', 'default', '1/1本级党建指数得分', 'wanggexiangguan:dangjiannengli', '本级党建指数得分=网格各项党建指数指标数据得分*相关权重之和', 'grid', '1', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('20', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'street', '0', 6, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('21', 'default', '2/1本级治理指数得分', 'jiedaoxiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'street', '20', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('22', 'default', '2/2下级治理指数得分', 'jiedaoxiangguan:zhilinengli', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'street', '20', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('23', 'default', '服务指数', '', '含义:自然月周期内,服务指数得分=本级服务指数得分+下级服务指数得分', 'street', '0', 7, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('24', 'default', '3/1本级服务指数得分', 'jiedaoxiangguan:fuwunengli', '本级服务指数得分=社区活动组织次数得分*相关权重', 'street', '23', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('25', 'default', '3/2下级服务指数得分', 'jiedaoxiangguan:fuwunengli', '下级服务指数得分=社区下级所有网格服务指数得分(平均值)*相关权重', 'street', '23', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('26', 'default', '党建指数', '', '含义:自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'district', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('27', 'default', '1/1本级党建指数得分', 'quanquxiangguan:dangjiannengli', '本级党建指数得分=区名义发文数量得分*相关权重', 'district', '26', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('28', 'default', '1/2下级党建指数得分', 'quanquxiangguan:dangjiannengli', '下级党建指数得分=区下级街道党建指数汇总(平均值)*相关权重', 'district', '26', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('29', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=所有街道治理指数(平均值)*相关权重(d%)+所有直属部门治理指数(平均值)*相关权重(d%)', 'district', '0', 2, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('3', 'default', '1/2下级党建指数得分', 'dangyuanxiangguan:lianxiqunzhong', '下级党建指数得分=组织内党员的联系群众指数考评分(平均值)*相关权重', 'grid', '1', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('30', 'default', '2/1所有街道治理指数(平均值)', 'quanquxiangguan:zhilinengli', '所有街道治理指数(平均值)得分=区下级所有街道治理指数得分总和/街道总数', 'district', '29', 1, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('31', 'default', '2/2所有直属部门治理指数(平均值)', 'quzhibumen:zhilinengli', '所有指数部门治理指数(平均值)得分=区直部门各项治理指数指标数据平均分*相关权重之和', 'district', '29', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('32', 'default', '服务指数', 'quanquxiangguan:fuwunengli', '含义:自然月周期内,服务指数得分=区下属街道服务指数汇总(平均值)=区下属所有街道服务指数得分之和/街道总数', 'district', '0', 3, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('4', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'grid', '0', 2, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('5', 'default', '2/1本级治理指数得分', 'wanggexiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'grid', '4', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('6', 'default', '2/2下级治理指数得分', 'dangyuanxiangguan:canyuyishi', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'grid', '4', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('7', 'default', '服务指数', 'wanggexiangguan:fuwunengli', '含义:自然月周期内,服务指数得分=活动组织次数得分*相关权重+志愿者占比得分*相关权重+党员志愿者率得分*相关权重', 'grid', '0', 3, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('8', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'community', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
INSERT INTO `index_explain` VALUES ('9', 'default', '1/1本级党建指数得分', 'shequxiangguan:dangjiannengli', '本级党建指数得分=社区名义发文数量得分*相关权重', 'community', '8', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
COMMIT;
#更新含义
update index_dict SET INDEX_DESC='自然月周期内,网格内注册群众用户数。' WHERE INDEX_CODE = 'wanggequnzhongyhs';
update index_dict SET INDEX_DESC='自然月周期内,网格内注册党员用户数。' WHERE INDEX_CODE = 'wanggedangyuanyhs';
update index_dict SET INDEX_DESC='自然月周期内,参与话题、事件评论、点赞、点踩总次数大于给定阈值的群众用户。' WHERE INDEX_CODE = 'wanggehuoyueqzyhs';
update index_dict SET INDEX_DESC='自然月周期内,参与话题、事件评论、点赞、点踩总次数大于给定阈值的党员用户。' WHERE INDEX_CODE = 'wanggehuoyuedyyhs';
update index_dict SET INDEX_DESC='自然月周期内,网格内党员提出的总话题数与党员人数之比。' WHERE INDEX_CODE = 'wanggedangyuanrjtchts';
update index_dict SET INDEX_DESC='自然月周期内,网格内群众提出的总话题数与群众人数之比。' WHERE INDEX_CODE = 'wanggequnzhongrjtchts';
update index_dict SET INDEX_DESC='自然月周期内,网格内所有党员提出的议题转为项目的数目与党员人数之比。' WHERE INDEX_CODE = 'wanggedangyuanrjtcdytzxms';
update index_dict SET INDEX_DESC='自然月周期内,网格内所有群众提出的议题转为项目的数目与群众人数之比。' WHERE INDEX_CODE = 'wanggequnzhongrjtcdytzxms';
update index_dict SET INDEX_DESC='自然月周期内,党员自建群(群主)数量。' WHERE INDEX_CODE = 'jianqundangyuans';
update index_dict SET INDEX_DESC='自然月周期内,党员自建群群众人数乘相关权重、党员自建群活跃群众人数乘相关权重、党员自建群活跃度-话题数乘相关权重与自建群活跃度-议题转项目率乘相关权重之和' WHERE INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
update index_dict SET INDEX_DESC='自然月周期内,网格内所有发文数量' WHERE INDEX_CODE = 'wanggedifawsl';
update index_dict SET INDEX_DESC='自然月周期内,已转项目议题数与近两个自然月内议题总数之比' WHERE INDEX_CODE = 'wanggeyitizxml';
update index_dict SET INDEX_DESC='自然月周期内,本网格内注册党员活动签到次数。' WHERE INDEX_CODE = 'dangyuancanjiashykrc';
update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格党建指数得分之和与网格总数之比' WHERE INDEX_CODE = 'xiashusuoyouwgddjnlpjz';
update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区党建指数得分之和与网格总数之比' WHERE INDEX_CODE = 'jiedaoxiashusysqdjnlhzpjz';
update index_dict SET INDEX_DESC='自然月周期内,街道内所有发文数量' WHERE INDEX_CODE = 'jiedaomingyifwsl';
update index_dict SET INDEX_DESC='自然月周期内,区下级所有街道党建指数得分之和与街道总数之比' WHERE INDEX_CODE = 'quxiajijieddjnlhzpjz';
update index_dict SET INDEX_DESC='自然月周期内,区内所有发文数量' WHERE INDEX_CODE = 'qumingyifawsl';
update index_dict SET INDEX_DESC='自然月周期内,党员提出话题数乘相关权重、党员参与话题数乘相关权重、党员提出的话题转议题数乘相关权重与党员提出的议题转项目数乘相关权重之和' WHERE INDEX_CODE = 'zuzhineidangydcyysnlkpfpjz';
update index_dict SET INDEX_DESC='自然月周期内,网格内成员提出议题的总数量' WHERE INDEX_CODE = 'wanggezongyitsm';
update index_dict SET INDEX_DESC='自然月周期内,新增议题数与发布议题人数去重之比' WHERE INDEX_CODE = 'wanggerenjunytsm';
update index_dict SET INDEX_DESC='自然月周期内,议题转化的项目数' WHERE INDEX_CODE = 'wanggezongxiangms';
update index_dict SET INDEX_DESC='自然月周期内,从议题创建到项目关闭,包括处理人,没有出过议题所属网格的项目数。' WHERE INDEX_CODE = 'wanggezizhixms';
update index_dict SET INDEX_DESC='自然月周期内,办结的项目数' WHERE INDEX_CODE = 'wanggebanjiexms';
update index_dict SET INDEX_DESC='自然月周期内,未被退回的项目数与项目总数之比' WHERE INDEX_CODE = 'wanggechuishaobmzql';
update index_dict SET INDEX_DESC='自然月周期内,网格内自治办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'wanggeneijiejdxmdmyd';
update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格治理指数得分之和与网格总数之比' WHERE INDEX_CODE = 'shequxiashusywgzlnlhzpjz';
update index_dict SET INDEX_DESC='自然月周期内,社区被吹哨的次数' WHERE INDEX_CODE = 'shequbeichuiscs';
update index_dict SET INDEX_DESC='自然月周期内,社区办结项目数目' WHERE INDEX_CODE = 'shequbanjiexms';
update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'shequxiangmuxyd';
update index_dict SET INDEX_DESC='自然月周期内,超期项目数与结案项目数之比' WHERE INDEX_CODE = 'shequchaoqixml';
update index_dict SET INDEX_DESC='自然月周期内,社区办结项目数目' WHERE INDEX_CODE = 'shequbanjiexml';
update index_dict SET INDEX_DESC='自然月周期内,社区级办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'shequbanjiexmmyd';
update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区治理指数得分之和与社区总数之比' WHERE INDEX_CODE = 'jiedaoxiashusysqzlnlhz';
update index_dict SET INDEX_DESC='自然月周期内,街道被吹哨的次数' WHERE INDEX_CODE = 'jiedaobeichuiscs';
update index_dict SET INDEX_DESC='自然月周期内,街道办结项目数目' WHERE INDEX_CODE = 'jiedaobanjiexms';
update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'jiedaoxiangmuxyd';
update index_dict SET INDEX_DESC='自然月周期内,办结项目的平均处理时长的倒数' WHERE INDEX_CODE = 'jiedaobanjiexmdclxl';
update index_dict SET INDEX_DESC='自然月周期内,街道级办结项目数目与街道级尚未办结的项目数的比例' WHERE INDEX_CODE = 'jiedaoxiangmubjl';
update index_dict SET INDEX_DESC='自然月周期内,街道级办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'jiedaojixiangmmyd';
update index_dict SET INDEX_DESC='自然月周期内,区直部门被吹哨的次数' WHERE INDEX_CODE = 'quzhibumenbcscs';
update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目数目' WHERE INDEX_CODE = 'quzhibumenbjxms';
update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'quzhibumenxmxyd';
update index_dict SET INDEX_DESC='自然月周期内,办结项目的平均处理时长的倒数' WHERE INDEX_CODE = 'quzhibumenbjxmdclxl';
update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目数目与区直部门尚未办结的项目数的比例' WHERE INDEX_CODE = 'quzhibumenxmbjl';
update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'quzhibumenxmmyd';
update index_dict SET INDEX_DESC='所有指数部门治理指数(平均值)得分=区直部门各项治理指数指标数据平均分*相关权重之和' WHERE INDEX_CODE = 'suoyouzhishubmzlnlpjz';
update index_dict SET INDEX_DESC='自然月周期内,网格内爱心活动组织次数。' WHERE INDEX_CODE = 'wanggehuodongzzcs';
update index_dict SET INDEX_DESC='自然月周期内,志愿者内党员数与志愿者总数之比' WHERE INDEX_CODE = 'wanggezhiyuanzzb';
update index_dict SET INDEX_DESC='自然月周期内,网格内党员志愿者总数与网格党员总人数之比。' WHERE INDEX_CODE = 'wanggedangyuanzyzl';
update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格服务指数得分之和与网格总数之比' WHERE INDEX_CODE = 'shequxiajisywgfwnldfpjz';
update index_dict SET INDEX_DESC='自然月周期内,社区内爱心活动组织次数。' WHERE INDEX_CODE = 'shequhuodongzzcs';
update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区服务指数得分之和与社区总数之比' WHERE INDEX_CODE = 'jiedaoxiashusqfwnldfpjz';
update index_dict SET INDEX_DESC='自然月周期内,街道内爱心活动组织次数。' WHERE INDEX_CODE = 'jiedaohuodongzzcs';
update index_dict SET INDEX_DESC='自然月周期内,区下级所有街道服务指数得分之和与街道总数之比' WHERE INDEX_CODE = 'quxiashujiedfwnlhzpjz';
# CREATE TABLE `index_explain` (
# `ID` varchar(64) NOT NULL COMMENT '主键',
# `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
# `TITLE` varchar(32) NOT NULL COMMENT '名称',
# `INDEX_CODE` varchar(256) NOT NULL COMMENT '指标code',
# `MEANING` varchar(256) NOT NULL COMMENT '含义',
# `ORG_LEVEL` varchar(16) NOT NULL COMMENT '组织级别(网格级:grid;社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province)',
# `PID` varchar(16) NOT NULL COMMENT '父ID',
# `SORT` int(11) NOT NULL COMMENT '排序',
# `IS_SEARCH` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否需要查询;1有;0:无;',
# `TYPE` varchar(16) NOT NULL DEFAULT 'none' COMMENT '数据类型:none;本级:self;下级:sub',
# `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标记 0:未删除,1:已删除',
# `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁',
# `CREATED_BY` varchar(32) NOT NULL DEFAULT 'app_user' COMMENT '创建人',
# `CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
# `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
# `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
# PRIMARY KEY (`ID`) USING BTREE
# ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指标说明文案';
#
# #插入指标结束
# BEGIN;
# INSERT INTO `index_explain` VALUES ('1', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'grid', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('10', 'default', '1/2下级党建指数得分', 'shequxiangguan:dangjiannengli', '下级党建指数得分=下级所有网格党建指数的平均值*相关权重', 'community', '8', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('11', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'community', '0', 4, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('12', 'default', '2/1本级治理指数得分', 'shequxiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'community', '11', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('13', 'default', '2/2下级治理指数得分', 'shequxiangguan:zhilinengli', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'community', '11', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('14', 'default', '服务指数', '', '含义:自然月周期内,服务指数得分=本级服务指数得分+下级服务指数得分', 'community', '0', 3, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('15', 'default', '3/1本级服务指数得分', 'shequxiangguan:fuwunengli', '本级服务指数得分=社区活动组织次数得分*相关权重', 'community', '14', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('16', 'default', '3/2下级服务指数得分', 'shequxiangguan:fuwunengli', '下级服务指数得分=社区下级所有网格服务指数得分(平均值)*相关权重', 'community', '14', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('17', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'street', '0', 5, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('18', 'default', '1/1本级党建指数得分', 'jiedaoxiangguan:dangjiannengli', '本级党建指数得分=社区名义发文数量得分*相关权重', 'street', '17', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('19', 'default', '1/2下级党建指数得分', 'jiedaoxiangguan:dangjiannengli', '下级党建指数得分=下级所有网格党建指数的平均值*相关权重', 'street', '17', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('2', 'default', '1/1本级党建指数得分', 'wanggexiangguan:dangjiannengli', '本级党建指数得分=网格各项党建指数指标数据得分*相关权重之和', 'grid', '1', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('20', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'street', '0', 6, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('21', 'default', '2/1本级治理指数得分', 'jiedaoxiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'street', '20', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('22', 'default', '2/2下级治理指数得分', 'jiedaoxiangguan:zhilinengli', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'street', '20', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('23', 'default', '服务指数', '', '含义:自然月周期内,服务指数得分=本级服务指数得分+下级服务指数得分', 'street', '0', 7, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('24', 'default', '3/1本级服务指数得分', 'jiedaoxiangguan:fuwunengli', '本级服务指数得分=社区活动组织次数得分*相关权重', 'street', '23', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('25', 'default', '3/2下级服务指数得分', 'jiedaoxiangguan:fuwunengli', '下级服务指数得分=社区下级所有网格服务指数得分(平均值)*相关权重', 'street', '23', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('26', 'default', '党建指数', '', '含义:自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'district', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('27', 'default', '1/1本级党建指数得分', 'quanquxiangguan:dangjiannengli', '本级党建指数得分=区名义发文数量得分*相关权重', 'district', '26', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('28', 'default', '1/2下级党建指数得分', 'quanquxiangguan:dangjiannengli', '下级党建指数得分=区下级街道党建指数汇总(平均值)*相关权重', 'district', '26', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('29', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=所有街道治理指数(平均值)*相关权重(d%)+所有直属部门治理指数(平均值)*相关权重(d%)', 'district', '0', 2, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('3', 'default', '1/2下级党建指数得分', 'dangyuanxiangguan:lianxiqunzhong', '下级党建指数得分=组织内党员的联系群众指数考评分(平均值)*相关权重', 'grid', '1', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('30', 'default', '2/1所有街道治理指数(平均值)', 'quanquxiangguan:zhilinengli', '所有街道治理指数(平均值)得分=区下级所有街道治理指数得分总和/街道总数', 'district', '29', 1, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('31', 'default', '2/2所有直属部门治理指数(平均值)', 'quzhibumen:zhilinengli', '所有指数部门治理指数(平均值)得分=区直部门各项治理指数指标数据平均分*相关权重之和', 'district', '29', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('32', 'default', '服务指数', 'quanquxiangguan:fuwunengli', '含义:自然月周期内,服务指数得分=区下属街道服务指数汇总(平均值)=区下属所有街道服务指数得分之和/街道总数', 'district', '0', 3, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('4', 'default', '治理指数', '', '含义:自然月周期内,治理指数得分=本级治理指数得分+下级治理指数得分', 'grid', '0', 2, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('5', 'default', '2/1本级治理指数得分', 'wanggexiangguan:zhilinengli', '本级治理指数得分=网格各项治理指数指标数据得分*相关权重之和', 'grid', '4', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('6', 'default', '2/2下级治理指数得分', 'dangyuanxiangguan:canyuyishi', '下级治理指数得分=组织内党员的参与议事指数考评分(平均值)*相关权重', 'grid', '4', 2, 1, 'xiaji', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('7', 'default', '服务指数', 'wanggexiangguan:fuwunengli', '含义:自然月周期内,服务指数得分=活动组织次数得分*相关权重+志愿者占比得分*相关权重+党员志愿者率得分*相关权重', 'grid', '0', 3, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('8', 'default', '党建指数', '', '自然月周期内,党建指数得分=本级党建指数得分+下级党建指数得分', 'community', '0', 1, 0, 'none', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# INSERT INTO `index_explain` VALUES ('9', 'default', '1/1本级党建指数得分', 'shequxiangguan:dangjiannengli', '本级党建指数得分=社区名义发文数量得分*相关权重', 'community', '8', 1, 1, 'zishen', '0', 0, 'app_user', '2021-05-12 14:25:14', 'app_user', '2021-05-12 14:25:16');
# COMMIT;
#
# #更新含义
# update index_dict SET INDEX_DESC='自然月周期内,网格内注册群众用户数。' WHERE INDEX_CODE = 'wanggequnzhongyhs';
# update index_dict SET INDEX_DESC='自然月周期内,网格内注册党员用户数。' WHERE INDEX_CODE = 'wanggedangyuanyhs';
# update index_dict SET INDEX_DESC='自然月周期内,参与话题、事件评论、点赞、点踩总次数大于给定阈值的群众用户。' WHERE INDEX_CODE = 'wanggehuoyueqzyhs';
# update index_dict SET INDEX_DESC='自然月周期内,参与话题、事件评论、点赞、点踩总次数大于给定阈值的党员用户。' WHERE INDEX_CODE = 'wanggehuoyuedyyhs';
# update index_dict SET INDEX_DESC='自然月周期内,网格内党员提出的总话题数与党员人数之比。' WHERE INDEX_CODE = 'wanggedangyuanrjtchts';
# update index_dict SET INDEX_DESC='自然月周期内,网格内群众提出的总话题数与群众人数之比。' WHERE INDEX_CODE = 'wanggequnzhongrjtchts';
# update index_dict SET INDEX_DESC='自然月周期内,网格内所有党员提出的议题转为项目的数目与党员人数之比。' WHERE INDEX_CODE = 'wanggedangyuanrjtcdytzxms';
# update index_dict SET INDEX_DESC='自然月周期内,网格内所有群众提出的议题转为项目的数目与群众人数之比。' WHERE INDEX_CODE = 'wanggequnzhongrjtcdytzxms';
# update index_dict SET INDEX_DESC='自然月周期内,党员自建群(群主)数量。' WHERE INDEX_CODE = 'jianqundangyuans';
# update index_dict SET INDEX_DESC='自然月周期内,党员自建群群众人数乘相关权重、党员自建群活跃群众人数乘相关权重、党员自建群活跃度-话题数乘相关权重与自建群活跃度-议题转项目率乘相关权重之和' WHERE INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
# update index_dict SET INDEX_DESC='自然月周期内,网格内所有发文数量' WHERE INDEX_CODE = 'wanggedifawsl';
# update index_dict SET INDEX_DESC='自然月周期内,已转项目议题数与近两个自然月内议题总数之比' WHERE INDEX_CODE = 'wanggeyitizxml';
# update index_dict SET INDEX_DESC='自然月周期内,本网格内注册党员活动签到次数。' WHERE INDEX_CODE = 'dangyuancanjiashykrc';
# update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格党建指数得分之和与网格总数之比' WHERE INDEX_CODE = 'xiashusuoyouwgddjnlpjz';
# update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区党建指数得分之和与网格总数之比' WHERE INDEX_CODE = 'jiedaoxiashusysqdjnlhzpjz';
# update index_dict SET INDEX_DESC='自然月周期内,街道内所有发文数量' WHERE INDEX_CODE = 'jiedaomingyifwsl';
# update index_dict SET INDEX_DESC='自然月周期内,区下级所有街道党建指数得分之和与街道总数之比' WHERE INDEX_CODE = 'quxiajijieddjnlhzpjz';
# update index_dict SET INDEX_DESC='自然月周期内,区内所有发文数量' WHERE INDEX_CODE = 'qumingyifawsl';
# update index_dict SET INDEX_DESC='自然月周期内,党员提出话题数乘相关权重、党员参与话题数乘相关权重、党员提出的话题转议题数乘相关权重与党员提出的议题转项目数乘相关权重之和' WHERE INDEX_CODE = 'zuzhineidangydcyysnlkpfpjz';
# update index_dict SET INDEX_DESC='自然月周期内,网格内成员提出议题的总数量' WHERE INDEX_CODE = 'wanggezongyitsm';
# update index_dict SET INDEX_DESC='自然月周期内,新增议题数与发布议题人数去重之比' WHERE INDEX_CODE = 'wanggerenjunytsm';
# update index_dict SET INDEX_DESC='自然月周期内,议题转化的项目数' WHERE INDEX_CODE = 'wanggezongxiangms';
# update index_dict SET INDEX_DESC='自然月周期内,从议题创建到项目关闭,包括处理人,没有出过议题所属网格的项目数。' WHERE INDEX_CODE = 'wanggezizhixms';
# update index_dict SET INDEX_DESC='自然月周期内,办结的项目数' WHERE INDEX_CODE = 'wanggebanjiexms';
# update index_dict SET INDEX_DESC='自然月周期内,未被退回的项目数与项目总数之比' WHERE INDEX_CODE = 'wanggechuishaobmzql';
# update index_dict SET INDEX_DESC='自然月周期内,网格内自治办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'wanggeneijiejdxmdmyd';
# update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格治理指数得分之和与网格总数之比' WHERE INDEX_CODE = 'shequxiashusywgzlnlhzpjz';
# update index_dict SET INDEX_DESC='自然月周期内,社区被吹哨的次数' WHERE INDEX_CODE = 'shequbeichuiscs';
# update index_dict SET INDEX_DESC='自然月周期内,社区办结项目数目' WHERE INDEX_CODE = 'shequbanjiexms';
# update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'shequxiangmuxyd';
# update index_dict SET INDEX_DESC='自然月周期内,超期项目数与结案项目数之比' WHERE INDEX_CODE = 'shequchaoqixml';
# update index_dict SET INDEX_DESC='自然月周期内,社区办结项目数目' WHERE INDEX_CODE = 'shequbanjiexml';
# update index_dict SET INDEX_DESC='自然月周期内,社区级办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'shequbanjiexmmyd';
# update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区治理指数得分之和与社区总数之比' WHERE INDEX_CODE = 'jiedaoxiashusysqzlnlhz';
# update index_dict SET INDEX_DESC='自然月周期内,街道被吹哨的次数' WHERE INDEX_CODE = 'jiedaobeichuiscs';
# update index_dict SET INDEX_DESC='自然月周期内,街道办结项目数目' WHERE INDEX_CODE = 'jiedaobanjiexms';
# update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'jiedaoxiangmuxyd';
# update index_dict SET INDEX_DESC='自然月周期内,办结项目的平均处理时长的倒数' WHERE INDEX_CODE = 'jiedaobanjiexmdclxl';
# update index_dict SET INDEX_DESC='自然月周期内,街道级办结项目数目与街道级尚未办结的项目数的比例' WHERE INDEX_CODE = 'jiedaoxiangmubjl';
# update index_dict SET INDEX_DESC='自然月周期内,街道级办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'jiedaojixiangmmyd';
# update index_dict SET INDEX_DESC='自然月周期内,区直部门被吹哨的次数' WHERE INDEX_CODE = 'quzhibumenbcscs';
# update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目数目' WHERE INDEX_CODE = 'quzhibumenbjxms';
# update index_dict SET INDEX_DESC='自然月周期内,项目受理时长(分钟)与项目数之比' WHERE INDEX_CODE = 'quzhibumenxmxyd';
# update index_dict SET INDEX_DESC='自然月周期内,办结项目的平均处理时长的倒数' WHERE INDEX_CODE = 'quzhibumenbjxmdclxl';
# update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目数目与区直部门尚未办结的项目数的比例' WHERE INDEX_CODE = 'quzhibumenxmbjl';
# update index_dict SET INDEX_DESC='自然月周期内,区直部门办结项目的满意度评价的平均分(非常满意100,满意80,一般60)' WHERE INDEX_CODE = 'quzhibumenxmmyd';
# update index_dict SET INDEX_DESC='所有指数部门治理指数(平均值)得分=区直部门各项治理指数指标数据平均分*相关权重之和' WHERE INDEX_CODE = 'suoyouzhishubmzlnlpjz';
# update index_dict SET INDEX_DESC='自然月周期内,网格内爱心活动组织次数。' WHERE INDEX_CODE = 'wanggehuodongzzcs';
# update index_dict SET INDEX_DESC='自然月周期内,志愿者内党员数与志愿者总数之比' WHERE INDEX_CODE = 'wanggezhiyuanzzb';
# update index_dict SET INDEX_DESC='自然月周期内,网格内党员志愿者总数与网格党员总人数之比。' WHERE INDEX_CODE = 'wanggedangyuanzyzl';
# update index_dict SET INDEX_DESC='自然月周期内,社区下所有网格服务指数得分之和与网格总数之比' WHERE INDEX_CODE = 'shequxiajisywgfwnldfpjz';
# update index_dict SET INDEX_DESC='自然月周期内,社区内爱心活动组织次数。' WHERE INDEX_CODE = 'shequhuodongzzcs';
# update index_dict SET INDEX_DESC='自然月周期内,街道下所有社区服务指数得分之和与社区总数之比' WHERE INDEX_CODE = 'jiedaoxiashusqfwnldfpjz';
# update index_dict SET INDEX_DESC='自然月周期内,街道内爱心活动组织次数。' WHERE INDEX_CODE = 'jiedaohuodongzzcs';
# update index_dict SET INDEX_DESC='自然月周期内,区下级所有街道服务指数得分之和与街道总数之比' WHERE INDEX_CODE = 'quxiashujiedfwnlhzpjz';
#

44
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.18__modify_index_weight_for_3.0.sql

@ -1,22 +1,22 @@
#修改党员相关 三会一课权重
UPDATE index_group_detail_template SET WEIGHT = 0.1 WHERE INDEX_CODE = 'dangwuhuodong';
UPDATE index_group_detail_template SET WEIGHT = 0.45 WHERE INDEX_CODE = 'canyuyishi';
UPDATE index_group_detail_template SET WEIGHT = 0.45 WHERE INDEX_CODE = 'lianxiqunzhong';
UPDATE index_group_detail_template SET WEIGHT = 1 WHERE INDEX_CODE = 'canjiasanhykcs';
UPDATE index_group_detail_template SET WEIGHT = 0.26 WHERE INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
UPDATE index_group_detail_template SET WEIGHT = 0.26 WHERE INDEX_CODE = 'wanggedifawsl';
UPDATE index_group_detail_template SET WEIGHT = 0.04 WHERE INDEX_CODE = 'zuzhisanhykcs';
UPDATE index_group_detail_template SET WEIGHT = 0.04 WHERE INDEX_CODE = 'dangyuancanjiashykrc';
#开发和测试的 对应的客户已经修改执行完了
#修改生产的 先给党群e事通和亿联员工互助会设置一下权重。再加上我们自己的 微笑崂山
UPDATE index_group_detail SET WEIGHT = 0.1 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'dangwuhuodong';
UPDATE index_group_detail SET WEIGHT = 0.45 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'canyuyishi';
UPDATE index_group_detail SET WEIGHT = 0.45 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'lianxiqunzhong';
UPDATE index_group_detail SET WEIGHT = 1 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'canjiasanhykcs';
UPDATE index_group_detail SET WEIGHT = 0.26 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
UPDATE index_group_detail SET WEIGHT = 0.26 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'wanggedifawsl';
UPDATE index_group_detail SET WEIGHT = 0.04 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'zuzhisanhykcs';
UPDATE index_group_detail SET WEIGHT = 0.04 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'dangyuancanjiashykrc';
# #修改党员相关 三会一课权重
# UPDATE index_group_detail_template SET WEIGHT = 0.1 WHERE INDEX_CODE = 'dangwuhuodong';
# UPDATE index_group_detail_template SET WEIGHT = 0.45 WHERE INDEX_CODE = 'canyuyishi';
# UPDATE index_group_detail_template SET WEIGHT = 0.45 WHERE INDEX_CODE = 'lianxiqunzhong';
# UPDATE index_group_detail_template SET WEIGHT = 1 WHERE INDEX_CODE = 'canjiasanhykcs';
#
# UPDATE index_group_detail_template SET WEIGHT = 0.26 WHERE INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
# UPDATE index_group_detail_template SET WEIGHT = 0.26 WHERE INDEX_CODE = 'wanggedifawsl';
# UPDATE index_group_detail_template SET WEIGHT = 0.04 WHERE INDEX_CODE = 'zuzhisanhykcs';
# UPDATE index_group_detail_template SET WEIGHT = 0.04 WHERE INDEX_CODE = 'dangyuancanjiashykrc';
#
# #开发和测试的 对应的客户已经修改执行完了
# #修改生产的 先给党群e事通和亿联员工互助会设置一下权重。再加上我们自己的 微笑崂山
# UPDATE index_group_detail SET WEIGHT = 0.1 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'dangwuhuodong';
# UPDATE index_group_detail SET WEIGHT = 0.45 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'canyuyishi';
# UPDATE index_group_detail SET WEIGHT = 0.45 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'lianxiqunzhong';
# UPDATE index_group_detail SET WEIGHT = 1 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'canjiasanhykcs';
#
# UPDATE index_group_detail SET WEIGHT = 0.26 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'zuzhineidangydlxqznlkpfpjz';
# UPDATE index_group_detail SET WEIGHT = 0.26 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'wanggedifawsl';
# UPDATE index_group_detail SET WEIGHT = 0.04 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'zuzhisanhykcs';
# UPDATE index_group_detail SET WEIGHT = 0.04 WHERE CUSTOMER_ID IN ('7ae84f0ceb36397f5078187d72de3403','04c0d396e298f13e57aa5904a657eaa6','3fdd0380deff5b30f45376cdf995d1c1') AND INDEX_CODE = 'dangyuancanjiashykrc';

8
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.19__add_gridMemberToalColumn.sql

@ -1,4 +1,4 @@
-- 为了平阴大屏,显示网格员数,screen_user_total_data 新增GRID_MEMBER_TOTAL
-- epmet_evaluation_index 、 epmet_data_statistical_display 库执行以下:
ALTER TABLE screen_user_total_data ADD COLUMN `GRID_MEMBER_TOTAL` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '06.01新增:orgType=agency或者grid的时候,此列赋值:当前组织或者当前网格内的网格员人数' AFTER PROJECT_TOTAL;
# -- 为了平阴大屏,显示网格员数,screen_user_total_data 新增GRID_MEMBER_TOTAL
#
# -- epmet_evaluation_index 、 epmet_data_statistical_display 库执行以下:
# ALTER TABLE screen_user_total_data ADD COLUMN `GRID_MEMBER_TOTAL` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '06.01新增:orgType=agency或者grid的时候,此列赋值:当前组织或者当前网格内的网格员人数' AFTER PROJECT_TOTAL;

172
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml

@ -539,58 +539,72 @@
a.count AS "sum",
IFNULL( b.count, 0 ) AS "count"
FROM
( SELECT
GRID_ID,
COUNT( ID ) AS "count"
FROM
fact_origin_project_main_daily
WHERE
CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
AND GRID_ID != ''
GROUP BY GRID_ID ) a
LEFT JOIN
( SELECT
(
SELECT
GRID_ID,
COUNT( ID ) AS "count"
FROM fact_origin_project_main_daily
FROM
fact_origin_project_main_daily
WHERE
PROJECT_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
AND GRID_ID != ''
GROUP BY GRID_ID ) b
ON a.GRID_ID = b.GRID_ID
GROUP BY
GRID_ID ) a
LEFT JOIN (
SELECT
a.GRID_ID,
COUNT( a.ID ) AS "count"
FROM
fact_origin_project_main_daily a
INNER JOIN fact_origin_project_log_daily b ON a.ID = b.PROJECT_ID
AND b.CUSTOMER_ID = #{customerId}
AND b.ACTION_CODE = 'close'
AND b.MONTH_ID = #{monthId}
WHERE
a.PROJECT_STATUS = 'closed'
AND a.CUSTOMER_ID = #{customerId}
AND a.MONTH_ID = #{monthId}
AND a.GRID_ID != ''
GROUP BY
GRID_ID) b ON a.GRID_ID = b.GRID_ID
</select>
<select id="selectAgencyClosed" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID AS "orgId",
a.count AS "sum",
IFNULL( b.count, 0 ) AS "count"
a.AGENCY_ID AS "orgId",
a.count AS "sum",
IFNULL( b.count, 0 ) AS "count"
FROM
( SELECT
AGENCY_ID,
COUNT( ID ) AS "count"
(
SELECT
AGENCY_ID,
COUNT( ID ) AS "count"
FROM
fact_origin_project_main_daily
fact_origin_project_main_daily
WHERE
CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
AND AGENCY_ID != ''
GROUP BY AGENCY_ID ) a
LEFT JOIN
( SELECT
AGENCY_ID,
COUNT( ID ) AS "count"
FROM fact_origin_project_main_daily
WHERE
PROJECT_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
AND AGENCY_ID != ''
GROUP BY AGENCY_ID ) b
ON a.AGENCY_ID = b.AGENCY_ID
CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
AND AGENCY_ID != ''
GROUP BY
AGENCY_ID ) a
LEFT JOIN (
SELECT
a.AGENCY_ID,
COUNT( a.ID ) AS "count"
FROM
fact_origin_project_main_daily a
INNER JOIN fact_origin_project_log_daily b ON a.ID = b.PROJECT_ID
AND b.CUSTOMER_ID = #{customerId}
AND b.ACTION_CODE = 'close'
AND b.MONTH_ID = #{monthId}
WHERE
a.PROJECT_STATUS = 'closed'
AND a.CUSTOMER_ID = #{customerId}
AND a.MONTH_ID = #{monthId}
AND a.AGENCY_ID != ''
GROUP BY
AGENCY_ID) b ON a.AGENCY_ID = b.AGENCY_ID
</select>
<select id="selectNotReturn" resultType="com.epmet.dto.extract.result.TransferRightRatioResultDTO">
@ -753,45 +767,57 @@
</select>
<select id="selectGridSelfDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
GRID_ID AS "orgId",
COUNT( ID ) AS "sum",
IFNULL(a.count,0) AS "count"
fm.ORG_ID AS "orgId",
COUNT( fm.PROJECT_ID ) AS "sum",
IFNULL( a.count, 0 ) AS "count"
FROM
fact_origin_project_main_daily fm
LEFT JOIN (
fact_origin_project_log_daily fm
LEFT JOIN (
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
FROM
(
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
ORG_ID AS orgId,
PROJECT_ID
FROM
(
SELECT
ORG_ID AS orgId,
PROJECT_ID
FROM
fact_origin_project_log_daily
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND PROJECT_ID IN (
SELECT ID FROM fact_origin_project_main_daily WHERE DEL_FLAG = 0 AND PROJECT_STATUS = 'closed' AND ORIGIN = 'issue'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId})
GROUP BY
PROJECT_ID
HAVING
COUNT(DISTINCT ( ORG_ID )) = 1) a
fact_origin_project_log_daily log
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND EXISTS (
SELECT
PROJECT_ID
FROM
fact_origin_project_log_daily
WHERE
DEL_FLAG = 0
AND ACTION_CODE = 'close'
AND ORG_TYPE = 'grid'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
AND log.PROJECT_ID = PROJECT_ID
)
GROUP BY
orgId
) a ON fm.GRID_ID = a.orgId
PROJECT_ID
HAVING
COUNT(
DISTINCT ( ORG_ID )) = 1
) a
GROUP BY
orgId
) a ON fm.ORG_ID = a.orgId
WHERE
PROJECT_STATUS = 'closed'
AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
AND GRID_ID != ''
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
ACTION_CODE = 'close'
AND ORG_TYPE = 'grid'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
GROUP BY
GRID_ID
fm.ORG_ID
ORDER BY
ORG_ID
</select>
<!-- 根据项目id, 查询处理明细-->

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

@ -197,110 +197,158 @@
</if>
</select>
<select id="getSelfProject" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
GROUP BY
da.ID) a
LEFT JOIN
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.FINISH_ORG_IDS LIKE CONCAT('%', fm.AGENCY_ID,'%')
GROUP BY
da.ID) b
ON a.AGENCY_ID = b.AGENCY_ID
SELECT
da.ID,
SUM( sum ) AS "sum",
SUM( count ) AS "count"
FROM
dim_agency da
INNER JOIN (
SELECT
fm.AGENCY_ID AS "orgId",
fm.PIDS,
COUNT( fm.PROJECT_ID ) AS "sum",
IFNULL( a.count, 0 ) AS "count"
FROM
fact_origin_project_log_daily fm
LEFT JOIN (
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
FROM
(
SELECT
AGENCY_ID AS orgId,
PROJECT_ID
FROM
fact_origin_project_log_daily log
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND EXISTS ( SELECT PROJECT_ID FROM fact_origin_project_log_daily WHERE DEL_FLAG = 0 AND ACTION_CODE = 'close' AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} AND log.PROJECT_ID = PROJECT_ID )
GROUP BY
PROJECT_ID
HAVING
COUNT(
DISTINCT ( ORG_ID )) = 1
) a
GROUP BY
orgId
) a ON fm.AGENCY_ID = a.orgId
WHERE
ACTION_CODE = 'close'
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
GROUP BY
fm.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
<select id="getResolveProject" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
GROUP BY
da.ID) a
LEFT JOIN
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
da.ID) b
ON a.AGENCY_ID = b.AGENCY_ID
SELECT
da.ID,
SUM( sum ) AS "sum",
SUM( count ) AS "count"
FROM
dim_agency da
INNER JOIN (
SELECT
a.AGENCY_ID,
a.PIDS,
a.count AS "sum",
IFNULL( b.count, 0 ) AS "count"
FROM
(
SELECT
AGENCY_ID,
PIDS,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_log_daily fm
WHERE
fm.DEL_FLAG = '0'
AND fm.ACTION_CODE = 'close'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.IS_ACTIVE = 1
GROUP BY
AGENCY_ID
) a
LEFT JOIN (
SELECT
log.AGENCY_ID,
log.PIDS,
COUNT( log.PROJECT_ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN fact_origin_project_log_daily log ON log.PROJECT_ID = fm.ID
AND log.DEL_FLAG = '0'
AND log.ACTION_CODE = 'close'
AND log.CUSTOMER_ID = #{customerId}
AND log.MONTH_ID = #{monthId}
AND log.IS_ACTIVE = 1
WHERE
fm.DEL_FLAG = '0'
AND fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.AGENCY_ID
) b ON a.AGENCY_ID = b.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
<select id="getGridResolveProject" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.GRID_ID AS "orgId",
a.ORG_ID AS "orgId",
a.count AS "sum",
IFNULL(b.count,0) AS "count"
IFNULL( b.count, 0 ) AS "count"
FROM
(SELECT
fm.GRID_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
GROUP BY
fm.GRID_ID) a
LEFT JOIN
(SELECT
fm.GRID_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
fm.GRID_ID) b
ON a.GRID_ID = b.GRID_ID
(
SELECT
fm.ORG_ID,
COUNT( fm.PROJECT_ID ) AS "count"
FROM
fact_origin_project_log_daily fm
WHERE
fm.ACTION_CODE = 'close'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.ORG_TYPE = 'grid'
GROUP BY
fm.ORG_ID
) a
LEFT JOIN (
SELECT
log.ORG_ID,
COUNT( log.PROJECT_ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN fact_origin_project_log_daily log ON fm.ID = log.PROJECT_ID
AND ACTION_CODE = 'close'
AND log.CUSTOMER_ID = #{customerId}
AND log.MONTH_ID = #{monthId}
AND log.ORG_TYPE = 'grid'
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.ORG_ID
) b ON a.ORG_ID = b.ORG_ID
ORDER BY
a.ORG_ID
</select>
<select id="getGridProjectCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
@ -851,76 +899,117 @@
ON a.GRID_ID = b.GRID_ID
</select>
<select id="getSelfProjectDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
FROM
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
GROUP BY
da.ID) a
LEFT JOIN
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.FINISH_ORG_IDS LIKE CONCAT('%', fm.AGENCY_ID,'%')
GROUP BY
da.ID) b
ON a.AGENCY_ID = b.AGENCY_ID
SELECT
da.ID,
SUM( sum ) AS "sum",
SUM( count ) AS "count"
FROM
dim_agency da
INNER JOIN (
SELECT
fm.AGENCY_ID AS "orgId",
fm.PIDS,
COUNT( fm.PROJECT_ID ) AS "sum",
IFNULL( a.count, 0 ) AS "count"
FROM
fact_origin_project_log_daily fm
LEFT JOIN (
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
FROM
(
SELECT
AGENCY_ID AS orgId,
PROJECT_ID
FROM
fact_origin_project_log_daily log
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND EXISTS ( SELECT PROJECT_ID FROM fact_origin_project_log_daily WHERE DEL_FLAG = 0 AND ACTION_CODE = 'close' AND CUSTOMER_ID = #{customerId} AND DATE_ID &lt;= #{dateId} AND log.PROJECT_ID = PROJECT_ID )
GROUP BY
PROJECT_ID
HAVING
COUNT(
DISTINCT ( ORG_ID )) = 1
) a
GROUP BY
orgId
) a ON fm.AGENCY_ID = a.orgId
WHERE
ACTION_CODE = 'close'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID &lt;= #{dateId}
GROUP BY
fm.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
<select id="getResolveProjectDaily" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
a.AGENCY_ID,
a.count AS "sum",
IFNULL(b.count,0) AS "count"
da.ID,
SUM( sum ) AS "sum",
SUM( count ) AS "count"
FROM
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
GROUP BY
da.ID) a
LEFT JOIN
(SELECT
da.ID AS AGENCY_ID,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.`LEVEL` = #{level}
WHERE
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
da.ID) b
ON a.AGENCY_ID = b.AGENCY_ID
dim_agency da
INNER JOIN (
SELECT
a.AGENCY_ID,
a.PIDS,
a.count AS "sum",
IFNULL( b.count, 0 ) AS "count"
FROM
(
SELECT
AGENCY_ID,
PIDS,
COUNT( fm.ID ) AS "count"
FROM
fact_origin_project_log_daily fm
WHERE
fm.DEL_FLAG = '0'
AND fm.ACTION_CODE = 'close'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.DATE_ID &lt;= #{dateId}
AND fm.IS_ACTIVE = 1
GROUP BY
AGENCY_ID
) a
LEFT JOIN (
SELECT
log.AGENCY_ID,
log.PIDS,
COUNT( log.PROJECT_ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN fact_origin_project_log_daily log ON log.PROJECT_ID = fm.ID
AND log.DEL_FLAG = '0'
AND log.ACTION_CODE = 'close'
AND log.CUSTOMER_ID = #{customerId}
AND log.DATE_ID &lt;= #{dateId}
AND log.IS_ACTIVE = 1
WHERE
fm.DEL_FLAG = '0'
AND fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.AGENCY_ID
) b ON a.AGENCY_ID = b.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
<!-- 5、当前网格内:来源于议题的项目:结案已解决数、6、当前网格内:来源于议题的项目:结案无需解决数、7、当前网格内:项目立项,结案已解决数;默认为0、8、当前网格内:项目立项,结案无需解决数;默认为0、 -->

BIN
epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注3.0版新权重.xlsx

Binary file not shown.

2
epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-activiti-server:
container_name: epmet-activiti-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-activiti-server:0.3.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-activiti-server:0.3.1
ports:
- "8086:8086"
network_mode: host # 使用现有网络

2
epmet-module/epmet-activiti/epmet-activiti-server/pom.xml

@ -278,7 +278,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>
</properties>

4
epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
common-service-server:
container_name: common-service-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:0.3.26
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:0.3.41
ports:
- "8103:8103"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-module/epmet-common-service/common-service-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.26</version>
<version>0.3.41</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-common-service</artifactId>
@ -261,7 +261,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>
<!--亿联云消息网关配置-->

3
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalCustomerController.java

@ -1,5 +1,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -44,6 +45,7 @@ public class ExternalCustomerController {
* @param formDTO
* @return
*/
@NoRepeatSubmit
@PostMapping("add")
public Result<ExternalCustomerResultDTO> add(@RequestBody ExternalCustomerFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ExternalCustomerFormDTO.AddExternalCustomerGroup.class);
@ -57,6 +59,7 @@ public class ExternalCustomerController {
* @param formDTO
* @return
*/
@NoRepeatSubmit
@PostMapping("update")
public Result<ExternalCustomerResultDTO> update(@RequestBody ExternalCustomerFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ExternalCustomerFormDTO.UpdateExternalCustomerGroup.class);

2
epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-ext-server:
container_name: epmet-ext-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-ext-server:0.0.13
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-ext-server:0.0.20
ports:
- "8113:8113"
network_mode: host # 使用现有网络

4
epmet-module/epmet-ext/epmet-ext-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.13</version>
<version>0.0.20</version>
<parent>
<groupId>com.epmet</groupId>
@ -340,7 +340,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>

20
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandDetailFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form.demand;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class DemandDetailFormDTO implements Serializable {
private static final long serialVersionUID = 514538389753713095L;
public interface AddUserInternalGroup {
}
@NotBlank(message = "demandRecId不能为空", groups = AddUserInternalGroup.class)
private String demandRecId;
@NotBlank(message = "tokenDto获取客户id不能为空", groups = IcResiUserDemandFromDTO.AddUserInternalGroup.class)
private String customerId;
}

19
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/IcResiUserDemandFromDTO.java

@ -11,10 +11,29 @@ public class IcResiUserDemandFromDTO implements Serializable {
public interface AddUserInternalGroup {
}
/**
* 居民信息录入的居民的id
*/
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class)
private String userId;
/**
* icresiuser/persondata接口返参中有此值
*/
private String epmetUserId;
@NotNull(message = "pageNo不能为空", groups = AddUserInternalGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空", groups = AddUserInternalGroup.class)
private Integer pageSize;
/**
* 研判分析界面查看同类型的需求可以用此接口只需传入分类编码
*/
private String firstCategoryCode;
@NotBlank(message = "tokenDto获取客户id不能为空", groups = AddUserInternalGroup.class)
private String customerId;
}

3
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandRecResultDTO.java

@ -22,7 +22,8 @@ public class DemandRecResultDTO implements Serializable {
private String categoryCode;
private String parentCode;
private String categoryName;
private String firstCategoryCode;
private String firstCategoryName;
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help

23
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/IcResiUserReportDemandRes.java

@ -1,10 +1,33 @@
package com.epmet.dto.result.demand;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class IcResiUserReportDemandRes implements Serializable {
private static final long serialVersionUID = 7043350476644105434L;
private String demandRecId;
@JsonIgnore
private String categoryCode;
@JsonIgnore
private String parentCode;
private String categoryName;
private String content;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date wantServiceTime;
@JsonIgnore
private String status;
private String statusName;
}

4
epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-heart-server:
container_name: epmet-heart-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-heart-server:0.0.57
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-heart-server:0.0.64
ports:
- "8111:8111"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-module/epmet-heart/epmet-heart-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.57</version>
<version>0.0.64</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-heart</artifactId>
@ -269,7 +269,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-open.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ActCustomizedController.java

@ -18,6 +18,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -42,7 +43,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("actcustomized")
public class ActCustomizedController {
@Autowired
private ActCustomizedService actCustomizedService;
@ -68,6 +69,7 @@ public class ActCustomizedController {
* @description 保存自定义配置
* @Date 2020/7/20 17:25
**/
@NoRepeatSubmit
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_HEART_CUSTOMIZED_SAVE)
@PostMapping("save")
public Result saveConfigs(@RequestBody SaveActCustomizedFormDTO formDTO){
@ -89,4 +91,4 @@ public class ActCustomizedController {
CustomerHeartConfigsResultDTO resultDTO = actCustomizedService.getCustomerHeartConfigs(formDTO);
return new Result<CustomerHeartConfigsResultDTO>().ok(resultDTO);
}
}
}

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java

@ -184,13 +184,33 @@ public class IcUserDemandRecController {
/**
* 数据分析-个人档案居民需求列表
* @param fromDTO
* 数据分析-个人档案居民需求列表table
*
* @param formDTO
* @return
*/
@PostMapping("mydemand")
public Result<PageData<IcResiUserReportDemandRes>> queryMyDemand(@RequestBody IcResiUserDemandFromDTO fromDTO){
ValidatorUtils.validateEntity(fromDTO,IcResiUserDemandFromDTO.AddUserInternalGroup.class);
return null;
public Result<PageData<IcResiUserReportDemandRes>> queryMyDemand(@LoginUser TokenDto tokenDto,@RequestBody IcResiUserDemandFromDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,IcResiUserDemandFromDTO.AddUserInternalGroup.class);
return new Result<PageData<IcResiUserReportDemandRes>>().ok(icUserDemandRecService.queryMyDemand(formDTO));
}
/**
* 数据分析-个人档案居民需求列表-查看需求详情
*
* @param formDTO
* @return
*/
@PostMapping("demandDetail")
public Result<DemandRecResultDTO> queryDemandDetail(@LoginUser TokenDto tokenDto, @RequestBody DemandDetailFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,DemandDetailFormDTO.AddUserInternalGroup.class);
return new Result<DemandRecResultDTO>().ok(icUserDemandRecService.queryDemandDetail(formDTO));
}
}

1
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcResiDemandDictDao.java

@ -65,4 +65,5 @@ public interface IcResiDemandDictDao extends BaseDao<IcResiDemandDictEntity> {
List<IcResiDemandDictEntity> selectSecondCodes(@Param("customerId") String customerId, @Param("cateogryCodes") List<String> categoryCodes);
String selectNameByCode(@Param("customerId")String customerId, @Param("categoryCode") String categoryCode);
}

20
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java

@ -18,10 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.demand.IcResiUserDemandFromDTO;
import com.epmet.dto.form.demand.UserDemandPageFormDTO;
import com.epmet.dto.result.demand.DemandRecResultDTO;
import com.epmet.dto.result.demand.IcResiUserReportDemandRes;
import com.epmet.entity.IcUserDemandRecEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -36,4 +39,21 @@ public interface IcUserDemandRecDao extends BaseDao<IcUserDemandRecEntity> {
List<DemandRecResultDTO> pageSelect(UserDemandPageFormDTO formDTO);
/**
* 数据分析-个人档案居民需求列表table
*
* @param formDTO
* @return
*/
List<IcResiUserReportDemandRes> selectUserDemand(IcResiUserDemandFromDTO formDTO);
/**
* 数据分析-个人档案居民需求详情
*
* @param customerId
* @param demandRecId
* @return
*/
DemandRecResultDTO selectDemandRecDetail(@Param("customerId") String customerId, @Param("demandRecId") String demandRecId);
}

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcResiDemandDictService.java

@ -109,4 +109,13 @@ public interface IcResiDemandDictService extends BaseService<IcResiDemandDictEnt
* @return
*/
List<IcResiDemandDictEntity> listByCodes(String customerId, List<String> categoryCodes);
/**
* 查询当前分类的名称
*
* @param customerId
* @param categoryCode
* @return
*/
String getCategoryName(String customerId, String categoryCode);
}

17
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcUserDemandRecDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.demand.DemandRecResultDTO;
import com.epmet.dto.result.demand.IcResiUserReportDemandRes;
import com.epmet.entity.IcUserDemandRecEntity;
import java.util.List;
@ -127,4 +128,20 @@ public interface IcUserDemandRecService extends BaseService<IcUserDemandRecEntit
* @param formDTO
*/
void finish(FinishStaffFromDTO formDTO);
/**
* 数据分析-个人档案居民需求列表table
*
* @param formDTO
* @return
*/
PageData<IcResiUserReportDemandRes> queryMyDemand(IcResiUserDemandFromDTO formDTO);
/**
* 数据分析-个人档案居民需求列表-查看需求详情
*
* @param formDTO
* @return
*/
DemandRecResultDTO queryDemandDetail(DemandDetailFormDTO formDTO);
}

14
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
@ -227,5 +228,18 @@ public class IcResiDemandDictServiceImpl extends BaseServiceImpl<IcResiDemandDic
return baseDao.selectSecondCodes(customerId,categoryCodes);
}
/**
* 查询当前分类的名称
*
* @param customerId
* @param categoryCode
* @return
*/
@Override
public String getCategoryName(String customerId, String categoryCode) {
String categoryName=baseDao.selectNameByCode(customerId,categoryCode);
return StringUtils.isNotBlank(categoryName)?categoryName: StrConstant.EPMETY_STR;
}
}

132
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -24,7 +24,9 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
@ -42,7 +44,9 @@ import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.demand.DemandRecResultDTO;
import com.epmet.dto.result.demand.IcResiUserReportDemandRes;
import com.epmet.entity.*;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcResiDemandDictService;
@ -50,6 +54,7 @@ import com.epmet.service.IcUserDemandRecService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -79,7 +84,8 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
private IcResiDemandDictService demandDictService;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Override
public PageData<IcUserDemandRecDTO> page(Map<String, Object> params) {
@ -238,6 +244,17 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
}
userInfoMap=userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, UserBaseInfoResultDTO::getRealName));
}
//查询字典表
Result<Map<String, String>> reportTypeRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_REPORT_TYPE.getCode());
Map<String,String> reportTypeMap=reportTypeRes.success()&& MapUtils.isNotEmpty(reportTypeRes.getData())?reportTypeRes.getData():new HashMap<>();
Result<Map<String, String>> statusRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_STATUS.getCode());
Map<String,String> statusMap=statusRes.success()&& MapUtils.isNotEmpty(statusRes.getData())?statusRes.getData():new HashMap<>();
Result<Map<String, String>> serviceTypeRes=adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_SERVICE_TYPE.getCode());
Map<String,String> serviceTypeMap=serviceTypeRes.success()&& MapUtils.isNotEmpty(serviceTypeRes.getData())?serviceTypeRes.getData():new HashMap<>();
for(DemandRecResultDTO res:list){
if (null != gridInfoMap && gridInfoMap.containsKey(res.getGridId())) {
res.setGridName(gridInfoMap.get(res.getGridId()).getGridName());
@ -246,12 +263,13 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
if (null != dictMap && dictMap.containsKey(res.getCategoryCode())) {
res.setCategoryName(dictMap.get(res.getCategoryCode()));
}
res.setFirstCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(), res.getFirstCategoryCode()));
if (null != userInfoMap && userInfoMap.containsKey(res.getServerId())) {
res.setServiceName(userInfoMap.get(res.getServerId()));
}
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
switch(res.getReportType()){
res.setReportTypeName(reportTypeMap.containsKey(res.getReportType())?reportTypeMap.get(res.getReportType()):StrConstant.EPMETY_STR);
/*switch(res.getReportType()){
case UserDemandConstant.COMMUNITY_REPORT :
res.setReportTypeName("社区帮办");
break;
@ -264,9 +282,10 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
case UserDemandConstant.SELF_HELP_REPORT :
res.setReportTypeName("自身上报");
break;
}
}*/
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
switch(res.getStatus()){
res.setStatusName(statusMap.containsKey(res.getStatus())?statusMap.get(res.getStatus()):StrConstant.EPMETY_STR);
/*switch(res.getStatus()){
case UserDemandConstant.PENDING :
res.setStatusName("待处理");
break;
@ -282,9 +301,10 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
case UserDemandConstant.FINISHED :
res.setStatusName("已完成");
break;
}
}*/
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
switch(res.getServiceType()){
res.setServiceShowName(serviceTypeMap.containsKey(res.getServiceType())?res.getServiceName().concat("(").concat(serviceTypeMap.get(res.getServiceType())).concat(")"):StrConstant.EPMETY_STR);
/*switch(res.getServiceType()){
case UserDemandConstant.VOLUNTEER :
res.setServiceShowName(res.getServiceName().concat("(志愿者)"));
break;
@ -297,7 +317,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
case UserDemandConstant.PARTY_UNIT :
res.setServiceShowName(res.getServiceName().concat("(区域化党建单位)"));
break;
}
}*/
}
}
return new PageData<>(list, pageInfo.getTotal());
@ -437,4 +457,100 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
demandSatisfactionDao.insert(satisfactionEntity);
}
/**
* 数据分析-个人档案居民需求列表table
*
* @param formDTO
* @return
*/
@Override
public PageData<IcResiUserReportDemandRes> queryMyDemand(IcResiUserDemandFromDTO formDTO) {
/*//1、查询当前居民在小程序里是否有用户id
ResiUserFormDTO resiUserFormDTO=new ResiUserFormDTO();
resiUserFormDTO.setCustomerId(formDTO.getCustomerId());
resiUserFormDTO.setIcResiUserId(formDTO.getUserId());
Result<ResiUserResDTO> userRes=epmetUserOpenFeignClient.findUser(resiUserFormDTO);
if(!userRes.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"/epmetuser/user/finduser接口异常","查找居民端小程序用户信息异常");
}
formDTO.setEpmetUserId(userRes.getData().getEpmetUserId());*/
//icresiuser/persondata接口已经返回去epmetUserId,这里就不需要再查询了。直接让前端传过来
//2、小程序内自己上报+赋能平台待录入的
PageInfo<IcResiUserReportDemandRes> pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectUserDemand(formDTO));
List<IcResiUserReportDemandRes> list = pageInfo.getList();
if (CollectionUtils.isNotEmpty(list)) {
// 1、状态字典
Result<Map<String, String>> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_STATUS.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
//2、查询分类名称
List<String> categoryCodes = list.stream().map(IcResiUserReportDemandRes::getCategoryCode).collect(Collectors.toList());
List<IcResiDemandDictEntity> dictList = demandDictService.listByCodes(formDTO.getCustomerId(), categoryCodes);
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName));
for (IcResiUserReportDemandRes resDto : list) {
resDto.setStatusName(statusMap.containsKey(resDto.getStatus()) ? statusMap.get(resDto.getStatus()) : StrConstant.EPMETY_STR);
if (null != dictMap && dictMap.containsKey(resDto.getCategoryCode())) {
resDto.setCategoryName(dictMap.get(resDto.getCategoryCode()));
}
}
}
return new PageData<>(list, pageInfo.getTotal());
}
/**
* 数据分析-个人档案居民需求列表-查看需求详情
*
* @param formDTO
* @return
*/
@Override
public DemandRecResultDTO queryDemandDetail(DemandDetailFormDTO formDTO) {
DemandRecResultDTO res = baseDao.selectDemandRecDetail(formDTO.getCustomerId(), formDTO.getDemandRecId());
if (null != res) {
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(res.getGridId());
Result<CustomerGridDTO> gridInfoRes = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO);
res.setGridName(gridInfoRes.success() && null != gridInfoRes.getData() ? gridInfoRes.getData().getGridNamePath() : StrConstant.EPMETY_STR);
res.setCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(), res.getCategoryCode()));
res.setFirstCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(),res.getFirstCategoryCode()));
if (UserDemandConstant.VOLUNTEER.equals(res.getServiceType())) {
// 如果服务方是志愿者,需要查询小程序端的志愿者姓名
List<String> userIdList = Arrays.asList(res.getServerId());
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
if (!userInfoRes.success() || CollectionUtils.isEmpty(userInfoRes.getData())) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询志愿者信息异常");
}
res.setServiceName(userInfoRes.getData().get(NumConstant.ZERO).getRealName());
}
//查询字典表
Result<Map<String, String>> reportTypeRes = adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_REPORT_TYPE.getCode());
Map<String, String> reportTypeMap = reportTypeRes.success() && MapUtils.isNotEmpty(reportTypeRes.getData()) ? reportTypeRes.getData() : new HashMap<>();
Result<Map<String, String>> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_STATUS.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
Result<Map<String, String>> serviceTypeRes = adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_SERVICE_TYPE.getCode());
Map<String, String> serviceTypeMap = serviceTypeRes.success() && MapUtils.isNotEmpty(serviceTypeRes.getData()) ? serviceTypeRes.getData() : new HashMap<>();
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
res.setReportTypeName(reportTypeMap.containsKey(res.getReportType()) ? reportTypeMap.get(res.getReportType()) : StrConstant.EPMETY_STR);
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
res.setStatusName(statusMap.containsKey(res.getStatus()) ? statusMap.get(res.getStatus()) : StrConstant.EPMETY_STR);
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
res.setServiceShowName(serviceTypeMap.containsKey(res.getServiceType()) ? res.getServiceName().concat("(").concat(serviceTypeMap.get(res.getServiceType())).concat(")") : StrConstant.EPMETY_STR);
}
return res;
}
}

13
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcResiDemandDictDao.xml

@ -223,4 +223,17 @@
</foreach>
</if>
</select>
<select id="selectNameByCode" parameterType="map" resultType="java.lang.String">
SELECT
( CASE WHEN m.PARENT_CODE != '0' THEN concat( p.CATEGORY_NAME, '-', m.CATEGORY_NAME ) ELSE m.CATEGORY_NAME END ) AS categoryName
FROM
ic_resi_demand_dict m
LEFT JOIN ic_resi_demand_dict p ON ( m.PARENT_CODE = p.CATEGORY_CODE AND p.DEL_FLAG = '0' AND m.CUSTOMER_ID = p.CUSTOMER_ID )
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
AND m.CATEGORY_CODE = #{categoryCode}
</select>
</mapper>

85
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml

@ -70,7 +70,12 @@
s.SERVICE_END_TIME as serviceEndTime,
IFNULL(s.FINISH_DESC,'') as finishDesc,
'' AS serviceShowName,
s.id as serviceId
s.id as serviceId,
(
case when r.PARENT_CODE !='0' then r.PARENT_CODE
ELSE R.CATEGORY_CODE
END
) as firstCategoryCode
FROM
ic_user_demand_rec r
left JOIN ic_user_demand_service s ON ( r.id = s.DEMAND_REC_ID AND s.DEL_FLAG = '0' )
@ -116,4 +121,82 @@
</if>
order by r.WANT_SERVICE_TIME desc,r.CREATED_TIME asc
</select>
<select id="selectUserDemand" parameterType="com.epmet.dto.form.demand.IcResiUserDemandFromDTO" resultType="com.epmet.dto.result.demand.IcResiUserReportDemandRes">
SELECT
r.id as demandRecId,
r.CATEGORY_CODE as categoryCode,
r.PARENT_CODE as parentCode,
r.CONTENT,
r.`STATUS`,
r.WANT_SERVICE_TIME as wantServiceTime
FROM
ic_user_demand_rec r
WHERE
r.DEL_FLAG = '0'
<choose>
<when test="null!=epmetUserId and epmetUserId!='' ">
AND (r.DEMAND_USER_ID = #{userId} or r.DEMAND_USER_ID=#{epmetUserId})
</when>
<otherwise>
AND r.DEMAND_USER_ID = #{userId}
</otherwise>
</choose>
<if test="null !=firstCategoryCode and firstCategoryCode!=''">
and r.CATEGORY_CODE like concat(#{firstCategoryCode},'%')
</if>
ORDER BY
r.WANT_SERVICE_TIME DESC
</select>
<select id="selectDemandRecDetail" parameterType="java.lang.String" resultType="com.epmet.dto.result.demand.DemandRecResultDTO">
SELECT
r.ID as demandRecId,
r.GRID_ID as gridId,
r.agency_id as agencyId,
r.CATEGORY_CODE as categoryCode,
r.PARENT_CODE as parentCode,
r.CONTENT,
r.REPORT_TYPE as reportType,
r.REPORT_TIME as reportTime,
r.REPORT_USER_NAME as reportUserName,
r.REPORT_USER_MOBILE as reportUserMobile,
r.`STATUS` as status,
r.DEMAND_USER_ID as demandUserId,
r.DEMAND_USER_NAME as demandUserName,
r.DEMAND_USER_MOBILE as demandUserMobile,
concat(r.DEMAND_USER_NAME,'(',r.DEMAND_USER_MOBILE,')') as demandUser,
r.WANT_SERVICE_TIME as wantServiceTime,
IFNULL(r.FINISH_RESULT,'') as finishResult,
r.CANCEL_TIME as cancelTime,
r.EVALUATE_FLAG as evaluateFlag,
IFNULL(sa.SCORE,0) as score,
IFNULL( s.SERVICE_TYPE, '' ) AS serviceType,
IFNULL( s.SERVER_ID, '' ) AS serverId,
(
CASE WHEN s.SERVICE_TYPE='social_org' then (select m1.SOCIETY_NAME as socialOrgName from ic_society_org m1 where m1.id=s.SERVER_ID)
WHEN s.SERVICE_TYPE='community_org' then (select m2.ORGANIZATION_NAME as communityName from ic_community_self_organization m2 where m2.id=s.SERVER_ID)
WHEN s.SERVICE_TYPE='party_unit' then (select m3.UNIT_NAME as partyUnitName from ic_party_unit m3 where m3.id=s.SERVER_ID)
else ''
end
) as serviceName,
s.SERVICE_START_TIME as serviceStartTime,
s.SERVICE_END_TIME as serviceEndTime,
IFNULL(s.FINISH_DESC,'') as finishDesc,
'' AS serviceShowName,
s.id as serviceId,
(
case when r.PARENT_CODE !='0' then r.PARENT_CODE
ELSE R.CATEGORY_CODE
END
) as firstCategoryCode
FROM
ic_user_demand_rec r
left JOIN ic_user_demand_service s ON ( r.id = s.DEMAND_REC_ID AND s.DEL_FLAG = '0' )
left join ic_user_demand_satisfaction sa on(r.id=sa.DEMAND_REC_ID AND sa.DEL_FLAG = '0')
WHERE
r.DEL_FLAG = '0'
AND r.CUSTOMER_ID = #{customerId}
and r.id=#{demandRecId}
</select>
</mapper>

4
epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-job-server:
container_name: epmet-job-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-job-server:0.3.29
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-job-server:0.3.43
ports:
- "8084:8084"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-module/epmet-job/epmet-job-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.29</version>
<version>0.3.43</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-job</artifactId>
@ -251,7 +251,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>

4
epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-message-server:
container_name: epmet-message-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-message-server:0.3.33
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-message-server:0.3.53
ports:
- "8085:8085"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-module/epmet-message/epmet-message-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.33</version>
<version>0.3.53</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-message</artifactId>
@ -332,7 +332,7 @@
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>

2
epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml

@ -3,7 +3,7 @@ services:
epmet-oss-server:
container_name: epmet-oss-server-prod
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-oss-server:0.3.28
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-oss-server:0.3.38
ports:
- "8083:8083"
network_mode: host # 使用现有网络

4
epmet-module/epmet-oss/epmet-oss-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.28</version>
<version>0.3.38</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-oss</artifactId>
@ -260,7 +260,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>
<!--生产钉钉 机器人地址-->

19
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/IcResiPointPageFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
public class IcResiPointPageFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
//@NotBlank(message = "epmetUserId不能为空" , groups = AddUserInternalGroup.class)
private String epmetUserId;
@NotNull(message = "pageNo不能为空",groups = AddUserInternalGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空",groups = AddUserInternalGroup.class)
private Integer pageSize;
}

21
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointPageResDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class ResiPointPageResDTO implements Serializable {
private String title;
private String id;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date dateTime;
/**
* +100 -25
* */
private String point;
}

5
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankListResultDTO.java

@ -3,7 +3,6 @@ package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 居民端积分总排行周排行月排行接口返参DTO
@ -15,6 +14,10 @@ import java.util.List;
public class ResiPointRankListResultDTO implements Serializable {
private static final long serialVersionUID = 685408245193506541L;
/**
* 用户Id
*/
private String userId;
/**
* 当前用户昵称
* */

4
epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-point-server:
container_name: epmet-point-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-point-server:0.0.42
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-point-server:0.0.60
ports:
- "8112:8112"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

4
epmet-module/epmet-point/epmet-point-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.44</version>
<version>0.0.60</version>
<parent>
<artifactId>epmet-point</artifactId>
<groupId>com.epmet</groupId>
@ -284,7 +284,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>

13
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java

@ -1,6 +1,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
@ -115,6 +116,18 @@ public class ResiPointController {
return new Result<List<ResiPointLogListResultDTO>>().ok(pointActionLogService.getMyPointRecord(pageUserParam));
}
/**
* 数字赋能平台数据分析-个人档案-分页查询居民的积分记录
*
* @param formDTO
* @return
*/
@PostMapping("pageuserpoint")
public Result<PageData<ResiPointPageResDTO>> pageUserPoint(@RequestBody IcResiPointPageFormDTO formDTO ){
ValidatorUtils.validateEntity(formDTO,IcResiPointPageFormDTO.AddUserInternalGroup.class);
return new Result<PageData<ResiPointPageResDTO>>().ok(pointActionLogService.pageUserPoint(formDTO));
}
/**
* @Description 查找指定用户的积分兑换记录
* @param dto

6
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/TestController.java

@ -6,7 +6,6 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.entity.PointVerificationStatisticalDailyEntity;
import com.epmet.entity.UserPointStatisticalDailyEntity;
import com.epmet.entity.UserPointTotalEntity;
import com.epmet.service.PointVerificationStatisticalDailyService;
import com.epmet.service.UserPointStatisticalDailyService;
import com.epmet.service.UserPointTotalService;
@ -62,10 +61,5 @@ public class TestController {
pointVerificationStatisticalDailyService.testUnixKey(entity);
return new Result();
}
@PostMapping("testtotal")
public Result testTotal(@RequestBody UserPointTotalEntity entity){
userPointTotalService.testInsertOrUpdate(entity);
return new Result();
}
}

4
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java

@ -18,8 +18,10 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.entity.UserPointActionLogEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -69,4 +71,6 @@ public interface UserPointActionLogDao extends BaseDao<UserPointActionLogEntity>
@Param("userId")String userId,
@Param("type")String type,
@Param("dateId")String dateId);
List<ResiPointPageResDTO> selectPageResiPoin(IcResiPointPageFormDTO formDTO);
}

10
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java

@ -22,9 +22,11 @@ import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.form.MyPointTaskFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.entity.UserPointActionLogEntity;
import dto.form.SendPointFormDTO;
@ -143,4 +145,12 @@ public interface UserPointActionLogService extends BaseService<UserPointActionLo
* @return Result<MyPointTaskResultDTO>
*/
List<MyPointTaskResultDTO> queryMyPointTaskList(MyPointTaskFormDTO formDTO);
/**
* 数字赋能平台数据分析-个人档案-分页查询居民的积分记录
*
* @param formDTO
* @return
*/
PageData<ResiPointPageResDTO> pageUserPoint(IcResiPointPageFormDTO formDTO);
}

68
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointTotalService.java

@ -18,17 +18,13 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserPointTotalDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.dto.result.ResiPointRankListResultDTO;
import com.epmet.entity.UserPointTotalEntity;
import java.util.List;
import java.util.Map;
/**
* 用户积分总计
@ -38,66 +34,6 @@ import java.util.Map;
*/
public interface UserPointTotalService extends BaseService<UserPointTotalEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<UserPointTotalDTO>
* @author generator
* @date 2020-07-20
*/
PageData<UserPointTotalDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<UserPointTotalDTO>
* @author generator
* @date 2020-07-20
*/
List<UserPointTotalDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return UserPointTotalDTO
* @author generator
* @date 2020-07-20
*/
UserPointTotalDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-07-20
*/
void save(UserPointTotalDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-07-20
*/
void update(UserPointTotalDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-07-20
*/
void delete(String[] ids);
/**
* @Description 获取指定居民的积分信息
* @param param
@ -125,8 +61,6 @@ public interface UserPointTotalService extends BaseService<UserPointTotalEntity>
**/
void insertOrUpdate(UserPointTotalEntity entity);
void testInsertOrUpdate(UserPointTotalEntity entity);
/**
* @Description 获取指定居民的积分信息 - 使用客户Id匹配兼容多客户情况
* @param customerUserParam
@ -135,4 +69,4 @@ public interface UserPointTotalService extends BaseService<UserPointTotalEntity>
* @date 2020.07.22 15:58
**/
ResiPointDetailResultDTO getMyPointGroupByCustomer(CommonUserFormDTO customerUserParam);
}
}

19
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java

@ -36,10 +36,12 @@ import com.epmet.dto.BizPointUserTotalDetailDTO;
import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.VolunteerInfoDTO;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.form.MyPointTaskFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.entity.PointRuleEntity;
import com.epmet.entity.UserPointActionLogEntity;
import com.epmet.entity.UserPointStatisticalDailyEntity;
@ -50,6 +52,7 @@ import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant;
import com.epmet.utils.RuleCycleEnum;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Maps;
import dto.form.SendPointFormDTO;
import lombok.extern.slf4j.Slf4j;
@ -559,4 +562,20 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
});
return list;
}
/**
* 数字赋能平台数据分析-个人档案-分页查询居民的积分记录
*
* @param formDTO
* @return
*/
@Override
public PageData<ResiPointPageResDTO> pageUserPoint(IcResiPointPageFormDTO formDTO) {
if(StringUtils.isBlank(formDTO.getEpmetUserId())){
return new PageData<ResiPointPageResDTO>(new ArrayList<>(),NumConstant.ZERO);
}
PageInfo<ResiPointPageResDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectPageResiPoin(formDTO));
return new PageData<>(pageInfo.getList(), pageInfo.getTotal());
}
}

29
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java

@ -55,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -148,7 +149,7 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl<UserPo
if(myResiInfoResult.success() && null != myResiInfoResult.getData() && !myResiInfoResult.getData().isEmpty()){
if(StringUtils.isBlank(pointRankFormDTO.getCustomerId())) {
//缓存中的customerId是不准确的,前端一定会传customerId,所以不会执行此代码
log.warn("com.epmet.service.impl.UserPointTotalServiceImpl.getPointRanking,传参缺失客户Id,参数:{}",pointRankFormDTO);
log.warn("getPointRanking,传参缺失客户Id,参数:{}",pointRankFormDTO);
//缓存中陌生人游客也有对应的customerId
pointRankFormDTO.setCustomerId(myResiInfoResult.getData().get(NumConstant.ZERO).getCustomerId());
}
@ -202,18 +203,22 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl<UserPo
}
List<String> userIds = rankList.stream().map(ResiPointRankResultDTO::getUserId).collect(Collectors.toList());
//查询用户昵称
Result<List<UserBaseInfoResultDTO>> userInfo =
epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
boolean userRequestCallback = userInfo.success() && null != userInfo.getData() && !userInfo.getData().isEmpty();
for (int i = NumConstant.ZERO; i < rankList.size(); i++) {
ResiPointRankListResultDTO resultObj = ConvertUtils.sourceToTarget(o,ResiPointRankListResultDTO.class);
Result<List<UserBaseInfoResultDTO>> userInfo = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
Map<String,UserBaseInfoResultDTO> userInfoMap = new HashMap<>();
if (userInfo.success() && CollectionUtils.isNotEmpty(userInfo.getData())){
userInfoMap = userInfo.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, Function.identity(),(o1,o2)->o1));
}
for (ResiPointRankResultDTO resiPointRankResultDTO : rankList) {
ResiPointRankListResultDTO resultObj = ConvertUtils.sourceToTarget(o, ResiPointRankListResultDTO.class);
ResiPointRankingResultDTO target = new ResiPointRankingResultDTO();
target.setRanking(rankList.get(i).getRank());
target.setPoint(rankList.get(i).getTotalPoint());
if(userRequestCallback) {
target.setNickname(null == userInfo.getData().get(i) ? "" : userInfo.getData().get(i).getNickname());
target.setHeadImgUrl(null == userInfo.getData().get(i) ? "" : userInfo.getData().get(i).getHeadImgUrl());
target.setRanking(resiPointRankResultDTO.getRank());
target.setPoint(resiPointRankResultDTO.getTotalPoint());
target.setNickname(StrConstant.EPMETY_STR);
target.setHeadImgUrl(StrConstant.EPMETY_STR);
UserBaseInfoResultDTO infoResultDTO = userInfoMap.get(resiPointRankResultDTO.getUserId());
if (infoResultDTO != null) {
target.setNickname(infoResultDTO.getNickname());
target.setHeadImgUrl(infoResultDTO.getHeadImgUrl());
}
resultObj.setRankList(target);
result.add(resultObj);

112
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointTotalServiceImpl.java

@ -17,34 +17,27 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.UserPointTotalDao;
import com.epmet.dto.UserPointTotalDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.UserPointTotalEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.UserPointTotalService;
import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -57,62 +50,9 @@ import java.util.stream.Collectors;
@Slf4j
public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao, UserPointTotalEntity> implements UserPointTotalService {
@Autowired
EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public PageData<UserPointTotalDTO> page(Map<String, Object> params) {
IPage<UserPointTotalEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, UserPointTotalDTO.class);
}
@Override
public List<UserPointTotalDTO> list(Map<String, Object> params) {
List<UserPointTotalEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, UserPointTotalDTO.class);
}
private QueryWrapper<UserPointTotalEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<UserPointTotalEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public UserPointTotalDTO get(String id) {
UserPointTotalEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, UserPointTotalDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(UserPointTotalDTO dto) {
UserPointTotalEntity entity = ConvertUtils.sourceToTarget(dto, UserPointTotalEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UserPointTotalDTO dto) {
UserPointTotalEntity entity = ConvertUtils.sourceToTarget(dto, UserPointTotalEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 获取指定居民的积分信息
* @param param
@ -145,8 +85,7 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
//1.获取当前用户昵称以及当前用户所属客户Id
List<String> userIdParam = new LinkedList<>();
userIdParam.add(pointRankFormDTO.getUserId());
Result<List<UserBaseInfoResultDTO>> myResiInfoResult =
epmetUserOpenFeignClient.queryUserBaseInfo(userIdParam);
Result<List<UserBaseInfoResultDTO>> myResiInfoResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIdParam);
if(myResiInfoResult.success() && null != myResiInfoResult.getData() && !myResiInfoResult.getData().isEmpty()){
if(StringUtils.isBlank(pointRankFormDTO.getCustomerId())) {
//缓存中的customerId是不准确的,前端一定会传customerId,所以不会执行此代码
@ -204,19 +143,23 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
List<String> userIds = rankList.stream().map(ResiPointRankResultDTO::getUserId).collect(Collectors.toList());
//查询用户昵称
Result<List<UserBaseInfoResultDTO>> userInfo =
epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
boolean userRequestCallback = userInfo.success() && null != userInfo.getData() && !userInfo.getData().isEmpty();
for (int i = NumConstant.ZERO; i < rankList.size(); i++) {
ResiPointRankListResultDTO resultObj = ConvertUtils.sourceToTarget(o,ResiPointRankListResultDTO.class);
Result<List<UserBaseInfoResultDTO>> userInfo = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
Map<String,UserBaseInfoResultDTO> userInfoMap = new HashMap<>();
if (userInfo.success() && CollectionUtils.isNotEmpty(userInfo.getData())){
userInfoMap = userInfo.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, Function.identity(),(o1, o2)->o1));
}
for (ResiPointRankResultDTO resiPointRankResultDTO : rankList) {
ResiPointRankListResultDTO resultObj = ConvertUtils.sourceToTarget(o, ResiPointRankListResultDTO.class);
ResiPointRankingResultDTO target = new ResiPointRankingResultDTO();
target.setRanking(rankList.get(i).getRank());
target.setPoint(rankList.get(i).getTotalPoint());
if(userRequestCallback) {
target.setNickname(null == userInfo.getData().get(i) ? "" : userInfo.getData().get(i).getNickname());
target.setHeadImgUrl(null == userInfo.getData().get(i) ? "" : userInfo.getData().get(i).getHeadImgUrl());
target.setRanking(resiPointRankResultDTO.getRank());
target.setPoint(resiPointRankResultDTO.getTotalPoint());
target.setNickname(StrConstant.EPMETY_STR);
target.setHeadImgUrl(StrConstant.EPMETY_STR);
UserBaseInfoResultDTO infoResultDTO = userInfoMap.get(resiPointRankResultDTO.getUserId());
if (infoResultDTO != null) {
target.setNickname(infoResultDTO.getNickname());
target.setHeadImgUrl(infoResultDTO.getHeadImgUrl());
}
resultObj.setRankList(target);
result.add(resultObj);
@ -234,21 +177,6 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
@Override
public void insertOrUpdate(UserPointTotalEntity entity) {
baseDao.insertOrUpdate(entity);
/*
UserPointTotalEntity existed = baseDao.selectIfExisted(entity.getUserId());
if(null != existed && StringUtils.isNotBlank(existed.getId())){
existed.setUsedPoint(null == existed.getUsedPoint() ? entity.getUsedPoint() : entity.getUsedPoint() + existed.getUsedPoint());
existed.setUsablePoint(null == existed.getUsablePoint() ? entity.getUsablePoint() : entity.getUsablePoint() + existed.getUsablePoint());
existed.setTotalPoint(null == existed.getTotalPoint() ? entity.getTotalPoint() : entity.getTotalPoint() + existed.getTotalPoint());
updateById(existed);
}else{
insert(entity);
}*/
}
@Override
public void testInsertOrUpdate(UserPointTotalEntity entity) {
baseDao.insertOrUpdate(entity);
}
@ -267,4 +195,4 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
return result;
}
}
}

14
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml

@ -42,6 +42,20 @@
CREATED_TIME DESC
</select>
<select id="selectPageResiPoin" parameterType="com.epmet.dto.form.IcResiPointPageFormDTO" resultType="com.epmet.dto.result.ResiPointPageResDTO">
SELECT
ID,
EVENT_NAME AS title,
CASE ACTION_FLAG WHEN 'plus' THEN concat('+',POINT) ELSE POINT END AS point,
CREATED_TIME as dateTime
FROM
USER_POINT_ACTION_LOG
WHERE
DEL_FLAG = '0'
AND USER_ID = #{epmetUserId}
ORDER BY
CREATED_TIME DESC
</select>
<!-- 查询指定用户在某条规则下所得的积分总和 -->
<select id="selectSumByEvent" resultType="integer">
SELECT

4
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml

@ -66,7 +66,7 @@
point.total_point,
@point := point.total_point
FROM
( SELECT * FROM user_point_total WHERE CUSTOMER_ID = #{customerId} ORDER BY total_point DESC ) point,
( SELECT * FROM user_point_total WHERE CUSTOMER_ID = #{customerId} and del_flag = '0' ORDER BY total_point DESC ) point,
( SELECT @point := NULL, @rank := 1 ) a
) temp
@ -122,4 +122,4 @@
UPDATED_BY = #{createdBy}
</insert>
</mapper>
</mapper>

26
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 区块链创建项目form dto
*/
@Data
public class BlockChainCreateProjectFormDTO {
@NotNull(message = "项目信息不能为空")
private BlockChainProjectFormDTO project;
@NotNull(message = "处理进展信息不能为空")
private BlockChainProjectProcessFormDTO process;
@NotNull(message = "指派的人员列表信息不能为空")
@NotEmpty(message = "指派的人员列表信息不能为空")
private List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs;
}

21
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 区块链项目处理进展信息
*/
@Data
public class BlockChainProcessProjectFormDTO {
@NotNull(message = "处理进展信息不能为空")
private BlockChainProjectProcessFormDTO process;
private List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs;
// 处理人信息更新
private BlockChainProjectProcessAssignedStaffFormDTO handledStaff;
}

63
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectFormDTO.java

@ -0,0 +1,63 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
* 区块链项目信息formdto
*/
@Data
public class BlockChainProjectFormDTO {
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
// 客户名称
private String customerName;
@NotBlank(message = "标题必填")
private String title;
@NotBlank(message = "组织ID必填")
private String agencyId;
// 组织名称
private String agencyName;
@NotBlank(message = "项目来源必填")
private String origin;
@NotBlank(message = "项目来源ID必填")
private String originId;
@NotBlank(message = "项目状态必填")
private String status;
@NotBlank(message = "关闭状态必填")
private String closeStatus;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "定位必填")
private String locateAddress;
@NotBlank(message = "经度必填")
private String locateLongitude;
@NotBlank(message = "维度必填")
private String locateDimension;
@NotBlank(message = "创建时间必填")
private Date createdTime;
@NotBlank(message = "创建者ID必填")
private String createdBy;
// 创建者名字
private String createrName;
}

64
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessAssignedStaffFormDTO.java

@ -0,0 +1,64 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
* 区块链指派的项目处理人员 form dto
*/
@Data
public class BlockChainProjectProcessAssignedStaffFormDTO {
@NotBlank(message = "ID必填")
private String id;
@NotBlank(message = "进展ID必填")
private String processId;
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
@NotBlank(message = "组织ID必填")
private String orgId;
//组织名称
private String orgName;
@NotBlank(message = "部门ID必填")
private String departmentId;
@NotBlank(message = "网格ID必填")
private String gridId;
// 网格名称
private String gridName;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "人员ID必填")
private String staffId;
// 指派的用户名字
private String staffName;
@NotBlank(message = "部门名称必填")
private String departmentName;
@NotBlank(message = "是否处理必填")
private String isHandle;
@NotBlank(message = "创建者ID必填")
private String createdBy;
@NotBlank(message = "创建时间必填")
private Date createdTime;
// 创建者名字
private String createrName;
}

85
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessFormDTO.java

@ -0,0 +1,85 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 区块链项目处理form dto
*/
@Data
public class BlockChainProjectProcessFormDTO {
@NotBlank(message = "处理ID必填")
private String processId;
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
@NotBlank(message = "部门名称必填")
private String departmentName;
@NotBlank(message = "组织ID必填")
private String agencyId;
// 组织的ID
private String agencyName;
@NotBlank(message = "部门ID必填")
private String departmentId;
@NotBlank(message = "网格ID必填")
private String gridId;
// 网格的名称
private String gridName;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "处理人员ID必填")
private String staffId;
// 工作人员名字
private String staffName;
@NotBlank(message = "操作类型必填")
private String operation;
@NotBlank(message = "操作名称必填")
private String operationName;
@NotBlank(message = "公开答复必填")
private String publicReply;
@NotBlank(message = "内部备注必填必填")
private String internalRemark;
@NotNull(message = "结束时间必填")
private Date endTime;
@NotNull(message = "是否发送到外部系统必填")
private Integer isSend;
@NotNull(message = "耗费天数必填")
private String costWorkDays;
@NotBlank(message = "创建者ID必填")
private String createdBy;
// 创建者名字
private String createrName;
@NotNull(message = "创建时间必填")
private Date createdTime;
}

21
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java

@ -25,8 +25,8 @@ import java.util.List;
* @author zhaoqifeng
* @date 2021/3/18 14:18
*/
// @FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallbackFactory = EpmetThirdOpenFeignClientFallbackFactory.class,configuration =
// EpmetThirdOpenFeignClient.MultipartSupportConfig.class,url = "localhost:8110")
//@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallbackFactory = EpmetThirdOpenFeignClientFallbackFactory.class,configuration =
// EpmetThirdOpenFeignClient.MultipartSupportConfig.class,url = "localhost:8110")
@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallbackFactory = EpmetThirdOpenFeignClientFallbackFactory.class, configuration =
EpmetThirdOpenFeignClient.MultipartSupportConfig.class)
public interface EpmetThirdOpenFeignClient {
@ -54,6 +54,23 @@ public interface EpmetThirdOpenFeignClient {
Result<UploadFileResultDTO> uploadFile(@RequestPart("file") MultipartFile file, @RequestParam("customerId") String customerId, @RequestParam(
"platformId") String platformId);
/**
* 区块链立项
* @param input
* @return
*/
@PostMapping("/third/blockchain/project/create")
Result blockChainCreateProject(@RequestBody BlockChainCreateProjectFormDTO input);
/**
* 区块链处理进展
* @param input
* @return
*/
@PostMapping("/third/blockchain/project/process")
Result blockChainProcessProject(@RequestBody BlockChainProcessProjectFormDTO input);
class MultipartSupportConfig {
@Bean
public Encoder feignFormEncoder() {

10
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java

@ -49,4 +49,14 @@ public class EpmetThirdOpenFeignClientFallback implements EpmetThirdOpenFeignCli
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "uploadFile", customerId);
}
@Override
public Result blockChainCreateProject(BlockChainCreateProjectFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "createProject", input);
}
@Override
public Result blockChainProcessProject(BlockChainProcessProjectFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "processProject", input);
}
}

4
epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-third-server:
container_name: epmet-third-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.157
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-third-server:0.0.179
ports:
- "8110:8110"
network_mode: host # 使用现有网络
@ -15,4 +15,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 600M

56
epmet-module/epmet-third/epmet-third-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.157</version>
<version>0.0.179</version>
<parent>
<groupId>com.epmet</groupId>
@ -146,6 +146,18 @@
<scope>compile</scope>
</dependency>
<!-- rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-acl</artifactId>
<version>4.9.2</version>
</dependency>
</dependencies>
<build>
@ -208,6 +220,16 @@
</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
</dingTalk.robot.secret>
<!-- epmet-cloud内部用的rocketmq配置 -->
<!--<rocketmq.epmet-cloud-inner.enable>true</rocketmq.epmet-cloud-inner.enable>
<rocketmq.epmet-cloud-inner.name-server>192.168.1.140:9876;192.168.1.141:9876</rocketmq.epmet-cloud-inner.name-server>-->
<!-- 区块链用的rocketmq配置 -->
<rocketmq.block-chain.enable>true</rocketmq.block-chain.enable>
<rocketmq.block-chain.name-server>192.168.1.144:9876</rocketmq.block-chain.name-server>
<rocketmq.block-chain.access-key>EpmetCloud</rocketmq.block-chain.access-key>
<rocketmq.block-chain.secret-key>12345678</rocketmq.block-chain.secret-key>
</properties>
</profile>
<profile>
@ -248,6 +270,16 @@
</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
</dingTalk.robot.secret>
<!-- epmet-cloud内部用的rocketmq配置 -->
<!--<rocketmq.epmet-cloud-inner.enable>true</rocketmq.epmet-cloud-inner.enable>
<rocketmq.epmet-cloud-inner.name-server>192.168.1.140:9876;192.168.1.141:9876</rocketmq.epmet-cloud-inner.name-server>-->
<!-- 区块链用的rocketmq配置 -->
<rocketmq.block-chain.enable>true</rocketmq.block-chain.enable>
<rocketmq.block-chain.name-server>192.168.1.144:9876</rocketmq.block-chain.name-server>
<rocketmq.block-chain.access-key>EpmetCloud</rocketmq.block-chain.access-key>
<rocketmq.block-chain.secret-key>12345678</rocketmq.block-chain.secret-key>
</properties>
</profile>
<profile>
@ -288,6 +320,16 @@
</dingTalk.robot.webHook>
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
</dingTalk.robot.secret>
<!-- epmet-cloud内部用的rocketmq配置 -->
<!--<rocketmq.epmet-cloud-inner.enable>false</rocketmq.epmet-cloud-inner.enable>
<rocketmq.epmet-cloud-inner.name-server>192.168.10.161:9876</rocketmq.epmet-cloud-inner.name-server>-->
<!-- 区块链用的rocketmq配置 -->
<rocketmq.block-chain.enable>false</rocketmq.block-chain.enable>
<rocketmq.block-chain.name-server></rocketmq.block-chain.name-server>
<rocketmq.block-chain.access-key></rocketmq.block-chain.access-key>
<rocketmq.block-chain.secret-key></rocketmq.block-chain.secret-key>
</properties>
</profile>
@ -320,7 +362,7 @@
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--是否开启服务列表变更监听-->
<nacos.service-list-changed-listening.enable>false</nacos.service-list-changed-listening.enable>
<nacos.service-list-changed-listening.enable>true</nacos.service-list-changed-listening.enable>
<spring.flyway.enabled>true</spring.flyway.enabled>
@ -330,6 +372,16 @@
</dingTalk.robot.webHook>
<dingTalk.robot.secret>SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1
</dingTalk.robot.secret>
<!-- epmet-cloud内部用的rocketmq配置 -->
<!--<rocketmq.epmet-cloud-inner.enable>true</rocketmq.epmet-cloud-inner.enable>
<rocketmq.epmet-cloud-inner.name-server>192.168.11.187:9876;192.168.11.184:9876</rocketmq.epmet-cloud-inner.name-server>-->
<!-- 区块链用的rocketmq配置 -->
<rocketmq.block-chain.enable>false</rocketmq.block-chain.enable>
<rocketmq.block-chain.name-server></rocketmq.block-chain.name-server>
<rocketmq.block-chain.access-key></rocketmq.block-chain.access-key>
<rocketmq.block-chain.secret-key></rocketmq.block-chain.secret-key>
</properties>
</profile>
</profiles>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save