refactor: 方法抽离重构

master
wyb 11 months ago
parent 6f65d02714
commit 2014ff1d51

@ -53,8 +53,8 @@ public class PacsCollectJob {
// 查询视图 ,根据视图信息查询患者,再根据患者同步 所有的任务、文件
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs视图采集job开始任务");
try {
String configPath="data-config";
String configName="ydzyy-pacs-collect-job";
String configPath = "data-config";
String configName = "ydzyy-pacs-collect-job";
TableJsonRead tableJsonRead = new TableJsonRead();
JSONObject jobConfig = tableJsonRead.Read(configPath, configName, JSONObject.class);
String startTime = jobConfig.getString("startTime");
@ -107,7 +107,7 @@ public class PacsCollectJob {
}
LocalDateTime nextStartTime = jobRunTime.plusSeconds(-deviationSeconds);
jobConfig.put("startTime", Func.formatDateTime(nextStartTime));
tableJsonRead.Save(configPath,configName,jobConfig.toJSONString());
tableJsonRead.Save(configPath, configName, jobConfig.toJSONString());
} catch (Exception ex) {
log.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs视图采集jobc出现异常结束任务" + ex.getMessage(), ex);
}
@ -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) {
@ -197,20 +165,18 @@ public class PacsCollectJob {
task.setC5(basic.getJzh());
task.setC6(pacsView.getREPORTNAME());
task.setC7(pacsView.getNAME());
task.setT1(Func.parseDate(pacsView.getCREATETIMESTR(),"yyyy-MM-dd"));
task.setT1(Func.parseDate(pacsView.getCREATETIMESTR(), "yyyy-MM-dd"));
task.setT2(pacsView.getADUITTIME());
task.setT3(pacsView.getSTATUSCHGTIME());
addTaskList.add(task);
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());
@ -222,24 +188,21 @@ public class PacsCollectJob {
task.setC5(basic.getJzh());
task.setC6(pacsView.getREPORTNAME());
task.setC7(pacsView.getNAME());
task.setT1(Func.parseDate(pacsView.getCREATETIMESTR(),"yyyy-MM-dd"));
task.setT1(Func.parseDate(pacsView.getCREATETIMESTR(), "yyyy-MM-dd"));
task.setT2(pacsView.getADUITTIME());
task.setT3(pacsView.getSTATUSCHGTIME());
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