refactor: 方法抽离重构

master
wyb 11 months ago
parent 6f65d02714
commit 2014ff1d51

@ -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;
}
}

Loading…
Cancel
Save