Browse Source

Merge remote-tracking branch 'origin/pingyin_master' into pingyin_master

master
jianjun 3 years ago
parent
commit
0f6f7a616c
  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-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java
  4. 23
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/ZhzlCategorySelectDTO.java
  5. 55
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java
  6. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java
  7. 56
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java
  8. 108
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ZhzlResiCategoryEnum.java
  9. 10
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  10. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  11. 4
      epmet-gateway/pom.xml
  12. 7
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java
  13. 22
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TableConstant.java
  14. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java
  15. 70
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java
  16. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java
  17. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java
  18. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListLeftFormDTO.java
  19. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageHomeSearchFormDTO.java
  20. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/DataListLeftSubTotalFormDTO.java
  21. 39
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SearchDetailFormDTO.java
  22. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java
  23. 26
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTOV2.java
  24. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageHomeSearchResultDTO.java
  25. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/DataListLeftSubTotalResDTO.java
  26. 59
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/EventInfoResultDTO.java
  27. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridInfoResultDTO.java
  28. 76
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ResourceInfoResultDTO.java
  29. 92
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/UserInfoResultDTO.java
  30. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java
  31. 75
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/MenusEnums.java
  32. 5
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  33. 127
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java
  34. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcUserController.java
  35. 44
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java
  36. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java
  37. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java
  38. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java
  39. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java
  40. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java
  41. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java
  42. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
  43. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java
  44. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/IcResiCategoryWarnConfigDao.java
  45. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java
  46. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java
  47. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java
  48. 86
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/opercustomize/IcResiCategoryWarnConfigEntity.java
  49. 109
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/GovCustomerMenuRedis.java
  50. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  51. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  52. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java
  53. 28
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  54. 63
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java
  55. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java
  56. 46
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  57. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java
  58. 223
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  59. 29
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java
  60. 64
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  61. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/HeartService.java
  62. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/heart/impl/HeartServiceImpl.java
  63. 976
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  64. 34
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java
  65. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryStatsConfigService.java
  66. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/IcResiCategoryWarnService.java
  67. 28
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercustomize/impl/IcResiCategoryWarnServiceImpl.java
  68. 136
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml
  69. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  70. 35
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml
  71. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml
  72. 210
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCityManagementDao.xml
  73. 21
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcCoverageCategoryDictDao.xml
  74. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/IcEnterprisePatrolRecordDao.xml
  75. 26
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/IcEventDao.xml
  76. 53
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
  77. 31
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/heart/IcCommunitySelfOrganizationDao.xml
  78. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercustomize/IcResiCategoryWarnConfigDao.xml
  79. 2
      epmet-module/data-statistical/data-statistical-server/pom.xml
  80. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java
  81. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
  82. 15
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationDTO.java
  83. 15
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyUnitDTO.java
  84. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java
  85. 16
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java
  86. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java
  87. 6
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java
  88. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java
  89. 16
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java
  90. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationEntity.java
  91. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyUnitEntity.java
  92. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ServerInfoDTO.java
  93. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyUnitService.java
  94. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
  95. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java
  96. 64
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java
  97. 53
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordV2ServiceImpl.java
  98. 62
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  99. 1
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml
  100. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.27__alter_party_communit.sql

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

@ -766,6 +766,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

4
epmet-gateway/pom.xml

@ -278,6 +278,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、定时任务服务 -->
@ -317,6 +318,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>-->
@ -356,7 +358,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);
}
}

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcUserController.java

@ -17,6 +17,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.IcUserCategoryResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO;
import com.epmet.dataaggre.service.ResiService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.impl.ResiServiceImpl;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -41,7 +42,7 @@ public class IcUserController implements ResultDataResolver {
private EpmetUserService epmetUserService;
@Autowired
private ResiService icResiService;
private ResiServiceImpl icResiService;
@Autowired
private EpmetHeartOpenFeignClient heartOpenFeignClient;
@ -105,6 +106,9 @@ public class IcUserController implements ResultDataResolver {
return new Result().ok(new PageData<>(new ArrayList<>(), 0));
}
// 对特殊规则进行转换。
icResiService.specificRuleConvert(resiRule);
PageData<ResiByPolicyInfoResultDTO> page = icResiService.listByPolicyRules(orgId, orgType, neighborHoodId, buildingId, unitId,
houseId, idCard, name, pageNo, pageSize, resiRule, houseRule, statRule);
return new Result<PageData<ResiByPolicyInfoResultDTO>>().ok(page);

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

223
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,7 +1188,7 @@ 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());
@ -1197,9 +1201,11 @@ public class GovOrgServiceImpl implements GovOrgService {
dto.setClosedCount(closedMap.get(grid.getId()));
}
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 +1227,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 +1239,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,30 +1277,25 @@ 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);
@ -1319,4 +1323,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;
@ -110,7 +112,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);
/**
* 搜索事件
@ -153,4 +155,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);
}

64
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;
@ -652,15 +654,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);
}
@ -722,6 +724,48 @@ 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> getAgencyProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getAgencyProjectCount(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> 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
@ -730,9 +774,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);
@ -743,4 +791,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

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

@ -75,9 +75,6 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
String client = EpmetRequestHolder.getLoginUserClient();
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
// 对特殊规则进行转换。
specificRuleConvert(resiRule);
// 查询当前组织及下级id路径
LoginUserDetailsResultDTO userDetail = getResultDataOrThrowsException(userOpenFeignClient.getLoginUserDetails(new LoginUserDetailsFormDTO(app, client, userId)),
ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null);
@ -148,14 +145,21 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
* 为特定的规则进行转换
* @param resiRule
*/
private void specificRuleConvert(List<ResisByPolicyRulesFormDTO.ResiRule> resiRule) {
public void specificRuleConvert(List<ResisByPolicyRulesFormDTO.ResiRule> resiRule) {
// 使用年龄计算出生日期
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")));
}
}
});
}
@ -183,7 +187,7 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
return ">=";
}
return "";
return oldRel;
}
/**
@ -212,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) {
@ -267,6 +280,9 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
Integer pageSize = 500;
Integer pageNo = 1;
// 对特殊规则进行转换。
specificRuleConvert(resiRule);
try {
do {
PageData<ResiByPolicyInfoResultDTO> resis = this.listByPolicyRules(orgId, orgType, neighborHoodId, buildingId, unitId,

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

136
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,7 +119,27 @@
<if test="resiRules != null and resiRules.size() > 0">
and
<foreach collection="resiRules" item="rule" open="(" close=")">
${rule.colTable}.${rule.colKey} ${rule.queryType} #{rule.colVal} ${rule.nextLogicalRel}
<choose>
<!--针对为空/不为空进行单独处理-->
<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.colTable}.${rule.colKey} ${rule.queryType}
<choose>
<when test="rule.queryType == 'like'">
CONCAT('%',#{rule.colVal} ,'%')
</when>
<otherwise>
#{rule.colVal}
</otherwise>
</choose>
</otherwise>
</choose>
${rule.nextLogicalRel}
</foreach>
</if>
</where>
@ -151,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

@ -429,10 +429,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
@ -450,10 +450,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
@ -471,10 +471,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
@ -493,13 +493,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>

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

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

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

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

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

@ -134,6 +134,21 @@ public class IcPartyUnitDTO implements Serializable {
*/
private String remark;
/**
* 同步状态已同步:sync 未同步:not_sync
*/
private String syncType;
/**
* 部门ID customer_department.id
*/
private String deptId;
/**
* 部门下工作人员Id
*/
private String deptStaffId;
/**
* 删除标识 0未删除1已删除
*/

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java

@ -64,7 +64,7 @@ public class IcPolicyRuleDetailDTO {
/**
* 参数值
*/
@NotBlank(message = "参数值不能为空", groups = {ResiRulerShowGroup.class,HouseRulerShowGroup.class,StatRulerShowGroup.class})
// @NotBlank(message = "参数值不能为空", groups = {ResiRulerShowGroup.class,HouseRulerShowGroup.class,StatRulerShowGroup.class})
private String colVal;
/**

16
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java

@ -100,6 +100,22 @@ public class CommunitySelfOrganizationListDTO implements Serializable {
* 积分
*/
private Integer score;
/**
* 同步状态已同步:sync 未同步:not_sync
*/
private String syncType;
/**
* 部门ID customer_department.id
*/
private String deptId;
/**
* 部门下工作人员Id
*/
private String deptStaffId;
/**
* 社区自组织人员
*/

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java

@ -16,6 +16,7 @@ import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO;
import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO;
import com.epmet.dto.form.resi.ResisByPolicyRulesFormDTO;
import com.epmet.dto.form.resi.VolunteerCommonFormDTO;
import com.epmet.dto.result.CheckStaffInfoResultDTO;
import com.epmet.dto.result.PartyUnitListResultDTO;
import com.epmet.dto.result.demand.IcResiDemandDictDTO;
import com.epmet.dto.result.resi.PageVolunteerInfoResultDTO;
@ -166,4 +167,8 @@ public interface EpmetHeartOpenFeignClient {
*/
@PostMapping("/heart/policy/rules4ResiListAndExport/{ruleId}")
Result<ResisByPolicyRulesFormDTO.RuleList> listPolicyRules4QueryAndExport(@PathVariable("ruleId") String ruleId);
@PostMapping("/heart/icpartyunit/editpartyorcommunity")
Result editPartyOrCommunity(@RequestBody CheckStaffInfoResultDTO formDTO);
}

6
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java

@ -18,6 +18,7 @@ import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO;
import com.epmet.dto.form.resi.ResiVolunteerAuthenticateFormDTO;
import com.epmet.dto.form.resi.ResisByPolicyRulesFormDTO;
import com.epmet.dto.form.resi.VolunteerCommonFormDTO;
import com.epmet.dto.result.CheckStaffInfoResultDTO;
import com.epmet.dto.result.PartyUnitListResultDTO;
import com.epmet.dto.result.demand.IcResiDemandDictDTO;
import com.epmet.dto.result.demand.OptionDTO;
@ -166,4 +167,9 @@ public class EpmetHeartOpenFeignClientFallback implements EpmetHeartOpenFeignCli
public Result<ResisByPolicyRulesFormDTO.RuleList> listPolicyRules4QueryAndExport(String ruleId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "listPolicyRules4QueryAndExport", ruleId);
}
@Override
public Result editPartyOrCommunity(CheckStaffInfoResultDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "editPartyOrCommunity", formDTO);
}
}

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java

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

16
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java

@ -22,11 +22,7 @@ import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.PartyUnitListFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.excel.IcPartyUnitExcel;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
@ -312,4 +308,14 @@ public class IcPartyUnitController {
return new Result<List<PartyUnitListResultDTO>>().ok(icPartyUnitService.getAssistanceUnitList(tokenDto));
}
/**
* Desc: 联建单位社会自组织同步/取消同步到通讯录部门后相应的修改业务数据
* @author sun
*/
@PostMapping("editpartyorcommunity")
public Result editPartyOrCommunity(@RequestBody CheckStaffInfoResultDTO formDTO){
icPartyUnitService.editPartyOrCommunity(formDTO);
return new Result();
}
}

15
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcCommunitySelfOrganizationEntity.java

@ -117,4 +117,19 @@ public class IcCommunitySelfOrganizationEntity extends BaseEpmetEntity {
*/
private String remark;
/**
* 同步状态已同步:sync 未同步:not_sync
*/
private String syncType;
/**
* 部门ID customer_department.id
*/
private String deptId;
/**
* 部门下工作人员Id
*/
private String deptStaffId;
}

15
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyUnitEntity.java

@ -105,4 +105,19 @@ public class IcPartyUnitEntity extends BaseEpmetEntity {
*/
private String remark;
/**
* 同步状态已同步:sync 未同步:not_sync
*/
private String syncType;
/**
* 部门ID customer_department.id
*/
private String deptId;
/**
* 部门下工作人员Id
*/
private String deptStaffId;
}

15
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/ServerInfoDTO.java

@ -0,0 +1,15 @@
package com.epmet.entity;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/7/27 16:23
*/
@Data
public class ServerInfoDTO {
private String serviceName;
private String mobile;
}

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyUnitService.java

@ -12,10 +12,7 @@ import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.PartyUnitListFormDTO;
import com.epmet.dto.form.PartyUnitListbriefFormDTO;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyUnitEntity;
import org.springframework.web.multipart.MultipartFile;
@ -182,4 +179,6 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
* @param form
*/
List<PartyTypepercentResultDTO> getTypepercent(PartyTypepercentFormDTO form);
void editPartyOrCommunity(CheckStaffInfoResultDTO formDTO);
}

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

@ -25,6 +25,7 @@ import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.PointRecordResultDTO;
import com.epmet.dto.result.demand.*;
import com.epmet.entity.IcUserDemandRecEntity;
import com.epmet.entity.ServerInfoDTO;
import java.util.List;
import java.util.Map;
@ -262,4 +263,6 @@ public interface IcUserDemandRecService extends BaseService<IcUserDemandRecEntit
void icEventComment(IcEventCommentToDemandFromDTO formDTO);
Integer selectCountByServerId(String serverId);
ServerInfoDTO queryServiceName(String serverId, String serviceType);
}

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcCommunitySelfOrganizationServiceImpl.java

@ -41,10 +41,12 @@ import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcCommunitySelfOrganizationEntity;
import com.epmet.entity.IcCommunitySelfOrganizationPersonnelEntity;
import com.epmet.entity.IcPartyUnitEntity;
import com.epmet.excel.CommunitySelfOrgImportExcel;
import com.epmet.excel.ImportCommunitySelfOrganization;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.service.IcCommunitySelfOrganizationPersonnelService;
import com.epmet.service.IcCommunitySelfOrganizationService;
@ -66,6 +68,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
@ -97,6 +100,8 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Resource
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
public PageData<IcCommunitySelfOrganizationDTO> page(Map<String, Object> params) {
@ -374,8 +379,29 @@ public class IcCommunitySelfOrganizationServiceImpl extends BaseServiceImpl<IcCo
if (icUserDemandRecDao.selectCountByServerId(formDTO.getOrgId()) > NumConstant.ZERO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未完成的服务", "存在未完成的服务,不能删除");
}
baseDao.deleteById(formDTO.getOrgId());
personnelService.deleteByOrgId(formDTO.getOrgId());
//校验是否有同步到通讯录,是否存在工作人员下有未处理项目数据【社会自组织被同步到通讯录部门的,如果部门下人员存在未办结项目则不允许删除】
boolean bl = true;
IcCommunitySelfOrganizationEntity entity = baseDao.selectById(formDTO.getOrgId());
if (null != entity && "sync".equals(entity.getSyncType())) {
CheckStaffInfoFormDTO dto = new CheckStaffInfoFormDTO();
dto.setId(formDTO.getOrgId());
dto.setDeptId(entity.getDeptId());
dto.setDeptType("community_org");
dto.setDeptStaffId(entity.getDeptStaffId());
Result<CheckStaffInfoResultDTO> result = govOrgOpenFeignClient.notSyncDept(dto);
if (!result.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "社会自组织删除,取消同步到通讯录数据失败", "社会自组织删除,取消同步到通讯录数据失败");
}
if (!result.getData().getType()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), result.getData().getMsg(), result.getData().getMsg());
}
bl = result.getData().getType();
}
if (bl) {
baseDao.deleteById(formDTO.getOrgId());
personnelService.deleteByOrgId(formDTO.getOrgId());
}
}
/**

64
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java

@ -55,13 +55,12 @@ import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.dto.result.demand.ServiceStatDTO;
import com.epmet.entity.IcCommunitySelfOrganizationEntity;
import com.epmet.entity.IcPartyUnitEntity;
import com.epmet.excel.IcPartyUnitImportExcel;
import com.epmet.excel.IcPartyUnitImportFailedExcel;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.feign.*;
import com.epmet.service.IcCommunitySelfOrganizationService;
import com.epmet.service.IcPartyUnitService;
import com.epmet.service.IcServiceItemDictService;
import com.epmet.service.IcUserDemandRecService;
@ -78,6 +77,7 @@ import org.apache.http.entity.ContentType;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
@ -111,6 +111,10 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Resource
private EpmetHeartOpenFeignClient heartOpenFeignClient;
@Resource
private IcCommunitySelfOrganizationService icCommunitySelfOrganizationService;
@Resource
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
public PageData<IcPartyUnitDTO> search(PartyUnitFormDTO formDTO) {
@ -122,7 +126,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
wrapper.eq(StringUtils.isNotBlank(formDTO.getType()), IcPartyUnitEntity::getType, formDTO.getType());
wrapper.like(StringUtils.isNotBlank(formDTO.getContact()), IcPartyUnitEntity::getContact, formDTO.getContact());
wrapper.like(StringUtils.isNotBlank(formDTO.getContactMobile()), IcPartyUnitEntity::getContactMobile, formDTO.getContactMobile());
wrapper.orderByDesc(IcPartyUnitEntity::getUpdatedTime);
wrapper.orderByDesc(IcPartyUnitEntity::getCreatedTime);
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
PageInfo<IcPartyUnitEntity> pageInfo = new PageInfo<>(list);
List<IcPartyUnitDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyUnitDTO.class);
@ -257,8 +261,28 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
if (icUserDemandRecService.selectCountByServerId(id) > NumConstant.ZERO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未完成的服务", "存在未完成的服务,不能删除");
}
// 逻辑删除(@TableLogic 注解)
baseDao.deleteById(id);
//校验是否有同步到通讯录,是否存在工作人员下有未处理项目数据【联建单位被同步到通讯录部门的,如果部门下人员存在未办结项目则不允许删除】
boolean bl = true;
IcPartyUnitEntity entity = baseDao.selectById(id);
if (null != entity && "sync".equals(entity.getSyncType())) {
CheckStaffInfoFormDTO dto = new CheckStaffInfoFormDTO();
dto.setId(id);
dto.setDeptId(entity.getDeptId());
dto.setDeptType("party_unit");
dto.setDeptStaffId(entity.getDeptStaffId());
Result<CheckStaffInfoResultDTO> result = govOrgOpenFeignClient.notSyncDept(dto);
if (!result.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "联建单位删除,取消同步到通讯录数据失败", "联建单位删除,取消同步到通讯录数据失败");
}
if (!result.getData().getType()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), result.getData().getMsg(), result.getData().getMsg());
}
}
if (bl) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteById(id);
}
}
/**
@ -711,4 +735,30 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
return StringUtils.join(list, StrConstant.COMMA);
}
@Override
public void editPartyOrCommunity(CheckStaffInfoResultDTO formDTO) {
//联建单位
if("party_unit".equals(formDTO.getDeptType())){
IcPartyUnitEntity partyUnitEntity = new IcPartyUnitEntity();
partyUnitEntity.setId(formDTO.getId());
partyUnitEntity.setSyncType(formDTO.getSyncType());
partyUnitEntity.setDeptId(formDTO.getDeptId());
partyUnitEntity.setDeptStaffId(formDTO.getDeptStaffId());
partyUnitEntity.setUpdatedBy(formDTO.getUserId());
partyUnitEntity.setUpdatedTime(new Date());
updateById(partyUnitEntity);
}
//社会自组织
if("community_org".equals(formDTO.getDeptType())){
IcCommunitySelfOrganizationEntity communityEntity = new IcCommunitySelfOrganizationEntity();
communityEntity.setId(formDTO.getId());
communityEntity.setSyncType(formDTO.getSyncType());
communityEntity.setDeptId(formDTO.getDeptId());
communityEntity.setDeptStaffId(formDTO.getDeptStaffId());
communityEntity.setUpdatedBy(formDTO.getUserId());
communityEntity.setUpdatedTime(new Date());
icCommunitySelfOrganizationService.updateById(communityEntity);
}
}
}

53
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordV2ServiceImpl.java

@ -14,6 +14,8 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.dao.IcServiceFeedbackV2Dao;
import com.epmet.dao.IcServiceRecordV2Dao;
import com.epmet.dao.IcServiceScopeDao;
@ -22,19 +24,15 @@ import com.epmet.dto.IcServiceFeedbackV2DTO;
import com.epmet.dto.IcServiceRecordV2DTO;
import com.epmet.dto.IcServiceScopeV2DTO;
import com.epmet.dto.form.IcServiceRecordV2AddEditFormDTO;
import com.epmet.dto.form.SendSmsFormDTO;
import com.epmet.dto.form.ServiceRecordV2DetailFormDTO;
import com.epmet.dto.form.ServiceRecordV2ListFormDTO;
import com.epmet.dto.result.ServiceRecordV2DetailResultDTO;
import com.epmet.dto.result.ServiceRecordV2ListResultDTO;
import com.epmet.entity.HeartAttachmentEntity;
import com.epmet.entity.IcServiceFeedbackV2Entity;
import com.epmet.entity.IcServiceRecordV2Entity;
import com.epmet.entity.IcServiceScopeV2Entity;
import com.epmet.entity.*;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.redis.IcPartyUnitRedis;
import com.epmet.service.HeartAttachmentService;
import com.epmet.service.IcServiceFeedbackV2Service;
import com.epmet.service.IcServiceRecordV2Service;
import com.epmet.service.IcServiceScopeV2Service;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -44,10 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 服务记录表
@ -75,6 +70,8 @@ public class IcServiceRecordV2ServiceImpl extends BaseServiceImpl<IcServiceRecor
private IcServiceFeedbackV2Dao serviceFeedbackV2Dao;
@Autowired
private IcServiceScopeV2Dao icServiceScopeV2Dao;
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Override
public PageData<IcServiceRecordV2DTO> page(Map<String, Object> params) {
@ -156,7 +153,37 @@ public class IcServiceRecordV2ServiceImpl extends BaseServiceImpl<IcServiceRecor
}
insert(entity);
// 未直接反馈的,给服务组织发送短信
// XXX社区发起一个【服务名称】服务,请服务完成后尽快反馈,谢谢合作。
if(null==formDTO.getFeedback()){
sendPhoneMsgToServiceOrg(formDTO.getCustomerId(),formDTO.getUserId(),formDTO.getServiceOrgId(),formDTO.getServiceOrgType(),formDTO.getServiceName());
}
}
/**
* 未直接反馈的给服务组织(社区自组织联建单位志愿者)发送短信
*/
private void sendPhoneMsgToServiceOrg(String customerId, String staffId, String serviceOrgId, String serviceOrgType, String serviceName) {
ServerInfoDTO serverInfoDTO = SpringContextUtils.getBean(IcUserDemandRecService.class).queryServiceName(serviceOrgId, serviceOrgType);
if (null == serverInfoDTO || StringUtils.isBlank(serverInfoDTO.getMobile()) || serverInfoDTO.getMobile().length() < 11 || serverInfoDTO.getMobile().contains("-")) {
return;
}
// XXX社区发起一个【服务名称】服务,请服务完成后尽快反馈,谢谢合作。
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, staffId);
if (null == staffInfoCacheResult || StringUtils.isBlank(staffInfoCacheResult.getAgencyName())) {
return;
}
List<SendSmsFormDTO> smsList = new ArrayList<>();
SendSmsFormDTO sms = new SendSmsFormDTO();
sms.setCustomerId(customerId);
sms.setMobile(serverInfoDTO.getMobile());
sms.setAliyunTemplateCode(SmsTemplateConstant.IC_SERVICE_TEM);
Map<String, String> paramMap = new HashMap<>();
//${nane}发起一个${serviceName}服务,请服务完成后尽快反馈,谢谢合作。
paramMap.put("nane",staffInfoCacheResult.getAgencyName());
paramMap.put("serviceName",serviceName);
sms.setParamMap(paramMap);
smsList.add(sms);
messageOpenFeignClient.sendMsg(smsList);
}
@Override

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

@ -43,6 +43,7 @@ import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.UserDemandConstant;
import com.epmet.constant.UserMessageTypeConstant;
import com.epmet.dao.IcUserDemandOperateLogDao;
@ -414,11 +415,11 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
//3、插入或更新服务记录
IcUserDemandServiceEntity serviceEntity=ConvertUtils.sourceToTarget(formDTO,IcUserDemandServiceEntity.class);
//4、设置服务方名称
String serviceName = queryServiceName(serviceEntity.getServerId(), serviceEntity.getServiceType());
if (StringUtils.isBlank(serviceName)) {
ServerInfoDTO serverInfoDTO = queryServiceName(serviceEntity.getServerId(), serviceEntity.getServiceType());
if (StringUtils.isBlank(serverInfoDTO.getServiceName())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务方名称获取异常", "服务方名称异常");
}
serviceEntity.setServerName(serviceName);
serviceEntity.setServerName(serverInfoDTO.getServiceName());
IcUserDemandServiceEntity origin=demandServiceDao.selectByRecId(formDTO.getDemandRecId());
if (null == origin) {
@ -430,6 +431,34 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
}
// 4、如果需求是小程序端上报的,提醒需求人,服务已指派
sendDemandUserHaveOrgService(entity,formDTO.getServerId(),formDTO.getServiceType());
//给服务方负责人发短信
sendPhoneMsgToServer(formDTO.getCustomerId(),formDTO.getUserId(),serverInfoDTO.getMobile());
}
/**
* 需求指派后给社区自组织联建单位志愿者发短信通知
* @param staffId
* @param mobile
*/
private void sendPhoneMsgToServer(String customerId,String staffId, String mobile) {
if (StringUtils.isBlank(mobile) || mobile.length() < 11 || mobile.contains("-")) {
return;
}
// ${name}给您指派了一个新的需求,请服务完成后尽快反馈,谢谢合作。
CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(customerId,staffId);
if (null == staffInfoCacheResult || StringUtils.isBlank(staffInfoCacheResult.getAgencyName())) {
return;
}
List<SendSmsFormDTO> smsList=new ArrayList<>();
SendSmsFormDTO sms = new SendSmsFormDTO();
sms.setCustomerId(customerId);
sms.setMobile(mobile);
sms.setAliyunTemplateCode(SmsTemplateConstant.DEMAND_SERVICE_TEM);
Map<String, String> paramMap = new HashMap<>();
paramMap.put("name",staffInfoCacheResult.getAgencyName());
sms.setParamMap(paramMap);
smsList.add(sms);
Result res=messageOpenFeignClient.sendMsg(smsList);
}
/**
@ -438,21 +467,25 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
* @param serviceType
* @return
*/
private String queryServiceName(String serverId, String serviceType) {
public ServerInfoDTO queryServiceName(String serverId, String serviceType) {
String serviceName="";
String mobile="";
switch (serviceType)
{
case UserDemandConstant.PARTY_UNIT:
IcPartyUnitDTO partyUnitDTO=partyUnitService.get(serverId);
serviceName=null != partyUnitDTO ? partyUnitDTO.getUnitName() : StrConstant.EPMETY_STR;
mobile = null != partyUnitDTO ? partyUnitDTO.getContactMobile() : StrConstant.EPMETY_STR;
break;
case UserDemandConstant.SOCIAL_ORG:
IcSocietyOrgDTO societyOrgDTO=societyOrgService.get(serverId);
serviceName=null != societyOrgDTO ? societyOrgDTO.getSocietyName() : StrConstant.EPMETY_STR;
mobile=null != societyOrgDTO ? societyOrgDTO.getMobile() : StrConstant.EPMETY_STR;
break;
case UserDemandConstant.COMMUNITY_ORG:
IcCommunitySelfOrganizationDTO dto=communitySelfOrganizationService.get(serverId);
serviceName=null != dto ? dto.getOrganizationName() : StrConstant.EPMETY_STR;
mobile = null != dto ? dto.getPrincipalPhone() : StrConstant.EPMETY_STR;
break;
case UserDemandConstant.VOLUNTEER:
//爱心互助的志愿者
@ -461,6 +494,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询爱心互助志愿者信息异常","志愿者信息查询异常");
}
serviceName=userInfoRes.getData().get(NumConstant.ZERO).getRealName();
mobile = userInfoRes.getData().get(NumConstant.ZERO).getMobile();
break;
case UserDemandConstant.IC_USER_VOLUNTEER:
//居民信息的志愿者 ic_resi_user
@ -469,12 +503,16 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询居民信息志愿者信息异常","查询居民信息志愿者信息异常");
}
serviceName=icUserInfoRes.getData().getName();
mobile = icUserInfoRes.getData().getMobile();
break;
default:
log.warn("serviceType 错误");
break;
}
return serviceName;
ServerInfoDTO serverInfoDTO=new ServerInfoDTO();
serverInfoDTO.setServiceName(serviceName);
serverInfoDTO.setMobile(mobile);
return serverInfoDTO;
}
/**
@ -1166,8 +1204,8 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
operateLogDao.insert(logEntity);
//3、插入或更新服务记录
IcUserDemandServiceEntity origin=demandServiceDao.selectByRecId(formDTO.getDemandRecId());
String serviceName=queryServiceName(formDTO.getUserId(),UserDemandConstant.VOLUNTEER);
if (StringUtils.isBlank(serviceName)) {
ServerInfoDTO serverInfoDTO=queryServiceName(formDTO.getUserId(),UserDemandConstant.VOLUNTEER);
if (StringUtils.isBlank(serverInfoDTO.getServiceName())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务方名称获取异常", "服务方名称异常");
}
String serviceId="";
@ -1177,14 +1215,14 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
serviceEntity.setDemandRecId(entity.getId());
serviceEntity.setServiceType(UserDemandConstant.VOLUNTEER);
serviceEntity.setServerId(formDTO.getUserId());
serviceEntity.setServerName(serviceName);
serviceEntity.setServerName(serverInfoDTO.getServiceName());
demandServiceDao.insert(serviceEntity);
serviceId=serviceEntity.getId();
}else{
origin.setServiceType(UserDemandConstant.VOLUNTEER);
origin.setServerId(formDTO.getUserId());
origin.setUpdatedBy(formDTO.getUserId());
origin.setServerName(serviceName);
origin.setServerName(serverInfoDTO.getServiceName());
demandServiceDao.updateById(origin);
serviceId=origin.getId();
}
@ -1556,11 +1594,11 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
if("ic_event".equals(formDTO.getOrigin())){
IcUserDemandServiceEntity serviceEntity = ConvertUtils.sourceToTarget(formDTO, IcUserDemandServiceEntity.class);
serviceEntity.setDemandRecId(demandRecId);
String serviceName = queryServiceName(serviceEntity.getServerId(), serviceEntity.getServiceType());
if (StringUtils.isBlank(serviceName)) {
ServerInfoDTO serverInfoDTO = queryServiceName(serviceEntity.getServerId(), serviceEntity.getServiceType());
if (StringUtils.isBlank(serverInfoDTO.getServiceName())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务方名称获取异常", "服务方名称异常");
}
serviceEntity.setServerName(serviceName);
serviceEntity.setServerName(serverInfoDTO.getServiceName());
demandServiceDao.insert(serviceEntity);
}
return resultDto;

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

@ -159,6 +159,7 @@ rocketmq:
# 是否开启mq
enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@
# 停机选项
shutdown:
graceful:

11
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.27__alter_party_communit.sql

@ -0,0 +1,11 @@
ALTER TABLE `ic_community_self_organization`
ADD COLUMN `SYNC_TYPE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'not_sync' COMMENT '同步状态【已同步:sync 未同步:not_sync】' AFTER `ADDRESS`,
ADD COLUMN `DEPT_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门ID customer_department.id' AFTER `SYNC_TYPE`,
ADD COLUMN `DEPT_STAFF_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门下工作人员Id' AFTER `DEPT_ID`;
ALTER TABLE `ic_party_unit`
ADD COLUMN `SYNC_TYPE` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'not_sync' COMMENT '同步状态【已同步:sync 未同步:not_sync】' AFTER `REMARK`,
ADD COLUMN `DEPT_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门ID customer_department.id' AFTER `SYNC_TYPE`,
ADD COLUMN `DEPT_STAFF_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门下工作人员Id' AFTER `DEPT_ID`;

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

Loading…
Cancel
Save