diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 1f0d76e14f..d3e34b119d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -85,6 +85,7 @@ public interface NumConstant { String POSITIVE_EIGHT_STR = "+8"; String EMPTY_STR = ""; String ONE_NEG_STR = "-1"; + String ONE_HUNDRED_STR = "100"; String FIFTY_STR="50"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/NatPieColorEnum.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/NatPieColorEnum.java index 99a44729a6..6f6b58f854 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/NatPieColorEnum.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/enums/NatPieColorEnum.java @@ -13,7 +13,8 @@ public enum NatPieColorEnum { REd("0","#ee6666"), YELLOW("2","#fac858"), ORANGE("1","#fc8452"), - GREEN("3","#91cc75"), + THREE("3","#73c0de"), + GREEN("100","#91cc75"), ; private String key; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java index fc84fdc43d..169dc8ea37 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java @@ -15,6 +15,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcEpidemicSpecialAttentionDTO; +import com.epmet.dto.SysDictDataDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.NatPieResultDTO; @@ -23,6 +24,7 @@ import com.epmet.excel.NatExportExcel; import com.epmet.excel.NatImportExcel; import com.epmet.excel.VaccinationExportExcel; import com.epmet.excel.VaccinationImportExcel; +import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcEpidemicSpecialAttentionService; import lombok.extern.slf4j.Slf4j; @@ -35,7 +37,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -53,6 +57,8 @@ public class IcEpidemicSpecialAttentionController { private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient; /** * Desc: 【疫苗接种关注名单,疫苗接种关注名单】列表 @@ -195,11 +201,19 @@ public class IcEpidemicSpecialAttentionController { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); formDTO.setIsPage(false); - PageData pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO); + PageData pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO); // 关注类型,核酸检测:2,疫苗接种:1,行程上报:0 if (formDTO.getAttentionType().equals(NumConstant.ONE)){ ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), VaccinationExportExcel.class); }else { + Result> isolatedState = epmetAdminOpenFeignClient.dictDataList("isolatedState"); + if (!isolatedState.success()){ + throw new EpmetException("查询字典表数据失败..."+"isolatedState"); + } + Map dictMap = isolatedState.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictValue, SysDictDataDTO::getDictLabel)); + pageData.getList().forEach(l -> { + l.setIsolatedState(dictMap.get(l.getIsolatedState())); + }); ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), NatExportExcel.class); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java index 2f690d2d7c..52135be6e5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java @@ -45,6 +45,9 @@ public class ImportEpidemicSpecialAttention extends ExcelVerifyInfo { @Excel(name = "备注") private String remark; + @Excel(name = "隔离状态") + private String isolatedState; + @ExcelIgnore private Integer attentionType; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java index cc3d827af0..fd404ca278 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java @@ -29,7 +29,10 @@ public class NatExportExcel { @Excel(name = "关注原因",width = 40) private String reason; - @Excel(name = "最近一次通知时间",width = 20) - private String lastInformTime; + @Excel(name = "最后一次核酸时间",width = 20) + private String lastNatTime; + + @Excel(name = "隔离状态",width = 20) + private String isolatedState; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java index 490219bcb9..794ae31b9d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java @@ -162,7 +162,9 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.natList(formDTO)); result.setList(pageInfo.getList()); @@ -380,7 +382,6 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl errorInfo = new ArrayList<>(); - try { List list = ExcelPoiUtils.importExcel(inputStream, 0,1,ImportEpidemicSpecialAttention.class); if (CollectionUtils.isEmpty(list)){ @@ -405,7 +406,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl> isolatedState = epmetAdminOpenFeignClient.dictDataList("isolatedState"); + if (!isolatedState.success()){ + throw new EpmetException("查询字典表数据失败..."+"isolatedState"); } + Map dictMap = isolatedState.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel, SysDictDataDTO::getDictValue)); if (list.size() > errorInfo.size()){ - Map groupByIdCard = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting())); + Map groupByIdCard = list.stream().filter(l -> StringUtils.isNotBlank(l.getIdCard())).collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting())); groupByIdCard.forEach((idCard,count) -> { if (Integer.valueOf(count.toString()).compareTo(1) != 0){ for (ImportEpidemicSpecialAttention i : list) { @@ -428,6 +439,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl idCards = list.stream().map(m -> m.getIdCard()).collect(Collectors.toList()); + List existsEntities = new ArrayList<>(); List existList = baseDao.getExistList(attentionType, idCards); if (CollectionUtils.isNotEmpty(existList)){ for (String s : existList) { @@ -436,10 +448,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl> groupByStatus = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getAddStatus)); @@ -447,6 +466,9 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl entities = ConvertUtils.sourceToTarget(needInsert, IcEpidemicSpecialAttentionEntity.class); entities.forEach(e -> { + if (attentionType.compareTo(NumConstant.TWO) == NumConstant.ZERO){ + e.setIsolatedState(dictMap.get(e.getIsolatedState())); + } e.setIsAttention(NumConstant.ONE); e.setOrgId(agencyInfo.getId()); e.setPid(agencyInfo.getPid()); @@ -579,7 +601,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl