zhaops 3 роки тому
батько
коміт
b65b32ce0a

+ 9 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC03231.java

@@ -35,6 +35,15 @@ public class FIRC03231 extends QCCatalogue {
         String diagText = firstCourseRecordDoc.getStructureMap() != null
                 ? firstCourseRecordDoc.getStructureMap().get("鉴别诊断")
                 : "";
+        String diagText2 = firstCourseRecordDoc.getStructureMap() != null
+                ? firstCourseRecordDoc.getStructureMap().get("初步诊断")
+                : "";
+
+        //先判断是否下了中医诊断,没有则通过
+        if (StringUtil.isBlank(diagText2) || !diagText2.contains("中医诊断")) {
+            status.set("0");
+            return;
+        }
 
         if (StringUtil.isBlank(text) && StringUtil.isBlank(diagText)) {
             status.set("0");

+ 0 - 2
trans/src/main/java/com/lantone/qc/trans/ningbozhenhai/FirstCourseRecordDocTrans.java

@@ -55,9 +55,7 @@ public class FirstCourseRecordDocTrans extends ModelDocTrans {
             }
             if (MapUtils.isNotEmpty(structureMap)) {
                 firstCourseRecordDoc = ModelDocGenerate.firstCourseRecordDocGen(structureMap);
-                log.error("首次病程录(html):" + content);
                 firstCourseRecordDoc.setText(CommonAnalysisUtil.html2String(content));
-                log.error("首次病程录(文本):" + firstCourseRecordDoc.getText());
                 firstCourseRecordDoc.setPageData((Map) structureMap);
                 List<String> keys = Lists.newArrayList("需求评估", "预期目标", "诊疗计划", "治疗监测计划");
                 String treatPlanJoin = structureMapJoin(structureMap, keys);

+ 0 - 49
trans/src/main/java/com/lantone/qc/trans/ningbozhenhai/util/CommonAnalysisUtil.java

@@ -1,7 +1,6 @@
 package com.lantone.qc.trans.ningbozhenhai.util;
 
 import com.google.common.collect.Lists;
-import com.lantone.qc.pub.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.*;
@@ -53,52 +52,4 @@ public class CommonAnalysisUtil {
         titles = Lists.newArrayList(titleIndex.values());
         return titles;
     }
-
-    /**
-     * 根据文书各标题截取相应文本,存入structmap中
-     *
-     * @param line         原始文本
-     * @param titles       文书各标题
-     * @param depth        递归深度,也就是titles取值时的下标值
-     * @param structureMap 存储结构化数据
-     */
-    public static void cutByTitles(String line, List<String> titles, int depth, Map<String, String> structureMap) {
-        if (depth > titles.size() || titles.size() == 0) {
-            return;
-        }
-        String beforeTitle = null, title = null, newTitle = null, value = null;
-        beforeTitle = StringUtil.removeBlank(titles.get(Math.max(depth - 1, 0)));
-        title = titles.get(Math.min(depth, titles.size() - 1));
-        if (depth == titles.size()) {
-            /*if (line.contains("\n")) {
-                line = line.split("\n")[0];
-            }
-            */
-            value = line.replace("\n", "");
-            if (StringUtil.isBlank(structureMap.get(beforeTitle))) {
-                log.error("key:" + beforeTitle + "\n value:" + StringUtil.trim(value));
-                structureMap.put(beforeTitle, StringUtil.trim(value));
-            }
-            return;
-        }
-        if (line.contains(title + ":") || line.contains(title + ":")) {
-            if (line.contains(title + ":")) {
-                newTitle = title + ":";
-            } else {
-                newTitle = title + ":";
-            }
-            if (depth > 0) {
-                value = line.substring(0, line.indexOf(newTitle));
-                if (StringUtil.isBlank(structureMap.get(beforeTitle))) {
-                    log.error("key:" + beforeTitle + "\n value:" + StringUtil.trim(value).replace("\n", ""));
-                    structureMap.put(beforeTitle, StringUtil.trim(value).replace("\n", ""));
-                }
-            }
-            line = line.substring(line.indexOf(newTitle) + newTitle.length());
-            depth++;
-        } else {
-            titles.remove(depth);
-        }
-        cutByTitles(line, titles, depth, structureMap);
-    }
 }

+ 3 - 6
trans/src/main/java/com/lantone/qc/trans/ningbozhenhai/util/FirstCourseRecordHtmlAnalysis.java

@@ -10,7 +10,6 @@ import org.jsoup.nodes.Document;
 
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -26,8 +25,8 @@ public class FirstCourseRecordHtmlAnalysis implements HtmlAnalysis {
     public Map<String, String> analysis(String... args) {
         Map<String, String> structureMap = Maps.newLinkedHashMap();
         try {
-            List<String> titles = Lists.newArrayList("病例特点", "拟诊讨论", "中医辨病辨证依据", "鉴别诊断","中医鉴别诊断", "西医鉴别诊断",
-                     "西医诊断依据", "诊断依据", "初步诊断", "病情评估", "诊疗计划", "医生签名");
+            List<String> titles = Lists.newArrayList("病例特点", "拟诊讨论", "中医辨病辨证依据", "鉴别诊断", "中医鉴别诊断", "西医鉴别诊断",
+                    "西医诊断依据", "诊断依据", "初步诊断", "病情评估", "诊疗计划", "医生签名");
             String html = args[0];
             String recTitle = args[1];
             Document doc = Jsoup.parse(html);
@@ -35,10 +34,8 @@ public class FirstCourseRecordHtmlAnalysis implements HtmlAnalysis {
                     .replace("第1页", "");
             CommonAnalysisUtil.extractWardInfo(recTitle, htmlContent, structureMap);
             if (StringUtil.isNotBlank(htmlContent)) {
-                log.error("首次病程录:"+htmlContent);
                 titles = com.lantone.qc.trans.ningbozhenhai.util.CommonAnalysisUtil.sortTitles(titles, htmlContent);
-                log.error("titles:"+titles.stream().collect(Collectors.joining(",")));
-                com.lantone.qc.trans.ningbozhenhai.util.CommonAnalysisUtil.cutByTitles(htmlContent, titles, 0, structureMap);
+                CommonAnalysisUtil.cutByTitles(htmlContent, titles, 0, structureMap);
                 if (!structureMap.containsKey("诊断依据")) {
                     String zdyj = "";
                     if (structureMap.containsKey("西医诊断依据")) {