diff --git a/doc/epmet-cloud.md b/doc/epmet-cloud.md
index 28dfe7ff08..9017656602 100644
--- a/doc/epmet-cloud.md
+++ b/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
\ No newline at end of file
+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 阿里云短信
\ No newline at end of file
diff --git a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
index 3d27fa4d07..2b7d942e79 100644
--- a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
+++ b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-auth/src/main/resources/logback-spring.xml b/epmet-auth/src/main/resources/logback-spring.xml
index 3ddc774384..10e7129112 100644
--- a/epmet-auth/src/main/resources/logback-spring.xml
+++ b/epmet-auth/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-gateway/src/main/resources/logback-spring.xml b/epmet-gateway/src/main/resources/logback-spring.xml
index 1e050e9686..652ce500c4 100644
--- a/epmet-gateway/src/main/resources/logback-spring.xml
+++ b/epmet-gateway/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml
index c639482221..d1cb010d4f 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
index 86de057fc6..53c7e59c69 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
index 7d2b7648a3..c320f80c0d 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml
index 280e9f4bb2..c639444cee 100644
--- a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml
index dbd4fe85bb..9102439017 100644
--- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml
index 1b8b94ba78..4f79c1b027 100644
--- a/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml
index 8f428f8d5f..aa0f9f0a7b 100644
--- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml
index b03ee98c4c..2239f625db 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml
index 36cbaf8d12..999b42342b 100644
--- a/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml
index 338e0b9495..ddb20915c4 100644
--- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml
index 8a71d1a810..d18ef07d28 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml
index e279b43303..81366ebe09 100644
--- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml
index f8e2164fb7..70dde2e876 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml
index 9070f33f63..521b890c6c 100644
--- a/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
index b54d66f380..d0e5f2b64c 100644
--- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
index 26e92fef88..d31ef9d410 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml
index 33466c3178..31d1a8af02 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
index da70a814b7..c3c22a644e 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
+++ b/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().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();
+ }
+
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/DeptExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/DeptExcelImportListener.java
new file mode 100644
index 0000000000..5419175bff
--- /dev/null
+++ b/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 {
+ //最大条数阈值
+ public static final int MAX_THRESHOLD = 200;
+ private String customerId;
+ private String staffId;
+ private CustomerAgencyEntity agencyEntity;
+ /**
+ * 当前操作用户
+ */
+ //要插入的数据
+ private List insertDatas = new ArrayList<>();
+ //错误项列表
+ private List 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 getErrorRows() {
+ return errorRows;
+ }
+
+}
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/yt/DeptImportExcelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/yt/DeptImportExcelDTO.java
new file mode 100644
index 0000000000..302fe9afd7
--- /dev/null
+++ b/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;
+ }
+}
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java
index bcb0267e38..0cdcf1373d 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerDepartmentService.java
@@ -102,4 +102,6 @@ public interface CustomerDepartmentService extends BaseService 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(),"部门名称已存在","部门名称已存在");
+ }
+ }
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
index 5aad1c9b59..c518e45d14 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
+++ b/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 addDepartment(AddDepartmentFormDTO formDTO) {
+ //同一组织下部门名称唯一
+ SpringContextUtils.getBean(CustomerDepartmentService.class).checkUnqiueName(formDTO.getAgencyId(),formDTO.getDepartmentName(),null);
Result result = new Result();
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 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 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);
+ }
+ }
+ }
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
index 10b1be7d14..9e9e0fa801 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
+++ b/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());
}
/**
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/yantai_dept_import_tem.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/yantai_dept_import_tem.xlsx
new file mode 100644
index 0000000000..a3e51d0f54
Binary files /dev/null and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/yantai_dept_import_tem.xlsx differ
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml
index f366605fba..5371a1f541 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml
index a1e8c5f1b0..ad19a235ae 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java
index f5fe57d143..db7177a3fa 100644
--- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/GuideDTO.java
+++ b/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;
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java
index eadca17c92..b02baa9609 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java
+++ b/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 implements GuideService {
- @Resource
- private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Resource
private GuideModuleService guideModuleService;
@Resource
@@ -184,7 +183,7 @@ public class GuideServiceImpl extends BaseServiceImpl imp
orgFormDTO.setOrgId(formDTO.getOrgId());
orgFormDTO.setOrgType(formDTO.getOrgType());
//获取组织的pId和pIds
- Result result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
+ /*Result 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 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 imp
orgFormDTO.setOrgType(formDTO.getOrgType());
guideDTO.setOrgName(formDTO.getOrgName());
//获取组织的pId和pIds
- Result result = govOrgOpenFeignClient.getAgencyInfo(orgFormDTO);
+ /*Result 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 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())) {
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml
index 6c230be6bf..c26e31a513 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml
index 52007cee9e..9a7b45fc31 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleContentDao.xml
+++ b/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}
\ No newline at end of file
diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml
index 36ddc6f222..03c538fdc0 100644
--- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml
index e22bb16a66..080c035973 100644
--- a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml
index b670ba07bf..5a0f538ff1 100644
--- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml
index cedd663d22..40a734010f 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml
index 6a517afaff..bbc34e798a 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml
index 126316c645..a42f347111 100644
--- a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml
index a5db66cb09..049506c162 100644
--- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml
index 0b5eedfde0..490067bb31 100644
--- a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml
index f797654dbd..a0c67122f7 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml
index b8b3161188..1bc47d8520 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml
index 408ee874df..a69c72cdd0 100644
--- a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml
@@ -3,7 +3,8 @@
-
+
+
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectListFormDTO.java
index 99957503cf..8e0a581428 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CollectListFormDTO.java
+++ b/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;
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java
index 6e9fa340ee..8677b71c5a 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectHouseInfoResultDTO.java
+++ b/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;
+
+
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListExcelResultDTO.java
index 04a34bb814..0b4dc12e1a 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListExcelResultDTO.java
+++ b/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;
+
/**
* 户主姓名
*/
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
index 9851be6340..44edef865e 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CollectListResultDTO.java
+++ b/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;
/**
* 人脸照片
*/
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java
new file mode 100644
index 0000000000..29758a6edf
--- /dev/null
+++ b/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;
+ }
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
index d508f670e8..944e2721cd 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
+++ b/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);
}
/**
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
index a3a2f9d40d..4ea378aaaf 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
@@ -63,6 +63,17 @@ public interface IcResiUserDao extends BaseDao {
**/
void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map 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 map);
+
List