Browse Source

Merge branch 'dev_special_focus_update'

master
zxc 3 years ago
parent
commit
fcb8287333
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  2. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/enums/NatPieColorEnum.java
  3. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java
  4. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ImportEpidemicSpecialAttention.java
  5. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/NatExportExcel.java
  6. 32
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java
  7. 5
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.70__default_ic_epidemic_special_attention.sql
  8. BIN
      epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx

1
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";
}

3
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;

16
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<VaccinationListResultDTO> pageData = icEpidemicSpecialAttentionService.vaccinationList(formDTO);
// 关注类型,核酸检测:2,疫苗接种:1,行程上报:0
if (formDTO.getAttentionType().equals(NumConstant.ONE)){
ExcelUtils.exportExcelToTarget(response, null, pageData.getList(), VaccinationExportExcel.class);
}else {
Result<List<SysDictDataDTO>> isolatedState = epmetAdminOpenFeignClient.dictDataList("isolatedState");
if (!isolatedState.success()){
throw new EpmetException("查询字典表数据失败..."+"isolatedState");
}
Map<String, String> 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);
}

3
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;

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

32
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java

@ -162,7 +162,9 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
result.setTotal(list.size());
}
}else if (formDTO.getAttentionType().equals(NumConstant.TWO)){
formDTO.setIsHistory(NumConstant.ZERO_STR);
if (StringUtils.isBlank(formDTO.getIsHistory())){
formDTO.setIsHistory(NumConstant.ZERO_STR);
}
if (formDTO.getIsPage()){
PageInfo<VaccinationListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.natList(formDTO));
result.setList(pageInfo.getList());
@ -380,7 +382,6 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
@Async
public void importFile(TokenDto tokenDto, InputStream inputStream, Integer attentionType, String taskId) {
List<EpidemicSpecialAttentionErrorModel> errorInfo = new ArrayList<>();
try {
List<ImportEpidemicSpecialAttention> list = ExcelPoiUtils.importExcel(inputStream, 0,1,ImportEpidemicSpecialAttention.class);
if (CollectionUtils.isEmpty(list)){
@ -405,7 +406,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
continue;
}
if (StringUtils.isBlank(list.get(i).getIdCard()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "身份证号不能为空",i+1));
errorInfo.add(getErrorInfo(list.get(i), "证号不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
@ -414,9 +415,19 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
list.get(i).setAddStatus(true);
continue;
}
if (attentionType.compareTo(NumConstant.TWO) == NumConstant.ZERO && StringUtils.isBlank(list.get(i).getIsolatedState()) && !list.get(i).getAddStatus()){
errorInfo.add(getErrorInfo(list.get(i), "隔离状态不能为空",i+1));
list.get(i).setAddStatus(true);
continue;
}
}
Result<List<SysDictDataDTO>> isolatedState = epmetAdminOpenFeignClient.dictDataList("isolatedState");
if (!isolatedState.success()){
throw new EpmetException("查询字典表数据失败..."+"isolatedState");
}
Map<String, String> dictMap = isolatedState.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel, SysDictDataDTO::getDictValue));
if (list.size() > errorInfo.size()){
Map<String, Long> groupByIdCard = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getIdCard, Collectors.counting()));
Map<String, Long> 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<IcEpi
}
});
List<String> idCards = list.stream().map(m -> m.getIdCard()).collect(Collectors.toList());
List<IcEpidemicSpecialAttentionEntity> existsEntities = new ArrayList<>();
List<String> existList = baseDao.getExistList(attentionType, idCards);
if (CollectionUtils.isNotEmpty(existList)){
for (String s : existList) {
@ -436,10 +448,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
// 按照产品指示,去除提示错误信息,并不做操作
// errorInfo.add(getErrorInfo(list.get(i),"数据已存在",list.get(i).getNum()));
list.get(i).setAddStatus(true);
if (attentionType.compareTo(NumConstant.TWO) == NumConstant.ZERO){
list.get(i).setIsolatedState(dictMap.get(list.get(i).getIsolatedState()));
existsEntities.add(ConvertUtils.sourceToTarget(list.get(i),IcEpidemicSpecialAttentionEntity.class));
}
continue;
}
}
}
if (attentionType.compareTo(NumConstant.TWO) == NumConstant.ZERO && CollectionUtils.isNotEmpty(existsEntities)) {
baseDao.addExistAttention(existsEntities, attentionType);
}
}
}
Map<Boolean, List<ImportEpidemicSpecialAttention>> groupByStatus = list.stream().collect(Collectors.groupingBy(ImportEpidemicSpecialAttention::getAddStatus));
@ -447,6 +466,9 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
if (CollectionUtils.isNotEmpty(needInsert)){
List<IcEpidemicSpecialAttentionEntity> 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<IcEpi
NatPieResultDTO.IsolatedList dto = new NatPieResultDTO.IsolatedList();
dto.setCategoryCode("");
dto.setCategoryName("历史关注人数");
dto.setColor(NatPieColorEnum.getValueByKey(NumConstant.THREE_STR));
dto.setColor(NatPieColorEnum.getValueByKey(NumConstant.ONE_HUNDRED_STR));
dto.setTotal(baseDao.getHistoryCount(staffInfo.getAgencyId()));
result.setIsolatedList(conResult);
result.setHistoryList(Arrays.asList(dto));

5
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.70__default_ic_epidemic_special_attention.sql

@ -0,0 +1,5 @@
UPDATE ic_epidemic_special_attention
SET UPDATED_TIME = NOW(),
ISOLATED_STATE = '1'
WHERE ISOLATED_STATE IS NULL
AND ATTENTION_TYPE = 2;

BIN
epmet-user/epmet-user-server/src/main/resources/excel/attention_nat_template.xlsx

Binary file not shown.
Loading…
Cancel
Save