|
|
|
@ -2,6 +2,7 @@ package com.docus.demo.service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.docus.demo.dto.SyncBasicDataDto;
|
|
|
|
|
import com.docus.demo.entity.CommonResult;
|
|
|
|
|
import com.docus.demo.entity.Tbasic;
|
|
|
|
@ -23,6 +24,7 @@ import java.text.SimpleDateFormat;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
|
|
import java.util.concurrent.Executors;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
@ -62,7 +64,11 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
|
|
|
|
|
}
|
|
|
|
|
log.info("开始同步"+tpatientvisitList.size());
|
|
|
|
|
// tpatientvisitList = paintVisitMapper.getTpatientVisitList((current - 1) * limit, current*limit, syncBasicDataDto);
|
|
|
|
|
|
|
|
|
|
for (Tpatientvisit e : tpatientvisitList) {
|
|
|
|
|
if(StrUtil.isNotBlank(e.getFprn())){
|
|
|
|
|
e.setFprn(e.getFprn().toLowerCase(Locale.ROOT));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<String> fprnList = tpatientvisitList.stream().map(Tpatientvisit::getFprn).collect(Collectors.toList());
|
|
|
|
|
List<Integer> ftimesList = tpatientvisitList.stream().map(Tpatientvisit::getFtimes).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
@ -108,7 +114,7 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
|
|
|
|
|
|
|
|
|
|
return tpatientvisitList.stream().map(m -> {
|
|
|
|
|
Tbasic oldBasic = oldBasicList.stream()
|
|
|
|
|
.filter(old -> ObjectUtil.equal(m.getFprn(), old.getInpatientNo())
|
|
|
|
|
.filter(old -> ObjectUtil.equal(m.getFprn(), old.getInpatientNo().toLowerCase(Locale.ROOT))
|
|
|
|
|
&& ObjectUtil.equal(m.getFtimes(), old.getAdmissTimes())
|
|
|
|
|
&& ObjectUtil.equal(m.getFname(), old.getName())
|
|
|
|
|
)
|
|
|
|
@ -201,6 +207,11 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
log.info(syncBasicDataDto.getStartDate() + " " + syncBasicDataDto.getEndDate() + "开始同步" + cardInfoList.size());
|
|
|
|
|
for (CardInfo e : cardInfoList) {
|
|
|
|
|
if(StrUtil.isNotBlank(e.getPatNo())){
|
|
|
|
|
e.setPatNo(e.getPatNo().toLowerCase(Locale.ROOT));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<String> fprnList = cardInfoList.stream().map(CardInfo::getPatNo).collect(Collectors.toList());
|
|
|
|
|
//数据map转换
|
|
|
|
|
List<Tbasic> oldBasicList = basicMapper.getOldBasicList(fprnList, syncBasicDataDto);
|
|
|
|
@ -235,7 +246,7 @@ public class SyncBasicDataImpl implements ISyncBasicDataService {
|
|
|
|
|
Integer pNum = f.getPatNum();
|
|
|
|
|
|
|
|
|
|
Tbasic tbasic = oldBasicList.stream().filter(o ->
|
|
|
|
|
ObjectUtil.equal(pno, o.getInpatientNo())
|
|
|
|
|
ObjectUtil.equal(pno, o.getInpatientNo().toLowerCase(Locale.ROOT))
|
|
|
|
|
&& ObjectUtil.equal(name, o.getName())
|
|
|
|
|
&& ObjectUtil.equal(pNum, o.getAdmissTimes())
|
|
|
|
|
)
|
|
|
|
|