|
@@ -5,16 +5,16 @@ 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;
|
|
|
+import com.lantone.qc.pub.util.DateUtil;
|
|
|
+import com.lantone.qc.pub.util.ListUtil;
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
|
+import org.apache.commons.collections.ArrayStack;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : CON0280
|
|
@@ -29,6 +29,69 @@ public class CON0280 extends QCCatalogue {
|
|
|
if (inputInfo.getConsultationDocs() == null || inputInfo.getDoctorAdviceDocs().size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
+ List<ConsultationResultsDoc> consultationResultsDocs = ListUtil.newArrayList();//会诊结果单
|
|
|
+ List<ConsultationApplicationDoc> consultationApplicationDocs = ListUtil.newArrayList();//会诊申请单
|
|
|
+ for (ConsultationDoc consultationDoc : inputInfo.getConsultationDocs()) {
|
|
|
+ if (consultationDoc.getConsultationResultsDoc() != null) {
|
|
|
+ consultationResultsDocs.add(consultationDoc.getConsultationResultsDoc());
|
|
|
+ }
|
|
|
+ if (consultationDoc.getConsultationApplicationDoc() != null) {
|
|
|
+ consultationApplicationDocs.add(consultationDoc.getConsultationApplicationDoc());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Iterator<ConsultationResultsDoc> consultationResultsDocIterator = consultationResultsDocs.iterator();
|
|
|
+ Iterator<ConsultationApplicationDoc> consultationApplicationDocIterator = consultationApplicationDocs.iterator();
|
|
|
+ while (consultationResultsDocIterator.hasNext()) {
|
|
|
+ if (!CatalogueUtil.compareTime(
|
|
|
+ StringUtil.parseDateTime(consultationResultsDocIterator.next().getStructureMap().get("记录日期")),
|
|
|
+ StringUtil.parseDateTime(DateUtil.nowString()),
|
|
|
+ Long.valueOf(24 * 60))) {//如果接收未超过24小时,规则不判断
|
|
|
+ consultationResultsDocIterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ while (consultationApplicationDocIterator.hasNext()) {
|
|
|
+ if (!CatalogueUtil.compareTime(
|
|
|
+ StringUtil.parseDateTime(consultationApplicationDocIterator.next().getStructureMap().get("会诊时间")),
|
|
|
+ StringUtil.parseDateTime(DateUtil.nowString()),
|
|
|
+ Long.valueOf(24 * 60))) {//如果接收未超过24小时,规则不判断
|
|
|
+ consultationResultsDocIterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Collections.sort(consultationResultsDocs, new Comparator<ConsultationResultsDoc>() {
|
|
|
+ public int compare(ConsultationResultsDoc o1, ConsultationResultsDoc o2) {
|
|
|
+ return o1.getStructureMap().get("记录日期")
|
|
|
+ .compareTo(o2.getStructureMap().get("记录日期"));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Collections.sort(consultationApplicationDocs, new Comparator<ConsultationApplicationDoc>() {
|
|
|
+ public int compare(ConsultationApplicationDoc o1, ConsultationApplicationDoc o2) {
|
|
|
+ return o1.getStructureMap().get("会诊时间")
|
|
|
+ .compareTo(o2.getStructureMap().get("会诊时间"));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (consultationResultsDocs.size() != consultationApplicationDocs.size()) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (ConsultationApplicationDoc consultationApplicationDoc : consultationApplicationDocs) {
|
|
|
+ for (ConsultationResultsDoc consultationResultsDoc : consultationResultsDocs) {
|
|
|
+ if (consultationResultsDoc.getStructureMap().get("会诊医师").contains(consultationApplicationDoc.getStructureMap().get("签名")) && CatalogueUtil.compareTime(
|
|
|
+ StringUtil.parseDateTime(consultationApplicationDoc.getStructureMap().get("记录日期")),
|
|
|
+ StringUtil.parseDateTime(consultationResultsDoc.getStructureMap().get("会诊时间")),
|
|
|
+ Long.valueOf(1))) {//结果单时间要比申请单大的
|
|
|
+ if (!CatalogueUtil.compareTime(
|
|
|
+ StringUtil.parseDateTime(consultationApplicationDoc.getStructureMap().get("记录日期")),
|
|
|
+ StringUtil.parseDateTime(consultationResultsDoc.getStructureMap().get("会诊时间")),
|
|
|
+ Long.valueOf(24 * 60))) {//未超过24小时
|
|
|
+ status.set("-1");
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /*if (inputInfo.getConsultationDocs() == null || inputInfo.getDoctorAdviceDocs().size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
|
|
|
//医嘱按照医嘱开始时间排序
|
|
|
List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
|
|
@@ -65,6 +128,31 @@ public class CON0280 extends QCCatalogue {
|
|
|
}
|
|
|
// String applicationDateStr = structureMap.get("会诊申请日期");
|
|
|
// String arrivalDateStr = structureMap.get("会诊到达时间");
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ List<Integer> list1 = new ArrayList<>();
|
|
|
+ list1.add(1);
|
|
|
+ list1.add(2);
|
|
|
+ list1.add(3);
|
|
|
+ list1.add(4);
|
|
|
+ List<Integer> list2 = new ArrayList<>();
|
|
|
+ list2.add(1);
|
|
|
+ list2.add(2);
|
|
|
+ list2.add(3);
|
|
|
+ list2.add(5);
|
|
|
+ Iterator<Integer> iterator = list1.iterator();
|
|
|
+ Iterator<Integer> iterator1 = list2.iterator();
|
|
|
+ for (Integer i : list1) {
|
|
|
+ while (iterator1.hasNext())
|
|
|
+ if (i == iterator1.next()) {
|
|
|
+ iterator1.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (Integer integer:
|
|
|
+ list2) {
|
|
|
+ System.out.println(integer);
|
|
|
}
|
|
|
}
|
|
|
}
|