Browse Source

北仑:标题含有空格时增加recTitle的判断

wangsy 4 years ago
parent
commit
a254601d83

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunClinicBloodEffectHtmlAnalysis.java

@@ -29,7 +29,7 @@ public class BeiLunClinicBloodEffectHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             if (map.containsKey("病情记录")) {
                 String content = map.get("病情记录");
                 CommonAnalysisUtil.cutByTitles(content, titles, 0, map);
@@ -50,7 +50,7 @@ public class BeiLunClinicBloodEffectHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -58,7 +58,7 @@ public class BeiLunClinicBloodEffectHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunClinicalBloodHtmlAnalysis.java

@@ -30,7 +30,7 @@ public class BeiLunClinicalBloodHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             if (map.containsKey("病情记录")) {
                 String content = map.get("病情记录");
                 CommonAnalysisUtil.cutByTitles(content, titles, 0, map);
@@ -51,7 +51,7 @@ public class BeiLunClinicalBloodHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -59,7 +59,7 @@ public class BeiLunClinicalBloodHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunConsultationRecordHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunConsultationRecordHtmlAnalysis implements BeiLunHtmlAnalysis
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunConsultationRecordHtmlAnalysis implements BeiLunHtmlAnalysis
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunConsultationRecordHtmlAnalysis implements BeiLunHtmlAnalysis
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunCrisisValueReportHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunCrisisValueReportHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunCrisisValueReportHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunCrisisValueReportHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunDutyShiftSystemHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunDutyShiftSystemHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunDutyShiftSystemHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunDutyShiftSystemHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunOperationHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunOperationHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             CommonAnalysisUtil.makeEmpty(map,"医生签名");
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
@@ -36,7 +36,7 @@ public class BeiLunOperationHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -44,7 +44,7 @@ public class BeiLunOperationHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录", "患者手术后情况", "术后去向", "术后去向", "术后诊断", "术后处理措施", "术后应当特别注意观察的事项:"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunRescueHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunRescueHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunRescueHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunRescueHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunStagesSummaryHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunStagesSummaryHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle, bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunStagesSummaryHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle, Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunStagesSummaryHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle, text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunThreeLevelWardHtmlAnalysis.java

@@ -27,6 +27,7 @@ public class BeiLunThreeLevelWardHtmlAnalysis implements BeiLunHtmlAnalysis {
         Map<String, String> structureMap = Maps.newLinkedHashMap();
         try {
             String html = args[0];
+            String recTitle = args[1];
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             Element bigDivElement = doc.selectFirst("body").child(0);
@@ -36,7 +37,7 @@ public class BeiLunThreeLevelWardHtmlAnalysis implements BeiLunHtmlAnalysis {
             String htmlText = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
             htmlText = htmlText.replace("注意:上级医师查房主要记 录:患者病情、诊断、鉴别诊断、当前治疗措施和疗效的分析及下一步诊疗意见等,能反应上级医 师的水平。", "")
                     .replace("提醒:有创诊疗操作记录内容包括操作名称、时间、步骤、结果及患者的一般情况,记录操作过 程是否顺利,有无不良反应,术后注意事项,操作医师签名、记录时间等。 手术室完成的、治疗性质的及全麻下完成的有创诊疗操作参照手术管理。(包括介入治疗、胃肠镜 下肿瘤切除/粘膜下肿瘤剥除等)", "");
-            CommonAnalysisUtil.extractWardInfo(htmlText, structureMap);
+            CommonAnalysisUtil.extractWardInfo(recTitle, htmlText, structureMap);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunTransferIntoHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunTransferIntoHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunTransferIntoHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunTransferIntoHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录"

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunTransferOutHtmlAnalysis.java

@@ -27,7 +27,7 @@ public class BeiLunTransferOutHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(bigDivElement, map);
+            analysisGeneral(recTitle,bigDivElement, map);
             BeiLunHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -35,7 +35,7 @@ public class BeiLunTransferOutHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
         if (bigDivElement.childNodeSize() == 1) {
             bigDivElement = bigDivElement.child(0);
         }
@@ -43,7 +43,7 @@ public class BeiLunTransferOutHtmlAnalysis implements BeiLunHtmlAnalysis {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
         String text = BeiLunHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(text, map);
+        CommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(
                 "病情记录",

+ 8 - 2
trans/src/main/java/com/lantone/qc/trans/beilun/util/CommonAnalysisUtil.java

@@ -336,7 +336,7 @@ public class CommonAnalysisUtil {
      * @param htmlText
      * @param structureMap
      */
-    public static void extractWardInfo(String htmlText, Map<String, String> structureMap) {
+    public static void extractWardInfo(String recTitle, String htmlText, Map<String, String> structureMap) {
         if (StringUtil.isNotBlank(htmlText)) {
             htmlText = htmlText.replaceAll("[   \n]", " ").replace("第1页", "")
                     .replace("\n", " ");
@@ -347,9 +347,15 @@ public class CommonAnalysisUtil {
             }
             List<String> titleContent = Lists.newArrayList(htmlText.split(" "));
             String title = titleContent.get(0);
-            if (StringUtil.isNotBlank(title)) {
+            if (StringUtil.isNotBlank(title) && title.equals(recTitle)) {
                 structureMap.put("病历标题", title);
                 titleContent.remove(0);
+            } else {
+                structureMap.put("病历标题", recTitle);
+                if (titleContent.size() > 2) {
+                    titleContent.remove(0);
+                    titleContent.remove(0);
+                }
             }
             StringBuffer sb = new StringBuffer();
             for (String text : titleContent) {