Browse Source

Merge branch 'pingyin_master' of http://git.elinkit.com.cn:7070/r/epmet-cloud into pingyin_master

master
wangxianzhang 3 years ago
parent
commit
83f6da94e8
  1. 1
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java
  2. 34
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.21__policy_dict.sql
  3. 2
      epmet-cloud-generator/src/main/resources/application.yml
  4. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
  5. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java
  6. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  7. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java
  8. 23
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/ZhzlCategorySelectDTO.java
  9. 55
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoverageEnums.java
  10. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CoveragePlaceTypeEnum.java
  11. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  12. 56
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java
  13. 108
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ZhzlResiCategoryEnum.java
  14. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  15. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/page/PageData.java
  16. 36
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  17. 20
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  18. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java
  19. 4
      epmet-gateway/pom.xml
  20. 1
      epmet-gateway/src/main/resources/bootstrap.yml
  21. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java
  22. 10
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/OrgConstant.java
  23. 22
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TableConstant.java
  24. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisGovernedTargetsResult.java
  25. 70
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/coverage/AnalysisResourceCategoriesResult.java
  26. 59
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/NowStatsDataFormDTO.java
  27. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/NowStatsDataResultDTO.java
  28. 10
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/RegisterRelationDTO.java
  29. 77
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ResisByPolicyRulesFormDTO.java
  30. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/IcResiInfoResultDTO.java
  31. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ResiByPolicyInfoResultDTO.java
  32. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListFormDTO.java
  33. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageAnalisisDataListLeftFormDTO.java
  34. 44
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/CoverageHomeSearchFormDTO.java
  35. 33
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/DataListLeftSubTotalFormDTO.java
  36. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStatisticsFormDTO.java
  37. 39
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SearchDetailFormDTO.java
  38. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTO.java
  39. 26
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageAnalisisDataListResultDTOV2.java
  40. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/CoverageHomeSearchResultDTO.java
  41. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/DataListLeftSubTotalResDTO.java
  42. 59
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/EventInfoResultDTO.java
  43. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridInfoResultDTO.java
  44. 24
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/MemberProjectInfoResultDTO.java
  45. 17
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgCountDTO.java
  46. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgProjectDetailResultDTO.java
  47. 76
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ResourceInfoResultDTO.java
  48. 92
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/UserInfoResultDTO.java
  49. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/OrgInfoCommonDTO.java
  50. 75
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/enums/MenusEnums.java
  51. 12
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java
  52. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java
  53. 38
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  54. 127
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java
  55. 62
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java
  56. 128
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
  57. 93
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcUserController.java
  58. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  59. 81
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java
  60. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/RegisterRelationDao.java
  61. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java
  62. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java
  63. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
  64. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java
  65. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java
  66. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCityManagementDao.java
  67. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcCoverageCategoryDictDao.java
  68. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcEnterprisePatrolRecordDao.java
  69. 24
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java
  70. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcNeighborhoodDao.java
  71. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/IcEventDao.java
  72. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
  73. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/heart/IcCommunitySelfOrganizationDao.java
  74. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercustomize/IcResiCategoryWarnConfigDao.java
  75. 31
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/resipartymember/ResiPartymemberDao.java
  76. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/RegisterRelationEntity.java
  77. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCityManagementEntity.java
  78. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcCoverageCategoryDictEntity.java
  79. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/IcPublicServiceEntity.java
  80. 86
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/opercustomize/IcResiCategoryWarnConfigEntity.java
  81. 40
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/MemberProjectInfoExcel.java
  82. 68
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/NowStatsDataExcel.java
  83. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/OrgProjectDetailExcel.java
  84. 21
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/ResisByPolicyExcel.java
  85. 109
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/redis/GovCustomerMenuRedis.java
  86. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  87. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/PartymemberService.java
  88. 50
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/ResiService.java
  89. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  90. 274
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  91. 41
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  92. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiService.java
  93. 94
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  94. 63
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java
  95. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgCoverageService.java
  96. 80
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  97. 48
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgCoverageServiceImpl.java
  98. 433
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  99. 68
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java
  100. 132
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

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

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

34
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.21__policy_dict.sql

@ -0,0 +1,34 @@
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`)
VALUES ('1549241609500921857', 'house_purpose', '房屋用途', '', 31, 0, 0, '1', '2022-07-19 11:55:58', '1', '2022-07-19 11:55:58');
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`)
VALUES ('1549241262669729794', 'house_type', '房屋类型', '楼房、平房、别墅', 30, 0, 0, '1', '2022-07-19 11:54:35', '1', '2022-07-19 11:54:35');
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`)
VALUES ('1548958559042969601', 'policy_level', '政策级别', '政策级别;与服务项目的政策级别一致', 29, 0, 0, '1', '2022-07-18 17:11:13', '1', '2022-07-19 11:10:42');
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`)
VALUES ('1548956290117443586', 'sql_query_type', 'sql查询条件', '目前应用于政策找人规则查询条件', 28, 0, 0, '1', '2022-07-18 17:02:12', '1', '2022-07-19 11:10:36');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956434175008770', 1548956290117443586, '等于', '=', '0', '等于', 1, 0, 0, '1', '2022-07-18 17:02:47', '1', '2022-07-18 17:02:47');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956518434381826', 1548956290117443586, '不等于', '!=', '0', '不等于', 2, 0, 0, '1', '2022-07-18 17:03:07', '1', '2022-07-18 17:03:07');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956603855577089', 1548956290117443586, '大于', '>', '0', '大于', 3, 0, 0, '1', '2022-07-18 17:03:27', '1', '2022-07-18 17:03:27');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956681525698561', 1548956290117443586, '大于等于', '>=', '0', '大于等于', 4, 0, 0, '1', '2022-07-18 17:03:46', '1', '2022-07-18 17:03:46');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956755412557826', 1548956290117443586, '小于', '<', '0', '小于', 5, 0, 0, '1', '2022-07-18 17:04:03', '1', '2022-07-18 17:04:03');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956830482210818', 1548956290117443586, '小于等于', '<=', '0', '<=', 6, 0, 0, '1', '2022-07-18 17:04:21', '1', '2022-07-18 17:04:21');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548956956554600450', 1548956290117443586, '包含', 'like', '0', '包含', 7, 0, 0, '1', '2022-07-18 17:04:51', '1', '2022-07-18 17:04:51');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548957038305779714', 1548956290117443586, '不包含', 'not like', '0', '不包含', 8, 0, 0, '1', '2022-07-18 17:05:11', '1', '2022-07-18 17:05:11');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548958784704913410', 1548958559042969601, '市级', '0', '0', '市级;政策级别ic_policy.POLICY_LEVEL', 1, 0, 0, '1', '2022-07-18 17:12:07', '1', '2022-07-18 17:12:07');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548958823573528578', 1548958559042969601, '区级', '1', '0', '区级;政策级别ic_policy.POLICY_LEVEL', 2, 0, 0, '1', '2022-07-18 17:12:16', '1', '2022-07-18 17:12:16');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1548958887222091777', 1548958559042969601, '街道级', '2', '0', '街道级;政策级别ic_policy.POLICY_LEVEL', 3, 0, 0, '1', '2022-07-18 17:12:32', '1', '2022-07-18 17:12:32');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241348443246594', 1549241262669729794, '楼房', '1', '0', '房屋类型ic_house.houseType', 1, 0, 0, '1', '2022-07-19 11:54:56', '1', '2022-07-19 11:54:56');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241378726121473', 1549241262669729794, '平房', '2', '0', '房屋类型ic_house.houseType', 2, 0, 0, '1', '2022-07-19 11:55:03', '1', '2022-07-19 11:55:03');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241467490177025', 1549241262669729794, '别墅', '3', '0', '房屋类型ic_house.houseType', 3, 0, 0, '1', '2022-07-19 11:55:24', '1', '2022-07-19 11:55:24');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241664320475137', 1549241609500921857, '住宅', '1', '0', '房屋用途ic_house.purpose', 1, 0, 0, '1', '2022-07-19 11:56:11', '1', '2022-07-19 11:56:11');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241693034680321', 1549241609500921857, '商业', '2', '0', '房屋用途ic_house.purpose', 2, 0, 0, '1', '2022-07-19 11:56:18', '1', '2022-07-19 11:56:18');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241720020832257', 1549241609500921857, '办公', '3', '0', '房屋用途ic_house.purpose', 3, 0, 0, '1', '2022-07-19 11:56:24', '1', '2022-07-19 11:56:24');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241750299512833', 1549241609500921857, '工业', '4', '0', '房屋用途ic_house.purpose', 4, 0, 0, '1', '2022-07-19 11:56:31', '1', '2022-07-19 11:56:31');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241808101216257', 1549241609500921857, '仓储', '5', '0', '房屋用途ic_house.purpose', 5, 0, 0, '1', '2022-07-19 11:56:45', '1', '2022-07-19 11:56:45');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241873729490946', 1549241609500921857, '商住混用', '6', '0', '房屋用途ic_house.purpose', 6, 0, 0, '1', '2022-07-19 11:57:01', '1', '2022-07-19 11:57:01');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1549241913411801089', 1549241609500921857, '其他', '7', '0', '房屋用途ic_house.purpose', 7, 0, 0, '1', '2022-07-19 11:57:10', '1', '2022-07-19 11:57:10');

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

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

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

@ -22,6 +22,11 @@ public class OrgOrStaffMQMsg implements Serializable {
//删除网格:grid_delete;删除组织:agency_delete
private String type;
/**
* org原有的Code
*/
private String oldCode;
//工作人员Id集合
private List<String> staffIdList;

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java

@ -174,4 +174,20 @@ public interface Constant {
String OPITON_SOURCE_REMOTE = "remote";
String OPITON_SOURCE_LOCAL = "local";
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
String AUDITING="auditing";
String AUTO_PASSED="auto_passed";
String REVIEW="review";
String BLOCK="block";
String REJECTED="rejected";
String APPROVED="approved";
}

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

@ -143,4 +143,9 @@ public interface ServiceConstant {
* 聚合查询服务
*/
String DATA_AGGREGATOR_SERVER = "data-aggregator-server";
/**
* 插件pli-power服务
*/
String PLI_POWER_SERVER = "pli-power-base-server";
}

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;

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

@ -27,6 +27,7 @@ public enum DictTypeEnum {
IC_EVENT_SOURCE_TYPE("ic_event_source_type","事件管理",19),
IC_SERVICE_TYPE("ic_service_type","服务类别",20),
IC_DANGER_TYPE("ic_danger_type","危化品种类",24),
POLICY_LEVEL("policy_level","政策级别",25),
;
private final String code;

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

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -261,6 +261,7 @@ public enum EpmetErrorCode {
NOT_REGEIST_RESI(8927,"未注册居民"),
UNIT_EXIST_HOUSES_ERROR(8928,"单元下存在房屋,不可修改单元数"),
IC_VACCINE(8929,"已存在相同记录,请去修改原有记录"),
NOT_MATCH_IC_USER_ERROR(8930,"请联系社区工作人员"),
MISMATCH(10086,"人员与房屋信息不匹配,请与工作人员联系。"),

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/page/PageData.java

@ -9,6 +9,7 @@
package com.epmet.commons.tools.page;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@ -20,6 +21,7 @@ import java.util.List;
* @since 1.0.0
*/
@Data
@NoArgsConstructor
public class PageData<T> implements Serializable {
private static final long serialVersionUID = 1L;

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

@ -644,8 +644,18 @@ public class RedisKeys {
* @param agencyId
* @return
*/
public static String getOrgTreeCacheKey(String agencyId) {
return rootPrefix.concat("org:temp:orgtree").concat(agencyId);
public static String getOrgTreeCacheKey(String agencyId,String customerId) {
return rootPrefix.concat("org:temp:orgtree:").concat(customerId).concat(StrConstant.COLON).concat(agencyId);
}
/**
* 与getOrgTreeCacheKey一致用于模糊删除
* @param customerId
* @return
*/
public static String getOrgTreeCachePrexKey(String customerId) {
// return "epmet:org:temp:orgtree".concat(StrConstant.STAR);
return rootPrefix.concat("org:temp:orgtree:").concat(customerId).concat(StrConstant.STAR);
}
public static String getHouseInfoCacheKey(String houseId,String customerId){
@ -756,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
@ -817,4 +837,16 @@ public class RedisKeys {
}
return rootPrefix.concat("datasync:").concat(bizType);
}
/**
* Desc: 服务组织名称
* @param customerId
* @param serviceOrgType
* @param serviceOrgId
* @author zxc
* @date 2022/7/19 14:08
*/
public static String getServiceOrgNameKey(String customerId,String serviceOrgType,String serviceOrgId){
return rootPrefix.concat("serviceOrgName:").concat(serviceOrgType).concat(":").concat(customerId).concat(":").concat(serviceOrgId);
}
}

20
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
@ -462,4 +471,15 @@ public class RedisUtils {
public Long getTTL(String treeCacheKey) {
return redisTemplate.getExpire(treeCacheKey);
}
/**
* 根据前缀模糊删除
* @param prex
*/
public void deleteByPrex(String prex) {
Set<String> keys = redisTemplate.keys(prex);
if (!CollectionUtils.isEmpty(keys)) {
redisTemplate.delete(keys);
}
}
}

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java

@ -102,6 +102,7 @@ public class HouseInfoCache implements Serializable {
* 房屋编码
*/
private String houseCode;
private String coding;
/**
* 二维码地址
*/

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

1
epmet-gateway/src/main/resources/bootstrap.yml

@ -510,6 +510,7 @@ epmet:
# 内部认证url白名单(在白名单中的,就不会再校验登录了)
internalAuthUrlsWhiteList:
- /epmetuser/customerstaff/customerlist
- /epmetuser/icresiuser/icUserMatchGrid
- /auth/wechat/**
- /**/druid/**
- /gov/project/project/platformcallback

1
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java

@ -38,4 +38,5 @@ public interface DataSourceConstant {
String EPMET_T_DUCK = "epmettduck";
String EPMETTDUCK="epmettduck";
String EPMET_HEART="heart";
String RESI_PARTYMEMBER="partymember";
}

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

@ -10,8 +10,16 @@ public interface OrgConstant {
String PROVINCE = "province";
String CITY = "city";
String DISTRICT = "district";
String STREET = "street";
String COMMUNITY = "community";
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;
}
}

59
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/NowStatsDataFormDTO.java

@ -0,0 +1,59 @@
package com.epmet.dataaggre.dto.datastats.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description 数据统计页面查询-接口入参
*/
@Data
public class NowStatsDataFormDTO implements Serializable {
private static final long serialVersionUID = 6462094914874831738L;
public interface CustomerDataManageForm{}
/**
* 客户ID
*/
@NotBlank(message = "客户ID不能为空",groups = CustomerDataManageForm.class)
private String customerId;
/**
* 组织ID
*/
@NotBlank(message = "组织ID不能为空",groups = CustomerDataManageForm.class)
private String agencyId;
/**
* 区间:Interval 截止:end
*/
@NotBlank(message = "type不能为空",groups = CustomerDataManageForm.class)
private String type;
/**
* 开始时间 精确到秒yyyy-MM-dd HH:mm:ss
*/
private String startTime;
/**
* 结束时间 精确到秒yyyy-MM-dd HH:mm:ss
*/
@NotBlank(message = "结束时间不能为空",groups = CustomerDataManageForm.class)
private String endTime;
//组织或网格Id集合
private List<String> idList;
//数据类型【组织agency 网格grid】
private String dataType;
/**
* desc:是否是导出
*/
private boolean export = false;
}

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

@ -0,0 +1,46 @@
package com.epmet.dataaggre.dto.datastats.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 数据统计页面查询-接口返参
*/
@Data
public class NowStatsDataResultDTO {
//组织、网格Id
private String orgId;
//组织、网格名称
private String orgName;
//注册居民数
private Integer resiUserCount = 0;
//注册党员数
private Integer partyMemberCount = 0;
//事件总数
private Integer icEventCount = 0;
//居民上报事件数【小程序端随手拍随时讲】
private Integer resiEventCount = 0;
//平台录入事件数【数字平台录入的事件数】
private Integer pcEventCount = 0;
//项目总数
private Integer projectCount = 0;
//议题转项目数
private Integer issueProjectCount = 0;
//事件立项数
private Integer icEventProjectCount = 0;
//直接立项项目数
private Integer agencyProjectCount = 0;
//组织的pids
private String pids;
//事件来源,0代表居民点 其他代表数字平台
private String sourceType;
//项目来源 issue议题 agency立项 ic_event事件
private String origin;
}

10
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/RegisterRelationDTO.java

@ -44,6 +44,16 @@ public class RegisterRelationDTO implements Serializable {
*/
private String customerId;
/**
* 所属组织机构Id
*/
private String agencyId;
/**
* agencyId的所有上级包含自己
*/
private String agencyIdPath;
/**
* 网格Id (customer_grid.id)
*/

77
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ResisByPolicyRulesFormDTO.java

@ -0,0 +1,77 @@
package com.epmet.dataaggre.dto.epmetuser.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResisByPolicyRulesFormDTO {
private String ruleId;
private String orgId;
private String orgType;
private String neighborHoodId;
private String buildingId;
private String unitId;
private String houseId;
private String name;
private String mobile;
private String idCard;
private RuleList ruleList = new RuleList();
private Integer pageNo = 1;
private Integer pageSize = 20;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class RuleList {
private String ruleName;
private List<ResiRule> resiRuleList;
private List<HouseRule> houseRuleList;
private List<StatRule> statRuleList;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class ResiRule {
private String ruleDesc;
private String nextLogicalRel;
private String itemGroupId;
private String itemId;
private String queryType;
private String colTable;
private String colKey;
private String colVal;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class HouseRule {
private String colTable;
private String colKey;
private String colVal;
private String ruleDesc;
private String nextLogicalRel;
private String queryType;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class StatRule {
private String colKey;
private String colVal;
private String nextLogicalRel;
private String ruleDesc;
private String queryType;
private String colTable;
}
}

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

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

@ -0,0 +1,46 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResiByPolicyInfoResultDTO {
@ExcelIgnore
private String icResiUserId;
@ExcelProperty(value = "姓名")
@ColumnWidth(10)
private String name;
@ExcelProperty("手机号")
@ColumnWidth(20)
private String mobile;
@ExcelProperty("身份证号")
@ColumnWidth(30)
private String idCard;
/**
* 小区全名包含小区前面的属性比如网格等
*/
@ExcelIgnore
private String gridId;
@ExcelIgnore
private String neighborhoodId;
@ExcelProperty("小区名称")
@ColumnWidth(30)
private String neighborHoodName;
@ExcelProperty("年龄")
@ColumnWidth(10)
private Integer age;
@ExcelIgnore
private String birthday;
}

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

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

@ -0,0 +1,25 @@
package com.epmet.dataaggre.dto.govorg.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/7/27 9:27
*/
@Data
public class OrgStatisticsFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -1043502365053945317L;
private String customerId;
private String agencyId;
private String orgId;
private String orgType;
private String type;
private String startDate;
private String endDate;
private List<String> agencyList;
}

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

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

@ -0,0 +1,24 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/7/27 9:33
*/
@NoArgsConstructor
@Data
public class MemberProjectInfoResultDTO implements Serializable {
private static final long serialVersionUID = -4880909768378661921L;
private String staffId;
private String staffName;
private String orgId;
private String orgName;
private Integer projectCount = 0;
private Integer closedCount = 0;
}

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

@ -0,0 +1,17 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/7/27 14:56
*/
@Data
public class OrgCountDTO implements Serializable {
private static final long serialVersionUID = -1875812403619088015L;
private String orgId;
private Integer count;
}

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

@ -0,0 +1,25 @@
package com.epmet.dataaggre.dto.govorg.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/7/27 9:32
*/
@NoArgsConstructor
@Data
public class OrgProjectDetailResultDTO implements Serializable {
private static final long serialVersionUID = 6333117500929136144L;
private String orgId;
private String orgType;
private String orgName;
private Integer memberCount = 0;
private Integer projectCount = 0;
private Integer closedCount = 0;
private Integer projectAve = 0;
private Integer closedAve = 0;
}

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

12
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/DataAggregatorOpenFeignClient.java

@ -2,13 +2,18 @@ package com.epmet.dataaggre.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.feign.impl.DataAggregatorOpenFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = DataAggregatorOpenFeignClientFallbackFactory.class)
// @FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory= DataAggregatorOpenFeignClientFallbackFactory.class,url = "localhost:8114")
public interface DataAggregatorOpenFeignClient {
@ -21,4 +26,11 @@ public interface DataAggregatorOpenFeignClient {
@PostMapping(value = "data/aggregator/org/export-send-msg")
Result exportGridLiveRes(@RequestBody GridLivelyFormDTO form);
/**
* 政策人员预览
* @param input
* @return
*/
@PostMapping("data/aggregator/icuser/listByPolicyRules")
Result<PageData<ResiByPolicyInfoResultDTO>> listByPolicyRules(@RequestBody ResisByPolicyRulesFormDTO input);
}

8
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/feign/impl/DataAggregatorOpenFeignClientFallback.java

@ -1,8 +1,11 @@
package com.epmet.dataaggre.feign.impl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.feign.DataAggregatorOpenFeignClient;
@ -16,4 +19,9 @@ public class DataAggregatorOpenFeignClientFallback implements DataAggregatorOpen
public Result exportGridLiveRes(GridLivelyFormDTO form) {
return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "pcworkRecordListExportSendMsg",form);
}
@Override
public Result<PageData<ResiByPolicyInfoResultDTO>> listByPolicyRules(ResisByPolicyRulesFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "listByPolicyRules", input);
}
}

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

@ -13,6 +13,16 @@
<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>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
@ -249,6 +259,13 @@
<datasource.druid.heart.username>epmet_heart_user</datasource.druid.heart.username>
<datasource.druid.heart.password>EpmEt-db-UsEr</datasource.druid.heart.password>
<!--epmet_resi_partymember-->
<datasource.druid.partymember.url>
<![CDATA[jdbc:mysql://192.168.1.140:3306/epmet_resi_partymember?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.partymember.url>
<datasource.druid.partymember.username>epmet_resi_partymember_user</datasource.druid.partymember.username>
<datasource.druid.partymember.password>EpmEt-db-UsEr</datasource.druid.partymember.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.140</spring.redis.host>
@ -380,6 +397,13 @@
<datasource.druid.heart.username>epmet_heart_user</datasource.druid.heart.username>
<datasource.druid.heart.password>EpmEt-db-UsEr</datasource.druid.heart.password>
<!--epmet_resi_partymember-->
<datasource.druid.partymember.url>
<![CDATA[jdbc:mysql://192.168.1.140:3306/epmet_resi_partymember?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.partymember.url>
<datasource.druid.partymember.username>epmet_resi_partymember_user</datasource.druid.partymember.username>
<datasource.druid.partymember.password>EpmEt-db-UsEr</datasource.druid.partymember.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.140</spring.redis.host>
@ -512,6 +536,13 @@
<datasource.druid.heart.username>epmet</datasource.druid.heart.username>
<datasource.druid.heart.password>elink@833066</datasource.druid.heart.password>
<!--epmet_resi_partymember-->
<datasource.druid.partymember.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_resi_partymember?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.partymember.url>
<datasource.druid.partymember.username>epmet</datasource.druid.partymember.username>
<datasource.druid.partymember.password>elink@833066</datasource.druid.partymember.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.10.150</spring.redis.host>
@ -644,6 +675,13 @@
<datasource.druid.heart.username>epmet_heart_user</datasource.druid.heart.username>
<datasource.druid.heart.password>EpmEt-db-UsEr</datasource.druid.heart.password>
<!--epmet_resi_partymember-->
<datasource.druid.partymember.url>
<![CDATA[jdbc:mysql://172.22.76.6:3306/epmet_resi_partymember?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.partymember.url>
<datasource.druid.partymember.username>epmet_resi_partymember_user</datasource.druid.partymember.username>
<datasource.druid.partymember.password>EpmEt-db-UsEr</datasource.druid.partymember.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.cluster.nodes>172.22.76.1:6379,172.22.76.20:6379,172.22.76.36:6379,172.22.76.1:6389,172.22.76.20:6389,172.22.76.36:6389</spring.redis.cluster.nodes>

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

62
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DataStatsController.java

@ -1,11 +1,25 @@
package com.epmet.dataaggre.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.excel.NowStatsDataExcel;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -13,13 +27,17 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
/**
* @Author sun
* @Description 数据统计服务
*/
@Slf4j
@RestController
@RequestMapping("datastats")
public class DataStatsController {
@ -243,4 +261,48 @@ public class DataStatsController {
return new Result<CustomerDataManageResultDTO>().ok(dataStatsService.operateExport(formDTO));
}
/**
* @Description 数据统计页面查询用户项目事件一些数据的实时统计查询
* 需求数据统计页面查询注册居民数注册党员数事件总数居民上报事件数平台录入事件数项目总数议题转项目数事件立项数立项数
* 可根据组织只选组织查询直属下级数据选择统计类型截止累计值/区间新增值截止累计选择一天区间选择时间段精确到时分秒筛选
* 可点击查看总计可导出打开页面默认选中当前工作人员所在组织页面参考灵山卫-人房信息统计页面
* @author sun
*/
@PostMapping("nowstatsdata")
public Result<List<NowStatsDataResultDTO>> nowStatsData(@RequestBody NowStatsDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, NowStatsDataFormDTO.CustomerDataManageForm.class);
formDTO.setExport(false);
return new Result<List<NowStatsDataResultDTO>>().ok(dataStatsService.nowStatsData(formDTO));
}
@PostMapping("nowstatsdataexport")
public void nowStatsDataExport(@RequestBody NowStatsDataFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setExport(true);
ExcelWriter excelWriter = null;
try {
String fileName = "数据统计" + DateUtils.format(new Date()) + ".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NowStatsDataExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
List<NowStatsDataResultDTO> data = null;
List<NowStatsDataExcel> list = null;
data = dataStatsService.nowStatsData(formDTO);
list = ConvertUtils.sourceToTarget(data, NowStatsDataExcel.class);
excelWriter.write(list, writeSheet);
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
}

128
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java

@ -3,6 +3,7 @@ package com.epmet.dataaggre.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
@ -18,7 +19,9 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.beans.GridMemberDataAnalysisExcelExportBean;
import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO;
@ -27,6 +30,8 @@ import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums;
import com.epmet.dataaggre.excel.MemberProjectInfoExcel;
import com.epmet.dataaggre.excel.OrgProjectDetailExcel;
import com.epmet.dataaggre.service.AggreGridService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import lombok.extern.slf4j.Slf4j;
@ -39,11 +44,13 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
/**
@ -439,4 +446,125 @@ public class GovOrgController {
}
return new Result<BuildingInfoCache>().ok(govOrgService.queryBuildingInfo(buildingId));
}
/**
* 组织项目统计
* @Param tokenDto
* @Param formDTO
* @Return {@link Result< PageData< OrgProjectDetailResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/7/28 10:34
*/
@PostMapping("orgProjectDetailList")
public Result<PageData<OrgProjectDetailResultDTO>> orgProjectDetailList(@LoginUser TokenDto tokenDto, @RequestBody OrgStatisticsFormDTO formDTO) {
return new Result<PageData<OrgProjectDetailResultDTO>>().ok(govOrgService.orgProjectDetailList(tokenDto, formDTO));
}
/**
* 网格员项目统计
* @Param tokenDto
* @Param formDTO
* @Return {@link Result< PageData< MemberProjectInfoResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/7/28 10:34
*/
@PostMapping("memberProjectInfoList")
public Result<PageData<MemberProjectInfoResultDTO>> memberProjectInfoList(@LoginUser TokenDto tokenDto, @RequestBody OrgStatisticsFormDTO formDTO) {
return new Result<PageData<MemberProjectInfoResultDTO>>().ok(govOrgService.memberProjectInfoList(tokenDto, formDTO));
}
@NoRepeatSubmit
@PostMapping("orgProjectDetailList/export")
public void orgProjectExport(@LoginUser TokenDto tokenDto, @RequestBody OrgStatisticsFormDTO formDTO, HttpServletResponse response) throws Exception {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setIsPage(false);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
ExcelWriter excelWriter = null;
AtomicInteger i = new AtomicInteger(1);
try {
String fileName = "组织事件统计.xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), OrgProjectDetailExcel.class).build();
PageData<OrgProjectDetailResultDTO> page = null;
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
OrgProjectDetailExcel sum = new OrgProjectDetailExcel();
do {
page = govOrgService.orgProjectDetailList(tokenDto, formDTO);
List<OrgProjectDetailExcel> list = ConvertUtils.sourceToTarget(page.getList(), OrgProjectDetailExcel.class);
list.forEach(item -> {
item.setIndex(i.getAndIncrement());
});
sum.setMemberCount(sum.getMemberCount() + list.stream().mapToInt(OrgProjectDetailExcel::getMemberCount).sum());
sum.setProjectCount(sum.getProjectCount() + list.stream().mapToInt(OrgProjectDetailExcel::getProjectCount).sum());
sum.setClosedCount(sum.getClosedCount() + list.stream().mapToInt(OrgProjectDetailExcel::getClosedCount).sum());
excelWriter.write(list, writeSheet);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
} while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(page.getList()) && page.getList().size() == formDTO.getPageSize());
sum.setIndex(i.getAndIncrement());
sum.setOrgName("合计");
if (NumConstant.ZERO != sum.getMemberCount()) {
sum.setProjectAve(sum.getProjectCount()/sum.getMemberCount());
sum.setClosedAve(sum.getClosedCount()/sum.getMemberCount());
}
List<OrgProjectDetailExcel> list = new ArrayList<>();
list.add(sum);
excelWriter.write(list, writeSheet);
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
@NoRepeatSubmit
@PostMapping("memberProjectInfoList/export")
public void memberProjectExport(@LoginUser TokenDto tokenDto, @RequestBody OrgStatisticsFormDTO formDTO, HttpServletResponse response) throws Exception {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setIsPage(false);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
ExcelWriter excelWriter = null;
AtomicInteger i = new AtomicInteger(1);
try {
String fileName = "网格员事件统计.xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), MemberProjectInfoExcel.class).build();
PageData<MemberProjectInfoResultDTO> page = null;
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
do {
page = govOrgService.memberProjectInfoList(tokenDto, formDTO);
List<MemberProjectInfoExcel> list = ConvertUtils.sourceToTarget(page.getList(), MemberProjectInfoExcel.class);
list.forEach(item -> {
item.setIndex(i.getAndIncrement());
});
excelWriter.write(list, writeSheet);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
} while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(page.getList()) && page.getList().size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
}

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

@ -2,27 +2,50 @@ package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.epmetuser.form.IcUserCategoryFormDTO;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
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;
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 javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@RestController
@RequestMapping("icuser")
public class IcUserController {
public class IcUserController implements ResultDataResolver {
@Autowired
private EpmetUserService epmetUserService;
@Autowired
private ResiServiceImpl icResiService;
@Autowired
private EpmetHeartOpenFeignClient heartOpenFeignClient;
/**
* 人员类别分析-各类别人数
@ -38,5 +61,73 @@ public class IcUserController {
return new Result<List<IcUserCategoryResultDTO>>().ok(epmetUserService.queryIcUserCategoryData(formDTO));
}
/**
* 政策人员预览
* @param input
* @return
*/
@PostMapping("listByPolicyRules")
public Result<PageData<ResiByPolicyInfoResultDTO>> listByPolicyRules(@RequestBody ResisByPolicyRulesFormDTO input) {
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule = input.getRuleList().getResiRuleList();
List<ResisByPolicyRulesFormDTO.HouseRule> houseRule = input.getRuleList().getHouseRuleList();
List<ResisByPolicyRulesFormDTO.StatRule> statRule = input.getRuleList().getStatRuleList();
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
String orgId = input.getOrgId();
String orgType = input.getOrgType();
String neighborHoodId = input.getNeighborHoodId();
String buildingId = input.getBuildingId();
String unitId = input.getUnitId();
String houseId = input.getHouseId();
String idCard = input.getIdCard();
String name = input.getName();
String ruleId = input.getRuleId();
if (StringUtils.isNotBlank(ruleId)) {
// 从heart取,覆盖形参
com.epmet.dto.form.resi.ResisByPolicyRulesFormDTO.RuleList ruleList = getResultDataOrThrowsException(
heartOpenFeignClient.listPolicyRules4QueryAndExport(ruleId),
ServiceConstant.EPMET_HEART_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(),
null, null);
resiRule = ConvertUtils.sourceToTarget(ruleList.getResiRuleList(), ResisByPolicyRulesFormDTO.ResiRule.class);
houseRule = ConvertUtils.sourceToTarget(ruleList.getHouseRuleList(), ResisByPolicyRulesFormDTO.HouseRule.class);
statRule = ConvertUtils.sourceToTarget(ruleList.getStatRuleList(), ResisByPolicyRulesFormDTO.StatRule.class);
}
// 全都为空,则返回空ç
if (CollectionUtils.isEmpty(resiRule)
&& CollectionUtils.isEmpty(houseRule)
&& CollectionUtils.isEmpty(statRule)) {
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);
}
/**
* 导出政策查找到的居民
* @param input
*/
@PostMapping("exportByPolicyRules")
public void exportResisByPolicy(@RequestBody ResisByPolicyRulesFormDTO input, HttpServletResponse response) {
try {
icResiService.exportResisByPolicy(
input.getOrgId(), input.getOrgType(), input.getNeighborHoodId(), input.getBuildingId(), input.getUnitId(),
input.getHouseId(), input.getIdCard(), input.getName(), input.getRuleId(), input.getRuleList().getResiRuleList(),
input.getRuleList().getHouseRuleList(), input.getRuleList().getStatRuleList(), response);
} catch (IOException e) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "导出Excel文件失败", "导出Excel文件失败");
}
}
}

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -26,7 +26,10 @@ import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.OrgCountDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
@ -373,4 +376,10 @@ public interface DataStatsDao {
*/
List<GridDateIdResultDTO> getGridProejctToProjectMain(GridLivelyFormDTO formDTO);
List<SubAgencyProjectResultDTO> getAgencyProjectTotal(OrgStatisticsFormDTO formDTO);
List<OrgCountDTO> getMemberCount(@Param("agencyId")String agencyId, @Param("dateId") String dateId);
List<MemberProjectInfoResultDTO> getMemberList(@Param("gridId") String gridId, @Param("dateId") String dateId);
}

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

@ -18,7 +18,11 @@
package com.epmet.dataaggre.dao.epmetuser;
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;
@ -58,5 +62,80 @@ 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);
/**
* 政策查找居民
* @param houseIds
* @return
*/
List<ResiByPolicyInfoResultDTO> listByPolicyRules(@Param("customerId") String customerId,
@Param("orgIdPath") String orgIdPath,
@Param("orgId") String orgId,
@Param("orgType") String orgType,
@Param("neighborHoodId") String neighborHoodId,
@Param("buildingId") String buildingId,
@Param("unitId") String unitId,
@Param("houseId") String houseId,
@Param("idCard") String idCard,
@Param("name") String name,
@Param("resiRules") List<ResisByPolicyRulesFormDTO.ResiRule> resiRule,
@Param("houseIds") List<String> houseIds);
/**
* 政策查找居民
* @param houseIds
* @return
*/
Integer getTotalByPolicyRules(@Param("customerId") String customerId,
@Param("orgIdPath") String orgIdPath,
@Param("orgId") String orgId,
@Param("orgType") String orgType,
@Param("neighborHoodId") String neighborHoodId,
@Param("buildingId") String buildingId,
@Param("unitId") String unitId,
@Param("houseId") String houseId,
@Param("idCard") String idCard,
@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);
}

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/RegisterRelationDao.java

@ -18,9 +18,13 @@
package com.epmet.dataaggre.dao.epmetuser;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import com.epmet.dataaggre.entity.epmetuser.RegisterRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 注册关系表 用于统计客户网格的注册居民数
*
@ -29,5 +33,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface RegisterRelationDao extends BaseDao<RegisterRelationEntity> {
List<NowStatsDataResultDTO> selectNowResiUser(NowStatsDataFormDTO formDTO);
}

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java

@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.epmetuser.result.RoleListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.OrgCountDTO;
import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -74,4 +76,6 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
*/
List<StaffRoleEntity> selectStaffByRole(@Param("customerId") String customerId, @Param("roleId") String roleId, @Param("userId") String userId);
List<OrgCountDTO> getMemberCount(@Param("customerId") String customerId);
List<MemberProjectInfoResultDTO> getMemberList(@Param("customerId") String customerId, @Param("orgIds") List<String> orgIds);
}

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java

@ -18,6 +18,7 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -106,4 +107,7 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
*/
LinkedList<GridLivelyResultDTO> subAgencyListAndGridSumNum(@Param("agencyId") String agencyId);
List<String> getSubAgencyList(@Param("agencyId") String agencyId);
List<ScreenCustomerAgencyDTO> getSubAgencyListByAgency(@Param("customerId") String customerId, @Param("agencyId") String agencyId);
}

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

@ -18,6 +18,7 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
@ -84,4 +85,5 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
*/
CustomerGridDTO getGridInfo(@Param("gridId") String gridId);
List<ScreenCustomerGridDTO> getSubGridList(@Param("customerId") String customerId, @Param("agencyId") String agencyId);
}

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

24
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcHouseDao.java

@ -1,8 +1,12 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.entity.govorg.IcHouseEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 房屋信息
@ -12,4 +16,24 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcHouseDao extends BaseDao<IcHouseEntity> {
/**
* 为政策-预览居民提供房屋id列表查询
* @param orgIdPath
* @param customerId
* @param neighborHoodId
* @param buildingId
* @param unitId
* @param houseId
* @param houseRule
* @param statRule
* @return
*/
List<String> listHouseIds4PolicyResis(@Param("orgIdPath") String orgIdPath,
@Param("customerId") String customerId,
@Param("neighborHoodId") String neighborHoodId,
@Param("buildingId") String buildingId,
@Param("unitId") String unitId,
@Param("houseId") String houseId,
@Param("houseRule") List<ResisByPolicyRulesFormDTO.HouseRule> houseRule,
@Param("statRule") List<ResisByPolicyRulesFormDTO.StatRule> statRule);
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/IcNeighborhoodDao.java

@ -0,0 +1,13 @@
package com.epmet.dataaggre.dao.govorg;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.dto.IcNeighborHoodDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface IcNeighborhoodDao {
List<IcNeighborHoodDTO> neighborhoodsByIds(@Param("neighborhoodIds") List<String> neighborhoodIds);
}

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

@ -1,9 +1,15 @@
package com.epmet.dataaggre.dao.govproject;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
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 +18,14 @@ 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);
List<NowStatsDataResultDTO> getIcEvent(NowStatsDataFormDTO formDTO);
}

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

@ -18,7 +18,11 @@
package com.epmet.dataaggre.dao.govproject;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.result.OrgCountDTO;
import com.epmet.dataaggre.dto.govproject.ProjectDTO;
import com.epmet.dataaggre.dto.govproject.ProjectRelatedPersonnelDTO;
import com.epmet.dataaggre.dto.govproject.ResiEventDTO;
@ -123,4 +127,13 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
*/
List<ResiEventReportOrgDTO> getEventOrgList(@Param("eventIds") List<String> eventIds);
List<ProjectCategoryTotalResultDTO> getCategoryCount(ProjectCategoryTotalFormDTO formDTO);
List<OrgCountDTO> getGridProjectCount(OrgStatisticsFormDTO formDTO);
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);
List<NowStatsDataResultDTO> getNowProject(NowStatsDataFormDTO 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> {
}

31
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/resipartymember/ResiPartymemberDao.java

@ -0,0 +1,31 @@
/**
* 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.dao.resipartymember;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface ResiPartymemberDao {
List<NowStatsDataResultDTO> getNowPart(NowStatsDataFormDTO formDTO);
}

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/RegisterRelationEntity.java

@ -40,6 +40,16 @@ public class RegisterRelationEntity extends BaseEpmetEntity {
*/
private String customerId;
/**
* 所属组织机构Id
*/
private String agencyId;
/**
* agencyId的所有上级包含自己
*/
private String agencyIdPath;
/**
* 网格Id (customer_grid.id)
*/

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

40
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/MemberProjectInfoExcel.java

@ -0,0 +1,40 @@
package com.epmet.dataaggre.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import lombok.Data;
/**
* 数字平台党员信息表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-17
*/
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44)
@Data
public class MemberProjectInfoExcel {
@ColumnWidth(10)
@ExcelProperty(value = "序号",order = 1)
private Integer index;
@ColumnWidth(30)
@ExcelProperty(value = "网格员",order = 2)
private String staffName;
@ColumnWidth(40)
@ExcelProperty(value = "所属组织",order = 3)
private String orgName;
@ColumnWidth(20)
@ExcelProperty(value = "上报数量",order = 4)
private Integer projectCount = 0;
@ColumnWidth(20)
@ExcelProperty(value = "办结数",order = 5)
private Integer closedCount = 0;
}

68
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/NowStatsDataExcel.java

@ -0,0 +1,68 @@
/**
* 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.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class NowStatsDataExcel {
//组织、网格名称
@ExcelProperty(value = "组织名称")
@ColumnWidth(25)
private String orgName;
//注册居民数
@ExcelProperty(value = "注册居民数")
@ColumnWidth(20)
private Integer resiUserCount;
//注册党员数
@ExcelProperty(value = "注册党员数")
@ColumnWidth(20)
private Integer partyMemberCount;
//事件总数
@ExcelProperty(value = "事件总数")
@ColumnWidth(20)
private Integer icEventCount;
//居民上报事件数【小程序端随手拍随时讲】
@ExcelProperty(value = "居民上报事件数")
@ColumnWidth(20)
private Integer resiEventCount;
//平台录入事件数【数字平台录入的事件数】
@ExcelProperty(value = "平台录入事件数")
@ColumnWidth(20)
private Integer pcEventCount;
//项目总数
@ExcelProperty(value = "项目总数")
@ColumnWidth(20)
private Integer projectCount;
//议题转项目数
@ExcelProperty(value = "议题转项目数")
@ColumnWidth(20)
private Integer issueProjectCount;
//事件立项数
@ExcelProperty(value = "事件立项数")
@ColumnWidth(20)
private Integer icEventProjectCount;
//直接立项项目数
@ExcelProperty(value = "立项数")
@ColumnWidth(20)
private Integer agencyProjectCount;
}

47
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/OrgProjectDetailExcel.java

@ -0,0 +1,47 @@
package com.epmet.dataaggre.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import lombok.Data;
/**
* 数字平台党员信息表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-17
*/
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44)
@Data
public class OrgProjectDetailExcel {
@ColumnWidth(10)
@ExcelProperty(value = "序号",order = 1)
private Integer index;
@ColumnWidth(40)
@ExcelProperty(value = "所属组织",order = 2)
private String orgName;
@ColumnWidth(20)
@ExcelProperty(value = "网格员数",order = 3)
private Integer memberCount = 0;
@ColumnWidth(20)
@ExcelProperty(value = "上报数量",order = 4)
private Integer projectCount = 0;
@ColumnWidth(20)
@ExcelProperty(value = "办结数",order = 5)
private Integer closedCount = 0;
@ColumnWidth(20)
@ExcelProperty(value = "人均上报",order = 6)
private Integer projectAve = 0;
@ColumnWidth(20)
@ExcelProperty(value = "人均办结",order = 7)
private Integer closedAve = 0;
}

21
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/excel/ResisByPolicyExcel.java

@ -0,0 +1,21 @@
package com.epmet.dataaggre.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class ResisByPolicyExcel {
@ExcelProperty("姓名")
private String name;
@ExcelProperty("手机号")
private String mobile;
@ExcelProperty("身份证号")
private String idCard;
/**
* 小区全名包含小区前面的属性比如网格等
*/
@ExcelProperty("小区名")
private String neighborHoodName;
@ExcelProperty("年龄")
private Integer age;
}

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

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/PartymemberService.java

@ -0,0 +1,12 @@
package com.epmet.dataaggre.service;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import java.util.List;
public interface PartymemberService {
List<NowStatsDataResultDTO> getNowPart(NowStatsDataFormDTO formDTO);
}

50
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/ResiService.java

@ -0,0 +1,50 @@
package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.ResiByPolicyInfoResultDTO;
import com.github.pagehelper.PageInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
/**
* 居民的service
*/
public interface ResiService {
/**
* 政策人员预览
* @param pageNo
* @param pageSize
* @param resiRule
* @param houseRule
*/
PageData<ResiByPolicyInfoResultDTO> listByPolicyRules(
String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name, Integer pageNo, Integer pageSize,
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule,
List<ResisByPolicyRulesFormDTO.HouseRule> houseRule,
List<ResisByPolicyRulesFormDTO.StatRule> statRule);
/**
* 政策找居民导出
* @param orgId
* @param orgType
* @param neighborHoodId
* @param buildingId
* @param unitId
* @param houseId
* @param idCard
* @param name
* @param ruleId
*/
void exportResisByPolicy(String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name,
String ruleId, List<ResisByPolicyRulesFormDTO.ResiRule> resiRule,
List<ResisByPolicyRulesFormDTO.HouseRule> houseRule,
List<ResisByPolicyRulesFormDTO.StatRule> statRule,
HttpServletResponse response) throws IOException;
}

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.service.datastats;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
@ -7,8 +8,10 @@ import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
@ -16,6 +19,7 @@ import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
* @Author sun
@ -296,4 +300,12 @@ public interface DataStatsService {
* @author sun
*/
List<GridDateIdResultDTO> getGridProejctToProjectMain(GridLivelyFormDTO formDTO);
Map<String, SubAgencyProjectResultDTO> getAgencyProjectTotal(OrgStatisticsFormDTO formDTO);
Map<String, Integer> getMemberMap(String agencyId);
PageData<MemberProjectInfoResultDTO> getMemberList(OrgStatisticsFormDTO formDTO);
List<NowStatsDataResultDTO> nowStatsData(NowStatsDataFormDTO formDTO);
}

274
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -1,63 +1,72 @@
package com.epmet.dataaggre.service.datastats.impl;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.poi.excel.ExportMultiView;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.OrgConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity;
import com.epmet.dataaggre.excel.CustomerDataManageExcel;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.poi.excel.ExportMultiView;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.OrgConstant;
import com.epmet.dataaggre.dao.datastats.DataStatsDao;
import com.epmet.dataaggre.dao.datastats.FactGridMemberStatisticsDailyDao;
import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO;
import com.epmet.dataaggre.dto.datastats.form.*;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.form.GridMemberPatrolListFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.GridMemberPatrolListResultDTO;
import com.epmet.dataaggre.dto.epmetuser.result.PatrolDailySumResult;
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO;
import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStatisticsFormDTO;
import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.dto.govorg.result.MemberProjectInfoResultDTO;
import com.epmet.dataaggre.dto.govorg.result.OrgCountDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO;
import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity;
import com.epmet.dataaggre.excel.CustomerDataManageExcel;
import com.epmet.dataaggre.service.PartymemberService;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.govproject.GovProjectService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author sun
@ -80,6 +89,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
@Autowired
private GovOrgService govOrgService;
@Autowired
private EpmetUserService epmetUserService;
@Autowired
private GovProjectService govProjectService;
@Autowired
private PartymemberService partymemberService;
/**
* @Param formDTO
@ -2267,4 +2282,149 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
public List<GridDateIdResultDTO> getGridProejctToProjectMain(GridLivelyFormDTO formDTO) {
return dataStatsDao.getGridProejctToProjectMain(formDTO);
}
@Override
public Map<String, SubAgencyProjectResultDTO> getAgencyProjectTotal(OrgStatisticsFormDTO formDTO) {
List<SubAgencyProjectResultDTO> list = dataStatsDao.getAgencyProjectTotal(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, Function.identity()));
}
/**
* 组织下网格的网格员数量统计
* @Param agencyId
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/27 16:11
*/
@Override
public Map<String, Integer> getMemberMap(String agencyId) {
//当前日期前一天
String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD);
List<OrgCountDTO> list = dataStatsDao.getMemberCount(agencyId, dateId);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
@Override
public PageData<MemberProjectInfoResultDTO> getMemberList(OrgStatisticsFormDTO formDTO) {
//当前日期前一天
String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD);
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<MemberProjectInfoResultDTO> list = dataStatsDao.getMemberList(formDTO.getOrgId(), dateId);
PageInfo<MemberProjectInfoResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public List<NowStatsDataResultDTO> nowStatsData(NowStatsDataFormDTO formDTO) {
//1.必要参数校验及处理
String startTimeForm = formDTO.getStartTime();
if ("Interval".equals(formDTO.getType()) && StringUtils.isEmpty(startTimeForm)) {
throw new RenException("请选择开始时间或查询累计值");
}
//2.查询组织信息,判断要查询下级是组织还是网格数据
ScreenAgencyOrGridListDTO agencyGrid = govOrgService.getSubAgencyOrGridList(formDTO.getCustomerId(), formDTO.getAgencyId());
if (null == agencyGrid) {
return new ArrayList<>();
}
//组织或网格Id集合
List<String> idList = agencyGrid.getAgencyGridList().stream().map(ScreenAgencyOrGridListDTO.AgencyGrid::getOrgId).collect(Collectors.toList());
formDTO.setDataType(!OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel()) ? OrgTypeEnum.AGENCY.getCode() : OrgTypeEnum.GRID.getCode());
formDTO.setIdList(idList);
//3.按条件分别查询统计各业务实时数据
//3-1.注册居民、注册党员数
List<NowStatsDataResultDTO> user = epmetUserService.getNowResiUser(formDTO);
List<NowStatsDataResultDTO> party = partymemberService.getNowPart(formDTO);
//3-2.事件总数、居民上报事件数、平台录入事件数
List<NowStatsDataResultDTO> event = govProjectService.getNowIcEvent(formDTO);
//3-3.项目总数、议题转项目数、事件立项数、组织立项数
List<NowStatsDataResultDTO> project = govProjectService.getNowProject(formDTO);
Map<String, NowStatsDataResultDTO> userMap = new HashMap<>();
Map<String, NowStatsDataResultDTO> partyMap = new HashMap<>();
Map<String, NowStatsDataResultDTO> eventMap = new HashMap<>();
Map<String, NowStatsDataResultDTO> projectMap = new HashMap<>();
if ("grid".equals(formDTO.getDataType())) {
userMap = CollectionUtils.isEmpty(user) ? new HashMap<>() : user.stream().collect(Collectors.toMap(NowStatsDataResultDTO::getOrgId, m -> m, (k1, k2) -> k1));
partyMap = CollectionUtils.isEmpty(party) ? new HashMap<>() : party.stream().collect(Collectors.toMap(NowStatsDataResultDTO::getOrgId, m -> m, (k1, k2) -> k1));
eventMap = CollectionUtils.isEmpty(event) ? new HashMap<>() : event.stream().collect(Collectors.toMap(NowStatsDataResultDTO::getOrgId, m -> m, (k1, k2) -> k1));
projectMap = CollectionUtils.isEmpty(project) ? new HashMap<>() : project.stream().collect(Collectors.toMap(NowStatsDataResultDTO::getOrgId, m -> m, (k1, k2) -> k1));
}
//4.封装数据
List<NowStatsDataResultDTO> resultDTOList = new ArrayList<>();
NowStatsDataResultDTO export = new NowStatsDataResultDTO();
export.setOrgName("合计");
for (ScreenAgencyOrGridListDTO.AgencyGrid org : agencyGrid.getAgencyGridList()) {
NowStatsDataResultDTO dto = new NowStatsDataResultDTO();
dto.setOrgId(org.getOrgId());
dto.setOrgName(org.getOrgName());
//网格数据sql已统计好
if ("grid".equals(formDTO.getDataType())) {
if (userMap.containsKey(org.getOrgId())) {
dto.setResiUserCount(userMap.get(org.getOrgId()).getResiUserCount());
}
if (partyMap.containsKey(org.getOrgId())) {
dto.setPartyMemberCount(partyMap.get(org.getOrgId()).getPartyMemberCount());
}
if (eventMap.containsKey(org.getOrgId())) {
dto.setIcEventCount(eventMap.get(org.getOrgId()).getIcEventCount());
dto.setResiEventCount(eventMap.get(org.getOrgId()).getResiEventCount());
dto.setPcEventCount(eventMap.get(org.getOrgId()).getPcEventCount());
}
if (projectMap.containsKey(org.getOrgId())) {
dto.setProjectCount(projectMap.get(org.getOrgId()).getProjectCount());
dto.setIssueProjectCount(projectMap.get(org.getOrgId()).getIssueProjectCount());
dto.setIcEventProjectCount(projectMap.get(org.getOrgId()).getIcEventProjectCount());
dto.setAgencyProjectCount(projectMap.get(org.getOrgId()).getAgencyProjectCount());
}
} else {
//组织数据 需要java计算结果
int resiUserCount = (int) user.stream().filter(u -> u.getPids().contains(org.getOrgId())).count();
dto.setResiUserCount(resiUserCount);
int partyMemberCount = (int) party.stream().filter(p -> p.getPids().contains(org.getOrgId())).count();
dto.setPartyMemberCount(partyMemberCount);
int resiEventCount = (int) event.stream().filter(e -> e.getPids().contains(org.getOrgId()) && "0".equals(e.getSourceType())).count();
int pcEventCount = (int) event.stream().filter(e -> e.getPids().contains(org.getOrgId()) && !"0".equals(e.getSourceType())).count();
int icEventCount = resiEventCount + pcEventCount;
dto.setIcEventCount(icEventCount);
dto.setResiEventCount(resiEventCount);
dto.setPcEventCount(pcEventCount);
int issueProjectCount = (int) project.stream().filter(p -> p.getPids().contains(org.getOrgId()) && "issue".equals(p.getOrigin())).count();
int icEventProjectCount = (int) project.stream().filter(p -> p.getPids().contains(org.getOrgId()) && "ic_event".equals(p.getOrigin())).count();
int agencyProjectCount = (int) project.stream().filter(p -> p.getPids().contains(org.getOrgId()) && "agency".equals(p.getOrigin())).count();
int projectCount = issueProjectCount + icEventProjectCount + agencyProjectCount;
dto.setProjectCount(projectCount);
dto.setIssueProjectCount(issueProjectCount);
dto.setIcEventProjectCount(icEventProjectCount);
dto.setAgencyProjectCount(agencyProjectCount);
}
resultDTOList.add(dto);
if (formDTO.isExport()) {
export.setResiUserCount(export.getResiUserCount() + dto.getResiUserCount());
export.setPartyMemberCount(export.getPartyMemberCount() + dto.getPartyMemberCount());
export.setIcEventCount(export.getIcEventCount() + dto.getIcEventCount());
export.setResiEventCount(export.getResiEventCount() + dto.getResiEventCount());
export.setPcEventCount(export.getPcEventCount() + dto.getPcEventCount());
export.setProjectCount(export.getProjectCount() + dto.getProjectCount());
export.setIssueProjectCount(export.getIssueProjectCount() + dto.getIssueProjectCount());
export.setIcEventProjectCount(export.getIcEventProjectCount() + dto.getIcEventProjectCount());
export.setAgencyProjectCount(export.getAgencyProjectCount() + dto.getAgencyProjectCount());
}
}
if (formDTO.isExport()) {
resultDTOList.add(export);
}
return resultDTOList;
}
}

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

@ -1,18 +1,26 @@
package com.epmet.dataaggre.service.epmetuser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import com.epmet.dataaggre.dto.epmetuser.form.*;
import com.epmet.dataaggre.dto.epmetuser.result.*;
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;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
@ -199,4 +207,37 @@ public interface EpmetUserService {
* @return
*/
List<StaffSelectResDTO> staffSelectList(List<String> staffIds);
List<ResiByPolicyInfoResultDTO> listByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name, Integer pageNo, Integer pageSize,
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds);
Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name,
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds);
/**
* 统计各组织下网格员数量
*
* @Param customerId
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/27 14:58
*/
Map<String, Integer> getMemberCount(String customerId);
/**
* 获取组织下网格员列表
*
* @Param agencyId
* @Return {@link PageData< MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @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);
List<NowStatsDataResultDTO> getNowResiUser(NowStatsDataFormDTO formDTO);
}

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

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

@ -7,6 +7,7 @@ import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IdAndNameDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.OrgTypeEnum;
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;
@ -14,6 +15,8 @@ import com.epmet.constant.BadgeConstant;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.epmetuser.*;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO;
import com.epmet.dataaggre.dto.epmetuser.FactIcuserCategoryAnalysisDailyDTO;
import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO;
@ -25,16 +28,11 @@ import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
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.GridDateIdResultDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO;
import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO;
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;
@ -45,6 +43,8 @@ import com.epmet.dataaggre.service.opercustomize.CustomerFootBarService;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.result.StaffRoleResultDTO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
@ -92,6 +92,8 @@ public class EpmetUserServiceImpl implements EpmetUserService {
private IcResiUserDao icResiUserDao;
@Resource
private CustomerFootBarService customerFootBarService;
@Resource
private RegisterRelationDao registerRelationDao;
/**
* @Description 根据UserIds查询
@ -604,6 +606,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);
//查询工作人员所属组织信息
@ -844,5 +849,78 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return customerStaffDao.staffSelectList(staffIds);
}
@Override
public List<ResiByPolicyInfoResultDTO> listByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId,
String houseId, String idCard, String name, Integer pageNo, Integer pageSize,
List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds) {
PageHelper.startPage(pageNo, pageSize);
return icResiUserDao.listByPolicyRules(customerId, orgIdPath, orgId, orgType, neighborHoodId, buildingId, unitId, houseId, idCard, name, resiRule, houseIds);
}
@Override
public Integer getTotalByPolicyRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId, String unitId, String houseId, String idCard, String name, List<ResisByPolicyRulesFormDTO.ResiRule> resiRule, List<String> houseIds) {
return icResiUserDao.getTotalByPolicyRules(customerId, orgIdPath, orgId, orgType, neighborHoodId, buildingId, unitId, houseId, idCard, name, resiRule, houseIds);
}
/**
* 统计各组织下网格员数量
*
* @param customerId
* @Param customerId
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/27 14:58
*/
@Override
public Map<String, Integer> getMemberCount(String customerId) {
List<OrgCountDTO> list = staffRoleDao.getMemberCount(customerId);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
/**
* 获取组织下网格员列表
*
* @param formDTO
* @Param agencyId
* @Return {@link PageData < MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/27 17:32
*/
@Override
public PageData<MemberProjectInfoResultDTO> getMemberList(OrgStatisticsFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<MemberProjectInfoResultDTO> list = staffRoleDao.getMemberList(formDTO.getCustomerId(), formDTO.getAgencyList());
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);
}
}
@Override
public List<NowStatsDataResultDTO> getNowResiUser(NowStatsDataFormDTO formDTO) {
//实时统计组织/网格下小程序端注册居民数
List<NowStatsDataResultDTO> list = registerRelationDao.selectNowResiUser(formDTO);
return list;
}
}

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

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

@ -1,8 +1,11 @@
package com.epmet.dataaggre.service.govorg;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
@ -10,6 +13,7 @@ import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dto.IcNeighborHoodDTO;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@ -212,4 +216,80 @@ public interface GovOrgService {
* @return
*/
CustomerAgencyEntity getRootAgencyByCustomerId(String customerId);
List<String> listHouseIdsByRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId,
String unitId, String houseId, List<ResisByPolicyRulesFormDTO.HouseRule> houseRule,
List<ResisByPolicyRulesFormDTO.StatRule> statRule, Integer pageNo, Integer pageSize);
List<IcNeighborHoodDTO> neighborhoodsByIds(List<String> neighborhoodIds);
/**
* 组织项目统计
*
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData< MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/27 9:43
*/
PageData<OrgProjectDetailResultDTO> orgProjectDetailList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO);
/**
* 网格员项目相关统计
*
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData< MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @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);
ScreenAgencyOrGridListDTO getSubAgencyOrGridList(String customerId, String agencyId);
}

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

433
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;
@ -13,31 +14,41 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.DingTextBriefNessFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
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.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.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;
import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.*;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.entity.govorg.CustomerGridEntity;
import com.epmet.dataaggre.excel.GridLivelyDetailExcel;
import com.epmet.dataaggre.excel.GridLivelyExcel;
import com.epmet.dataaggre.service.commonservice.AreaCodeService;
@ -45,9 +56,13 @@ import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dataaggre.service.govproject.GovProjectService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.feign.OssFeignClient;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.fileupload.FileItem;
@ -56,14 +71,17 @@ 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;
import javax.annotation.Resource;
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.*;
@ -107,6 +125,14 @@ public class GovOrgServiceImpl implements GovOrgService {
private RedisUtils redisUtils;
@Autowired
private ExecutorService executorService;
@Autowired
private IcHouseDao houseDao;
@Autowired
private IcNeighborhoodDao neighborhoodDao;
@Resource
private GovProjectService govProjectService;
@Autowired
private IcCityManagementDao cityManagementDao;
/**
* @param staffId
@ -237,6 +263,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;
@ -248,6 +276,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);
});
}
@ -566,7 +596,7 @@ public class GovOrgServiceImpl implements GovOrgService {
String agencyId = staffInfo.getAgencyId();
String client = formDTO.getClient();
//组织缓存key
String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId).concat(StrConstant.COLON).concat(client);
String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId,tokenDto.getCustomerId()).concat(StrConstant.COLON).concat(client);
Long expiryTime = redisUtils.getTTL(treeCacheKey);
List<OrgTreeResultDTO> orgTreeResultDTOS = (List<OrgTreeResultDTO>) redisUtils.get(treeCacheKey);
//如果接近过期或已经过期且缓存数据不为空 则异步查询
@ -1079,4 +1109,405 @@ public class GovOrgServiceImpl implements GovOrgService {
query.eq(CustomerAgencyEntity::getPid, "0"); // 跟组织的pid为"0"
return customerAgencyDao.selectOne(query);
}
public String getOrgIdPath(String orgId, String orgType) {
if ("agency".equals(orgType)) {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId);
if (agencyInfo != null) {
String pids = agencyInfo.getPids();
String id = agencyInfo.getId();
if (StringUtils.isBlank(pids)) {
return id;
} else {
return pids.concat(":").concat(id);
}
}
} else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(orgId);
return gridInfo.getPids().concat(":").concat(gridInfo.getId());
}
return null;
}
@Override
public List<String> listHouseIdsByRules(String customerId, String orgIdPath, String orgId, String orgType, String neighborHoodId, String buildingId,
String unitId, String houseId, List<ResisByPolicyRulesFormDTO.HouseRule> houseRule,
List<ResisByPolicyRulesFormDTO.StatRule> statRule, Integer pageNo, Integer pageSize) {
if (CollectionUtils.isEmpty(houseRule) && CollectionUtils.isEmpty(statRule)) {
return new ArrayList<>();
}
if (StringUtils.isNotBlank(orgId) && StringUtils.isNotBlank(orgType)) {
orgIdPath = getOrgIdPath(orgId, orgType);
}
PageHelper.startPage(pageNo, pageSize);
return houseDao.listHouseIds4PolicyResis(orgIdPath, customerId, neighborHoodId, buildingId, unitId, houseId, houseRule, statRule);
}
@Override
public List<IcNeighborHoodDTO> neighborhoodsByIds(List<String> neighborhoodIds) {
return neighborhoodDao.neighborhoodsByIds(neighborhoodIds);
}
/**
* 组织项目统计
*
* @param tokenDto
* @param formDTO
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData < MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/27 9:43
*/
@Override
public PageData<OrgProjectDetailResultDTO> orgProjectDetailList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) {
List<OrgProjectDetailResultDTO> resultList = new ArrayList<>();
if (StringUtils.isBlank(formDTO.getAgencyId())) {
CustomerStaffInfoCacheResult staffInfo = getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
}
formDTO.setAgencyId(staffInfo.getAgencyId());
}
CustomerAgencyEntity agencyEntity = customerAgencyDao.selectById(formDTO.getAgencyId());
if (null == agencyEntity) {
return new PageData<>(Collections.emptyList(), NumConstant.ZERO);
}
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
long total = 0;
if (OrgConstant.COMMUNITY.equals(agencyEntity.getLevel()) && NumConstant.ONE_STR.equals(formDTO.getType())) {
//获取网格列表
LambdaQueryWrapper<CustomerGridEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerGridEntity::getCustomerId, tokenDto.getCustomerId());
wrapper.eq(CustomerGridEntity::getPid, formDTO.getAgencyId());
wrapper.last("ORDER BY CONVERT ( GRID_NAME USING gbk ) ASC");
List<CustomerGridEntity> gridList = customerGridDao.selectList(wrapper);
//拼装数据
if (CollectionUtils.isNotEmpty(gridList)) {
//统计网格项目数
Map<String, Integer> projectMap = govProjectService.getGridProjectMap(formDTO);
//统计网格关闭项目数
Map<String, Integer> closedMap = govProjectService.getGridClosedProjectMap(formDTO);
//网格员统计
Map<String, Long> memberMap = getMemberMap(tokenDto.getCustomerId(), formDTO.getAgencyId());
resultList = gridList.stream().map(grid -> {
OrgProjectDetailResultDTO dto = new OrgProjectDetailResultDTO();
dto.setOrgId(grid.getId());
dto.setOrgType(OrgConstant.GRID);
dto.setOrgName(grid.getGridName());
dto.setProjectCount(projectMap.getOrDefault(grid.getId(), NumConstant.ZERO));
dto.setClosedCount(closedMap.getOrDefault(grid.getId(), NumConstant.ZERO));
if (memberMap.containsKey(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());
}
//获取统计数据
PageInfo<CustomerGridEntity> pageInfo = new PageInfo<>(gridList);
total = pageInfo.getTotal();
} else {
//获取组织列表
LambdaQueryWrapper<CustomerAgencyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerAgencyEntity::getCustomerId, tokenDto.getCustomerId());
if (NumConstant.ZERO_STR.equals(formDTO.getType())) {
wrapper.eq(CustomerAgencyEntity::getId, formDTO.getAgencyId());
} else {
wrapper.eq(CustomerAgencyEntity::getPid, formDTO.getAgencyId());
}
wrapper.last("ORDER BY CONVERT ( ORGANIZATION_NAME USING gbk ) ASC");
List<CustomerAgencyEntity> agencyList = customerAgencyDao.selectList(wrapper);
//拼装数据
if (CollectionUtils.isNotEmpty(agencyList)) {
//项目相关统计
//统计项目数
Map<String, Integer> projectMap = govProjectService.getAgencyProjectMap(formDTO);
//统计关闭项目数
Map<String, Integer> closedMap = govProjectService.getAgencyClosedProjectMap(formDTO);
//网格员统计
Map<String, Integer> memberMap = epmetUserService.getMemberCount(tokenDto.getCustomerId());
resultList = agencyList.stream().map(agency -> {
OrgProjectDetailResultDTO dto = new OrgProjectDetailResultDTO();
dto.setOrgId(agency.getId());
dto.setOrgType(OrgConstant.AGENCY);
dto.setOrgName(agency.getOrganizationName());
//获取当前组织的所有下级组织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);
if (memberCount != NumConstant.ZERO) {
dto.setProjectAve(dto.getProjectCount()/memberCount);
dto.setClosedAve(dto.getClosedCount()/memberCount);
}
return dto;
}).collect(Collectors.toList());
}
//获取统计数据
PageInfo<CustomerAgencyEntity> pageInfo = new PageInfo<>(agencyList);
total = pageInfo.getTotal();
}
return new PageData<>(resultList, total);
}
/**
* 网格员项目相关统计
*
* @param tokenDto
* @param formDTO
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData< MemberProjectInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2022/7/27 9:44
*/
@Override
public PageData<MemberProjectInfoResultDTO> memberProjectInfoList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
if (StringUtils.isBlank(formDTO.getOrgId())) {
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);
}
PageData<MemberProjectInfoResultDTO> result = getGridMemberList(formDTO);
//if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) {
// //获取当前组织的所有下级组织ID(包含本级)
// //List<String> agencyIds = customerAgencyDao.getSubAgencyList(formDTO.getOrgId());
// //formDTO.setAgencyList(agencyIds);
// //获取组织下的网格员
// result = epmetUserService.getMemberList(formDTO);
//} else {
// //获取网格下的网格员
// result = dataStatsService.getMemberList(formDTO);
//}
if (CollectionUtils.isNotEmpty(result.getList())) {
//统计项目数
Map<String, Integer> projectMap = govProjectService.getMemberProjectMap(formDTO);
//统计关闭项目数
Map<String, Integer> closedMap = govProjectService.getMemberClosedProjectMap(formDTO);
result.getList().forEach(item -> {
item.setProjectCount(projectMap.getOrDefault(item.getStaffId(), NumConstant.ZERO));
item.setClosedCount(closedMap.getOrDefault(item.getStaffId(), NumConstant.ZERO));
if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(item.getOrgId());
if (null != agencyInfo) {
item.setOrgName(agencyInfo.getOrganizationName());
}
} else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(item.getOrgId());
if (null != gridInfo) {
item.setOrgName(gridInfo.getGridName());
}
}
});
}
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);
}
@Override
public ScreenAgencyOrGridListDTO getSubAgencyOrGridList(String customerId, String agencyId) {
ScreenAgencyOrGridListDTO resultDTO = new ScreenAgencyOrGridListDTO();
List<ScreenAgencyOrGridListDTO.AgencyGrid> agencyGridList = new ArrayList<>();
//1.查询组织信息
CustomerAgencyEntity dto = customerAgencyDao.selectById(agencyId);
if (dto == null) {
log.error(String.format("组织信息不存在,组织Id->%s", agencyId));
return new ScreenAgencyOrGridListDTO();
}
//2.根据组织级别判断查询直属组织或网格列表
List<ScreenCustomerAgencyDTO> agencyList = new ArrayList<>();
List<ScreenCustomerGridDTO> gridList = new ArrayList<>();
if (!"community".equals(dto.getLevel())) {
//2-1.直属下级组织列表
agencyList = customerAgencyDao.getSubAgencyListByAgency(customerId, agencyId);
agencyList.forEach(gr->{
ScreenAgencyOrGridListDTO.AgencyGrid org = new ScreenAgencyOrGridListDTO.AgencyGrid();
org.setOrgId(gr.getAgencyId());
org.setOrgName(gr.getAgencyName());
agencyGridList.add(org);
});
} else {
//2-2.直属下级网格列表
gridList = customerGridDao.getSubGridList(customerId, agencyId);
gridList.forEach(gr->{
ScreenAgencyOrGridListDTO.AgencyGrid org = new ScreenAgencyOrGridListDTO.AgencyGrid();
org.setOrgId(gr.getGridId());
org.setOrgName(gr.getGridName());
agencyGridList.add(org);
});
}
resultDTO.setLevel(dto.getLevel());
resultDTO.setAgencyGridList(agencyGridList);
return resultDTO;
}
}

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

@ -1,14 +1,19 @@
package com.epmet.dataaggre.service.govproject;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
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;
import com.sun.org.apache.xpath.internal.operations.Bool;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
@ -109,7 +114,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);
/**
* 搜索事件
@ -120,5 +125,64 @@ public interface GovProjectService {
*/
List<IcEventEntity> searchIcEventEntities(String customerId, String staffOrgIds, String search, Boolean isDifficultPoint,
Boolean isPage, Integer pageNo, Integer pageSize);
/**
* 网格上报项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
Map<String, Integer> getGridProjectMap(OrgStatisticsFormDTO formDTO);
/**
* 网格关闭项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
Map<String, Integer> getGridClosedProjectMap(OrgStatisticsFormDTO formDTO);
/**
* 工作人员上报项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:28
*/
Map<String, Integer> getMemberProjectMap(OrgStatisticsFormDTO formDTO);
/**
* 工作人员关闭项目数
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @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);
List<NowStatsDataResultDTO> getNowIcEvent(NowStatsDataFormDTO formDTO);
List<NowStatsDataResultDTO> getNowProject(NowStatsDataFormDTO formDTO);
}

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

@ -21,11 +21,17 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govproject.IcEventDao;
import com.epmet.dataaggre.dao.govproject.ProjectDao;
import com.epmet.dataaggre.dto.datastats.form.NowStatsDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectMonthResultDTO;
import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectResultDTO;
import com.epmet.dataaggre.dto.datastats.result.NowStatsDataResultDTO;
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;
import com.epmet.dataaggre.dto.govproject.ResiEventDTO;
@ -650,22 +656,118 @@ 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);
}
return icEventDao.selectList(query);
}
@Override
public Map<String, Integer> getGridProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getGridProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
@Override
public Map<String, Integer> getGridClosedProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getGridClosedProjectCount(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:28
*/
@Override
public Map<String, Integer> getMemberProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getMemberProjectCount(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> getMemberClosedProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getMemberClosedProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1));
}
/**
* 组织上报项目数
*
* @param formDTO
* @Param formDTO
* @Return {@link Map< String, Integer>}
* @Author zhaoqifeng
* @Date 2022/7/28 9:29
*/
@Override
public Map<String, Integer> getAgencyProjectMap(OrgStatisticsFormDTO formDTO) {
List<OrgCountDTO> list = projectDao.getAgencyProjectCount(formDTO);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
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
@ -674,9 +776,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);
@ -687,4 +793,20 @@ public class GovProjectServiceImpl implements GovProjectService {
return query;
}
@Override
public List<EventInfoResultDTO> getEventInfos(CoverageHomeSearchFormDTO formDTO) {
return icEventDao.getEventInfos(formDTO);
}
@Override
public List<NowStatsDataResultDTO> getNowIcEvent(NowStatsDataFormDTO formDTO) {
return icEventDao.getIcEvent(formDTO);
}
@Override
public List<NowStatsDataResultDTO> getNowProject(NowStatsDataFormDTO formDTO) {
return projectDao.getNowProject(formDTO);
}
}

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

Loading…
Cancel
Save