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 List<OptionResultDTO> children;
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>
</select>
<select id="getCheckResult" resultType="com.epmet.dto.screen.result.DataCheckDTO">
SELECT
CUSTOMER_ID,
SELECT
a.CUSTOMER_ID,
AGENCY_ID AS agencyId,
CASE
AGENCY_ID
WHEN '1258587398679126017' THEN
'榆山'
WHEN '1215437824174608386' THEN
'锦水'
WHEN '1234085031077498881' THEN
'孔村'
WHEN 'f8d4a6af53b3fc5991ab1434b6ad39b8' THEN
'东阿镇'
WHEN 'f279343a67653fc20d8333c6b2e4dbee' THEN
'孝直镇'
WHEN 'ea78a8e9252f567517c4a8d60250c714' THEN
'安城镇'
WHEN 'c259c3b1d27f960b9b379fb2886179ba' THEN
'洪范池镇'
WHEN 'd20a7488eedf5bcfd5231c3771bc0e3d' THEN
'玫瑰镇'
ELSE '未知'
END AS agencyName,
PROJECT_TOTAL AS reportCount,
CASE
AGENCY_ID
WHEN '1258587398679126017' THEN
'榆山'
WHEN '1215437824174608386' THEN
'锦水'
WHEN '1234085031077498881' THEN
'孔村'
WHEN 'f8d4a6af53b3fc5991ab1434b6ad39b8' THEN
'东阿镇'
WHEN 'f279343a67653fc20d8333c6b2e4dbee' THEN
'孝直镇'
WHEN 'ea78a8e9252f567517c4a8d60250c714' THEN
'安城镇'
WHEN 'c259c3b1d27f960b9b379fb2886179ba' THEN
'洪范池镇'
WHEN 'd20a7488eedf5bcfd5231c3771bc0e3d' THEN
'玫瑰镇' ELSE '未知'
END AS agencyName,
DATE_ID,
PROJECT_TOTAL AS reportCount,
COUNT( b.PROJECT_ID ) AS count
FROM
(
SELECT
count(*) AS dataCount
*
FROM
screen_project_data
epmet_data_statistical.fact_agency_project_daily
WHERE
1 = 1
AND CUSTOMER_ID = a.CUSTOMER_ID
AND ALL_PARENT_IDS LIKE CONCAT( '%', a.AGENCY_ID, '%' )
AND DEL_FLAG = '0'
AND DATE_FORMAT( PROJECT_CREATE_TIME, '%Y%m%d' ) &lt;= DATE_ID
GROUP BY
AGENCY_ID
ORDER BY
AGENCY_ID
) AS count
FROM
epmet_data_statistical.fact_agency_project_daily a
WHERE
1 = 1
AND del_flag = '0'
AND customer_id IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' )
AND AGENCY_ID IN ( '1234085031077498881', '1215437824174608386', '1258587398679126017', 'c259c3b1d27f960b9b379fb2886179ba', 'd20a7488eedf5bcfd5231c3771bc0e3d', 'ea78a8e9252f567517c4a8d60250c714', 'f279343a67653fc20d8333c6b2e4dbee', 'f8d4a6af53b3fc5991ab1434b6ad39b8' )
<if test='null != dateId and "" != dateId'>
AND DATE_ID = #{dateId}
</if>
<if test='null != startDate and "" != startDate and null != endDate and "" != endDate'>
AND DATE_ID BETWEEN #{startDate} AND #{endDate}
</if>
AND CUSTOMER_ID IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' )
AND AGENCY_ID IN ( '1234085031077498881', '1215437824174608386', '1258587398679126017', 'c259c3b1d27f960b9b379fb2886179ba', 'd20a7488eedf5bcfd5231c3771bc0e3d', 'ea78a8e9252f567517c4a8d60250c714', 'f279343a67653fc20d8333c6b2e4dbee', 'f8d4a6af53b3fc5991ab1434b6ad39b8' )
<if test='null != dateId and "" != dateId'>
AND DATE_ID = #{dateId}
</if>
<if test='null != startDate and "" != startDate and null != endDate and "" != endDate'>
AND DATE_ID BETWEEN #{startDate} AND #{endDate}
</if>
) a
LEFT JOIN (
SELECT
*
FROM
screen_project_data
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID IN ( '2fe0065f70ca0e23ce4c26fca5f1d933', '44876154d10d7cb7affd92000f84f833', '46c55cb862d6d5e6d05d2ab61a1cc07e', '6f203e30de1a65aab7e69c058826cd80' )) b ON b.CUSTOMER_ID = a.CUSTOMER_ID
AND ALL_PARENT_IDS LIKE CONCAT( '%', a.AGENCY_ID, '%' )
AND DATE_FORMAT( PROJECT_CREATE_TIME, '%Y%m%d' ) &lt;= DATE_ID
GROUP BY
CUSTOMER_ID,
AGENCY_ID,
DATE_ID
HAVING
@ -456,7 +456,7 @@
AND reportCount != count
ORDER BY
AGENCY_ID,
DATE_ID DESC
DATE_ID DESC
</select>
<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
</select>
<!-- sql递归 查询客户议题项目的分类信息以及递归查询二级分类信息 end-->
<select id="selectCategoryListByCustomer" resultType="com.epmet.dto.IssueProjectCategoryDictDTO">
<select id="selectCategoryListByCustomer" resultType="com.epmet.entity.IssueProjectCategoryDictEntity">
SELECT
ID,
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;
@Resource
private IcHouseDao icHouseDao;
@Resource
private CustomerAgencyDao customerAgencyDao;
@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();
dto.setValue(item.getId());
dto.setLabel(item.getDoorName());
dto.setType(item.getRentFlag().toString());
return dto;
}).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.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.IcNatService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
@ -221,12 +222,8 @@ public class IcNatController implements ResultDataResolver {
}
// 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
importTaskForm.setOperatorId(userId);
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.BIZ_TYPE_IC_NAT),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"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.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.service.IcVaccineService;
import com.epmet.utils.ImportTaskUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
@ -138,12 +139,8 @@ public class IcVaccineController implements ResultDataResolver {
}
// 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
importTaskForm.setOperatorId(userId);
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(
ImportTaskUtils.createImportTask(originalFilename, ImportTaskConstants.BIZ_TYPE_IC_VACCINE),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"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.IcNoticeService;
import com.epmet.service.UserService;
import com.epmet.utils.ImportTaskUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.disk.DiskFileItemFactory;
import org.apache.http.entity.ContentType;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
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();
Path errorDescFile = null;
String errorDesFileUrl = null;
List<IcNatImportExcelData.RowRemarkMessage> errorRows = listener.getErrorRows();
@ -340,16 +341,19 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
errorRows.addAll(otherRows);
// 生成并上传描述文件
OutputStream os = null;
FileItem fileItem = null;
if (errorRows.size() > 0) {
try {
// 文件生成
Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des");
String fileName = UUID.randomUUID().toString().concat(".xlsx");
errorDescFile = errorDescDir.resolve(fileName);
String timeMillis = String.valueOf(System.currentTimeMillis());
String fileName = "icnat_import_error_".concat(timeMillis).concat(".xlsx");
FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile());
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName);
OutputStream os = fileItem.getOutputStream();
fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile())
.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
os = fileItem.getOutputStream();
EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows);
// 文件上传oss
@ -357,38 +361,33 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
if (errorDesFileUploadResult.success()) {
errorDesFileUrl = errorDesFileUploadResult.getData().getUrl();
}
} finally {
if (Files.exists(errorDescFile)) {
Files.delete(errorDescFile);
IOUtils.closeQuietly(os);
try {
fileItem.delete();
} catch (Exception e){
log.error("【核酸检测导入】删除临时描述文件失败:{}", ExceptionUtils.getErrorStackTrace(e));
}
}
}
ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO();
importFinishTaskForm.setTaskId(importTaskId);
importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS);
importFinishTaskForm.setOperatorId(userId);
importFinishTaskForm.setResultDesc("");
importFinishTaskForm.setResultDescFilePath(errorDesFileUrl);
// 完成导入
Result result = ImportTaskUtils.finishImportTask(importTaskId,
failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS,
errorDesFileUrl,
"");
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【核酸检测导入】finishImportTask失败");
log.error("【核酸检测导入】导入记录状态修改为'finished_success'失败");
}
} 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(userId);
importFinishTaskForm.setResultDesc("导入失败");
Result result = ImportTaskUtils.finishImportTask(importTaskId, ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL, null, "导入失败");
Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm);
if (!result.success()) {
log.error("【核酸检测导入】导入记录状态修改为'完成'失败");
log.error("【核酸检测导入】导入记录状态修改为'finished_fail'失败");
}
} 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.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcResiUserDao;
@ -458,6 +459,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
columnAndValues.put("IS_CJ", "0");
columnAndValues.put("IS_DB", "0");
columnAndValues.put("IS_MB", "0");
columnAndValues.put("IS_TENANT", "0");
columnAndValues.put("IS_FLOATING", "0");
} else {
// 该居民已存在,要做更新操作,因为还没有读取子sheet,所以这些居民最新类别没有办法获取,先设置上旧的数据
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_DB", existingResiMap.get("IS_DB"));
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);
@ -1244,8 +1249,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
// 文件名
String resultDescFileName = UUID.randomUUID().toString().concat(".xls");
FileItemFactory factory = new DiskFileItemFactory(16, null);
FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, resultDescFileName);
FileItem fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, FileUtils.getAndCreateDirUnderEpmetFilesDir("temp").toFile())
.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, resultDescFileName);
OutputStream os = fileItem.getOutputStream();
Result<UploadImgResultDTO> uploadResult = null;
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
//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");
Result<CustomerAgencyDTO> result = govOrgOpenFeignClient.getAgencyById(agencyId);
@ -325,6 +338,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
}
//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");
}
}
@ -1036,14 +1064,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
OwnerRelationResultDTO result = new OwnerRelationResultDTO();
//获取用户信息
IcResiUserEntity user = baseDao.selectById(userId);
//获取用户所在家庭的户主
Result<IcHouseDTO> houseResult = govOrgOpenFeignClient.get(user.getHomeId());
if (!houseResult.success()) {
throw new RenException(houseResult.getCode(),houseResult.getMsg());
}
result.setOwnerName(houseResult.getData().getOwnerName());
result.setOwnerName("");
//获取用户所在家庭里所有人员信息
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId());
@ -1057,6 +1078,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (userId.equals(item.getId())) {
bean.setIsSelf(NumConstant.ONE_STR);
}
//如果与房主的关系是本人,则这个人就是房主
if (RelationshipEnum.SELF.getCode().equals(item.getYhzgx())) {
result.setOwnerName(item.getName());
}
return bean;
}).collect(Collectors.toList());
result.setUserList(userList);
@ -1298,14 +1323,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}else if (formDTO.getAttentionType().equals(NumConstant.ONE)){
list = baseDao.vaccineList(formDTO);
}
List<String> idCards = list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(idCards)){
Result<List<HousesNameResultDTO>> housesNameByIdCards = govOrgOpenFeignClient.getHousesNameByIdCards(idCards);
if (!housesNameByIdCards.success()){
Set<String> homeIds = list.stream().filter(m -> StringUtils.isNotBlank(m.getIdCard())).map(m -> m.getHomeId()).distinct().collect(Collectors.toSet());
if (CollectionUtils.isNotEmpty(homeIds)){
Result<List<HouseInfoDTO>> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(homeIds, formDTO.getCustomerId());
if (!houseInfoRes.success()){
throw new EpmetException("查询居民所属房屋失败...");
}
if (CollectionUtils.isNotEmpty(housesNameByIdCards.getData())){
list.forEach(l -> housesNameByIdCards.getData().stream().filter( h -> h.getIdCard().equals(l.getIdCard())).forEach(h -> l.setHouseName(h.getHouseName())));
if (CollectionUtils.isNotEmpty(houseInfoRes.getData())){
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);

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

Loading…
Cancel
Save