rengb 4 rokov pred
rodič
commit
d607975c7e

+ 33 - 22
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunBeHospitalizedDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunBeHospitalizedHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,35 +20,44 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/5 15:47
  */
+@Slf4j
 public class BeiLunBeHospitalizedDocTrans extends ModelDocTrans {
 
     @Override
     public BeHospitalizedDoc extract(MedrecVo medrecVo) {
-        Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
-        String content = contentMap.get("xmlText").toString();
-        Map<String, String> structureMap = null;
-        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
-            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
-        } else {
-            String recTitle = contentMap.get("recTitle").toString();
-            String recTypeId = contentMap.get("recTypeId").toString();
-            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunBeHospitalizedHtmlAnalysis();
-            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
-            //初步诊断特殊处理
-            if (structureMap.containsKey("初步诊断")) {
-                String initDiag = structureMap.get("初步诊断");
-                if (initDiag.contains("<img")) {
-                    initDiag = initDiag.split("<img")[0];
-                    structureMap.put("初步诊断", initDiag);
+        BeHospitalizedDoc beHospitalizedDoc = null;
+        try {
+            Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+            String content = contentMap.get("xmlText").toString();
+            Map<String, String> structureMap = null;
+            if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+                structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            } else {
+                String recTitle = contentMap.get("recTitle").toString();
+                String recTypeId = contentMap.get("recTypeId").toString();
+                BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunBeHospitalizedHtmlAnalysis();
+                Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+                if (MapUtils.isNotEmpty(sourceMap)) {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                    structureMap.put("记录编号", contentMap.get("recId").toString());
+                    structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+                    //初步诊断特殊处理
+                    if (structureMap.containsKey("初步诊断")) {
+                        String initDiag = structureMap.get("初步诊断");
+                        if (initDiag.contains("<img")) {
+                            initDiag = initDiag.split("<img")[0];
+                            structureMap.put("初步诊断", initDiag);
+                        }
+                    }
                 }
             }
+            if (MapUtils.isNotEmpty(structureMap)) {
+                beHospitalizedDoc = ModelDocGenerate.beHospitalizedDocGen(structureMap);
+                beHospitalizedDoc.setPageData((Map) structureMap);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
-
-        BeHospitalizedDoc beHospitalizedDoc = ModelDocGenerate.beHospitalizedDocGen(structureMap);
-        beHospitalizedDoc.setPageData((Map) structureMap);
         return beHospitalizedDoc;
     }
 

+ 24 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunClinicBloodEffectDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunClinicBloodEffectHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,13 +20,22 @@ import java.util.Map;
  * @create 2020-04-30 12:39
  * @desc 输血后效果评价
  **/
+@Slf4j
 public class BeiLunClinicBloodEffectDocTrans extends ModelDocTrans {
+
     @Override
     public List<ClinicBloodEffectDoc> extract(MedrecVo medrecVo) {
         List<ClinicBloodEffectDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getClinicalBloodDoc(contentMap));
+            try {
+                ClinicBloodEffectDoc clinicBloodEffectDoc = getClinicalBloodDoc(contentMap);
+                if (clinicBloodEffectDoc != null) {
+                    retList.add(clinicBloodEffectDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -39,14 +50,19 @@ public class BeiLunClinicBloodEffectDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunClinicBloodEffectHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            ClinicBloodEffectDoc clinicBloodEffectDoc = ModelDocGenerate.clinicBloodEffectDoc(structureMap);
+            clinicBloodEffectDoc.setPageData((Map) structureMap);
+            return clinicBloodEffectDoc;
+        } else {
+            return null;
         }
-
-        ClinicBloodEffectDoc clinicBloodEffectDoc = ModelDocGenerate.clinicBloodEffectDoc(structureMap);
-        clinicBloodEffectDoc.setPageData((Map) structureMap);
-        return clinicBloodEffectDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunClinicalBloodDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunClinicalBloodHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:21
  */
+@Slf4j
 public class BeiLunClinicalBloodDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunClinicalBloodDocTrans extends ModelDocTrans {
         List<ClinicalBloodDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getClinicalBloodDoc(contentMap));
+            try {
+                ClinicalBloodDoc clinicalBloodDoc = getClinicalBloodDoc(contentMap);
+                if (clinicalBloodDoc != null) {
+                    retList.add(clinicalBloodDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunClinicalBloodDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunClinicalBloodHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            ClinicalBloodDoc clinicalBloodDoc = ModelDocGenerate.clinicalBloodDocGen(structureMap);
+            clinicalBloodDoc.setPageData((Map) structureMap);
+            return clinicalBloodDoc;
+        } else {
+            return null;
         }
-
-        ClinicalBloodDoc clinicalBloodDoc = ModelDocGenerate.clinicalBloodDocGen(structureMap);
-        clinicalBloodDoc.setPageData((Map) structureMap);
-        return clinicalBloodDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunCrisisValueReportDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunCrisisValueReportHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/19 19:41
  */
+@Slf4j
 public class BeiLunCrisisValueReportDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunCrisisValueReportDocTrans extends ModelDocTrans {
         List<CrisisValueReportDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getCrisisValueReportDoc(contentMap));
+            try {
+                CrisisValueReportDoc crisisValueReportDoc = getCrisisValueReportDoc(contentMap);
+                if (crisisValueReportDoc != null) {
+                    retList.add(crisisValueReportDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunCrisisValueReportDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunCrisisValueReportHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            CrisisValueReportDoc crisisValueReportDoc = ModelDocGenerate.crisisValueReportDocGen(structureMap);
+            crisisValueReportDoc.setPageData((Map) structureMap);
+            return crisisValueReportDoc;
+        } else {
+            return null;
         }
-
-        CrisisValueReportDoc crisisValueReportDoc = ModelDocGenerate.crisisValueReportDocGen(structureMap);
-        crisisValueReportDoc.setPageData((Map) structureMap);
-        return crisisValueReportDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 25 - 12
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunCriticallyIllNoticeDocTrans.java

@@ -10,6 +10,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.CommonAnalysisUtil;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -19,6 +21,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/19 19:41
  */
+@Slf4j
 public class BeiLunCriticallyIllNoticeDocTrans extends ModelDocTrans {
 
     @Override
@@ -26,7 +29,14 @@ public class BeiLunCriticallyIllNoticeDocTrans extends ModelDocTrans {
         List<CriticallyIllNoticeDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getCriticallyIllNoticeDoc(contentMap));
+            try {
+                CriticallyIllNoticeDoc criticallyIllNoticeDoc = getCriticallyIllNoticeDoc(contentMap);
+                if (criticallyIllNoticeDoc != null) {
+                    retList.add(criticallyIllNoticeDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -41,21 +51,24 @@ public class BeiLunCriticallyIllNoticeDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunCriticallyIllNoticeHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            CriticallyIllNoticeDoc criticallyIllNoticeDoc = ModelDocGenerate.criticallyIllNoticeDocGen(structureMap);
+            criticallyIllNoticeDoc.setText(CommonAnalysisUtil.html2String(content));
+            criticallyIllNoticeDoc.setPageData((Map) structureMap);
+            return criticallyIllNoticeDoc;
+        } else {
+            return null;
         }
-
-        String text = CommonAnalysisUtil.html2String(content);
-        CriticallyIllNoticeDoc criticallyIllNoticeDoc = ModelDocGenerate.criticallyIllNoticeDocGen(structureMap);
-        criticallyIllNoticeDoc.setText(text);
-        criticallyIllNoticeDoc.setPageData((Map) structureMap);
-
-        return criticallyIllNoticeDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            
+
     );
 
 }

+ 27 - 16
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunDeathCaseDiscussDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunDeathCaseDiscussHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,27 +20,36 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:22
  */
+@Slf4j
 public class BeiLunDeathCaseDiscussDocTrans extends ModelDocTrans {
 
     @Override
     public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
-        Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
-        String content = contentMap.get("xmlText").toString();
-        Map<String, String> structureMap = null;
-        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
-            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
-        } else {
-            String recTitle = contentMap.get("recTitle").toString();
-            String recTypeId = contentMap.get("recTypeId").toString();
-            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDeathCaseDiscussHtmlAnalysis();
-            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+        DeathCaseDiscussDoc deathCaseDiscussDoc = null;
+        try {
+            Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+            String content = contentMap.get("xmlText").toString();
+            Map<String, String> structureMap = null;
+            if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+                structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            } else {
+                String recTitle = contentMap.get("recTitle").toString();
+                String recTypeId = contentMap.get("recTypeId").toString();
+                BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDeathCaseDiscussHtmlAnalysis();
+                Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+                if (MapUtils.isNotEmpty(sourceMap)) {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                    structureMap.put("记录编号", contentMap.get("recId").toString());
+                    structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+                }
+            }
+            if (MapUtils.isNotEmpty(structureMap)) {
+                deathCaseDiscussDoc = ModelDocGenerate.deathCaseDiscussDocGen(structureMap);
+                deathCaseDiscussDoc.setPageData((Map) structureMap);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
-
-        DeathCaseDiscussDoc deathCaseDiscussDoc = ModelDocGenerate.deathCaseDiscussDocGen(structureMap);
-        deathCaseDiscussDoc.setPageData((Map) structureMap);
         return deathCaseDiscussDoc;
     }
 

+ 28 - 17
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunDeathRecordDocTrans.java

@@ -10,6 +10,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.CommonAnalysisUtil;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -19,28 +21,37 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:23
  */
+@Slf4j
 public class BeiLunDeathRecordDocTrans extends ModelDocTrans {
 
     @Override
     public DeathRecordDoc extract(MedrecVo medrecVo) {
-        Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
-        String content = contentMap.get("xmlText").toString();
-        Map<String, String> structureMap = null;
-        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
-            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
-        } else {
-            String recTitle = contentMap.get("recTitle").toString();
-            String recTypeId = contentMap.get("recTypeId").toString();
-            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDeathRecordHtmlAnalysis();
-            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+        DeathRecordDoc deathRecordDoc = null;
+        try {
+            Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+            String content = contentMap.get("xmlText").toString();
+            Map<String, String> structureMap = null;
+            if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+                structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            } else {
+                String recTitle = contentMap.get("recTitle").toString();
+                String recTypeId = contentMap.get("recTypeId").toString();
+                BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDeathRecordHtmlAnalysis();
+                Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+                if (MapUtils.isNotEmpty(sourceMap)) {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                    structureMap.put("记录编号", contentMap.get("recId").toString());
+                    structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+                }
+            }
+            if (MapUtils.isNotEmpty(structureMap)) {
+                deathRecordDoc = ModelDocGenerate.deathRecordDocGen(structureMap);
+                deathRecordDoc.setText(CommonAnalysisUtil.html2String(content));
+                deathRecordDoc.setPageData((Map) structureMap);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
-
-        DeathRecordDoc deathRecordDoc = ModelDocGenerate.deathRecordDocGen(structureMap);
-        deathRecordDoc.setText(CommonAnalysisUtil.html2String(content));
-        deathRecordDoc.setPageData((Map) structureMap);
         return deathRecordDoc;
     }
 

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunDifficultCaseDiscussDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunDifficultCaseDiscussHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:23
  */
+@Slf4j
 public class BeiLunDifficultCaseDiscussDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunDifficultCaseDiscussDocTrans extends ModelDocTrans {
         List<DifficultCaseDiscussDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getDifficultCaseDiscussDoc(contentMap));
+            try {
+                DifficultCaseDiscussDoc difficultCaseDiscussDoc = getDifficultCaseDiscussDoc(contentMap);
+                if (difficultCaseDiscussDoc != null) {
+                    retList.add(difficultCaseDiscussDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunDifficultCaseDiscussDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDifficultCaseDiscussHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            DifficultCaseDiscussDoc difficultCaseDiscussDoc = ModelDocGenerate.difficultCaseDiscussDocGen(structureMap);
+            difficultCaseDiscussDoc.setPageData((Map) structureMap);
+            return difficultCaseDiscussDoc;
+        } else {
+            return null;
         }
-
-        DifficultCaseDiscussDoc difficultCaseDiscussDoc = ModelDocGenerate.difficultCaseDiscussDocGen(structureMap);
-        difficultCaseDiscussDoc.setPageData((Map) structureMap);
-        return difficultCaseDiscussDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunDutyShiftSystemDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunDutyShiftSystemHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:24
  */
+@Slf4j
 public class BeiLunDutyShiftSystemDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunDutyShiftSystemDocTrans extends ModelDocTrans {
         List<DutyShiftSystemDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getDutyShiftSystemDoc(contentMap));
+            try {
+                DutyShiftSystemDoc dutyShiftSystemDoc = getDutyShiftSystemDoc(contentMap);
+                if (dutyShiftSystemDoc != null) {
+                    retList.add(dutyShiftSystemDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunDutyShiftSystemDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDutyShiftSystemHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            DutyShiftSystemDoc dutyShiftSystemDoc = ModelDocGenerate.dutyShiftSystemDocGen(structureMap);
+            dutyShiftSystemDoc.setPageData((Map) structureMap);
+            return dutyShiftSystemDoc;
+        } else {
+            return null;
         }
-
-        DutyShiftSystemDoc dutyShiftSystemDoc = ModelDocGenerate.dutyShiftSystemDocGen(structureMap);
-        dutyShiftSystemDoc.setPageData((Map) structureMap);
-        return dutyShiftSystemDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 32 - 22
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunFirstCourseRecordDocTrans.java

@@ -11,6 +11,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.CommonAnalysisUtil;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -22,33 +24,41 @@ import static com.lantone.qc.trans.comsis.ModelDocGenerate.structureMapJoin;
  * @author: rengb
  * @time: 2020/3/17 13:25
  */
+@Slf4j
 public class BeiLunFirstCourseRecordDocTrans extends ModelDocTrans {
 
     @Override
     public FirstCourseRecordDoc extract(MedrecVo medrecVo) {
-        Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
-        String content = contentMap.get("xmlText").toString();
-        Map<String, String> structureMap = null;
-        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
-            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
-        } else {
-            String recTitle = contentMap.get("recTitle").toString();
-            String recTypeId = contentMap.get("recTypeId").toString();
-            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunFirstCourseRecordHtmlAnalysis();
-            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            sourceMap = removeSerialNumber(sourceMap);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+        FirstCourseRecordDoc firstCourseRecordDoc = null;
+        try {
+            Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+            String content = contentMap.get("xmlText").toString();
+            Map<String, String> structureMap = null;
+            if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+                structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            } else {
+                String recTitle = contentMap.get("recTitle").toString();
+                String recTypeId = contentMap.get("recTypeId").toString();
+                BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunFirstCourseRecordHtmlAnalysis();
+                Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+                if (MapUtils.isNotEmpty(sourceMap)) {
+                    sourceMap = removeSerialNumber(sourceMap);
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                    structureMap.put("记录编号", contentMap.get("recId").toString());
+                    structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+                }
+            }
+            if (MapUtils.isNotEmpty(structureMap)) {
+                firstCourseRecordDoc = ModelDocGenerate.firstCourseRecordDocGen(structureMap);
+                firstCourseRecordDoc.setText(CommonAnalysisUtil.html2String(content));
+                firstCourseRecordDoc.setPageData((Map) structureMap);
+                List<String> keys = Lists.newArrayList("需求评估", "预期目标", "诊疗计划", "治疗监测计划");
+                String treatPlanJoin = structureMapJoin(structureMap, keys);
+                firstCourseRecordDoc.getTreatPlanLabel().setAiText(treatPlanJoin);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
-        
-        String text = CommonAnalysisUtil.html2String(content);
-        FirstCourseRecordDoc firstCourseRecordDoc = ModelDocGenerate.firstCourseRecordDocGen(structureMap);
-        firstCourseRecordDoc.setText(text);
-        firstCourseRecordDoc.setPageData((Map) structureMap);
-        List<String> keys = Lists.newArrayList("需求评估", "预期目标", "诊疗计划", "治疗监测计划");
-        String treatPlanJoin = structureMapJoin(structureMap, keys);
-        firstCourseRecordDoc.getTreatPlanLabel().setAiText(treatPlanJoin);
         return firstCourseRecordDoc;
     }
 

+ 34 - 25
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunLeaveHospitalDocTrans.java

@@ -1,7 +1,6 @@
 package com.lantone.qc.trans.beilun;
 
 import com.google.common.collect.Lists;
-import com.lantone.qc.dbanaly.facade.changx.CxXmlUtil;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.label.LeaveHospitalDoctorAdviceLabel;
 import com.lantone.qc.pub.model.vo.MedrecVo;
@@ -12,6 +11,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunLeaveHospitalHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.CommonAnalysisUtil;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import java.util.List;
@@ -22,35 +23,43 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 13:25
  */
+@Slf4j
 public class BeiLunLeaveHospitalDocTrans extends ModelDocTrans {
 
     @Override
     public LeaveHospitalDoc extract(MedrecVo medrecVo) {
-        Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
-        String content = contentMap.get("xmlText").toString();
-        Map<String, String> structureMap = null;
-        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
-            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
-        } else {
-            String recTitle = contentMap.get("recTitle").toString();
-            String recTypeId = contentMap.get("recTypeId").toString();
-            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunLeaveHospitalHtmlAnalysis();
-            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+        LeaveHospitalDoc leaveHospitalDoc = null;
+        try {
+            Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+            String content = contentMap.get("xmlText").toString();
+            Map<String, String> structureMap = null;
+            if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+                structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+            } else {
+                String recTitle = contentMap.get("recTitle").toString();
+                String recTypeId = contentMap.get("recTypeId").toString();
+                BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunLeaveHospitalHtmlAnalysis();
+                Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+                if (MapUtils.isNotEmpty(sourceMap)) {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                    structureMap.put("记录编号", contentMap.get("recId").toString());
+                    structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+                }
+            }
+            if (MapUtils.isNotEmpty(structureMap)) {
+                leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(structureMap);
+                if (StringUtils.isNotEmpty(structureMap.get("出院医嘱"))) {
+                    LeaveHospitalDoctorAdviceLabel leaveHospitalDoctorAdviceLabel = new LeaveHospitalDoctorAdviceLabel();
+                    leaveHospitalDoctorAdviceLabel.setText(structureMap.get("出院医嘱"));
+                    leaveHospitalDoctorAdviceLabel.setAiText(structureMap.get("出院医嘱"));
+                    leaveHospitalDoc.setLeaveHospitalDoctorAdviceLabel(leaveHospitalDoctorAdviceLabel);
+                }
+                leaveHospitalDoc.setText(CommonAnalysisUtil.html2String(content));
+                leaveHospitalDoc.setPageData((Map) structureMap);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
         }
-
-        LeaveHospitalDoc leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(structureMap);
-        if (StringUtils.isNotEmpty(structureMap.get("出院医嘱"))) {
-            LeaveHospitalDoctorAdviceLabel leaveHospitalDoctorAdviceLabel = new LeaveHospitalDoctorAdviceLabel();
-            leaveHospitalDoctorAdviceLabel.setText(structureMap.get("出院医嘱"));
-            leaveHospitalDoctorAdviceLabel.setAiText(structureMap.get("出院医嘱"));
-            leaveHospitalDoc.setLeaveHospitalDoctorAdviceLabel(leaveHospitalDoctorAdviceLabel);
-        }
-        String text = CommonAnalysisUtil.html2String(content);
-        leaveHospitalDoc.setText(CxXmlUtil.getXmlText(text));
-        leaveHospitalDoc.setPageData((Map) structureMap);
         return leaveHospitalDoc;
     }
 

+ 72 - 36
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunOperationDocTrans.java

@@ -18,6 +18,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunOperationRecordHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunPreoperativeHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -28,6 +30,7 @@ import java.util.Set;
  * @author: rengb
  * @time: 2020/3/20 17:11
  */
+@Slf4j
 public class BeiLunOperationDocTrans extends ModelDocTrans {
 
     @Override
@@ -73,11 +76,17 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             if (contentMap.get("xmlText") == null || StringUtil.isBlank(contentMap.get("xmlText").toString())) {
                 continue;
             }
-            operationName = index + "";
-            OperationDiscussionDoc operationDiscussionDoc = getOperationDiscussionDoc(contentMap);
-            operationDiscussionDoc.setOperationName(operationName);
-            retMap.put(operationName, operationDiscussionDoc);
-            index++;
+            try {
+                OperationDiscussionDoc operationDiscussionDoc = getOperationDiscussionDoc(contentMap);
+                if (operationDiscussionDoc != null) {
+                    operationName = index + "";
+                    operationDiscussionDoc.setOperationName(operationName);
+                    retMap.put(operationName, operationDiscussionDoc);
+                    index++;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         }
         return retMap;
     }
@@ -92,14 +101,19 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunOperationHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationDiscussion_keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationDiscussion_keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(structureMap);
+            operationDiscussionDoc.setPageData((Map) structureMap);
+            return operationDiscussionDoc;
+        } else {
+            return null;
         }
-
-        OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(structureMap);
-        operationDiscussionDoc.setPageData((Map) structureMap);
-        return operationDiscussionDoc;
     }
 
     private List<String> operationDiscussion_keyContrasts = Lists.newArrayList(
@@ -121,11 +135,17 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             if (contentMap.get("xmlText") == null || StringUtil.isBlank(contentMap.get("xmlText").toString())) {
                 continue;
             }
-            operationName = index + "";
-            OperationRecordDoc operationRecordDoc = getOperationRecordDoc(contentMap);
-            operationRecordDoc.setOperationName(operationName);
-            retMap.put(operationName, operationRecordDoc);
-            index++;
+            try {
+                OperationRecordDoc operationRecordDoc = getOperationRecordDoc(contentMap);
+                if (operationRecordDoc != null) {
+                    operationName = index + "";
+                    operationRecordDoc.setOperationName(operationName);
+                    retMap.put(operationName, operationRecordDoc);
+                    index++;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         }
         return retMap;
     }
@@ -140,14 +160,19 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunOperationRecordHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationRecord_keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationRecord_keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            OperationRecordDoc operationRecordDoc = ModelDocGenerate.operationRecordDocGen(structureMap);
+            operationRecordDoc.setPageData((Map) structureMap);
+            return operationRecordDoc;
+        } else {
+            return null;
         }
-
-        OperationRecordDoc operationRecordDoc = ModelDocGenerate.operationRecordDocGen(structureMap);
-        operationRecordDoc.setPageData((Map) structureMap);
-        return operationRecordDoc;
     }
 
     private List<String> operationRecord_keyContrasts = Lists.newArrayList(
@@ -172,11 +197,17 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             if (contentMap.get("xmlText") == null || StringUtil.isBlank(contentMap.get("xmlText").toString())) {
                 continue;
             }
-            operationName = index + "";
-            PreoperativeDiscussionDoc preoperativeDiscussionDoc = getPreoperativeDiscussionDoc(contentMap);
-            preoperativeDiscussionDoc.setOperationName(operationName);
-            retMap.put(operationName, preoperativeDiscussionDoc);
-            index++;
+            try {
+                PreoperativeDiscussionDoc preoperativeDiscussionDoc = getPreoperativeDiscussionDoc(contentMap);
+                if (preoperativeDiscussionDoc != null) {
+                    operationName = index + "";
+                    preoperativeDiscussionDoc.setOperationName(operationName);
+                    retMap.put(operationName, preoperativeDiscussionDoc);
+                    index++;
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         }
         return retMap;
     }
@@ -191,14 +222,19 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunPreoperativeHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            PreoperativeDiscussionDoc preoperativeDiscussionDoc = ModelDocGenerate.preoperativeDiscussionDocGen(structureMap);
+            preoperativeDiscussionDoc.setPageData((Map) structureMap);
+            return preoperativeDiscussionDoc;
+        } else {
+            return null;
         }
-
-        PreoperativeDiscussionDoc preoperativeDiscussionDoc = ModelDocGenerate.preoperativeDiscussionDocGen(structureMap);
-        preoperativeDiscussionDoc.setPageData((Map) structureMap);
-        return preoperativeDiscussionDoc;
     }
 
     private List<String> preoperativeDiscussion_keyContrasts = Lists.newArrayList(

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunRescueDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunRescueHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/17 17:34
  */
+@Slf4j
 public class BeiLunRescueDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunRescueDocTrans extends ModelDocTrans {
         List<RescueDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getRescueDoc(contentMap));
+            try {
+                RescueDoc rescueDoc = getRescueDoc(contentMap);
+                if (rescueDoc != null) {
+                    retList.add(rescueDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunRescueDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunRescueHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            RescueDoc rescueDoc = ModelDocGenerate.rescueDocGen(structureMap);
+            rescueDoc.setPageData((Map) structureMap);
+            return rescueDoc;
+        } else {
+            return null;
         }
-
-        RescueDoc rescueDoc = ModelDocGenerate.rescueDocGen(structureMap);
-        rescueDoc.setPageData((Map) structureMap);
-        return rescueDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 23 - 8
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunStagesSummaryDocTrans.java

@@ -9,6 +9,8 @@ import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.beilun.util.BeiLunStagesSummaryHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.MapUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -18,6 +20,7 @@ import java.util.Map;
  * @author: rengb
  * @time: 2020/3/19 19:41
  */
+@Slf4j
 public class BeiLunStagesSummaryDocTrans extends ModelDocTrans {
 
     @Override
@@ -25,7 +28,14 @@ public class BeiLunStagesSummaryDocTrans extends ModelDocTrans {
         List<StagesSummaryDoc> retList = Lists.newArrayList();
         List<Map<String, Object>> contentMaps = (List) medrecVo.getContent().get("content");
         contentMaps.forEach(contentMap -> {
-            retList.add(getStagesSummaryDoc(contentMap));
+            try {
+                StagesSummaryDoc stagesSummaryDoc = getStagesSummaryDoc(contentMap);
+                if (stagesSummaryDoc != null) {
+                    retList.add(stagesSummaryDoc);
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+            }
         });
         return retList;
     }
@@ -40,14 +50,19 @@ public class BeiLunStagesSummaryDocTrans extends ModelDocTrans {
             String recTypeId = contentMap.get("recTypeId").toString();
             BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunStagesSummaryHtmlAnalysis();
             Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
-            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-            structureMap.put("记录编号", contentMap.get("recId").toString());
-            structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            if (MapUtils.isNotEmpty(sourceMap)) {
+                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+                structureMap.put("记录编号", contentMap.get("recId").toString());
+                structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
+            }
+        }
+        if (MapUtils.isNotEmpty(structureMap)) {
+            StagesSummaryDoc stagesSummaryDoc = ModelDocGenerate.stagesSummaryDocGen(structureMap);
+            stagesSummaryDoc.setPageData((Map) structureMap);
+            return stagesSummaryDoc;
+        } else {
+            return null;
         }
-
-        StagesSummaryDoc stagesSummaryDoc = ModelDocGenerate.stagesSummaryDocGen(structureMap);
-        stagesSummaryDoc.setPageData((Map) structureMap);
-        return stagesSummaryDoc;
     }
 
     private List<String> keyContrasts = Lists.newArrayList(

+ 17 - 10
trans/src/main/java/com/lantone/qc/trans/beilun/util/CommonAnalysisUtil.java

@@ -2,6 +2,7 @@ package com.lantone.qc.trans.beilun.util;
 
 import com.google.common.collect.Lists;
 import com.lantone.qc.pub.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
@@ -19,6 +20,7 @@ import java.util.regex.Pattern;
  * @Author : HUJING
  * @Date: 2020/9/10 13:48
  */
+@Slf4j
 public class CommonAnalysisUtil {
 
     /**
@@ -28,16 +30,21 @@ public class CommonAnalysisUtil {
      * @return
      */
     public static String html2String(String html) {
-        Document document = Jsoup.parse(html);
-        Element body = document.select("body").first();
-        List<Node> nodes = body.childNodes();
-        Node node = nodes.get(0);
-        String htmlContent = null;
-        if (node instanceof Element) {
-            Element element = (Element) node;
-            htmlContent = element.text();
+        try {
+            Document document = Jsoup.parse(html);
+            Element body = document.select("body").first();
+            List<Node> nodes = body.childNodes();
+            Node node = nodes.get(0);
+            String htmlContent = null;
+            if (node instanceof Element) {
+                Element element = (Element) node;
+                htmlContent = element.text();
+            }
+            return htmlContent;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            return "";
         }
-        return htmlContent;
     }
 
     public static void html2StructureMap(List<String> titles, String htmlText, Map<String, String> structureMap) {
@@ -180,7 +187,7 @@ public class CommonAnalysisUtil {
                     sb.append('*');
                 }
                 content = content.substring(0, index) + sb.toString() + content.substring(index + title.length() + 1);
-//                content = content.substring(0, index) + content.substring(index + title.length() + 1);
+                //                content = content.substring(0, index) + content.substring(index + title.length() + 1);
             }
         }
         titles = Lists.newArrayList(titleIndex.values());