Browse Source

北仑首次病程录trans层修改bug

huj 4 years ago
parent
commit
8df1306fb6

+ 6 - 9
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunFirstCourseRecordDocTrans.java

@@ -28,18 +28,15 @@ public class BeiLunFirstCourseRecordDocTrans extends ModelDocTrans {
     public FirstCourseRecordDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
-        String recTypeId = contentMap.get("recTypeId").toString();
+        String recTitle = contentMap.get("recTitle").toString();
         BeiLunFirstCourseRecordHtmlAnalysis beiLunFirstCourseRecordHtmlAnalysis = new BeiLunFirstCourseRecordHtmlAnalysis();
-        Map<String, String> sourceMap = beiLunFirstCourseRecordHtmlAnalysis.analysis(content, recTypeId);
-        sourceMap = removeSerialNumber(sourceMap);
+        Map<String, String> sourceMap = beiLunFirstCourseRecordHtmlAnalysis.analysis(content, recTitle);
         //Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+        sourceMap = removeSerialNumber(sourceMap);
         Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-
         String text = CommonAnalysisUtil.html2String(content);
-//        Map<String, String> cutWordMap = getCutWordMap(text);
-//        cutWordMap.putAll(structureMap);
+        //Map<String, String> cutWordMap = getCutWordMap(text);
+        //cutWordMap.putAll(structureMap);
         FirstCourseRecordDoc firstCourseRecordDoc = ModelDocGenerate.firstCourseRecordDocGen(structureMap);
         firstCourseRecordDoc.setText(text);
         firstCourseRecordDoc.setPageData((Map) structureMap);
@@ -51,7 +48,7 @@ public class BeiLunFirstCourseRecordDocTrans extends ModelDocTrans {
 
     private Map<String, String> removeSerialNumber(Map<String, String> sourceMap) {
         Map<String, String> structureMap = Maps.newLinkedHashMap();
-        sourceMap.forEach((key, value) -> structureMap.put(key.replaceAll("[一二三四五六()()]", ""), value));
+        sourceMap.forEach((key, value) -> structureMap.put(key.replaceAll("[一二三四五六()().123456]", ""), value));
         return structureMap;
     }
 

+ 21 - 4
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunFirstCourseRecordHtmlAnalysis.java

@@ -3,6 +3,8 @@ package com.lantone.qc.trans.beilun.util;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.lantone.qc.pub.util.StringUtil;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 
 import java.util.List;
 import java.util.Map;
@@ -21,12 +23,27 @@ public class BeiLunFirstCourseRecordHtmlAnalysis implements BeiLunHtmlAnalysis {
         String html = args[0];
         String recTitle = args[1];
         Map<String, String> structureMap = Maps.newLinkedHashMap();
-        String htmlContent = CommonAnalysisUtil.html2String(html);
+        Document doc = Jsoup.parse(html);
+        String htmlContent = BeiLunHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body").child(0), true);
         if (StringUtil.isNotBlank(htmlContent)) {
-            htmlContent = htmlContent.replaceAll("[   ]", " ");
-            CommonAnalysisUtil.html2StructureMap(titles, htmlContent, structureMap);
+            String[] lines = htmlContent.split("\n\n");
+            if (lines.length > 1) {
+                htmlContent = lines[1];
+                String date = CommonAnalysisUtil.extractDate(htmlContent);
+                if (StringUtil.isNotBlank(date)) {
+                    structureMap.put("时间", date);
+                    htmlContent = htmlContent.replace(date, "");
+                }
+                htmlContent = htmlContent.replaceAll("[   ]", " ");
+                CommonAnalysisUtil.html2StructureMap(titles, htmlContent, structureMap);
+            }
         }
-        CommonAnalysisUtil.extractDateByTitle(structureMap, "时间");
+        if (structureMap.containsKey("(一)病历特点")) {
+            CommonAnalysisUtil.cutByTitles(structureMap.get("(一)病历特点"), Lists.newArrayList("3.入院查体", "4.辅助检查"), 0, structureMap);
+        }
+        BeiLunHtmlAnalysisUtil.insertModuleId(recTitle, structureMap);
+//        CommonAnalysisUtil.extractDateByTitle(structureMap, "时间");
+//        structureMap.forEach((k,v)-> System.out.println(k + "------" + v));
 //        structureMap.put("rec_title=", "107");
 
         return structureMap;