浏览代码

长兴会诊申请单对接修改

rengb 5 年之前
父节点
当前提交
055883f8e6

+ 11 - 11
public/src/main/java/com/lantone/qc/pub/model/keys/TextTypeStandardKeys.java

@@ -44,17 +44,17 @@ public class TextTypeStandardKeys {
     );
     //会诊-会诊申请单的标准key
     public static final List<String> consultationApplication = Lists.newArrayList(
-            "姓名=",
-            "性别=",
-            "病区=",
-            "床号=",
-            "病案号=",
-            "简要病情及诊疗=",
-            "申请理由目的=",
-            "受邀科室=",
-            "会诊分类=",
-            "会诊时间=",
-            "会诊地点=",
+            "姓名",
+            "性别",
+            "病区",
+            "床号",
+            "病案号",
+            "简要病情及诊疗",
+            "申请理由目的",
+            "受邀科室",
+            "会诊分类",
+            "会诊时间",
+            "会诊地点",
             "签名"
     );
     //会诊-会诊结果单的标准key

+ 38 - 35
trans/src/main/java/com/lantone/qc/trans/changx/ChangxConsultationDocTrans.java

@@ -195,48 +195,51 @@ public class ChangxConsultationDocTrans extends ModelDocTrans {
     }
 
     private ConsultationApplicationDoc getConsultationApplicationDoc(String content) {
-        Map<String, String> pageData = Preproc.extract_doc_pub(true, consultationApplication_pageDataTitles, content);
-        pageData.put("病程记录内容",
-                pageData.get("病程记录内容")
-                        .replace(pageData.get("病程记录时间"), "")
-                        .replace(pageData.get("病程记录名称"), "")
-        );
-
-        List<String> targetTitles = Lists.newArrayList();
-        consultationApplication_sourceTitles.forEach(sourceTitle -> {
-            String targetTitle = "";
-            for (int index = 0; index < sourceTitle.length(); index++) {
-                if (index == sourceTitle.length() - 1) {
-                    targetTitle += sourceTitle.substring(index, index + 1);
-                } else {
-                    targetTitle += sourceTitle.substring(index, index + 1) + "[\\s\\p{Zs}]*";
-                }
-            }
-            targetTitles.add(targetTitle);
-        });
+        Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue("//DocObjContent", content);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, consultationApplication_keyContrasts);
 
-        Map<String, String> sourceMap = Preproc.extract_doc_pub(true, targetTitles, content);
-        sourceMap.put("记录时间", sourceMap.get("病程记录时间"));
+        String text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Content_Text");
+        if (StringUtil.isBlank(text)) {
+            text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent");
+        }
+        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, consultationApplication_sourceTitles, text);
+        cutWordMap.putAll(structureMap);
 
-        ConsultationApplicationDoc consultationApplicationDoc = ModelDocGenerate.consultationApplicationDocGen(sourceMap);
-        consultationApplicationDoc.setText(content);
-        consultationApplicationDoc.setPageData((Map) pageData);
+        ConsultationApplicationDoc consultationApplicationDoc = ModelDocGenerate.consultationApplicationDocGen(cutWordMap);
+        consultationApplicationDoc.setText(text);
+        consultationApplicationDoc.setPageData((Map) xmlNodeValueMap);
 
         return consultationApplicationDoc;
     }
 
-    private List<String> consultationApplication_pageDataTitles = Lists.newArrayList(
-            "病程记录时间",
-            "病程记录名称",
-            "病程记录内容",
-            "记录医师"
-    );
     private List<String> consultationApplication_sourceTitles = Lists.newArrayList(
-            "病程记录时间",
-            "病程记录名称",
-            "病程记录内容",
-            "记录时间",
-            "记录医师"
+            "姓名",
+            "性别",
+            "病区",
+            "床号",
+            "病案号",
+            "简要病情及诊疗",
+            "申请理由目的",
+            "受邀科室",
+            "会诊分类",
+            "会诊时间",
+            "会诊地点",
+            "签名"
+    );
+
+    private List<String> consultationApplication_keyContrasts = Lists.newArrayList(
+            "++++姓名=姓名",
+            "性别=性别",
+            "++++病区=病区",
+            "床号=",
+            "++++病案号=病案号",
+            "新会诊-简要病情及诊疗=简要病情及诊疗",
+            "新会诊-申请理由目的=申请理由目的",
+            "新会诊-受邀科室=受邀科室",
+            "新会诊-会诊分类=会诊分类",
+            "新会诊-会诊时间=会诊时间",
+            "新会诊-会诊地点=会诊地点",
+            "签名++++=签名"
     );
 
 }