|
|
|
@ -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<Tbasic> getTbasicList(List<Tbasic> oldBasicList, List<Tpatientvisit> tpatientvisitList, List<Tdiagnose> tdiagnoses, List<Toperation> 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<Tbasic> getInsertTbasic(List<Tbasic> oldBasicList, List<CardInfo> cardInfoList) {
|
|
|
|
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
List<CardInfo> 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);
|
|
|
|
|
|
|
|
|
|