|
@@ -1,8 +1,10 @@
|
|
|
package com.lantone.qc.kernel.catalogue.consultation;
|
|
|
|
|
|
import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
+import com.lantone.qc.kernel.util.CatalogueUtil;
|
|
|
import com.lantone.qc.pub.model.InputInfo;
|
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
|
+import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
|
|
|
import com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
|
|
|
import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
|
|
|
import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
|
|
@@ -10,9 +12,7 @@ import com.lantone.qc.pub.util.StringUtil;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : CON0526
|
|
@@ -24,6 +24,55 @@ import java.util.Map;
|
|
|
public class CON0526 extends QCCatalogue {
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
|
|
|
status.set("0");
|
|
|
+ if (inputInfo.getConsultationDocs() == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //会诊单按日会诊申请日期排序
|
|
|
+ List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
|
|
|
+ //医嘱按照医嘱开始时间排序
|
|
|
+ List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
|
|
|
+ Collections.sort(doctorAdviceDocs, new Comparator<DoctorAdviceDoc>() {
|
|
|
+ public int compare(DoctorAdviceDoc o1, DoctorAdviceDoc o2) {
|
|
|
+ return o1.getStructureMap().get("医嘱开始时间")
|
|
|
+ .compareTo(o2.getStructureMap().get("医嘱开始时间"));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ for (ConsultationDoc consultationDoc : consultationDocs) {
|
|
|
+ ConsultationResultsDoc consultationResultsDoc = consultationDoc.getConsultationResultsDoc();
|
|
|
+ if (consultationResultsDoc == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Map<String, String> conStructureMap = consultationResultsDoc.getStructureMap();
|
|
|
+ if (conStructureMap.get("会诊类别") == null || !conStructureMap.get("会诊类别").contains("急会诊")) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {//循环取最近一条医嘱和会诊申请单中的急会诊比较
|
|
|
+ Map<String, String> docStructureMap = doctorAdviceDoc.getStructureMap();
|
|
|
+ if (docStructureMap.get("医嘱项目名称") != null && docStructureMap.get("医嘱项目名称").contains("会诊")) {
|
|
|
+ String applicationDateStr = docStructureMap.get("医嘱开始时间");
|
|
|
+ String arrivalDateStr = conStructureMap.get("会诊时间");
|
|
|
+ if (StringUtil.isBlank(applicationDateStr) || StringUtil.isBlank(arrivalDateStr)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Date applicationDate = StringUtil.parseDateTime(applicationDateStr);//医嘱开始时间
|
|
|
+ Date arrivalDate = StringUtil.parseDateTime(arrivalDateStr);//会诊时间
|
|
|
+ if (applicationDate == null || arrivalDate == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (CatalogueUtil.compareTime(applicationDate, arrivalDate, 10L)) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /*status.set("0");
|
|
|
List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
|
|
|
if (consultationDocs.size() > 0) {
|
|
|
for (ConsultationDoc consulation : consultationDocs) {
|
|
@@ -52,7 +101,7 @@ public class CON0526 extends QCCatalogue {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
}
|
|
|
}
|