Browse Source

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

 Conflicts:
	epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
dev
jianjun 3 years ago
parent
commit
b37b0d35c5
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java
  2. 94
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  3. 51
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/utils/ImportTaskUtils.java
  4. 2
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml
  5. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  6. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java
  7. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java
  8. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java
  9. 47
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  10. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  11. 53
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  12. 33
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java

@ -20,4 +20,5 @@ public class OptionResultDTO implements Serializable {
private String sysDictDataId; private String sysDictDataId;
private List<OptionResultDTO> children; private List<OptionResultDTO> children;
private Boolean usableFlag; private Boolean usableFlag;
private String type;
} }

94
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -394,61 +394,61 @@
</foreach> </foreach>
</select> </select>
<select id="getCheckResult" resultType="com.epmet.dto.screen.result.DataCheckDTO"> <select id="getCheckResult" resultType="com.epmet.dto.screen.result.DataCheckDTO">
SELECT SELECT
CUSTOMER_ID, a.CUSTOMER_ID,
AGENCY_ID AS agencyId, AGENCY_ID AS agencyId,
CASE CASE
AGENCY_ID AGENCY_ID
WHEN '1258587398679126017' THEN WHEN '1258587398679126017' THEN
'榆山' '榆山'
WHEN '1215437824174608386' THEN WHEN '1215437824174608386' THEN
'锦水' '锦水'
WHEN '1234085031077498881' THEN WHEN '1234085031077498881' THEN
'孔村' '孔村'
WHEN 'f8d4a6af53b3fc5991ab1434b6ad39b8' THEN WHEN 'f8d4a6af53b3fc5991ab1434b6ad39b8' THEN
'东阿镇' '东阿镇'
WHEN 'f279343a67653fc20d8333c6b2e4dbee' THEN WHEN 'f279343a67653fc20d8333c6b2e4dbee' THEN
'孝直镇' '孝直镇'
WHEN 'ea78a8e9252f567517c4a8d60250c714' THEN WHEN 'ea78a8e9252f567517c4a8d60250c714' THEN
'安城镇' '安城镇'
WHEN 'c259c3b1d27f960b9b379fb2886179ba' THEN WHEN 'c259c3b1d27f960b9b379fb2886179ba' THEN
'洪范池镇' '洪范池镇'
WHEN 'd20a7488eedf5bcfd5231c3771bc0e3d' THEN WHEN 'd20a7488eedf5bcfd5231c3771bc0e3d' THEN
'玫瑰镇' '玫瑰镇' ELSE '未知'
ELSE '未知' END AS agencyName,
END AS agencyName,
PROJECT_TOTAL AS reportCount,
DATE_ID, DATE_ID,
PROJECT_TOTAL AS reportCount,
COUNT( b.PROJECT_ID ) AS count
FROM
( (
SELECT SELECT
count(*) AS dataCount *
FROM FROM
screen_project_data epmet_data_statistical.fact_agency_project_daily
WHERE WHERE
1 = 1 1 = 1
AND CUSTOMER_ID = a.CUSTOMER_ID
AND ALL_PARENT_IDS LIKE CONCAT( '%', a.AGENCY_ID, '%' )
AND DEL_FLAG = '0' AND DEL_FLAG = '0'
AND DATE_FORMAT( PROJECT_CREATE_TIME, '%Y%m%d' ) &lt;= DATE_ID AND CUSTOMER_ID IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' )
GROUP BY AND AGENCY_ID IN ( '1234085031077498881', '1215437824174608386', '1258587398679126017', 'c259c3b1d27f960b9b379fb2886179ba', 'd20a7488eedf5bcfd5231c3771bc0e3d', 'ea78a8e9252f567517c4a8d60250c714', 'f279343a67653fc20d8333c6b2e4dbee', 'f8d4a6af53b3fc5991ab1434b6ad39b8' )
AGENCY_ID <if test='null != dateId and "" != dateId'>
ORDER BY AND DATE_ID = #{dateId}
AGENCY_ID </if>
) AS count <if test='null != startDate and "" != startDate and null != endDate and "" != endDate'>
FROM AND DATE_ID BETWEEN #{startDate} AND #{endDate}
epmet_data_statistical.fact_agency_project_daily a </if>
WHERE ) a
1 = 1 LEFT JOIN (
AND del_flag = '0' SELECT
AND customer_id IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' ) *
AND AGENCY_ID IN ( '1234085031077498881', '1215437824174608386', '1258587398679126017', 'c259c3b1d27f960b9b379fb2886179ba', 'd20a7488eedf5bcfd5231c3771bc0e3d', 'ea78a8e9252f567517c4a8d60250c714', 'f279343a67653fc20d8333c6b2e4dbee', 'f8d4a6af53b3fc5991ab1434b6ad39b8' ) FROM
<if test='null != dateId and "" != dateId'> screen_project_data
AND DATE_ID = #{dateId} WHERE
</if> DEL_FLAG = '0'
<if test='null != startDate and "" != startDate and null != endDate and "" != endDate'> AND CUSTOMER_ID IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' )) b ON b.CUSTOMER_ID = a.CUSTOMER_ID
AND DATE_ID BETWEEN #{startDate} AND #{endDate} AND ALL_PARENT_IDS LIKE CONCAT( '%', a.AGENCY_ID, '%' )
</if> AND DATE_FORMAT( PROJECT_CREATE_TIME, '%Y%m%d' ) &lt;= DATE_ID
GROUP BY GROUP BY
CUSTOMER_ID,
AGENCY_ID, AGENCY_ID,
DATE_ID DATE_ID
HAVING HAVING
@ -456,7 +456,7 @@
AND reportCount != count AND reportCount != count
ORDER BY ORDER BY
AGENCY_ID, AGENCY_ID,
DATE_ID DESC DATE_ID DESC
</select> </select>
<update id="updateHistoryData"> <update id="updateHistoryData">

51
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/utils/ImportTaskUtils.java

@ -0,0 +1,51 @@
package com.epmet.utils;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
/**
* 导入任务工具类用于创建/完成导入工具
*/
public class ImportTaskUtils implements ResultDataResolver {
/**
* 创建导入任务可能抛出8000异常请考虑捕获异常
* @param originFileName 上传的文件的名称
* @param bizType 业务类型见ImportTaskConstants常量
* @return Result
*/
public static Result<ImportTaskCommonResultDTO> createImportTask(String originFileName, String bizType) {
ImportTaskCommonFormDTO form = new ImportTaskCommonFormDTO();
form.setOriginFileName(originFileName);
form.setOperatorId(EpmetRequestHolder.getHeader(AppClientConstant.USER_ID));
form.setBizType(bizType);
return SpringContextUtils.getBean(EpmetCommonServiceOpenFeignClient.class).createImportTask(form);
}
/**
* 结束导入任务
* @param taskId 任务ID
* @param processStatus 处理状态 见ImportTaskConstants
* @param resultDescFilePath 结果描述文件的路径
* @param resultDesc 结果简要描述文字
* @return Result
*/
public static Result finishImportTask(String taskId, String processStatus, String resultDescFilePath, String resultDesc) {
ImportTaskCommonFormDTO form = new ImportTaskCommonFormDTO();
form.setTaskId(taskId);
form.setOperatorId(EpmetRequestHolder.getHeader(AppClientConstant.USER_ID));
form.setProcessStatus(processStatus);
form.setResultDescFilePath(resultDescFilePath);
form.setResultDesc(resultDesc);
return SpringContextUtils.getBean(EpmetCommonServiceOpenFeignClient.class).finishImportTask(form);
}
}

2
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml

@ -41,7 +41,7 @@
ORDER BY sort ASC ORDER BY sort ASC
</select> </select>
<!-- sql递归 查询客户议题项目的分类信息以及递归查询二级分类信息 end--> <!-- sql递归 查询客户议题项目的分类信息以及递归查询二级分类信息 end-->
<select id="selectCategoryListByCustomer" resultType="com.epmet.dto.IssueProjectCategoryDictDTO"> <select id="selectCategoryListByCustomer" resultType="com.epmet.entity.IssueProjectCategoryDictEntity">
SELECT SELECT
ID, ID,
PID, PID,

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -72,7 +72,6 @@ public class BuildingServiceImpl implements BuildingService {
private IcBuildingUnitService icBuildingUnitService; private IcBuildingUnitService icBuildingUnitService;
@Resource @Resource
private IcHouseDao icHouseDao; private IcHouseDao icHouseDao;
@Resource @Resource
private CustomerAgencyDao customerAgencyDao; private CustomerAgencyDao customerAgencyDao;
@Resource @Resource

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java

@ -127,6 +127,7 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
OptionResultDTO dto = new OptionResultDTO(); OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getId()); dto.setValue(item.getId());
dto.setLabel(item.getDoorName()); dto.setLabel(item.getDoorName());
dto.setType(item.getRentFlag().toString());
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }

9
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java

@ -28,6 +28,7 @@ import com.epmet.dto.result.NatListCommonExcelResultDTO;
import com.epmet.dto.result.NatListResultDTO; import com.epmet.dto.result.NatListResultDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.IcNatService; import com.epmet.service.IcNatService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@ -221,12 +222,8 @@ public class IcNatController implements ResultDataResolver {
} }
// 2.生成导入任务记录 // 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
importTaskForm.setOperatorId(userId); ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.BIZ_TYPE_IC_NAT),
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ServiceConstant.EPMET_COMMON_SERVICE, ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入核酸检测信息错误", "excel导入核酸检测信息错误",

9
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java

@ -25,6 +25,7 @@ import com.epmet.dto.result.IcVaccineListResultDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.IcVaccineService; import com.epmet.service.IcVaccineService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@ -138,12 +139,8 @@ public class IcVaccineController implements ResultDataResolver {
} }
// 2.生成导入任务记录 // 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
importTaskForm.setOperatorId(userId); ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.BIZ_TYPE_IC_VACCINE),
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ServiceConstant.EPMET_COMMON_SERVICE, ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入疫苗接种信息错误", "excel导入疫苗接种信息错误",

47
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -40,6 +40,7 @@ import com.epmet.feign.OssFeignClient;
import com.epmet.service.IcNatService; import com.epmet.service.IcNatService;
import com.epmet.service.IcNoticeService; import com.epmet.service.IcNoticeService;
import com.epmet.service.UserService; import com.epmet.service.UserService;
import com.epmet.utils.ImportTaskUtils;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -48,6 +49,7 @@ import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -328,7 +330,6 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead();
Path errorDescFile = null;
String errorDesFileUrl = null; String errorDesFileUrl = null;
List<IcNatImportExcelData.RowRemarkMessage> errorRows = listener.getErrorRows(); List<IcNatImportExcelData.RowRemarkMessage> errorRows = listener.getErrorRows();
@ -340,16 +341,19 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
errorRows.addAll(otherRows); errorRows.addAll(otherRows);
// 生成并上传描述文件 // 生成并上传描述文件
OutputStream os = null;
FileItem fileItem = null;
if (errorRows.size() > 0) { if (errorRows.size() > 0) {
try { try {
// 文件生成 // 文件生成
Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des");
String fileName = UUID.randomUUID().toString().concat(".xlsx"); String timeMillis = String.valueOf(System.currentTimeMillis());
errorDescFile = errorDescDir.resolve(fileName); String fileName = "icnat_import_error_".concat(timeMillis).concat(".xlsx");
FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile())
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
OutputStream os = fileItem.getOutputStream();
os = fileItem.getOutputStream();
EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows);
// 文件上传oss // 文件上传oss
@ -357,38 +361,33 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
if (errorDesFileUploadResult.success()) { if (errorDesFileUploadResult.success()) {
errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); errorDesFileUrl = errorDesFileUploadResult.getData().getUrl();
} }
} finally { } finally {
if (Files.exists(errorDescFile)) { IOUtils.closeQuietly(os);
Files.delete(errorDescFile); try {
fileItem.delete();
} catch (Exception e){
log.error("【核酸检测导入】删除临时描述文件失败:{}", ExceptionUtils.getErrorStackTrace(e));
} }
} }
} }
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); // 完成导入
importFinishTaskForm.setTaskId(importTaskId); Result result = ImportTaskUtils.finishImportTask(importTaskId,
importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,
importFinishTaskForm.setOperatorId(userId); errorDesFileUrl,
importFinishTaskForm.setResultDesc(""); "");
importFinishTaskForm.setResultDescFilePath(errorDesFileUrl);
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) { if (!result.success()) {
log.error("【核酸检测导入】finishImportTask失败"); log.error("【核酸检测导入】导入记录状态修改为'finished_success'失败");
} }
} catch (Exception e) { } catch (Exception e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e); String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【核酸检测导入】出错:{}", errorMsg); log.error("【核酸检测导入】出错:{}", errorMsg);
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); Result result = ImportTaskUtils.finishImportTask(importTaskId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL, null, "导入失败");
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
importFinishTaskForm.setOperatorId(userId);
importFinishTaskForm.setResultDesc("导入失败");
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) { if (!result.success()) {
log.error("【核酸检测导入】导入记录状态修改为'完成'失败"); log.error("【核酸检测导入】导入记录状态修改为'finished_fail'失败");
} }
} finally { } finally {
// 删除临时文件 // 删除临时文件

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

@ -25,6 +25,7 @@ import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder; 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.utils.Result;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcResiUserDao;
@ -458,6 +459,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
columnAndValues.put("IS_CJ", "0"); columnAndValues.put("IS_CJ", "0");
columnAndValues.put("IS_DB", "0"); columnAndValues.put("IS_DB", "0");
columnAndValues.put("IS_MB", "0"); columnAndValues.put("IS_MB", "0");
columnAndValues.put("IS_TENANT", "0");
columnAndValues.put("IS_FLOATING", "0");
} else { } else {
// 该居民已存在,要做更新操作,因为还没有读取子sheet,所以这些居民最新类别没有办法获取,先设置上旧的数据 // 该居民已存在,要做更新操作,因为还没有读取子sheet,所以这些居民最新类别没有办法获取,先设置上旧的数据
columnAndValues.put("IS_ENSURE_HOUSE", existingResiMap.get("IS_ENSURE_HOUSE")); columnAndValues.put("IS_ENSURE_HOUSE", existingResiMap.get("IS_ENSURE_HOUSE"));
@ -478,6 +481,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
columnAndValues.put("IS_CJ", existingResiMap.get("IS_CJ")); columnAndValues.put("IS_CJ", existingResiMap.get("IS_CJ"));
columnAndValues.put("IS_DB", existingResiMap.get("IS_DB")); columnAndValues.put("IS_DB", existingResiMap.get("IS_DB"));
columnAndValues.put("IS_MB", existingResiMap.get("IS_MB")); columnAndValues.put("IS_MB", existingResiMap.get("IS_MB"));
columnAndValues.put("IS_TENANT", existingResiMap.get("IS_TENANT"));
columnAndValues.put("IS_FLOATING", existingResiMap.get("IS_FLOATING"));
} }
columnAndValues.put("AGENCY_ID", currUserAgencyId); columnAndValues.put("AGENCY_ID", currUserAgencyId);
@ -1244,8 +1249,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
// 文件名 // 文件名
String resultDescFileName = UUID.randomUUID().toString().concat(".xls"); String resultDescFileName = UUID.randomUUID().toString().concat(".xls");
FileItemFactory factory = new DiskFileItemFactory(16, null); FileItem fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, FileUtils.getAndCreateDirUnderEpmetFilesDir("temp").toFile())
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, resultDescFileName); .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, resultDescFileName);
OutputStream os = fileItem.getOutputStream(); OutputStream os = fileItem.getOutputStream();
Result<UploadImgResultDTO> uploadResult = null; Result<UploadImgResultDTO> uploadResult = null;
try { try {

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

@ -208,6 +208,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
} }
//2021.11.25 end //2021.11.25 end
//2022.04.19 start 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (map.containsKey("YHZGX")) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, map.get("HOME_ID"));
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
}
//2022.04.19 end
//查询组织信息 //查询组织信息
String agencyId = map.get("AGENCY_ID"); String agencyId = map.get("AGENCY_ID");
Result<CustomerAgencyDTO> result = govOrgOpenFeignClient.getAgencyById(agencyId); Result<CustomerAgencyDTO> result = govOrgOpenFeignClient.getAgencyById(agencyId);
@ -325,6 +338,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
} }
//2021.11.25 end //2021.11.25 end
//2022.04.19 start 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (map.containsKey("YHZGX")) {
IcResiUserEntity entity = baseDao.selectById(map.get("ID"));
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());
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
}
}
//2022.04.19 end
resiUserId = map.get("ID"); resiUserId = map.get("ID");
} }
} }
@ -1036,14 +1064,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
OwnerRelationResultDTO result = new OwnerRelationResultDTO(); OwnerRelationResultDTO result = new OwnerRelationResultDTO();
//获取用户信息 //获取用户信息
IcResiUserEntity user = baseDao.selectById(userId); IcResiUserEntity user = baseDao.selectById(userId);
result.setOwnerName("");
//获取用户所在家庭的户主
Result<IcHouseDTO> houseResult = govOrgOpenFeignClient.get(user.getHomeId());
if (!houseResult.success()) {
throw new RenException(houseResult.getCode(),houseResult.getMsg());
}
result.setOwnerName(houseResult.getData().getOwnerName());
//获取用户所在家庭里所有人员信息 //获取用户所在家庭里所有人员信息
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId()); wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId());
@ -1057,6 +1078,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (userId.equals(item.getId())) { if (userId.equals(item.getId())) {
bean.setIsSelf(NumConstant.ONE_STR); bean.setIsSelf(NumConstant.ONE_STR);
} }
//如果与房主的关系是本人,则这个人就是房主
if (RelationshipEnum.SELF.getCode().equals(item.getYhzgx())) {
result.setOwnerName(item.getName());
}
return bean; return bean;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
result.setUserList(userList); result.setUserList(userList);
@ -1298,14 +1323,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}else if (formDTO.getAttentionType().equals(NumConstant.ONE)){ }else if (formDTO.getAttentionType().equals(NumConstant.ONE)){
list = baseDao.vaccineList(formDTO); list = baseDao.vaccineList(formDTO);
} }
List<String> idCards = list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList()); Set<String> homeIds = list.stream().filter(m -> StringUtils.isNotBlank(m.getIdCard())).map(m -> m.getHomeId()).distinct().collect(Collectors.toSet());
if (CollectionUtils.isNotEmpty(idCards)){ if (CollectionUtils.isNotEmpty(homeIds)){
Result<List<HousesNameResultDTO>> housesNameByIdCards = govOrgOpenFeignClient.getHousesNameByIdCards(idCards); Result<List<HouseInfoDTO>> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(homeIds, formDTO.getCustomerId());
if (!housesNameByIdCards.success()){ if (!houseInfoRes.success()){
throw new EpmetException("查询居民所属房屋失败..."); throw new EpmetException("查询居民所属房屋失败...");
} }
if (CollectionUtils.isNotEmpty(housesNameByIdCards.getData())){ if (CollectionUtils.isNotEmpty(houseInfoRes.getData())){
list.forEach(l -> housesNameByIdCards.getData().stream().filter( h -> h.getIdCard().equals(l.getIdCard())).forEach(h -> l.setHouseName(h.getHouseName()))); list.forEach(l -> houseInfoRes.getData().stream().filter( h -> h.getHomeId().equals(l.getHomeId())).forEach(h -> l.setHouseName(h.getAllName())));
} }
} }
PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list); PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list);

33
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

@ -37,6 +37,7 @@ import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.OssFeignClient; import com.epmet.feign.OssFeignClient;
import com.epmet.service.IcVaccineService; import com.epmet.service.IcVaccineService;
import com.epmet.service.UserService; import com.epmet.service.UserService;
import com.epmet.utils.ImportTaskUtils;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -45,6 +46,7 @@ import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -177,7 +179,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
EasyExcel.read(filePath.toFile(), IcVaccineImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); EasyExcel.read(filePath.toFile(), IcVaccineImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead();
Path errorDescFile = null;
String errorDesFileUrl = null; String errorDesFileUrl = null;
List<IcVaccineImportExcelData.RowRemarkMessage> errorRows = listener.getErrorRows(); List<IcVaccineImportExcelData.RowRemarkMessage> errorRows = listener.getErrorRows();
@ -189,16 +190,17 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
errorRows.addAll(otherRows); errorRows.addAll(otherRows);
// 生成并上传描述文件 // 生成并上传描述文件
OutputStream os = null;
FileItem fileItem = null;
if (errorRows.size() > 0) { if (errorRows.size() > 0) {
try { try {
// 文件生成 // 文件生成
Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import", "error_des"); Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import", "error_des");
String fileName = UUID.randomUUID().toString().concat(".xlsx"); String fileName = UUID.randomUUID().toString().concat(".xlsx");
errorDescFile = errorDescDir.resolve(fileName);
FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile())
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
OutputStream os = fileItem.getOutputStream(); os = fileItem.getOutputStream();
EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows);
// 文件上传oss // 文件上传oss
@ -208,20 +210,23 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
} }
} finally { } finally {
if (Files.exists(errorDescFile)) { IOUtils.closeQuietly(os);
Files.delete(errorDescFile); if (!fileItem.isInMemory()) {
try {
fileItem.delete();
} catch (Exception e){
log.error("【疫苗接种导入】删除错误描述临时文件失败:{}", ExceptionUtils.getErrorStackTrace(e));
}
} }
} }
} }
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); Result result = ImportTaskUtils.finishImportTask(
importFinishTaskForm.setTaskId(importTaskId); importTaskId,
importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,
importFinishTaskForm.setOperatorId(userId); errorDesFileUrl,
importFinishTaskForm.setResultDesc(""); "");
importFinishTaskForm.setResultDescFilePath(errorDesFileUrl);
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) { if (!result.success()) {
log.error("【疫苗接种导入】finishImportTask失败"); log.error("【疫苗接种导入】finishImportTask失败");
} }

Loading…
Cancel
Save