wangxianzhang 3 years ago
parent
commit
366c3d994c
  1. 1
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java
  2. 2
      epmet-cloud-generator/src/main/resources/application.yml
  3. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
  4. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  5. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java
  6. 23
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/ZhzlCategorySelectDTO.java
  7. 55
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java
  8. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java
  9. 56
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java
  10. 108
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ZhzlResiCategoryEnum.java
  11. 10
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  12. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  13. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/StrUtil.java
  14. 4
      epmet-gateway/pom.xml
  15. 7
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java
  16. 22
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TableConstant.java
  17. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java
  18. 70
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java
  19. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java
  20. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java
  21. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListLeftFormDTO.java
  22. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageHomeSearchFormDTO.java
  23. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/DataListLeftSubTotalFormDTO.java
  24. 39
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SearchDetailFormDTO.java
  25. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java
  26. 26
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTOV2.java
  27. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageHomeSearchResultDTO.java
  28. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/DataListLeftSubTotalResDTO.java
  29. 59
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/EventInfoResultDTO.java
  30. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridInfoResultDTO.java
  31. 76
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ResourceInfoResultDTO.java
  32. 92
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/UserInfoResultDTO.java
  33. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java
  34. 75
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/MenusEnums.java
  35. 5
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  36. 127
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java
  37. 44
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java
  38. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java
  39. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java
  40. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java
  41. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java
  42. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java
  43. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java
  44. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
  45. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java
  46. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/IcResiCategoryWarnConfigDao.java
  47. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java
  48. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java
  49. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java
  50. 86
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/opercustomize/IcResiCategoryWarnConfigEntity.java
  51. 109
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/GovCustomerMenuRedis.java
  52. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  53. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  54. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java
  55. 28
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  56. 63
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java
  57. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java
  58. 46
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  59. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java
  60. 240
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  61. 29
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java
  62. 66
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  63. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java
  64. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java
  65. 976
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  66. 24
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java
  67. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryStatsConfigService.java
  68. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryWarnService.java
  69. 28
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/impl/IcResiCategoryWarnServiceImpl.java
  70. 133
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml
  71. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  72. 35
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml
  73. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml
  74. 210
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml
  75. 21
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml
  76. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml
  77. 26
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml
  78. 53
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
  79. 31
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml
  80. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercustomize/IcResiCategoryWarnConfigDao.xml
  81. 7
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java
  82. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/form/GridBaseInfoFormDTO.java
  83. 10
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerAgencyDTO.java
  84. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java
  85. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java
  86. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  87. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  88. 2
      epmet-module/data-statistical/data-statistical-server/pom.xml
  89. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java
  90. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java
  91. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java
  92. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java
  93. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  94. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  95. 74
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  96. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
  97. 80
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  98. 11
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  99. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml
  100. 15
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationDTO.java

1
epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java

@ -27,6 +27,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
public class AdminApplication {
public static void main(String[] args) {
System.setProperty("rocketmq.client.logUseSlf4j", "true");
SpringApplication.run(AdminApplication.class, args);
}

2
epmet-cloud-generator/src/main/resources/application.yml

@ -9,7 +9,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://118.190.150.119:43306/epmet_user?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://118.190.150.119:43306/epmet_gov_org?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: root
#oracle配置

5
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java

@ -3,6 +3,7 @@ package com.epmet.commons.rocketmq.messages;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 组织网格人员中间库数据上报MQ
@ -18,7 +19,11 @@ public class OrgOrStaffMQMsg implements Serializable {
//数据类型【组织:agency 网格:grid 人员:staff】
private String orgType;
//操作类型【组织新增:agency_create 组织变更:agency_change 网格新增:grid_create 网格变更:grid_change 人员新增:staff_create 人员变更:staff_change】
//删除网格:grid_delete;删除组织:agency_delete
private String type;
//工作人员Id集合
private List<String> staffIdList;
}

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -50,6 +50,8 @@ public interface NumConstant {
BigDecimal ZERO_DECIMAL = new BigDecimal(0);
int ONE_THOUSAND = 1000;
int TEN_THOUSAND = 10000;
int THREE_THOUSAND = 3000;
int MAX = 99999999;
int EIGHTY_EIGHT = 88;
int EIGHTY = 80;

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java

@ -110,4 +110,9 @@ public interface StrConstant {
String YES = "是";
String NO = "否";
String ELLIPSIS="......";
String BRACKET_LEFT="(";
String BRACKET_RIGNT=")";
}

23
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/ZhzlCategorySelectDTO.java

@ -0,0 +1,23 @@
package com.epmet.commons.tools.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/7/26 16:37
*/
@Data
public class ZhzlCategorySelectDTO implements Serializable {
private String label;
private String value;
private String queryType;
private String tableName;
private String columnName;
private String columnValue;
private Integer sort;
}

55
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java

@ -0,0 +1,55 @@
package com.epmet.commons.tools.enums;
/**
* 图层枚举
*/
public enum CoverageEnums {
ZHZL("zhzl", "综合治理图层", 1),
YJCL("yjcl", "应急处置资源", 1),
AQSC("aqsc", "安全生产资源", 1),
CSGL("csgl", "城市管理资源", 1),
GGFW("ggfw", "公共服务资源", 1),
DATA_TYPE_GOVERNED_TARGET("governedTarget", "被管理对象", 2),
DATA_TYPE_RESOURCES("resources", "资源", 2);
private String key;
private String name;
/**
* 1:图层2数据类型
*/
private Integer type;
CoverageEnums(String key, String name, Integer type) {
this.key = key;
this.name = name;
this.type = type;
}
public static CoverageEnums getEnum(String key) {
CoverageEnums[] values = CoverageEnums.values();
for (CoverageEnums value : values) {
if (value.getKey().equals(key)) {
return value;
}
}
return null;
}
public String getKey() {
return key;
}
public String getCoverageName() {
return name;
}
public String getName() {
return name;
}
public Integer getType() {
return type;
}
}

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java

@ -8,14 +8,17 @@ public enum CoveragePlaceTypeEnum {
SUPERIOR_RESOURCE("superior_resource", "优势资源"),
DANGEROUS_CHEMICALS("dangerous_chemicals", "重点危化企业"),
ENTERPRISE_PATROL("enterprise_patrol", "企事业单位巡查"),
ENTERPRISE_PATROL_UNQUALIFIED("enterprise_patrol_unqualified", "安全生产隐患"),
SPECIAL_RESI("special_resi", "特殊人群"),
CITY_MANAGEMENT("city_management", "城市管理"),
COMMUNITY_ORG("community_org", "社区自组织"),
PUBLIC_SERVICE("public_service", "公共服务"),
RESI("resi", "居民"),
RESI("resi", "公共服务人群"),
PARTY_UNIT("party_unit", "联建单位"),
VOLUNTEER("volunteer", "志愿者"),
GROUP_RENT("group_rent", "群租房"),
EVENT("event", "事件(包括难点堵点)");
EVENT("event", "城市管理事件"),
ZHZL_RQ("zhzl_rq", "综合治理人群");
private final String code;
private final String name;

56
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java

@ -0,0 +1,56 @@
package com.epmet.commons.tools.enums;
public enum ResiCategoryEnum {
IS_PARTY("IS_PARTY", "党员"),
IS_DBH("IS_DBH", "低保人员"),
IS_ENSURE_HOUSE("IS_ENSURE_HOUSE", "保障房人员"),
IS_UNEMPLOYED("IS_UNEMPLOYED", "失业人员"),
IS_YLFN("IS_YLFN", "育龄妇女"),
IS_VETERANS("IS_VETERANS", "退役军人"),
IS_UNITED_FRONT("IS_UNITED_FRONT", "统战人员"),
IS_XFRY("IS_XFRY", "信访人员"),
IS_VOLUNTEER("IS_VOLUNTEER", "志愿者"),
IS_OLD_PEOPLE("IS_OLD_PEOPLE", "老年人"),
IS_KC("IS_KC", "空巢"),
IS_SD("IS_SD", "失独人员"),
IS_SN("IS_SN", "失能"),
IS_SZ("IS_SZ", "失智"),
IS_CJ("IS_CJ", "残疾"),
IS_DB("IS_DB", "大病"),
IS_MB("IS_MB", "慢病"),
IS_SPECIAL("IS_SPECIAL", "特殊人群");
private String colName;
private String label;
ResiCategoryEnum(String colName, String label) {
this.colName = colName;
this.label = label;
}
/**
* 取枚举对象
* @param columnName
* @return
*/
public static ResiCategoryEnum getEnum(String columnName) {
for (ResiCategoryEnum enumObject : ResiCategoryEnum.values()) {
if (enumObject.getColName().equals(columnName)) {
return enumObject;
}
}
return null;
}
public String getColName() {
return colName;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
}

108
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ZhzlResiCategoryEnum.java

@ -0,0 +1,108 @@
package com.epmet.commons.tools.enums;
import com.epmet.commons.tools.dto.result.ZhzlCategorySelectDTO;
import java.util.ArrayList;
import java.util.List;
public enum ZhzlResiCategoryEnum {
// resi_xfry 信访人员
// anzhibangjiao 安置帮教
// xiejiaorenyuan 邪教人员
// buliangqingshaonian 不良青少年
// shequjiaozheng 社区矫正
// zhaoshizhaohuojingshenbing 肇事肇祸精神病
// xidurenyuan 吸毒人员
resi_xfry("resi_xfry", "信访人员", "equal", "ic_resi_user", "IS_XFRY", "1", 1),
anzhibangjiao("anzhibangjiao", "安置帮教", "list_equal", "ic_special", "SPECIAL_RQLB", "anzhibangjiao", 2),
xiejiaorenyuan("xiejiaorenyuan", "邪教人员", "list_equal", "ic_special", "SPECIAL_RQLB", "xiejiaorenyuan", 3),
buliangqingshaonian("buliangqingshaonian", "不良青少年", "list_equal", "ic_special", "SPECIAL_RQLB", "buliangqingshaonian", 4),
shequjiaozheng("shequjiaozheng", "社区矫正", "list_equal", "ic_special", "SPECIAL_RQLB", "shequjiaozheng", 5),
zhaoshizhaohuojingshenbing("zhaoshizhaohuojingshenbing", "肇事肇祸精神病", "list_equal", "ic_special", "SPECIAL_RQLB", "zhaoshizhaohuojingshenbing", 6),
xidurenyuan("xidurenyuan", "吸毒人员", "list_equal", "ic_special", "SPECIAL_RQLB", "xidurenyuan", 7);
private String code;
private String name;
private String queryType;
private String tableName;
private String columnName;
private String columnValue;
private Integer sort;
ZhzlResiCategoryEnum(String code, String name, String queryType, String tableName, String columnName, String columnValue, Integer sort) {
this.code = code;
this.name = name;
this.queryType = queryType;
this.tableName = tableName;
this.columnName = columnName;
this.columnValue = columnValue;
this.sort = sort;
}
public static ZhzlResiCategoryEnum getEnum(String code) {
ZhzlResiCategoryEnum[] values = ZhzlResiCategoryEnum.values();
for (ZhzlResiCategoryEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
/**
* 转为数据
*
* @return 枚举对象数组
*/
public static List<ZhzlCategorySelectDTO> toSelectList() {
List<ZhzlCategorySelectDTO> list = new ArrayList<>();
for (ZhzlResiCategoryEnum item : ZhzlResiCategoryEnum.values()) {
ZhzlCategorySelectDTO selectDTO = new ZhzlCategorySelectDTO();
selectDTO.setLabel(item.getName());
selectDTO.setValue(item.getCode());
selectDTO.setQueryType(item.getQueryType());
selectDTO.setTableName(item.getTableName());
selectDTO.setColumnName(item.getColumnName());
selectDTO.setColumnValue(item.getColumnValue());
selectDTO.setSort(item.getSort());
list.add(selectDTO);
}
return list;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getQueryType() {
return queryType;
}
public String getTableName() {
return tableName;
}
public String getColumnName() {
return columnName;
}
public String getColumnValue() {
return columnValue;
}
public Integer getSort() {
return sort;
}
}

10
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -777,6 +777,16 @@ public class RedisKeys {
return rootPrefix.concat("gov:access:nav:");
}
/**
* Desc: 新五大图层获取菜单缓存key
* @param
* @author zxc
* @date 2022/7/27 13:42
*/
public static String getCustomerMenuListFiveCoverage() {
return rootPrefix.concat("customer:govMenu:");
}
/**
* 如果是省列表epmet:areacode:parentCode:0
* 山东省的下一级epmet:areacode:parentCode:37

9
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java

@ -375,6 +375,15 @@ public class RedisUtils {
return redisTemplate.opsForSet().add(key,value);
}
public void listAdd(String key,Object value){
redisTemplate.opsForList().rightPush(key,value);
}
public Object listGetAll(String key,Integer start, Integer end){
List<Object> result = redisTemplate.opsForList().range(key, start, end);
return result;
}
/**
* @Description 获取 zset 中带score的集合
* @param key

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/StrUtil.java

@ -0,0 +1,37 @@
package com.epmet.commons.tools.utils;
import org.apache.commons.lang3.StringUtils;
/**
* desc:utf8mb4转为utf8
*
* @author: LiuJanJun
* @date: 2022/7/22 9:45 下午
* @version: 1.0
*/
public class StrUtil {
private static final int LAST_BMP = 0xFFFF;
public static String filterEmoji(String source) {
if (StringUtils.isBlank(source)) {
return source;
}
StringBuilder sb = new StringBuilder(source.length());
for (int i = 0; i < source.length(); i++) {
int codePoint = source.codePointAt(i);
if (codePoint < LAST_BMP) {
sb.appendCodePoint(codePoint);
} else {
i++;
}
}
return sb.toString();
}
public static void main(String[] args) {
String x = StrUtil.filterEmoji("😀😁😆😅🥹🥹😇😗😀😂666");
System.out.println(x);
}
}

4
epmet-gateway/pom.xml

@ -284,6 +284,7 @@
<!-- <gateway.routes.epmet-oss-server.uri>http://localhost:8083</gateway.routes.epmet-oss-server.uri>-->
<!-- 5、消息服务 -->
<gateway.routes.epmet-message-server.uri>lb://epmet-message-server</gateway.routes.epmet-message-server.uri>
<!-- <gateway.routes.epmet-message-server.uri>http://localhost:8085</gateway.routes.epmet-message-server.uri>-->
<!-- 6、工作流服务 -->
<gateway.routes.epmet-activiti-server.uri>lb://epmet-activiti-server</gateway.routes.epmet-activiti-server.uri>
<!-- 7、定时任务服务 -->
@ -323,6 +324,7 @@
<!--19.政府端-权限-服务-->
<gateway.routes.gov-access-server.uri>lb://gov-access-server</gateway.routes.gov-access-server.uri>
<!--<gateway.routes.gov-access-server.uri>http://localhost:8099</gateway.routes.gov-access-server.uri>-->
<!--20.政府端-我的-服务-->
<!-- <gateway.routes.gov-mine-server.uri>http://localhost:8098</gateway.routes.gov-mine-server.uri>-->
@ -362,7 +364,7 @@
<!-- 32、爱心互助 -->
<gateway.routes.epmet-heart-server.url>lb://epmet-heart-server</gateway.routes.epmet-heart-server.url>
<!-- <gateway.routes.epmet-heart-server.url>http://127.0.0.1:8111</gateway.routes.epmet-heart-server.url>-->
<!-- <gateway.routes.epmet-heart-server.url>http://127.0.0.1:8111</gateway.routes.epmet-heart-server.url>-->
<!-- 33、 积分银行 -->
<gateway.routes.epmet-point-server.url>lb://epmet-point-server</gateway.routes.epmet-point-server.url>
<!-- <gateway.routes.epmet-point-server.url>http://127.0.0.1:8112</gateway.routes.epmet-point-server.url>-->

7
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java

@ -15,4 +15,11 @@ public interface OrgConstant {
String GRID_ID="GRID_ID";
String GENDER="GENDER";
String HOUSE_TYPE_KEY="HOUSE_TYPE";
String AGENCY_ID="agencyId";
String AGENC_PATH="agencyPath";
String SEARCH_TYPE_USER = "user";
String SEARCH_TYPE_EVENT = "event";
String SEARCH_TYPE_RESOURCE = "resource";
}

22
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TableConstant.java

@ -0,0 +1,22 @@
package com.epmet.dataaggre.constant;
/**
*
*/
public interface TableConstant {
String IC_DANGEROUS_CHEMICALS = "ic_dangerous_chemicals";
String IC_SUPERIOR_RESOURCE = "ic_superior_resource";
String IC_ENTERPRISE = "ic_enterprise";
String IC_COMMUNITY_SELF_ORGANIZATION = "ic_community_self_organization";
String IC_CITY_MANAGEMENT = "ic_city_management";
String IC_PUBLIC_SERVICE = "ic_public_service";
String IC_EVENT = "ic_event";
}

25
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java

@ -0,0 +1,25 @@
package com.epmet.dataaggre.dto.coverage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 五大图层分析-被管理对象分类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AnalysisGovernedTargetsResult {
private String categoryKey;
private String categoryName;
private String coverageType;
private String placeType;
private String placeTypeName;
private Integer quantity = 0;
private List<AnalysisGovernedTargetsResult> children;
}

70
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java

@ -0,0 +1,70 @@
package com.epmet.dataaggre.dto.coverage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 五大图层-可视化-右侧分类树列表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AnalysisResourceCategoriesResult {
/**
* 图层类型
*/
private String coverageType;
/**
* 图层名称
*/
private String coverageName;
/**
* 个数
*/
private AtomicInteger quantity = new AtomicInteger(0);
/**
* 没有placeTypeInAnalysis直接属于图层的
*/
private List<Category> categories = new ArrayList<>();
/**
* 场所类型有placeTypeInAnalysis不直接属于图层的
*/
private List<PlaceType> placeTypesInAnalysis = new ArrayList<>();
/**
* 分类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Category {
private String categoryKey;
private String categoryName;
private String coverageType;
private String placeType;
private Integer quantity = 0;
}
/**
* 场所类型
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class PlaceType {
private String placeType;
private String placeTypeName;
private AtomicInteger quantity = new AtomicInteger(0);
private List<Category> categories;
}
}

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

@ -10,4 +10,5 @@ public class IcResiInfoResultDTO {
private String id;
private String name;
private String buildId;
private String idNum;
}

9
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java

@ -9,7 +9,16 @@ import java.util.List;
*/
@Data
public class CoverageAnalisisDataListFormDTO {
/**
* 目前都是组织id
*/
private String orgId;
/**
* agency
* grid
*/
private String orgType;
/**
* 图层类型列表
*/

44
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListLeftFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dataaggre.dto.govorg.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/7/28 11:09
*/
@Data
public class CoverageAnalisisDataListLeftFormDTO {
public interface ShowGroup extends CustomerClientShowGroup {
}
/**
* 目前都是组织id
*/
@NotBlank(message = "组织不能为空", groups = ShowGroup.class)
private String orgId;
/**
* agency
* grid
*/
@NotBlank(message = "组织类型不能为空", groups = ShowGroup.class)
private String orgType;
/**
* 图层类型列表
*/
private List<String> coverageTypes;
/**
* 分类key
*/
private List<String> categoryKeys;
private String customerId;
private String staffId;
}

44
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageHomeSearchFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dataaggre.dto.govorg.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/7/26 16:25
* @DESC
*/
@Data
public class CoverageHomeSearchFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 3776954636762201010L;
private String name;
private String customerId;
private String userId;
private String orgId;
private String pids;
private String tableName;
/**
* 搜索类型居民user事件event资源resource
*/
private String searchType;
/**
* 资源类型社区自组织community_org;优势资源:superior_resource;城市管理city_management重点危化企业dangerous_chemicals公共服务public_service企事业单位巡查enterprise_patrol
* searchType为resource时此字段必填
*/
private String resourceType;
private String resourceId;
private String icEventId;
private String icUserId;
}

33
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/DataListLeftSubTotalFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dataaggre.dto.govorg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Description
* @Author yzm
* @Date 2022/7/29 10:38
*/
@Data
public class DataListLeftSubTotalFormDTO {
public interface AddUserInterGroup{}
@NotBlank(message = "orgId不能为空",groups = AddUserInterGroup.class)
private String orgId;
@NotBlank(message = "orgType不能为空",groups = AddUserInterGroup.class)
private String orgType;
private String coverageType;
@NotBlank(message = "categoryKey不能为空",groups = AddUserInterGroup.class)
private String categoryKey;
@NotBlank(message = "placeType不能为空",groups = AddUserInterGroup.class)
private String placeType;
private String customerId;
private String staffId;
}

39
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SearchDetailFormDTO.java

@ -0,0 +1,39 @@
package com.epmet.dataaggre.dto.govorg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/7/29 08:48
* @DESC
*/
@Data
public class SearchDetailFormDTO implements Serializable {
private static final long serialVersionUID = 3499320376768396157L;
public interface SearchUserDetailForm{}
public interface SearchEventDetailForm{}
public interface SearchResourceDetailForm{}
@NotBlank(message = "icUserId不能为空",groups = SearchUserDetailForm.class)
private String icUserId;
@NotBlank(message = "icEventId不能为空",groups = SearchEventDetailForm.class)
private String icEventId;
@NotBlank(message = "resourceId不能为空",groups = SearchResourceDetailForm.class)
private String resourceId;
/**
* 资源类型社区自组织community_org;优势资源:superior_resource;城市管理city_management重点危化企业dangerous_chemicals公共服务public_service企事业单位巡查enterprise_patrol
*/
@NotBlank(message = "resourceType不能为空",groups = SearchResourceDetailForm.class)
private String resourceType;
private String customerId;
}

19
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java

@ -1,8 +1,10 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.epmet.commons.tools.constant.StrConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
@Data
@NoArgsConstructor
@ -40,4 +42,21 @@ public class CoverageAnalisisDataListResultDTO {
*/
private String longitude;
/**
* 经度,纬度120.38862649282282,36.07138835989835
*/
private String longLat;
public CoverageAnalisisDataListResultDTO(String id, String categoryKey, String categoryName, String placeType, String content, String latitude, String longitude) {
this.id=id;
this.categoryKey=categoryKey;
this.categoryName=categoryName;
this.placeType=placeType;
this.content=content;
this.latitude=latitude;
this.longitude=longitude;
if(StringUtils.isNotBlank(latitude)&&StringUtils.isNotBlank(longitude)){
this.longLat=longitude.concat(StrConstant.COMMA).concat(latitude);
}
}
}

26
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTOV2.java

@ -0,0 +1,26 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/7/28 11:13
*/
@Data
public class CoverageAnalisisDataListResultDTOV2 {
/**
* 维度
*/
private String latitude;
/**
* 经度
*/
private String longitude;
private List<CoverageAnalisisDataListResultDTO> dataList;
}

46
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageHomeSearchResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/7/26 16:25
* @DESC
*/
@Data
public class CoverageHomeSearchResultDTO implements Serializable {
private static final long serialVersionUID = 8922820109004386708L;
/**
* 居民信息
*/
private List<UserInfoResultDTO> userInfos;
private Long userInfosTotal;
/**
* 事件信息
*/
private List<EventInfoResultDTO> eventInfos;
private Long eventInfoTotal;
/**
* 资源信息
*/
private List<ResourceInfoResultDTO> resourceInfos;
private Long resourceInfoTotal;
public CoverageHomeSearchResultDTO() {
this.userInfos = new ArrayList<>();
this.userInfosTotal = NumConstant.ZERO_L;
this.eventInfos = new ArrayList<>();
this.eventInfoTotal = NumConstant.ZERO_L;
this.resourceInfos = new ArrayList<>();
this.resourceInfoTotal = NumConstant.ZERO_L;
}
}

19
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/DataListLeftSubTotalResDTO.java

@ -0,0 +1,19 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/7/29 10:45
*/
@Data
public class DataListLeftSubTotalResDTO {
private String orgId;
private String orgType;
private String orgName;
private String longitude;
private String latitude;
private Integer total=0;
}

59
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/EventInfoResultDTO.java

@ -0,0 +1,59 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/7/26 16:52
* @DESC 事件本组织及下级难点堵点 社区治理-事件管理中标记的痛点堵点
*/
@Data
public class EventInfoResultDTO implements Serializable {
private static final long serialVersionUID = 1645410018462094960L;
/**
* 事件ID
*/
private String eventId;
/**
* 所属网格
*/
private String gridName;
@JsonIgnore
private String gridId;
/**
* 发生时间 yyyy-dd-mm hh:ii:ss
*/
private String happenTime;
/**
* 事件内容
*/
private String eventContent;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
public EventInfoResultDTO() {
this.eventId = "";
this.gridName = "";
this.happenTime = "";
this.eventContent = "";
this.longitude = "";
this.latitude = "";
}
}

8
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridInfoResultDTO.java

@ -38,5 +38,13 @@ public class GridInfoResultDTO implements Serializable {
private String gridId = "";
private String gridName = "";
private String pids = "";
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

76
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ResourceInfoResultDTO.java

@ -0,0 +1,76 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/7/26 16:52
* @DESC
*/
@Data
public class ResourceInfoResultDTO implements Serializable {
private static final long serialVersionUID = 1645410018462094960L;
private String resourceId;
private String resourceType;
private String name;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 分类名称
*/
private String categoryName;
private String category;
/**
* 占地面积
*/
private String areaCovered;
/**
* 容纳人数
*/
private String capacity;
/**
* 地址
*/
private String address;
/**
* 联系电话
*/
private String mobile;
/**
* 联系人
*/
private String principal;
public ResourceInfoResultDTO() {
this.resourceId = "";
this.resourceType = "";
this.name = "";
this.longitude = "";
this.latitude = "";
this.categoryName = "";
this.areaCovered = "";
this.capacity = "";
this.address = "";
this.mobile = "";
this.principal = "";
}
}

92
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/UserInfoResultDTO.java

@ -0,0 +1,92 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/7/26 16:52
* @DESC
*/
@Data
public class UserInfoResultDTO implements Serializable {
private static final long serialVersionUID = 1645410018462094960L;
private String icUserId;
/**
* 名字
*/
private String name;
/**
* 所属网格
*/
private String gridName;
@JsonIgnore
private String gridId;
/**
* 所属房屋
*/
private String houseName;
@JsonIgnore
private String homeId;
/**
* 手机号
*/
private String mobile;
/**
* 身份证
*/
private String idCard;
/**
* 工作单位
*/
private String gzdw;
/**
* 人户情况
*/
private String rhqk;
/**
* 人员分类
*/
private List<String> type;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
public UserInfoResultDTO() {
this.icUserId = "";
this.name = "";
this.gridName = "";
this.houseName = "";
this.homeId = "";
this.mobile = "";
this.idCard = "";
this.gzdw = "";
this.rhqk = "";
this.type = new ArrayList<>();
this.longitude = "";
this.latitude = "";
}
}

9
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java

@ -17,4 +17,13 @@ public class OrgInfoCommonDTO implements Serializable {
private String orgId;
private String orgName;
private String orgType;
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

75
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/MenusEnums.java

@ -0,0 +1,75 @@
package com.epmet.dataaggre.enums;
import org.apache.commons.lang3.StringUtils;
public enum MenusEnums {
IC_DANGEROUS_CHEMICALS("shequzhili/tuceng/anquan/weihua/index","ic_dangerous_chemicals","重点危化品企业","govorg"),
IC_SUPERIOR_RESOURCE("shequzhili/tuceng/yingji/ziyuan/index","ic_superior_resource","优势资源管理","govorg"),
IC_ENTERPRISE("shequzhili/tuceng/anquan/xuncha/index","ic_enterprise","企事业单位巡查","govorg"),
IC_COMMUNITY_SELF_ORGANIZATION("communityService/sqzzz/index","ic_community_self_organization","社区自组织","heart"),
IC_CITY_MANAGEMENT("shequzhili/csgltc/csgl","ic_city_management","城市管理图层","govorg"),
IC_PUBLIC_SERVICE("shequzhili/ggfwtc/ggfw","ic_public_service","公共服务图层","govorg"),
IC_EVENT("shequzhili/event/eventList","ic_event","事件管理","govproject");
private String url;
private String value;
private String name;
private String db;
MenusEnums(String url, String value, String name, String db) {
this.url = url;
this.value = value;
this.name = name;
this.db = db;
}
public static MenusEnums get(String url) {
for (MenusEnums gm : MenusEnums.values()) {
if (gm.url.equals(url)) {
return gm;
}
}
return null;
}
public static String getValueByUrl(String url){
if (StringUtils.isBlank(url)){
return "";
}
for (MenusEnums me : MenusEnums.values()) {
if (me.url.equals(url)) {
return me.getValue();
}
}
return "";
}
public static String getDbByValue(String table){
if (StringUtils.isBlank(table)){
return "";
}
for (MenusEnums me : MenusEnums.values()) {
if (me.value.equals(table)) {
return me.getDb();
}
}
return "";
}
public String getUrl() {
return url;
}
public String getValue() {
return value;
}
public String getName() {
return name;
}
public String getDb() {
return db;
}
}

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

@ -13,6 +13,11 @@
<artifactId>data-aggregator-server</artifactId>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-access-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-heart-client</artifactId>

127
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java

@ -1,19 +1,31 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.dto.result.ZhzlCategorySelectDTO;
import com.epmet.commons.tools.enums.ZhzlResiCategoryEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.dto.govorg.form.CoverageAnalisisDataListFormDTO;
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult;
import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.service.CoverageService;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 5大图层controller
@ -32,15 +44,122 @@ public class CoverageController {
*/
@RequestMapping("dataList")
public Result<PageData<CoverageAnalisisDataListResultDTO>> dataList(@RequestBody CoverageAnalisisDataListFormDTO input) {
// 获取跟组织的坐标
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
String staffId = EpmetRequestHolder.getLoginUserId();
List<String> coverageTypes = input.getCoverageTypes();
List<String> categoryKeys = input.getCategoryKeys();
if (CollectionUtils.isEmpty(coverageTypes)) {
return new Result().ok(new PageData<>(new ArrayList<>(), 0));
}
PageData<CoverageAnalisisDataListResultDTO> page = coverageService.analysisDataList(coverageTypes, categoryKeys,
PageData<CoverageAnalisisDataListResultDTO> page = coverageService.analysisDataList(customerId,staffId,input.getOrgId(),input.getOrgType(),coverageTypes, categoryKeys,
input.getSearch(), input.getPageNo(), input.getPageSize(), input.getIsPage());
return new Result<PageData<CoverageAnalisisDataListResultDTO>>().ok(page);
}
/**
* 综合治理图层页面居民类别下拉框
* @return
*/
@PostMapping("zhzl-category-option")
public Result<List<ZhzlCategorySelectDTO>> queryZhzlCategorySelectOptions() {
List<ZhzlCategorySelectDTO> list = ZhzlResiCategoryEnum.toSelectList();
return new Result<List<ZhzlCategorySelectDTO>>().ok(list);
}
/**
* Desc: 五大图层首页搜索
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2022/7/26 16:29
*/
@PostMapping("search")
public Result<CoverageHomeSearchResultDTO> coverageHomeSearch(@RequestBody CoverageHomeSearchFormDTO formDTO, @LoginUser TokenDto tokenDto){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<CoverageHomeSearchResultDTO>().ok(coverageService.coverageHomeSearch(formDTO));
}
/**
* 五大图层-可视化-右侧分类树列表
* @return
*/
@PostMapping("analysis/resourceCategories")
public Result<List<AnalysisResourceCategoriesResult>> listAnalysisResourceCategories(@RequestBody Map<String, String> input) {
String agencyId = input.get("agencyId");
List<AnalysisResourceCategoriesResult> r = coverageService.listAnalysisResourceCategories(agencyId);
return new Result<List<AnalysisResourceCategoriesResult>>().ok(r);
}
/**
* 被管理对象分类列表
* @param input:只有一个字段:agencyId
* @return
*/
@PostMapping("analysis/governedTargetCategories")
public Result<List<AnalysisGovernedTargetsResult>> listGovernedTargetCategories(@RequestBody Map<String, String> input) {
String agencyId = input.get("agencyId");
if (StringUtils.isBlank(agencyId)) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "请输入组织ID");
}
List<AnalysisGovernedTargetsResult> r = coverageService.listGovernedTargetCategories(agencyId);
return new Result<List<AnalysisGovernedTargetsResult>>().ok(r);
}
/**
* 五大图层左侧菜单点击事件查询人.事的分布
*
* @param formDTO
* @return
*/
@RequestMapping("dataList-left")
public Result<PageData<CoverageAnalisisDataListResultDTOV2>> dataListLeft(@LoginUser TokenDto tokenDto, @RequestBody CoverageAnalisisDataListLeftFormDTO formDTO) {
List<String> coverageTypes = formDTO.getCoverageTypes();
List<String> categoryKeys = formDTO.getCategoryKeys();
if (CollectionUtils.isEmpty(coverageTypes)||CollectionUtils.isEmpty(categoryKeys)) {
return new Result().ok(new PageData<>(new ArrayList<>(), 0));
}
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
PageData<CoverageAnalisisDataListResultDTOV2> page = coverageService.dataListLeft(formDTO);
return new Result<PageData<CoverageAnalisisDataListResultDTOV2>>().ok(page);
}
@PostMapping("search-user-detail")
public Result<UserInfoResultDTO> searchUserDetail(@RequestBody SearchDetailFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, SearchDetailFormDTO.SearchUserDetailForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<UserInfoResultDTO>().ok(coverageService.searchUserDetail(formDTO));
}
@PostMapping("search-event-detail")
public Result<EventInfoResultDTO> searchEventDetail(@RequestBody SearchDetailFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, SearchDetailFormDTO.SearchEventDetailForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<EventInfoResultDTO>().ok(coverageService.searchEventDetail(formDTO));
}
@PostMapping("search-resource-detail")
public Result<ResourceInfoResultDTO> searchResourceDetail(@RequestBody SearchDetailFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, SearchDetailFormDTO.SearchResourceDetailForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<ResourceInfoResultDTO>().ok(coverageService.searchResourceDetail(formDTO));
}
/**
* 左侧菜单点击后查询当前组织下级组织各分类数量
*
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("dataList-left-subtotal")
public Result<List<DataListLeftSubTotalResDTO>> dataListLeftSubTotal(@LoginUser TokenDto tokenDto, @RequestBody DataListLeftSubTotalFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, DataListLeftSubTotalFormDTO.AddUserInterGroup.class);
List<DataListLeftSubTotalResDTO> resultList = coverageService.dataListLeftSubTotal(formDTO);
return new Result<List<DataListLeftSubTotalResDTO>>().ok(resultList);
}
}

44
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java

@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.UserInfoResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity;
import com.epmet.dto.IcResiUserDTO;
@ -28,7 +30,6 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* 用户基础信息
@ -61,7 +62,8 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("agencyId") String agencyId,
@Param("queryPids") String queryPids,
@Param("categoryKey") String categoryKey,
@Param("search") String search);
@Param("search") String search,
@Param("gridId")String gridId);
/**
* 政策查找居民
@ -98,4 +100,42 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("name") String name,
@Param("resiRules") List<ResisByPolicyRulesFormDTO.ResiRule> resiRule,
@Param("houseIds") List<String> houseIds);
/**
* Desc: 获取icUser
* @param formDTO
* @author zxc
* @date 2022/7/27 17:09
*/
List<UserInfoResultDTO> getAllIcUser(CoverageHomeSearchFormDTO formDTO);
Integer countVolunteersByCategory(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("staffOrgIds")String staffOrgIds,
@Param("search")String search,
@Param("resiCategory")String resiCategory);
Integer countVolunteersWithoutVolCategory(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("staffOrgIds")String staffOrgIds,
@Param("search")String search);
List<IcResiUserEntity> listVolunteersByCategory(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("staffOrgIds")String staffOrgIds,
@Param("search")String search,
@Param("resiCategory")String resiCategory);
/**
* 列出没有志愿者类别的志愿者
* @param customerId
* @param agencyId
* @param staffOrgIds
* @param search
* @return
*/
List<IcResiUserEntity> listVolunteersWithoutVolCategory(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("staffOrgIds")String staffOrgIds,
@Param("search")String search);
}

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java

@ -22,6 +22,7 @@ import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO;
import com.epmet.dataaggre.dto.govorg.OrgDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO;
import com.epmet.dataaggre.entity.govorg.CustomerStaffAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -71,4 +72,6 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
*/
List<OrgDTO> selectSubAgency(@Param("agencyId") String agencyId, @Param("userId") String userId);
List<StaffOrgRelationResultDTO> getStaffList(@Param("orgId") String orgId, @Param("orgType") String orgType);
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java

@ -56,4 +56,6 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
* @Date 2021/8/20 14:37
*/
List<OrgDTO> selectGridList(@Param("agencyId") String agencyId, @Param("userId") String userId);
List<GridStaffResultDTO> getGridStaffByAgency(@Param("agencyId") String agencyId);
}

48
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java

@ -1,9 +1,13 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO;
import com.epmet.dataaggre.entity.govorg.IcCityManagementEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 城市管理图层
*
@ -13,5 +17,49 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IcCityManagementDao extends BaseDao<IcCityManagementEntity> {
/**
* Desc: 资源获取城市管理信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getCityManageInfos(CoverageHomeSearchFormDTO formDTO);
Integer getCityManageInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取公共服务信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getPublicServiceInfos(CoverageHomeSearchFormDTO formDTO);
Integer getPublicServiceInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取重点危化品企业信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getDangerousChemicalsInfos(CoverageHomeSearchFormDTO formDTO);
Integer getDangerousChemicalsInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取优势资源信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getSuperiorResourceInfos(CoverageHomeSearchFormDTO formDTO);
Integer getSuperiorResourceInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取企事业单位巡查信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getEnterpriseInfos(CoverageHomeSearchFormDTO formDTO);
Integer getEnterpriseInfosCount(CoverageHomeSearchFormDTO formDTO);
}

14
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java

@ -3,6 +3,9 @@ package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 五大图层类别字典表
@ -12,5 +15,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcCoverageCategoryDictDao extends BaseDao<IcCoverageCategoryDictEntity> {
/**
* Desc: 根据客户ID和数据类型获取字典对应的url
* @param customerId
* @param dataType
* @author zxc
* @date 2022/7/27 16:52
*/
List<String> getAllTypeCoverageByCustomerAndType(@Param("customerId") String customerId, @Param("dataType") String dataType);
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java

@ -26,7 +26,8 @@ public interface IcEnterprisePatrolRecordDao extends BaseDao<IcEnterprisePatrolR
*/
Integer countEnterprisePatrol(@Param("customerId") String customerId, @Param("agencyId") String agencyId,
@Param("staffOrgIds") String staffOrgIds, @Param("search") String search,
@Param("categoryKey") String categoryKey);
@Param("categoryKey") String categoryKey,@Param("latestResult")String latestResult,
@Param("gridId")String gridId);
/**
* 企事业单位巡查列表
@ -38,5 +39,5 @@ public interface IcEnterprisePatrolRecordDao extends BaseDao<IcEnterprisePatrolR
*/
List<IcEnterisePatrolResultDTO> listEnterprisePatrol(@Param("customerId") String customerId, @Param("agencyId") String agencyId,
@Param("staffOrgIds") String staffOrgIds, @Param("search") String search,
@Param("categoryKey") String categoryKey);
@Param("categoryKey") String categoryKey, @Param("latestResult") String latestResult);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java

@ -1,9 +1,13 @@
package com.epmet.dataaggre.dao.govproject;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.EventInfoResultDTO;
import com.epmet.dataaggre.entity.govproject.IcEventEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 事件管理表
*
@ -12,4 +16,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcEventDao extends BaseDao<IcEventEntity> {
/**
* Desc: 资源获取事件信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:48
*/
List<EventInfoResultDTO> getEventInfos(CoverageHomeSearchFormDTO formDTO);
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java

@ -130,4 +130,6 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
List<OrgCountDTO> getGridClosedProjectCount(OrgStatisticsFormDTO formDTO);
List<OrgCountDTO> getMemberProjectCount(OrgStatisticsFormDTO formDTO);
List<OrgCountDTO> getMemberClosedProjectCount(OrgStatisticsFormDTO formDTO);
List<OrgCountDTO> getAgencyProjectCount(OrgStatisticsFormDTO formDTO);
List<OrgCountDTO> getAgencyClosedProjectCount(OrgStatisticsFormDTO formDTO);
}

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java

@ -18,9 +18,13 @@
package com.epmet.dataaggre.dao.heart;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO;
import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 社区自组织表
*
@ -29,4 +33,8 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcCommunitySelfOrganizationDao extends BaseDao<IcCommunitySelfOrganizationEntity> {
List<ResourceInfoResultDTO> getCommunitySelOrgInfos(CoverageHomeSearchFormDTO formDTO);
Integer getCommunitySelOrgInfosCount(CoverageHomeSearchFormDTO formDTO);
}

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/IcResiCategoryWarnConfigDao.java

@ -0,0 +1,9 @@
package com.epmet.dataaggre.dao.opercustomize;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.entity.opercustomize.IcResiCategoryWarnConfigEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IcResiCategoryWarnConfigDao extends BaseDao<IcResiCategoryWarnConfigEntity> {
}

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java

@ -73,4 +73,14 @@ public class IcCityManagementEntity extends BaseEpmetEntity {
*/
private String latitude;
/**
* 联系人
*/
private String principal;
/**
* 联系电话
*/
private String mobile;
}

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java

@ -43,11 +43,23 @@ public class IcCoverageCategoryDictEntity extends BaseEpmetEntity {
*/
private String placeType;
/**
* 在可视化系统中所属的plact_type跟COVERAGE_TYPE可能不同COVERAGE_TYPE是给管理平台用的
*/
private String placeTypeInAnalysis;
/**
* 要跟菜单绑定(客户配置了这个菜单这里才显示)
*/
private String menuUrl;
/**
* 所属五大图层zhzl综合治理图层yjcl应急处置图层aqsc安全生产图层csgl城市管理图层ggfw公共服务图层
*/
private String coverageType;
private String dataType;
/**
* 排序
*/

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java

@ -73,4 +73,14 @@ public class IcPublicServiceEntity extends BaseEpmetEntity {
*/
private String latitude;
/**
* 联系人
*/
private String principal;
/**
* 联系电话
*/
private String mobile;
}

86
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/opercustomize/IcResiCategoryWarnConfigEntity.java

@ -0,0 +1,86 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.entity.opercustomize;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 居民类别预警配置表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-11-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_resi_category_warn_config")
public class IcResiCategoryWarnConfigEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 项标签
*/
private String label;
/**
* 表名
*/
private String tableName;
/**
* 列名
*/
private String columnName;
/**
* 是否预警 1 0
*/
private String warn;
/**
* 排序
*/
private Integer sort;
/**
* 等级1阈值
*/
@TableField(value = "LEVEL_1")
private Integer level1;
/**
* 等级2阈值
*/
@TableField(value = "LEVEL_2")
private Integer level2;
/**
* 等级3阈值
*/
@TableField(value = "LEVEL_3")
private Integer level3;
}

109
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/GovCustomerMenuRedis.java

@ -0,0 +1,109 @@
package com.epmet.dataaggre.redis;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.GovMenuDTO;
import com.epmet.dto.form.GetCustomerMenuListFormDTO;
import com.epmet.feign.GovAccessFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 客户菜单配置表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-03-16
*/
@Slf4j
@Component
public class GovCustomerMenuRedis {
@Autowired
private RedisUtils redisUtils;
@Autowired
private GovAccessFeignClient govAccessFeignClient;
/**
* Desc: 保存客户菜单缓存
* @param customerId
* @param type
* @param govMenuDTOS
* @author zxc
* @date 2022/7/27 13:45
*/
public void setCustomerMenuList(String customerId, Integer type, List<GovMenuDTO> govMenuDTOS) {
if (checkParam(customerId, type) && !CollectionUtils.isEmpty(govMenuDTOS) && StringUtils.isNotBlank(govMenuDTOS.get(NumConstant.ZERO).getName())) {
String key = RedisKeys.getCustomerMenuListFiveCoverage().concat(customerId);
govMenuDTOS.forEach(g -> {
Map<String, Object> map = BeanUtil.beanToMap(g, false, true);
redisUtils.listAdd(key,map);
});
}
}
/**
* Desc: 获取客户菜单缓存
* @param customerId
* @param type
* @param tableName
* @author zxc
* @date 2022/7/27 13:45
*/
public List<GovMenuDTO> getCustomerMenuList(String customerId, Integer type, String tableName) {
if (checkParam(customerId, type)) {
String key = RedisKeys.getCustomerMenuListFiveCoverage().concat(customerId);
List<GovMenuDTO> result = new ArrayList<>();
List<Map<String, Object>> maps = (List<Map<String, Object>>) redisUtils.listGetAll(key, NumConstant.ZERO, NumConstant.ONE_NEG);
for (Map<String, Object> map : maps) {
result.add(ConvertUtils.mapToEntity(map,GovMenuDTO.class));
}
// result = (List<GovMenuDTO>) redisUtils.listGetAll(key, NumConstant.ZERO,NumConstant.ONE_NEG);
if (CollectionUtils.isEmpty(result)){
GetCustomerMenuListFormDTO formDTO = new GetCustomerMenuListFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setType(type);
formDTO.setTableName(tableName);
Result<List<GovMenuDTO>> customerMenuList = govAccessFeignClient.getCustomerMenuList(formDTO);
if (!customerMenuList.success()){
throw new EpmetException("查询客户菜单失败"+ JSON.toJSONString(formDTO));
}
result = customerMenuList.getData();
setCustomerMenuList(customerId,type,customerMenuList.getData());
}
return result;
}
return new ArrayList<>();
}
/**
* Desc: 删除客户菜单缓存
* @param
* @author zxc
* @date 2022/7/27 13:47
*/
public void delAllCustomerMenu(String customerId) {
String key = RedisKeys.getCustomerMenuListFiveCoverage().concat(customerId);
redisUtils.deleteByPattern(key);
}
private boolean checkParam(String customerId, Integer type) {
if (StringUtils.isBlank(customerId) || type == null){
log.warn("checkParam fail, param is null");
return false;
}
return true;
}
}

47
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java

@ -1,7 +1,13 @@
package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO;
import com.epmet.dataaggre.dto.coverage.AnalysisGovernedTargetsResult;
import com.epmet.dataaggre.dto.coverage.AnalysisResourceCategoriesResult;
import com.epmet.dataaggre.dto.govorg.form.CoverageAnalisisDataListLeftFormDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.form.DataListLeftSubTotalFormDTO;
import com.epmet.dataaggre.dto.govorg.form.SearchDetailFormDTO;
import com.epmet.dataaggre.dto.govorg.result.*;
import java.util.List;
@ -18,6 +24,43 @@ public interface CoverageService {
* @param pageSize 页面大小
* @return
*/
PageData<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys,
PageData<CoverageAnalisisDataListResultDTO> analysisDataList(String customerId,String staffId,String orgId,String orgType,
List<String> coverageTypes, List<String> categoryKeys,
String search, Integer pageNo, Integer pageSize, Boolean isPage);
/**
* Desc: 五大图层首页搜索
* @param formDTO
* @author zxc
* @date 2022/7/26 16:29
*/
CoverageHomeSearchResultDTO coverageHomeSearch(CoverageHomeSearchFormDTO formDTO);
/**
* 五大图层-可视化-右侧分类树列表
* @return
*/
List<AnalysisResourceCategoriesResult> listAnalysisResourceCategories(String agencyId);
List<AnalysisGovernedTargetsResult> listGovernedTargetCategories(String agencyId);
/**
* 五大图层左侧菜单点击事件查询人.事的分布
* @param formDTO
* @return
*/
PageData<CoverageAnalisisDataListResultDTOV2> dataListLeft(CoverageAnalisisDataListLeftFormDTO formDTO);
UserInfoResultDTO searchUserDetail(SearchDetailFormDTO formDTO);
EventInfoResultDTO searchEventDetail(SearchDetailFormDTO formDTO);
ResourceInfoResultDTO searchResourceDetail(SearchDetailFormDTO formDTO);
/**
* 左侧菜单点击后查询当前组织下级组织各分类数量
* @param formDTO
* @return
*/
List<DataListLeftSubTotalResDTO> dataListLeftSubTotal(DataListLeftSubTotalFormDTO formDTO);
}

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -7,11 +7,13 @@ import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO;
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO;
import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.UserBaseInfoDTO;
@ -230,4 +232,8 @@ public interface EpmetUserService {
* @Date 2022/7/27 17:32
*/
PageData<MemberProjectInfoResultDTO> getMemberList(OrgStatisticsFormDTO formDTO);
Integer countVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory);
List<IcResiUserEntity> listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory);
}

14
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java

@ -1,6 +1,8 @@
package com.epmet.dataaggre.service.epmetuser;
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.UserInfoResultDTO;
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity;
import java.util.List;
@ -22,7 +24,7 @@ public interface IcResiService {
List<IcResiUserEntity> listResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search,
Integer pageNo, Integer pageSize, Boolean isPage);
Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search);
Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search,String gridId);
/**
* 使用特殊人群类别查询居民列表
@ -38,5 +40,13 @@ public interface IcResiService {
List<IcResiInfoResultDTO> listSpecialResisBySpecialType(String customerId, String agencyId, String queryPids, String categoryKey, String search,
Integer pageNo, Integer pageSize, Boolean isPage);
Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search);
Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search,String gridId);
/**
* Desc: 获取icUser
* @param formDTO
* @author zxc
* @date 2022/7/27 17:09
*/
List<UserInfoResultDTO> getAllIcUser(CoverageHomeSearchFormDTO formDTO);
}

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

@ -30,10 +30,7 @@ import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.dto.govproject.result.ProjectAnalysisResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity;
import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity;
import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity;
import com.epmet.dataaggre.entity.epmetuser.*;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService;
@ -605,6 +602,9 @@ public class EpmetUserServiceImpl implements EpmetUserService {
queryWrapper.eq(CustomerStaffEntity::getUserId,staffId)
.eq(CustomerStaffEntity::getDelFlag,NumConstant.ZERO_STR);
CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper);
if (null == staffEntity) {
return null;
}
CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class);
//查询工作人员所属组织信息
@ -892,4 +892,24 @@ public class EpmetUserServiceImpl implements EpmetUserService {
PageInfo<MemberProjectInfoResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public Integer countVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory) {
if ("others".equals(resiCategory)) {
//others需要特殊处理,它是指那些勾选了是志愿者,但是没有选择具体志愿者类型的居民,实际上志愿者类型里面没有others这个类别的
return icResiUserDao.countVolunteersWithoutVolCategory(customerId, agencyId, staffOrgIds, search);
} else {
return icResiUserDao.countVolunteersByCategory(customerId, agencyId, staffOrgIds, search, resiCategory);
}
}
@Override
public List<IcResiUserEntity> listVolunteers(String customerId, String agencyId, String staffOrgIds, String search, String resiCategory) {
if ("others".equals(resiCategory)) {
//others需要特殊处理,它是指那些勾选了是志愿者,但是没有选择具体志愿者类型的居民,实际上志愿者类型里面没有others这个类别的
return icResiUserDao.listVolunteersWithoutVolCategory(customerId, agencyId, staffOrgIds, search);
} else {
return icResiUserDao.listVolunteersByCategory(customerId, agencyId, staffOrgIds, search, resiCategory);
}
}
}

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

@ -2,9 +2,12 @@ package com.epmet.dataaggre.service.epmetuser.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.enums.ResiCategoryEnum;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.epmetuser.IcResiUserDao;
import com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.UserInfoResultDTO;
import com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity;
import com.epmet.dataaggre.service.epmetuser.IcResiService;
import com.github.pagehelper.PageHelper;
@ -37,7 +40,7 @@ public class IcResiServiceImpl implements IcResiService {
PageHelper.startPage(pageNo, pageSize);
}
LambdaQueryWrapper<IcResiUserEntity> query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search);
LambdaQueryWrapper<IcResiUserEntity> query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search, null);
query.orderByAsc(IcResiUserEntity::getCreatedTime);
return resiUserDao.selectList(query);
}
@ -52,8 +55,8 @@ public class IcResiServiceImpl implements IcResiService {
* @return
*/
@Override
public Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search) {
LambdaQueryWrapper<IcResiUserEntity> query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search);
public Integer countResisByCategories4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search, String gridId) {
LambdaQueryWrapper<IcResiUserEntity> query = constructQueryWrapper4Coverage(customerId, agencyId, queryPids, categoryKey, search,gridId);
return resiUserDao.selectCount(query);
}
@ -66,11 +69,12 @@ public class IcResiServiceImpl implements IcResiService {
* @param search
* @return
*/
LambdaQueryWrapper<IcResiUserEntity> constructQueryWrapper4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search) {
LambdaQueryWrapper<IcResiUserEntity> constructQueryWrapper4Coverage(String customerId, String agencyId, String queryPids, String categoryKey, String search,String gridId) {
LambdaQueryWrapper<IcResiUserEntity> query = new LambdaQueryWrapper<>();
query.eq(IcResiUserEntity::getCustomerId, customerId);
query.eq(IcResiUserEntity::getStatus, "0"); // 只查询0 正常的居民。
query.and(q -> q.eq(IcResiUserEntity::getAgencyId, agencyId).or().likeRight(IcResiUserEntity::getPids, queryPids));
query.eq(StringUtils.isNotBlank(gridId), IcResiUserEntity::getGridId, gridId);
if ("resi_xfry".equals(categoryKey)) {
// 信访人员
query.eq(IcResiUserEntity::getIsXfry, true);
@ -78,6 +82,42 @@ public class IcResiServiceImpl implements IcResiService {
query.eq(IcResiUserEntity::getIsSn, true);
} else if ("resi_szry".equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSz, true);
} else if (ResiCategoryEnum.IS_PARTY.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsParty, true);
} else if (ResiCategoryEnum.IS_DBH.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsDbh, true);
} else if (ResiCategoryEnum.IS_ENSURE_HOUSE.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsEnsureHouse, true);
} else if (ResiCategoryEnum.IS_UNEMPLOYED.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsUnemployed, true);
} else if (ResiCategoryEnum.IS_YLFN.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsYlfn, true);
} else if (ResiCategoryEnum.IS_VETERANS.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsVeterans, true);
} else if (ResiCategoryEnum.IS_UNITED_FRONT.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsUnitedFront, true);
} else if (ResiCategoryEnum.IS_XFRY.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsXfry, true);
} else if (ResiCategoryEnum.IS_VOLUNTEER.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsVolunteer, true);
} else if (ResiCategoryEnum.IS_OLD_PEOPLE.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsOldPeople, true);
} else if (ResiCategoryEnum.IS_KC.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsKc, true);
} else if (ResiCategoryEnum.IS_SD.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSd, true);
} else if (ResiCategoryEnum.IS_SN.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSn, true);
} else if (ResiCategoryEnum.IS_SZ.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSz, true);
} else if (ResiCategoryEnum.IS_CJ.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsCj, true);
} else if (ResiCategoryEnum.IS_DB.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsDb, true);
} else if (ResiCategoryEnum.IS_MB.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsMb, true);
} else if (ResiCategoryEnum.IS_SPECIAL.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSpecial, true);
}
if (StringUtils.isNotBlank(search)) {
@ -97,7 +137,18 @@ public class IcResiServiceImpl implements IcResiService {
}
@Override
public Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search) {
return resiUserDao.countSpecialResisBySpecialType(customerId, agencyId, staffOrgIds, categoryKey, search);
public Integer countSpecialResisBySpecialType(String customerId, String agencyId, String staffOrgIds, String categoryKey, String search, String gridId) {
return resiUserDao.countSpecialResisBySpecialType(customerId, agencyId, staffOrgIds, categoryKey, search,gridId);
}
/**
* Desc: 获取icUser
* @param formDTO
* @author zxc
* @date 2022/7/27 17:09
*/
@Override
public List<UserInfoResultDTO> getAllIcUser(CoverageHomeSearchFormDTO formDTO) {
return resiUserDao.getAllIcUser(formDTO);
}
}

19
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java

@ -1,16 +1,13 @@
package com.epmet.dataaggre.service.govorg;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dataaggre.dto.govorg.result.IcEnterisePatrolResultDTO;
import com.epmet.dataaggre.entity.govorg.*;
import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* org库的图层service
@ -115,11 +112,11 @@ public interface GovOrgCoverageService {
Integer countSuporiorResourceEntities(String customerId, String staffOrgIds, String search, String categoryKey);
Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey);
Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey,String latestResult,String gridId);
List<IcEnterisePatrolResultDTO> listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds,
String search, String categoryKey, Boolean isPage, Integer pageNo,
Integer pageSize);
Integer pageSize, String latestResult);
/**
* 通过居民数量等条件查询房屋数量
@ -137,4 +134,16 @@ public interface GovOrgCoverageService {
* @return
*/
IcCoverageCategoryDictEntity selectByCategoryKey(String categoryKey);
/**
* Desc: 根据客户ID和数据类型获取字典对应的url
* @param customerId
* @param dataType
* @author zxc
* @date 2022/7/27 16:52
*/
List<String> getAllTypeCoverageByCustomerAndType(String customerId,String dataType);
List<IcCoverageCategoryDictEntity> listResourceCategoryEntities(String coverageType);
List<IcCoverageCategoryDictEntity> listGovernedTargetCategoryEntities();
}

46
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java

@ -243,4 +243,50 @@ public interface GovOrgService {
* @Date 2022/7/27 9:44
*/
PageData<MemberProjectInfoResultDTO> memberProjectInfoList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO);
/**
* Desc: 资源获取城市管理信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getCityManageInfos(CoverageHomeSearchFormDTO formDTO);
Integer getCityManageInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取公共服务信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getPublicServiceInfos(CoverageHomeSearchFormDTO formDTO);
Integer getPublicServiceInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取重点危化品企业信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getDangerousChemicalsInfos(CoverageHomeSearchFormDTO formDTO);
Integer getDangerousChemicalsInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取优势资源信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getSuperiorResourceInfos(CoverageHomeSearchFormDTO formDTO);
Integer getSuperiorResourceInfosCount(CoverageHomeSearchFormDTO formDTO);
/**
* Desc: 资源获取企事业单位巡查信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:22
*/
List<ResourceInfoResultDTO> getEnterpriseInfos(CoverageHomeSearchFormDTO formDTO);
Integer getEnterpriseInfosCount(CoverageHomeSearchFormDTO formDTO);
}

48
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java

@ -1,8 +1,8 @@
package com.epmet.dataaggre.service.govorg.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.enums.CoverageEnums;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govorg.*;
@ -14,7 +14,10 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* org 图层service
@ -290,18 +293,20 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
}
@Override
public Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey) {
return enterprisePatrolRecordDao.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey);
public Integer countEnterprisePatrol(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey,String latestResult,String gridId) {
// ic_enterprise.AGENCY_PIDS:agency_id的所有上级
// 网格不为空时按网格查询, 网格为空时,根据agency_id或者AGENCY_PIDS查看
return enterprisePatrolRecordDao.countEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey,latestResult,gridId);
}
@Override
public List<IcEnterisePatrolResultDTO> listEnterprisePatrol(String customerId, String agencyId, String staffOrgIds,
String search, String categoryKey, Boolean isPage,
Integer pageNo, Integer pageSize) {
Integer pageNo, Integer pageSize, String latestResult) {
if (isPage) {
PageHelper.startPage(pageNo, pageSize);
}
return enterprisePatrolRecordDao.listEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey);
return enterprisePatrolRecordDao.listEnterprisePatrol(customerId, agencyId, staffOrgIds, search, categoryKey, latestResult);
}
@Override
@ -324,4 +329,35 @@ public class GovOrgCoverageServiceImpl implements GovOrgCoverageService {
query.ge(IcHouseEntity::getResiNumber, resiNumberBiggerThan);
return query;
}
@Override
public List<IcCoverageCategoryDictEntity> listResourceCategoryEntities(String coverageType) {
LambdaQueryWrapper<IcCoverageCategoryDictEntity> query = new LambdaQueryWrapper<>();
query.eq(IcCoverageCategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
query.eq(IcCoverageCategoryDictEntity::getCoverageType, coverageType);
query.orderByAsc(IcCoverageCategoryDictEntity::getSort);
query.eq(IcCoverageCategoryDictEntity::getDataType, CoverageEnums.DATA_TYPE_RESOURCES.getKey());
return coverageCategoryDictDao.selectList(query);
}
@Override
public List<IcCoverageCategoryDictEntity> listGovernedTargetCategoryEntities() {
LambdaQueryWrapper<IcCoverageCategoryDictEntity> query = new LambdaQueryWrapper<>();
query.eq(IcCoverageCategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
query.orderByAsc(IcCoverageCategoryDictEntity::getSort);
query.eq(IcCoverageCategoryDictEntity::getDataType, CoverageEnums.DATA_TYPE_GOVERNED_TARGET.getKey());
return coverageCategoryDictDao.selectList(query);
}
/**
* Desc: 根据客户ID和数据类型获取字典对应的url
* @param customerId
* @param dataType
* @author zxc
* @date 2022/7/27 16:52
*/
@Override
public List<String> getAllTypeCoverageByCustomerAndType(String customerId, String dataType) {
return coverageCategoryDictDao.getAllTypeCoverageByCustomerAndType(customerId, dataType);
}
}

240
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java

@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.govorg.impl;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.dingtalk.api.request.OapiRobotSendRequest;
@ -24,17 +25,17 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.OrgConstant;
import com.epmet.dataaggre.dao.govorg.*;
import com.epmet.dataaggre.dto.datastats.result.SubAgencyProjectResultDTO;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.CustomerStaffResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO;
@ -66,6 +67,7 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.apache.poi.ss.usermodel.Workbook;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
@ -75,6 +77,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.Collator;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@ -124,6 +127,8 @@ public class GovOrgServiceImpl implements GovOrgService {
private IcNeighborhoodDao neighborhoodDao;
@Resource
private GovProjectService govProjectService;
@Autowired
private IcCityManagementDao cityManagementDao;
/**
* @param staffId
@ -254,6 +259,8 @@ public class GovOrgServiceImpl implements GovOrgService {
agecnyInfo.setOrgId(agencyEntity.getId());
agecnyInfo.setOrgName(agencyEntity.getOrganizationName());
agecnyInfo.setOrgType("agency");
agecnyInfo.setLatitude(agencyEntity.getLatitude());
agecnyInfo.setLongitude(agencyEntity.getLongitude());
result.add(agecnyInfo);
});
return result;
@ -265,6 +272,8 @@ public class GovOrgServiceImpl implements GovOrgService {
gridInfo.setOrgId(grid.getGridId());
gridInfo.setOrgName(grid.getGridName());
gridInfo.setOrgType("grid");
gridInfo.setLongitude(grid.getLongitude());
gridInfo.setLatitude(grid.getLatitude());
result.add(gridInfo);
});
}
@ -1153,17 +1162,12 @@ public class GovOrgServiceImpl implements GovOrgService {
public PageData<OrgProjectDetailResultDTO> orgProjectDetailList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) {
List<OrgProjectDetailResultDTO> resultList = new ArrayList<>();
if (StringUtils.isBlank(formDTO.getAgencyId())) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
}
formDTO.setAgencyId(staffInfo.getAgencyId());
}
if (StringUtils.isEmpty(formDTO.getStartDate()) && StringUtils.isEmpty(formDTO.getEndDate())) {
//当前日期前一天
String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setEndDate(dateId);
}
CustomerAgencyEntity agencyEntity = customerAgencyDao.selectById(formDTO.getAgencyId());
if (null == agencyEntity) {
return new PageData<>(Collections.emptyList(), NumConstant.ZERO);
@ -1184,22 +1188,20 @@ public class GovOrgServiceImpl implements GovOrgService {
//统计网格关闭项目数
Map<String, Integer> closedMap = govProjectService.getGridClosedProjectMap(formDTO);
//网格员统计
Map<String, Integer> memberMap = dataStatsService.getMemberMap(formDTO.getAgencyId());
Map<String, Long> memberMap = getMemberMap(tokenDto.getCustomerId(), formDTO.getAgencyId());
resultList = gridList.stream().map(grid -> {
OrgProjectDetailResultDTO dto = new OrgProjectDetailResultDTO();
dto.setOrgId(grid.getId());
dto.setOrgType(OrgConstant.GRID);
dto.setOrgName(grid.getGridName());
if (projectMap.containsKey(grid.getId())) {
dto.setProjectCount(projectMap.get(grid.getId()));
}
if (closedMap.containsKey(grid.getId())) {
dto.setClosedCount(closedMap.get(grid.getId()));
}
dto.setProjectCount(projectMap.getOrDefault(grid.getId(), NumConstant.ZERO));
dto.setClosedCount(closedMap.getOrDefault(grid.getId(), NumConstant.ZERO));
if (memberMap.containsKey(grid.getId())) {
dto.setMemberCount(memberMap.get(grid.getId()));
dto.setProjectAve(dto.getProjectCount()/memberMap.get(grid.getId()));
dto.setClosedAve(dto.getClosedCount()/memberMap.get(grid.getId()));
dto.setMemberCount(Math.toIntExact(memberMap.get(grid.getId())));
if (NumConstant.ZERO != dto.getMemberCount()) {
dto.setProjectAve(dto.getProjectCount() / dto.getMemberCount());
dto.setClosedAve(dto.getClosedCount() / dto.getMemberCount());
}
}
return dto;
}).collect(Collectors.toList());
@ -1221,7 +1223,10 @@ public class GovOrgServiceImpl implements GovOrgService {
//拼装数据
if (CollectionUtils.isNotEmpty(agencyList)) {
//项目相关统计
Map<String, SubAgencyProjectResultDTO> projectMap = dataStatsService.getAgencyProjectTotal(formDTO);
//统计项目数
Map<String, Integer> projectMap = govProjectService.getAgencyProjectMap(formDTO);
//统计关闭项目数
Map<String, Integer> closedMap = govProjectService.getAgencyClosedProjectMap(formDTO);
//网格员统计
Map<String, Integer> memberMap = epmetUserService.getMemberCount(tokenDto.getCustomerId());
@ -1230,12 +1235,12 @@ public class GovOrgServiceImpl implements GovOrgService {
dto.setOrgId(agency.getId());
dto.setOrgType(OrgConstant.AGENCY);
dto.setOrgName(agency.getOrganizationName());
if (projectMap.containsKey(agency.getId())) {
dto.setProjectCount(projectMap.get(agency.getId()).getProjectTotal());
dto.setClosedCount(projectMap.get(agency.getId()).getClosedProjectTotal());
}
//获取当前组织的所有下级组织ID(包含本级)
List<String> agencyIds = customerAgencyDao.getSubAgencyList(agency.getId());
int projectCount = agencyIds.stream().filter(projectMap::containsKey).mapToInt(projectMap::get).sum();
int closedCount = agencyIds.stream().filter(closedMap::containsKey).mapToInt(closedMap::get).sum();
dto.setProjectCount(projectCount);
dto.setClosedCount(closedCount);
//将下级组织网格员数加起来
int memberCount = agencyIds.stream().filter(memberMap::containsKey).mapToInt(memberMap::get).sum();
dto.setMemberCount(memberCount);
@ -1268,42 +1273,34 @@ public class GovOrgServiceImpl implements GovOrgService {
@Override
public PageData<MemberProjectInfoResultDTO> memberProjectInfoList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
PageData<MemberProjectInfoResultDTO> result;
if (StringUtils.isBlank(formDTO.getOrgId())) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
}
formDTO.setOrgId(staffInfo.getAgencyId());
formDTO.setOrgType(OrgConstant.AGENCY);
}
if (StringUtils.isEmpty(formDTO.getStartDate()) && StringUtils.isEmpty(formDTO.getEndDate())) {
//当前日期前一天
String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setEndDate(dateId);
}
if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) {
//获取当前组织的所有下级组织ID(包含本级)
List<String> agencyIds = customerAgencyDao.getSubAgencyList(formDTO.getOrgId());
formDTO.setAgencyList(agencyIds);
//获取组织下的网格员
result = epmetUserService.getMemberList(formDTO);
} else {
//获取网格下的网格员
result = dataStatsService.getMemberList(formDTO);
}
PageData<MemberProjectInfoResultDTO> result = getGridMemberList(formDTO);
//if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) {
// //获取当前组织的所有下级组织ID(包含本级)
// //List<String> agencyIds = customerAgencyDao.getSubAgencyList(formDTO.getOrgId());
// //formDTO.setAgencyList(agencyIds);
// //获取组织下的网格员
// result = epmetUserService.getMemberList(formDTO);
//} else {
// //获取网格下的网格员
// result = dataStatsService.getMemberList(formDTO);
//}
if (CollectionUtils.isNotEmpty(result.getList())) {
//统计项目数
Map<String, Integer> projectMap = govProjectService.getMemberProjectMap(formDTO);
//统计关闭项目数
Map<String, Integer> closedMap = govProjectService.getMemberClosedProjectMap(formDTO);
result.getList().forEach(item -> {
if (projectMap.containsKey(item.getStaffId())) {
item.setProjectCount(projectMap.get(item.getStaffId()));
}
if (projectMap.containsKey(item.getStaffId())) {
item.setClosedCount(closedMap.get(item.getStaffId()));
}
item.setProjectCount(projectMap.getOrDefault(item.getStaffId(), NumConstant.ZERO));
item.setClosedCount(closedMap.getOrDefault(item.getStaffId(), NumConstant.ZERO));
if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(item.getOrgId());
if (null != agencyInfo) {
@ -1319,4 +1316,155 @@ public class GovOrgServiceImpl implements GovOrgService {
}
return result;
}
private PageData<MemberProjectInfoResultDTO> getGridMemberList(OrgStatisticsFormDTO formDTO) {
List<MemberProjectInfoResultDTO> list = new ArrayList<>();
List<StaffOrgRelationResultDTO> staffList = customerStaffAgencyDao.getStaffList(formDTO.getOrgId(), formDTO.getOrgType());
if (OrgConstant.AGENCY.equals(formDTO.getOrgType())) {
for (StaffOrgRelationResultDTO staff : staffList) {
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), staff.getStaffId());
if (null != staffInfo) {
if(staffInfo.getRoleMap().containsKey("grid_member")) {
MemberProjectInfoResultDTO dto = new MemberProjectInfoResultDTO();
dto.setStaffId(staff.getStaffId());
dto.setStaffName(staffInfo.getRealName());
dto.setOrgId(staff.getOrgId());
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staff.getOrgId());
if (null != agencyInfo) {
dto.setOrgName(agencyInfo.getOrganizationName());
}
list.add(dto);
}
}
}
} else {
for (StaffOrgRelationResultDTO staff : staffList) {
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), staff.getStaffId());
if (null != staffInfo) {
if(staffInfo.getRoleMap().containsKey("grid_member")) {
MemberProjectInfoResultDTO dto = new MemberProjectInfoResultDTO();
dto.setStaffId(staff.getStaffId());
dto.setStaffName(staffInfo.getRealName());
dto.setOrgId(staff.getOrgId());
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(staff.getOrgId());
if (null != gridInfo) {
dto.setOrgName(gridInfo.getGridName());
}
list.add(dto);
}
}
}
}
int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
PageInfo<MemberProjectInfoResultDTO> pageInfo = new PageInfo<>(list);
list = list.stream().sorted((o1, o2) ->
Collator.getInstance(Locale.SIMPLIFIED_CHINESE)
.compare(o1.getStaffName(),o2.getStaffName())).collect(Collectors.toList());
list = list.stream().skip(num).limit(formDTO.getPageSize()).collect(Collectors.toList());
return new PageData<>(list, pageInfo.getTotal());
}
private Map<String, Long> getMemberMap(String customerId, String agencyId) {
List<GridStaffResultDTO> list = customerStaffGridDao.getGridStaffByAgency(agencyId);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
list = list.stream().filter(item -> {
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(customerId, item.getStaffId());
if (null != staffInfo) {
if (staffInfo.getRoleMap().containsKey("grid_member")) {
return true;
}
}
return false;
}).collect(Collectors.toList());
return list.stream().collect(Collectors.groupingBy(GridStaffResultDTO::getGridId, Collectors.counting()));
}
private CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) {
if (StringUtils.isBlank(customerId) || StringUtils.isBlank(staffId)){
log.warn("getStaffInfo param is blank,customerId:{},staffId:{}",customerId,staffId);
return null;
}
String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId);
Map<String, Object> roleMap = redisUtils.hGetAll(key);
if (!org.springframework.util.CollectionUtils.isEmpty(roleMap)) {
return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class);
}
CustomerStaffInfoCache resultData = reloadStaffCache(staffId, key);
if (resultData == null) {
return null;
}
return ConvertUtils.sourceToTarget(resultData, CustomerStaffInfoCacheResult.class);
}
@Nullable
private CustomerStaffInfoCache reloadStaffCache(String staffId, String key) {
CustomerStaffResultDTO staffResult = epmetUserService.getStaffInfo(staffId);
if (staffResult == null) {
log.warn("getStaffInfo staff is null,staffId:{}", staffId);
return null;
}
CustomerStaffInfoCache resultData =ConvertUtils.sourceToTarget(staffResult, CustomerStaffInfoCache.class);
Map<String, Object> map = BeanUtil.beanToMap(resultData, false, true);
redisUtils.hMSet(key, map);
return resultData;
}
@Override
public List<ResourceInfoResultDTO> getCityManageInfos(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getCityManageInfos(formDTO);
}
@Override
public Integer getCityManageInfosCount(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getCityManageInfosCount(formDTO);
}
@Override
public List<ResourceInfoResultDTO> getPublicServiceInfos(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getPublicServiceInfos(formDTO);
}
@Override
public Integer getPublicServiceInfosCount(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getPublicServiceInfosCount(formDTO);
}
@Override
public List<ResourceInfoResultDTO> getDangerousChemicalsInfos(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getDangerousChemicalsInfos(formDTO);
}
@Override
public Integer getDangerousChemicalsInfosCount(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getDangerousChemicalsInfosCount(formDTO);
}
@Override
public List<ResourceInfoResultDTO> getSuperiorResourceInfos(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getSuperiorResourceInfos(formDTO);
}
@Override
public Integer getSuperiorResourceInfosCount(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getSuperiorResourceInfosCount(formDTO);
}
@Override
public List<ResourceInfoResultDTO> getEnterpriseInfos(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getEnterpriseInfos(formDTO);
}
@Override
public Integer getEnterpriseInfosCount(CoverageHomeSearchFormDTO formDTO) {
return cityManagementDao.getEnterpriseInfosCount(formDTO);
}
}

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

@ -3,6 +3,8 @@ package com.epmet.dataaggre.service.govproject;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.EventInfoResultDTO;
import com.epmet.dataaggre.dto.govproject.form.*;
import com.epmet.dataaggre.dto.govproject.result.*;
import com.epmet.dataaggre.entity.govproject.IcEventEntity;
@ -111,7 +113,7 @@ public interface GovProjectService {
* @param isDifficultPoint 是否是难点堵点
* @return
*/
Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint);
Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint,String gridId);
/**
* 搜索事件
@ -154,4 +156,29 @@ public interface GovProjectService {
* @Date 2022/7/28 9:29
*/
Map<String, Integer> getMemberClosedProjectMap(OrgStatisticsFormDTO formDTO);
/**
* 组织上报项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
Map<String, Integer> getAgencyProjectMap(OrgStatisticsFormDTO formDTO);
/**
* 组织关闭项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
Map<String, Integer> getAgencyClosedProjectMap(OrgStatisticsFormDTO formDTO);
/**
* Desc: 资源获取事件信息
* @param formDTO
* @author zxc
* @date 2022/7/28 10:48
*/
List<EventInfoResultDTO> getEventInfos(CoverageHomeSearchFormDTO formDTO);
}

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

@ -26,7 +26,9 @@ import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectResultDTO;
import com.epmet.dataaggre.dto.govissue.IssueProjectCategoryDictDTO;
import com.epmet.dataaggre.dto.govissue.result.IssueInfoDTO;
import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.result.EventInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.OrgCountDTO;
import com.epmet.dataaggre.dto.govproject.ProjectDTO;
import com.epmet.dataaggre.dto.govproject.ProjectRelatedPersonnelDTO;
@ -785,15 +787,15 @@ public class GovProjectServiceImpl implements GovProjectService {
}
@Override
public Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint) {
LambdaQueryWrapper<IcEventEntity> query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint);
public Integer countIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint, String gridId) {
LambdaQueryWrapper<IcEventEntity> query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint,gridId);
return icEventDao.selectCount(query);
}
@Override
public List<IcEventEntity> searchIcEventEntities(String customerId, String staffOrgIds, String search,
Boolean isDifficultPoint, Boolean isPage, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<IcEventEntity> query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint);
LambdaQueryWrapper<IcEventEntity> query = constructIcEventQueryWrapper(customerId, staffOrgIds, search, isDifficultPoint,null);
if (isPage) {
PageHelper.startPage(pageNo, pageSize);
}
@ -847,7 +849,25 @@ public class GovProjectServiceImpl implements GovProjectService {
*/
@Override
public Map<String, Integer> getMemberClosedProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getMemberProjectCount(formDTO);
List<OrgCountDTO> list = projectDao.getMemberClosedProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
/**
* 组织上报项目数
*
* @param formDTO
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
@Override
public Map<String, Integer> getAgencyProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getAgencyProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
@ -855,6 +875,30 @@ public class GovProjectServiceImpl implements GovProjectService {
}
/**
* 组织关闭项目数
*
* @param formDTO
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
@Override
public Map<String, Integer> getAgencyClosedProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getAgencyClosedProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
/**
@Override
public List<EventInfoResultDTO> getEventInfos(CoverageHomeSearchFormDTO formDTO) {
return icEventDao.getEventInfos(formDTO);
}
/**
* 构造事件查询
* @param customerId
* @param staffOrgIds
@ -863,9 +907,13 @@ public class GovProjectServiceImpl implements GovProjectService {
* @return
*/
private LambdaQueryWrapper<IcEventEntity> constructIcEventQueryWrapper(String customerId, String staffOrgIds,
String search, Boolean difficultPoint) {
String search, Boolean difficultPoint, String gridId) {
//ic_event.grid_pids是网格所有的上级,不包括网格自己
//ic_event.agency_id网格的所属组织
//所以这staffOrgIds是组织的全路径
LambdaQueryWrapper<IcEventEntity> query = new LambdaQueryWrapper<>();
query.eq(IcEventEntity::getCustomerId, customerId);
query.eq(IcEventEntity::getCustomerId, customerId)
.eq(StringUtils.isNotBlank(gridId), IcEventEntity::getGridId, gridId);
query.likeRight(IcEventEntity::getGridPids, staffOrgIds);
if (StringUtils.isNotBlank(search)) {
query.like(IcEventEntity::getName, search);
@ -876,4 +924,10 @@ public class GovProjectServiceImpl implements GovProjectService {
return query;
}
@Override
public List<EventInfoResultDTO> getEventInfos(CoverageHomeSearchFormDTO formDTO) {
return icEventDao.getEventInfos(formDTO);
}
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java

@ -1,5 +1,7 @@
package com.epmet.dataaggre.service.heart;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO;
import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity;
import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity;
@ -40,4 +42,7 @@ public interface HeartService {
Integer countPartyUnitEntities(String customerId, String agencyId, String staffOrgIds, String partyUnitType, String search);
Integer countCommunityOrgEntities(String customerId, String agencyId, String staffOrgIds, String search, String categoryKey);
List<ResourceInfoResultDTO> getCommunitySelOrgInfos(CoverageHomeSearchFormDTO formDTO);
Integer getCommunitySelOrgInfosCount(CoverageHomeSearchFormDTO formDTO);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java

@ -5,10 +5,11 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.heart.IcCommunitySelfOrganizationDao;
import com.epmet.dataaggre.dao.heart.IcPartyUnitDao;
import com.epmet.dataaggre.dto.govorg.form.CoverageHomeSearchFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO;
import com.epmet.dataaggre.entity.heart.IcCommunitySelfOrganizationEntity;
import com.epmet.dataaggre.entity.heart.IcPartyUnitEntity;
import com.epmet.dataaggre.service.heart.HeartService;
import com.epmet.dto.result.PartyMemberUserIdsResultDTO;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -57,6 +58,16 @@ public class HeartServiceImpl implements HeartService {
return communitySelfOrganizationDao.selectCount(query);
}
@Override
public List<ResourceInfoResultDTO> getCommunitySelOrgInfos(CoverageHomeSearchFormDTO formDTO) {
return communitySelfOrganizationDao.getCommunitySelOrgInfos(formDTO);
}
@Override
public Integer getCommunitySelOrgInfosCount(CoverageHomeSearchFormDTO formDTO) {
return communitySelfOrganizationDao.getCommunitySelOrgInfosCount(formDTO);
}
private LambdaQueryWrapper<IcCommunitySelfOrganizationEntity> constructCommunityOrgQueryWrapper(
String customerId, String agencyId, String staffOrgIds, String search, String categoryKey) {
LambdaQueryWrapper<IcCommunitySelfOrganizationEntity> query = new LambdaQueryWrapper<>();

976
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

File diff suppressed because it is too large

24
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java

@ -149,10 +149,17 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
// 使用年龄计算出生日期
if (resiRule != null) {
resiRule.stream().forEach((r) -> {
// 对生日列计算
if ("BIRTHDAY".equals(r.getColKey())) {
LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS);
r.setQueryType(revertQueryType(r.getQueryType()));
r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
if ("is_null".equals(r.getQueryType()) || "is_not_null".equals(r.getQueryType())) {
// 如果是is_null、is_not_null,那么直接用这个条件
return;
} else {
//如果不是is_null、is_not_null,那么需要转换为出生日期
LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS);
r.setQueryType(revertQueryType(r.getQueryType()));
r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
}
});
}
@ -209,7 +216,16 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
resultResis.stream().forEach((r) -> {
// 小区名称
r.setNeighborHoodName(gridIdAndName.get(r.getGridId()).concat("-").concat(neighborhoodIdAndName.get(r.getNeighborhoodId())));
String gridName = gridIdAndName.get(r.getGridId());
String neighborhoodName = neighborhoodIdAndName.get(r.getNeighborhoodId());
if (StringUtils.isNoneBlank(gridName, neighborhoodName)) {
// 网格或者小区都能找到,给填充数据
r.setNeighborHoodName(gridIdAndName.get(r.getGridId()).concat("-").concat(neighborhoodIdAndName.get(r.getNeighborhoodId())));
} else {
// 网格或者小区中任何一个找不到,给个空
r.setNeighborHoodName("");
}
// 出生日期 & 年龄
if (r.getBirthday() != null) {

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryStatsConfigService.java

@ -0,0 +1,9 @@
package com.epmet.dataaggre.service.opercustomize;
/**
* @Author zxc
* @DateTime 2022/7/27 17:20
* @DESC
*/
public interface IcResiCategoryStatsConfigService {
}

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryWarnService.java

@ -0,0 +1,9 @@
package com.epmet.dataaggre.service.opercustomize;
import com.epmet.dataaggre.entity.opercustomize.IcResiCategoryWarnConfigEntity;
import java.util.List;
public interface IcResiCategoryWarnService {
List<IcResiCategoryWarnConfigEntity> listResiCategoriesNeed2Warn(String loginUserCustomerId);
}

28
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/impl/IcResiCategoryWarnServiceImpl.java

@ -0,0 +1,28 @@
package com.epmet.dataaggre.service.opercustomize.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.opercustomize.IcResiCategoryWarnConfigDao;
import com.epmet.dataaggre.entity.opercustomize.IcResiCategoryWarnConfigEntity;
import com.epmet.dataaggre.service.opercustomize.IcResiCategoryWarnService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@DataSource(DataSourceConstant.OPERCUSTOMIZE)
public class IcResiCategoryWarnServiceImpl implements IcResiCategoryWarnService {
@Autowired
private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao;
@Override
public List<IcResiCategoryWarnConfigEntity> listResiCategoriesNeed2Warn(String customerId) {
LambdaQueryWrapper<IcResiCategoryWarnConfigEntity> query = new LambdaQueryWrapper<>();
query.eq(IcResiCategoryWarnConfigEntity::getCustomerId, customerId);
query.eq(IcResiCategoryWarnConfigEntity::getWarn, "1");
return icResiCategoryWarnConfigDao.selectList(query);
}
}

133
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml

@ -38,7 +38,7 @@
<!--根据特殊人群类别查询居民列表-->
<select id="listSpecialResisBySpecialType" resultType="com.epmet.dataaggre.dto.epmetuser.result.IcResiInfoResultDTO">
select resi.id, resi.BUILD_ID, resi.NAME
select resi.id, resi.BUILD_ID, resi.NAME,resi.ID_CARD as idNum
from ic_resi_user resi
inner join ic_special s on (resi.ID = s.IC_RESI_USER)
where resi.CUSTOMER_ID = #{customerId}
@ -63,6 +63,9 @@
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%', #{search},'%')
</if>
<if test="gridId != null and gridId != ''">
and resi.GRID_ID =#{gridId}
</if>
and s.SPECIAL_RQLB like CONCAT('%', #{categoryKey},'%')
and resi.DEL_FLAG = '0'
and s.DEL_FLAG = '0'
@ -116,13 +119,24 @@
<if test="resiRules != null and resiRules.size() > 0">
and
<foreach collection="resiRules" item="rule" open="(" close=")">
${rule.colTable}.${rule.colKey} ${rule.queryType}
<choose>
<when test="rule.queryType == 'like'">
CONCAT('%',#{rule.colVal} ,'%')
<!--针对为空/不为空进行单独处理-->
<when test="rule.queryType == 'is_null'">
(${rule.colTable}.${rule.colKey} is null or ${rule.colTable}.${rule.colKey} = '')
</when>
<when test="rule.queryType == 'is_not_null'">
(${rule.colTable}.${rule.colKey} is not null and ${rule.colTable}.${rule.colKey} != '')
</when>
<otherwise>
#{rule.colVal}
${rule.colTable}.${rule.colKey} ${rule.queryType}
<choose>
<when test="rule.queryType == 'like'">
CONCAT('%',#{rule.colVal} ,'%')
</when>
<otherwise>
#{rule.colVal}
</otherwise>
</choose>
</otherwise>
</choose>
${rule.nextLogicalRel}
@ -160,4 +174,113 @@
<include refid="segmentForPolicyRules"></include>
</select>
<!-- 获取icUser -->
<select id="getAllIcUser" resultType="com.epmet.dataaggre.dto.govorg.result.UserInfoResultDTO">
SELECT
u.ID AS icUserId,
u.`NAME`,
u.GRID_ID,
u.HOME_ID,
ifnull(u.MOBILE,'') as mobile,
u.ID_CARD,
ifnull(u.GZDW,'') as gzdw,
ifnull(u.RHZK,'') as rhzk
FROM ic_resi_user u
WHERE u.DEL_FLAG = '0'
and u.status ='0'
<if test='customerId != null and customerId != ""'>
AND u.CUSTOMER_ID = #{customerId}
</if>
<if test='icUserId != null and icUserId != ""'>
AND u.id = #{icUserId}
</if>
<if test='name != null and name != "" '>
AND u.`NAME` LIKE CONCAT('%',#{name},'%')
</if>
<if test='orgId != null and orgId != "" '>
AND u.PIDS LIKE CONCAT('%',#{orgId},'%')
</if>
</select>
<!--志愿者数量 -->
<select id="countVolunteersByCategory" resultType="java.lang.Integer">
select count(1)
from ic_resi_user resi
inner join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.IS_VOLUNTEER = '1'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
and vol.VOLUNTEER_CATEGORY like CONCAT('%',#{resiCategory},'%')
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
</select>
<select id="countVolunteersWithoutVolCategory" resultType="java.lang.Integer">
select count(0) from (select resi.ID, resi.NAME, resi.ID_CARD, resi.BUILD_ID, vol.VOLUNTEER_CATEGORY volunteerCategory
from ic_resi_user resi
left join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.IS_VOLUNTEER = '1'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
having volunteerCategory is null
or volunteerCategory = '') t
</select>
<select id="listVolunteersByCategory" resultType="com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity">
select resi.ID, resi.NAME, resi.ID_CARD, resi.BUILD_ID
from ic_resi_user resi
inner join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.IS_VOLUNTEER = '1'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
and vol.VOLUNTEER_CATEGORY like CONCAT('%',#{resiCategory},'%')
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
</select>
<!--列出没有志愿者类别的志愿者-->
<select id="listVolunteersWithoutVolCategory" resultType="com.epmet.dataaggre.entity.epmetuser.IcResiUserEntity">
select resi.ID, resi.NAME, resi.ID_CARD, resi.BUILD_ID, vol.VOLUNTEER_CATEGORY volunteerCategory
from ic_resi_user resi
left join ic_volunteer vol on (resi.ID = vol.IC_RESI_USER and vol.DEL_FLAG = '0')
where resi.DEL_FLAG = '0'
and resi.IS_VOLUNTEER = '1'
and resi.CUSTOMER_ID = #{customerId}
<if test="agencyId != null and agencyId != ''">
and resi.AGENCY_ID = #{agencyId}
</if>
<if test="staffOrgIds != null and staffOrgIds != ''">
and resi.PIDS like CONCAT(#{staffOrgIds},'%')
</if>
<if test="search != null and search != ''">
and resi.NAME like CONCAT('%',#{search},'%')
</if>
having volunteerCategory is null
or volunteerCategory = ''
</select>
</mapper>

4
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml

@ -47,7 +47,9 @@
<select id="selectGridListByAgencyId" resultType="com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO">
SELECT
id AS "gridId",
grid_name AS "gridName"
grid_name AS "gridName",
LATITUDE as latitude,
LONGITUDE as longitude
FROM
customer_grid
WHERE

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

@ -124,4 +124,39 @@
ca.ID
ORDER BY ca.CREATED_TIME ASC
</select>
<select id="getStaffList" resultType="com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO">
<choose>
<when test="orgType != null and orgType == 'dept' ">
SELECT
DEPARTMENT_ID AS "orgId",
user_id AS "staffId"
FROM
customer_staff_department
WHERE
del_flag = '0'
AND department_id = #{orgId}
</when>
<when test="orgType != null and orgType == 'grid' ">
SELECT
GRID_ID AS "orgId",
user_id AS "staffId"
FROM
customer_staff_grid
WHERE
del_flag = '0'
AND grid_id = #{orgId}
</when>
<otherwise>
SELECT
csa.AGENCY_ID AS "orgId",
csa.user_id AS "staffId"
FROM
customer_staff_agency csa
INNER JOIN customer_agency ca ON csa.AGENCY_ID = ca.ID AND ca.del_flag = '0'
WHERE
csa.del_flag = '0'
AND (ca.ID = #{orgId} OR ca.PIDS LIKE CONCAT('%', #{orgId}, '%'))
</otherwise>
</choose>
</select>
</mapper>

13
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml

@ -55,4 +55,17 @@
cg.ID
ORDER BY cg.CREATED_TIME ASC
</select>
<select id="getGridStaffByAgency" resultType="com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO">
SELECT
GRID_ID,
USER_ID AS staffId
FROM
customer_staff_grid a
INNER JOIN customer_grid b ON a.GRID_ID = b.ID
AND b.DEL_FLAG = '0'
WHERE
a.DEL_FLAG = '0'
AND b.PID = #{agencyId}
</select>
</mapper>

210
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml

@ -3,4 +3,214 @@
<mapper namespace="com.epmet.dataaggre.dao.govorg.IcCityManagementDao">
<select id="getCityManageInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'city_management' AS resourceType,
IFNULL(`NAME`,'') AS name,
IFNULL(LONGITUDE,'') AS LONGITUDE,
IFNULL(LATITUDE,'') AS LATITUDE,
IFNULL(CATEGORY,'') AS CATEGORY,
IFNULL(AREA_COVERED,'') AS areaCovered,
IFNULL(CAPACITY,0) AS CAPACITY,
IFNULL(ADDRESS,'') AS ADDRESS,
IFNULL(PRINCIPAL,'') AS PRINCIPAL,
IFNULL(MOBILE,'') AS MOBILE
FROM ic_city_management
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getPublicServiceInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'public_service' AS resourceType,
IFNULL(`NAME`,'') AS name,
IFNULL(LONGITUDE,'') AS LONGITUDE,
IFNULL(LATITUDE,'') AS LATITUDE,
IFNULL(CATEGORY,'') AS CATEGORY,
IFNULL(AREA_COVERED,'') AS areaCovered,
IFNULL(CAPACITY,0) AS CAPACITY,
IFNULL(ADDRESS,'') AS ADDRESS,
IFNULL(PRINCIPAL,'') AS PRINCIPAL,
IFNULL(MOBILE,'') AS MOBILE
FROM ic_public_service
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getDangerousChemicalsInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'dangerous_chemicals' AS resourceType,
IFNULL(`NAME`,'') AS name,
IFNULL(LONGITUDE,'') AS LONGITUDE,
IFNULL(LATITUDE,'') AS LATITUDE,
CATEGORY,
ifnull(ADDRESS,'') as address,
ifnull(PRINCIPAL_NAME,'') AS principal,
ifnull(PRINCIPAL_MOBILE,'') AS mobile
FROM ic_dangerous_chemicals
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getSuperiorResourceInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'superior_resource' AS resourceType,
IFNULL(`NAME`,'') AS name,
IFNULL(LONGITUDE,'') AS LONGITUDE,
IFNULL(LATITUDE,'') AS LATITUDE,
IFNULL(AREA_COVERED,'') AS areaCovered,
ifnull(CAPACITY,0) as CAPACITY,
CATEGORY,
ifnull(ADDRESS,'') as ADDRESS
FROM ic_superior_resource
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getEnterpriseInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'enterprise_patrol' AS resourceType,
PLACE_ORG_NAME AS `NAME`,
ifnull(LONGITUDE,'') as LONGITUDE,
ifnull(LATITUDE,'') as LATITUDE,
ifnull(ADDRESS,'') as ADDRESS,
ifnull(PERSON_IN_CHARGE,'') AS principal,
ifnull(MOBILE,'') AS mobile
FROM ic_enterprise
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND CONCAT(AGENCY_PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND PLACE_ORG_NAME LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getCityManageInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_city_management
WHERE DEL_FLAG = 0
<if test='resourceId != null and resourceId != "" '>
AND ID = #{resourceId}
</if>
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getPublicServiceInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_public_service
WHERE DEL_FLAG = 0
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getDangerousChemicalsInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_dangerous_chemicals
WHERE DEL_FLAG = 0
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getSuperiorResourceInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_superior_resource
WHERE DEL_FLAG = 0
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND AGENCY_ID_PATH LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND `NAME` LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getEnterpriseInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_enterprise
WHERE DEL_FLAG = 0
<if test='customerId != null and customerId != ""'>
AND CUSTOMER_ID = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND CONCAT(AGENCY_PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{orgId},'%')
</if>
<if test=' name != null and name != "" '>
AND PLACE_ORG_NAME LIKE CONCAT('%',#{name},'%')
</if>
</select>
</mapper>

21
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml

@ -3,6 +3,23 @@
<mapper namespace="com.epmet.dataaggre.dao.govorg.IcCoverageCategoryDictDao">
<!-- 根据客户ID和数据类型获取字典对应的url -->
<select id="getAllTypeCoverageByCustomerAndType" resultType="java.lang.String">
SELECT
DISTINCT MENU_URL
FROM ic_coverage_category_dict
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND data_type = #{dataType}
UNION ALL
SELECT
DISTINCT MENU_URL
FROM ic_coverage_category_dict
WHERE DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND data_type = 'governedTarget'
AND category_key = 'event_tdnd'
</select>
<resultMap type="com.epmet.dataaggre.entity.govorg.IcCoverageCategoryDictEntity" id="icCoverageCategoryDictMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
@ -10,6 +27,10 @@
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="placeType" column="PLACE_TYPE"/>
<result property="coverageType" column="COVERAGE_TYPE"/>
<result property="placeTypeInAnalysis" column="PLACE_TYPE_IN_ANALYSIS"/>
<result property="menuUrl" column="MENU_URL"/>
<result property="dataType" column="DATA_TYPE"/>
<result property="quantity" column="QUANTITY"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>

27
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml

@ -8,10 +8,22 @@
select count(1)
from ic_enterprise e
where e.CUSTOMER_ID = #{customerId}
and e.PLACE_ORG_NAME like CONCAT('%',#{search},'%')
and (e.AGENCY_ID = #{agencyId} or e.AGENCY_PIDS like CONCAT(#{staffOrgIds}, '%'))
and e.PLACE_TYPE = #{categoryKey}
<if test='null != search and "" != search'>
and e.PLACE_ORG_NAME like CONCAT('%',#{search},'%')
</if>
<if test="null==gridId || ''==gridId">
and (e.AGENCY_ID = #{agencyId} or e.AGENCY_PIDS like CONCAT(#{staffOrgIds}, '%'))
</if>
<if test="'enterprise_patrol_unqualified'!= categoryKey">
and e.PLACE_TYPE = #{categoryKey}
</if>
and e.DEL_FLAG = '0'
<if test='null != latestResult and "" != latestResult'>
and e.LATEST_RESULT = #{latestResult}
</if>
<if test='null != gridId and "" != gridId'>
and e.GRID_ID = #{gridId}
</if>
</select>
<!--企事业单位巡查列表-->
@ -30,9 +42,16 @@
e.source_type
from ic_enterprise e
where e.CUSTOMER_ID = #{customerId}
<if test="search != null and search != ''">
and e.PLACE_ORG_NAME like CONCAT('%',#{search},'%')
</if>
and (e.AGENCY_ID = #{agencyId} or e.AGENCY_PIDS like CONCAT(#{staffOrgIds}, '%'))
and e.PLACE_TYPE = #{categoryKey}
<if test="'enterprise_patrol_unqualified'!= categoryKey">
and e.PLACE_TYPE = #{categoryKey}
</if>
and e.DEL_FLAG = '0'
<if test='null != latestResult and "" != latestResult'>
and e.LATEST_RESULT = #{latestResult}
</if>
</select>
</mapper>

26
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml

@ -1,6 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcEventDao">
<mapper namespace="com.epmet.dataaggre.dao.govproject.IcEventDao">
<select id="getEventInfos" resultType="com.epmet.dataaggre.dto.govorg.result.EventInfoResultDTO">
SELECT
id AS eventId,
GRID_ID,
DATE_FORMAT(HAPPEN_TIME,'%Y-%m-%d %H:%i:%s') AS happenTime,
EVENT_CONTENT,
LONGITUDE,
LATITUDE
FROM ic_event
WHERE del_flag = '0'
AND DIFFICULT_POINT = '1'
<if test='customerId != null and customerId != ""'>
AND customer_id = #{customerId}
</if>
<if test='orgId != null and orgId != ""'>
AND GRID_PIDS LIKE CONCAT('%',#{orgId},'%')
</if>
<if test='icEventId != null and icEventId != ""'>
AND id = #{icEventId}
</if>
<if test=' name != null and name != "" '>
AND EVENT_CONTENT LIKE CONCAT('%',#{name},'%')
</if>
</select>
</mapper>

53
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml

@ -436,10 +436,10 @@
DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ >= ]]> #{startDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ <= ]]> #{endDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
GRID_ID
@ -457,10 +457,10 @@
AND GRID_ID IS NOT NULL
AND GRID_ID != ''
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ >= ]]> #{startDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ <= ]]> #{endDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
GRID_ID
@ -478,10 +478,10 @@
AND GRID_ID = #{orgId}
</if>
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ >= ]]> #{startDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ <= ]]> #{endDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
CREATED_BY
@ -500,13 +500,50 @@
AND GRID_ID = #{orgId}
</if>
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ >= ]]> #{startDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") <![CDATA[ <= ]]> #{endDate}
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
STAFF_ID
</select>
<select id="getAgencyProjectCount" resultType="com.epmet.dataaggre.dto.govorg.result.OrgCountDTO">
SELECT
AGENCY_ID AS "orgId",
COUNT( ID ) AS "count"
FROM
project
WHERE
DEL_FLAG = '0'
AND (AGENCY_ID = #{agencyId} OR ORG_ID_PATH LIKE CONCAT('%', #{agencyId}, '%'))
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
AGENCY_ID
</select>
<select id="getAgencyClosedProjectCount" resultType="com.epmet.dataaggre.dto.govorg.result.OrgCountDTO">
SELECT
AGENCY_ID AS "orgId",
COUNT( ID ) AS "count"
FROM
project_process
WHERE
DEL_FLAG = '0'
AND (AGENCY_ID = #{agencyId} OR ORG_ID_PATH LIKE CONCAT('%', #{agencyId}, '%'))
AND OPERATION = 'close'
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
<if test="null != endDate and '' != endDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ <= ]]> #{endDate}
</if>
GROUP BY
AGENCY_ID
</select>
</mapper>

31
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml

@ -2,4 +2,35 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.heart.IcCommunitySelfOrganizationDao">
<select id="getCommunitySelOrgInfos" resultType="com.epmet.dataaggre.dto.govorg.result.ResourceInfoResultDTO">
SELECT
ID AS resourceId,
'community_org' AS resourceType,
ifnull(ORGANIZATION_NAME,'') AS name,
ifnull(PRINCIPAL_NAME,'') AS principal,
ifnull(PRINCIPAL_PHONE,'') AS mobile,
ifnull(ADDRESS,'') as address,
ifnull(LONGITUDE,'') as longitude,
ifnull(LATITUDE,'') as latitude,
IFNULL(CATEGORY_CODE,'') as category
FROM ic_community_self_organization
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND CONCAT(PIDS,':',ORG_ID) LIKE CONCAT('%',#{orgId},'%')
<if test='name != null and name != ""'>
AND ORGANIZATION_NAME LIKE CONCAT('%',#{name},'%')
</if>
</select>
<select id="getCommunitySelOrgInfosCount" resultType="java.lang.Integer">
select count(id)
FROM ic_community_self_organization
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND CONCAT(PIDS,':',ORG_ID) LIKE CONCAT('%',#{orgId},'%')
<if test='name != null and name != ""'>
AND ORGANIZATION_NAME LIKE CONCAT('%',#{name},'%')
</if>
</select>
</mapper>

5
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercustomize/IcResiCategoryWarnConfigDao.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.opercustomize.IcResiCategoryWarnConfigDao">
</mapper>

7
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java

@ -20,4 +20,11 @@ public class EventInfoFormDTO extends PageFormDTO implements Serializable {
* 操作类型新增:add 修改删除:edit
*/
private String type;
/**
* 是否初始化, 通常用于初期初始化数据由自己控制
* 0不初始化有则更新没有则新增
* 1完全初始化删除全部数据
* 2在完全初始化之后由于eventreport_pingyin表没有客户ID初始化其他客户的数据时候可以设2直接新增
*/
private String initFlag = "0";
}

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/form/GridBaseInfoFormDTO.java

@ -28,7 +28,7 @@ public class GridBaseInfoFormDTO implements Serializable {
* 操作类型新增:add 修改删除:edit 初始化所有数据:all
*/
private String type;
private String delFlag;
public interface Grid extends CustomerClientShowGroup {}
}

10
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerAgencyDTO.java

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

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java

@ -134,4 +134,9 @@ public class CustomerStaffDTO implements Serializable {
*/
private String roleName;
/**
* 身份证号
*/
private String idCard;
}

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java

@ -20,6 +20,7 @@ package com.epmet.dto.user.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
@ -78,6 +79,25 @@ public class GridUserInfoDTO implements Serializable {
*/
private String sex;
/**
* 网格员信息编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 身份证号
*/
private String idCard;
/**
* 是否离职格式为YN
*/
private String isLeave;
/**
* 离职时间格式为YYYY-MM-DD
*/
private Date leaveDate;
}

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

@ -36,7 +36,7 @@ import java.util.List;
* @author: jianjun liu
*/
//url="http://localhost:8108"
//@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallback = DataStatisticalOpenFeignClientFallBack.class, url = "http://localhost:6666")
// @FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = DataStatisticalOpenFeignClientFallBackFactory.class, url = "http://localhost:8108")
@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = DataStatisticalOpenFeignClientFallBackFactory.class)
public interface DataStatisticalOpenFeignClient {
@ -341,7 +341,8 @@ public interface DataStatisticalOpenFeignClient {
*/
@PostMapping("/data/stats/datareporting/eventinfo")
Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody EventInfoFormDTO formDTO);
@PostMapping("/data/stats/datareporting/eventinfoV2")
Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody EventInfoFormDTO formDTO);
/**
* wangxianzhang
*

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java

@ -333,6 +333,11 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfo", formDTO);
}
@Override
public Result<List<EventInfoResultDTO>> getEventInfoV2(EventInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfoV2", formDTO);
}
@Override
public Result statsVolunteerDemandServicesDaily(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "statsVolunteerDemandServicesDaily", customerId);

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

@ -444,7 +444,7 @@
<dingTalk.robot.secret>SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd</dingTalk.robot.secret>
<!--rocketmq-->
<rocketmq.enable>local</rocketmq.enable>
<rocketmq.enable>false</rocketmq.enable>
<rocketmq.nameserver>192.168.1.140:9876;192.168.1.141:9876</rocketmq.nameserver>
</properties>
</profile>

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java

@ -16,6 +16,8 @@ import org.springframework.scheduling.annotation.EnableAsync;
public class DataStatsApplication {
public static void main(String[] args) {
// 让rocketmq使用slf4j管理日志
System.setProperty("rocketmq.client.logUseSlf4j", "true");
SpringApplication.run(DataStatsApplication.class ,args);
}
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java

@ -102,5 +102,8 @@ public class DataReportingController {
public Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfo(formDTO));
}
@PostMapping("eventinfoV2")
public Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfoV2(formDTO));
}
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -72,6 +72,7 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
int updateProjectSatisfactionScore(@Param("projectId")String projectId, @Param("score")BigDecimal score);
List<ScreenProjectDataDTO> selectProjectList(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
List<ScreenProjectDataDTO> selectProjectListV2(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
/**
* @Description 查询网格下的项目分类
@ -132,4 +133,6 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
* @Date 2022/3/16 9:48
*/
void updateHistoryData(CustomerStaffGridDTO dto);
int getProjectCount(@Param("customerId") String customerId,@Param("dateId") String dateId);
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java

@ -69,4 +69,13 @@ public interface DataReportingService {
*/
List<EventInfoResultDTO> getEventInfo(EventInfoFormDTO formDTO);
/**
* 事件上报
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java

@ -139,7 +139,7 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
* @Date 2021/10/15 14:22
*/
List<ScreenProjectDataDTO> getProjectList(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
/**
* 项目变更MQ
* @Param msg

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

@ -260,10 +260,12 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
//库中无数据,范围性删除无意义,只是针对在数据库有历史数据的情况下,保证对同一天进行反
//复采集时数不会重复
if(!CollectionUtils.isEmpty(meta)){
int affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId,dateId);
while (affectedRows > NumConstant.ZERO) {
affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId, dateId);
}
List<String> projectIds = meta.stream().map(ScreenProjectDataDTO::getProjectId).collect(Collectors.toList());
List<List<String>> projectPartition = ListUtils.partition(projectIds, NumConstant.FIFTY);
projectPartition.forEach(part -> {
baseDao.deleteByProjectIds(customerId, part);
});
List<List<ScreenProjectDataDTO>> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED);
partition.forEach(part -> {
List<ScreenProjectDataEntity> list = ConvertUtils.sourceToTarget(part, ScreenProjectDataEntity.class);
@ -309,6 +311,11 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectList(customerId, projectId);
}
@Override
public List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectListV2(customerId, projectId);
}
/**
* @Description 项目变更MQ

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

@ -100,6 +100,9 @@ public class DataReportingServiceImpl implements DataReportingService {
public List<GridUserInfoDTO> getStaffBaseInfo(StaffBaseInfoFormDTO formDTO) {
//1.查询工作人员所属网格信息
List<GridUserInfoDTO> resultList = customerGridService.getStaffGrid(formDTO);
if (CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>();
}
//2.查询工作人员基础信息
List<CustomerStaffDTO> staffDTOList = userService.getStaffBaseInfo(formDTO);
@ -118,6 +121,13 @@ public class DataReportingServiceImpl implements DataReportingService {
st.setUserType(dto.getWorkType().equals("fulltime") ? "01" : "02");
st.setPhonenumber(dto.getMobile());
st.setSex(0 == dto.getGender() ? "9" : dto.getGender().toString());
st.setUpdateTime(dto.getUpdatedTime());
st.setIdCard(dto.getIdCard());
st.setStaffId(dto.getUserId());
st.setIsLeave("enable".equals(dto.getEnableFlag()) ? "N" : "Y");
if ("Y".equals(st.getIsLeave())) {
st.setLeaveDate(DateUtils.integrate(dto.getUpdatedTime(), DateUtils.DATE_PATTERN));
}
}
});
@ -201,12 +211,72 @@ public class DataReportingServiceImpl implements DataReportingService {
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
/**
* 事件上报
*
* @param formDTO
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
@Override
public List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO) {
List<EventInfoResultDTO> list;
//根据入参,获取项目
long start = System.currentTimeMillis();
List<ScreenProjectDataDTO> projectList = screenProjectDataService.getProjectListV2(formDTO.getCustomerId(), formDTO.getProjectId(), formDTO.getPageNo(), formDTO.getPageSize());
log.info("事件上报-查询项目列表耗时:{}ms",System.currentTimeMillis()-start);
//项目列表为空,返回空数组
if(CollectionUtils.isEmpty(projectList)) {
return Collections.emptyList();
}
start = System.currentTimeMillis();
Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>();
Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId());
if (StringUtils.isNotBlank(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, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
} else {
//项目ID不为空时,提前取出客户下的组织和网格
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, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
}
log.info("事件上报-组装数据耗时:{}ms",System.currentTimeMillis()-start);
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) {
EventInfoResultDTO dto = new EventInfoResultDTO();
dto.setId(project.getProjectId());
dto.setCustomerId(project.getCustomerId());
dto.setEventName(project.getProjectTitle());
dto.setReporterId(project.getProjectCreator());
//获取工作人员姓名和身份证
String categoryCode = project.getCategoryCode().split(StrConstant.COMMA)[0];
String parentCode = null == codeMap.get(categoryCode)?null:codeMap.get(categoryCode).getParentCategoryCode();
//如果是孔村、榆山、锦水的项目需要关联分类字典表
@ -290,6 +360,7 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setCompleteTime(project.getCloseCaseTime());
dto.setLat(project.getLatitude());
dto.setLng(project.getLongitude());
dto.setWaysOfResolving(ProjectConstant.PROJECT_SELF_CLOSED);
return dto;
}
@ -333,4 +404,7 @@ public class DataReportingServiceImpl implements DataReportingService {
return userService.getPatrolDetailList(formDTO);
}
}

1
epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml

@ -226,3 +226,4 @@ shutdown:
rocketmq:
enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@

80
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -269,6 +269,80 @@
ORDER BY
a.CREATED_TIME ASC
</select>
<select id="selectProjectListV2" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
a.ID,
a.CUSTOMER_ID,
a.ORG_TYPE,
a.ORG_ID,
a.PARENT_ID,
a.ORG_NAME,
a.PROJECT_ID,
a.PROJECT_TITLE,
a.PROJECT_CREATE_TIME,
a.LINK_USER_ID,
a.LINK_NAME,
a.LINK_MOBILE,
a.PROJECT_CONTENT,
a.PROJECT_LEVEL,
a.PROJECT_ADDRESS,
a.ALL_CATEGORY_NAME,
a.LONGITUDE,
a.LATITUDE,
a.SATISFACTION_SCORE,
a.PROJECT_STATUS_CODE,
a.CLOSE_CASE_TIME,
a.DATA_END_TIME,
a.ALL_PARENT_IDS,
a.PROJECT_CREATOR,
a.ORIGIN,
a.CATEGORY_CODE,
b.HANDLER_ID AS finishOrg,
b.HANDLER_TYPE AS finishOrgType,
b.ORG_ID_PATH AS orgIdPath,
c.`LEVEL` AS finishOrgLevel
FROM
screen_project_data a
LEFT JOIN (
SELECT
spp.CUSTOMER_ID,
PROJECT_ID,
HANDLER_ID,
HANDLER_TYPE,
ORG_ID_PATH
FROM
screen_project_process spp
WHERE
(( spp.CUSTOMER_ID = '2fe0065f70ca0e23ce4c26fca5f1d933' OR spp.CUSTOMER_ID = '44876154d10d7cb7affd92000f84f833' OR spp.CUSTOMER_ID = '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'closed_case')
OR
(( spp.CUSTOMER_ID != '2fe0065f70ca0e23ce4c26fca5f1d933' AND spp.CUSTOMER_ID != '44876154d10d7cb7affd92000f84f833' AND spp.CUSTOMER_ID != '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'close')
<if test='null != customerId and "" != customerId'>
AND spp.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
spp.PROJECT_ID = #{projectId}
</foreach>
</if>
) b ON a.PROJECT_ID = b.PROJECT_ID
LEFT JOIN screen_customer_agency c ON b.HANDLER_ID = c.AGENCY_ID
WHERE a.DEL_FLAG = '0'
AND a.ORG_TYPE = 'grid'
AND a.CATEGORY_CODE IS NOT NULL
AND a.CATEGORY_CODE != ''
<if test='null != customerId and "" != customerId'>
AND a.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
a.PROJECT_ID = #{projectId}
</foreach>
</if>
ORDER BY
a.CREATED_TIME ASC
</select>
<!-- 查询网格下的项目分类 -->
<select id="selectGridCategoryProjectCount" resultType="com.epmet.dto.screen.result.GridAndOrgCategoryCountResultDTO">
@ -465,4 +539,10 @@
AND ORG_ID = #{agencyId}
AND ORIGIN = 'agency'
</update>
<select id="getProjectCount" resultType="int">
select count(ID)
from screen_project_data
where customer_id = #{customerId}
and DATA_END_TIME = #{dateId}
</select>
</mapper>

11
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml

@ -158,8 +158,13 @@
*
FROM
customer_grid
WHERE del_flag = '0'
AND customer_id = #{customerId}
WHERE customer_id = #{customerId}
<if test="delFlag != null and delFlag !=''">
AND del_flag = #{delFlag}
</if>
and CODE is not null
and CODE !=''
and grid_name not like '%专属网格'
<if test="orgIdList != null and orgIdList.size() > 0">
<foreach collection="orgIdList" item="gridId" open="AND id IN (" separator="," close=")">
#{gridId}
@ -176,7 +181,7 @@
cg.`code` code
FROM
customer_staff_grid csg
INNER JOIN customer_grid cg ON csg.grid_id = cg.id
INNER JOIN customer_grid cg ON csg.grid_id = cg.id AND cg.`CODE` != '' AND cg.`CODE` is not null
WHERE
csg.del_flag = '0'
AND csg.customer_id = #{customerId}

8
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml

@ -214,8 +214,12 @@
*
FROM
customer_agency
WHERE del_flag = '0'
AND customer_id = #{customerId}
WHERE customer_id = #{customerId}
and CODE is not null
and CODE !=''
<if test="delFlag != null and delFlag !=''">
AND del_flag = #{delFlag}
</if>
<if test="orgIdList != null and orgIdList.size() > 0">
<foreach collection="orgIdList" item="agencyId" open="AND id IN (" separator="," close=")">
#{agencyId}

15
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationDTO.java

@ -104,6 +104,21 @@ public class IcCommunitySelfOrganizationDTO implements Serializable {
*/
private String latitude;
/**
* 同步状态已同步:sync 未同步:not_sync
*/
private String syncType;
/**
* 部门ID customer_department.id
*/
private String deptId;
/**
* 部门下工作人员Id
*/
private String deptStaffId;
/**
*
*/

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

Loading…
Cancel
Save