Bläddra i källkod

北仑trans层修改

huj 4 år sedan
förälder
incheckning
e2c67844bf

+ 32 - 29
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunConsultationDocTrans.java

@@ -85,21 +85,22 @@ public class BeiLunConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationRecordDoc getConsultationRecordDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, consultationRecord_keyContrasts);
-        structureMap.put("记录编号", contentMap.get("recId").toString());
-        structureMap.put("病历号", contentMap.get("behospitalCode").toString());
-
-        String text = CxXmlUtil.getXmlText(content);
-        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, consultationRecord_sourceTitles, text);
-        cutWordMap.putAll(structureMap);
-        MapUtil.keyAssig(cutWordMap, "记录医师", "签名");
-
-        ConsultationRecordDoc consultationRecordDoc = ModelDocGenerate.consultationRecordDocGen(cutWordMap);
-        consultationRecordDoc.setText(text);
-        consultationRecordDoc.setPageData((Map) cutWordMap);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            String recTitle = contentMap.get("recTitle").toString();
+            String recTypeId = contentMap.get("recTypeId").toString();
+            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunConsultationHtmlAnalysis();
+            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrasts);
+            structureMap.put("记录编号", contentMap.get("recId").toString());
+            structureMap.put("病历号", contentMap.get("behospitalCode").toString());
+        }
+
+        ConsultationRecordDoc consultationRecordDoc = ModelDocGenerate.consultationRecordDocGen(structureMap);
+        consultationRecordDoc.setText(content);
+        consultationRecordDoc.setPageData((Map) structureMap);
 
         return consultationRecordDoc;
     }
@@ -190,20 +191,22 @@ public class BeiLunConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationApplicationDoc getConsultationApplicationDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, consultationApplication_keyContrasts);
-        structureMap.put("记录编号", contentMap.get("recId").toString());
-        structureMap.put("病历号", contentMap.get("behospitalCode").toString());
-
-        String text = CxXmlUtil.getXmlText(content);
-        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, consultationApplication_sourceTitles, text);
-        cutWordMap.putAll(structureMap);
-
-        ConsultationApplicationDoc consultationApplicationDoc = ModelDocGenerate.consultationApplicationDocGen(cutWordMap);
-        consultationApplicationDoc.setText(text);
-        consultationApplicationDoc.setPageData((Map) cutWordMap);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            String recTitle = contentMap.get("recTitle").toString();
+            String recTypeId = contentMap.get("recTypeId").toString();
+            BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunConsultationHtmlAnalysis();
+            Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_sourceTitles);
+            structureMap.put("记录编号", contentMap.get("recId").toString());
+            structureMap.put("病历号", contentMap.get("behospitalCode").toString());
+        }
+
+        ConsultationApplicationDoc consultationApplicationDoc = ModelDocGenerate.consultationApplicationDocGen(structureMap);
+        consultationApplicationDoc.setText(content);
+        consultationApplicationDoc.setPageData((Map) structureMap);
 
         return consultationApplicationDoc;
     }

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

@@ -5,6 +5,7 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.QueryVo;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.DocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 
@@ -144,7 +145,7 @@ public class BeilunDocTrans extends DocTrans {
 
         if (ListUtil.isNotEmpty(inputInfo.getClinicalBloodDocs())) {
             inputInfo.getPageData().put("输血/血制品病程记录", inputInfo.getClinicalBloodDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
-            inputInfo.setClinicalBloodDocs(inputInfo.getClinicalBloodDocs().stream().filter(i -> i.getText().indexOf("输白蛋白") == -1).collect(Collectors.toList()));
+            inputInfo.setClinicalBloodDocs(inputInfo.getClinicalBloodDocs().stream().filter(i -> StringUtil.isNotBlank(i.getText()) && !i.getText().contains("输白蛋白")).collect(Collectors.toList()));
         }
         if (ListUtil.isNotEmpty(inputInfo.getClinicBloodEffectDocs())) {
             inputInfo.getPageData().put(