|
|
|
@ -123,28 +123,9 @@ public class PacsCollectJob {
|
|
|
|
|
String collectorId = "3";
|
|
|
|
|
String assortId = "AC2C8F4A88884DC894630302C61C6A07";
|
|
|
|
|
String patientId = basic.getPatientId();
|
|
|
|
|
String inpatientNo = basic.getInpatientNo();
|
|
|
|
|
String idCard = basic.getIdCard();
|
|
|
|
|
Date admissDate = basic.getAdmissDate();
|
|
|
|
|
Date disDate = basic.getDisDate();
|
|
|
|
|
String admissDateStr = Func.formatDateTime(admissDate).substring(0, 10);
|
|
|
|
|
String disDateStr = disDate == null ? null : Func.formatDateTime(disDate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
YdZyyPacsViewCondition pacsViewCondition = new YdZyyPacsViewCondition();
|
|
|
|
|
pacsViewCondition.setInpNo(inpatientNo);
|
|
|
|
|
pacsViewCondition.setSendDateStart(admissDateStr);
|
|
|
|
|
pacsViewCondition.setSendDateEnd(disDateStr);
|
|
|
|
|
// 住院pacs
|
|
|
|
|
List<YdZyyPacsView> zyPacsViews = ydZyyPacsViewMapper.pacsViews(pacsViewCondition);
|
|
|
|
|
|
|
|
|
|
pacsViewCondition.setInpNo(null);
|
|
|
|
|
pacsViewCondition.setIdCard(idCard);
|
|
|
|
|
// 所有的pacs
|
|
|
|
|
List<YdZyyPacsView> allPacsViews = ydZyyPacsViewMapper.pacsViews(pacsViewCondition);
|
|
|
|
|
allPacsViews.addAll(zyPacsViews);
|
|
|
|
|
|
|
|
|
|
if (Func.isEmpty(allPacsViews)) {
|
|
|
|
|
// 获取视图数据
|
|
|
|
|
List<YdZyyPacsView> finalPacsViews = getPacsViews(basic);
|
|
|
|
|
if (Func.isEmpty(finalPacsViews)) {
|
|
|
|
|
tBasicMapper.invalidFileBySource(patientId, collectorId);
|
|
|
|
|
tBasicMapper.deleteTaskByPatAndSource(patientId, collectorId);
|
|
|
|
|
// 刷新结束时间只是因为要校验完整性
|
|
|
|
@ -152,30 +133,17 @@ public class PacsCollectJob {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<YdZyyPacsView> finalPacsViews = new ArrayList<>();
|
|
|
|
|
Set<String> reamarks = new HashSet<>();
|
|
|
|
|
for (YdZyyPacsView pacsView : allPacsViews) {
|
|
|
|
|
if (reamarks.contains(pacsView.getREMARK())) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
reamarks.add(pacsView.getREMARK());
|
|
|
|
|
finalPacsViews.add(pacsView);
|
|
|
|
|
}
|
|
|
|
|
// 排序
|
|
|
|
|
finalPacsViews = finalPacsViews.stream()
|
|
|
|
|
.sorted(Comparator.comparing(YdZyyPacsView::getCREATETIMESTR))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
// 处理采集任务
|
|
|
|
|
Map<String, YdZyyPacsView> pacsViewMap = finalPacsViews.stream().collect(Collectors.toMap(YdZyyPacsView::getREMARK, Function.identity()));
|
|
|
|
|
|
|
|
|
|
Set<String> reamarks = pacsViewMap.keySet();
|
|
|
|
|
List<AfCollectTask> collectTaskList = tBasicMapper.getCollectTaskByPatAndSource(patientId, collectorId);
|
|
|
|
|
List<String> taskC1s = collectTaskList.stream().map(AfCollectTask::getC1).collect(Collectors.toList());
|
|
|
|
|
List<AfCollectTask> delTaskList = collectTaskList.stream()
|
|
|
|
|
.filter(task -> !reamarks.contains(task.getC1()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<AfCollectTask> updateTaskList = collectTaskList.stream()
|
|
|
|
|
.filter(task -> reamarks.contains(task.getC1()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<String> taskC1s = collectTaskList.stream().map(AfCollectTask::getC1).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<AfCollectTask> addTaskList = new ArrayList<>();
|
|
|
|
|
for (YdZyyPacsView pacsView : finalPacsViews) {
|
|
|
|
@ -204,13 +172,11 @@ public class PacsCollectJob {
|
|
|
|
|
pacsView.setTaskId(task.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(delTaskList)) {
|
|
|
|
|
for (AfCollectTask task : delTaskList) {
|
|
|
|
|
tBasicMapper.delTaskById(task.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(updateTaskList)) {
|
|
|
|
|
for (AfCollectTask task : updateTaskList) {
|
|
|
|
|
YdZyyPacsView pacsView = pacsViewMap.get(task.getC1());
|
|
|
|
@ -228,18 +194,15 @@ public class PacsCollectJob {
|
|
|
|
|
tBasicMapper.updateTaskById(task);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(addTaskList)) {
|
|
|
|
|
for (AfCollectTask task : addTaskList) {
|
|
|
|
|
tBasicMapper.insertCollectTask(task);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tBasicMapper.invalidFileBySource(patientId, collectorId);
|
|
|
|
|
|
|
|
|
|
// 上报文件
|
|
|
|
|
ReportDownPatientDto patient = new ReportDownPatientDto();
|
|
|
|
|
patient.setPatientid(patientId);
|
|
|
|
|
|
|
|
|
|
ReportDownDto reportDownDto = new ReportDownDto();
|
|
|
|
|
reportDownDto.setAssortid(assortId);
|
|
|
|
|
reportDownDto.setCollectorid(collectorId);
|
|
|
|
@ -260,5 +223,48 @@ public class PacsCollectJob {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据患者获取pacs视图信息
|
|
|
|
|
*
|
|
|
|
|
* @param basic 患者信息
|
|
|
|
|
*/
|
|
|
|
|
private List<YdZyyPacsView> getPacsViews(TBasic basic) {
|
|
|
|
|
String inpatientNo = basic.getInpatientNo();
|
|
|
|
|
String idCard = basic.getIdCard();
|
|
|
|
|
Date admissDate = basic.getAdmissDate();
|
|
|
|
|
Date disDate = basic.getDisDate();
|
|
|
|
|
String admissDateStr = Func.formatDateTime(admissDate).substring(0, 10);
|
|
|
|
|
String disDateStr = disDate == null ? null : Func.formatDateTime(disDate);
|
|
|
|
|
|
|
|
|
|
YdZyyPacsViewCondition pacsViewCondition = new YdZyyPacsViewCondition();
|
|
|
|
|
pacsViewCondition.setInpNo(inpatientNo);
|
|
|
|
|
pacsViewCondition.setSendDateStart(admissDateStr);
|
|
|
|
|
pacsViewCondition.setSendDateEnd(disDateStr);
|
|
|
|
|
// 住院pacs
|
|
|
|
|
List<YdZyyPacsView> zyPacsViews = ydZyyPacsViewMapper.pacsViews(pacsViewCondition);
|
|
|
|
|
|
|
|
|
|
pacsViewCondition.setInpNo(null);
|
|
|
|
|
pacsViewCondition.setIdCard(idCard);
|
|
|
|
|
// 所有的pacs
|
|
|
|
|
List<YdZyyPacsView> allPacsViews = ydZyyPacsViewMapper.pacsViews(pacsViewCondition);
|
|
|
|
|
allPacsViews.addAll(zyPacsViews);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<YdZyyPacsView> finalPacsViews = new ArrayList<>();
|
|
|
|
|
Set<String> reamarks = new HashSet<>();
|
|
|
|
|
for (YdZyyPacsView pacsView : allPacsViews) {
|
|
|
|
|
if (reamarks.contains(pacsView.getREMARK())) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
reamarks.add(pacsView.getREMARK());
|
|
|
|
|
finalPacsViews.add(pacsView);
|
|
|
|
|
}
|
|
|
|
|
// 排序
|
|
|
|
|
finalPacsViews = finalPacsViews.stream()
|
|
|
|
|
.sorted(Comparator.comparing(YdZyyPacsView::getCREATETIMESTR))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
return finalPacsViews;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|