Browse Source

Merge branches 'dev_icservice' and 'master' of http://121.42.41.42:7070/r/epmet-cloud into dev_icservice

 Conflicts:
	epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
dev
yinzuomei 3 years ago
parent
commit
62cf823c95
  1. 4
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/EpmetAdminOpenFeignClient.java
  2. 6
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/fallback/EpmetAdminOpenFeignClientFallback.java
  3. 5
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java
  4. 3
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java
  5. 2
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java
  6. 5
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java
  7. 6
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.16__self_org_category.sql
  8. 9
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.17__add_dict.sql
  9. 1
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.18__alter_dict.sql
  10. 28
      epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
  11. 11
      epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml
  12. 15
      epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java
  13. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
  14. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
  15. 38
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcHouseFormDTO.java
  16. 45
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseFormDTO.java
  17. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  18. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java
  19. 61
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyPostEnum.java
  20. 64
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java
  21. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  22. 11
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java
  23. 15
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java
  24. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java
  25. 34
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerIcHouseRedis.java
  26. 92
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java
  27. 45
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/NodeTree.java
  28. 31
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/NodeTreeUtils.java
  29. 2
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java
  30. 10
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectProcessDTO.java
  31. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java
  32. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  33. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  34. 10
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java
  35. 10
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java
  36. 148
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactAgencyUserHouseDailyDTO.java
  37. 139
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridUserHouseDailyDTO.java
  38. 144
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactNeighborhoodUserHouseDailyDTO.java
  39. 35
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/form/FactUserHouseFormDTO.java
  40. 169
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/result/FactUserHouseResultDTO.java
  41. 7
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  42. 11
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  43. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java
  44. 103
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactUserHouseController.java
  45. 24
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/IcHouseDao.java
  46. 26
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java
  47. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java
  48. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactNeighborhoodUserHouseDailyDao.java
  49. 40
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/IcResiUserDao.java
  50. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java
  51. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java
  52. 110
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/IcHouseEntity.java
  53. 118
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactAgencyUserHouseDailyEntity.java
  54. 109
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactGridUserHouseDailyEntity.java
  55. 114
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactNeighborhoodUserHouseDailyEntity.java
  56. 513
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java
  57. 56
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/excel/FactUserHouseExcel.java
  58. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java
  59. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java
  60. 53
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/HouseService.java
  61. 32
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/HouseServiceImpl.java
  62. 111
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyUserHouseDailyService.java
  63. 120
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGridUserHouseDailyService.java
  64. 78
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactNeighborhoodUserHouseDailyService.java
  65. 68
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactUserHouseService.java
  66. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java
  67. 121
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java
  68. 130
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGridUserHouseDailyServiceImpl.java
  69. 83
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactNeighborhoodUserHouseDailyServiceImpl.java
  70. 229
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java
  71. 45
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/IcResiUserService.java
  72. 50
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/IcResiUserServiceImpl.java
  73. 11
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.31__alter_govern.sql
  74. 85
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.32__fact_grid_user_house_daily.sql
  75. 28
      epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
  76. 10
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml
  77. 66
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/IcHouseDao.xml
  78. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  79. 138
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml
  80. 237
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml
  81. 35
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactNeighborhoodUserHouseDailyDao.xml
  82. 26
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/IcResiUserDao.xml
  83. 1
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java
  84. 8
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java
  85. 9
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcUserDemandRecDTO.java
  86. 19
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/AddCommunitySelfOrganizationFormDTO.java
  87. 33
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CategorySelfOrgFormDTO.java
  88. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunitySelfOrganizationListFormDTO.java
  89. 6
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/EditCommunitySelfOrganizationFormDTO.java
  90. 24
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyTypepercentFormDTO.java
  91. 27
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListFormDTO.java
  92. 73
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListbriefFormDTO.java
  93. 20
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/IcEventCommentToDemandFromDTO.java
  94. 24
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ReportDemandFormDTO.java
  95. 30
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceListFormDTO.java
  96. 7
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java
  97. 14
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/CommunitySelfOrganizationListDTO.java
  98. 33
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyTypepercentResultDTO.java
  99. 32
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListResultDTO.java
  100. 56
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListbrieResultDTO.java

4
epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/EpmetAdminOpenFeignClient.java

@ -6,6 +6,7 @@ import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.dto.result.CorsConfigResultDTO;
import com.epmet.feign.fallback.EpmetAdminOpenFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
@ -101,4 +102,7 @@ public interface EpmetAdminOpenFeignClient {
@PostMapping("/sys/dict/data/dictlist")
Result<List<DictListResultDTO>> dictList(@RequestBody DictListFormDTO formDTO);
@PostMapping("/sys/dict/data/dictDataList/{dictType}")
Result<List<SysDictDataDTO>> dictDataList(@PathVariable("dictType") String dictType);
}

6
epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/fallback/EpmetAdminOpenFeignClientFallback.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.dto.result.CorsConfigResultDTO;
import com.epmet.feign.EpmetAdminOpenFeignClient;
@ -59,4 +60,9 @@ public class EpmetAdminOpenFeignClientFallback implements EpmetAdminOpenFeignCli
public Result<List<DictListResultDTO>> dictList(DictListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_ADMIN_SERVER, "dictList", formDTO);
}
@Override
public Result<List<SysDictDataDTO>> dictDataList(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_ADMIN_SERVER, "dictDataList", dictType);
}
}

5
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java

@ -172,4 +172,9 @@ public class SysDictDataController {
return new Result<Map<String, String>>().ok(sysDictDataService.dictMap(dictType));
}
@PostMapping("dictDataList/{dictType}")
public Result<List<SysDictDataDTO>> dictDataList(@PathVariable("dictType") String dictType){
List<SysDictDataDTO> list=sysDictDataService.getDictDataList(dictType);
return new Result<List<SysDictDataDTO>>().ok(list);
}
}

3
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java

@ -11,6 +11,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.entity.DictData;
import com.epmet.entity.SysDictDataEntity;
import org.apache.ibatis.annotations.Mapper;
@ -33,4 +34,6 @@ public interface SysDictDataDao extends BaseDao<SysDictDataEntity> {
List<DictListResultDTO> selectDictList(String dictType);
List<DictTreeResultDTO> selectDictData(String dictType);
List<SysDictDataDTO> selectDictDataList(String dictType);
}

2
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java

@ -90,4 +90,6 @@ public interface SysDictDataService extends BaseService<SysDictDataEntity> {
Map<String, String> dictMap(String dictType);
List<DictTreeResultDTO> dictListTree(String dictType);
List<SysDictDataDTO> getDictDataList(String dictType);
}

5
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java

@ -225,4 +225,9 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
return TreeUtils.buildTree(resultDTOList);
}
@Override
public List<SysDictDataDTO> getDictDataList(String dictType) {
return baseDao.selectDictDataList(dictType);
}
}

6
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.16__self_org_category.sql

@ -0,0 +1,6 @@
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 ('1526493468551626753', 'self_org_category', '社区自组织类别', '社区自组织类别:文化队伍、楼委会、老友俱乐部、治安巡逻队、其他', 1, 0, 0, '1', '2022-05-17 17:22:58', '1', '2022-05-17 17:22:58');
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 ('1526495882432299010', 1526493468551626753, '楼委会', 'lwh', '0', '楼委会', 2, 0, 0, '1', '2022-05-17 17:32:34', '1', '2022-05-17 17:32:34');
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 ('1526495969778679810', 1526493468551626753, '老友俱乐部', 'lyjlb', '0', '老友俱乐部', 3, 0, 0, '1', '2022-05-17 17:32:55', '1', '2022-05-17 17:32:55');
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 ('1526496168622243842', 1526493468551626753, '其他', 'other', '0', '其他', 5, 0, 0, '1', '2022-05-17 17:33:42', '1', '2022-05-17 17:33: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 ('1526495766724034562', 1526493468551626753, '文化队伍', 'whdw', '0', '文化队伍', 1, 0, 0, '1', '2022-05-17 17:32:06', '1', '2022-05-17 17:32:40');
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 ('1526496054369402882', 1526493468551626753, '治安巡逻队', 'zaxld', '0', '治安巡逻队', 4, 0, 0, '1', '2022-05-17 17:33:15', '1', '2022-05-17 17:33:24');

9
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.17__add_dict.sql

@ -0,0 +1,9 @@
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 ('1000000000000000013', 'ic_event', '事件管理', '', '13', '0', '0', '', '2022-05-17 18:23:27', '', '2022-05-17 18:23: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 ('3000000000000000004', '1000000000000000013', '网格员手持终端', '4', '0', '', '4', '0', '0', '', '2022-05-17 18:39:18', '', '2022-05-17 18:39: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 ('3000000000000000003', '1000000000000000013', '12345', '3', '0', '', '3', '0', '0', '', '2022-05-17 18:39:18', '', '2022-05-17 18:39: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 ('3000000000000000002', '1000000000000000013', '社区电话', '2', '0', '', '2', '0', '0', '', '2022-05-17 18:39:18', '', '2022-05-17 18:39: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 ('3000000000000000001', '1000000000000000013', '多媒体反映', '1', '0', '', '1', '0', '0', '', '2022-05-17 18:39:18', '', '2022-05-17 18:39: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 ('3000000000000000000', '1000000000000000013', '随手拍/随时讲', '0', '0', '', '0', '0', '0', '', '2022-05-17 18:39:18', '', '2022-05-17 18:39:18');

1
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.18__alter_dict.sql

@ -0,0 +1 @@
UPDATE `epmet_admin`.`sys_dict_type` SET `id`='1000000000000000013', `dict_type`='ic_event_source_type', `dict_name`='事件管理', `remark`='', `sort`='13', `DEL_FLAG`='0', `REVISION`='0', `CREATED_BY`='', `CREATED_TIME`='2022-05-17 18:23:27', `UPDATED_BY`='', `UPDATED_TIME`='2022-05-17 18:23:27' WHERE (`id`='1000000000000000013');

28
epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml

@ -133,12 +133,36 @@
</filter>
</appender>
<!-- rocketmq client 的日志appender -->
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/rocketmqclient.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test,local">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<logger name="com.epmet.dao" level="DEBUG"/>
<!-- 只打印rocketmq client的日志 -->
<logger name="RocketmqClient" level="INFO" additivity="false">
<appender-ref ref="RocketmqClientAppender"/>
</logger>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
@ -152,6 +176,10 @@
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<!-- 只打印rocketmq client的日志 -->
<logger name="RocketmqClient" level="INFO" additivity="false">
<appender-ref ref="RocketmqClientAppender"/>
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>

11
epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml

@ -33,4 +33,15 @@
a.sort asc
</select>
<select id="selectDictDataList" resultType="com.epmet.dto.SysDictDataDTO">
select sd.*
from sys_dict_data sd
where sd.DEL_FLAG='0'
and sd.dict_type_id=(
select st.id
from sys_dict_type st
where st.DEL_FLAG='0'
and st.dict_type=#{dictType}
)order by sort asc
</select>
</mapper>

15
epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java

@ -147,12 +147,7 @@ public class FieldMetaObjectHandler implements MetaObjectHandler {
updatedTime = metaObject.getValue(FieldConstant.UPDATED_TIME_HUMP);
}
if (updatedTime == null) {
if(metaObject.hasGetter(FieldConstant.CREATED_TIME_HUMP)) {
updatedTime = metaObject.getValue(FieldConstant.CREATED_TIME_HUMP);
}
if(updatedTime == null) {
updatedTime = new Date();
}
updatedTime = new Date();
}
return updatedTime;
}
@ -165,13 +160,7 @@ public class FieldMetaObjectHandler implements MetaObjectHandler {
}
if (value == null) {
if(metaObject.hasGetter(FieldConstant.CREATED_BY_HUMP)) {
value = metaObject.getValue(FieldConstant.CREATED_BY_HUMP);
}
if(null == value) {
value = Optional.ofNullable(loginUserUtil.getLoginUserId()).orElse(Constant.APP_USER_FLAG);
}
value = Optional.ofNullable(loginUserUtil.getLoginUserId()).orElse(Constant.APP_USER_FLAG);
}
return value;

5
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java

@ -88,4 +88,9 @@ public interface ConsomerGroupConstants {
* 需求完成如果服务方是区域化党建单位重新计算这个单位的满意度
*/
String USER_DEMAND_FINISH_GROUP = "user_demand_finish_group";
/**
* 志愿者变更
*/
String VOLUNTEER_CHANGE_EVENT_LISTENER_GROUP = "volunteer_change_event_listener_group";
}

5
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java

@ -74,4 +74,9 @@ public interface TopicConstants {
* 社区服务原居民需求
*/
String COMMUNITY_SERVICE="community_service";
/**
* 志愿者
*/
String VOLUNTEER ="volunteer";
}

38
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcHouseFormDTO.java

@ -0,0 +1,38 @@
/**
* 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.commons.tools.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* epmet-user端调用gov-org端的入参
* @author sun
*/
@Data
public class IcHouseFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String customerId;
private String houseId;
}

45
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/MqBaseFormDTO.java

@ -0,0 +1,45 @@
package com.epmet.commons.tools.dto.form.mq;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* desc:rocketmq 基础参数
*
* @author zhaoqifeng
* @dscription
* @date 2021/6/7 16:23
*/
@NoArgsConstructor
@Data
public class MqBaseFormDTO implements Serializable {
private static final long serialVersionUID = -6616119263736477518L;
/**
* 客户Id
*/
private String customerId;
/**
* 对象id 没有则查询全部
*/
private String objectId;
/**
* 对象id 没有则查询全部
*/
private List<String> objectIdList;
public MqBaseFormDTO(String customerId, String objectId) {
this.customerId = customerId;
this.objectId = objectId;
}
public MqBaseFormDTO(String customerId, List<String> objectIdList) {
this.customerId = customerId;
this.objectIdList = objectIdList;
}
}

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

@ -23,6 +23,8 @@ public enum DictTypeEnum {
PATROL_WORK_TYPE("patrol_work_type", "例行工作分类", 13),
GRID_TYPE("grid_type", "网格类型", 12),
ITEM_TYPE_QUERY("item_type_query","居民信息组件查询方式",14),
SELF_ORG_CATEGORY("self_org_category","社区自组织分类",15),
IC_EVENT_SOURCE_TYPE("ic_event_source_type","事件管理",19),
IC_SERVICE_TYPE("ic_service_type","服务类别",20),
;

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java

@ -0,0 +1,37 @@
package com.epmet.commons.tools.enums;
public enum PartyOrgTypeEnum {
PROVINCIAL("0", "省委"),
MUNICIPAL("1", "市委"),
DISTRICT("2", "区委"),
WORKING("3", "党工委"),
PARTY("4", "党委"),
BRANCH("5", "支部");
private String code;
private String name;
PartyOrgTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

61
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyPostEnum.java

@ -0,0 +1,61 @@
package com.epmet.commons.tools.enums;
import java.util.Objects;
/**
* @author Administrator
*/
public enum PartyPostEnum {
//党员职务
PTDY("0", "普通党员"),
ZBSJ("1", "支部书记"),
ZBWY("2", "支部委员"),
DWWY("3", "党委委员"),
UN_KNOWN("8", "未知");
private String code;
private String name;
PartyPostEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static String getName(String code) {
PartyPostEnum[] partyPostEnums = values();
for (PartyPostEnum partyPostEnum : partyPostEnums) {
if (Objects.equals(partyPostEnum.getCode(), code)) {
return partyPostEnum.getName();
}
}
return null;
}
public static String getCode(String name) {
PartyPostEnum[] partyPostEnums = values();
for (PartyPostEnum partyPostEnum : partyPostEnums) {
if (partyPostEnum.getName().equals(name)) {
return partyPostEnum.getCode();
}
}
return null;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

64
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SelfOrgCategoryEnum.java

@ -0,0 +1,64 @@
package com.epmet.commons.tools.enums;
/**
* 社区自组织增加分类文化队伍楼委会老友俱乐部治安巡逻队其他
*/
public enum SelfOrgCategoryEnum {
// 文化队伍: #e70014
// 楼委会: #f59701
// 老友俱乐部: #8fc41e
// 治安巡逻队: #00a1be
// 其他: #0067b6
/**
* 环境变量枚举
*/
WHDW("whdw", "文化队伍", "#e70014", 1),
LWH("lwh", "楼委会", "#f59701", 2),
LYJLB("lyjlb", "老友俱乐部", "#8fc41e", 3),
ZAXLD("zaxld", "治安巡逻队", "#00a1be", 4),
OTHER("other", "其他", "#0067b6", 5),
;
private final String code;
private final String name;
private final String color;
private final Integer sort;
SelfOrgCategoryEnum(String code, String name, String color, Integer sort) {
this.code = code;
this.name = name;
this.color = color;
this.sort = sort;
}
public static SelfOrgCategoryEnum getEnum(String code) {
SelfOrgCategoryEnum[] values = SelfOrgCategoryEnum.values();
for (SelfOrgCategoryEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
return SelfOrgCategoryEnum.OTHER;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getColor() {
return color;
}
public Integer getSort() {
return sort;
}
}

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

@ -255,6 +255,8 @@ public enum EpmetErrorCode {
IC_NAT(8924,"平台已存在记录,请去修改原有记录"),
RESI_IC_NAT(8925,"已存在记录,请联系社区工作人员修改"),
IC_MOVE_IN(8926,"居民信息中房屋信息与当前选择房屋不一致,是否更新?"),
NOT_REGEIST_RESI(8927,"未注册居民"),
UNIT_EXIST_HOUSES_ERROR(8928,"单元下存在房屋,不可修改单元数"),
//通用错误码 start

11
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java

@ -2,8 +2,10 @@ package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.feign.fallback.CommonGovOrgFeignClientFallBackFactory;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@ -26,4 +28,13 @@ public interface CommonGovOrgFeignClient {
@PostMapping("/gov/org/grid/getbaseinfo")
Result<GridInfoCache> getGridInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO);
/**
* @Description 查询房屋信息
* @Param houseInfo
* @Return {@link Result<HouseInfoCache>}
* @Author zhaoqifeng
* @Date 2022/5/18 14:29
*/
@PostMapping("/gov/org/house/getHouseInfoCache")
Result<HouseInfoCache> getHouseInfoCache(@RequestBody IcHouseFormDTO houseInfo);
}

15
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java

@ -2,8 +2,10 @@ package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component;
@ -22,5 +24,18 @@ public class CommonGovOrgFeignClientFallback implements CommonGovOrgFeignClient
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo", customerGridFormDTO);
}
/**
* @param houseInfo
* @Description 查询房屋信息
* @Param houseInfo
* @Return {@link Result< HouseInfoCache >}
* @Author zhaoqifeng
* @Date 2022/5/18 14:29
*/
@Override
public Result<HouseInfoCache> getHouseInfoCache(IcHouseFormDTO houseInfo) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getHouseInfoCache", houseInfo);
}
}

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java

@ -141,15 +141,16 @@ public class MaskProcessor {
* @return
*/
private String maskIdCard(String originString) {
int clearTextLength = 12;
// 仅将6位之后的全都打码
int length = originString.length();
if (length <= 6) {
if (length <= clearTextLength) {
return originString;
}
String maskStr = StrUtil.repeatByLength("*", length - 6);
String maskStr = StrUtil.repeatByLength("*", length - clearTextLength);
return originString.replaceAll("^(\\d{6})[a-zA-Z0-9]*$", new StringBuilder("$1").append(maskStr).toString());
return originString.replaceAll("^(\\d{10})\\d+([a-zA-Z0-9]{2})$", new StringBuilder("$1").append(maskStr).append("$2").toString());
}
/**

34
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerIcHouseRedis.java

@ -1,11 +1,14 @@
package com.epmet.commons.tools.redis.common;
import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.CommonAggFeignClient;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import lombok.extern.slf4j.Slf4j;
@ -28,6 +31,8 @@ public class CustomerIcHouseRedis {
private RedisUtils redisUtils;
@Autowired
private CommonAggFeignClient commonAggFeignClient;
@Autowired
private CommonGovOrgFeignClient govOrgFeignClient;
private static CustomerIcHouseRedis customerIcHouseRedis;
@PostConstruct
@ -62,6 +67,35 @@ public class CustomerIcHouseRedis {
return buildInfoResult.getData();
}
/**
* @Description 获取房屋信息
* @Param customerId
* @Param houseId
* @Return {@link HouseInfoCache}
* @Author zhaoqifeng
* @Date 2022/5/18 14:37
*/
public static HouseInfoCache getHouseInfo(String customerId, String houseId){
String key = RedisKeys.getHouseInfoCacheKey(houseId,customerId);
Map<String, Object> house = customerIcHouseRedis.redisUtils.hGetAll(key);
if (!MapUtils.isEmpty(house)) {
return ConvertUtils.mapToEntity(house, HouseInfoCache.class);
}
IcHouseFormDTO formDTO = new IcHouseFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setHouseId(houseId);
Result<HouseInfoCache> houseInfoResult = customerIcHouseRedis.govOrgFeignClient.getHouseInfoCache(formDTO);
if (!houseInfoResult.success()){
throw new RenException("查询房屋信息失败...");
}
if (null == houseInfoResult.getData()){
return null;
}
Map<String, Object> map = BeanUtil.beanToMap(houseInfoResult.getData(), false, true);
customerIcHouseRedis.redisUtils.hMSet(key, map);
return houseInfoResult.getData();
}
public static void delBuildingInfo(String buildingId){
String key = RedisKeys.getBuildingInfoKey(buildingId);
customerIcHouseRedis.redisUtils.delete(key);

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

@ -0,0 +1,92 @@
package com.epmet.commons.tools.redis.common.bean;
import lombok.Data;
import java.io.Serializable;
/**
* 房屋信息缓存
* @author Administrator
*/
@Data
public class HouseInfoCache implements Serializable {
/**
* 所属家庭Id
*/
private String homeId;
/**
* 小区详细地址
*/
private String neighborAddress;
/**
* 小区id
*/
private String neighborHoodId;
/**
* 小区名称
*/
private String neighborHoodName;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 楼栋名称
*/
private String buildingName;
/**
* 所属单元id
*/
private String buildingUnitId;
/**
* 单元名
*/
private String unitName;
/**
* 门牌号
*/
private String doorName;
/**
* 房屋类型1楼房2平房3别墅
*/
private String houseType;
private String houseName;
/**
* 楼的经度
*/
private String buildingLongitude;
/**
* 楼的纬度
*/
private String buildingLatitude;
/**
* 小区名+楼栋名+单元名+房屋名
*/
private String allName;
private String customerId;
/**
* 小区所在的组织id
*/
private String agencyId;
/**
* eg市北区-阜新路街道-南宁社区
*/
private String agencyPathName;
/**
* 组织的area_code
*/
private String areaCode;
}

45
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/NodeTree.java

@ -0,0 +1,45 @@
package com.epmet.commons.tools.utils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class NodeTree<T> implements Serializable {
private static final long serialVersionUID = 8020505121785861117L;
/**
* 主键
*/
private String id;
/**
* 上级ID
*/
private String pid;
/**
* 子节点列表
*/
private List<T> children = new ArrayList<>();
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public List<T> getChildren() {
return children;
}
public void setChildren(List<T> children) {
this.children = children;
}
}

31
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/NodeTreeUtils.java

@ -0,0 +1,31 @@
package com.epmet.commons.tools.utils;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class NodeTreeUtils {
public static <T extends NodeTree> List<T> build(List<T> treeNodes) {
List<T> result = new ArrayList<>();
//list转map
Map<String, T> nodeMap = new LinkedHashMap<>(treeNodes.size());
for(T treeNode : treeNodes){
nodeMap.put(treeNode.getId(), treeNode);
}
for(T node : nodeMap.values()) {
T parent = nodeMap.get(node.getPid());
if(parent != null && !(node.getId().equals(parent.getId()))){
parent.getChildren().add(node);
continue;
}
result.add(node);
}
return result;
}
}

2
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java

@ -50,6 +50,8 @@ public class ProjectDTO implements Serializable {
*/
private String agencyId;
private String gridId;
/**
* 来源议题issue
*/

10
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectProcessDTO.java

@ -109,6 +109,16 @@ public class ProjectProcessDTO implements Serializable {
*/
private String costWorkdays;
/**
* 协办单位ID
*/
private String assistanceUnitId;
/**
* 协办单位类型1社区自组织2联建单位
*/
private String assistanceUnitType;
/**
* 删除标识0.未删除 1.已删除
*/

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java

@ -187,5 +187,13 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity {
* 18当前组织内来源于工作人员上报事件的项目结案无需解决数
*/
private Integer workEventUnResolvedCount;
/**
* 19当前组织内来源于事件管理的项目结案已解决数
*/
private Integer icEventResolvedCount;
/**
* 20当前组织内来源于事件管理的项目结案无需解决数
*/
private Integer icEventUnResolvedCount;
}

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

@ -1201,9 +1201,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
Integer eventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventUnResolvedCount).sum();
Integer workEventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventResolvedCount).sum();
Integer workEventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventUnResolvedCount).sum();
Integer icEventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIcEventResolvedCount).sum();
Integer icEventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIcEventUnResolvedCount).sum();
Integer closedProjectTotal = issueResolvedCount + issueUnResolvedCount+projectResolvedCount
+ projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount
+ workEventResolvedCount + workEventUnResolvedCount;
+ workEventResolvedCount + workEventUnResolvedCount
+icEventResolvedCount + icEventUnResolvedCount;
resultDTO.setProblemResolvedCount(closedProjectTotal);
resultDTO.setGroupSelfGovernRatio(getPercentage(inGroupTopicResolvedCount + inGroupTopicUnResolvedCount, problemResolvedCount));
resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, closedProjectTotal));

10
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -631,7 +631,8 @@
ISSUE_PROJECT_RESOLVED_COUNT+ISSUE_PROJECT_UN_RESOLVED_COUNT
+APPROVAL_PROJECT_RESOLVED_COUNT+APPROVAL_PROJECT_UN_RESOLVED_COUNT
+EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT
+WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount,
+WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT
+IC_EVENT_RESOLVED_COUNT+IC_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount,
concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio,
concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio,
concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio,
@ -654,7 +655,8 @@
ISSUE_PROJECT_RESOLVED_COUNT+ISSUE_PROJECT_UN_RESOLVED_COUNT
+APPROVAL_PROJECT_RESOLVED_COUNT+APPROVAL_PROJECT_UN_RESOLVED_COUNT
+EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT
+WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount,
+WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT
+IC_EVENT_RESOLVED_COUNT+IC_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount,
concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio,
concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio,
concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio,
@ -693,7 +695,9 @@
EVENT_RESOLVED_COUNT,
EVENT_UN_RESOLVED_COUNT,
WORK_EVENT_RESOLVED_COUNT,
WORK_EVENT_UN_RESOLVED_COUNT
WORK_EVENT_UN_RESOLVED_COUNT,
IC_EVENT_RESOLVED_COUNT,
IC_EVENT_UN_RESOLVED_COUNT
FROM
fact_agency_govern_daily
WHERE

10
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java

@ -147,6 +147,16 @@ public class FactAgencyGovernDailyDTO implements Serializable {
*/
private Integer workEventUnResolvedCount;
/**
* 19当前组织内来源于事件管理的项目结案已解决数
*/
private Integer icEventResolvedCount;
/**
* 20当前组织内来源于事件管理的项目结案无需解决数
*/
private Integer icEventUnResolvedCount;
/**
* 未出当前网格的结案项目数
*/

10
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java

@ -158,6 +158,16 @@ public class FactGridGovernDailyDTO implements Serializable {
*/
private Integer workEventUnResolvedCount;
/**
* 19当前组织内来源于事件管理的项目结案已解决数
*/
private Integer icEventResolvedCount;
/**
* 20当前组织内来源于事件管理的项目结案无需解决数
*/
private Integer icEventUnResolvedCount;
/**
* 15未出当前网格的结案项目数=11+12+13+14
*/

148
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactAgencyUserHouseDailyDTO.java

@ -0,0 +1,148 @@
package com.epmet.dto.stats;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class FactAgencyUserHouseDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键customer_id+AGENCY_ID+date_id只有一条记录
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 组织id
*/
private String agencyId;
/**
* agency_id所属的机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 组织i所属的组织id
*/
private String pid;
/**
* 组织i所有上级id
*/
private String pids;
/**
* 小区总数
*/
private Integer neighbourhoodsCount;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间第一次提交审核的时间注意和历史表的第一条记录时间一致
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

139
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridUserHouseDailyDTO.java

@ -0,0 +1,139 @@
package com.epmet.dto.stats;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class FactGridUserHouseDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键customer_id+grid_id+date_id只有一条记录
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格所有上级id
*/
private String pids;
/**
* 小区总数
*/
private Integer neighbourhoodsCount;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间第一次提交审核的时间注意和历史表的第一条记录时间一致
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

144
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactNeighborhoodUserHouseDailyDTO.java

@ -0,0 +1,144 @@
package com.epmet.dto.stats;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-01
*/
@Data
public class FactNeighborhoodUserHouseDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键customer_id+grid_id+date_id只有一条记录
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格所有上级id
*/
private String pids;
/**
* 小区ID
*/
private String neighbourhoodsId;
/**
* 小区名称
*/
private String neighborHoodName;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间第一次提交审核的时间注意和历史表的第一条记录时间一致
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

35
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/form/FactUserHouseFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.stats.form;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class FactUserHouseFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* level
*/
private String level;
}

169
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/result/FactUserHouseResultDTO.java

@ -0,0 +1,169 @@
package com.epmet.dto.stats.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class FactUserHouseResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键customer_id+AGENCY_ID+date_id只有一条记录
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 组织id
*/
private String agencyId;
/**
* 组织id
*/
private String agencyName;
/**
* 小区ID
*/
private String neighbourhoodsId;
/**
* 小区名称
*/
private String neighborHoodName;
/**
* agency_id所属的机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 组织i所属的组织id
*/
private String pid;
/**
* 组织i所有上级id
*/
private String pids;
/**
* 小区总数
*/
private Integer neighbourhoodsCount;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间第一次提交审核的时间注意和历史表的第一条记录时间一致
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

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

@ -13,6 +13,7 @@ import com.epmet.dto.org.result.CustomerAgencyDTO;
import com.epmet.dto.org.result.CustomerGridDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.user.form.StaffBaseInfoFormDTO;
import com.epmet.dto.user.param.MidPatrolFormDTO;
import com.epmet.dto.user.result.GridUserInfoDTO;
@ -368,4 +369,10 @@ public interface DataStatisticalOpenFeignClient {
@PostMapping("/data/stats/screenextract/data_check")
Result dataCheck(@RequestBody ExtractOriginFormDTO formDTO);
@PostMapping("/data/stats/factAgencyUserHouseDaily/userHouseStatGrid")
Result userHouseStatGrid(@RequestBody FactUserHouseFormDTO formDTO);
@PostMapping("/data/stats/factAgencyUserHouseDaily/userHouseStatAgency")
Result userHouseStatAgency(@RequestBody FactUserHouseFormDTO formDTO);
}

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

@ -14,6 +14,7 @@ import com.epmet.dto.org.result.CustomerAgencyDTO;
import com.epmet.dto.org.result.CustomerGridDTO;
import com.epmet.dto.screen.form.InitCustomerIndexForm;
import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.user.form.StaffBaseInfoFormDTO;
import com.epmet.dto.user.param.MidPatrolFormDTO;
import com.epmet.dto.user.result.GridUserInfoDTO;
@ -351,4 +352,14 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
public Result dataCheck(ExtractOriginFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "dataCheck", formDTO);
}
@Override
public Result userHouseStatGrid(FactUserHouseFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "userHouseStatGrid", formDTO);
}
@Override
public Result userHouseStatAgency(FactUserHouseFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "userHouseStatAgency", formDTO);
}
}

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

@ -85,6 +85,8 @@ public interface ProjectConstant {
String PROJECT_ORIGIN_EVENT="resi_event";
String PROJECT_ORIGIN_WORK_EVENT="work_event";
String IC_EVENT="ic_event";
/**
* 自办
*/

103
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactUserHouseController.java

@ -0,0 +1,103 @@
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.excel.FactUserHouseExcel;
import com.epmet.service.stats.FactUserHouseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@RestController
@RequestMapping("factAgencyUserHouseDaily")
public class FactUserHouseController {
@Autowired
private FactUserHouseService factUserHouseService;
@RequestMapping("page")
public Result<PageData<FactUserHouseResultDTO>> page(@RequestParam Map<String, Object> params) {
PageData<FactUserHouseResultDTO> page = factUserHouseService.page(params);
return new Result<PageData<FactUserHouseResultDTO>>().ok(page);
}
/**
* 合计
*
* @param params
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.stats.result.FactUserHouseResultDTO>
* @author zhy
* @date 2022/5/31 9:48
*/
@RequestMapping("total")
public Result<FactUserHouseResultDTO> total(@RequestParam Map<String, Object> params) {
FactUserHouseResultDTO dto = factUserHouseService.total(params);
return new Result<FactUserHouseResultDTO>().ok(dto);
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<FactUserHouseResultDTO> list = factUserHouseService.list(params);
if (list.isEmpty()) {
FactUserHouseResultDTO dto = new FactUserHouseResultDTO();
list.add(dto);
}
ExcelUtils.exportExcelToTarget(response, null, list, FactUserHouseExcel.class);
}
/**
* 统计网格纬度
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/5/31 9:48
*/
@PostMapping("userHouseStatGrid")
public Result userHouseStatGrid(@RequestBody FactUserHouseFormDTO formDTO) {
factUserHouseService.statGrid(formDTO);
return new Result();
}
/**
* 统计小区纬度
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/5/31 9:48
*/
@PostMapping("userHouseStatNeighborhood")
public Result userHouseStatNeighborhood(@RequestBody FactUserHouseFormDTO formDTO) {
// factUserHouseService.statNeighborhood(formDTO);
return new Result();
}
/**
* 统计组织纬度
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author zhy
* @date 2022/5/31 9:48
*/
@PostMapping("userHouseStatAgency")
public Result userHouseStatAgency(@RequestBody FactUserHouseFormDTO formDTO) {
factUserHouseService.statAgency(formDTO);
return new Result();
}
}

24
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/IcHouseDao.java

@ -0,0 +1,24 @@
package com.epmet.dao.org;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.org.IcHouseEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 房屋信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-25
*/
@Mapper
public interface IcHouseDao extends BaseDao<IcHouseEntity> {
List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO);
List<FactUserHouseResultDTO> neighborhoodStatStat(FactUserHouseFormDTO formDTO);
}

26
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java

@ -0,0 +1,26 @@
package com.epmet.dao.stats;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Mapper
public interface FactAgencyUserHouseDailyDao extends BaseDao<FactAgencyUserHouseDailyEntity> {
List<FactUserHouseResultDTO> listPage(Map<String, Object> params);
List<FactUserHouseResultDTO> getTotal(Map<String, Object> params);
void deleteByDateId(FactUserHouseFormDTO formDTO);
}

28
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java

@ -0,0 +1,28 @@
package com.epmet.dao.stats;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactGridUserHouseDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Mapper
public interface FactGridUserHouseDailyDao extends BaseDao<FactGridUserHouseDailyEntity> {
List<FactUserHouseResultDTO> listPage(Map<String, Object> params);
List<FactUserHouseResultDTO> getTotal(Map<String, Object> params);
List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO);
void deleteByDateId(FactUserHouseFormDTO formDTO);
}

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactNeighborhoodUserHouseDailyDao.java

@ -0,0 +1,16 @@
package com.epmet.dao.stats;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-01
*/
@Mapper
public interface FactNeighborhoodUserHouseDailyDao extends BaseDao<FactNeighborhoodUserHouseDailyEntity> {
}

40
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/IcResiUserDao.java

@ -0,0 +1,40 @@
/**
* 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.dao.user;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.user.IcResiUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
@Mapper
public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java

@ -186,4 +186,14 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity {
*/
private Integer districtDeptClosedCount;
/**
* 19当前组织内来源于事件管理的项目结案已解决数
*/
private Integer icEventResolvedCount;
/**
* 20当前组织内来源于事件管理的项目结案无需解决数
*/
private Integer icEventUnResolvedCount;
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java

@ -186,6 +186,16 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity {
*/
private Integer workEventUnResolvedCount;
/**
* 19当前组织内来源于事件管理的项目结案已解决数
*/
private Integer icEventResolvedCount;
/**
* 20当前组织内来源于事件管理的项目结案无需解决数
*/
private Integer icEventUnResolvedCount;
/**
* 当前网格内出来的项目由社区结案(已解决+未解决)的项目总数

110
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/IcHouseEntity.java

@ -0,0 +1,110 @@
/**
* 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.entity.org;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 房屋信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-25
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_house")
public class IcHouseEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 小区id
*/
private String neighborHoodId;
/**
* 片区idneighbor_hood_part.id,可为空
*/
private String partId;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 所属单元id
*/
private String buildingUnitId;
/**
* 房屋名字后台插入时生成
*/
private String houseName;
/**
* 门牌号
*/
private String doorName;
/**
* 房屋类型这里存储字典value就可以
*/
private String houseType;
/**
* 存储字典value
*/
private String purpose;
/**
* 1出租0未出租
*/
private Integer rentFlag;
/**
* 房主姓名
*/
private String ownerName;
/**
* 房主电话
*/
private String ownerPhone;
/**
* 房主身份证号
*/
private String ownerIdCard;
/**
* 排序
*/
private BigDecimal sort;
}

118
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactAgencyUserHouseDailyEntity.java

@ -0,0 +1,118 @@
package com.epmet.entity.stats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_agency_user_house_daily")
public class FactAgencyUserHouseDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 组织id
*/
private String agencyId;
/**
* agency_id所属的机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 组织i所属的组织id
*/
private String pid;
/**
* 组织i所有上级id
*/
private String pids;
/**
* 小区总数
*/
private Integer neighbourhoodsCount;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
}

109
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactGridUserHouseDailyEntity.java

@ -0,0 +1,109 @@
package com.epmet.entity.stats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_grid_user_house_daily")
public class FactGridUserHouseDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格所有上级id
*/
private String pids;
/**
* 小区总数
*/
private Integer neighbourhoodsCount;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
}

114
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/FactNeighborhoodUserHouseDailyEntity.java

@ -0,0 +1,114 @@
package com.epmet.entity.stats;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-01
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_neighborhood_user_house_daily")
public class FactNeighborhoodUserHouseDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 数据更新至yyyyMMdd;
*/
private String dateId;
/**
* 网格id
*/
private String gridId;
/**
* 网格所属的组织id
*/
private String pid;
/**
* 网格所有上级id
*/
private String pids;
/**
* 小区ID
*/
private String neighbourhoodsId;
/**
* 小区名称
*/
private String neighborHoodName;
/**
* 房屋总数
*/
private Integer houseCount;
/**
* 自住房屋总数
*/
private Integer houseSelfCount;
/**
* 出租房屋总数
*/
private Integer houseLeaseCount;
/**
* 闲置房屋总数
*/
private Integer houseIdleCount;
/**
* 居民总数
*/
private Integer userCount;
/**
* 常住居民总数
*/
private Integer userResiCount;
/**
* 流动居民总数
*/
private Integer userFloatCount;
/**
* 当日新增房屋数
*/
private Integer houseIncr;
/**
* 当日修改房屋数
*/
private Integer houseModify;
/**
* 当日新增居民数
*/
private Integer userIncr;
/**
* 当日修改居民数
*/
private Integer userModify;
}

513
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java

@ -0,0 +1,513 @@
/**
* 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.entity.user;
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-10-26
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_resi_user")
public class IcResiUserEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
private String customerId;
/**
*
*/
private String agencyId;
/**
*
*/
private String pids;
/**
* 网格ID
*/
private String gridId;
/**
* 所属小区ID
*/
private String villageId;
/**
* 所属楼宇Id
*/
private String buildId;
/**
* 单元id
*/
private String unitId;
/**
* 所属家庭Id
*/
private String homeId;
/**
* 是否本地户籍
*/
private String isBdhj;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 身份证号
*/
private String idCard;
/**
* 出生日期
*/
private String birthday;
/**
* 备注
*/
private String remarks;
/**
* 联系人
*/
private String contacts;
/**
* 联系人电话
*/
private String contactsMobile;
/**
* 九小场所url
*/
private String ninePlace;
/**
* 是否党员
*/
private String isParty;
/**
* 是否低保户
*/
private String isDbh;
/**
* 是否保障房
*/
private String isEnsureHouse;
/**
* 是否失业
*/
private String isUnemployed;
/**
* 是否育龄妇女
*/
private String isYlfn;
/**
* 是否退役军人
*/
private String isVeterans;
/**
* 是否统战人员
*/
private String isUnitedFront;
/**
* 是否信访人员
*/
private String isXfry;
/**
* 是否志愿者
*/
private String isVolunteer;
/**
* 是否老年人
*/
private String isOldPeople;
/**
* 是否空巢
*/
private String isKc;
/**
* 是否失独
*/
private String isSd;
/**
* 是否失能
*/
private String isSn;
/**
* 是否失智
*/
private String isSz;
/**
* 是否残疾
*/
private String isCj;
/**
* 是否大病
*/
private String isDb;
/**
* 是否慢病
*/
private String isMb;
/**
* 是否特殊人群
*/
private String isSpecial;
/**
* 是否租户:1 :0
*/
private String isTenant;
/**
* 是否流动人口:1 :0
*/
private String isFloating;
/**
* 文化程度字典表
*/
private String culture;
/**
* 文化程度备注
*/
private String cultureRemakes;
/**
* 特长字典表
*/
private String specialSkill;
/**
* 兴趣爱好
*/
private String hobby;
/**
* 兴趣爱好备注
*/
private String hobbyRemakes;
/**
* 宗教信仰
*/
private String faith;
/**
* 宗教信仰备注
*/
private String faithRemakes;
/**
* 残疾类别字典表
*/
private String cjlb;
/**
* 残疾登记(状况)字典表
*/
private String cjzk;
/**
* 残疾证号
*/
private String cjzh;
/**
* 残疾说明
*/
private String cjsm;
/**
* 有无监护人yes no
*/
private String ynJdr;
/**
* 有无技能特长yes no
*/
private String ynJntc;
/**
* 有无劳动能力
*/
private String ynLdnl;
/**
* 有无非义务教育阶段助学yes no
*/
private String ynFywjyjdzx;
/**
* 所患大病
*/
private String shdb;
/**
* 患大病时间
*/
private String dbsj;
/**
* 所患慢性病
*/
private String shmxb;
/**
* 患慢性病时间
*/
private String mxbsj;
/**
* 是否参保
*/
private String isCb;
/**
* 自付金额
*/
private String zfje;
/**
* 救助金额
*/
private String jzje;
/**
* 救助时间[yyyy-MM-dd]
*/
private String jzsj;
/**
* 享受救助明细序号
*/
private String jzmxxh;
/**
* 健康信息备注
*/
private String healthRemakes;
/**
* 工作单位
*/
private String gzdw;
/**
* 职业
*/
private String zy;
/**
* 离退休时间
*/
private String ltxsj;
/**
* 工作信息备注
*/
private String workRemake;
/**
* 退休金额
*/
private String txje;
/**
* 月收入
*/
private String ysr;
/**
* 籍贯
*/
private String jg;
/**
* 户籍所在地
*/
private String hjszd;
/**
* 现居住地
*/
private String xjzd;
/**
* 人户情况
*/
private String rhzk;
/**
* 居住信息备注
*/
private String jzxxRemakes;
/**
* 民族字典表
*/
private String mz;
/**
* 与户主关系字典表
*/
private String yhzgx;
/**
* 居住情况字典表
*/
private String jzqk;
/**
* 婚姻状况字典表
*/
private String hyzk;
/**
* 配偶情况字典表
*/
private String poqk;
/**
* 有无赡养人
*/
private String ynSyr;
/**
* 与赡养人关系字典表
*/
private String ysyrgx;
/**
* 赡养人电话
*/
private String syrMobile;
/**
* 家庭信息备注
*/
private String jtxxRemakes;
/**
* 用户状态0:正常;1:迁出;2:注销
*/
private String status;
/**
* 用户详细状态01新增02导入03迁入04新生11迁出21死亡
*/
private String subStatus;
/**
* 预留字段1
*/
private String field1;
/**
* 预留字段2
*/
private String field2;
/**
* 预留字段3
*/
private String field3;
/**
* 预留字段4
*/
private String field4;
/**
* 预留字段5
*/
private String field5;
/**
* 预留字段6
*/
private String field6;
/**
* 预留字段7
*/
private String field7;
/**
* 预留字段8
*/
private String field8;
/**
* 预留字段9
*/
private String field9;
/**
* 预留字段10
*/
private String field10;
}

56
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/excel/FactUserHouseExcel.java

@ -0,0 +1,56 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Data
public class FactUserHouseExcel {
@Excel(name = "组织结构")
private String agencyName;
@Excel(name = "小区数")
private Integer neighbourhoodsCount;
@Excel(name = "房屋数")
private Integer houseCount;
@Excel(name = "自住房屋数")
private Integer houseSelfCount;
@Excel(name = "出租房屋数")
private Integer houseLeaseCount;
@Excel(name = "闲置房屋数")
private Integer houseIdleCount;
@Excel(name = "居民总数")
private Integer userCount;
@Excel(name = "常住人口数")
private Integer userResiCount;
@Excel(name = "流动人口数")
private Integer userFloatCount;
@Excel(name = "新增房屋数")
private Integer houseIncr;
@Excel(name = "新增人口数")
private Integer userIncr;
@Excel(name = "修改房屋数")
private Integer houseModify;
@Excel(name = "修改人口数")
private Integer userModify;
}

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

@ -285,6 +285,32 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl<FactAgency
});
}
//2022-5-23 当前组织内:来源于事件管理的项目:结案已解决数
Map<String, OrgStatisticsResultDTO> icEventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId,
dateId, ProjectConstant.RESOLVED,
ProjectConstant.IC_EVENT);
if (!icEventProjectResolvedTotal.isEmpty()) {
agencyGovernDailyList.forEach(item -> {
OrgStatisticsResultDTO dto = icEventProjectResolvedTotal.get(item.getAgencyId());
if (null != dto) {
item.setIcEventResolvedCount(dto.getSum());
}
});
}
//2022-5-23 当前组织内:来源于事件管理的项目:结案无需解决数
Map<String, OrgStatisticsResultDTO> icEventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId,
dateId, ProjectConstant.UNRESOLVED,
ProjectConstant.IC_EVENT);
if (!icEventProjectUnResolvedTotal.isEmpty()) {
agencyGovernDailyList.forEach(item -> {
OrgStatisticsResultDTO dto = icEventProjectUnResolvedTotal.get(item.getAgencyId());
if (null != dto) {
item.setIcEventUnResolvedCount(dto.getSum());
}
});
}
// 2.党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
agencyGovernDailyList.forEach(item -> {
int count = item.getInGroupTopicResolvedCount() + item.getInGroupTopicUnResolvedCount();
@ -423,6 +449,8 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl<FactAgency
entity.setEventUnResolvedCount(NumConstant.ZERO);
entity.setWorkEventResolvedCount(NumConstant.ZERO);
entity.setWorkEventUnResolvedCount(NumConstant.ZERO);
entity.setIcEventResolvedCount(NumConstant.ZERO);
entity.setIcEventUnResolvedCount(NumConstant.ZERO);
entity.setInGroupTopicResolvedCount(NumConstant.ZERO);
entity.setInGroupTopicUnResolvedCount(NumConstant.ZERO);
entity.setGridSelfGovernProjectTotal(NumConstant.ZERO);

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

@ -115,6 +115,8 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
Map<String,Integer> eventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.UNRESOLVED);
Map<String,Integer> workEventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.RESOLVED);
Map<String,Integer> workEventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.UNRESOLVED);
Map<String,Integer> icEventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.IC_EVENT,DimObjectStatusConstant.RESOLVED);
Map<String,Integer> icEventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.IC_EVENT,DimObjectStatusConstant.UNRESOLVED);
Map<String, Integer> inGroupTopicResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.RESOLVED,NumConstant.ZERO_STR);
Map<String, Integer> inGroupTopicUnResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.UNRESOLVED,NumConstant.ZERO_STR);
Map<String, GovernGridClosedTotalCommonDTO> dtoMap=getGovernGridClosedTotalCommonDTOMap(customerId,gridIds);
@ -182,6 +184,16 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
insertEntity.setWorkEventUnResolvedCount(workEventProjectUnResolvedMap.get(insertEntity.getGridId()));
}
// 2022-5-23 当前组织内:来源于事件管理的项目:结案已解决数
if(icEventProjectResolvedMap.containsKey(insertEntity.getGridId())){
insertEntity.setIcEventResolvedCount(icEventProjectResolvedMap.get(insertEntity.getGridId()));
}
// 2022-5-23 当前组织内:来源于事件管理的项目:结案无需解决数
if(icEventProjectUnResolvedMap.containsKey(insertEntity.getGridId())){
insertEntity.setIcEventUnResolvedCount(icEventProjectUnResolvedMap.get(insertEntity.getGridId()));
}
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
// 9、当前网格内,未出小组即未转议题的:话题关闭已解决数
if(inGroupTopicResolvedMap.containsKey(insertEntity.getGridId())){
@ -226,7 +238,9 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl<FactGridGove
+ insertEntity.getEventResolvedCount()
+ insertEntity.getEventUnResolvedCount()
+ insertEntity.getWorkEventResolvedCount()
+ insertEntity.getWorkEventUnResolvedCount();
+ insertEntity.getWorkEventUnResolvedCount()
+ insertEntity.getIcEventResolvedCount()
+ insertEntity.getIcEventUnResolvedCount();
// 党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的)
//界面展示:2、党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数
int groupSelfGovernRatioFz=insertEntity.getInGroupTopicResolvedCount()+insertEntity.getInGroupTopicUnResolvedCount();

53
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/HouseService.java

@ -0,0 +1,53 @@
/**
* 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.service.org;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import java.util.List;
/**
* 小区表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-25
*/
public interface HouseService {
/**
* 房屋统计
*
* @param formDTO
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO>
* @author zhy
* @date 2022/5/30 13:33
*/
List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO);
/**
* 小区统计
*
* @param formDTO
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO>
* @author zhy
* @date 2022/5/30 13:33
*/
List<FactUserHouseResultDTO> neighborhoodStat(FactUserHouseFormDTO formDTO);
}

32
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/HouseServiceImpl.java

@ -0,0 +1,32 @@
package com.epmet.service.org.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.org.IcHouseDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.org.IcHouseEntity;
import com.epmet.service.org.HouseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@DataSource(DataSourceConstant.GOV_ORG)
@Service
public class HouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntity> implements HouseService, ResultDataResolver {
@Override
public List<FactUserHouseResultDTO> houseStat(FactUserHouseFormDTO formDTO) {
return baseDao.houseStat(formDTO);
}
@Override
public List<FactUserHouseResultDTO> neighborhoodStat(FactUserHouseFormDTO formDTO) {
return baseDao.neighborhoodStatStat(formDTO);
}
}

111
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyUserHouseDailyService.java

@ -0,0 +1,111 @@
package com.epmet.service.stats;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO;
import com.epmet.dto.stats.FactGridUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity;
import java.util.List;
import java.util.Map;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface FactAgencyUserHouseDailyService extends BaseService<FactAgencyUserHouseDailyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
PageData<FactUserHouseResultDTO> page(Map<String, Object> params);
/**
* 分页合计
*
* @param params
* @return PageData<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
FactUserHouseResultDTO getTotal(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
List<FactAgencyUserHouseDailyDTO> list(Map<String, Object> params);
/**
* 查询导出数据
*
* @param params
* @return java.util.List<FactUserHouseResultDTO>
* @author generator
* @date 2022-05-27
*/
List<FactUserHouseResultDTO> listExport(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return FactAgencyUserHouseDailyDTO
* @author generator
* @date 2022-05-27
*/
FactAgencyUserHouseDailyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void save(FactAgencyUserHouseDailyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void update(FactAgencyUserHouseDailyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-27
*/
void delete(String[] ids);
/**
* 物理删除历史数据
*
* @param formDTO
* @return void
* @author zhy
* @date 2022/5/30 13:32
*/
void deleteByDateId(FactUserHouseFormDTO formDTO);
}

120
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGridUserHouseDailyService.java

@ -0,0 +1,120 @@
package com.epmet.service.stats;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.stats.FactGridUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactGridUserHouseDailyEntity;
import java.util.List;
import java.util.Map;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface FactGridUserHouseDailyService extends BaseService<FactGridUserHouseDailyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<FactGridUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
PageData<FactUserHouseResultDTO> page(Map<String, Object> params);
/**
* 页面合计
*
* @param params
* @return PageData<FactGridUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
FactUserHouseResultDTO getTotal(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<FactGridUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
List<FactGridUserHouseDailyDTO> list(Map<String, Object> params);
/**
* 查询导出数据
*
* @param params
* @return java.util.List<FactUserHouseResultDTO>
* @author generator
* @date 2022-05-27
*/
List<FactUserHouseResultDTO> listExport(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return FactGridUserHouseDailyDTO
* @author generator
* @date 2022-05-27
*/
FactGridUserHouseDailyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void save(FactGridUserHouseDailyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-27
*/
void update(FactGridUserHouseDailyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-27
*/
void delete(String[] ids);
/**
* 物理删除历史数据
*
* @param formDTO
* @return void
* @author zhy
* @date 2022/5/30 13:32
*/
void deleteByDateId(FactUserHouseFormDTO formDTO);
/**
* 根据网格统计组织数据
*
* @param formDTO
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO>
* @author zhy
* @date 2022/5/30 13:32
*/
List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO);
}

78
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactNeighborhoodUserHouseDailyService.java

@ -0,0 +1,78 @@
package com.epmet.service.stats;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.stats.FactNeighborhoodUserHouseDailyDTO;
import com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity;
import java.util.List;
import java.util.Map;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-01
*/
public interface FactNeighborhoodUserHouseDailyService extends BaseService<FactNeighborhoodUserHouseDailyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<FactNeighborhoodUserHouseDailyDTO>
* @author generator
* @date 2022-06-01
*/
PageData<FactNeighborhoodUserHouseDailyDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<FactNeighborhoodUserHouseDailyDTO>
* @author generator
* @date 2022-06-01
*/
List<FactNeighborhoodUserHouseDailyDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return FactNeighborhoodUserHouseDailyDTO
* @author generator
* @date 2022-06-01
*/
FactNeighborhoodUserHouseDailyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-06-01
*/
void save(FactNeighborhoodUserHouseDailyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-06-01
*/
void update(FactNeighborhoodUserHouseDailyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-06-01
*/
void delete(String[] ids);
}

68
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactUserHouseService.java

@ -0,0 +1,68 @@
package com.epmet.service.stats;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import java.util.List;
import java.util.Map;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
public interface FactUserHouseService {
/**
* 默认分页
*
* @param params
* @return PageData<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
PageData<FactUserHouseResultDTO> page(Map<String, Object> params);
/**
* 页面合计
*
* @param params
* @return PageData<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
FactUserHouseResultDTO total(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<FactAgencyUserHouseDailyDTO>
* @author generator
* @date 2022-05-27
*/
List<FactUserHouseResultDTO> list(Map<String, Object> params);
/**
* 人房网格数据
*
* @param formDTO
* @return void
* @author zhy
* @date 2022/5/30 13:31
*/
void statGrid(FactUserHouseFormDTO formDTO);
/**
* 人房组织数据
*
* @param formDTO
* @return void
* @author zhy
* @date 2022/5/30 13:31
*/
void statAgency(FactUserHouseFormDTO formDTO);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java

@ -81,9 +81,11 @@ public class DimGridServiceImpl extends BaseServiceImpl<DimGridDao, DimGridEntit
private QueryWrapper<DimGridEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String customerId = (String)params.get("customerId");
QueryWrapper<DimGridEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(customerId), "CUSTOMER_ID", customerId);
return wrapper;
}

121
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java

@ -0,0 +1,121 @@
package com.epmet.service.stats.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.stats.FactAgencyUserHouseDailyDao;
import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity;
import com.epmet.service.stats.FactAgencyUserHouseDailyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl<FactAgencyUserHouseDailyDao, FactAgencyUserHouseDailyEntity> implements FactAgencyUserHouseDailyService {
@Autowired
private LoginUserUtil loginUserUtil;
@Override
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
IPage<FactUserHouseResultDTO> page = getPage(params);
List<FactUserHouseResultDTO> list = baseDao.listPage(params);
return new PageData<>(list, page.getTotal());
}
@Override
public FactUserHouseResultDTO getTotal(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
List<FactUserHouseResultDTO> list = baseDao.getTotal(params);
// 只有当日数据直接展示,否则需要统计时间段内两天差值进行Incr和Modify数据计算
if (list.size() == NumConstant.ZERO) {
return null;
} else if (list.size() == NumConstant.ONE) {
return list.get(0);
} else {
FactUserHouseResultDTO first = list.get(0);
FactUserHouseResultDTO last = list.get(list.size() - 1);
FactUserHouseResultDTO dto = last;
dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr());
dto.setHouseModify(last.getHouseModify() - first.getHouseModify());
dto.setUserIncr(last.getUserIncr() - first.getUserIncr());
dto.setUserModify(last.getUserModify() - first.getUserModify());
return dto;
}
}
@Override
public List<FactAgencyUserHouseDailyDTO> list(Map<String, Object> params) {
List<FactAgencyUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, FactAgencyUserHouseDailyDTO.class);
}
@Override
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) {
return baseDao.listPage(params);
}
private QueryWrapper<FactAgencyUserHouseDailyEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<FactAgencyUserHouseDailyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public FactAgencyUserHouseDailyDTO get(String id) {
FactAgencyUserHouseDailyEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, FactAgencyUserHouseDailyDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(FactAgencyUserHouseDailyDTO dto) {
FactAgencyUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactAgencyUserHouseDailyEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(FactAgencyUserHouseDailyDTO dto) {
FactAgencyUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactAgencyUserHouseDailyEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void deleteByDateId(FactUserHouseFormDTO formDTO) {
baseDao.deleteByDateId(formDTO);
}
}

130
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGridUserHouseDailyServiceImpl.java

@ -0,0 +1,130 @@
package com.epmet.service.stats.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.stats.FactGridUserHouseDailyDao;
import com.epmet.dto.stats.FactGridUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactGridUserHouseDailyEntity;
import com.epmet.service.stats.FactGridUserHouseDailyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class FactGridUserHouseDailyServiceImpl extends BaseServiceImpl<FactGridUserHouseDailyDao, FactGridUserHouseDailyEntity> implements FactGridUserHouseDailyService {
@Autowired
private LoginUserUtil loginUserUtil;
@Override
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
IPage<FactUserHouseResultDTO> page = getPage(params);
List<FactUserHouseResultDTO> list = baseDao.listPage(params);
return new PageData<>(list, page.getTotal());
}
@Override
public FactUserHouseResultDTO getTotal(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
List<FactUserHouseResultDTO> list = baseDao.getTotal(params);
// 只有当日数据直接展示,否则需要统计时间段内两天差值进行Incr和Modify数据计算
if (list.size() == NumConstant.ZERO) {
return null;
} else if (list.size() == NumConstant.ONE) {
return list.get(0);
} else {
FactUserHouseResultDTO first = list.get(0);
FactUserHouseResultDTO last = list.get(list.size() - 1);
FactUserHouseResultDTO dto = last;
dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr());
dto.setHouseModify(last.getHouseModify() - first.getHouseModify());
dto.setUserIncr(last.getUserIncr() - first.getUserIncr());
dto.setUserModify(last.getUserModify() - first.getUserModify());
return dto;
}
}
@Override
public List<FactGridUserHouseDailyDTO> list(Map<String, Object> params) {
List<FactGridUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, FactGridUserHouseDailyDTO.class);
}
@Override
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) {
return baseDao.listPage(params);
}
private QueryWrapper<FactGridUserHouseDailyEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
String dateId = (String) params.get("dateId");
String customerId = (String) params.get("customerId");
QueryWrapper<FactGridUserHouseDailyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(dateId), "DATE_ID", dateId);
wrapper.eq(StringUtils.isNotBlank(customerId), "CUSTOMER_ID", customerId);
return wrapper;
}
@Override
public FactGridUserHouseDailyDTO get(String id) {
FactGridUserHouseDailyEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, FactGridUserHouseDailyDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(FactGridUserHouseDailyDTO dto) {
FactGridUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactGridUserHouseDailyEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(FactGridUserHouseDailyDTO dto) {
FactGridUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactGridUserHouseDailyEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void deleteByDateId(FactUserHouseFormDTO formDTO) {
baseDao.deleteByDateId(formDTO);
}
@Override
public List<FactUserHouseResultDTO> statAgency(FactUserHouseFormDTO formDTO) {
return baseDao.statAgency(formDTO);
}
}

83
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactNeighborhoodUserHouseDailyServiceImpl.java

@ -0,0 +1,83 @@
package com.epmet.service.stats.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.stats.FactNeighborhoodUserHouseDailyDao;
import com.epmet.dto.stats.FactNeighborhoodUserHouseDailyDTO;
import com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity;
import com.epmet.service.stats.FactNeighborhoodUserHouseDailyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 网格的人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-06-01
*/
@Service
public class FactNeighborhoodUserHouseDailyServiceImpl extends BaseServiceImpl<FactNeighborhoodUserHouseDailyDao, FactNeighborhoodUserHouseDailyEntity> implements FactNeighborhoodUserHouseDailyService {
@Override
public PageData<FactNeighborhoodUserHouseDailyDTO> page(Map<String, Object> params) {
IPage<FactNeighborhoodUserHouseDailyEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, FactNeighborhoodUserHouseDailyDTO.class);
}
@Override
public List<FactNeighborhoodUserHouseDailyDTO> list(Map<String, Object> params) {
List<FactNeighborhoodUserHouseDailyEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, FactNeighborhoodUserHouseDailyDTO.class);
}
private QueryWrapper<FactNeighborhoodUserHouseDailyEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<FactNeighborhoodUserHouseDailyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public FactNeighborhoodUserHouseDailyDTO get(String id) {
FactNeighborhoodUserHouseDailyEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, FactNeighborhoodUserHouseDailyDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(FactNeighborhoodUserHouseDailyDTO dto) {
FactNeighborhoodUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactNeighborhoodUserHouseDailyEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(FactNeighborhoodUserHouseDailyDTO dto) {
FactNeighborhoodUserHouseDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactNeighborhoodUserHouseDailyEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

229
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java

@ -0,0 +1,229 @@
package com.epmet.service.stats.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.stats.FactGridUserHouseDailyDTO;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.stats.FactAgencyUserHouseDailyEntity;
import com.epmet.entity.stats.FactGridUserHouseDailyEntity;
import com.epmet.service.org.HouseService;
import com.epmet.service.stats.DimGridService;
import com.epmet.service.stats.FactAgencyUserHouseDailyService;
import com.epmet.service.stats.FactGridUserHouseDailyService;
import com.epmet.service.stats.FactUserHouseService;
import com.epmet.service.user.IcResiUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* 人房信息统计数按天统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-27
*/
@Service
public class FactUserHouseServiceImpl implements FactUserHouseService {
@Autowired
private FactAgencyUserHouseDailyService factAgencyUserHouseDailyService;
@Autowired
private FactGridUserHouseDailyService factGridUserHouseDailyService;
@Autowired
private HouseService houseService;
@Autowired
private IcResiUserService icResiUserService;
@Autowired
private DimGridService dimGridService;
@Override
public PageData<FactUserHouseResultDTO> page(Map<String, Object> params) {
PageData<FactUserHouseResultDTO> page = null;
if (params.containsKey("startTime") && params.containsKey("endTime")) {
if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) {
params.put("dateId", StringUtils.EMPTY);
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
if (params.containsKey("level")) {
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString()) || OrgLevelEnum.COMMUNITY.getCode().equals(params.get("level").toString())) {
page = factGridUserHouseDailyService.page(params);
} else {
page = factAgencyUserHouseDailyService.page(params);
}
}
return page;
}
@Override
public FactUserHouseResultDTO total(Map<String, Object> params) {
FactUserHouseResultDTO dto = null;
// 不查询时间段默认查询当天
if (params.containsKey("startTime") && params.containsKey("endTime")) {
if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) {
params.put("dateId", StringUtils.EMPTY);
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
// 网格纬度查询网格统计表,其余纬度查询组织统计表
if (params.containsKey("level")) {
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) {
dto = factGridUserHouseDailyService.getTotal(params);
} else {
dto = factAgencyUserHouseDailyService.getTotal(params);
}
}
return dto;
}
@Override
public List<FactUserHouseResultDTO> list(Map<String, Object> params) {
List<FactUserHouseResultDTO> list = new ArrayList<>();
if (params.containsKey("level")) {
if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString()) || OrgLevelEnum.COMMUNITY.getCode().equals(params.get("level").toString())) {
list = factGridUserHouseDailyService.listExport(params);
} else {
list = factAgencyUserHouseDailyService.listExport(params);
}
}
FactUserHouseResultDTO dto = total(params);
if (dto != null) {
dto.setAgencyName("合计");
}
list.add(dto);
return list;
}
@Override
public void statGrid(FactUserHouseFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getDateId())) {
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE));
}
String dateId = formDTO.getDateId();
String customerId = formDTO.getCustomerId();
// 先删除历史
factGridUserHouseDailyService.deleteByDateId(formDTO);
// 保证小区是全部网格后,其余数据进行循环匹配
List<FactUserHouseResultDTO> neiList = houseService.neighborhoodStat(formDTO);
List<FactUserHouseResultDTO> houseList = houseService.houseStat(formDTO);
List<FactUserHouseResultDTO> userList = icResiUserService.userStat(formDTO);
List<FactUserHouseResultDTO> addList = new ArrayList<>();
neiList.forEach(item -> {
String gridId = item.getGridId();
FactUserHouseResultDTO dto = new FactUserHouseResultDTO();
dto.setCustomerId(formDTO.getCustomerId());
dto.setDateId(dateId);
dto.setGridId(gridId);
dto.setPid(item.getPid());
dto.setPids(item.getPids());
dto.setNeighbourhoodsCount(item.getNeighbourhoodsCount());
Optional<FactUserHouseResultDTO> houseOptional = houseList.stream().filter(house -> gridId.equals(house.getGridId()) && customerId.equals(house.getCustomerId())).findFirst();
if (houseOptional.isPresent()) {
dto.setHouseCount(houseOptional.get().getHouseCount());
dto.setHouseSelfCount(houseOptional.get().getHouseSelfCount());
dto.setHouseLeaseCount(houseOptional.get().getHouseLeaseCount());
dto.setHouseIdleCount(houseOptional.get().getHouseIdleCount());
dto.setHouseIncr(houseOptional.get().getHouseIncr());
dto.setHouseModify(houseOptional.get().getHouseModify());
} else {
dto.setHouseCount(NumConstant.ZERO);
dto.setHouseSelfCount(NumConstant.ZERO);
dto.setHouseLeaseCount(NumConstant.ZERO);
dto.setHouseIdleCount(NumConstant.ZERO);
dto.setHouseIncr(NumConstant.ZERO);
dto.setHouseModify(NumConstant.ZERO);
}
Optional<FactUserHouseResultDTO> userOptional = userList.stream().filter(user -> gridId.equals(user.getGridId()) && customerId.equals(user.getCustomerId())).findFirst();
if (userOptional.isPresent()) {
dto.setUserCount(userOptional.get().getUserCount());
dto.setUserResiCount(userOptional.get().getUserResiCount());
dto.setUserFloatCount(userOptional.get().getUserFloatCount());
dto.setUserIncr(userOptional.get().getUserIncr());
dto.setUserModify(userOptional.get().getUserModify());
} else {
dto.setUserCount(NumConstant.ZERO);
dto.setUserResiCount(NumConstant.ZERO);
dto.setUserFloatCount(NumConstant.ZERO);
dto.setUserIncr(NumConstant.ZERO);
dto.setUserModify(NumConstant.ZERO);
}
addList.add(dto);
});
List<FactGridUserHouseDailyEntity> entityList = ConvertUtils.sourceToTarget(addList, FactGridUserHouseDailyEntity.class);
factGridUserHouseDailyService.insertBatch(entityList);
}
@Override
public void statAgency(FactUserHouseFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getDateId())) {
formDTO.setDateId(DateUtils.getBeforeNDay(NumConstant.ONE));
}
Map<String, Object> params = new HashMap<>();
params.put("dateId", formDTO.getDateId());
params.put("customerId", formDTO.getCustomerId());
List<FactGridUserHouseDailyDTO> list = factGridUserHouseDailyService.list(params);
if (list.isEmpty()) {
return;
}
// 先删除历史
factAgencyUserHouseDailyService.deleteByDateId(formDTO);
// 使用机构表左关联,对不同纬度的机构进行分组统计
formDTO.setLevel("community");
List<FactUserHouseResultDTO> commList = factGridUserHouseDailyService.statAgency(formDTO);
if (!commList.isEmpty()) {
commList.forEach(item -> item.setDateId(formDTO.getDateId()));
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(commList, FactAgencyUserHouseDailyEntity.class));
}
formDTO.setLevel("street");
List<FactUserHouseResultDTO> streetList = factGridUserHouseDailyService.statAgency(formDTO);
if (!streetList.isEmpty()) {
streetList.forEach(item -> item.setDateId(formDTO.getDateId()));
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(streetList, FactAgencyUserHouseDailyEntity.class));
}
formDTO.setLevel("district");
List<FactUserHouseResultDTO> districtList = factGridUserHouseDailyService.statAgency(formDTO);
if (!districtList.isEmpty()) {
districtList.forEach(item -> item.setDateId(formDTO.getDateId()));
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(districtList, FactAgencyUserHouseDailyEntity.class));
}
formDTO.setLevel("city");
List<FactUserHouseResultDTO> cityList = factGridUserHouseDailyService.statAgency(formDTO);
if (!cityList.isEmpty()) {
cityList.forEach(item -> item.setDateId(formDTO.getDateId()));
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(cityList, FactAgencyUserHouseDailyEntity.class));
}
formDTO.setLevel("province");
List<FactUserHouseResultDTO> provinceList = factGridUserHouseDailyService.statAgency(formDTO);
if (!provinceList.isEmpty()) {
provinceList.forEach(item -> item.setDateId(formDTO.getDateId()));
factAgencyUserHouseDailyService.insertBatch(ConvertUtils.sourceToTarget(provinceList, FactAgencyUserHouseDailyEntity.class));
}
}
}

45
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/IcResiUserService.java

@ -0,0 +1,45 @@
/**
* 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.service.user;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.user.IcResiUserEntity;
import java.util.List;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
public interface IcResiUserService extends BaseService<IcResiUserEntity> {
/**
* 居民统计
*
* @param formDTO
* @return java.util.List<com.epmet.dto.stats.result.FactUserHouseResultDTO>
* @author zhy
* @date 2022/5/30 13:33
*/
List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO);
}

50
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/IcResiUserServiceImpl.java

@ -0,0 +1,50 @@
/**
* 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.service.user.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.user.IcResiUserDao;
import com.epmet.dto.stats.form.FactUserHouseFormDTO;
import com.epmet.dto.stats.result.FactUserHouseResultDTO;
import com.epmet.entity.user.IcResiUserEntity;
import com.epmet.service.user.IcResiUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 用户基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
@Slf4j
@DataSource(DataSourceConstant.EPMET_USER)
@Service
public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResiUserEntity> implements IcResiUserService, ResultDataResolver {
@Override
public List<FactUserHouseResultDTO> userStat(FactUserHouseFormDTO formDTO) {
return baseDao.userStat(formDTO);
}
}

11
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.31__alter_govern.sql

@ -0,0 +1,11 @@
ALTER TABLE `fact_agency_govern_daily`
ADD COLUMN `IC_EVENT_RESOLVED_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '19、当前组织内:来源于事件管理的项目:结案已解决数' AFTER `WORK_EVENT_UN_RESOLVED_COUNT`,
ADD COLUMN `IC_EVENT_UN_RESOLVED_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '20、当前组织内:来源于事件管理的项目:结案无需解决数' AFTER `IC_EVENT_RESOLVED_COUNT`;
ALTER TABLE `epmet_data_statistical`.`fact_grid_govern_daily`
ADD COLUMN `IC_EVENT_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '19、当前组织内:来源于事件管理的项目:结案已解决数' AFTER `WORK_EVENT_UN_RESOLVED_COUNT`,
ADD COLUMN `IC_EVENT_UN_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '20、当前组织内:来源于事件管理的项目:结案无需解决数' AFTER `IC_EVENT_RESOLVED_COUNT`;

85
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.32__fact_grid_user_house_daily.sql

@ -0,0 +1,85 @@
/*
Navicat Premium Data Transfer
Source Server : epmet_cloud_dev_statistical
Source Server Type : MySQL
Source Server Version : 50726
Source Host : 192.168.1.140:3306
Source Schema : epmet_data_statistical
Target Server Type : MySQL
Target Server Version : 50726
File Encoding : 65001
Date: 31/05/2022 13:29:46
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for fact_grid_user_house_daily
-- ----------------------------
DROP TABLE IF EXISTS `fact_grid_user_house_daily`;
CREATE TABLE `fact_grid_user_house_daily` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键,customer_id+grid_id+date_id只有一条记录',
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户id',
`DATE_ID` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
`GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格id',
`PID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格所属的组织id',
`PIDS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格所有上级id',
`NEIGHBOURHOODS_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '小区总数',
`HOUSE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '房屋总数',
`HOUSE_SELF_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '自住房屋总数',
`HOUSE_LEASE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '出租房屋总数',
`HOUSE_IDLE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '闲置房屋总数',
`USER_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '居民总数',
`USER_RESI_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '常住居民总数',
`USER_FLOAT_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '流动居民总数',
`HOUSE_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增房屋数',
`HOUSE_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改房屋数',
`USER_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增居民数',
`USER_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改居民数',
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格的人房信息统计数,按天统计' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for fact_agency_user_house_daily
-- ----------------------------
DROP TABLE IF EXISTS `fact_agency_user_house_daily`;
CREATE TABLE `fact_agency_user_house_daily` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键,customer_id+AGENCY_ID+date_id只有一条记录',
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户id',
`DATE_ID` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据更新至:yyyyMMdd; ',
`AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织id',
`LEVEL` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'agency_id所属的机关级别(社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province)',
`PID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织i所属的组织id',
`PIDS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织i所有上级id',
`NEIGHBOURHOODS_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '小区总数',
`HOUSE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '房屋总数',
`HOUSE_SELF_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '自住房屋总数',
`HOUSE_LEASE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '出租房屋总数',
`HOUSE_IDLE_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '闲置房屋总数',
`USER_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '居民总数',
`USER_RESI_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '常住居民总数',
`USER_FLOAT_COUNT` int(11) NOT NULL DEFAULT 0 COMMENT '流动居民总数',
`HOUSE_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增房屋数',
`HOUSE_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改房屋数',
`USER_INCR` int(11) NOT NULL DEFAULT 0 COMMENT '当日新增居民数',
`USER_MODIFY` int(11) NOT NULL DEFAULT 0 COMMENT '当日修改居民数',
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '人房信息统计数,按天统计' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;

28
epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml

@ -138,11 +138,35 @@
</filter>
</appender>
<!-- rocketmq client 的日志appender -->
<appender name="RocketmqClientAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/rocketmqclient.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test,local">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="DEBUG"/>
<!-- 只打印rocketmq client的日志 -->
<logger name="RocketmqClient" level="INFO" additivity="false">
<appender-ref ref="RocketmqClientAppender"/>
</logger>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
@ -166,6 +190,10 @@
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<!-- 只打印rocketmq client的日志 -->
<logger name="RocketmqClient" level="INFO" additivity="false">
<appender-ref ref="RocketmqClientAppender"/>
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>

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

@ -141,7 +141,7 @@
WHERE
1 = 1
AND f.ORIGIN = 'issue'
AND f.ORIGIN IN('issue', 'ic_event')
AND f.PROJECT_STATUS = 'closed'
AND f.CUSTOMER_ID = #{customerId}
) a
@ -468,7 +468,7 @@
AND fm.MONTH_ID = #{monthId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.ORIGIN = 'issue'
AND fm.ORIGIN IN('issue', 'ic_event')
) a
GROUP BY
GRID_ID
@ -490,7 +490,7 @@
WHERE fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.ORIGIN = 'issue'
AND fm.ORIGIN IN('issue', 'ic_event')
) a
GROUP BY
AGENCY_ID
@ -680,7 +680,7 @@
fm.CUSTOMER_ID = #{customerId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.GRID_ID != ''
AND fm.ORIGIN = 'issue'
AND fm.ORIGIN IN('issue', 'ic_event')
) a
GROUP BY
GRID_ID
@ -701,7 +701,7 @@
INNER JOIN fact_origin_project_main_daily fm ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
WHERE fm.CUSTOMER_ID = #{customerId}
AND fm.PROJECT_STATUS = 'closed'
AND fm.ORIGIN = 'issue'
AND fm.ORIGIN IN('issue', 'ic_event')
) a
GROUP BY
AGENCY_ID

66
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/IcHouseDao.xml

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.org.IcHouseDao">
<select id="houseStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
g.CUSTOMER_ID,
g.id AS GRID_ID,
g.PID,
g.PIDS,
sum( CASE WHEN t.RENT_FLAG = '0' THEN 1 ELSE 0 END ) AS houseSelfCount,
sum( CASE WHEN t.RENT_FLAG = '1' THEN 1 ELSE 0 END ) AS houseLeaseCount,
sum( CASE WHEN t.RENT_FLAG = '2' THEN 1 ELSE 0 END ) AS houseIdleCount,
sum( CASE WHEN t.id IS NOT NULL THEN 1 ELSE 0 END ) AS houseCount,
sum( CASE WHEN (t.id IS NOT NULL and DATE_FORMAT(t.CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseIncr,
sum( CASE WHEN (t.id IS NOT NULL and t.CREATED_TIME != t.UPDATED_TIME and DATE_FORMAT(t.UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS houseModify
FROM
customer_grid g
LEFT JOIN (
SELECT
h.id,
h.RENT_FLAG,
n.GRID_ID,
h.CREATED_TIME,
h.UPDATED_TIME
FROM
ic_house h
LEFT JOIN ic_neighbor_hood n ON h.NEIGHBOR_HOOD_ID = n.id
WHERE h.CREATED_TIME &lt; DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY )
AND n.DEL_FLAG = '0'
AND h.DEL_FLAG = '0'
) t ON t.GRID_ID = g.ID
WHERE
g.DEL_FLAG = '0'
<if test='customerId != "" and customerId != null '>
AND g.CUSTOMER_ID = #{customerId}
</if>
GROUP BY
g.CUSTOMER_ID,
g.id
</select>
<select id="neighborhoodStatStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
g.CUSTOMER_ID,
g.id AS GRID_ID,
g.PID,
g.PIDS,
count( n.id ) AS neighbourhoodsCount
FROM
customer_grid g
LEFT JOIN ic_neighbor_hood n ON n.GRID_ID = g.id
AND n.CREATED_TIME &lt; DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY )
AND n.DEL_FLAG = '0'
WHERE
g.DEL_FLAG = '0'
<if test='customerId != "" and customerId != null '>
AND g.CUSTOMER_ID = #{customerId}
</if>
GROUP BY
g.CUSTOMER_ID,
g.id;
</select>
</mapper>

4
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -58,7 +58,7 @@
FROM project
WHERE
DEL_FLAG = '0'
AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
AND ORIGIN IN('issue', 'resi_event', 'ic_event')
AND STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') <![CDATA[ <= ]]> #{date}
@ -72,7 +72,7 @@
FROM project
WHERE
DEL_FLAG = '0'
AND (ORIGIN = 'issue' OR ORIGIN = 'resi_event')
AND ORIGIN IN('issue', 'resi_event', 'ic_event')
AND STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date}

138
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.stats.FactAgencyUserHouseDailyDao">
<resultMap type="com.epmet.entity.stats.FactAgencyUserHouseDailyEntity" id="factAgencyUserHouseDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="level" column="LEVEL"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="neighbourhoodsCount" column="NEIGHBOURHOODS_COUNT"/>
<result property="houseCount" column="HOUSE_COUNT"/>
<result property="houseSelfCount" column="HOUSE_SELF_COUNT"/>
<result property="houseLeaseCount" column="HOUSE_LEASE_COUNT"/>
<result property="houseIdleCount" column="HOUSE_IDLE_COUNT"/>
<result property="userCount" column="USER_COUNT"/>
<result property="userResiCount" column="USER_RESI_COUNT"/>
<result property="userFloatCount" column="USER_FLOAT_COUNT"/>
<result property="houseIncr" column="HOUSE_INCR"/>
<result property="houseModify" column="HOUSE_MODIFY"/>
<result property="userIncr" column="USER_INCR"/>
<result property="userModify" column="USER_MODIFY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="listPage" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
d.AGENCY_NAME AS AGENCY_NAME,
max( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT,
max( HOUSE_COUNT ) AS HOUSE_COUNT,
max( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT,
max( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT,
max( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT,
max( USER_COUNT ) AS USER_COUNT,
max( USER_RESI_COUNT ) AS USER_RESI_COUNT,
max( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT,
max( HOUSE_INCR ) AS HOUSE_INCR,
max( HOUSE_MODIFY ) AS HOUSE_MODIFY,
max( USER_INCR ) AS USER_INCR,
max( USER_MODIFY ) AS USER_MODIFY
FROM
fact_agency_user_house_daily a
LEFT JOIN dim_agency d ON d.id = a.AGENCY_ID
WHERE
d.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND a.CUSTOMER_ID = #{customerId}
AND d.CUSTOMER_ID = #{customerId}
</if>
<if test="dateId != null and dateId != ''">
AND a.DATE_ID = #{dateId}
</if>
<if test="level == 'street'">
AND a.LEVEL = 'community'
AND a.PID = #{agencyId}
</if>
<if test="level == 'district'">
AND a.LEVEL = 'street'
AND a.PID = #{agencyId}
</if>
<if test="level == 'city'">
AND a.LEVEL = 'district'
AND a.PID = #{agencyId}
</if>
<if test="level == 'province'">
AND a.LEVEL = 'city'
AND a.PID = #{agencyId}
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' )
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) &lt;= DATE_FORMAT( #{endTime}, '%Y-%m-%d' )
</if>
GROUP BY
a.AGENCY_ID
</select>
<select id="getTotal" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
d.AGENCY_NAME AS AGENCY_NAME,
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT,
sum( HOUSE_COUNT ) AS HOUSE_COUNT,
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT,
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT,
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT,
sum( USER_COUNT ) AS USER_COUNT,
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT,
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT,
sum( HOUSE_INCR ) AS HOUSE_INCR,
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY,
sum( USER_INCR ) AS USER_INCR,
sum( USER_MODIFY ) AS USER_MODIFY
FROM
fact_agency_user_house_daily a
LEFT JOIN dim_agency d ON d.id = a.AGENCY_ID
WHERE
d.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND a.CUSTOMER_ID = #{customerId}
AND d.CUSTOMER_ID = #{customerId}
</if>
<if test="agencyId != null and agencyId != ''">
AND a.AGENCY_ID = #{agencyId}
</if>
<if test="dateId != null and dateId != ''">
AND a.DATE_ID = #{dateId}
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' )
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) &lt;= DATE_FORMAT( #{endTime}, '%Y-%m-%d' )
</if>
GROUP BY
a.DATE_ID
ORDER BY
a.DATE_ID ASC
</select>
<delete id="deleteByDateId">
DELETE
FROM
fact_agency_user_house_daily
WHERE
DATE_ID = #{dateId}
AND CUSTOMER_ID = #{customerId}
</delete>
</mapper>

237
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.stats.FactGridUserHouseDailyDao">
<resultMap type="com.epmet.entity.stats.FactGridUserHouseDailyEntity" id="factGridUserHouseDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="neighbourhoodsCount" column="NEIGHBOURHOODS_COUNT"/>
<result property="houseCount" column="HOUSE_COUNT"/>
<result property="houseSelfCount" column="HOUSE_SELF_COUNT"/>
<result property="houseLeaseCount" column="HOUSE_LEASE_COUNT"/>
<result property="houseIdleCount" column="HOUSE_IDLE_COUNT"/>
<result property="userCount" column="USER_COUNT"/>
<result property="userResiCount" column="USER_RESI_COUNT"/>
<result property="userFloatCount" column="USER_FLOAT_COUNT"/>
<result property="houseIncr" column="HOUSE_INCR"/>
<result property="houseModify" column="HOUSE_MODIFY"/>
<result property="userIncr" column="USER_INCR"/>
<result property="userModify" column="USER_MODIFY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="listPage" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
g.GRID_NAME AS AGENCY_NAME,
max( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT,
max( HOUSE_COUNT ) AS HOUSE_COUNT,
max( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT,
max( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT,
max( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT,
max( USER_COUNT ) AS USER_COUNT,
max( USER_RESI_COUNT ) AS USER_RESI_COUNT,
max( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT,
max( HOUSE_INCR ) AS HOUSE_INCR,
max( HOUSE_MODIFY ) AS HOUSE_MODIFY,
max( USER_INCR ) AS USER_INCR,
max( USER_MODIFY ) AS USER_MODIFY
FROM
fact_grid_user_house_daily d
LEFT JOIN dim_grid g ON g.id = d.GRID_ID
WHERE
g.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND g.CUSTOMER_ID = #{customerId}
AND d.CUSTOMER_ID = #{customerId}
</if>
<if test="level == 'grid'">
AND d.GRID_ID = #{agencyId}
</if>
<if test="level == 'community'">
AND d.PID = #{agencyId}
</if>
<if test="dateId != null and dateId != ''">
AND d.DATE_ID = #{dateId}
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' )
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) &lt;= DATE_FORMAT( #{endTime}, '%Y-%m-%d' )
</if>
GROUP BY
GRID_ID
</select>
<select id="getTotal" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
g.GRID_NAME AS AGENCY_NAME,
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT,
sum( HOUSE_COUNT ) AS HOUSE_COUNT,
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT,
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT,
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT,
sum( USER_COUNT ) AS USER_COUNT,
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT,
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT,
sum( HOUSE_INCR ) AS HOUSE_INCR,
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY,
sum( USER_INCR ) AS USER_INCR,
sum( USER_MODIFY ) AS USER_MODIFY
FROM
fact_grid_user_house_daily d
LEFT JOIN dim_grid g ON g.id = d.GRID_ID
LEFT JOIN dim_agency a ON a.id = d.PID
WHERE
g.DEL_FLAG = '0'
<if test="customerId != null and customerId != ''">
AND g.CUSTOMER_ID = #{customerId}
AND d.CUSTOMER_ID = #{customerId}
</if>
<if test="agencyId != null and agencyId != ''">
AND d.GRID_ID = #{agencyId}
</if>
<if test="dateId != null and dateId != ''">
AND d.DATE_ID = #{dateId}
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' )
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) &lt;= DATE_FORMAT( #{endTime}, '%Y-%m-%d' )
</if>
GROUP BY
d.DATE_ID
ORDER BY
d.DATE_ID ASC
</select>
<select id="statAgency" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
t.*,
ag.id AS AGENCY_ID,
ag.CUSTOMER_ID,
ag.`LEVEL`,
ag.PID,
ag.PIDS
FROM
dim_agency ag
LEFT JOIN (
SELECT
<if test="level == 'community'">
c.id AS AGENCY,
</if>
<if test="level == 'street'">
s.id AS AGENCY,
</if>
<if test="level == 'district'">
di.id AS AGENCY,
</if>
<if test="level == 'city'">
ci.id AS AGENCY,
</if>
<if test="level == 'province'">
p.id AS AGENCY,
</if>
sum( NEIGHBOURHOODS_COUNT ) AS NEIGHBOURHOODS_COUNT,
sum( HOUSE_COUNT ) AS HOUSE_COUNT,
sum( HOUSE_SELF_COUNT ) AS HOUSE_SELF_COUNT,
sum( HOUSE_LEASE_COUNT ) AS HOUSE_LEASE_COUNT,
sum( HOUSE_IDLE_COUNT ) AS HOUSE_IDLE_COUNT,
sum( USER_COUNT ) AS USER_COUNT,
sum( USER_RESI_COUNT ) AS USER_RESI_COUNT,
sum( USER_FLOAT_COUNT ) AS USER_FLOAT_COUNT,
sum( HOUSE_INCR ) AS HOUSE_INCR,
sum( HOUSE_MODIFY ) AS HOUSE_MODIFY,
sum( USER_INCR ) AS USER_INCR,
sum( USER_MODIFY ) AS USER_MODIFY
FROM
fact_grid_user_house_daily d
INNER JOIN dim_grid g ON g.id = d.GRID_ID
INNER JOIN dim_agency c ON c.id = g.AGENCY_ID
<if test="level == 'community'">
WHERE
d.DATE_ID = #{dateId}
AND d.CUSTOMER_ID = #{customerId}
GROUP BY
c.id
</if>
<if test="level == 'street'">
INNER JOIN dim_agency s ON s.id = c.pid
WHERE
d.DATE_ID = #{dateId}
AND d.CUSTOMER_ID = #{customerId}
GROUP BY
s.id
</if>
<if test="level == 'district'">
INNER JOIN dim_agency s ON s.id = c.pid
INNER JOIN dim_agency di ON di.id = s.pid
WHERE
d.DATE_ID = #{dateId}
AND d.CUSTOMER_ID = #{customerId}
GROUP BY
di.id
</if>
<if test="level == 'city'">
INNER JOIN dim_agency s ON s.id = c.pid
INNER JOIN dim_agency di ON di.id = s.pid
INNER JOIN dim_agency ci ON ci.id = di.pid
INNER JOIN dim_agency p ON p.id = ci.pid
WHERE
d.DATE_ID = #{dateId}
AND d.CUSTOMER_ID = #{customerId}
GROUP BY
ci.id
</if>
<if test="level == 'province'">
INNER JOIN dim_agency s ON s.id = c.pid
INNER JOIN dim_agency di ON di.id = s.pid
INNER JOIN dim_agency ci ON ci.id = di.pid
INNER JOIN dim_agency p ON p.id = ci.pid
WHERE
d.DATE_ID = #{dateId}
AND d.CUSTOMER_ID = #{customerId}
GROUP BY
p.id
</if>
) t ON t.AGENCY = ag.id
WHERE
ag.CUSTOMER_ID = #{customerId}
AND ag.AGENCY_DIM_TYPE = 'all'
<if test="level == 'community'">
AND ag.`LEVEL` = 'community'
</if>
<if test="level == 'street'">
AND ag.`LEVEL` = 'street'
</if>
<if test="level == 'district'">
AND ag.`LEVEL` = 'district'
</if>
<if test="level == 'city'">
AND ag.`LEVEL` = 'city'
</if>
<if test="level == 'province'">
AND ag.`LEVEL` = 'province'
</if>
</select>
<delete id="deleteByDateId">
DELETE
FROM
fact_grid_user_house_daily
WHERE
DATE_ID = #{dateId}
AND CUSTOMER_ID = #{customerId}
</delete>
</mapper>

35
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactNeighborhoodUserHouseDailyDao.xml

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.stats.FactNeighborhoodUserHouseDailyDao">
<resultMap type="com.epmet.entity.stats.FactNeighborhoodUserHouseDailyEntity" id="factNeighborhoodUserHouseDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="neighbourhoodsId" column="NEIGHBOURHOODS_ID"/>
<result property="neighborHoodName" column="NEIGHBOR_HOOD_NAME"/>
<result property="houseCount" column="HOUSE_COUNT"/>
<result property="houseSelfCount" column="HOUSE_SELF_COUNT"/>
<result property="houseLeaseCount" column="HOUSE_LEASE_COUNT"/>
<result property="houseIdleCount" column="HOUSE_IDLE_COUNT"/>
<result property="userCount" column="USER_COUNT"/>
<result property="userResiCount" column="USER_RESI_COUNT"/>
<result property="userFloatCount" column="USER_FLOAT_COUNT"/>
<result property="houseIncr" column="HOUSE_INCR"/>
<result property="houseModify" column="HOUSE_MODIFY"/>
<result property="userIncr" column="USER_INCR"/>
<result property="userModify" column="USER_MODIFY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

26
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/IcResiUserDao.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.user.IcResiUserDao">
<select id="userStat" resultType="com.epmet.dto.stats.result.FactUserHouseResultDTO">
SELECT
CUSTOMER_ID,
GRID_ID,
sum( CASE WHEN IS_FLOATING = '0' THEN 1 ELSE 0 END ) AS userResiCount,
sum( CASE WHEN IS_FLOATING = '1' THEN 1 ELSE 0 END ) AS userFloatCount,
sum( CASE WHEN id IS NOT NULL THEN 1 ELSE 0 END ) AS userCount,
sum( CASE WHEN (id IS NOT NULL and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userIncr,
sum( CASE WHEN (id IS NOT NULL and CREATED_TIME != UPDATED_TIME and DATE_FORMAT(UPDATED_TIME,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY ),'%Y-%m-%d')) THEN 1 ELSE 0 END ) AS userModify
FROM
ic_resi_user
WHERE
del_flag = '0'
AND STATUS = '0'
AND CREATED_TIME &lt;= DATE_ADD( DATE_FORMAT(#{dateId},'%Y-%m-%d'), INTERVAL 1 DAY )
GROUP BY
CUSTOMER_ID,
AGENCY_ID
</select>
</mapper>

1
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java

@ -18,6 +18,7 @@ public interface ImportTaskConstants {
String BIZ_TYPE_ATTENTION_NAT = "attention_nat";
String BIZ_TYPE_ATTENTION_VACCINATION = "attention_vaccination";
String BIZ_TYPE_ATTENTION_TRIP_REPORT = "attention_vaccination";
String BIZ_TYPE_IC_PARTY_MEMBER = "ic_party_member";
/**
* 核酸检测
*/

8
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcCommunitySelfOrganizationPersonnelDTO.java

@ -17,6 +17,7 @@
package com.epmet.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -42,6 +43,7 @@ public class IcCommunitySelfOrganizationPersonnelDTO implements Serializable {
/**
* 客户ID
*/
@JsonIgnore
private String customerId;
/**
@ -62,31 +64,37 @@ public class IcCommunitySelfOrganizationPersonnelDTO implements Serializable {
/**
*
*/
@JsonIgnore
private Integer delFlag;
/**
* 乐观锁
*/
@JsonIgnore
private String revision;
/**
* 创建人
*/
@JsonIgnore
private String createdBy;
/**
* 创建时间
*/
@JsonIgnore
private Date createdTime;
/**
* 更新人
*/
@JsonIgnore
private String updatedBy;
/**
* 更新时间
*/
@JsonIgnore
private Date updatedTime;
}

9
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcUserDemandRecDTO.java

@ -150,6 +150,15 @@ public class IcUserDemandRecDTO implements Serializable {
*/
private Integer awardPoint;
/**
* 来源[需求录入:demand 事件管理:ic_event]
*/
private String origin;
/**
* 来源Id[目前只有来源事件管理的有值]
*/
private String originId;
/**
* 删除标识0.未删除 1.已删除
*/

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

@ -1,7 +1,9 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.epmet.dto.IcCommunitySelfOrganizationPersonnelDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@ -18,36 +20,40 @@ public class AddCommunitySelfOrganizationFormDTO implements Serializable {
private static final long serialVersionUID = -4996925380900678065L;
public interface AddCommunitySelfOrganizationForm{}
public interface AddCommunitySelfOrganizationForm extends CustomerClientShowGroup {}
/**
* 组织名称
*/
@NotBlank(message = "organizationName不能为空",groups = AddCommunitySelfOrganizationForm.class)
@NotBlank(message = "组织名称不能为空",groups = AddCommunitySelfOrganizationForm.class)
@Length(max = 50,message = "组织名称最多输入50字",groups = AddCommunitySelfOrganizationForm.class)
private String organizationName;
@NotBlank(message = "分类不能为空", groups = AddCommunitySelfOrganizationForm.class)
private String categoryCode;
/**
* 组织人数
*/
@NotNull(message = "organizationPersonCount不能为空",groups = AddCommunitySelfOrganizationForm.class)
@NotNull(message = "组织人数不能为空",groups = AddCommunitySelfOrganizationForm.class)
private Integer organizationPersonCount;
/**
* 负责人姓名
*/
@NotBlank(message = "principalName不能为空",groups = AddCommunitySelfOrganizationForm.class)
@NotBlank(message = "负责人不能为空",groups = AddCommunitySelfOrganizationForm.class)
private String principalName;
/**
* 负责人电话
*/
@NotBlank(message = "principalPhone不能为空",groups = AddCommunitySelfOrganizationForm.class)
@NotBlank(message = "联系电话",groups = AddCommunitySelfOrganizationForm.class)
private String principalPhone;
/**
* 服务事项
*/
@NotBlank(message = "serviceItem不能为空",groups = AddCommunitySelfOrganizationForm.class)
@NotBlank(message = "服务事项不能为空",groups = AddCommunitySelfOrganizationForm.class)
private String serviceItem;
/**
@ -63,6 +69,7 @@ public class AddCommunitySelfOrganizationFormDTO implements Serializable {
/**
* 经度
*/
@NotBlank(message = "位置坐标不能为空",groups = AddCommunitySelfOrganizationForm.class)
private String longitude;
/**

33
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CategorySelfOrgFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class CategorySelfOrgFormDTO extends PageFormDTO implements Serializable {
/**
* 默认展示全部此列可空
*/
private String categoryCode;
/**
* token中获取
*/
@NotBlank(message = "customerId不能为空",groups = PageFormDTO.AddUserInternalGroup.class)
private String customerId;
/**
* token中获取
*/
@NotBlank(message = "staffId不能为空",groups = PageFormDTO.AddUserInternalGroup.class)
private String staffId;
/**
* 当前登录用户所属组织id
*/
private String agencyId;
}

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

@ -48,4 +48,6 @@ public class CommunitySelfOrganizationListFormDTO implements Serializable {
private Integer ranking;
private String remark;
private String categoryCode;
}

6
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/EditCommunitySelfOrganizationFormDTO.java

@ -26,6 +26,12 @@ public class EditCommunitySelfOrganizationFormDTO implements Serializable {
@NotBlank(message = "organizationName不能为空",groups = EditCommunitySelfOrganizationForm.class)
private String organizationName;
/**
* 分类编码
*/
@NotBlank(message = "categoryCode不能为空",groups = EditCommunitySelfOrganizationForm.class)
private String categoryCode;
/**
* 组织人数
*/

24
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyTypepercentFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyTypepercentFormDTO {
private static final long serialVersionUID = -3833404131164761022L;
/**
* 组织id
*/
@NotBlank(message = "组织id不能为空")
private String agencyId;
private String customerId;
}

27
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/5/17 18:45
* @DESC
*/
@Data
public class PartyUnitListFormDTO implements Serializable {
private static final long serialVersionUID = 8059924463686783668L;
/**
* 联建单位IDs
*/
private List<String> partyUnitIds;
/**
* 社区自组织IDs
*/
private List<String> communitySelfIds;
}

73
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListbriefFormDTO.java

@ -0,0 +1,73 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyUnitListbriefFormDTO implements Serializable {
private static final long serialVersionUID = -2776705671944626707L;
/**
* 页码
*/
@NotNull
@Min(1)
private Integer pageNo;
/**
* 每页记录数
*/
@NotNull
private Integer pageSize;
/**
* 网格id
*/
// private String gridId;
/**
* 组织id
*/
@NotBlank(message = "组织id不能为空")
private String agencyId;
/**
* 单位名称
*/
private String unitName;
/**
* 服务事项
*/
private String serviceMatter;
/**
* 分类
*/
private String type;
/**
* 联系人
*/
private String contact;
/**
* 联系人电话
*/
private String contactMobile;
private String customerId;
}

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

@ -0,0 +1,20 @@
package com.epmet.dto.form.demand;
import lombok.Data;
import java.io.Serializable;
@Data
public class IcEventCommentToDemandFromDTO implements Serializable {
private static final long serialVersionUID = 591380873862126679L;
//客户Id
private String customerId;
//需求Id
private String demandRecId;
//评价满意度【 不满意:bad、基本满意:good、非常满意:perfect 】
private String satisfaction;
//当前操作工作人员Id
private String staffId;
}

24
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ReportDemandFormDTO.java

@ -109,4 +109,28 @@ public class ReportDemandFormDTO implements Serializable {
*/
private String latitude;
/**
* 来源[需求录入:demand 事件管理:ic_event]
*/
private String origin;
/**
* 来源Id[目前只有来源事件管理的有值]
*/
private String originId;
/**
* 服务方类型志愿者volunteer社会组织social_org社区自组织community_org区域党建单位party_unit
*/
private String serviceType;
/**
* 志愿者居民端爱心互助的志愿者userId
*/
private String serverId;
/**
* 服务方姓名
*/
private String serverName;
}

30
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceListFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form.demand;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
@Data
public class ServiceListFormDTO extends PageFormDTO implements Serializable {
@NotBlank(message = "type不能为空:志愿者:volunteer;社区自组织:community_org", groups = PageFormDTO.AddUserInternalGroup.class)
private String type;
/**
* 服务方id ,
* 可能是来源于多元主题分析里的社区自组织也可能是来源于志愿者
*/
@NotBlank(message = "serverId不能为空", groups = PageFormDTO.AddUserInternalGroup.class)
private String serverId;
private String customerId;
/**
* volunteer时传入此参数
*/
private String idCard;
private List<String> serverIds;
}

7
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java

@ -79,4 +79,11 @@ public class UserDemandPageFormDTO extends PageFormDTO implements Serializable {
* 搜索关键词
*/
private String keyword;
/**
* 需求id
*/
private String demandRecId;
}

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

@ -33,6 +33,20 @@ public class CommunitySelfOrganizationListDTO implements Serializable {
*/
private String organizationName;
/**
* 分类来源于字典表dictType=self_org_category;
*/
private String categoryCode;
/**
* 分类名称
*/
private String categoryName;
/**
* 分类的颜色 用于多元数据分析-地图
*/
private String color;
/**
* 服务事项
*/

33
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyTypepercentResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PartyTypepercentResultDTO {
private static final long serialVersionUID = -5256798094892121661L;
/**
* 联建单位类型
*/
private String label;
/**
* 数量
*/
private Integer value;
/**
* 联建单位编码
*/
private String code;
/**
* 联建单位数量占比(%)
*/
private String percent;
}

32
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/5/17 18:45
* @DESC
*/
@Data
public class PartyUnitListResultDTO implements Serializable {
private static final long serialVersionUID = 8059924463686783008L;
/**
* 协办单位ID
*/
private String assistanceUnitId;
/**
* 协办单位名字
*/
private String assistanceUnitName;
/**
* 协办单位类型1社区自组织2联建单位
*/
private String assistanceUnitType;
}

56
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListbrieResultDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyUnitListbrieResultDTO implements Serializable {
private static final long serialVersionUID = -300315089751537091L;
/**
* id
*/
private String id;
/**
* 所属网格
*/
// private String gridName;
/**
* 所属网格id
*/
// private String gridId;
/**
* 分类
*/
private String type;
/**
* 服务事项
*/
private String serviceMatter;
/**
* 单位名称
*/
private String unitName;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
}

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

Loading…
Cancel
Save