Browse Source

未做核酸比对,增加备注、采样时间。 修改了下查询接口,还有导出sql

dev
yinzuomei 3 years ago
parent
commit
24f1d574e3
  1. 8
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java
  2. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java
  3. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java
  4. 66
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java
  5. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml

8
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java

@ -82,6 +82,14 @@ public class IcNatCompareRecordDTO implements Serializable {
@ExcelIgnore
private String icResiUserId;
/***
* 采样时间
*/
@ColumnWidth(30)
@ExcelProperty("最近一次采样时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date latestCyTime;
/**
* 最近一次核酸时间:接口填入
*/

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java

@ -38,5 +38,9 @@ public class IcNatCompareRecordPageFormDTO extends PageFormDTO {
private String customerId;
private String userId;
private String agencyId;
/**
* 采样日期yyyyMMdd
*/
private String cyDate;
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java

@ -45,7 +45,10 @@ public class IcNatCompareRecordEntity extends BaseEpmetEntity {
* 是否客户下居民ic_resi_user.id
*/
private String icResiUserId;
/**
* 最近一次采样时间:接口填入
*/
private Date latestCyTime;
/**
* 最近一次核酸时间:接口填入
*/
@ -68,4 +71,9 @@ public class IcNatCompareRecordEntity extends BaseEpmetEntity {
* 最新一次导入时间对应ic_nat_compare_rec_relation.IMPORT_TIME
*/
private Date latestImportTime;
/**
* 备注系统内部使用方便看看错误
*/
private String internalRemark;
}

66
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java

@ -5,6 +5,7 @@ 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.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.YtHscyResDTO;
import com.epmet.commons.tools.dto.result.YtHsjcResDTO;
import com.epmet.commons.tools.dto.result.YtHsjcResDetailDTO;
import com.epmet.commons.tools.enums.EnvEnum;
@ -84,27 +85,54 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener<IcNat
// 开发和测试没法测试,只能写死只有生产才去调用了 烟台客户id:1535072605621841922
EnvEnum currentEnv = EnvEnum.getCurrentEnv();
if (EnvEnum.PROD.getCode().equals(currentEnv.getCode()) && "1535072605621841922".equals(customerId)) {
// 调用烟台api获取核酸检测结果
YtHsjcResDTO hsjcResDTO = YtHsResUtils.hsjc(data.getIdCard(), 1, 1);
if (null != hsjcResDTO && CollectionUtils.isNotEmpty(hsjcResDTO.getData()) && null != hsjcResDTO.getData().get(0)) {
YtHsjcResDetailDTO ytHsjcResDetailDTO = hsjcResDTO.getData().get(0);
String testTime = ytHsjcResDetailDTO.getTest_time();
if (StringUtils.isNotBlank(testTime)) {
// 赋值最近一次核酸时间
compareRecordEntity.setLatestNatTime(DateUtils.parse(testTime, DateUtils.DATE_TIME_PATTERN));
}
// 赋值检测地点
compareRecordEntity.setNatAddress(StringUtils.isNotBlank(ytHsjcResDetailDTO.getSampling_org_pcr()) ? ytHsjcResDetailDTO.getSampling_org_pcr() : StrConstant.EPMETY_STR);
//先查询最后一次采样记录
YtHscyResDTO hscyResDTO=YtHsResUtils.hscy(data.getIdCard(),1,1);
if(CollectionUtils.isNotEmpty(hscyResDTO.getData())){
//存在 最近一条采样记录
YtHscyResDTO.YtHscyResDetail cyDetail=hscyResDTO.getData().get(0);
if (null != cyDetail) {
if(StringUtils.isBlank(cyDetail.getCreate_time())){
compareRecordEntity.setInternalRemark("create_time is null");
}else{
//赋值采样时间
compareRecordEntity.setLatestCyTime(DateUtils.parse(cyDetail.getCreate_time(),DateUtils.DATE_TIME_PATTERN));
// 调用烟台api获取核酸检测结果
YtHsjcResDTO hsjcResDTO = YtHsResUtils.hsjc(data.getIdCard(), 1, 1);
if (null != hsjcResDTO && CollectionUtils.isNotEmpty(hsjcResDTO.getData()) && null != hsjcResDTO.getData().get(0)) {
YtHsjcResDetailDTO ytHsjcResDetailDTO = hsjcResDTO.getData().get(0);
//最近一次采样时间,与最近一次检测结果的采样时间相比较
if(compareRecordEntity.getLatestCyTime().equals(ytHsjcResDetailDTO.getSample_time())){
// 一致说明出结果了
String testTime = ytHsjcResDetailDTO.getTest_time();
if (StringUtils.isNotBlank(testTime)) {
// 赋值最近一次核酸时间
compareRecordEntity.setLatestNatTime(DateUtils.parse(testTime, DateUtils.DATE_TIME_PATTERN));
}
// 赋值检测地点
compareRecordEntity.setNatAddress(StringUtils.isNotBlank(ytHsjcResDetailDTO.getSampling_org_pcr()) ? ytHsjcResDetailDTO.getSampling_org_pcr() : StrConstant.EPMETY_STR);
// "sample_result_pcr":"2",// 核酸检测结果 1:阳性,2:阴性
String sample_result_pcr = ytHsjcResDetailDTO.getSample_result_pcr();
if (NumConstant.ONE_STR.equals(sample_result_pcr)) {
// 检测结果(0:阴性 1:阳性):接口填入
compareRecordEntity.setNatResult(NumConstant.ONE_STR);
} else if (NumConstant.TWO_STR.equals(sample_result_pcr)) {
compareRecordEntity.setNatResult(NumConstant.ZERO_STR);
// "sample_result_pcr":"2",// 核酸检测结果 1:阳性,2:阴性
String sample_result_pcr = ytHsjcResDetailDTO.getSample_result_pcr();
if (NumConstant.ONE_STR.equals(sample_result_pcr)) {
// 检测结果(0:阴性 1:阳性):接口填入
compareRecordEntity.setNatResult(NumConstant.ONE_STR);
} else if (NumConstant.TWO_STR.equals(sample_result_pcr)) {
compareRecordEntity.setNatResult(NumConstant.ZERO_STR);
}
compareRecordEntity.setContactAddress(StringUtils.isNotBlank(ytHsjcResDetailDTO.getAddress()) ? ytHsjcResDetailDTO.getAddress() : StrConstant.EPMETY_STR);
}else{
//采样时间不一致,说明未出结果
compareRecordEntity.setInternalRemark(String.format("采样时间不一致,采样接口返回的采样时间:%s,检测结果接口返回的采样时间:%s",compareRecordEntity.getLatestCyTime(),ytHsjcResDetailDTO.getSample_time()));
}
}else{
compareRecordEntity.setInternalRemark("检测结果查询接口为空");
}
}
}else{
compareRecordEntity.setInternalRemark("采样信息查询接口返回成功,data is null");
}
compareRecordEntity.setContactAddress(StringUtils.isNotBlank(ytHsjcResDetailDTO.getAddress()) ? ytHsjcResDetailDTO.getAddress() : StrConstant.EPMETY_STR);
}else{
compareRecordEntity.setInternalRemark("采样信息查询接口返回失败,data is empty");
}
}
datas.add(compareRecordEntity);

4
epmet-user/epmet-user-server/src/main/resources/mapper/IcNatCompareRecordDao.xml

@ -11,6 +11,7 @@
c.MOBILE,
c.ID_CARD,
c.`NAME`,
c.LATEST_CY_TIME,
c.LATEST_NAT_TIME,
c.NAT_ADDRESS,
c.NAT_RESULT,
@ -55,6 +56,9 @@
<if test='null != agencyId and "" != agencyId'>
AND (r.AGENCY_ID = #{agencyId} or r.pids like concat('%',#{agencyId},'%') )
</if>
<if test='null != cyDate and "" != cyDate'>
and DATE_FORMAT(c.LATEST_CY_TIME,'%Y%m%d') = #{cyDate}
</if>
ORDER BY
r.IMPORT_TIME DESC,r.AGENCY_ID desc
</select>

Loading…
Cancel
Save