diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java
index b422af6b61..be20e5fa68 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java
+++ b/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;
+
/**
* 最近一次核酸时间:接口填入
*/
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java
index 96ca61e0c7..101b9c07d2 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/yqfk/IcNatCompareRecordPageFormDTO.java
@@ -38,6 +38,10 @@ public class IcNatCompareRecordPageFormDTO extends PageFormDTO {
private String customerId;
private String userId;
private String agencyId;
+ /**
+ * 采样日期:yyyyMMdd
+ */
+ private String cyDate;
/**
* 检测时间
diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml
index ba67ff8170..831b99e408 100644
--- a/epmet-user/epmet-user-server/pom.xml
+++ b/epmet-user/epmet-user-server/pom.xml
@@ -28,11 +28,11 @@
epmet-commons-mybatis
2.0.0
-
+
org.springframework.boot
spring-boot-starter-web
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java
index 0110312ed9..75b18618fe 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java
+++ b/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;
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java
index 03c01a2f37..44ed565c6e 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java
+++ b/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 resiInfos, String customerId, String isSync) {
+ List> resiInfobatchs = ListUtils.partition(resiInfos, 50);
+ for (List resibatch : resiInfobatchs) {
+ // 50个一批,来处理他们的核酸信息,太多怕给数据库查崩了。
+ yantaiHsjcByDbViewBatch(resibatch, customerId, isSync);
+ }
+ }
+
+ /**
+ * 50个一批,来处理他们的核酸信息,太多怕给数据库查崩了。
+ * @param resiInfos
+ * @param customerId
+ * @param isSync
+ */
+ public void yantaiHsjcByDbViewBatch(List resiInfos, String customerId, String isSync) {
+ // 将居民信息转化为的map
+ Map idCardAndResiInfo = resiInfos.stream().collect(Collectors.toMap(resi -> resi.getIdCard(), Function.identity()));
+ Set idCards = idCardAndResiInfo.keySet();//resiInfos.stream().map(resi -> resi.getIdCard()).collect(Collectors.toList());
+ // String idCardsStr = "''" + String.join("','", idCards) + "''";
+ // 1.获取核酸采样信息
+ String sql = "select id, name,card_no, create_time, realname from hscyxxb where card_no in (:idCards) order by create_time desc";
+ HashMap args = new HashMap<>();
+ args.put("idCards", idCards);
+ // 这一批居民的核酸采样列表
+ List