Ver código fonte

长兴术后对接修改

rengb 5 anos atrás
pai
commit
61704545a9

+ 34 - 33
trans/src/main/java/com/lantone/qc/trans/changx/ChangxOperationDocTrans.java

@@ -80,46 +80,30 @@ public class ChangxOperationDocTrans extends ModelDocTrans {
     }
 
     private OperationDiscussionDoc getOperationDiscussionDoc(String content) {
-        Map<String, String> pageData = Preproc.extract_doc_pub(true, operationDiscussion_pageDataTitles, content);
-        pageData.put("病程记录内容",
-                pageData.get("病程记录内容")
-                        .replace(pageData.get("病程记录时间"), "")
-                        .replace(pageData.get("病程记录名称"), "")
-        );
-
-        List<String> targetTitles = Lists.newArrayList();
-        operationDiscussion_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/Region", content);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, operationDiscussion_keyContrasts);
+        if (StringUtil.isNotBlank(structureMap.get("手术开始时间"))) {
+            structureMap.put("手术时间", structureMap.get("手术开始时间"));
+        }
+        if (StringUtil.isNotBlank(structureMap.get("签名"))) {
+            structureMap.put("记录医师", structureMap.get("签名"));
+        }
 
-        Map<String, String> sourceMap = Preproc.extract_doc_pub(true, targetTitles, content);
-        sourceMap.put("记录时间", sourceMap.get("病程记录时间"));
+        String text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Region/Content_Text");
+        if (StringUtil.isBlank(text)) {
+            text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Region");
+        }
+        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, operationDiscussion_sourceTitles, text);
+        cutWordMap.putAll(structureMap);
 
-        OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(sourceMap);
-        operationDiscussionDoc.setText(content);
-        operationDiscussionDoc.setPageData((Map) pageData);
+        OperationDiscussionDoc operationDiscussionDoc = ModelDocGenerate.operationDiscussionDocGen(cutWordMap);
+        operationDiscussionDoc.setText(text);
+        operationDiscussionDoc.setPageData((Map) xmlNodeValueMap);
 
         return operationDiscussionDoc;
     }
 
-    private List<String> operationDiscussion_pageDataTitles = Lists.newArrayList(
-            "病程记录时间",
-            "病程记录名称",
-            "病程记录内容",
-            "记录医师"
-    );
     private List<String> operationDiscussion_sourceTitles = Lists.newArrayList(
-            "病程记录时间",
-            "病程记录名称",
-            "病程记录内容",
             "记录医师",
             "记录时间",
             "手术时间",
@@ -138,6 +122,23 @@ public class ChangxOperationDocTrans extends ModelDocTrans {
             "代理人签名时间"
     );
 
+    private List<String> operationDiscussion_keyContrasts = Lists.newArrayList(
+            "记录日期=记录时间",
+            "手术开始时间=",
+            "手术结束时间=",
+            "麻醉方式=",
+            "手术方式=",
+            "术中诊断++++初步诊断=术中诊断",
+            "手术经过=手术简要经过",
+            "患者术后情况=",
+            "术后处理措施=",
+            "术后并发症及预防措施=术后可能出现的并发症及预防措施",
+            "术后注意事项=",
+            "患者签名=",
+            "签名时间=代理人签名时间",
+            "签字++++患者授权的其他代理人签字=被授权人/代理人签名"
+    );
+
 
     /**********************************************手术记录*************************************************************/
     private Map<String, OperationRecordDoc> getOperationRecordDocMap(List<String> contents) {