Browse Source

Merge remote-tracking branch 'origin_elink/yantai_zhengwu_master'

# Conflicts:
#	doc/epmet-cloud.md
dev
yinzuomei 2 years ago
parent
commit
5802785761
  1. 9
      doc/epmet-cloud.md
  2. 3
      epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
  3. 3
      epmet-auth/src/main/resources/logback-spring.xml
  4. 3
      epmet-gateway/src/main/resources/logback-spring.xml
  5. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml
  6. 3
      epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
  7. 3
      epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
  8. 3
      epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml
  9. 3
      epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml
  10. 3
      epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml
  11. 3
      epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml
  12. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml
  13. 3
      epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml
  14. 3
      epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml
  15. 3
      epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml
  16. 3
      epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml
  17. 3
      epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml
  18. 3
      epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml
  19. 3
      epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
  20. 3
      epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
  21. 3
      epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml
  22. 112
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
  23. 112
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/DeptExcelImportListener.java
  24. 72
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/yt/DeptImportExcelDTO.java
  25. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java
  26. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
  27. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerDepartmentServiceImpl.java
  28. 111
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
  29. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  30. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/yantai_dept_import_tem.xlsx
  31. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml
  32. 3
      epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml
  33. 1
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java
  34. 38
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java
  35. 3
      epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml
  36. 2
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml
  37. 3
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml
  38. 3
      epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml
  39. 3
      epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml
  40. 3
      epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml
  41. 3
      epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml
  42. 3
      epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml
  43. 3
      epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml
  44. 3
      epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml
  45. 3
      epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml
  46. 3
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml
  47. 3
      epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml
  48. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectListFormDTO.java
  49. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java
  50. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListExcelResultDTO.java
  51. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
  52. 35
      epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java
  53. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
  54. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  55. 198
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java
  56. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  57. 48
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  58. 3
      epmet-user/epmet-user-server/src/main/resources/logback-spring.xml
  59. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml
  60. 13
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

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 阿里云短信

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

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

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

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

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

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

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

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

112
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/DeptExcelImportListener.java

@ -0,0 +1,112 @@
package com.epmet.excel.handler;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.excel.yt.DeptImportExcelDTO;
import com.epmet.service.CustomerDepartmentService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2023/4/26 16:11
*/
@Slf4j
public class DeptExcelImportListener implements ReadListener<DeptImportExcelDTO> {
//最大条数阈值
public static final int MAX_THRESHOLD = 200;
private String customerId;
private String staffId;
private CustomerAgencyEntity agencyEntity;
/**
* 当前操作用户
*/
//要插入的数据
private List<CustomerDepartmentEntity> insertDatas = new ArrayList<>();
//错误项列表
private List<DeptImportExcelDTO.ErrorRow> errorRows = new ArrayList<>();
private CustomerDepartmentService departmentService;
public DeptExcelImportListener(String loginUserCustomerId, String loginUserId, CustomerAgencyEntity agencyEntity, CustomerDepartmentService departmentService) {
this.customerId = loginUserCustomerId;
this.staffId = loginUserId;
this.agencyEntity = agencyEntity;
this.departmentService = departmentService;
}
@Override
public void invoke(DeptImportExcelDTO data, AnalysisContext analysisContext) {
try {
ValidatorUtils.validateEntity(data);
//当前组织下,是否存在该部门
departmentService.checkUnqiueName(agencyEntity.getId(),data.getDepartmentName(),null);
CustomerDepartmentEntity entity = ConvertUtils.sourceToTarget(data, CustomerDepartmentEntity.class);
entity.setCustomerId(customerId);
entity.setAgencyId(agencyEntity.getId());
entity.setCreatedBy(staffId);
entity.setUpdatedBy(staffId);
entity.setTotalUser(NumConstant.ZERO);
entity.setAreaCode(StringUtils.isNotBlank(agencyEntity.getAreaCode())?agencyEntity.getAreaCode(): StrConstant.EPMETY_STR);
entity.setDepartmentDuty(StrConstant.EPMETY_STR);
entity.setDeptType("duty");
insertDatas.add(entity);
if (insertDatas.size() == MAX_THRESHOLD) {
execPersist();
}
} catch (Exception e) {
String errorMsg = null;
if(e instanceof EpmetException){
errorMsg=((EpmetException) e).getMsg();
}else {
errorMsg = "未知错误";
log.error("【部门导入】出错:{}", ExceptionUtils.getErrorStackTrace(e));
}
DeptImportExcelDTO.ErrorRow errorRow = ConvertUtils.sourceToTarget(data,DeptImportExcelDTO.ErrorRow.class);
errorRow.setErrorInfo(errorMsg);
errorRows.add(errorRow);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 最后几条达不到阈值,这里必须再调用一次
execPersist();
}
/**
* 执行持久化
*/
private void execPersist() {
try {
if (CollectionUtils.isNotEmpty(insertDatas)) {
departmentService.insertBatch(insertDatas);
}
} finally {
insertDatas.clear();
}
}
/**
* 获取错误行
*
* @return
*/
public List<DeptImportExcelDTO.ErrorRow> getErrorRows() {
return errorRows;
}
}

72
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/yt/DeptImportExcelDTO.java

@ -0,0 +1,72 @@
package com.epmet.excel.yt;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* @Description
* @Author yzm
* @Date 2023/4/26 15:59
*/
@Data
public class DeptImportExcelDTO {
/**
* 部门名称
*/
@NotBlank(message = "部门名称不能为空")
@Length(max = 50, message = "部门名称不能超过50个字")
@ExcelProperty(value = "*部门名称")
private String departmentName;
/**
* 组织编码
*/
@ExcelProperty(value = "组织编码")
private String code;
/**
* 负责人
*/
@ExcelProperty(value = "联系人")
private String contacts;
/**
* 联系电话
*/
@ExcelProperty(value = "联系电话")
private String mobile;
@Data
public static class ErrorRow {
@ColumnWidth(50)
@ExcelProperty(value = "*部门名称")
private String departmentName;
/**
* 组织编码
*/
@ColumnWidth(20)
@ExcelProperty(value = "组织编码")
private String code;
/**
* 负责人
*/
@ColumnWidth(20)
@ExcelProperty(value = "联系人")
private String contacts;
/**
* 联系电话
*/
@ColumnWidth(20)
@ExcelProperty(value = "联系电话")
private String mobile;
@ColumnWidth(50)
@ExcelProperty("错误信息")
private String errorInfo;
}
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java

@ -102,4 +102,6 @@ public interface CustomerDepartmentService extends BaseService<CustomerDepartmen
* @return void
*/
void updateDepartment(String staffId);
void checkUnqiueName(String agencyId, String departmentName, String deptId);
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import java.nio.file.Path;
import java.util.List;
/**
@ -107,4 +108,8 @@ public interface DepartmentService {
CheckStaffInfoResultDTO syncDept(CheckStaffInfoFormDTO formDTO);
CheckStaffInfoResultDTO notSyncDept(CheckStaffInfoFormDTO formDTO);
void execAsyncExcelImport(Path fileSavePath, String taskId, String agencyId,String originalFilename);
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerDepartmentServiceImpl.java

@ -17,11 +17,14 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.CustomerDepartmentDao;
@ -118,6 +121,15 @@ public class CustomerDepartmentServiceImpl extends BaseServiceImpl<CustomerDepar
baseDao.deleteStaffDep(staffId);
}
}
@Override
public void checkUnqiueName(String agencyId, String departmentName, String deptId) {
LambdaQueryWrapper<CustomerDepartmentEntity> countQuery=new LambdaQueryWrapper<>();
countQuery.eq(CustomerDepartmentEntity::getAgencyId,agencyId)
.eq(CustomerDepartmentEntity::getDepartmentName,departmentName)
.ne(StringUtils.isNotBlank(deptId),CustomerDepartmentEntity::getId,deptId);
if(baseDao.selectCount(countQuery)>0){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"部门名称已存在","部门名称已存在");
}
}
}

111
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java

@ -17,19 +17,21 @@
package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.CustomerDepartmentConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerDepartmentDao;
import com.epmet.dao.CustomerStaffDepartmentDao;
@ -38,20 +40,29 @@ import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.excel.handler.DeptExcelImportListener;
import com.epmet.excel.yt.DeptImportExcelDTO;
import com.epmet.feign.*;
import com.epmet.service.*;
import com.epmet.util.ModuleConstant;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -93,6 +104,11 @@ public class DepartmentServiceImpl implements DepartmentService {
private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private OssFeignClient ossFeignClient;
/**
* @param formDTO
@ -103,6 +119,8 @@ public class DepartmentServiceImpl implements DepartmentService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result<AddDepartmentResultDTO> addDepartment(AddDepartmentFormDTO formDTO) {
//同一组织下部门名称唯一
SpringContextUtils.getBean(CustomerDepartmentService.class).checkUnqiueName(formDTO.getAgencyId(),formDTO.getDepartmentName(),null);
Result<AddDepartmentResultDTO> result = new Result<AddDepartmentResultDTO>();
AddDepartmentResultDTO addDepartmentResultDTO = new AddDepartmentResultDTO();
CustomerDepartmentEntity entity = ConvertUtils.sourceToTarget(formDTO, CustomerDepartmentEntity.class);
@ -135,6 +153,9 @@ public class DepartmentServiceImpl implements DepartmentService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result editDepartment(EditDepartmentFormDTO formDTO) {
CustomerDepartmentEntity origin=customerDepartmentDao.selectById(formDTO.getDepartmentId());
//同一组织下部门名称唯一
SpringContextUtils.getBean(CustomerDepartmentService.class).checkUnqiueName(origin.getAgencyId(),formDTO.getDepartmentName(),formDTO.getDepartmentId());
Result result = new Result();
CustomerDepartmentEntity entity = ConvertUtils.sourceToTarget(formDTO, CustomerDepartmentEntity.class);
entity.setId(formDTO.getDepartmentId());
@ -551,5 +572,83 @@ public class DepartmentServiceImpl implements DepartmentService {
return resultDTO;
}
@Async
@Override
public void execAsyncExcelImport(Path filePath, String importTaskId,String agencyId,String originalFilename) {
CustomerAgencyEntity agencyEntity = customerAgencyDao.selectById(agencyId);
try {
DeptExcelImportListener listener = new DeptExcelImportListener(EpmetRequestHolder.getLoginUserCustomerId(),
EpmetRequestHolder.getLoginUserId(),
agencyEntity,
SpringContextUtils.getBean(CustomerDepartmentService.class));
EasyExcel.read(filePath.toFile(), DeptImportExcelDTO.class, listener).headRowNumber(1).sheet(0).doRead();
Path errorDescFile = null;
String errorDesFileUrl = null;
List<DeptImportExcelDTO.ErrorRow> errorRows = listener.getErrorRows();
boolean failed = errorRows.size() > 0;
if (failed) {
// 生成并上传错误文件
try {
// 文件生成
Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("customer_dept", "import", "error_des");
String fileName = originalFilename.concat(DateUtils.format(new Date(),DateUtils.DATE_TIME_NO_SPLIT)).concat(".xlsx");
errorDescFile = errorDescDir.resolve(fileName);
FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile());
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName);
OutputStream os = fileItem.getOutputStream();
EasyExcel.write(os, DeptImportExcelDTO.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows);
// 文件上传oss
Result<UploadImgResultDTO> errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem));
if (errorDesFileUploadResult.success()) {
errorDesFileUrl = errorDesFileUploadResult.getData().getUrl();
}
} finally {
if (Files.exists(errorDescFile)) {
Files.delete(errorDescFile);
}
}
}
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO();
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS);
importFinishTaskForm.setOperatorId(EpmetRequestHolder.getLoginUserId());
importFinishTaskForm.setResultDesc("");
importFinishTaskForm.setResultDescFilePath(errorDesFileUrl);
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【部门导入】finishImportTask失败");
}
} catch (Exception e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【部门导入】出错:{}", errorMsg);
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO();
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
importFinishTaskForm.setOperatorId(EpmetRequestHolder.getLoginUserId());
importFinishTaskForm.setResultDesc("导入失败");
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【部门导入】导入记录状态修改为'完成'失败");
}
} finally {
// 删除临时文件
if (Files.exists(filePath)) {
try {
Files.delete(filePath);
} catch (IOException e) {
log.error("method exception", e);
}
}
}
}
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -272,10 +272,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
houseChangeRecordCollect(formDTO.getId(), formDTO.getCustomerId(), icHouseDTO);
icHouseDao.updateById(entity);
IcHouseDTO houseDTO = icHouseService.get(formDTO.getId());
// IcHouseDTO houseDTO = icHouseService.get(formDTO.getId());
//删除房屋缓存
icHouseRedis.delHouseInfo(formDTO.getId(), houseDTO.getCustomerId());
icHouseRedis.delHouseInfo(formDTO.getId(), formDTO.getCustomerId());
}
/**

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/yantai_dept_import_tem.xlsx

Binary file not shown.

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

3
epmet-module/gov-project/gov-project-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-project"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-project"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

1
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java

@ -66,6 +66,7 @@ public class GuideDTO implements Serializable {
/**
* 所有上级组织ID,英文:隔开
* orgId的orgIdPath
*/
private String pids;

38
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java

@ -25,23 +25,24 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO;
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.RenException;
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.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.PidUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dao.GuideDao;
import com.epmet.dto.GuideDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.GuideDetailResultDTO;
import com.epmet.dto.result.GuideListResultDTO;
import com.epmet.dto.result.OrgResultDTO;
import com.epmet.entity.*;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -66,8 +67,6 @@ import java.util.stream.Collectors;
@Service
public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> implements GuideService {
@Resource
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Resource
private GuideModuleService guideModuleService;
@Resource
@ -184,7 +183,7 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
orgFormDTO.setOrgId(formDTO.getOrgId());
orgFormDTO.setOrgType(formDTO.getOrgType());
//获取组织的pId和pIds
Result<OrgResultDTO> result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
/*Result<OrgResultDTO> result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
if (!result.success() || null == result.getData()) {
throw new RenException(result.getCode(), result.getMsg());
}
@ -193,7 +192,16 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
} else {
guideDTO.setPid(result.getData().getAgencyId());
}
guideDTO.setPids(result.getData().getPids().concat(":").concat(result.getData().getAgencyId()));
guideDTO.setPids(result.getData().getPids().concat(":").concat(result.getData().getAgencyId()));*/
if(OrgTypeEnum.GRID.getCode().equals(formDTO.getOrgType())){
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(formDTO.getOrgId());
guideDTO.setPid(gridInfoCache.getPid());
guideDTO.setPids(gridInfoCache.getPids().concat(StrConstant.COLON).concat(gridInfoCache.getId()));
}else{
AgencyInfoCache agencyInfoCache=CustomerOrgRedis.getAgencyInfo(formDTO.getOrgId());
guideDTO.setPid(agencyInfoCache.getPid());
guideDTO.setPids(PidUtils.convertPid2OrgIdPath(agencyInfoCache.getId(),agencyInfoCache.getPids()));
}
insert(guideDTO);
//保存办事指南内容模块
if (CollectionUtils.isNotEmpty(formDTO.getModuleList())) {
@ -273,7 +281,7 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
orgFormDTO.setOrgType(formDTO.getOrgType());
guideDTO.setOrgName(formDTO.getOrgName());
//获取组织的pId和pIds
Result<OrgResultDTO> result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
/*Result<OrgResultDTO> result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
if (!result.success() || null == result.getData()) {
throw new RenException(result.getCode(), result.getMsg());
}
@ -282,7 +290,17 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
} else {
guideDTO.setPid(result.getData().getAgencyId());
}
guideDTO.setPids(result.getData().getPids().concat(":").concat(result.getData().getAgencyId()));
guideDTO.setPids(result.getData().getPids().concat(":").concat(result.getData().getAgencyId()));*/
if(OrgTypeEnum.GRID.getCode().equals(formDTO.getOrgType())){
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(formDTO.getOrgId());
guideDTO.setPid(gridInfoCache.getPid());
guideDTO.setPids(gridInfoCache.getPids().concat(StrConstant.COLON).concat(gridInfoCache.getId()));
}else{
AgencyInfoCache agencyInfoCache=CustomerOrgRedis.getAgencyInfo(formDTO.getOrgId());
guideDTO.setPid(agencyInfoCache.getPid());
guideDTO.setPids(PidUtils.convertPid2OrgIdPath(agencyInfoCache.getId(),agencyInfoCache.getPids()));
}
update(guideDTO);
//保存办事指南内容模块
if (CollectionUtils.isNotEmpty(formDTO.getModuleList())) {

3
epmet-module/gov-voice/gov-voice-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-voice"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/gov-voice"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

2
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml

@ -11,7 +11,7 @@
article_content ac
WHERE
ac.DEL_FLAG = '0'
AND ac.ID = #{articleId}
AND ac.ARTICLE_ID = #{articleId}
</select>
</mapper>

3
epmet-module/open-data-worker/open-data-worker-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/open-data"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/open-data"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>

3
epmet-module/oper-access/oper-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/oper-access"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/oper-access"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/oper-crm/oper-crm-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/oper-crm"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/oper-crm"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/oper-customize/oper-customize-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/oper-customize"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/oper-customize"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-group/resi-group-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/resi-group"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-group"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-guide/resi-guide-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/resi-guide"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-guide"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-hall/resi-hall-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/resi-hall"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-hall"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-home/resi-home-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/resi-home"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-home"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-mine/resi-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/resi-mine"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-mine"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-partymember/resi-partymember-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/resi-partymember"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-partymember"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

3
epmet-module/resi-voice/resi-voice-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/resi-voice"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/resi-voice"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

9
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectListFormDTO.java

@ -29,6 +29,15 @@ public class CollectListFormDTO extends PageFormDTO {
*/
private String domicilePlace;
/**
* 审核状态0待审核 1审核不通过 2审核通过
*/
private String checkState;
/**
* 户主姓名
*/
private String houseHolderName;
private String userId;
private String customerId;

3
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java

@ -3,7 +3,6 @@ package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author wgf
@ -54,4 +53,6 @@ public class CollectHouseInfoResultDTO implements Serializable {
* 房主姓名
*/
private String ownerName;
}

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListExcelResultDTO.java

@ -17,6 +17,10 @@ import java.util.List;
public class CollectListExcelResultDTO implements Serializable {
private static final long serialVersionUID = -5659769436514116680L;
@Excel(name = "所属网格",width = 30, needMerge = true)
private String gridName;
/**
* 户主姓名
*/

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java

@ -1,6 +1,5 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -26,7 +25,8 @@ public class CollectListResultDTO implements Serializable {
// 组织Id
private String agencyId;
private String gridId;
private String gridName;
/**
* 居住地址
*/
@ -113,7 +113,21 @@ public class CollectListResultDTO implements Serializable {
* 与户主关系
*/
private String relationship;
/**
* 来源于字典表
* 暂不清楚0
* 本人1
* 配偶2
* 子女3
* 父母4
* 岳父母或公婆5
* 祖父母6
* 媳婿7
* 孙子女8
* 兄弟姐妹9
* 其他10
*/
private String relationShipName;
/**
* 人脸照片
*/

35
epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java

@ -0,0 +1,35 @@
package com.epmet.remote;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* epmet用户远程服务工具
*/
@Component
public class EpmetUserRemoteService implements ResultDataResolver {
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
/**
* 查询当前登录用户信息
* @return
*/
public LoginUserDetailsResultDTO getLoginUserDetails() {
// 不传组织id,则基于当前组织查询
LoginUserDetailsFormDTO loinUserForm = new LoginUserDetailsFormDTO();
loinUserForm.setApp(EpmetRequestHolder.getLoginUserApp());
loinUserForm.setClient(EpmetRequestHolder.getLoginUserClient());
loinUserForm.setUserId(EpmetRequestHolder.getLoginUserId());
LoginUserDetailsResultDTO loginUserDetailsResultDTO = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(loinUserForm), ServiceConstant.GOV_ORG_SERVER,
null, null, "查询当前工作人员所属组织信息失败");
return loginUserDetailsResultDTO;
}
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java

@ -8,10 +8,7 @@ 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.ExcelUtils;
import com.epmet.commons.tools.utils.IdCardRegexUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -25,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -121,8 +119,8 @@ public class IcResiCollectController {
resultDTO.setListP(children);
list.add(resultDTO);
});
ExcelUtils.exportExcelToTarget(response, null, list, CollectListExcelResultDTO.class);
String fileName="信息采集"+ DateUtils.format(new Date(),DateUtils.DATE_PATTERN);
ExcelUtils.exportExcelToTarget(response, fileName, list, CollectListExcelResultDTO.class);
}
/**

11
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -63,6 +63,17 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
**/
void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map<String, ?> map);
/**
* @description: 选择性更新只更新不为null的
* @param tableName:
* @param id:
* @param map:
* @return
* @author: WangXianZhang
* @date: 2023/4/23 9:03 PM
*/
void updateTableSelective(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map<String, ?> map);
List<Map<String, Object>> selectListResiMap(@Param("customerId") String customerId,
@Param("formCode") String formCode,
@Param("conditions") List<ResiUserQueryValueDTO> conditions,

198
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiCollectServiceImpl.java

@ -5,14 +5,17 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
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.DictTypeEnum;
import com.epmet.commons.tools.enums.RelationshipEnum;
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.redis.common.CustomerIcHouseRedis;
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.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.PidUtils;
@ -27,7 +30,7 @@ import com.epmet.entity.IcResiCollectEntity;
import com.epmet.entity.IcResiMemberEntity;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.entity.IcUserChangeRecordEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcResiCollectService;
@ -43,6 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@ -62,19 +66,15 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
private IcResiMemberDao icResiMemberDao;
@Autowired
private IcResiUserDao icResiUserDao;
@Autowired
private IcResiCollectDao icResiCollectDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private IcUserChangeRecordService icUserChangeRecordService;
@Autowired
private DhDeviceUtil dhDeviceUtil;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
@ -136,6 +136,12 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
List<CollectListResultDTO> collectList = baseDao.getCollectList(formDTO);
result.setList(collectList);
}
result.getList().forEach(collectDTO->{
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(collectDTO.getGridId());
if(null!=gridInfoCache){
collectDTO.setGridName(gridInfoCache.getGridNamePath());
}
});
return result;
}
@ -149,7 +155,18 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
public CollectListResultDTO detail(CollectListFormDTO formDTO) {
List<CollectListResultDTO> list = baseDao.getCollectList(formDTO);
if (CollectionUtils.isNotEmpty(list)) {
return list.get(NumConstant.ZERO);
CollectListResultDTO resultDTO=list.get(NumConstant.ZERO);
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(resultDTO.getGridId());
if(null!=gridInfoCache){
resultDTO.setGridName(gridInfoCache.getGridNamePath());
}
Result<Map<String, String>> relationShipRes=adminOpenFeignClient.dictMap(DictTypeEnum.RELATIONSHIP.getCode());
for(CollectListResultDTO.CollectListMemberResultDTO member:resultDTO.getList()){
if(StringUtils.isNotBlank(member.getRelationship())&&relationShipRes.success()&&relationShipRes.getData().containsKey(member.getRelationship())){
member.setRelationShipName(relationShipRes.getData().get(member.getRelationship()));
}
}
return resultDTO;
}
return null;
}
@ -421,6 +438,7 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
updateUserInfo(icResiCollectEntity,memberList.get(i),false,formDTO,userIdCardEntity);
}else{
// 人员房屋不一致(更新人员信息和变更记录)
// 数据库中:ic_resi_user已存在居民,但是不住在当前信息采集他填写的房屋,
updateUserInfo(icResiCollectEntity,memberList.get(i),true,formDTO,userIdCardEntity);
}
}else{
@ -446,7 +464,9 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
getHouseInfoToCollectFormDTO.setDoorName(formDTO.getDoorName());
Result<IcHouseInfoCollectResultDTO> resultDTOResult = govOrgFeignClient.getHouseInfoToCollect(getHouseInfoToCollectFormDTO);
IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = resultDTOResult.getData();
if(null==icHouseInfoCollectResultDTO){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"房屋不存在","房屋不存在,请先新建同名房屋");
}
// 新增房屋后需要collect更新上房屋ID
// log
icResiCollectEntity.setHomeId(icHouseInfoCollectResultDTO.getId());
@ -462,7 +482,9 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
private void updateHouseInfo(IcResiCollectEntity icResiCollectEntity){
CollectHouseFormDTO collectHouseFormDTO = new CollectHouseFormDTO();
collectHouseFormDTO.setId(icResiCollectEntity.getHomeId());
//户主姓名
collectHouseFormDTO.setOwnerName(icResiCollectEntity.getHouseHolderName());
// 房屋状态:1:出租 0:自住 2:闲置 3:未售出
collectHouseFormDTO.setRentFlag(Integer.parseInt(icResiCollectEntity.getHouseType()));
collectHouseFormDTO.setCustomerId(icResiCollectEntity.getCustomerId());
collectHouseFormDTO.setResiNumber(icResiCollectEntity.getTotalResi());
@ -476,60 +498,86 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
* @param icResiCollectMemDetailDTO 登记城阳信息
* @param isUpdateLog 是否更新记录
* @param formDTO 入参
* @param userEntity 根据身份证号查询到的user信息
* @param existedUserEntity 根据身份证号查询到的user信息
*/
private void updateUserInfo(IcResiCollectEntity icResiCollectEntity,IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,Boolean isUpdateLog,
IcResiCollectCheckFormDTO formDTO,IcResiUserEntity userEntity){
private void updateUserInfo(IcResiCollectEntity icResiCollectEntity,
IcResiCollectMemDetailDTO icResiCollectMemDetailDTO,
Boolean isUpdateLog,
IcResiCollectCheckFormDTO formDTO,
IcResiUserEntity existedUserEntity){
// 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.ne(IcResiUserEntity::getIdCard,icResiCollectMemDetailDTO.getIdNum());
List<IcResiUserEntity> entityList = icResiUserDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
String errorMsg = "当前房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(icResiCollectEntity.getAgencyId());
if (null == agencyInfoCache) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所属组织查询异常,agencyId:" + icResiCollectEntity.getAgencyId(), "所属组织查询异常");
}
// userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身
userEntity.setPids(PidUtils.convertPid2OrgIdPath(icResiCollectEntity.getAgencyId(), agencyInfoCache.getPids()));
userEntity.setAgencyId(icResiCollectEntity.getAgencyId());
userEntity.setGridId(icResiCollectEntity.getGridId());
userEntity.setVillageId(icResiCollectEntity.getVillageId());
userEntity.setBuildId(icResiCollectEntity.getBuildId());
userEntity.setUnitId(icResiCollectEntity.getUnitId());
userEntity.setHomeId(icResiCollectEntity.getHomeId());
userEntity.setName(icResiCollectMemDetailDTO.getName());
userEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
icResiUserDao.updateById(userEntity);
// 判断是否需要更新记录
if(isUpdateLog){
//变更记录表
IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId());
changeRecordEntity.setOperatorId(formDTO.getUserId());
changeRecordEntity.setIcUserId(userEntity.getId());
changeRecordEntity.setIcUserId(existedUserEntity.getId());
changeRecordEntity.setOperatorName(formDTO.getRealName());
changeRecordEntity.setIcUserName(userEntity.getName());
changeRecordEntity.setType("update");
changeRecordEntity.setTypeName("修改");
changeRecordEntity.setIcUserName(existedUserEntity.getName());
changeRecordEntity.setType("transfer");
changeRecordEntity.setTypeName("调动");
changeRecordEntity.setBeforeChangeName("-");
HouseInfoCache originHouseInfoCache= CustomerIcHouseRedis.getHouseInfo(icResiCollectEntity.getCustomerId(),existedUserEntity.getHomeId());
if(null!=originHouseInfoCache){
changeRecordEntity.setBeforeChangeName(originHouseInfoCache.getGridName().concat(StrConstant.HYPHEN).concat(originHouseInfoCache.getAllName()));
}
changeRecordEntity.setAfterChangeName("-");
HouseInfoCache newHouseInfoCache = CustomerIcHouseRedis.getHouseInfo(icResiCollectEntity.getCustomerId(), icResiCollectEntity.getHomeId());
if (null != newHouseInfoCache) {
//信息采集时居民自己填写的房屋 以他填写的为准!!!!!!
changeRecordEntity.setAfterChangeName(newHouseInfoCache.getGridName().concat(StrConstant.HYPHEN).concat(newHouseInfoCache.getAllName()));
}
changeRecordEntity.setChangeTime(new java.util.Date());
changeRecordEntity.setReason("来源于信息采集:更新居民所属房屋信息");
icUserChangeRecordService.insert(changeRecordEntity);
}
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(icResiCollectEntity.getAgencyId());
if (null == agencyInfoCache) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所属组织查询异常,agencyId:" + icResiCollectEntity.getAgencyId(), "所属组织查询异常");
}
// userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身
existedUserEntity.setPids(PidUtils.convertPid2OrgIdPath(icResiCollectEntity.getAgencyId(), agencyInfoCache.getPids()));
// 组织Id
existedUserEntity.setAgencyId(icResiCollectEntity.getAgencyId());
// 网格id
existedUserEntity.setGridId(icResiCollectEntity.getGridId());
// 小区id
existedUserEntity.setVillageId(icResiCollectEntity.getVillageId());
// 楼栋id
existedUserEntity.setBuildId(icResiCollectEntity.getBuildId());
// 单元id
existedUserEntity.setUnitId(icResiCollectEntity.getUnitId());
// 房屋id
existedUserEntity.setHomeId(icResiCollectEntity.getHomeId());
// 姓名
existedUserEntity.setName(icResiCollectMemDetailDTO.getName());
// 手机号
existedUserEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
// 身份证号
existedUserEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
// 与户主关系
existedUserEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
// 工作单位
existedUserEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
// 备注
existedUserEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
// 户籍所在地
existedUserEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
icResiUserDao.updateById(existedUserEntity);
}
/**
@ -542,49 +590,65 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
if (RelationshipEnum.SELF.getCode().equals(icResiCollectMemDetailDTO.getRelationship())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, icResiCollectEntity.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.ne(IcResiUserEntity::getIdCard,icResiCollectMemDetailDTO.getIdNum());
List<IcResiUserEntity> entityList = icResiUserDao.selectList(wrapper);
// 已经存在户主了,当前成员填写的也是户主... 暂不处理
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
String errorMsg = "当前房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
// 新增人员
IcResiUserEntity userEntity = new IcResiUserEntity();
IcResiUserEntity insertUserEntity = new IcResiUserEntity();
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(icResiCollectEntity.getAgencyId());
if (null == agencyInfoCache) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所属组织查询异常,agencyId:" + icResiCollectEntity.getAgencyId(), "所属组织查询异常");
}
// 组织的pids 含agencyId本身
// userEntity.setPids(icResiCollectEntity.getPids() + ":" + icResiCollectEntity.getAgencyId()); // ic_resi_user表的组织的pids 含agencyId本身 !!!
userEntity.setPids(PidUtils.convertPid2OrgIdPath(icResiCollectEntity.getAgencyId(), agencyInfoCache.getPids()));
userEntity.setAgencyId(icResiCollectEntity.getAgencyId());
userEntity.setGridId(icResiCollectEntity.getGridId());
userEntity.setVillageId(icResiCollectEntity.getVillageId());
userEntity.setBuildId(icResiCollectEntity.getBuildId());
userEntity.setUnitId(icResiCollectEntity.getUnitId());
userEntity.setHomeId(icResiCollectEntity.getHomeId());
userEntity.setName(icResiCollectMemDetailDTO.getName());
userEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
userEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
userEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
userEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
userEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
userEntity.setCustomerId(icResiCollectMemDetailDTO.getCustomerId());
userEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
icResiUserDao.insert(userEntity);
insertUserEntity.setPids(PidUtils.convertPid2OrgIdPath(icResiCollectEntity.getAgencyId(), agencyInfoCache.getPids()));
// 网格所属组织id
insertUserEntity.setAgencyId(icResiCollectEntity.getAgencyId());
// 网格id
insertUserEntity.setGridId(icResiCollectEntity.getGridId());
// 小区id
insertUserEntity.setVillageId(icResiCollectEntity.getVillageId());
// 楼栋id
insertUserEntity.setBuildId(icResiCollectEntity.getBuildId());
//单元id
insertUserEntity.setUnitId(icResiCollectEntity.getUnitId());
//房屋id
insertUserEntity.setHomeId(icResiCollectEntity.getHomeId());
//姓名
insertUserEntity.setName(icResiCollectMemDetailDTO.getName());
//手机号
insertUserEntity.setMobile(icResiCollectMemDetailDTO.getMobile());
insertUserEntity.setIdCard(icResiCollectMemDetailDTO.getIdNum());
//与户主关系
insertUserEntity.setYhzgx(icResiCollectMemDetailDTO.getRelationship());
//工作单位
insertUserEntity.setGzdw(icResiCollectMemDetailDTO.getWorkPlace());
// 备注
insertUserEntity.setRemarks(icResiCollectMemDetailDTO.getRemark());
insertUserEntity.setCustomerId(icResiCollectMemDetailDTO.getCustomerId());
// 户籍所在地
insertUserEntity.setHjszd(icResiCollectMemDetailDTO.getDomicilePlace());
icResiUserDao.insert(insertUserEntity);
//变更记录表
IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity();
changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId());
changeRecordEntity.setOperatorId(formDTO.getUserId());
changeRecordEntity.setIcUserId(userEntity.getId());
changeRecordEntity.setIcUserId(insertUserEntity.getId());
changeRecordEntity.setOperatorName(formDTO.getRealName());
changeRecordEntity.setIcUserName(userEntity.getName());
changeRecordEntity.setIcUserName(insertUserEntity.getName());
changeRecordEntity.setType("add");
changeRecordEntity.setTypeName("新增");
changeRecordEntity.setBeforeChangeName("-");
changeRecordEntity.setAfterChangeName("-");
changeRecordEntity.setReason("来源于信息采集");
changeRecordEntity.setChangeTime(new java.util.Date());
icUserChangeRecordService.insert(changeRecordEntity);
@ -602,11 +666,21 @@ public class IcResiCollectServiceImpl extends BaseServiceImpl<IcResiCollectDao,
IcResiUserEntity originUser = icResiUserDao.selectOne(query);
return originUser;
}
/**
* 放回当前房屋内住的所有居民
* @param homeId
* @param customerId
* @return
*/
private Map<String, IcResiUserEntity> queryOriginUserByHomeId(String homeId,String customerId) {
LambdaQueryWrapper<IcResiUserEntity> query = new LambdaQueryWrapper<>();
query.eq(IcResiUserEntity::getHomeId, homeId);
query.eq(IcResiUserEntity::getCustomerId, customerId);
List<IcResiUserEntity> originUserList = icResiUserDao.selectList(query);
if(CollectionUtils.isEmpty(originUserList)){
return new HashMap<>();
}
Map<String, IcResiUserEntity> memMap = originUserList.stream().collect(Collectors.toMap(IcResiUserEntity::getIdCard, Function.identity()));
return memMap;
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -547,7 +547,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
if (existingResiMap != null) {
// 修改居民信息
icResiUserDao.upTable(tableName, existingResiMap.get("ID"), columnAndValues);
icResiUserDao.updateTableSelective(tableName, existingResiMap.get("ID"), columnAndValues);
// 任意组织维度一个发生变化,则放到调动居民缓存中
ResiImportChangedData transferData;
@ -747,7 +747,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
if (CollectionUtils.isNotEmpty(subInfos)) {
Map<String, Object> subInfo = subInfos.get(0);
// 附加信息存在,更新附加表内容
icResiUserDao.upTable(targetTableName, subInfo.get("ID").toString(), columnAndValues);
icResiUserDao.updateTableSelective(targetTableName, subInfo.get("ID").toString(), columnAndValues);
} else {
// 新增附加表信息
columnAndValues.put("CREATED_BY", currentUserId);
@ -1577,7 +1577,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
private void updateMainTableResiTypeFlag(IcResiUserTableEnum icResiUserTableEnum, String resiUserId) {
HashMap<String, Boolean> map = new HashMap<>();
map.put(icResiUserTableEnum.getMainTableFlagColumnName(), true);
icResiUserDao.upTable(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map);
icResiUserDao.updateTableSelective(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map);
}
/**

48
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -332,7 +332,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (map.containsKey("YHZGX") && RelationshipEnum.SELF.getCode().equals(map.get("YHZGX"))) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, map.get("HOME_ID"));
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
@ -601,7 +602,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (entity != null && !RelationshipEnum.SELF.getCode().equals(entity.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, entity.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
@ -712,7 +714,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
throw new RenException(String.format("居民信息修改,获取基础信息失败,基础信息Id->", resiUserId));
}
//2022-1-18 信息修改判断基础信息表人员网格、小区、楼栋、单元、房屋维度数据以及十八类的类别数据是否变化,相应生成变更记录和变更明细数据 sun start
icUserChangeRecord(tokenDto, entity, map);
icUserChangeRecord(entity, map);
//2022-1-18 sun end
//2.更新主表数据
if (map.size() > NumConstant.ONE) {
@ -793,10 +795,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
/**
* @Author sun
* @Description 居民信息修改--生成变更记录和变更明细
**/
private void icUserChangeRecord(TokenDto tokenDto, IcResiUserEntity entity, LinkedHashMap<String, String> map) {
* @description: 生成居民变更记录
* @param null:
* @return
* @author: sun
*/
public void icUserChangeRecord(IcResiUserEntity entity, LinkedHashMap<String, String> map) {
// prepare
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
String staffId = EpmetRequestHolder.getLoginUserId();
java.util.Date date = new java.util.Date();
//1.判断维度数据是否修改【网格、小区、楼栋、单元、房间有变化则先走人员调动逻辑】
if ((map.containsKey("GRID_ID") && !entity.getGridId().equals(map.get("GRID_ID"))) || (map.containsKey("VILLAGE_ID") && !entity.getVillageId().equals(map.get("VILLAGE_ID")))
@ -813,13 +821,13 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
formDTO.setNewHouseId(map.containsKey("HOME_ID") ? map.get("HOME_ID") : entity.getHomeId());
formDTO.setTransferTime(date);
formDTO.setIdEdit(false);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
formDTO.setCustomerId(customerId);
formDTO.setStaffId(staffId);
icUserTransferRecordService.add(formDTO);
}
//2.判断类别数据是否修改[类别修改的变更明细里边存修改后的新值,是就存1否就存-1]
IcResiCategoryStatsConfigDTO sfdto = new IcResiCategoryStatsConfigDTO();
sfdto.setCustomerId(tokenDto.getCustomerId());
sfdto.setCustomerId(customerId);
Result<List<IcResiCategoryStatsConfigDTO>> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(sfdto);
if (!categoryListResult.success()) {
throw new RenException("居民信息修改,获取客户居民类别预警配置表数据失败");
@ -844,7 +852,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
afterChangeName.append(dto.getLabel()).append(":").append("1".equals(newVlaue) ? "是" : "否").append(";");
//变更明细里边存修改后的新值,是就存1否就存-1
categoryEntity = new IcUserChangeDetailedEntity();
categoryEntity.setCustomerId(tokenDto.getCustomerId());
categoryEntity.setCustomerId(customerId);
categoryEntity.setPids(entity.getPids());
categoryEntity.setAgencyId(entity.getAgencyId());
categoryEntity.setGridId(map.containsKey("GRID_ID") ? map.get("GRID_ID") : entity.getGridId());
@ -863,9 +871,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
//居民信息修改中有类别修改的才会生成变更记录和变更明细
if (list.size() > NumConstant.ZERO) {
//变更记录
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
changeRecordEntity.setCustomerId(tokenDto.getCustomerId());
changeRecordEntity.setOperatorId(tokenDto.getUserId());
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(customerId, staffId);
changeRecordEntity.setCustomerId(customerId);
changeRecordEntity.setOperatorId(staffId);
changeRecordEntity.setIcUserId(entity.getId());
changeRecordEntity.setOperatorName(staffInfoCache.getRealName());
changeRecordEntity.setIcUserName(map.containsKey("NAME") ? map.get("NAME") : entity.getName());
@ -2768,7 +2776,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, dto.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
@ -2790,7 +2799,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, dto.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
@ -2840,7 +2850,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
@ -2872,7 +2883,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (RelationshipEnum.SELF.getCode().equals(dto.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, houseInfo.getHouseId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode())
.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR);
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";

3
epmet-user/epmet-user-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/epmetuser"/>
<!-- 统一调整Logback日志输出目录,执行jvm参数传入。默认./logs/myservice。参数指定方式:-Dlog.dir=/Volumes/data/epmetlog,则会打印到/Volumes/data/epmetlog/myservice。最后不要加/ -->
<property name="log.path" value="${log.dir:-logs}/epmetuser"/>
<springProperty scope="context" name="appname" source="spring.application.name"/>
<springProperty scope="context" name="webHook" source="dingTalk.robot.webHook"/>

8
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiCollectDao.xml

@ -19,6 +19,7 @@
<result property="homeId" column="homeId"/>
<result property="checkState" column="checkState"/>
<result property="agencyId" column="agencyId"/>
<result property="gridId" column="gridId"/>
<result property="domicilePlace" column="domicilePlace"></result>
<collection property="list" ofType="com.epmet.dto.result.CollectListResultDTO$CollectListMemberResultDTO" column="{id=id,domicilePlace=domicile_place}" select="selectMemberList"/>
</resultMap>
@ -32,6 +33,7 @@
c.HOME_ID as homeId,
c.CHECK_STATE as checkState,
c.AGENCY_ID as agencyId,
c.GRID_ID as gridId,
#{domicilePlace} as domicile_place
FROM ic_resi_collect c
left join ic_resi_member m on(c.id=m.IC_RESI_COLLECT_ID and m.del_flag='0')
@ -54,6 +56,12 @@
<if test='domicilePlace != null and domicilePlace != "" '>
AND m.DOMICILE_PLACE LIKE CONCAT('%',#{domicilePlace},'%')
</if>
<if test='checkState != null and checkState != "" '>
AND c.CHECK_STATE = #{checkState}
</if>
<if test='houseHolderName != null and houseHolderName != "" '>
AND c.HOUSE_HOLDER_NAME like concat('%', #{houseHolderName},'%')
</if>
ORDER BY c.CREATED_TIME DESC
</select>
<select id="selectMemberList" parameterType="map" resultType="com.epmet.dto.result.CollectListResultDTO$CollectListMemberResultDTO">

13
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -73,6 +73,19 @@
WHERE id = #{id}
</update>
<!-- 选择性更新(只更新不为null的) -->
<update id="updateTableSelective">
UPDATE ${tableName}
SET
<foreach collection="map.entrySet()" index="key" item="value" separator=",">
<if test="value != null and value != ''">
${key} = #{value}
</if>
</foreach>
,UPDATED_TIME = NOW()
WHERE id = #{id}
</update>
<select id="selectListMapById" parameterType="map" resultType="map">
select * from ic_resi_user where del_flag='0' and id=#{icResiUserId} and customer_id=#{customerId}

Loading…
Cancel
Save