Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev'

hujing 5 rokov pred
rodič
commit
1a94d2cc45

+ 20 - 10
dbanaly/src/main/java/com/lantone/qc/dbanaly/lt/facade/ModelHospitalFacade.java

@@ -3,7 +3,10 @@ package com.lantone.qc.dbanaly.lt.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.lantone.qc.dbanaly.lt.entity.ModelHospital;
 import com.lantone.qc.dbanaly.lt.service.impl.ModelHospitalServiceImpl;
+import com.lantone.qc.dbanaly.util.RedisUtil;
+import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -17,17 +20,24 @@ import java.util.stream.Collectors;
 @Component
 public class ModelHospitalFacade extends ModelHospitalServiceImpl {
 
+    @Autowired
+    private RedisUtil redisUtil;
+
     public List<String> getRecTitles(long hospitalId, long modelId) {
-        QueryWrapper<ModelHospital> qcModelHospitalQe = new QueryWrapper<>();
-        qcModelHospitalQe.eq("hospital_id", hospitalId);
-        qcModelHospitalQe.eq("stand_model_id", modelId);
-        qcModelHospitalQe.select("hospital_model_name");
-        List<String> recTitles = list(qcModelHospitalQe)
-                .stream()
-                .map(i -> i.getHospitalModelName())
-                .filter(i -> StringUtil.isNotBlank(i))
-                .distinct()
-                .collect(Collectors.toList());
+        List<String> recTitles = redisUtil.getJsonStringValue("recTitles");
+        if (ListUtil.isEmpty(recTitles)) {
+            QueryWrapper<ModelHospital> qcModelHospitalQe = new QueryWrapper<>();
+            qcModelHospitalQe.eq("hospital_id", hospitalId);
+            qcModelHospitalQe.eq("stand_model_id", modelId);
+            qcModelHospitalQe.select("hospital_model_name");
+            recTitles = list(qcModelHospitalQe)
+                    .stream()
+                    .map(i -> i.getHospitalModelName())
+                    .filter(i -> StringUtil.isNotBlank(i))
+                    .distinct()
+                    .collect(Collectors.toList());
+            redisUtil.setJsonStringValue("recTitles", recTitles);
+        }
         return recTitles;
     }
 

+ 14 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0130.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.AttendingDoctorWardDoc;
@@ -20,10 +21,11 @@ import java.util.Map;
 @Component
 public class THR0130 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
+
         List<AttendingDoctorWardDoc> attendDocs = inputInfo.getThreeLevelWardDocs().get(0).getAttendingDoctorWardDocs();
         if (attendDocs.size() == 0) {
             status.set("0");
@@ -32,6 +34,17 @@ public class THR0130 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstAttendStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过48小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstAttendStructureMap.get("体检"))) {
             status.set("0");
             return;

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0131.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.FirstCourseRecordDoc;
@@ -21,7 +22,7 @@ import java.util.Map;
 @Component
 public class THR0131 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -42,6 +43,17 @@ public class THR0131 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstAttendStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过48小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+            status.set("0");
+            return;
+        }
         String conditionRecord = firstAttendStructureMap.get("病情记录");
         if (StringUtil.isNotBlank(conditionRecord)) {
             if (conditionRecord.contains("鉴别")

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0132.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.AttendingDoctorWardDoc;
@@ -21,7 +22,7 @@ import java.util.Map;
 @Component
 public class THR0132 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -33,6 +34,17 @@ public class THR0132 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstAttendStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过48小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstAttendStructureMap.get("病情记录"))) {
             status.set("0");
             return;

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0133.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.AttendingDoctorWardDoc;
@@ -20,7 +21,7 @@ import java.util.Map;
 @Component
 public class THR0133 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -32,6 +33,17 @@ public class THR0133 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstAttendStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过48小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstAttendStructureMap.get("治疗计划和措施"))) {
             status.set("0");
             return;

+ 16 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0134.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.AttendingDoctorWardDoc;
@@ -9,6 +10,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : THR0134
@@ -19,7 +21,7 @@ import java.util.List;
 @Component
 public class THR0134 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -29,6 +31,19 @@ public class THR0134 extends QCCatalogue {
             return;
         }
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
+        //先取结构化数据判断
+        Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstAttendStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过48小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+            status.set("0");
+            return;
+        }
         ThreeLevelWardLabel firstAttendLabel = firstAttendDoc.getThreeLevelWardLabel();
         if (firstAttendLabel == null) {
             return;

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0135.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.DirectorDoctorWardDoc;
@@ -20,7 +21,7 @@ import java.util.Map;
 @Component
 public class THR0135 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -32,6 +33,17 @@ public class THR0135 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过72小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstDirectStructureMap.get("体检"))) {
             status.set("0");
             return;

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0136.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.FirstCourseRecordDoc;
@@ -21,7 +22,7 @@ import java.util.Map;
 @Component
 public class THR0136 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -42,6 +43,17 @@ public class THR0136 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过72小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         String conditionRecord = firstDirectStructureMap.get("病情记录");
         if (StringUtil.isNotBlank(conditionRecord)) {
             if (conditionRecord.contains("鉴别")

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0137.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.DirectorDoctorWardDoc;
@@ -21,7 +22,7 @@ import java.util.Map;
 @Component
 public class THR0137 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -33,6 +34,17 @@ public class THR0137 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过72小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstDirectStructureMap.get("病情记录"))) {
             status.set("0");
             return;

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0138.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.DirectorDoctorWardDoc;
@@ -20,7 +21,7 @@ import java.util.Map;
 @Component
 public class THR0138 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -32,6 +33,17 @@ public class THR0138 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过72小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(firstDirectStructureMap.get("治疗计划和措施"))) {
             status.set("0");
             return;

+ 16 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0139.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.ward.DirectorDoctorWardDoc;
@@ -9,6 +10,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : THR0139
@@ -19,7 +21,7 @@ import java.util.List;
 @Component
 public class THR0139 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+        if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -29,6 +31,19 @@ public class THR0139 extends QCCatalogue {
             return;
         }
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
+        //先取结构化数据判断
+        Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
+        //如果首次查房超过72小时则不判断该条规则
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         ThreeLevelWardLabel firstDirectLabel = firstDirectDoc.getThreeLevelWardLabel();
         if (firstDirectLabel == null) {
             return;

+ 3 - 4
trans/src/main/java/com/lantone/qc/trans/changx/ChangxThreeLevelWardDocTrans.java

@@ -6,7 +6,6 @@ import com.lantone.qc.dbanaly.facade.changx.CxXmlUtil;
 import com.lantone.qc.dbanaly.lt.facade.ModelHospitalFacade;
 import com.lantone.qc.dbanaly.util.KernelConstants;
 import com.lantone.qc.dbanaly.util.RedisUtil;
-import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
@@ -60,9 +59,9 @@ public class ChangxThreeLevelWardDocTrans extends ModelDocTrans {
         Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
         xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
         String recTitle = contentMap.get("recTitle").toString();
-        //        if (recTitles.contains(recTitle)) {
-        //            xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        //        }
+        if (recTitles.contains(recTitle)) {
+            xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+        }
         Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
         structureMap.put("查房日期", structureMap.get("记录时间"));
 

+ 11 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java

@@ -1,11 +1,13 @@
 package com.lantone.qc.trans.taizhou;
 
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.lt.facade.ModelHospitalFacade;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.DirectorDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.GeneralDoctorWardDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
@@ -22,8 +24,13 @@ import java.util.Map;
  */
 public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
 
+    private List<String> recTitles;
+
     @Override
     public List<ThreeLevelWardDoc> extract(MedrecVo medrecVo) {
+        ModelHospitalFacade modelHospitalFacade = SpringContextUtil.getBean(ModelHospitalFacade.class);
+        recTitles = modelHospitalFacade.getRecTitles(3l, 4l);
+
         List<ThreeLevelWardDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
 
@@ -39,7 +46,10 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
         String content = contentMap.get("xmlText").toString();
         Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
         sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+        String recTitle = contentMap.get("recTitle").toString();
+        if (recTitles.contains(recTitle)) {
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+        }
         Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
         if (StringUtils.isEmpty(structureMap.get("查房日期"))) {