wxz 3 years ago
parent
commit
21f116c013
  1. 9
      doc/epmet-cloud.md
  2. 9
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/EpmetAdminOpenFeignClient.java
  3. 12
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/feign/fallback/EpmetAdminOpenFeignClientFallback.java
  4. 13
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java
  5. 2
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java
  6. 37
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java
  7. 103
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.27__add_dict_for_langchao.sql
  8. 3
      epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
  9. 3
      epmet-auth/src/main/resources/logback-spring.xml
  10. 2
      epmet-cloud-generator/src/main/resources/application.yml
  11. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java
  12. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  13. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java
  14. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  15. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IdCardRegexUtils.java
  16. 3
      epmet-gateway/src/main/resources/logback-spring.xml
  17. 35
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/CustomerStaffDTO.java
  18. 9
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java
  19. 39
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java
  20. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java
  21. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  22. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml
  23. 3
      epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
  24. 3
      epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
  25. 3
      epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml
  26. 15
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java
  27. 3
      epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml
  28. 3
      epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml
  29. 3
      epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml
  30. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml
  31. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordV2Dao.xml
  32. 3
      epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml
  33. 52
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/OrganizationMessageFormDTO.java
  34. 63
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/OrganizationMessagePublishRangeDTO.java
  35. 30
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrganizationMessagePageFormDTO.java
  36. 84
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java
  37. 5
      epmet-module/epmet-message/epmet-message-server/pom.xml
  38. 76
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/OrganizationMessageController.java
  39. 36
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/OrganizationMessageDao.java
  40. 16
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/OrganizationMessagePublishRangeDao.java
  41. 82
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java
  42. 56
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessagePublishRangeEntity.java
  43. 47
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/OrganizationMessageService.java
  44. 219
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java
  45. 3
      epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml
  46. 66
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.xml
  47. 24
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessagePublishRangeDao.xml
  48. 3
      epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml
  49. 3
      epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml
  50. 3
      epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml
  51. 3
      epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml
  52. 3
      epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
  53. 3
      epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
  54. 3
      epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml
  55. 11
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java
  56. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
  57. 16
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
  58. 49
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java
  59. 45
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java
  60. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java
  61. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java
  62. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java
  63. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java
  64. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java
  65. 17
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java
  66. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java
  67. 33
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java
  68. 33
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/ChooseGridFormDTO.java
  69. 80
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/CommunityBuildingManagerPageFormDTO.java
  70. 13
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/CommunityLoginFormDTO.java
  71. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java
  72. 115
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityBuildingManagerDTO.java
  73. 12
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java
  74. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java
  75. 19
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcNeighborHoodDetailDTO.java
  76. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcNeighborHoodResultDTO.java
  77. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java
  78. 137
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/yt/CommunityBuildingManagerResultDTO.java
  79. 13
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/yt/CommunityLoginResultDTO.java
  80. 275
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CommunityBuildingManagerController.java
  81. 62
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  82. 112
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
  83. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java
  84. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java
  85. 230
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java
  86. 103
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java
  87. 75
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffLoginLogController.java
  88. 50
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CommunityBuildingManagerDao.java
  89. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  90. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  91. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
  92. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodPropertyDao.java
  93. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java
  94. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffLoginLogDao.java
  95. 89
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CommunityBuildingManagerEntity.java
  96. 27
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java
  97. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java
  98. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
  99. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
  100. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java

9
doc/epmet-cloud.md

@ -13,4 +13,11 @@ PS:目前正在测试通过负载均衡器和本地环境变量实现动态修
```
如何安装本地jar到本地仓库:
mvn install:install-file -DgroupId=com.inspurcloud -DartifactId=oss -D version=1.1.8 -Dpackaging=jar -Dfile=inspur-cloud-oss-sdk-1.1.8.jar
mvn install:install-file -DgroupId=com.inspurcloud -DartifactId=oss -D version=1.1.8 -Dpackaging=jar -Dfile=inspur-cloud-oss-sdk-1.1.8.jar
## 私有化部署
##### 需要开放哪些域名
- epmet-cloud.elinkservice.cn 微信交互代理
- dysmsapi.aliyuncs.com 阿里云短信

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

@ -105,4 +105,13 @@ public interface EpmetAdminOpenFeignClient {
@PostMapping("/sys/dict/data/dictDataList/{dictType}")
Result<List<SysDictDataDTO>> dictDataList(@PathVariable("dictType") String dictType);
/**
* 字典下拉框
* 根据dictType查询字典
* @param dictType
* @return
*/
@PostMapping("/sys/dict/data/dictOption/{dictType}")
public Result<List<OptionResultDTO>> getDictOption(@PathVariable("dictType")String dictType);
}

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

@ -65,4 +65,16 @@ public class EpmetAdminOpenFeignClientFallback implements EpmetAdminOpenFeignCli
public Result<List<SysDictDataDTO>> dictDataList(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_ADMIN_SERVER, "dictDataList", dictType);
}
/**
* 字典下拉框
* 根据dictType查询字典
*
* @param dictType
* @return
*/
@Override
public Result<List<OptionResultDTO>> getDictOption(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_ADMIN_SERVER, "getDictOption", dictType);
}
}

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

@ -20,6 +20,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.service.SysDictDataService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -118,6 +119,18 @@ public class SysDictDataController {
return new Result<List<OptionResultDTO>>().ok(sysDictDataService.getNationOption());
}
/**
* 字典下拉框接口
* @param dictType
* @return
*/
@PostMapping("dictOption/{dictType}")
public Result<List<OptionResultDTO>> getDictOption(@PathVariable("dictType")String dictType) {
if(StringUtils.isBlank(dictType)){
return new Result<>();
}
return new Result<List<OptionResultDTO>>().ok(sysDictDataService.getDictOption(dictType));
}
/**
* @Description 人员关系
* @Param

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

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

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

@ -23,17 +23,18 @@ import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.TreeUtils;
import com.epmet.dao.SysDictDataDao;
import com.epmet.dao.SysDictTypeDao;
import com.epmet.dto.SysDictDataDTO;
import com.epmet.entity.SysDictDataEntity;
import com.epmet.entity.SysDictTypeEntity;
import com.epmet.service.SysDictDataService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -43,6 +44,9 @@ import java.util.stream.Collectors;
*/
@Service
public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysDictDataEntity> implements SysDictDataService {
@Autowired
private SysDictTypeDao sysDictTypeDao;
@Autowired
private RedisUtils redisUtils;
@ -270,6 +274,9 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
@Override
public Map<String, String> dictMap(String dictType) {
List<DictListResultDTO> resultDTOList = baseDao.selectDictList(dictType);
if(CollectionUtils.isEmpty(resultDTOList)){
return new HashMap<>();
}
return resultDTOList.stream().collect(Collectors.toMap(DictListResultDTO::getValue, DictListResultDTO::getLabel));
}
@ -284,4 +291,28 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
return baseDao.selectDictDataList(dictType);
}
/**
* 传入dictType返回字典列表
* @param dictType
* @return
*/
@Override
public List<OptionResultDTO> getDictOption(String dictType) {
LambdaQueryWrapper<SysDictTypeEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictTypeEntity::getDictType,dictType);
SysDictTypeEntity sysDictTypeEntity=sysDictTypeDao.selectOne(queryWrapper);
if(null==sysDictTypeEntity){
return new ArrayList<>();
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId,sysDictTypeEntity.getId() );
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
return dto;
}).collect(Collectors.toList());
}
}

103
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.27__add_dict_for_langchao.sql

@ -0,0 +1,103 @@
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 ('1654829394234654722', 'yt_Householder_relationship_type', '与户主关系', '【烟台需求】居民信息-与户主关系(60)', 0, 0, 0, '1', '2023-05-06 20:44:07', '1', '2023-05-07 08:49:11');
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 ('1655017423142338562', 'yt_household_category', '户别', '【烟台需求】居住信息', 0, 0, 0, '1', '2023-05-07 09:11:17', '1', '2023-05-07 09:11:17');
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 ('1654803329994932225', 'yt_id_card_type', '证件类型', '【烟台需求】居民信息:证件类型;因烟台需求增加', 0, 0, 0, '1', '2023-05-06 19:00:33', '1', '2023-05-06 19:20:52');
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 ('1655017027942432770', 'yt_is_now_live', '是否现居住', '【烟台需求】居住信息', 0, 0, 0, '1', '2023-05-07 09:09:43', '1', '2023-05-07 09:09:43');
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 ('1654808342884466689', 'yt_key_point_user_type', '重点人群', '【烟台需求】:居民信息-重点人群', 0, 0, 0, '1', '2023-05-06 19:20:28', '1', '2023-05-06 19:21:01');
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 ('1654813824277757953', 'yt_politics_status', '政治面貌', '【烟台需求】居民信息-政治面貌', 0, 0, 0, '1', '2023-05-06 19:42:15', '1', '2023-05-06 19:42:15');
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 ('1654809078326312962', 'yt_population_type', '人口类型', '【烟台需求】居民信息-人口类型', 0, 0, 0, '1', '2023-05-06 19:23:24', '1', '2023-05-06 19:23:24');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654837838383628290', 1654829394234654722, '', 'di', '0', '', 47, 0, 0, '1', '2023-05-06 21:17:41', '1', '2023-05-06 21:17:41');
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 ('1654837906998247426', 1654829394234654722, '弟媳', 'dixi', '0', '', 48, 0, 0, '1', '2023-05-06 21:17:57', '1', '2023-05-06 21:17:57');
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 ('1654838406774734850', 1654829394234654722, '独生女', 'dushegnnv', '0', '', 15, 0, 0, '1', '2023-05-06 21:19:56', '1', '2023-05-06 21:19:56');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654831181419200514', 1654829394234654722, '长子', 'eldest_son', '0', '', 7, 0, 0, '1', '2023-05-06 20:51:14', '1', '2023-05-06 20:51:14');
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 ('1654838530770944002', 1654829394234654722, '二女', 'ernv', '0', '', 15, 0, 0, '1', '2023-05-06 21:20:26', '1', '2023-05-06 21:20:26');
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 ('1654832115159351297', 1654829394234654722, '五子', 'five_son', '0', '', 11, 0, 0, '1', '2023-05-06 20:54:56', '1', '2023-05-06 20:58:20');
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 ('1654831817560899585', 1654829394234654722, '四子', 'fourth_son', '0', '', 10, 0, 0, '1', '2023-05-06 20:53:45', '1', '2023-05-06 20:58:10');
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 ('1654835876648927233', 1654829394234654722, '父母', 'fumu', '0', '', 25, 0, 0, '1', '2023-05-06 21:09:53', '1', '2023-05-06 21:09:53');
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 ('1654835969879916545', 1654829394234654722, '父亲', 'fuqin', '0', '', 26, 0, 0, '1', '2023-05-06 21:10:15', '1', '2023-05-06 21:10:15');
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 ('1654836121109741570', 1654829394234654722, '公公', 'gonggong', '0', '', 28, 0, 0, '1', '2023-05-06 21:10:51', '1', '2023-05-06 21:10: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 ('1654829713467326465', 1654829394234654722, '户主', 'householder', '0', '', 0, 0, 0, '1', '2023-05-06 20:45:24', '1', '2023-05-06 20:46:46');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654830288644816898', 1654829394234654722, '', 'hubby', '0', '', 3, 0, 0, '1', '2023-05-06 20:47:41', '1', '2023-05-06 20:47:41');
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 ('1654836063958155265', 1654829394234654722, '母亲', 'muqin', '0', '', 27, 0, 0, '1', '2023-05-06 21:10:38', '1', '2023-05-06 21:10:38');
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 ('1654838316743999489', 1654829394234654722, '', 'nv', '0', '', 15, 0, 0, '1', '2023-05-06 21:19:35', '1', '2023-05-06 21:19:35');
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 ('1654834501059821570', 1654829394234654722, '女婿', 'nvxu', '0', '', 13, 0, 0, '1', '2023-05-06 21:04:25', '1', '2023-05-06 21:04:25');
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 ('1654830916922195970', 1654829394234654722, '独生子', 'only_child', '0', '', 6, 0, 0, '1', '2023-05-06 20:50:11', '1', '2023-05-06 20:50:11');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654837022348230657', 1654829394234654722, '配偶的祖父母或外祖父母', 'peigoudezhufumu', '0', '', 39, 0, 0, '1', '2023-05-06 21:14:26', '1', '2023-05-06 21:14:26');
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 ('1654837542756499457', 1654829394234654722, '配偶的曾祖父母', 'peioudezengzhufuwu', '0', '', 42, 0, 0, '1', '2023-05-06 21:16:30', '1', '2023-05-06 21:16:30');
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 ('1654836180257816578', 1654829394234654722, '婆婆', 'popo', '0', '', 29, 0, 0, '1', '2023-05-06 21:11:05', '1', '2023-05-06 21:11:05');
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 ('1654837996081070082', 1654829394234654722, '迁出或死亡', 'qianchuhuosiwagn', '0', '', 49, 0, 0, '1', '2023-05-06 21:18:18', '1', '2023-05-06 21:18: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 ('1654834610833145857', 1654829394234654722, '其他儿子', 'qitaerzi', '0', '', 14, 0, 0, '1', '2023-05-06 21:04:51', '1', '2023-05-06 21:05:24');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654836584563556354', 1654829394234654722, '其他父母关系', 'qitafumuguanxi', '0', '', 34, 0, 0, '1', '2023-05-06 21:12:42', '1', '2023-05-06 21:12:42');
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 ('1654835786156818433', 1654829394234654722, '其他孙子或外孙子', 'qitasunzi', '0', '', 24, 0, 0, '1', '2023-05-06 21:09:31', '1', '2023-05-06 21:09:31');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654837613787037697', 1654829394234654722, '其他祖父母或外祖父母关系', 'qitazhufumu', '0', '', 43, 0, 0, '1', '2023-05-06 21:16:47', '1', '2023-05-06 21:16:47');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654838597863030785', 1654829394234654722, '三女', 'sannv', '0', '', 15, 0, 0, '1', '2023-05-06 21:20:42', '1', '2023-05-06 21:20:42');
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 ('1654837786110017537', 1654829394234654722, '', 'sao', '0', '', 46, 0, 0, '1', '2023-05-06 21:17:28', '1', '2023-05-06 21:17:28');
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 ('1654831393202192386', 1654829394234654722, '次子', 'second_son', '0', '', 8, 0, 0, '1', '2023-05-06 20:52:04', '1', '2023-05-06 20:52:04');
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 ('1654838660240719873', 1654829394234654722, '四女', 'sinv', '0', '', 15, 0, 0, '1', '2023-05-06 21:20:57', '1', '2023-05-06 21:20:57');
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 ('1654830757131796482', 1654829394234654722, '', 'son', '0', '', 5, 0, 0, '1', '2023-05-06 20:49:32', '1', '2023-05-06 20:49:32');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654829941117370370', 1654829394234654722, '配偶', 'spouse', '0', '', 1, 0, 0, '1', '2023-05-06 20:46:18', '1', '2023-05-06 20:46: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 ('1654835172760829953', 1654829394234654722, '孙女', 'sunnv', '0', '', 17, 0, 0, '1', '2023-05-06 21:07:05', '1', '2023-05-06 21:07:05');
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 ('1654835574851977217', 1654829394234654722, '孙女婿或外孙女婿', 'sunnvxu', '0', '', 21, 0, 0, '1', '2023-05-06 21:08:41', '1', '2023-05-06 21:08:41');
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 ('1654835098777501697', 1654829394234654722, '孙子', 'sunzi', '0', '', 16, 0, 0, '1', '2023-05-06 21:06:48', '1', '2023-05-06 21:06:48');
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 ('1654834879696420865', 1654829394234654722, '孙子、孙女或外孙子、 外孙女', 'szsnhwszwsn', '0', '', 15, 0, 0, '1', '2023-05-06 21:05:55', '1', '2023-05-06 21:06:05');
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 ('1654831637797224450', 1654829394234654722, '三子', 'third_son', '0', '', 9, 0, 0, '1', '2023-05-06 20:53:02', '1', '2023-05-06 20:57:59');
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 ('1654835238154223617', 1654829394234654722, '外孙女', 'waisunnv', '0', '', 18, 0, 0, '1', '2023-05-06 21:07:21', '1', '2023-05-06 21:07:21');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654835506849726465', 1654829394234654722, '外媳妇或外孙媳妇', 'waisunxifu', '0', '', 20, 0, 0, '1', '2023-05-06 21:08:25', '1', '2023-05-06 21:08:25');
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 ('1654835316738703362', 1654829394234654722, '外孙子', 'waisunzi', '0', '', 19, 0, 0, '1', '2023-05-06 21:07:40', '1', '2023-05-06 21:07: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 ('1654836879225995265', 1654829394234654722, '外祖父', 'waizhufu', '0', '', 37, 0, 0, '1', '2023-05-06 21:13:52', '1', '2023-05-06 21:13:52');
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 ('1654836936633434114', 1654829394234654722, '外祖母', 'waizhumu', '0', '', 38, 0, 0, '1', '2023-05-06 21:14:06', '1', '2023-05-06 21:14:06');
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 ('1654830377236905985', 1654829394234654722, '', 'wife', '0', '', 4, 0, 0, '1', '2023-05-06 20:48:02', '1', '2023-05-06 20:48:09');
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 ('1654837736759836673', 1654829394234654722, '', 'xiong', '0', '', 45, 0, 0, '1', '2023-05-06 21:17:16', '1', '2023-05-06 21:17:16');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654837671941062658', 1654829394234654722, '兄弟姐妹', 'xiongdijiemei', '0', '', 44, 0, 0, '1', '2023-05-06 21:17:01', '1', '2023-05-06 21:17:01');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654836453831294978', 1654829394234654722, '养父或继父', 'yangfuhuojifu', '0', '', 32, 0, 0, '1', '2023-05-06 21:12:11', '1', '2023-05-06 21:12:11');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654836517219811330', 1654829394234654722, '养母或继母', 'yangmuhuojimu', '0', '', 33, 0, 0, '1', '2023-05-06 21:12:26', '1', '2023-05-06 21:12:26');
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 ('1654836243453394945', 1654829394234654722, '岳父', 'yuefu', '0', '', 30, 0, 0, '1', '2023-05-06 21:11:20', '1', '2023-05-06 21:11:31');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654836362152198145', 1654829394234654722, '岳母', 'yuemu', '0', '', 31, 0, 0, '1', '2023-05-06 21:11:49', '1', '2023-05-06 21:11:49');
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 ('1654834368284934145', 1654829394234654722, '养子或继子', 'yzhjz', '0', '', 12, 0, 0, '1', '2023-05-06 21:03:53', '1', '2023-05-06 21:04:02');
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 ('1654835725985333249', 1654829394234654722, '曾孙女或曾外孙女', 'zengsunnv', '0', '', 23, 0, 0, '1', '2023-05-06 21:09:17', '1', '2023-05-06 21:09:17');
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 ('1654835645924458497', 1654829394234654722, '曾孙子或曾外孙子', 'zengsunzi', '0', '', 22, 0, 0, '1', '2023-05-06 21:08:58', '1', '2023-05-06 21:08: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 ('1654837100391645185', 1654829394234654722, '曾祖父', 'zengzhufu', '0', '', 40, 0, 0, '1', '2023-05-06 21:14:45', '1', '2023-05-06 21:14:45');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654837458128027649', 1654829394234654722, '曾祖母', 'zengzhumu', '0', '', 41, 0, 0, '1', '2023-05-06 21:16:10', '1', '2023-05-06 21:16:10');
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 ('1654838466149302273', 1654829394234654722, '长女', 'zhangnv', '0', '', 15, 0, 0, '1', '2023-05-06 21:20:10', '1', '2023-05-06 21:20:10');
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 ('1654836710568837121', 1654829394234654722, '祖父', 'zhufu', '0', '', 35, 0, 0, '1', '2023-05-06 21:13:12', '1', '2023-05-06 21:13:12');
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 ('1654836785378443265', 1654829394234654722, '祖母', 'zhumu', '0', '', 36, 0, 0, '1', '2023-05-06 21:13:30', '1', '2023-05-06 21:13:30');
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 ('1654836652540641281', 1654829394234654722, '祖母或外祖母', 'zhumuhuowaizhumu', '0', '', 34, 0, 0, '1', '2023-05-06 21:12:58', '1', '2023-05-06 21:12: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 ('1655017525068120065', 1655017423142338562, '家庭户', 'jiatinghu', '0', '家庭户', 1, 0, 0, '1', '2023-05-07 09:11:41', '1', '2023-05-07 09:12:12');
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 ('1655017594743898113', 1655017423142338562, '集体户', 'jitihu', '0', '集体户', 2, 0, 0, '1', '2023-05-07 09:11:58', '1', '2023-05-07 09:11: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 ('1655017720258445313', 1655017423142338562, '空挂户', 'kongguahu', '0', '空挂户', 3, 0, 0, '1', '2023-05-07 09:12:28', '1', '2023-05-07 09:12:28');
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 ('1655017773593214977', 1655017423142338562, '团结户', 'tuanjiehu', '0', '团结户', 4, 0, 0, '1', '2023-05-07 09:12:41', '1', '2023-05-07 09:12:41');
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 ('1654803510186426370', 1654803329994932225, '身份证号', '1', '0', '身份证号', 1, 0, 0, '1', '2023-05-06 19:01:16', '1', '2023-05-06 19:05:20');
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 ('1654803553832353793', 1654803329994932225, '护照', '2', '0', '护照', 2, 0, 0, '1', '2023-05-06 19:01:27', '1', '2023-05-06 19:01: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 ('1654803595087527937', 1654803329994932225, '港澳通行证', '3', '0', '港澳通行证', 3, 0, 0, '1', '2023-05-06 19:01:36', '1', '2023-05-06 19:01:36');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654803649835778049', 1654803329994932225, '军人证', '4', '0', '军人证', 4, 0, 0, '1', '2023-05-06 19:01:50', '1', '2023-05-06 19:01:50');
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 ('1654803737236684802', 1654803329994932225, '其他', '6', '0', '其他', 6, 0, 0, '1', '2023-05-06 19:02:10', '1', '2023-05-06 19:02:10');
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 ('1654803693234241537', 1654803329994932225, '台胞证', '5', '0', '台胞证', 5, 0, 0, '1', '2023-05-06 19:02:00', '1', '2023-05-06 19:02:00');
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 ('1655017197153239042', 1655017027942432770, '', '0', '0', '', 2, 0, 0, '1', '2023-05-07 09:10:23', '1', '2023-05-07 09:10:23');
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 ('1655017153138212865', 1655017027942432770, '', '1', '0', '', 1, 0, 0, '1', '2023-05-07 09:10:13', '1', '2023-05-07 09:10:13');
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 ('1654808917751578626', 1654808342884466689, '监管对象', 'jianguanduixiang', '0', '监管对象', 4, 0, 0, '1', '2023-05-06 19:22:46', '1', '2023-05-06 19:22:46');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654808584195358722', 1654808342884466689, '', 'no', '0', '', 1, 0, 0, '1', '2023-05-06 19:21:26', '1', '2023-05-06 20:15:33');
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 ('1654808858024689665', 1654808342884466689, '视线对象', 'shixianduixiang', '0', '', 3, 0, 0, '1', '2023-05-06 19:22:31', '1', '2023-05-06 19:22:31');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654808655167176705', 1654808342884466689, '重点人员', 'zhongdianrenyuan', '0', '', 2, 0, 0, '1', '2023-05-06 19:21:43', '1', '2023-05-06 19:21:43');
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 ('1654815948533350402', 1654813824277757953, '九三学社社员', 'jsxssy', '0', '九三学社社员', 11, 0, 0, '1', '2023-05-06 19:50:42', '1', '2023-05-06 19:50:42');
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 ('1654814620180496385', 1654813824277757953, '群众', 'qunzhong', '0', '群众', 1, 0, 0, '1', '2023-05-06 19:45:25', '1', '2023-05-06 19:45:25');
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 ('1654816041563013121', 1654813824277757953, '台湾民主自治同盟盟员', 'twmzzztmmy', '0', '台湾民主自治同盟盟员', 12, 0, 0, '1', '2023-05-06 19:51:04', '1', '2023-05-06 19:51:04');
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 ('1654816151323754497', 1654813824277757953, '无党派民主人士', 'wdpmzrs', '0', '无党派民主人士', 13, 0, 0, '1', '2023-05-06 19:51:30', '1', '2023-05-06 19:51:30');
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 ('1654814740867399682', 1654813824277757953, '中国共产党党员', 'zggcddy', '0', '中国共产党党员', 2, 0, 0, '1', '2023-05-06 19:45:54', '1', '2023-05-06 19:45:54');
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 ('1654814827379113986', 1654813824277757953, '中国共产党预备党员', 'zggcdybdy', '0', '中国共产党预备党员', 3, 0, 0, '1', '2023-05-06 19:46:14', '1', '2023-05-06 19:46:14');
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 ('1654814930802262018', 1654813824277757953, '中国共产主义青年团团员', 'zggczyqntty', '0', '中国共产主义青年团团员', 4, 0, 0, '1', '2023-05-06 19:46:39', '1', '2023-05-06 19:46:39');
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 ('1654815140559405057', 1654813824277757953, '中国国民党革命委员会会员', 'zggmdgmwyhhy', '0', '中国国民党革命委员会会员', 5, 0, 0, '1', '2023-05-06 19:47:29', '1', '2023-05-06 19:47:29');
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 ('1654815461771788290', 1654813824277757953, '中国民主促进会会员', 'zgmzcjhhy', '0', '中国民主促进会会员', 8, 0, 0, '1', '2023-05-06 19:48:46', '1', '2023-05-06 19:48:46');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654815380884635650', 1654813824277757953, '中国民主建国会会员', 'zgmzghhy', '0', '中国民主建国会会员', 7, 0, 0, '1', '2023-05-06 19:48:26', '1', '2023-05-06 19:48:26');
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 ('1654815285199978497', 1654813824277757953, '中国民主同盟盟员', 'zgmztmmy', '0', '中国民主同盟盟员', 6, 0, 0, '1', '2023-05-06 19:48:04', '1', '2023-05-06 19:48:04');
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 ('1654815553366999041', 1654813824277757953, '中国农工民主党党员', 'zgngmzddy', '0', '中国农工民主党党员', 9, 0, 0, '1', '2023-05-06 19:49:08', '1', '2023-05-06 19:49:08');
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 ('1654815880791146497', 1654813824277757953, '中国致公党党员', 'zgzgddy', '0', '中国致公党党员', 10, 0, 0, '1', '2023-05-06 19:50:26', '1', '2023-05-06 19:50:26');
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 ('1654813111699062786', 1654809078326312962, '常住人口', 'changzhurenkou', '0', '常住人口', 2, 0, 0, '1', '2023-05-06 19:39:25', '1', '2023-05-06 19:39:25');
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 ('1654813223993163777', 1654809078326312962, '户籍常住人口', 'hujichangzhurenkou', '0', '户籍常住人口', 3, 0, 0, '1', '2023-05-06 19:39:52', '1', '2023-05-06 19:39:52');
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 ('1654812924658270210', 1654809078326312962, '户籍人口', 'hujirenkou', '0', '户籍人口', 1, 0, 0, '1', '2023-05-06 19:38:41', '1', '2023-05-06 19:38:41');
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 ('1654813508635410433', 1654809078326312962, '境外人口', 'jingwairenkou', '0', '境外人口', 7, 0, 0, '1', '2023-05-06 19:41:00', '1', '2023-05-06 19:41:00');
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 ('1654813451265720321', 1654809078326312962, '空挂人口', 'kongguarenkou', '0', '空挂人口', 6, 0, 0, '1', '2023-05-06 19:40:46', '1', '2023-05-06 19:40:46');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1654813283262873601', 1654809078326312962, '流动人口', 'liudongrenkou', '0', '流动人口', 4, 0, 0, '1', '2023-05-06 19:40:06', '1', '2023-05-06 19:40:06');
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 ('1654813676109774849', 1654809078326312962, '其他', 'other', '0', '其他', 9, 0, 0, '1', '2023-05-06 19:41:40', '1', '2023-05-06 19:41: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 ('1654813338686406658', 1654809078326312962, '外出人口', 'waichurenkou', '0', '外出人口', 5, 0, 0, '1', '2023-05-06 19:40:20', '1', '2023-05-06 19:40:20');
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 ('1654813576394391553', 1654809078326312962, '未落户人口', 'weiluohurenkou', '0', '未落户人口', 8, 0, 0, '1', '2023-05-06 19:41:16', '1', '2023-05-06 19:41:16');

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

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/admin"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/admin"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>

3
epmet-auth/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/auth"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/auth"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

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

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

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

@ -22,6 +22,15 @@ public class CustomerStaffInfoCacheResult implements Serializable {
*/
private String agencyId;
/**
* agencyId的上级
*/
private String pid;
/**
* 工作人员所属组织的org_id_path
*/
private String orgIdPath;
/**
* 工作人员所属组织ID的pids
*/

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

@ -34,6 +34,10 @@ public enum DictTypeEnum {
TRAFFIC_TYPE("traffic_type", "交通方式", 36),
SOJOURN_HISTORY("sojourn_history", "7天内旅居史情况", 37),
TRIP_DATA_TYPE("trip_data_type", "行程记录类型", 39),
YT_KEY_POINT_USER_TYPE("yt_key_point_user_type","重点人群",40),
YT_POPULATION_TYPE("yt_population_type","人口类型",41),
YT_POLITICS_STATUS("yt_politics_status","政治面貌",42),
YT_ID_CARD_TYPE("yt_id_card_type","证件类型",43),
;
private final String code;

9
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java

@ -21,7 +21,14 @@ public class CustomerStaffInfoCache implements Serializable {
* 工作人员所属组织ID
*/
private String agencyId;
/**
* agencyId的上级
*/
private String pid;
/**
* 工作人员所属组织的org_id_path
*/
private String orgIdPath;
/**
* 工作人员所属组织ID的pids
*/

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

@ -22,6 +22,8 @@ import org.joda.time.format.DateTimeFormatter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@ -1112,4 +1114,39 @@ public class DateUtils {
cal.setTime(date);
return str.contains(String.valueOf(cal.get(Calendar.DAY_OF_WEEK)));
}
/**
* @description: java.time.LocalDate转Date
* @param localDate:
* @return
* @author: WangXianZhang
* @date: 2023/5/4 3:00 PM
*/
public static Date localDate2Date(java.time.LocalDate localDate) {
Instant instant = localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant);
}
/**
* @description: java.time.LocalDateTime转Date
* @param localDate:
* @return
* @author: WangXianZhang
* @date: 2023/5/4 3:00 PM
*/
public static Date localDateTime2Date(java.time.LocalDateTime localDate) {
Instant instant = localDate.atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant);
}
/**
* @description: date转化为DateTime
* @param date:
* @return
* @author: WangXianZhang
* @date: 2023/5/4 3:04 PM
*/
public static java.time.LocalDateTime date2LocalDateTime(Date date) {
return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
}
}

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/IdCardRegexUtils.java

@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.Period;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -56,6 +57,7 @@ public class IdCardRegexUtils {
private String birthdayDay;
private String sex;
private Integer age;
private LocalDate birthday;
}
/**
@ -122,17 +124,18 @@ public class IdCardRegexUtils {
String month = matcher.group("month");
String day = matcher.group("day");
String sex = matcher.group("sex");
LocalDate birthday;
// ------- 年龄Start----------
Integer age;
try {
LocalDate birthday = LocalDate.of(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
birthday = LocalDate.of(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
age = Period.between(birthday, LocalDate.now()).getYears();
} catch (DateTimeException e) {
throw new EpmetException("身份证号解析年龄失败:" + ExceptionUtils.getErrorStackTrace(e));
}
// ------- 年龄End----------
return new ParsedContent(year, month, day, sex, age);
return new ParsedContent(year, month, day, sex, age, birthday);
}
// 其他类型暂时不可解析

3
epmet-gateway/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/gateway"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gateway"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

35
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/CustomerStaffDTO.java

@ -134,4 +134,39 @@ public class CustomerStaffDTO implements Serializable {
*/
private String password;
/**
* 烟台用当前登录用户
*/
private String currentUserId;
/**
* 烟台需求党组织职务
*/
private String partyPosition;
/**
* 烟台需求村居委员职务
*/
private String viliagePosition;
/**
* 烟台需求工作职责
*/
private String duty;
/**
* 烟台需求备注
*/
private String remark;
/**
* 文化程度
*/
private String culture;
/**
* 身份证
*/
private String idCard;
}

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

@ -20,7 +20,14 @@ public class CustomerStaffResultDTO implements Serializable {
* 工作人员所属组织ID
*/
private String agencyId;
/**
* agencyId的上级
*/
private String pid;
/**
* 工作人员所属组织的org_id_path
*/
private String orgIdPath;
/**
* 工作人员所属组织ID的pids
*/

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

@ -48,4 +48,43 @@ public class StaffDetailV2FormDTO implements Serializable {
private List<String> szsqRoles;
private String customerId;
/**
* 烟台用当前登录用户
*/
private String currentUserId;
/**
* 烟台需求党组织职务
*/
private String partyPosition;
/**
* 烟台需求村居委员职务
*/
private String viliagePosition;
/**
* 烟台需求工作职责
*/
private String duty;
/**
* 烟台需求备注
*/
private String remark;
/**
* 文化程度
*/
private String culture;
/**
* 身份证
*/
private String idCard;
/**
* 居住地址
*/
private String address;
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java

@ -268,7 +268,7 @@ public class EpmetUserController {
* remark:
*/
@PostMapping("getStaffInfo/{staffId}")
public Result getStaffInfo(@PathVariable(name = "staffId") String staffId){
public Result<CustomerStaffResultDTO> getStaffInfo(@PathVariable(name = "staffId") String staffId){
return new Result<CustomerStaffResultDTO>().ok(epmetUserService.getStaffInfo(staffId));
}

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

@ -18,10 +18,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.redis.common.bean.IcResiUserInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.IpUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.BadgeConstant;
import com.epmet.constant.NeighborhoodConstant;
import com.epmet.constant.OrgInfoConstant;
@ -650,6 +647,9 @@ public class EpmetUserServiceImpl implements EpmetUserService {
}
result.setStaffId(staffEntity.getUserId());
result.setAgencyId(agencyDTO.getId());
//新增pid,orgIdPath
result.setPid(agencyDTO.getPid());
result.setOrgIdPath(PidUtils.convertPid2OrgIdPath(agencyDTO.getId(),agencyDTO.getPids()));
result.setAgencyName(agencyDTO.getOrganizationName());
result.setAgencyPIds(agencyDTO.getPids());
result.setLevel(agencyDTO.getLevel());
@ -723,6 +723,14 @@ public class EpmetUserServiceImpl implements EpmetUserService {
formDTO.setPageNo(pageIndex);
//1.分页查询排好序的工作人员Id列表【原本1/2步可以用一个sql,但涉及2需要按1的顺序排序,sql复杂且效率低,所以拆开】
LinkedList<String> staffIds = customerStaffDao.selectOrderRole(formDTO);
if (staffIds!=null && formDTO.getStaffIds()!=null){
formDTO.getStaffIds().forEach(
staffId->{
if (!staffIds.contains(staffId)){
staffIds.add(staffId);
}
});
}
//2.批量查询工作人员信息,按传入顺序排序
if(CollectionUtils.isEmpty(staffIds)){
return new ArrayList<>();

3
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/data-aggregator"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/data-aggregator"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/data-report"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/data-report"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

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

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/data-statistical"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/data-statistical"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/activiti"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/activiti"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>

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

@ -83,4 +83,19 @@ public interface ImportTaskConstants {
* 未做核酸比对
*/
String IC_NAT_COMPARE_RECORD="ic_nat_compare_record";
/**
* 物业表ic_property_management
*/
String IC_PROPERTY_MANAGEMENT="ic_property_management";
/**
* 楼长单元长
*/
String COMMUNITY_BUILDING_MANAGER="community_building_manager";
/**
* 客户
*/
String BIZ_TYPE_CUSTOMER_STAFF="customer_staff";
}

3
epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/common-service"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/common-service"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/demo"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/demo"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>

3
epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/ext"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/ext"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/heart"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/heart"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

2
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordV2Dao.xml

@ -40,7 +40,7 @@
<if test='serviceTimeEnd != null and serviceTimeEnd != ""'>
AND sr.SERVICE_TIME_END <![CDATA[ <= ]]> #{serviceTimeEnd}
</if>
ORDER BY sr.CREATED_TIME DESC
ORDER BY sr.SERVICE_TIME_START DESC,sr.SERVICE_TIME_END DESC
</select>

3
epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/job"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/job"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

52
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/OrganizationMessageFormDTO.java

@ -0,0 +1,52 @@
package com.epmet.dto;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* 组织发布消息烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
@Data
public class OrganizationMessageFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
public interface AddShowGroup extends CustomerClientShowGroup {
}
/**
* 发布渠道0专属app
*/
@NotBlank(message = "发布渠道不能为空", groups = {AddShowGroup.class})
private String publishDitch;
/**
* 消息内容最多输入500
*/
@NotBlank(message = "内容不能为空", groups = {AddShowGroup.class})
@Length(max = 500, message = "内容输入500字", groups = {AddShowGroup.class})
private String content;
@Valid
@NotEmpty(message = "发布范围不能为空", groups = {AddShowGroup.class})
private List<OrganizationMessagePublishRangeDTO> rangeList;
/**
* 客户Id
*/
private String customerId;
/**
* 发布人staffId
*/
private String publishStaffId;
}

63
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/OrganizationMessagePublishRangeDTO.java

@ -0,0 +1,63 @@
package com.epmet.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 消息发布范围烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
@Data
public class OrganizationMessagePublishRangeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 消息id:organization_message.id
*/
private String messageId;
/**
* 组织或者网格id
*/
@NotBlank(message = "orgId不能为空",groups = {OrganizationMessageFormDTO.AddShowGroup.class})
private String orgId;
/**
* 组织agency网格grid
*/
@NotBlank(message = "orgType不能为空",groups = {OrganizationMessageFormDTO.AddShowGroup.class})
private String orgType;
/**
* org_id的父级
*/
private String pid;
/**
* org_id的全路径包含org_id
*/
private String orgIdPath;
/**
* 组织名称或者网格名称如果是网格名称存储的是XXX社区-XX网格
*/
private String orgName;
}

30
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrganizationMessagePageFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description 烟台消息管理列表查询入参
* @Author yzm
* @Date 2023/5/4 16:05
*/
@Data
public class OrganizationMessagePageFormDTO extends PageFormDTO {
/**
* 发布渠道0专属app
*/
private String publishDitch;
/**
* 发布范围组织id或者网格id
*/
private String orgId;
/**
* yyyy-MM-dd
*/
private String startDate;
/**
* yyyy-MM-dd
*/
private String endDate;
}

84
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java

@ -0,0 +1,84 @@
package com.epmet.dto.result;
import com.epmet.dto.OrganizationMessagePublishRangeDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description 烟台消息管理列表查询
* @Author yzm
* @Date 2023/5/4 16:06
*/
@Data
public class OrganizationMessageResultDTO {
/**
* 消息id
*/
private String messageId;
/**
* 发布渠道0专属app
*/
private String publishDitch;
/**
* 消息内容最多输入500
*/
private String content;
/**
* 发布范围
*/
private String publishRangeName;
/**
* 发布时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date publishTime;
/**
* 发布人staffId
*/
private String publishStaffId;
/**
* 发布人姓名
*/
private String publishStaffName;
/**
* 发布人所属组织id
*/
private String publishOrgId;
/**
* org_id_path
*/
private String publishOrgIdPath;
/**
* 发布人所属组织名称
*/
private String publishOrgName;
/**
* 发送结果
*/
private String sendMsgRes;
/**
* 共发送出多少条消息
*/
private Integer totalReceiver;
/**
* 发送完成时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date finishSendTime;
private List<OrganizationMessagePublishRangeDTO> rangeList;
}

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

@ -101,11 +101,6 @@
<artifactId>flyway-core</artifactId>
<!--<version>5.1.1</version>-->
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-third-client</artifactId>

76
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/OrganizationMessageController.java

@ -0,0 +1,76 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.OrganizationMessageFormDTO;
import com.epmet.dto.form.OrganizationMessagePageFormDTO;
import com.epmet.dto.result.OrganizationMessageResultDTO;
import com.epmet.service.OrganizationMessageService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 组织发布消息烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
@RestController
@RequestMapping("organization/message")
public class OrganizationMessageController {
@Autowired
private OrganizationMessageService organizationMessageService;
/**
* 列表查询
*
* @param formDTO
* @return
*/
@PostMapping("list")
public Result<PageData<OrganizationMessageResultDTO>> pageList(@RequestBody OrganizationMessagePageFormDTO formDTO) {
return new Result<PageData<OrganizationMessageResultDTO>>().ok(organizationMessageService.pageList(formDTO.getPageNo(), formDTO.getPageSize(),
formDTO.getPublishDitch(),
formDTO.getOrgId(),
formDTO.getStartDate(),
formDTO.getEndDate()));
}
/**
* 查询消息详情
*
* @param messageId
* @return
*/
@PostMapping("detail/{messageId}")
public Result<OrganizationMessageResultDTO> getDetail(@PathVariable("messageId") String messageId) {
if (StringUtils.isBlank(messageId)) {
return new Result<>();
}
return new Result<OrganizationMessageResultDTO>().ok(organizationMessageService.getDetail(messageId));
}
/**
* 发布消息
*
* @param formDTO
* @return 返回消息id
*/
@PostMapping("publish")
public Result publish(@LoginUser TokenDto tokenDto, @RequestBody OrganizationMessageFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setPublishStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, OrganizationMessageFormDTO.AddShowGroup.class);
String messageId=organizationMessageService.publish(formDTO);
// 发送消息 发布范围下有哪些网格,网格下所有的注册居民,每人发送一条消息
organizationMessageService.sendUserMsg(messageId,formDTO.getContent(),formDTO.getPublishStaffId(),formDTO.getRangeList(),formDTO.getCustomerId());
return new Result().ok(messageId);
}
}

36
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/OrganizationMessageDao.java

@ -0,0 +1,36 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.OrganizationMessageResultDTO;
import com.epmet.entity.OrganizationMessageEntity;
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 2023-05-04
*/
@Mapper
public interface OrganizationMessageDao extends BaseDao<OrganizationMessageEntity> {
/**
*
* @param staffOrgIdPath 工作人员所属组织的orgIdPath
* @param publishDitch 发布渠道0专属app
* @param orgId 发布范围组织id或者网格id
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
List<OrganizationMessageResultDTO> pageList(@Param("customerId")String customerId,
@Param("staffOrgIdPath") String staffOrgIdPath,
@Param("publishDitch")String publishDitch,
@Param("orgId")String orgId,
@Param("startDate")String startDate,
@Param("endDate")String endDate,
@Param("messageId")String messageId);
}

16
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/OrganizationMessagePublishRangeDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.OrganizationMessagePublishRangeEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 消息发布范围烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
@Mapper
public interface OrganizationMessagePublishRangeDao extends BaseDao<OrganizationMessagePublishRangeEntity> {
}

82
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java

@ -0,0 +1,82 @@
package com.epmet.entity;
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 2023-05-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("organization_message")
public class OrganizationMessageEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 发布渠道0专属app
*/
private String publishDitch;
/**
* 消息内容最多输入500
*/
private String content;
/**
* 发布人staffId
*/
private String publishStaffId;
/**
* 发布人姓名
*/
private String publishStaffName;
/**
* 发布人所属组织id
*/
private String publishOrgId;
/**
* org_id_path
*/
private String publishOrgIdPath;
/**
* 发布人所属组织名称
*/
private String publishOrgName;
/**
* 发布时间
*/
private Date publishTime;
/**
* 发送结果
* sending发送中failed失败success成功
*/
private String sendMsgRes;
/**
* 共发送出多少条消息
*/
private Integer totalReceiver;
/**
* 发送完成时间
*/
private Date finishSendTime;
}

56
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessagePublishRangeEntity.java

@ -0,0 +1,56 @@
package com.epmet.entity;
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 2023-05-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("organization_message_publish_range")
public class OrganizationMessagePublishRangeEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 消息id:organization_message.id
*/
private String messageId;
/**
* 组织或者网格id
*/
private String orgId;
/**
* 组织agency网格grid
*/
private String orgType;
/**
* org_id的父级
*/
private String pid;
/**
* org_id的全路径包含org_id
*/
private String orgIdPath;
/**
* 组织名称或者网格名称如果是网格名称存储的是XXX社区-XX网格
*/
private String orgName;
}

47
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/OrganizationMessageService.java

@ -0,0 +1,47 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.OrganizationMessageFormDTO;
import com.epmet.dto.OrganizationMessagePublishRangeDTO;
import com.epmet.dto.result.OrganizationMessageResultDTO;
import com.epmet.entity.OrganizationMessageEntity;
import java.util.List;
/**
* 组织发布消息烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
public interface OrganizationMessageService extends BaseService<OrganizationMessageEntity> {
/**
* 分页列表
* @param pageNo
* @param pageSize
* @param publishDitch 发布渠道0专属app
* @param orgId 发布范围组织id或者网格id
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
PageData<OrganizationMessageResultDTO> pageList(Integer pageNo, Integer pageSize, String publishDitch, String orgId, String startDate, String endDate);
/**
* 查询详情
* @param messageId
* @return
*/
OrganizationMessageResultDTO getDetail(String messageId);
/**
* 发布消息
* @param formDTO
* @return 返回消息id
*/
String publish(OrganizationMessageFormDTO formDTO);
void sendUserMsg(String messageId, String content, String publishStaffId, List<OrganizationMessagePublishRangeDTO> rangeList, String customerId);
}

219
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java

@ -0,0 +1,219 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.*;
import com.epmet.dao.OrganizationMessageDao;
import com.epmet.dao.OrganizationMessagePublishRangeDao;
import com.epmet.dao.UserMessageDao;
import com.epmet.dto.OrganizationMessageFormDTO;
import com.epmet.dto.OrganizationMessagePublishRangeDTO;
import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.form.RegisterRelationPageFormDTO;
import com.epmet.dto.result.OrganizationMessageResultDTO;
import com.epmet.entity.OrganizationMessageEntity;
import com.epmet.entity.OrganizationMessagePublishRangeEntity;
import com.epmet.entity.UserMessageEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.OrganizationMessageService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* 组织发布消息烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
@Slf4j
@Service
public class OrganizationMessageServiceImpl extends BaseServiceImpl<OrganizationMessageDao, OrganizationMessageEntity> implements OrganizationMessageService {
@Autowired
private OrganizationMessagePublishRangeDao organizationMessagePublishRangeDao;
@Autowired
private UserMessageDao userMessageDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* 分页列表
*
* @param pageNo
* @param pageSize
* @param publishDitch 发布渠道0专属app
* @param orgId 发布范围组织id或者网格id
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
@Override
public PageData<OrganizationMessageResultDTO> pageList(Integer pageNo, Integer pageSize, String publishDitch, String orgId, String startDate, String endDate) {
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(), EpmetRequestHolder.getLoginUserId());
if (null == staffInfoCacheResult) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "customerId:" + EpmetRequestHolder.getLoginUserCustomerId() + "staffId:" + EpmetRequestHolder.getLoginUserId(), "获取工作人员信息异常");
}
String staffOrgIdPath = PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds());
PageHelper.startPage(pageNo, pageSize);
List<OrganizationMessageResultDTO> list = baseDao.pageList(EpmetRequestHolder.getLoginUserCustomerId(),staffOrgIdPath, publishDitch, orgId, startDate, endDate,null);
PageInfo<OrganizationMessageResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal(),pageSize);
}
/**
* 查询详情
*
* @param messageId
* @return
*/
@Override
public OrganizationMessageResultDTO getDetail(String messageId) {
List<OrganizationMessageResultDTO> list = baseDao.pageList(EpmetRequestHolder.getLoginUserCustomerId(),null, null, null, null, null,messageId);
if(CollectionUtils.isNotEmpty(list)){
OrganizationMessageResultDTO resultDTO=list.get(NumConstant.ZERO);
LambdaQueryWrapper<OrganizationMessagePublishRangeEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(OrganizationMessagePublishRangeEntity::getMessageId,messageId)
.orderByAsc(OrganizationMessagePublishRangeEntity::getCreatedTime);
List<OrganizationMessagePublishRangeEntity> rangeList=organizationMessagePublishRangeDao.selectList(queryWrapper);
resultDTO.setRangeList(ConvertUtils.sourceToTarget(rangeList,OrganizationMessagePublishRangeDTO.class));
return resultDTO;
}
return null;
}
/**
* 发布消息
*
* @param formDTO
* @return 返回消息id
*/
@Transactional(rollbackFor = Exception.class)
@Override
public String publish(OrganizationMessageFormDTO formDTO) {
OrganizationMessageEntity messageEntity = ConvertUtils.sourceToTarget(formDTO, OrganizationMessageEntity.class);
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getPublishStaffId());
messageEntity.setPublishStaffName(staffInfoCacheResult.getRealName());
messageEntity.setPublishOrgId(staffInfoCacheResult.getAgencyId());
messageEntity.setPublishOrgIdPath(PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds()));
messageEntity.setPublishOrgName(staffInfoCacheResult.getAgencyName());
messageEntity.setPublishTime(new Date());
messageEntity.setSendMsgRes("sending");
baseDao.insert(messageEntity);
for (OrganizationMessagePublishRangeDTO dto : formDTO.getRangeList()) {
OrganizationMessagePublishRangeEntity rangeEntity = new OrganizationMessagePublishRangeEntity();
rangeEntity.setCustomerId(messageEntity.getCustomerId());
rangeEntity.setMessageId(messageEntity.getId());
rangeEntity.setOrgId(dto.getOrgId());
rangeEntity.setOrgType(dto.getOrgType());
if (OrgTypeEnum.GRID.getCode().equals(dto.getOrgType())) {
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getOrgId());
rangeEntity.setPid(gridInfoCache.getPid());
rangeEntity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(dto.getOrgId(), gridInfoCache.getPids()));
rangeEntity.setOrgName(gridInfoCache.getGridNamePath());
} else {
//if (OrgTypeEnum.AGENCY.getCode().equals(dto.getOrgType()))
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getOrgId());
rangeEntity.setPid(agencyInfoCache.getPid());
rangeEntity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(dto.getOrgId(), agencyInfoCache.getPids()));
rangeEntity.setOrgName(agencyInfoCache.getOrganizationName());
}
dto.setPid(rangeEntity.getPid());
dto.setOrgIdPath(rangeEntity.getOrgIdPath());
organizationMessagePublishRangeDao.insert(rangeEntity);
}
String messageId = messageEntity.getId();
return messageId;
}
@Async
@Override
public void sendUserMsg(String messageId, String content, String publishStaffId,List<OrganizationMessagePublishRangeDTO> rangeList, String customerId) {
String result = "success";
int totalMsg = NumConstant.ZERO;
try {
for (OrganizationMessagePublishRangeDTO rangeDto : rangeList) {
RegisterRelationPageFormDTO pageFormDTO=new RegisterRelationPageFormDTO();
pageFormDTO.setCustomerId(customerId);
pageFormDTO.setFirstRegister(NumConstant.ONE_STR);
pageFormDTO.setPageNo(NumConstant.ONE);
pageFormDTO.setPageSize(NumConstant.TWO);
// pageFormDTO.setPageSize(NumConstant.ONE_THOUSAND);
if (OrgTypeEnum.GRID.getCode().equals(rangeDto.getOrgType())) {
// 查询该网格下的注册居民
pageFormDTO.setGridId(rangeDto.getOrgId());
} else {
// 查询该组织下的注册居民
pageFormDTO.setAgencyIdPath(rangeDto.getOrgIdPath());
}
List<RegisterRelationDTO> list=null;
do {
Result<PageData<RegisterRelationDTO>> regRes = epmetUserOpenFeignClient.pageQueryRegisterUser(pageFormDTO);
list = regRes.getData().getList();
for (RegisterRelationDTO regUser : list) {
LambdaQueryWrapper<UserMessageEntity> queryWrapper=new LambdaQueryWrapper();
queryWrapper.eq(UserMessageEntity::getCustomerId,customerId)
.eq(UserMessageEntity::getTargetId,messageId)
.eq(UserMessageEntity::getUserId,regUser.getUserId());
UserMessageEntity origin=userMessageDao.selectOne(queryWrapper);
if(null==origin){
UserMessageEntity userMessageEntity = new UserMessageEntity();
userMessageEntity.setCustomerId(customerId);
userMessageEntity.setGridId(regUser.getGridId());
userMessageEntity.setUserId(regUser.getUserId());
userMessageEntity.setApp(AppClientConstant.APP_RESI);
userMessageEntity.setTitle("您有一条社区消息!");
userMessageEntity.setMessageContent(content);
userMessageEntity.setReadFlag(Constant.UNREAD);
userMessageEntity.setReferer(StrConstant.EPMETY_STR);
userMessageEntity.setMessageType("organization_message");
userMessageEntity.setTargetId(messageId);
userMessageEntity.setCreatedBy(publishStaffId);
userMessageEntity.setUpdatedBy(publishStaffId);
userMessageDao.insert(userMessageEntity);
totalMsg += 1;
}
}
pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE);
} while (CollectionUtils.isNotEmpty(list) && list.size() == pageFormDTO.getPageSize());
}
} catch (Exception e) {
log.error(String.format("messageId:%s,发送消息异常:%s", messageId, ExceptionUtils.getErrorStackTrace(e)));
result = "failed";
} finally {
LambdaUpdateWrapper<OrganizationMessageEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(OrganizationMessageEntity::getId, messageId)
.set(OrganizationMessageEntity::getSendMsgRes, result)
.set(OrganizationMessageEntity::getTotalReceiver, totalMsg)
.set(OrganizationMessageEntity::getFinishSendTime,new Date())
.set(OrganizationMessageEntity::getUpdatedTime,new Date());
baseDao.update(null, updateWrapper);
}
}
}

3
epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/message"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/message"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

66
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.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.OrganizationMessageDao">
<resultMap type="com.epmet.entity.OrganizationMessageEntity" id="organizationMessageMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="publishDitch" column="PUBLISH_DITCH"/>
<result property="content" column="CONTENT"/>
<result property="publishStaffId" column="PUBLISH_STAFF_ID"/>
<result property="publishStaffName" column="PUBLISH_STAFF_NAME"/>
<result property="publishOrgId" column="PUBLISH_ORG_ID"/>
<result property="publishOrgIdPath" column="PUBLISH_ORG_ID_PATH"/>
<result property="publishOrgName" column="PUBLISH_ORG_NAME"/>
<result property="publishTime" column="PUBLISH_TIME"/>
<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="pageList" parameterType="map" resultType="com.epmet.dto.result.OrganizationMessageResultDTO">
select
distinct om.ID as messageId,
om.PUBLISH_DITCH as publishDitch,
om.CONTENT as content,
om.PUBLISH_TIME as publishTime,
om.PUBLISH_STAFF_ID as publishStaffId,
om.PUBLISH_ORG_ID as publishStaffName,
om.PUBLISH_ORG_ID as publishOrgId,
om.PUBLISH_ORG_ID_PATH as publishOrgIdPath,
OM.PUBLISH_ORG_NAME as publishOrgName,
om.SEND_MSG_RES as sendMsgRes,
om.TOTAL_RECEIVER as totalReceiver,
om.FINISH_SEND_TIME as finishSendTime,
GROUP_CONCAT(r.ORG_NAME) as publishRangeName
from organization_message om
left join organization_message_publish_range r
on(om.id=r.MESSAGE_ID and r.del_flag='0')
where om.DEL_FLAG='0'
and om.CUSTOMER_ID =#{customerId}
<if test='staffOrgIdPath != null and staffOrgIdPath != "" '>
and om.PUBLISH_ORG_ID_PATH like concat(#{staffOrgIdPath},'%')
</if>
<if test='publishDitch != null and publishDitch != "" '>
and om.PUBLISH_DITCH =#{publishDitch}
</if>
<if test='orgId != null and orgId != "" '>
and r.ORG_ID =#{orgId}
</if>
<if test='startDate != null and startDate != "" '>
AND DATE_FORMAT(om.PUBLISH_TIME,'%Y-%m-%d') >= #{startDate}
</if>
<if test='endDate != null and endDate != "" '>
AND DATE_FORMAT(om.PUBLISH_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{endDate}
</if>
<if test='messageId != null and messageId != "" '>
and om.id =#{messageId}
</if>
group by om.id
order by om.PUBLISH_TIME desc
</select>
</mapper>

24
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessagePublishRangeDao.xml

@ -0,0 +1,24 @@
<?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.OrganizationMessagePublishRangeDao">
<resultMap type="com.epmet.entity.OrganizationMessagePublishRangeEntity" id="organizationMessagePublishRangeMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="messageId" column="MESSAGE_ID"/>
<result property="orgId" column="ORG_ID"/>
<result property="orgType" column="ORG_TYPE"/>
<result property="pid" column="PID"/>
<result property="orgIdPath" column="ORG_ID_PATH"/>
<result property="orgName" column="ORG_NAME"/>
<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>

3
epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/oss"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/oss"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/point"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/point"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/third"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/third"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/gov-access"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-access"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>

3
epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/gov-grid"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-grid"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/gov-issue"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-issue"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml

@ -3,7 +3,8 @@
<!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
<include resource="logback-base.xml"/>
<property name="log.path" value="logs/gov-mine"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-mine"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

11
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java

@ -96,6 +96,16 @@ public class IcBuildingDTO implements Serializable {
*/
private String buildingLeaderMobile;
/**
* 烟台需求楼长身份证号
*/
private String buildingLeaderIdCard;
/**
* 烟台需求类型0楼长1单元长
*/
private String buildingLeaderType;
/**
* 中心点位经度
*/
@ -156,4 +166,5 @@ public class IcBuildingDTO implements Serializable {
*/
private Integer realPerson;
}

9
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java

@ -170,4 +170,13 @@ public class IcHouseDTO implements Serializable {
* 加密后的房主身份证
*/
private String showOwnerIdCard;
/**
* 所在楼层
*/
private String floor;
/**
* 面积
*/
private String area;
}

16
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java

@ -165,4 +165,20 @@ public class IcNeighborHoodDTO implements Serializable {
*/
private String buildingName;
/**
* 烟台需求自然村/小区
*/
private String viliageType;
/**
* 烟台需求面积
*/
private String area;
/**
* 烟台需求开放类型
*/
private String openType;
/**
* 烟台需求建筑年代
*/
private String buildYear;
}

49
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java

@ -17,10 +17,14 @@
package com.epmet.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -37,48 +41,85 @@ public class IcPropertyManagementDTO implements Serializable {
/**
* 物业id
*/
@ExcelIgnore
private String id;
/**
* 物业名称
*/
@ExcelProperty(value = "物业名称")
@ColumnWidth(30)
private String name;
/**
* 客户id
*/
@ExcelIgnore
private String customerId;
/**
* 烟台需求物业联系人姓名
*/
@ExcelProperty(value = "物业联系人")
@ColumnWidth(30)
private String contactName;
/**
* 烟台需求物业联系人电话
*/
@ExcelProperty(value = "联系电话")
@ColumnWidth(30)
private String contactMobile;
/**
* 关联的小区数量
*/
@ExcelIgnore
private Integer totalNeighborHood;
/**
* 导出时候用
* 该物业关联的小区
*/
@ExcelProperty(value = "关联小区")
@ColumnWidth(60)
private String neighborHoodNames;
@ExcelIgnore
List<IcNeighborHoodDTO> neighborHoodList;
/**
* 删除标识 0未删除1已删除
*/
@ExcelIgnore
private String delFlag;
/**
* 乐观锁
*/
@ExcelIgnore
private Integer revision;
/**
* 创建人
*/
@ExcelIgnore
private String createdBy;
/**
* 创建时间
*/
@ExcelIgnore
private Date createdTime;
/**
* 更新人
*/
@ExcelIgnore
private String updatedBy;
/**
* 更新时间
*/
@ExcelIgnore
private Date updatedTime;
/**
* 关联的小区数量
*/
private Integer totalNeighborHood;
}

45
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
@ -183,4 +184,48 @@ public class ImportGeneralDTO implements Serializable {
*/
private Boolean buildingUpdateStatus = false;
private Boolean neighborHoodUpdateStatus = false;
/**
* 烟台需求自然村/小区
*/
private String viliageType;
/**
* 烟台需求自然村/小区
*/
private String viliageTypeName;
/**
* 烟台需求面积
*/
private String area;
/**
* 烟台需求开放类型
*/
private String openType;
/**
* 烟台需求开放类型
*/
private String openTypeName;
/**
* 烟台需求建筑年代
*/
private String buildYear;
/**
* 所在楼层
*/
private String floor;
private String buildingLeaderIdCard;
private String buildingLeaderType;
private String buildingLeaderTypeNum;
private String propertyUserName;
private String propertyUserMobile;
}

26
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java

@ -124,4 +124,30 @@ public class AddAgencyV2FormDTO implements Serializable {
*/
@Length(max = 500,message ="最多输入500字",groups =DefaultUserShowGroup.class )
private String remark;
/**
* 村居/社区书记姓名
*/
private String secretaryName;
/**
* 村居/社区书记电话
*/
private String secretaryMobile;
/**
* 值班电话
*/
private String dutyMobile;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 统一社会信用代码证书图片附件
*/
private String unifiedSocialCreditCodeCertificate;
/**
* 详细地址
*/
private String fullAddress;
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java

@ -78,4 +78,38 @@ public class AddStaffV2FromDTO implements Serializable {
* 烟台用当前登录用户
*/
private String currentUserId;
/**
* 烟台需求党组织职务
*/
private String partyPosition;
/**
* 烟台需求村居委员职务
*/
private String viliagePosition;
/**
* 烟台需求工作职责
*/
private String duty;
/**
* 烟台需求备注
*/
private String remark;
/**
* 文化程度
*/
private String culture;
/**
* 身份证
*/
private String idCard;
/**
* 居住地址
*/
private String address;
}

26
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java

@ -113,4 +113,30 @@ public class EditAgencyFormDTO implements Serializable {
@Length(max = 500,message = "最多输入500字",groups =DefaultUserShowGroup.class )
private String remark;
/**
* 村居/社区书记姓名
*/
private String secretaryName;
/**
* 村居/社区书记电话
*/
private String secretaryMobile;
/**
* 值班电话
*/
private String dutyMobile;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 统一社会信用代码证书图片附件
*/
private String unifiedSocialCreditCodeCertificate;
/**
* 详细地址
*/
private String fullAddress;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java

@ -150,5 +150,9 @@ public class IcBulidingAddFormDTO implements Serializable {
*/
private Integer realPerson;
private String buildingLeaderType;
private String buildingLeaderIdCard;
}

8
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java

@ -112,5 +112,13 @@ public class IcHouseAddFormDTO implements Serializable {
* 房屋可编辑编码
*/
private String coding;
/**
* 所在楼层
*/
private String floor;
/**
* 面积
*/
private String area;
}

17
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java

@ -113,6 +113,21 @@ public class IcNeighborHoodAddFormDTO extends PageFormDTO {
* 实有楼栋数
*/
private Integer realBuilding;
/**
* 烟台需求自然村/小区
*/
private String viliageType;
/**
* 烟台需求面积
*/
private String area;
/**
* 烟台需求开放类型
*/
private String openType;
/**
* 烟台需求建筑年代
*/
private String buildYear;
}

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java

@ -17,17 +17,18 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
public class IcPropertyManagementFormDTO implements Serializable {
public class IcPropertyManagementFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ -40,8 +41,8 @@ public class IcPropertyManagementFormDTO implements Serializable {
public interface UpdateShowGroup extends CustomerClientShowGroup {
}
public interface PageGroup extends CustomerClientShowGroup {
}
// public interface PageGroup extends CustomerClientShowGroup {
// }
@NotBlank(message = "物业id不能为空", groups = {DeleteGroup.class, UpdateShowGroup.class})
private String id;
@ -52,11 +53,24 @@ public class IcPropertyManagementFormDTO implements Serializable {
@Length(max = 50, message = "物业名称不能超过50个字", groups = {AddShowGroup.class})
private String name;
private String customerId;
/**
* 烟台需求物业联系人姓名
*/
@Length(max = 30, message = "物业联系人不能超过30个字", groups = {AddShowGroup.class, UpdateShowGroup.class})
private String contactName;
/**
* 烟台需求物业联系人电话
*/
@Length(max = 30, message = "联系电话不能超过30个字",groups = {AddShowGroup.class, UpdateShowGroup.class})
private String contactMobile;
/**
* 管理小区id
*/
private List<String> neighborHoodIdList;
@NotNull(message = "pageNo不能为空", groups = PageGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空", groups = PageGroup.class)
private Integer pageSize;
private String customerId;
}

33
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java

@ -74,4 +74,37 @@ public class StaffSubmitFromDTO implements Serializable {
* 社会自组织: community_org
*/
private String deptType;
/**
* 烟台需求党组织职务
*/
private String partyPosition;
/**
* 烟台需求村居委员职务
*/
private String viliagePosition;
/**
* 烟台需求工作职责
*/
private String duty;
/**
* 烟台需求备注
*/
private String remark;
/**
* 文化程度
*/
private String culture;
/**
* 身份证
*/
private String idCard;
/**
* 居住地址
*/
private String address;
}

33
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/ChooseGridFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form.yt;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2023/4/19 14:13
*/
@Data
public class ChooseGridFormDTO extends PageFormDTO {
/**
* 客户id
*/
private String customerId;
/**
* 组织id
*/
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* 楼栋名
*/
private String buildingName;
}

80
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/CommunityBuildingManagerPageFormDTO.java

@ -0,0 +1,80 @@
package com.epmet.dto.form.yt;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2023/5/6 13:53
*/
@Data
public class CommunityBuildingManagerPageFormDTO extends PageFormDTO {
// start
private String customerId;
private String staffId;
/**
* 工作人员所属组织的org_id_path
* 列表数据应查询本组织及下级
* 网格的全路径包含网格id
*/
private String orgIdPath;
// end
/**
* 姓名
*/
private String name;
/**
* 联系电话
*/
private String phone;
/**
* 身份证号
*/
private String idCard;
/**
* 类型0楼长1单元长
*/
private String type;
/**
* 所属区县id取名字关联customer_agency
*/
private String districtId;
/**
* 所属街道id取名字关联customer_agency
*/
private String streetId;
/**
* 所属社区id取名字关联customer_agency
*/
private String communityId;
/**
* 所属网格id取名字关联customer_grid
*/
private String gridId;
/**
* 所属小区id
*/
private String viliageId;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 所属单元id; 单元长时必填此列
*/
private String unitId;
}

13
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/yt/CommunityLoginFormDTO.java

@ -1,10 +1,12 @@
package com.epmet.dto.form.yt;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
@ -14,9 +16,14 @@ import java.util.Date;
*/
@Data
public class CommunityLoginFormDTO extends PageFormDTO {
public interface StreetTotalShowGroup extends CustomerClientShowGroup {
}
/**
* 所选择的组织id
*/
@NotBlank(message = "请选择区县",groups = StreetTotalShowGroup.class)
private String orgId;
/**
@ -37,5 +44,11 @@ public class CommunityLoginFormDTO extends PageFormDTO {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date endDate;
/**
* exclude_zero:不展示登录次数为0的社区
* all全部展示
*/
private String dataRange;
}

26
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java

@ -137,4 +137,30 @@ public class AgencysResultDTO implements Serializable {
private String remark;
private String coordinates;
/**
* 村居/社区书记姓名
*/
private String secretaryName;
/**
* 村居/社区书记电话
*/
private String secretaryMobile;
/**
* 值班电话
*/
private String dutyMobile;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 统一社会信用代码证书图片附件
*/
private String unifiedSocialCreditCodeCertificate;
/**
* 详细地址
*/
private String fullAddress;
}

115
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityBuildingManagerDTO.java

@ -0,0 +1,115 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 楼长单元长信息表烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-06
*/
@Data
public class CommunityBuildingManagerDTO implements Serializable {
private static final long serialVersionUID = -2526419541953300212L;
public interface AddShowGroup extends CustomerClientShowGroup {
}
public interface UpdateShowGroup extends CustomerClientShowGroup {
}
/**
* 主键烟台需求
*/
@NotBlank(message ="id不能为空" ,groups = {UpdateShowGroup.class})
private String id;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 姓名
*/
@Length(max = 50,message = "姓名最多输入50字",groups = {AddShowGroup.class,UpdateShowGroup.class})
@NotBlank(message ="姓名不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String name;
/**
* 联系电话
*/
@Length(max = 50,message = "联系电话最多输入50字",groups = {AddShowGroup.class,UpdateShowGroup.class})
@NotBlank(message ="联系电话不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String phone;
/**
* 身份证号
*/
@Length(max = 50,message = "身份证号最多输入50字",groups = {AddShowGroup.class,UpdateShowGroup.class})
@NotBlank(message ="身份证号不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String idCard;
/**
* 类型0楼长1单元长
*/
@NotBlank(message ="类型不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String type;
private String typeName;
/**
* 所属区县id取名字关联customer_agency
*/
@NotBlank(message ="所属区县不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String districtId;
/**
* 所属街道id取名字关联customer_agency
*/
@NotBlank(message ="所属街道不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String streetId;
/**
* 所属社区id取名字关联customer_agency
*/
@NotBlank(message ="所属社区不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String communityId;
/**
* 所属网格id取名字关联customer_grid
*/
@NotBlank(message ="所属网格不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String gridId;
private String gridName;
/**
* 网格的全路径包含网格id
*/
private String orgIdPath;
/**
* 所属小区id
*/
@NotBlank(message ="所属小区不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String viliageId;
private String viliageName;
/**
* 所属楼栋id
*/
@NotBlank(message ="楼栋不能为空" ,groups = {AddShowGroup.class,UpdateShowGroup.class})
private String buildingId;
private String buildingName;
/**
* 所属单元id
*/
private String unitId;
private String unitName;
}

12
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java

@ -121,4 +121,16 @@ public class IcBulidingDetailDTO implements Serializable {
*/
private Integer realPerson;
/**
* 烟台需求楼长身份证号
*/
private String buildingLeaderIdCard;
/**
* 烟台需求类型0楼长1单元长
*/
private String buildingLeaderType;
private String buildingLeaderTypeName;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java

@ -89,5 +89,9 @@ public class IcHouseListResultDTO implements Serializable {
*/
private String houseCode;
private String area;
private String floor;
}

19
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcNeighborHoodDetailDTO.java

@ -107,5 +107,24 @@ public class IcNeighborHoodDetailDTO {
* 二维码地址
*/
private String qrcodeUrl;
private String viliageTypeName;
private String area;
private String openTypeName;
private String buildYear;
/**
* 烟台需求自然村/小区
*/
private String viliageType;
/**
* 烟台需求开放类型
*/
private String openType;
}

8
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcNeighborHoodResultDTO.java

@ -28,4 +28,12 @@ public class IcNeighborHoodResultDTO extends PageFormDTO {
private String propertyId;
private String agencyName;
private String longitude;
private String viliageTypeName;
private String area;
private String openTypeName;
private String buildYear;
}

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java

@ -55,4 +55,33 @@ public class StaffInitResultDTO implements Serializable {
* xxx-xxx
*/
private String agencyName;
/**
* 烟台需求党组织职务
*/
private String partyPosition;
/**
* 烟台需求村居委员职务
*/
private String viliagePosition;
/**
* 烟台需求工作职责
*/
private String duty;
/**
* 烟台需求备注
*/
private String remark;
/**
* 文化程度
*/
private String culture;
private String address;
}

137
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/yt/CommunityBuildingManagerResultDTO.java

@ -0,0 +1,137 @@
package com.epmet.dto.result.yt;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.io.Serializable;
/**
* 楼长单元长信息表烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-06
*/
@Data
public class CommunityBuildingManagerResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键烟台需求
*/
@ExcelIgnore
private String id;
/**
* 客户Id customer.id
*/
@ExcelIgnore
private String customerId;
/**
* 姓名
*/
@ExcelProperty(value = "姓名")
@ColumnWidth(20)
private String name;
/**
* 联系电话
*/
@ExcelProperty(value = "联系电话")
@ColumnWidth(25)
private String phone;
/**
* 身份证号
*/
@ExcelProperty(value = "身份证号")
@ColumnWidth(30)
private String idCard;
/**
* 类型0楼长1单元长
*/
@ExcelIgnore
private String type;
@ExcelProperty(value = "类型")
@ColumnWidth(20)
private String typeName;
/**
* 所属区县id取名字关联customer_agency
*/
@ExcelIgnore
private String districtId;
@ExcelProperty(value = "所属区市")
@ColumnWidth(30)
private String districtName;
/**
* 所属街道id取名字关联customer_agency
*/
@ExcelIgnore
private String streetId;
@ExcelProperty(value = "所属镇街")
@ColumnWidth(30)
private String streetName;
/**
* 所属社区id取名字关联customer_agency
*/
@ExcelIgnore
private String communityId;
@ExcelProperty(value = "所属社区")
@ColumnWidth(30)
private String communityName;
/**
* 所属网格id取名字关联customer_grid
*/
@ExcelIgnore
private String gridId;
@ExcelProperty(value = "所属网格")
@ColumnWidth(30)
private String gridName;
/**
* 网格的全路径包含网格id
*/
@ExcelIgnore
private String orgIdPath;
/**
* 所属小区id
*/
@ExcelIgnore
private String viliageId;
@ExcelProperty(value = "所属小区")
@ColumnWidth(30)
private String viliageName;
/**
* 所属楼栋id
*/
@ExcelIgnore
private String buildingId;
@ExcelProperty(value = "楼栋")
@ColumnWidth(20)
private String buildingName;
/**
* 所属单元id; 单元长时必填此列
*/
@ExcelIgnore
private String unitId;
/**
* 所属单元id; 单元长时必填此列
*/
@ExcelProperty(value = "单元")
@ColumnWidth(20)
private String unitName;
}

13
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/yt/CommunityLoginResultDTO.java

@ -1,5 +1,8 @@
package com.epmet.dto.result.yt;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
@ -12,26 +15,36 @@ public class CommunityLoginResultDTO {
/**
* 组织id
*/
@ExcelIgnore
private String agencyId;
/**
* 组织名称
*/
@ColumnWidth(20)
@ExcelProperty(value = "社区名称")
private String agencyName;
/**
* 组织级别社区级community 街道:street, 区县级: district, 市级: city 省级:province
*/
@ExcelIgnore
private String agencyLevel;
/**
* 所属街道名称
*/
@ColumnWidth(20)
@ExcelProperty(value = "所属街道")
private String streetName;
/**
* 所属区县名称
*/
@ColumnWidth(20)
@ExcelProperty(value = "所属区县")
private String districtName;
/**
* 登录次数
*/
@ColumnWidth(20)
@ExcelProperty(value = "登录次数")
private Integer count;
}

275
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CommunityBuildingManagerController.java

@ -0,0 +1,275 @@
package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.form.yt.CommunityBuildingManagerPageFormDTO;
import com.epmet.dto.result.CommunityBuildingManagerDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.dto.result.yt.CommunityBuildingManagerResultDTO;
import com.epmet.service.CommunityBuildingManagerService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.nio.file.Path;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* 楼长单元长信息表烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-06
*/
@Slf4j
@RestController
@RequestMapping("communityBuildingManager")
public class CommunityBuildingManagerController implements ResultDataResolver {
@Autowired
private CommunityBuildingManagerService communityBuildingManagerService;
/**
* 列表分页查询
* @param formDTO
* @return
*/
@RequestMapping("page")
public Result<PageData<CommunityBuildingManagerResultDTO>> page(@LoginUser TokenDto tokenDto, @RequestBody CommunityBuildingManagerPageFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
PageData<CommunityBuildingManagerResultDTO> page = communityBuildingManagerService.page(formDTO);
return new Result<PageData<CommunityBuildingManagerResultDTO>>().ok(page);
}
/**
* 查看详情
* @param id
* @return
*/
@RequestMapping(value = "detail/{id}",method = {RequestMethod.POST})
public Result<CommunityBuildingManagerResultDTO> get(@PathVariable("id") String id){
CommunityBuildingManagerResultDTO data = communityBuildingManagerService.get(id);
return new Result<CommunityBuildingManagerResultDTO>().ok(data);
}
/**
* 新增楼长/单元长
* 同步到具体的楼栋
* @param dto
* @return
*/
@NoRepeatSubmit
@PostMapping("save")
public Result save(@LoginUser TokenDto tokenDto,@RequestBody CommunityBuildingManagerDTO dto){
dto.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(dto, CommunityBuildingManagerDTO.AddShowGroup.class);
/* //类型:0楼长;1单元长
if("1".equals(dto.getType())&& StringUtils.isBlank(dto.getUnitId())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"单元长必须选择所属单元","单元长必须选择所属单元");
}*/
communityBuildingManagerService.save(dto);
return new Result();
}
/**
* 编辑楼长/单元长
* 同步到具体的楼栋
* @param dto
* @return
*/
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody CommunityBuildingManagerDTO dto){
ValidatorUtils.validateEntity(dto, CommunityBuildingManagerDTO.UpdateShowGroup.class);
/* //类型:0楼长;1单元长
if("1".equals(dto.getType())&& StringUtils.isBlank(dto.getUnitId())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"单元长必须选择所属单元","单元长必须选择所属单元");
}*/
communityBuildingManagerService.update(dto);
return new Result();
}
/**
* 批量删除楼长/单元长
* 同时清空楼栋表里的信息
* @param ids
* @return
*/
@PostMapping("delete")
public Result delete(@RequestBody List<String> ids){
if(!CollectionUtils.isEmpty(ids)){
communityBuildingManagerService.delete(ids);
}
return new Result();
}
/**
* 楼长单元长-下载导入模板
* @param response
* @throws IOException
*/
@RequestMapping(value = "download-tem", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("楼长单元长导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/yantai/community_building_manager_import_temp.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
/**
* 楼长单元长-列表导出
*
* @param tokenDto
* @param formDTO
* @param response
* @return
* @throws IOException
*/
@PostMapping("export")
public void exportCommunityBuildingManager(@LoginUser TokenDto tokenDto, @RequestBody CommunityBuildingManagerPageFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "楼长单元长列表导出" + DateUtils.format(new Date()) + ".xlsx";
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
FreezeAndFilter writeHandler = new FreezeAndFilter();
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), CommunityBuildingManagerResultDTO.class)
.registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(writeHandler).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<CommunityBuildingManagerResultDTO> data = null;
do {
data = communityBuildingManagerService.page(formDTO);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(data.getList(), writeSheet);
} while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("楼长单元长导出异常export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* 导入excel
*
* @return
*/
@PostMapping("import")
public Result importExcel(@LoginUser TokenDto tokenDto,@RequestPart("file") MultipartFile file) {
// 只有社区级账号可以导入
communityBuildingManagerService.checkImportPermission(tokenDto.getCustomerId(),tokenDto.getUserId());
// 1.暂存文件
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir(ImportTaskConstants.COMMUNITY_BUILDING_MANAGER, "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【楼长单元长导入】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
InputStream is = null;
FileOutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(fileSavePath.toString());
IOUtils.copy(is, os);
} catch (Exception e) {
log.error(ImportTaskConstants.COMMUNITY_BUILDING_MANAGER + "表 importExcel exception", e);
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
// 2.生成导入任务记录
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.COMMUNITY_BUILDING_MANAGER),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"楼长单元长导入excel错误",
"楼长单元长导入excel错误");
// 3.执行导入
communityBuildingManagerService.execAsyncExcelImport(fileSavePath, rstData.getTaskId());
return new Result();
}
}

62
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -19,6 +19,9 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
@ -41,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -530,14 +534,14 @@ public class CustomerAgencyController {
/**
* @Description: 返回下级数量统计
* @param agencyId:
* @param dto:
* @Return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.AgencyCountCensusResultDTO>>
* @Author: lichao
* @Date: 2023/4/7 14:48
*/
@GetMapping("getAgencyCountList")
public Result<List<AgencyCountCensusResultDTO>> getAgencyCountList(@RequestParam String agencyId){
return new Result<List<AgencyCountCensusResultDTO>>().ok(customerAgencyService.getAgencyCountList(agencyId));
@PostMapping("getAgencyCountList")
public Result<List<AgencyCountCensusResultDTO>> getAgencyCountList(@RequestBody CommunityCountCensusFormDTO dto){
return new Result<List<AgencyCountCensusResultDTO>>().ok(customerAgencyService.getAgencyCountList(dto));
}
/**
@ -564,4 +568,54 @@ public class CustomerAgencyController {
return new Result<PageData<CommunityListByAgencyIdResultDTO>>().ok(customerAgencyService.getCommunityList(dto));
}
/**
* 返回区县列表
* @param tokenDto
* @return
*/
@PostMapping("districtList")
public Result<List<CustomerAgencyDTO>> districtList(@LoginUser TokenDto tokenDto){
Map<String, Object> params=new HashMap<>();
params.put("CUSTOMER_ID",tokenDto.getCustomerId());
params.put("LEVEL",OrgLevelEnum.DISTRICT.getCode());
params.put("PID",null);
return new Result<List<CustomerAgencyDTO>>().ok(customerAgencyService.list(params));
}
/**
* 返回街道列表必传区县
* @param tokenDto
* @param districtId
* @return
*/
@PostMapping("streetList/{districtId}")
public Result<List<CustomerAgencyDTO>> streetList(@LoginUser TokenDto tokenDto,@PathVariable("districtId")String districtId){
if(StringUtils.isBlank(districtId)){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"districtId为空","请先选择区县");
}
Map<String, Object> params=new HashMap<>();
params.put("CUSTOMER_ID",tokenDto.getCustomerId());
params.put("LEVEL",OrgLevelEnum.STREET.getCode());
params.put("PID",districtId);
return new Result<List<CustomerAgencyDTO>>().ok(customerAgencyService.list(params));
}
/**
* 返回社区列表街道必传
* @param tokenDto
* @param streetId
* @return
*/
@PostMapping("communityList/{streetId}")
public Result<List<CustomerAgencyDTO>> communityList(@LoginUser TokenDto tokenDto,@PathVariable("streetId")String streetId){
if(StringUtils.isBlank(streetId)){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"streetId为空","请先选择街道");
}
Map<String, Object> params=new HashMap<>();
params.put("CUSTOMER_ID",tokenDto.getCustomerId());
params.put("LEVEL",OrgLevelEnum.COMMUNITY.getCode());
params.put("PID",streetId);
return new Result<List<CustomerAgencyDTO>>().ok(customerAgencyService.list(params));
}
}

112
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java

@ -2,32 +2,60 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerStaffAgencyService;
import com.epmet.service.DepartmentService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.file.Path;
import java.util.List;
import java.util.UUID;
/**
* 部门
*
* @author sun
*/
@Slf4j
@RestController
@RequestMapping("department")
public class DepartmentController {
public class DepartmentController implements ResultDataResolver {
@Autowired
private DepartmentService departmentService;
@Autowired
private CustomerStaffAgencyService customerStaffAgencyService;
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private CustomerAgencyService customerAgencyService;
/**
* 添加部门人员
@ -198,6 +226,88 @@ public class DepartmentController {
return new Result<CheckStaffInfoResultDTO>().ok(departmentService.notSyncDept(formDTO));
}
/**
* 部门导入模板来源于烟台需求
* @param response
* @throws IOException
*/
@RequestMapping(value = "yantai/download-tem", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("部门导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/yantai/yantai_dept_import_tem.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
/**
* 部门导入,来源于烟台需求
* @param agencyId
* @param file
* @return
*/
@PostMapping("yantai/import")
public Result importExcel(@RequestParam(value = "agencyId",required = true)String agencyId, @RequestPart("file") MultipartFile file) {
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(agencyId);
if (null == customerAgencyDTO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织不存在,agencyId" + agencyId, "只有组织才可以导入部门");
}
// 1.暂存文件
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("customer_dept", "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【部门导入】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
InputStream is = null;
FileOutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(fileSavePath.toString());
IOUtils.copy(is, os);
} catch (Exception e) {
log.error("method exception", e);
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
// 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
importTaskForm.setOperatorId(EpmetRequestHolder.getLoginUserId());
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_ENTERPRISE);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入部门错误",
"部门导入失败");
// 3.执行导入
departmentService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),agencyId,originalFilename);
return new Result();
}
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java

@ -147,7 +147,7 @@ public class IcEnterpriseController implements ResultDataResolver {
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "企事业单位" + DateUtils.format(new Date()) + ".xlsx";
String fileName = "九小场所" + DateUtils.format(new Date()) + ".xlsx";
// 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色
@ -178,7 +178,7 @@ public class IcEnterpriseController implements ResultDataResolver {
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("企事业单位导出异常export exception", e);
log.error("九小场所巡查导出异常export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
@ -223,7 +223,7 @@ public class IcEnterpriseController implements ResultDataResolver {
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("企事业单位导入模板", "UTF-8") + ".xlsx");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("九小场所巡查导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/enterprise_patrol_import_tem.xlsx");
try {

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java

@ -40,6 +40,7 @@ import com.epmet.dto.form.IcNeighborHoodAddFormDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.NeighborHoodOptionFormDTO;
import com.epmet.dto.form.yt.ChooseGridFormDTO;
import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
@ -173,6 +174,21 @@ public class IcNeighborHoodController {
return new Result<List<OptionResultDTO>>().ok(list);
}
/**
* 入参gridIdagencyId
* 返回当前组织及下级下的所有小区
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("neighborhood-options-yantai")
public Result<List<OptionResultDTO>> queryNeighborHoodOptionsYanTai(@LoginUser TokenDto tokenDto, @RequestBody NeighborHoodOptionFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
List<OptionResultDTO> list=icNeighborHoodService.queryNeighborHoodOptionsYanTai(formDTO);
return new Result<List<OptionResultDTO>>().ok(list);
}
/**
* 获取用户组织下小区列表
*
@ -183,8 +199,10 @@ public class IcNeighborHoodController {
* @date 2022/8/19 15:56
*/
@PostMapping("neighborhoodlist")
public Result<List<BuildingResultDTO>> getNeighborhoodList(@LoginUser TokenDto tokenDto, @RequestBody IcNeighborHoodDTO dto) {
return new Result<List<BuildingResultDTO>>().ok(icNeighborHoodService.getNeighborhoodList(tokenDto, dto));
public Result<List<BuildingResultDTO>> getNeighborhoodList(@LoginUser TokenDto tokenDto, @RequestBody ChooseGridFormDTO dto) {
ValidatorUtils.validateEntity(dto, ChooseGridFormDTO.AddUserInternalGroup.class);
dto.setCustomerId(tokenDto.getCustomerId());
return new Result<List<BuildingResultDTO>>().ok(icNeighborHoodService.getNeighborhoodList(dto));
}
/**

230
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java

@ -17,24 +17,55 @@
package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcPropertyManagementDTO;
import com.epmet.dto.form.IcPropertyManagementFormDTO;
import com.epmet.dto.result.IcPropertyManagementResultDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.service.PropertyManagementService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.nio.file.Path;
import java.util.*;
/**
@ -43,19 +74,21 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-25
*/
@Slf4j
@RestController
@RequestMapping("propertymanagement")
public class PropertyManagementController {
public class PropertyManagementController implements ResultDataResolver {
@Autowired
private PropertyManagementService propertyManagementService;
/**
* 分页查询物业列表
* 物业管理-分页查询物业列表
*/
@PostMapping("page")
public Result<PageData<IcPropertyManagementDTO>> page(@RequestBody IcPropertyManagementFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,IcPropertyManagementFormDTO.PageGroup.class);
return new Result<PageData<IcPropertyManagementDTO>>().ok(propertyManagementService.page(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getName()));
return new Result<PageData<IcPropertyManagementDTO>>().ok(propertyManagementService.page(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getName(),
formDTO.getContactName(),formDTO.getContactMobile()));
}
/**
@ -68,7 +101,7 @@ public class PropertyManagementController {
}
/**
* 新增物业
* 物业管理-新增物业
* 新增小区页面添加小区也调用此接口
* @param tokenDTO
* @param formDTO
@ -84,6 +117,11 @@ public class PropertyManagementController {
return new Result().ok(map);
}
/**
* 物业管理-修改
* @param formDTO
* @return
*/
@PostMapping("update")
public Result update(@RequestBody IcPropertyManagementFormDTO formDTO){
//效验数据
@ -92,12 +130,178 @@ public class PropertyManagementController {
return new Result();
}
/**
* 物业管理-删除
* @param formDTO
* @return
*/
@PostMapping("delete")
public Result delete(@RequestBody IcPropertyManagementFormDTO formDTO){
//效验数据
ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.DeleteGroup.class);
propertyManagementService.delete(formDTO);
propertyManagementService.delete(formDTO.getId());
return new Result();
}
/**
* 物业管理-批量删除
*
* @param ids
* @return 返回失败的id列表
*/
@PostMapping("delete-batch")
public Result<List<String>> deleteBatch(@RequestBody List<String> ids) {
if (CollectionUtils.isNotEmpty(ids)) {
List<String> failedIdList = propertyManagementService.deleteBatch(ids);
if(CollectionUtils.isEmpty(failedIdList)){
return new Result<>();
}
Result result = new Result<List<String>>().ok(failedIdList);
result.setMsg("部门物业删除失败");
result.setCode(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode());
return result;
}
return new Result();
}
/**
* 物业管理-下载导入模板
* @param response
* @throws IOException
*/
@RequestMapping(value = "download-tem", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("物业管理导入模版", "UTF-8") + ".xlsx");
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/yantai/ic_property_management_temp.xlsx");
try {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
} finally {
if (is != null) {
is.close();
}
}
}
/**
* 物业管理-列表导出
*
* @param tokenDto
* @param formDTO
* @param response
* @return
* @throws IOException
*/
@PostMapping("export")
public void exportIcPropertyManagement(@LoginUser TokenDto tokenDto, @RequestBody IcPropertyManagementFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setCustomerId(tokenDto.getCustomerId());
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "物业管理" + DateUtils.format(new Date()) + ".xlsx";
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
FreezeAndFilter writeHandler = new FreezeAndFilter();
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPropertyManagementDTO.class)
.registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(writeHandler).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<IcPropertyManagementDTO> data = null;
do {
data = propertyManagementService.page(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getName(), formDTO.getContactName(), formDTO.getContactMobile());
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(data.getList(), writeSheet);
} while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("物业管理导出异常export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* 获取物业详情
*
* @param id
* @return
*/
@PostMapping("detail/{id}")
public Result<IcPropertyManagementDTO> getDetail(@PathVariable("id") String id) {
if (StringUtils.isBlank(id)) {
return new Result<>();
}
return new Result<IcPropertyManagementDTO>().ok(propertyManagementService.getDetail(id));
}
/**
* 导入excel
*
* @return
*/
@PostMapping("import")
public Result importExcel(@RequestPart("file") MultipartFile file) {
// 1.暂存文件
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir(ImportTaskConstants.IC_PROPERTY_MANAGEMENT, "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【物业管理导入】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
InputStream is = null;
FileOutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(fileSavePath.toString());
IOUtils.copy(is, os);
} catch (Exception e) {
log.error(ImportTaskConstants.IC_PROPERTY_MANAGEMENT + "表 importExcel exception", e);
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
// 2.生成导入任务记录
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.IC_PROPERTY_MANAGEMENT),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"物业管理导入excel错误",
"物业管理导入excel错误");
// 3.执行导入
propertyManagementService.execAsyncExcelImport(fileSavePath, rstData.getTaskId());
return new Result();
}
}

103
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java

@ -5,31 +5,54 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.remote.EpmetUserRemoteService;
import com.epmet.service.StaffService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.file.Path;
import java.util.List;
import java.util.UUID;
/**
* 组织结构-工作人员
* @author zhaoqifeng
* @date 2020/4/23 17:59
*/
@Slf4j
@RestController
@RequestMapping("staff")
public class StaffController {
public class StaffController implements ResultDataResolver {
@Autowired
private StaffService staffService;
@Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
/**
* 组织首页-工作人员列表
* @param fromDTO
@ -225,6 +248,54 @@ public class StaffController {
return staffService.addStaffV2(fromDTO);
}
@PostMapping("staffimport")
public Result buildingImportExcel(@RequestParam("file") MultipartFile file,@RequestParam("orgType") String orgType,@RequestParam("orgId") String orgId){
String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID);
// 1.暂存文件
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("staff", "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
InputStream is = null;
FileOutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(fileSavePath.toString());
IOUtils.copy(is, os);
} catch (Exception e) {
log.error("method exception", e);
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
// 2.生成导入任务记录
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.BIZ_TYPE_CUSTOMER_STAFF),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入客户信息错误",
"导入客户信息失败");
// 3.执行导入
staffService.execAsyncExcelImport(fileSavePath, rstData.getTaskId(),orgType,orgId);
return new Result();
}
/**
* 通讯录人员添加-平阴
* @author zhy
@ -251,4 +322,34 @@ public class StaffController {
return new Result<List<StaffOrgListResultDTO>>().ok(staffService.staffOrgList(tokenDto));
}
/**
* 下载工作人员导入excel模板
*
* @return
*/
@PostMapping("import/download-template")
public void downloadIcResiDownloadTemplate(HttpServletResponse response) {
InputStream is = null;
ServletOutputStream os = null;
try {
os = response.getOutputStream();
is = this.getClass().getClassLoader().getResourceAsStream("excel/customer_staff_import_template.xlsx");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("工作人员导入模板.xlsx", "UTF-8"));
IOUtils.copy(is, os);
} catch (Exception e) {
String errorStackTrace = ExceptionUtils.getErrorStackTrace(e);
log.error("下载工作人员导入模板失败:{}", errorStackTrace);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "下载工作人员导入模板失败");
} finally {
org.apache.poi.util.IOUtils.closeQuietly(is);
org.apache.poi.util.IOUtils.closeQuietly(os);
}
}
}

75
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffLoginLogController.java

@ -1,12 +1,22 @@
package com.epmet.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.yt.CommunityLoginFormDTO;
import com.epmet.dto.form.yt.CountActivityFormDTO;
import com.epmet.dto.form.yt.LoginLogCountByLevelFormDTO;
@ -16,6 +26,7 @@ import com.epmet.dto.result.yt.LoginLogCountByLevelResultDTO;
import com.epmet.excel.yt.AccountActivityExcel;
import com.epmet.excel.yt.AccountInactivityExcel;
import com.epmet.service.StaffLoginLogService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -24,6 +35,8 @@ import org.springframework.web.bind.annotation.RestController;
import com.epmet.dto.result.yt.AccountActivityInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;
@ -33,6 +46,7 @@ import java.util.List;
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-04-04
*/
@Slf4j
@RestController
@RequestMapping("staffLoginLog")
public class StaffLoginLogController {
@ -62,6 +76,46 @@ public class StaffLoginLogController {
return new Result<PageData<CommunityLoginResultDTO>>().ok(staffLoginLogService.pageCommunityCount(formDTO));
}
/**
* 下级社区账号登录次数排名
*
* @return
*/
@PostMapping("community-count-export")
public void communityCount(HttpServletResponse response, @RequestBody CommunityLoginFormDTO formDTO) throws Exception {
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "社区级账号登录情况" + DateUtils.format(new Date()) + ".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), CommunityLoginResultDTO.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<CommunityLoginResultDTO> data = null;
List<CommunityLoginResultDTO> list = null;
do {
// 默认查询本组织及下级
data = staffLoginLogService.pageCommunityCount(formDTO);
list = ConvertUtils.sourceToTarget(data.getList(), CommunityLoginResultDTO.class);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(list, writeSheet);
} while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} catch (Exception e) {
log.error("社区级账号登录情况export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* 柱状图下级组织账号登录次数汇总
*
@ -101,6 +155,21 @@ public class StaffLoginLogController {
formDTO.getPageNo(), formDTO.getPageSize()));
}
/**
* 柱状图点击区县查看街道调用此接口
* 计算的是街道的工作人员+街道下所有社区的人 的总次数
* @param formDTO
* @return
*/
@PostMapping("streetTotal")
public Result<PageData<CommunityLoginResultDTO>> streetTotal(@RequestBody CommunityLoginFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO,CommunityLoginFormDTO.StreetTotalShowGroup.class);
return new Result<PageData<CommunityLoginResultDTO>>().ok(staffLoginLogService.streetTotal(formDTO.getOrgId(),
formDTO.getStartDate(),
formDTO.getEndDate(),
formDTO.getPageNo(), formDTO.getPageSize()));
}
/***
* 获取当前agencyid下 下级组织活跃情况
* @param formDTO
@ -141,11 +210,9 @@ public class StaffLoginLogController {
PageData<AccountActivityInfo> res = staffLoginLogService.getAccountActivityInfo(formDTO);
if (!CollectionUtils.isEmpty(res.getList())) {
if("1".equals(formDTO.getIsActivity())){
// List<AccountActivityExcel> accountActivityExcels = ConvertUtils.sourceToTarget(res.getList(), AccountActivityExcel.class);
ExcelUtils.exportExcelToTarget(response, null, res.getList(), AccountActivityExcel.class);
ExcelUtils.exportExcelToTarget(response, "社区活跃数据", res.getList(), AccountActivityExcel.class);
}else {
// List<AccountInactivityExcel> accountActivityExcels = ConvertUtils.sourceToTarget(res.getList(), AccountInactivityExcel.class);
ExcelUtils.exportExcelToTarget(response, null, res.getList(), AccountInactivityExcel.class);
ExcelUtils.exportExcelToTarget(response, "社区不活跃数据", res.getList(), AccountInactivityExcel.class);
}
}

50
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CommunityBuildingManagerDao.java

@ -0,0 +1,50 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.yt.CommunityBuildingManagerResultDTO;
import com.epmet.entity.CommunityBuildingManagerEntity;
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 2023-05-06
*/
@Mapper
public interface CommunityBuildingManagerDao extends BaseDao<CommunityBuildingManagerEntity> {
/**
* 楼长单元长分页列表查询
* @param customerId
* @param orgIdPath
* @param name
* @param phone
* @param idCard
* @param type
* @param districtId
* @param streetId
* @param communityId
* @param gridId
* @param viliageId
* @param buildingId
* @param unitId
* @return
*/
List<CommunityBuildingManagerResultDTO> pageList(@Param("customerId") String customerId,
@Param("orgIdPath")String orgIdPath,
@Param("name")String name,
@Param("phone")String phone,
@Param("idCard")String idCard,
@Param("type")String type,
@Param("districtId")String districtId,
@Param("streetId")String streetId,
@Param("communityId")String communityId,
@Param("gridId")String gridId,
@Param("viliageId")String viliageId,
@Param("buildingId")String buildingId,
@Param("unitId")String unitId,
@Param("id")String id);
}

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -434,11 +434,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
*/
List<AgencyResultDTO> getAllCommunity(String customerId);
List<AgencyCountCensusResultDTO> agencyCount(@Param("pids") String pids);
List<AgencyCountCensusResultDTO> agencyCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd);
Integer agencyGridCount(@Param("pids") String pids);
Integer communityCount(@Param("pids") String pids);
Integer agencyStaffCount(@Param("pids") String pids);
Integer agencyGridCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd);
Integer agencyStaffCount(@Param("pids") String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd);
Integer getCommunityCount(@Param("pids")String pids,@Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd);

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -19,7 +19,6 @@ package com.epmet.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.IcBuildingListFormDTO;
@ -240,12 +239,14 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
/**
* 展示所有楼栋和小区信息
*
* @param dto
* @return java.util.List<com.epmet.dto.result.BuildingResultDTO>
* @author zhy
* @date 2022/8/19 17:32
*/
List<BuildingResultDTO> listBuildingInfo(IcNeighborHoodDTO dto);
List<BuildingResultDTO> listBuildingInfo(@Param("customerId")String customerId,
@Param("agencyId")String agencyId,
@Param("gridId") String gridId,
@Param("buildingName")String buildingName);
/**

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java

@ -224,4 +224,17 @@ public interface IcNeighborHoodDao extends BaseDao<IcNeighborHoodEntity> {
IcNeighborHoodEntity getNeighborHoodInfoByName(CheckHouseInfoFormDTO formDTO);
List<OptionResultDTO> queryNeighborHoodOptions(NeighborHoodOptionFormDTO formDTO);
/**
* label: xxx网格-xxx小区
* @param customerId
* @param agencyId
* @param gridId
* @param neighborHoodName
* @return
*/
List<OptionResultDTO> queryNeighborHoodOptionsYanTai(@Param("customerId") String customerId,
@Param("agencyId") String agencyId,
@Param("gridId") String gridId,
@Param("neighborHoodName") String neighborHoodName);
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodPropertyDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.entity.IcNeighborHoodPropertyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 小区物业关系表
@ -29,5 +33,11 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcNeighborHoodPropertyDao extends BaseDao<IcNeighborHoodPropertyEntity> {
/**
* 查询物业下的小区名称
* @param propertyId 物业id
* @param agencyId 组织id
* @return 当前物业在 当前组织及下级范围内管理的小区数量
*/
List<IcNeighborHoodDTO> getNeighborHoodList(@Param("propertyId") String propertyId, @Param("agencyId") String agencyId);
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcPropertyManagementDao.java

@ -59,5 +59,9 @@ public interface IcPropertyManagementDao extends BaseDao<IcPropertyManagementEnt
*/
List<IcPropertyManagementDTO> selectPropertyNameList(String neighborhoodId);
List<IcPropertyManagementDTO> queryList(@Param("customerId") String customerId,@Param("name")String name);
List<IcPropertyManagementDTO> queryList(@Param("customerId") String customerId,
@Param("name")String name,
@Param("contactName") String contactName,
@Param("contactMobile") String contactMobile,
@Param("agencyId")String agencyId);
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffLoginLogDao.java

@ -27,12 +27,17 @@ public interface StaffLoginLogDao extends BaseDao<StaffLoginLogEntity> {
* @param orgId
* @param startDate
* @param endDate
* @param dataRange exclude_zero:不展示登录次数为0的社区 all全部展示
* @return
*/
List<CommunityLoginResultDTO> pageCommunityCount(@Param("orgId") String orgId,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
@Param("endDate") Date endDate,
@Param("dataRange")String dataRange);
List<CommunityLoginResultDTO> selectCommunityCount(@Param("orgId") String orgId,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
/**
* 柱状图下级组织账号登录次数汇总
*
@ -72,4 +77,10 @@ public interface StaffLoginLogDao extends BaseDao<StaffLoginLogEntity> {
ActivityTatalInfo selectOneActivityTotal(CountActivityFormDTO formDTO);
Integer selectLoginTotalByPath(@Param("orgIdPath") String orgIdPath,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
List<CommunityLoginResultDTO> selectStreetTotal(@Param("orgId") String orgId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
}

89
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CommunityBuildingManagerEntity.java

@ -0,0 +1,89 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 楼长单元长信息表烟台
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-06
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("community_building_manager")
public class CommunityBuildingManagerEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 姓名
*/
private String name;
/**
* 联系电话
*/
private String phone;
/**
* 身份证号
*/
private String idCard;
/**
* 类型0楼长1单元长
*/
private String type;
/**
* 所属区县id取名字关联customer_agency
*/
private String districtId;
/**
* 所属街道id取名字关联customer_agency
*/
private String streetId;
/**
* 所属社区id取名字关联customer_agency
*/
private String communityId;
/**
* 所属网格id取名字关联customer_grid
*/
private String gridId;
/**
* 网格的全路径包含网格id
*/
private String orgIdPath;
/**
* 所属小区id
*/
private String viliageId;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 所属单元id
*/
private String unitId;
}

27
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java

@ -149,4 +149,31 @@ public class CustomerAgencyEntity extends BaseEpmetEntity {
*/
private String remark;
/**
* 村居/社区书记姓名
*/
private String secretaryName;
/**
* 村居/社区书记电话
*/
private String secretaryMobile;
/**
* 值班电话
*/
private String dutyMobile;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 统一社会信用代码证书图片附件
*/
private String unifiedSocialCreditCodeCertificate;
/**
* 详细地址
*/
private String fullAddress;
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java

@ -92,6 +92,16 @@ public class IcBuildingEntity extends BaseEpmetEntity {
*/
private String buildingLeaderMobile;
/**
* 烟台需求楼长身份证号
*/
private String buildingLeaderIdCard;
/**
* 烟台需求类型0楼长1单元长
*/
private String buildingLeaderType;
/**
* 中心点位经度
*/
@ -122,4 +132,6 @@ public class IcBuildingEntity extends BaseEpmetEntity {
*/
private Integer realPerson;
}

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java

@ -136,4 +136,12 @@ public class IcHouseEntity extends BaseEpmetEntity {
* 房屋可编辑编码
*/
private String coding;
/**
* 所在楼层
*/
private String floor;
/**
* 面积
*/
private String area;
}

17
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java

@ -121,4 +121,21 @@ public class IcNeighborHoodEntity extends BaseEpmetEntity {
* 二维码地址
*/
private String qrcodeUrl;
/**
* 烟台需求自然村/小区
*/
private String viliageType;
/**
* 烟台需求面积
*/
private String area;
/**
* 烟台需求开放类型
*/
private String openType;
/**
* 烟台需求建筑年代
*/
private String buildYear;
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java

@ -17,6 +17,8 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
@ -39,5 +41,15 @@ public class IcPropertyManagementEntity extends BaseEpmetEntity {
* 物业名称
*/
private String name;
@TableField(fill = FieldFill.INSERT)
private String customerId;
/**
* 烟台需求物业联系人姓名
*/
private String contactName;
/**
* 烟台需求物业联系人电话
*/
private String contactMobile;
}

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

Loading…
Cancel
Save