From d7a9a0597c7b679f61e0699c3ff574bb732edc17 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Thu, 26 Sep 2024 12:16:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8C=B9=E9=85=8D=E6=82=A3=E8=80=85?= =?UTF-8?q?=E7=97=85=E5=8E=86=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=8C=B9=E9=85=8D=E5=87=BA=E9=99=A2=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/docus/demo/service/SyncBasicDataImpl.java | 11 ++++++----- .../com/docus/demo/service/SyncBasicFileImpl.java | 8 ++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/docus/demo/service/SyncBasicDataImpl.java b/src/main/java/com/docus/demo/service/SyncBasicDataImpl.java index 177efb8..cb3b6a2 100644 --- a/src/main/java/com/docus/demo/service/SyncBasicDataImpl.java +++ b/src/main/java/com/docus/demo/service/SyncBasicDataImpl.java @@ -26,8 +26,6 @@ import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.stream.Collectors; @Slf4j @@ -171,7 +169,7 @@ public class SyncBasicDataImpl implements ISyncBasicDataService { private List getTbasicList(List oldBasicList, List tpatientvisitList, List tdiagnoses, List toperations) { - + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 根据病案号 住院次数 名称 做去重判断 return tpatientvisitList.stream().map(m -> { @@ -179,6 +177,7 @@ public class SyncBasicDataImpl implements ISyncBasicDataService { .filter(old -> ObjectUtil.equal(m.getFprn(), old.getInpatientNo().toLowerCase(Locale.ROOT)) && ObjectUtil.equal(m.getFtimes(), old.getAdmissTimes()) && ObjectUtil.equal(m.getFname(), old.getName()) + && sdf.format(m.getFcydate()).equals(sdf.format(old.getDisDate())) ) .findFirst() .orElse(null); @@ -300,18 +299,20 @@ public class SyncBasicDataImpl implements ISyncBasicDataService { } private List getInsertTbasic(List oldBasicList, List cardInfoList) { - + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List cardInfos = cardInfoList.stream().filter(f -> { //根据病案号 名称 住院次数 出院时间 去重 String pno = f.getPatNo(); String name = f.getPatName(); Integer pNum = f.getPatNum(); + Date outDate = f.getOutDate(); Tbasic tbasic = oldBasicList.stream().filter(o -> ObjectUtil.equal(pno, o.getInpatientNo().toLowerCase(Locale.ROOT)) && ObjectUtil.equal(name, o.getName()) && ObjectUtil.equal(pNum, o.getAdmissTimes()) - ) + && ObjectUtil.equal(pNum, o.getAdmissTimes()) + && sdf.format(outDate).equals(sdf.format(o.getDisDate()))) .findAny() .orElse(null); diff --git a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java index 12b3c1a..1fdf273 100644 --- a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java +++ b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java @@ -290,6 +290,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { } private Tbasic getOldTbasic(FileUploadJpgDto fileUploadJpgDto) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String admissId = fileUploadJpgDto.getAdmissId(); Tbasic getByAdmissId = basicMapper.getTbasicByAdmissId(admissId); if (getByAdmissId != null) { @@ -297,14 +298,17 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { } String jpgDtoInpatientNo = fileUploadJpgDto.getInpatientNo(); Integer jpgDtoAdmissTimes = fileUploadJpgDto.getAdmissTimes(); + Date jpgDtoDisDate = fileUploadJpgDto.getDisDate(); List inpatientNos = Collections.singletonList(jpgDtoInpatientNo); SyncBasicDataDto dto = new SyncBasicDataDto(); List oldBasicList = basicMapper.getOldBasicList(inpatientNos, dto); for (Tbasic tbasic : oldBasicList) { - // 名字,病案号,住院次数 相同 ,人为是一个数据 + + // 名字,病案号,住院次数,出院时间 相同 ,人为是一个数据 if (ObjectUtil.equals(tbasic.getName(), fileUploadJpgDto.getName()) && tbasic.getInpatientNo().equalsIgnoreCase(jpgDtoInpatientNo) - && ObjectUtil.equals(jpgDtoAdmissTimes, tbasic.getAdmissTimes())) { + && ObjectUtil.equals(jpgDtoAdmissTimes, tbasic.getAdmissTimes()) + && sdf.format(jpgDtoDisDate).equals(sdf.format(tbasic.getDisDate()))) { return tbasic; } }