浏览代码

字段标准化修改-台州入北仑

rengb 4 年之前
父节点
当前提交
0cb3ca414e
共有 24 个文件被更改,包括 491 次插入217 次删除
  1. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouAnesthesiaRelatedDocTrans.java
  2. 20 22
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouBeHospitalizedDocTrans.java
  3. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicBloodEffectDocTrans.java
  4. 12 4
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicalBloodDocTrans.java
  5. 30 13
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java
  6. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCrisisValueReportDocTrans.java
  7. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCriticallyIllNoticeDocTrans.java
  8. 11 4
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathCaseDiscussDocTrans.java
  9. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathRecordDocTrans.java
  10. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java
  11. 13 7
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java
  12. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouInvasiveOperationDocTrans.java
  13. 12 6
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouLeaveHospitalDocTrans.java
  14. 11 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouMedicalWritingDocTrans.java
  15. 61 36
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java
  16. 40 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOutDepDocTrans.java
  17. 13 6
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouPathologyShipDocTrans.java
  18. 11 6
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouReasonableDiagnosisDocTrans.java
  19. 12 5
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouRescueDocTrans.java
  20. 12 6
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouSeriouslyIllNoticeDocTrans.java
  21. 11 4
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouStagesSummaryDocTrans.java
  22. 103 33
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java
  23. 32 17
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouTransferRecordDocTrans.java
  24. 3 8
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaizhouDocTrans.java

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouAnesthesiaRelatedDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.AnesthesiaRelatedDoc;
 import com.lantone.qc.pub.model.doc.AnesthesiaRelatedDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/17 13:27
  * @time: 2020/3/17 13:27
  */
  */
 public class TaiZhouAnesthesiaRelatedDocTrans extends ModelDocTrans {
 public class TaiZhouAnesthesiaRelatedDocTrans extends ModelDocTrans {
+    private String modeId = "12";
 
 
     @Override
     @Override
     public List<AnesthesiaRelatedDoc> extract(MedrecVo medrecVo) {
     public List<AnesthesiaRelatedDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouAnesthesiaRelatedDocTrans extends ModelDocTrans {
 
 
     private AnesthesiaRelatedDoc getAnesthesiaRelatedDoc(Map<String, Object> contentMap) {
     private AnesthesiaRelatedDoc getAnesthesiaRelatedDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
+            xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts, modeId);
+        }
 
 
         AnesthesiaRelatedDoc anesthesiaRelatedDoc = new AnesthesiaRelatedDoc();
         AnesthesiaRelatedDoc anesthesiaRelatedDoc = new AnesthesiaRelatedDoc();
         anesthesiaRelatedDoc.setStructureMap(structureMap);
         anesthesiaRelatedDoc.setStructureMap(structureMap);

+ 20 - 22
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouBeHospitalizedDocTrans.java

@@ -1,24 +1,15 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
+import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
-import com.lantone.qc.pub.model.label.ChiefLabel;
-import com.lantone.qc.pub.model.label.DiagLabel;
-import com.lantone.qc.pub.model.label.FamilyLabel;
-import com.lantone.qc.pub.model.label.MaritalLabel;
-import com.lantone.qc.pub.model.label.MenstrualLabel;
-import com.lantone.qc.pub.model.label.PacsLabel;
-import com.lantone.qc.pub.model.label.PastLabel;
-import com.lantone.qc.pub.model.label.PersonalLabel;
-import com.lantone.qc.pub.model.label.PresentLabel;
-import com.lantone.qc.pub.model.label.VitalLabel;
-import com.lantone.qc.pub.model.label.VitalLabelSpecial;
+import com.lantone.qc.pub.model.label.*;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
-import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
 import java.util.List;
 import java.util.List;
@@ -30,6 +21,7 @@ import java.util.Map;
  * @time: 2020/3/5 15:47
  * @time: 2020/3/5 15:47
  */
  */
 public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
 public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
+    private String modeId = "1";
 
 
     /**
     /**
      * @param medrecVo
      * @param medrecVo
@@ -40,19 +32,24 @@ public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
 
 
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-        OrdinaryAssistant.removeBlank(structureMap);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+            OrdinaryAssistant.removeBlank(structureMap);
+        }
         /*if (StringUtils.isEmpty(structureMap.get("入院时间")) && StringUtils.isNotEmpty(structureMap.get("入病房时间"))) {
         /*if (StringUtils.isEmpty(structureMap.get("入院时间")) && StringUtils.isNotEmpty(structureMap.get("入病房时间"))) {
             structureMap.put("入院时间", structureMap.get("入病房时间"));
             structureMap.put("入院时间", structureMap.get("入病房时间"));
         }
         }
          */
          */
         //如果有入院时间,优先使用
         //如果有入院时间,优先使用
-        addKeyMapping(structureMap,"入院时间","入病房时间");
+        addKeyMapping(structureMap, "入院时间", "入病房时间");
         //如果有职业,优先使用
         //如果有职业,优先使用
-        addKeyMapping(structureMap,"职业","工作性质");
+        addKeyMapping(structureMap, "职业", "工作性质");
         BeHospitalizedDoc beHospitalizedDoc = beHospitalizedDocGen(structureMap); // 不走共用
         BeHospitalizedDoc beHospitalizedDoc = beHospitalizedDocGen(structureMap); // 不走共用
         beHospitalizedDoc.setPageData((Map) structureMap);
         beHospitalizedDoc.setPageData((Map) structureMap);
         return beHospitalizedDoc;
         return beHospitalizedDoc;
@@ -233,9 +230,10 @@ public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
 
 
     /**
     /**
      * 给structureMap添加一个key(映射)
      * 给structureMap添加一个key(映射)
+     *
      * @param structureMap
      * @param structureMap
-     * @param target    需要用到的key
-     * @param source    structureMap中含有的key
+     * @param target       需要用到的key
+     * @param source       structureMap中含有的key
      */
      */
     protected void addKeyMapping(Map<String, String> structureMap, String target, String source) {
     protected void addKeyMapping(Map<String, String> structureMap, String target, String source) {
         if (StringUtils.isEmpty(structureMap.get(target)) && StringUtils.isNotEmpty(structureMap.get(source))) {
         if (StringUtils.isEmpty(structureMap.get(target)) && StringUtils.isNotEmpty(structureMap.get(source))) {

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicBloodEffectDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
 import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -17,6 +18,7 @@ import java.util.Map;
  * @Date: 2020-04-19 17:53
  * @Date: 2020-04-19 17:53
  */
  */
 public class TaiZhouClinicBloodEffectDocTrans extends ModelDocTrans {
 public class TaiZhouClinicBloodEffectDocTrans extends ModelDocTrans {
+    private String modeId = "32";
 
 
     @Override
     @Override
     public List<ClinicBloodEffectDoc> extract(MedrecVo medrecVo) {
     public List<ClinicBloodEffectDoc> extract(MedrecVo medrecVo) {
@@ -30,10 +32,15 @@ public class TaiZhouClinicBloodEffectDocTrans extends ModelDocTrans {
 
 
     private ClinicBloodEffectDoc getClinicBloodEffectDoc(Map<String, Object> contentMap) {
     private ClinicBloodEffectDoc getClinicBloodEffectDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         ClinicBloodEffectDoc clinicBloodEffectDoc = new ClinicBloodEffectDoc();
         ClinicBloodEffectDoc clinicBloodEffectDoc = new ClinicBloodEffectDoc();
         clinicBloodEffectDoc.setStructureMap(structureMap);
         clinicBloodEffectDoc.setStructureMap(structureMap);

+ 12 - 4
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicalBloodDocTrans.java

@@ -1,8 +1,10 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
+import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
@@ -16,6 +18,7 @@ import java.util.Map;
  * @time: 2020/3/17 13:21
  * @time: 2020/3/17 13:21
  */
  */
 public class TaiZhouClinicalBloodDocTrans extends ModelDocTrans {
 public class TaiZhouClinicalBloodDocTrans extends ModelDocTrans {
+    private String modeId = "10";
 
 
     @Override
     @Override
     public List<ClinicalBloodDoc> extract(MedrecVo medrecVo) {
     public List<ClinicalBloodDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +32,15 @@ public class TaiZhouClinicalBloodDocTrans extends ModelDocTrans {
 
 
     private ClinicalBloodDoc getClinicalBloodDoc(Map<String, Object> contentMap) {
     private ClinicalBloodDoc getClinicalBloodDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         ClinicalBloodDoc clinicalBloodDoc = new ClinicalBloodDoc();
         ClinicalBloodDoc clinicalBloodDoc = new ClinicalBloodDoc();
         clinicalBloodDoc.setStructureMap(structureMap);
         clinicalBloodDoc.setStructureMap(structureMap);

+ 30 - 13
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java

@@ -3,16 +3,17 @@ package com.lantone.qc.trans.taizhou;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.common.collect.Sets;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -24,6 +25,7 @@ import java.util.Set;
  * @time: 2020/3/17 13:22
  * @time: 2020/3/17 13:22
  */
  */
 public class TaiZhouConsultationDocTrans extends ModelDocTrans {
 public class TaiZhouConsultationDocTrans extends ModelDocTrans {
+    private String modeId = "31";
 
 
     /**
     /**
      * 会诊记录包含3个模块:会诊申请单,会诊结果单,会诊记录
      * 会诊记录包含3个模块:会诊申请单,会诊结果单,会诊记录
@@ -86,10 +88,15 @@ public class TaiZhouConsultationDocTrans extends ModelDocTrans {
 
 
     private ConsultationRecordDoc getConsultationRecordDoc(Map<String, Object> contentMap) {
     private ConsultationRecordDoc getConsultationRecordDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrasts, modeId);
+        }
 
 
         ConsultationRecordDoc consultationRecordDoc = new ConsultationRecordDoc();
         ConsultationRecordDoc consultationRecordDoc = new ConsultationRecordDoc();
         consultationRecordDoc.setStructureMap(structureMap);
         consultationRecordDoc.setStructureMap(structureMap);
@@ -128,10 +135,15 @@ public class TaiZhouConsultationDocTrans extends ModelDocTrans {
 
 
     private ConsultationResultsDoc getConsultationResultsDoc(Map<String, Object> contentMap) {
     private ConsultationResultsDoc getConsultationResultsDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationResults_keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationResults_keyContrasts, modeId);
+        }
 
 
         ConsultationResultsDoc consultationResultsDoc = new ConsultationResultsDoc();
         ConsultationResultsDoc consultationResultsDoc = new ConsultationResultsDoc();
         consultationResultsDoc.setStructureMap(structureMap);
         consultationResultsDoc.setStructureMap(structureMap);
@@ -176,10 +188,15 @@ public class TaiZhouConsultationDocTrans extends ModelDocTrans {
 
 
     private ConsultationApplicationDoc getConsultationApplicationDoc(Map<String, Object> contentMap) {
     private ConsultationApplicationDoc getConsultationApplicationDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_keyContrasts, modeId);
+        }
 
 
         ConsultationApplicationDoc consultationApplicationDoc = new ConsultationApplicationDoc();
         ConsultationApplicationDoc consultationApplicationDoc = new ConsultationApplicationDoc();
         consultationApplicationDoc.setStructureMap(structureMap);
         consultationApplicationDoc.setStructureMap(structureMap);

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCrisisValueReportDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/19 19:41
  * @time: 2020/3/19 19:41
  */
  */
 public class TaiZhouCrisisValueReportDocTrans extends ModelDocTrans {
 public class TaiZhouCrisisValueReportDocTrans extends ModelDocTrans {
+    private String modeId = "23";
 
 
     @Override
     @Override
     public List<CrisisValueReportDoc> extract(MedrecVo medrecVo) {
     public List<CrisisValueReportDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouCrisisValueReportDocTrans extends ModelDocTrans {
 
 
     private CrisisValueReportDoc getCrisisValueReportDoc(Map<String, Object> contentMap) {
     private CrisisValueReportDoc getCrisisValueReportDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         CrisisValueReportDoc crisisValueReportDoc = new CrisisValueReportDoc();
         CrisisValueReportDoc crisisValueReportDoc = new CrisisValueReportDoc();
         crisisValueReportDoc.setStructureMap(structureMap);
         crisisValueReportDoc.setStructureMap(structureMap);

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCriticallyIllNoticeDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/19 19:41
  * @time: 2020/3/19 19:41
  */
  */
 public class TaiZhouCriticallyIllNoticeDocTrans extends ModelDocTrans {
 public class TaiZhouCriticallyIllNoticeDocTrans extends ModelDocTrans {
+    private String modeId = "25";
 
 
     @Override
     @Override
     public List<CriticallyIllNoticeDoc> extract(MedrecVo medrecVo) {
     public List<CriticallyIllNoticeDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouCriticallyIllNoticeDocTrans extends ModelDocTrans {
 
 
     private CriticallyIllNoticeDoc getCriticallyIllNoticeDoc(Map<String, Object> contentMap) {
     private CriticallyIllNoticeDoc getCriticallyIllNoticeDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         CriticallyIllNoticeDoc criticallyIllNoticeDoc = new CriticallyIllNoticeDoc();
         CriticallyIllNoticeDoc criticallyIllNoticeDoc = new CriticallyIllNoticeDoc();
         criticallyIllNoticeDoc.setStructureMap(structureMap);
         criticallyIllNoticeDoc.setStructureMap(structureMap);

+ 11 - 4
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathCaseDiscussDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
@@ -17,15 +18,21 @@ import java.util.Map;
  * @time: 2020/3/17 13:22
  * @time: 2020/3/17 13:22
  */
  */
 public class TaiZhouDeathCaseDiscussDocTrans extends ModelDocTrans {
 public class TaiZhouDeathCaseDiscussDocTrans extends ModelDocTrans {
+    private String modeId = "3";
 
 
     @Override
     @Override
     public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
     public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         MapUtil.keyAssig(structureMap, "参加讨论人员", "参加人员及职称医生", "参加人员及职称");
         MapUtil.keyAssig(structureMap, "参加讨论人员", "参加人员及职称医生", "参加人员及职称");
         DeathCaseDiscussDoc deathCaseDiscussDoc = new DeathCaseDiscussDoc();
         DeathCaseDiscussDoc deathCaseDiscussDoc = new DeathCaseDiscussDoc();

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathRecordDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,15 +17,21 @@ import java.util.Map;
  * @time: 2020/3/17 13:23
  * @time: 2020/3/17 13:23
  */
  */
 public class TaiZhouDeathRecordDocTrans extends ModelDocTrans {
 public class TaiZhouDeathRecordDocTrans extends ModelDocTrans {
+    private String modeId = "24";
 
 
     @Override
     @Override
     public DeathRecordDoc extract(MedrecVo medrecVo) {
     public DeathRecordDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         DeathRecordDoc deathRecordDoc = new DeathRecordDoc();
         DeathRecordDoc deathRecordDoc = new DeathRecordDoc();
         deathRecordDoc.setStructureMap(structureMap);
         deathRecordDoc.setStructureMap(structureMap);

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
 import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/17 13:23
  * @time: 2020/3/17 13:23
  */
  */
 public class TaiZhouDifficultCaseDiscussDocTrans extends ModelDocTrans {
 public class TaiZhouDifficultCaseDiscussDocTrans extends ModelDocTrans {
+    private String modeId = "19";
 
 
     @Override
     @Override
     public List<DifficultCaseDiscussDoc> extract(MedrecVo medrecVo) {
     public List<DifficultCaseDiscussDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouDifficultCaseDiscussDocTrans extends ModelDocTrans {
 
 
     private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(Map<String, Object> contentMap) {
     private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         DifficultCaseDiscussDoc difficultCaseDiscussDoc = new DifficultCaseDiscussDoc();
         DifficultCaseDiscussDoc difficultCaseDiscussDoc = new DifficultCaseDiscussDoc();
         difficultCaseDiscussDoc.setStructureMap(structureMap);
         difficultCaseDiscussDoc.setStructureMap(structureMap);

+ 13 - 7
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java

@@ -1,13 +1,14 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
 import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
@@ -21,16 +22,21 @@ import static com.lantone.qc.trans.comsis.ModelDocGenerate.structureMapJoin;
  * @time: 2020/3/17 13:25
  * @time: 2020/3/17 13:25
  */
  */
 public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
 public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
+    private String modeId = "2";
 
 
     @Override
     @Override
     public FirstCourseRecordDoc extract(MedrecVo medrecVo) {
     public FirstCourseRecordDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
         // 病例特点=主诉+现病史-发病情况+专科检查+实验室检查+影像学检查+辅助检查结果+呼吸+脉搏+体温+血压
         // 病例特点=主诉+现病史-发病情况+专科检查+实验室检查+影像学检查+辅助检查结果+呼吸+脉搏+体温+血压
         //        structureMap.put("病例特点", MapUtil.getSelectString(structureMap, Arrays.asList(
         //        structureMap.put("病例特点", MapUtil.getSelectString(structureMap, Arrays.asList(
         //                "主诉",
         //                "主诉",
@@ -78,7 +84,7 @@ public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
     }
     }
 
 
     private List<String> keyContrasts = Lists.newArrayList(
     private List<String> keyContrasts = Lists.newArrayList(
-                        "本人姓名=姓名",
+            "本人姓名=姓名",
             "现病史- 发病情况=现病史",
             "现病史- 发病情况=现病史",
             "现病史- 发病情况=现病史",
             "现病史- 发病情况=现病史",
             "医生=医师签名",
             "医生=医师签名",

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouInvasiveOperationDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.InvasiveOperationDoc;
 import com.lantone.qc.pub.model.doc.InvasiveOperationDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/17 13:27
  * @time: 2020/3/17 13:27
  */
  */
 public class TaiZhouInvasiveOperationDocTrans extends ModelDocTrans {
 public class TaiZhouInvasiveOperationDocTrans extends ModelDocTrans {
+    private String modeId = "59";
 
 
     @Override
     @Override
     public List<InvasiveOperationDoc> extract(MedrecVo medrecVo) {
     public List<InvasiveOperationDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouInvasiveOperationDocTrans extends ModelDocTrans {
 
 
     private InvasiveOperationDoc getInvasiveOperationDoc(Map<String, Object> contentMap) {
     private InvasiveOperationDoc getInvasiveOperationDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
+            xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts, modeId);
+        }
 
 
         InvasiveOperationDoc invasiveOperationDoc = new InvasiveOperationDoc();
         InvasiveOperationDoc invasiveOperationDoc = new InvasiveOperationDoc();
         invasiveOperationDoc.setStructureMap(structureMap);
         invasiveOperationDoc.setStructureMap(structureMap);

+ 12 - 6
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouLeaveHospitalDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,16 +17,21 @@ import java.util.Map;
  * @time: 2020/3/17 13:25
  * @time: 2020/3/17 13:25
  */
  */
 public class TaiZhouLeaveHospitalDocTrans extends ModelDocTrans {
 public class TaiZhouLeaveHospitalDocTrans extends ModelDocTrans {
+    private String modeId = "5";
 
 
     @Override
     @Override
     public LeaveHospitalDoc extract(MedrecVo medrecVo) {
     public LeaveHospitalDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
         LeaveHospitalDoc leaveHospitalDoc = new LeaveHospitalDoc();
         LeaveHospitalDoc leaveHospitalDoc = new LeaveHospitalDoc();
         leaveHospitalDoc.setStructureMap(structureMap);
         leaveHospitalDoc.setStructureMap(structureMap);
         leaveHospitalDoc.setPageData((Map) structureMap);
         leaveHospitalDoc.setPageData((Map) structureMap);

+ 11 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouMedicalWritingDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.MedicalWritingDoc;
 import com.lantone.qc.pub.model.doc.MedicalWritingDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -29,10 +30,15 @@ public class TaiZhouMedicalWritingDocTrans extends ModelDocTrans {
 
 
     private MedicalWritingDoc getMedicalWritingDoc(Map<String, Object> contentMap) {
     private MedicalWritingDoc getMedicalWritingDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> xmlNodeValueMap = TzXmlUtil.getXmlToMapForTZ(content);
+            xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+        }
 
 
         MedicalWritingDoc medicalWritingDoc = new MedicalWritingDoc();
         MedicalWritingDoc medicalWritingDoc = new MedicalWritingDoc();
         medicalWritingDoc.setStructureMap(structureMap);
         medicalWritingDoc.setStructureMap(structureMap);

+ 61 - 36
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java

@@ -3,18 +3,14 @@ package com.lantone.qc.trans.taizhou;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.common.collect.Sets;
-import com.lantone.qc.pub.model.doc.operation.OperationDiscussionDoc;
-import com.lantone.qc.pub.model.doc.operation.OperationDoc;
-import com.lantone.qc.pub.model.doc.operation.OperationInformedConsentDoc;
-import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
-import com.lantone.qc.pub.model.doc.operation.OperationSafetyChecklistDoc;
-import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
+import com.lantone.qc.pub.model.doc.operation.*;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
 import java.util.List;
 import java.util.List;
@@ -92,11 +88,17 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     }
     }
 
 
     private OperationDiscussionDoc getOperationDiscussionDoc(Map<String, Object> contentMap) {
     private OperationDiscussionDoc getOperationDiscussionDoc(Map<String, Object> contentMap) {
+        String modeId = "18";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationDiscussion_keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationDiscussion_keyContrasts, modeId);
+        }
 
 
         OperationDiscussionDoc operationDiscussionDoc = new OperationDiscussionDoc();
         OperationDiscussionDoc operationDiscussionDoc = new OperationDiscussionDoc();
         operationDiscussionDoc.setStructureMap(structureMap);
         operationDiscussionDoc.setStructureMap(structureMap);
@@ -137,12 +139,18 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     }
     }
 
 
     private OperationRecordDoc getOperationRecordDoc(Map<String, Object> contentMap) {
     private OperationRecordDoc getOperationRecordDoc(Map<String, Object> contentMap) {
+        String modeId = "17";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationRecord_keyContrasts);
-        OrdinaryAssistant.removeBlank(structureMap);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationRecord_keyContrasts, modeId);
+            OrdinaryAssistant.removeBlank(structureMap);
+        }
         OperationRecordDoc operationRecordDoc = new OperationRecordDoc();
         OperationRecordDoc operationRecordDoc = new OperationRecordDoc();
         operationRecordDoc.setStructureMap(structureMap);
         operationRecordDoc.setStructureMap(structureMap);
         operationRecordDoc.setPageData((Map) structureMap);
         operationRecordDoc.setPageData((Map) structureMap);
@@ -182,15 +190,21 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     }
     }
 
 
     private PreoperativeDiscussionDoc getPreoperativeDiscussionDoc(Map<String, Object> contentMap) {
     private PreoperativeDiscussionDoc getPreoperativeDiscussionDoc(Map<String, Object> contentMap) {
+        String modeId = "11";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts);
-        addKeyMapping(structureMap,"麻醉方式","拟施手术名称及麻醉方式");
-        addKeyMapping(structureMap,"主刀医师签名","主刀医生");
-        addKeyMapping(structureMap,"既往疾病史","其他");
-        addKeyMapping(structureMap,"诊疗计划","治疗计划和措施");
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts, modeId);
+            addKeyMapping(structureMap, "麻醉方式", "拟施手术名称及麻醉方式");
+            addKeyMapping(structureMap, "主刀医师签名", "主刀医生");
+            addKeyMapping(structureMap, "既往疾病史", "其他");
+            addKeyMapping(structureMap, "诊疗计划", "治疗计划和措施");
+        }
         PreoperativeDiscussionDoc preoperativeDiscussionDoc = new PreoperativeDiscussionDoc();
         PreoperativeDiscussionDoc preoperativeDiscussionDoc = new PreoperativeDiscussionDoc();
         preoperativeDiscussionDoc.setStructureMap(structureMap);
         preoperativeDiscussionDoc.setStructureMap(structureMap);
         preoperativeDiscussionDoc.setPageData((Map) structureMap);
         preoperativeDiscussionDoc.setPageData((Map) structureMap);
@@ -232,12 +246,17 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     }
     }
 
 
     private OperationInformedConsentDoc getOperationInformedConsentDoc(Map<String, Object> contentMap) {
     private OperationInformedConsentDoc getOperationInformedConsentDoc(Map<String, Object> contentMap) {
+        String modeId = "16";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationInformedConsent_keyContrasts);
-
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationInformedConsent_keyContrasts, modeId);
+        }
         OperationInformedConsentDoc operationInformedConsentDoc = new OperationInformedConsentDoc();
         OperationInformedConsentDoc operationInformedConsentDoc = new OperationInformedConsentDoc();
         operationInformedConsentDoc.setStructureMap(structureMap);
         operationInformedConsentDoc.setStructureMap(structureMap);
         operationInformedConsentDoc.setPageData((Map) structureMap);
         operationInformedConsentDoc.setPageData((Map) structureMap);
@@ -284,12 +303,17 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     }
     }
 
 
     private OperationSafetyChecklistDoc getOperationSafetyChecklistDoc(Map<String, Object> contentMap) {
     private OperationSafetyChecklistDoc getOperationSafetyChecklistDoc(Map<String, Object> contentMap) {
+        String modeId = "21";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationSafetyChecklist_keyContrasts);
-
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationSafetyChecklist_keyContrasts, modeId);
+        }
         OperationSafetyChecklistDoc operationSafetyChecklistDoc = new OperationSafetyChecklistDoc();
         OperationSafetyChecklistDoc operationSafetyChecklistDoc = new OperationSafetyChecklistDoc();
         operationSafetyChecklistDoc.setStructureMap(structureMap);
         operationSafetyChecklistDoc.setStructureMap(structureMap);
         operationSafetyChecklistDoc.setPageData((Map) structureMap);
         operationSafetyChecklistDoc.setPageData((Map) structureMap);
@@ -308,9 +332,10 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
 
 
     /**
     /**
      * 给structureMap添加一个key(映射)
      * 给structureMap添加一个key(映射)
+     *
      * @param structureMap
      * @param structureMap
-     * @param target    需要用到的key
-     * @param source    structureMap中含有的key
+     * @param target       需要用到的key
+     * @param source       structureMap中含有的key
      */
      */
     protected void addKeyMapping(Map<String, String> structureMap, String target, String source) {
     protected void addKeyMapping(Map<String, String> structureMap, String target, String source) {
         if (StringUtils.isEmpty(structureMap.get(target)) && StringUtils.isNotEmpty(structureMap.get(source))) {
         if (StringUtils.isEmpty(structureMap.get(target)) && StringUtils.isNotEmpty(structureMap.get(source))) {

+ 40 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOutDepDocTrans.java

@@ -0,0 +1,40 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
+import com.lantone.qc.pub.model.label.ChiefLabel;
+import com.lantone.qc.pub.model.label.PastLabel;
+import com.lantone.qc.pub.model.label.PresentLabel;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 门诊入院记录文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouOutDepDocTrans extends ModelDocTrans {
+
+    @Override
+    public BeHospitalizedDoc extract(MedrecVo medrecVo) {
+        BeHospitalizedDoc beHospitalizedDoc = new BeHospitalizedDoc();
+        Map<String, String> structureMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
+
+        ChiefLabel chiefLabel = new ChiefLabel();
+        chiefLabel.setText(structureMap.get("主诉"));
+        beHospitalizedDoc.setChiefLabel(chiefLabel);
+
+        PresentLabel presentLabel = new PresentLabel();
+        presentLabel.setText(structureMap.get("现病史"));
+        beHospitalizedDoc.setPresentLabel(presentLabel);
+
+        PastLabel pastLabel = new PastLabel();
+        pastLabel.setText(structureMap.get("既往史"));
+        beHospitalizedDoc.setPastLabel(pastLabel);
+
+        return beHospitalizedDoc;
+    }
+
+}

+ 13 - 6
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouPathologyShipDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.PathologyShipDoc;
 import com.lantone.qc.pub.model.doc.PathologyShipDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -17,6 +18,8 @@ import java.util.Map;
  * @Date: 2020-04-19 17:49
  * @Date: 2020-04-19 17:49
  */
  */
 public class TaiZhouPathologyShipDocTrans extends ModelDocTrans {
 public class TaiZhouPathologyShipDocTrans extends ModelDocTrans {
+    private String modeId = "35";
+
     @Override
     @Override
     public List<PathologyShipDoc> extract(MedrecVo medrecVo) {
     public List<PathologyShipDoc> extract(MedrecVo medrecVo) {
         List<PathologyShipDoc> retList = Lists.newArrayList();
         List<PathologyShipDoc> retList = Lists.newArrayList();
@@ -29,11 +32,15 @@ public class TaiZhouPathologyShipDocTrans extends ModelDocTrans {
 
 
     private PathologyShipDoc getPathologyShipDoc(Map<String, Object> contentMap) {
     private PathologyShipDoc getPathologyShipDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
         PathologyShipDoc pathologyShipDoc = new PathologyShipDoc();
         PathologyShipDoc pathologyShipDoc = new PathologyShipDoc();
         pathologyShipDoc.setStructureMap(structureMap);
         pathologyShipDoc.setStructureMap(structureMap);
         pathologyShipDoc.setPageData((Map) structureMap);
         pathologyShipDoc.setPageData((Map) structureMap);

+ 11 - 6
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouReasonableDiagnosisDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.ReasonableDiagnosisDoc;
 import com.lantone.qc.pub.model.doc.ReasonableDiagnosisDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -29,11 +30,15 @@ public class TaiZhouReasonableDiagnosisDocTrans extends ModelDocTrans {
 
 
     private ReasonableDiagnosisDoc getReasonableDiagnosisDoc(Map<String, Object> contentMap) {
     private ReasonableDiagnosisDoc getReasonableDiagnosisDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         ReasonableDiagnosisDoc reasonableDiagnosisDoc = new ReasonableDiagnosisDoc();
         ReasonableDiagnosisDoc reasonableDiagnosisDoc = new ReasonableDiagnosisDoc();
         reasonableDiagnosisDoc.setStructureMap(structureMap);
         reasonableDiagnosisDoc.setStructureMap(structureMap);
 
 

+ 12 - 5
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouRescueDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.RescueDoc;
 import com.lantone.qc.pub.model.doc.RescueDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/17 17:34
  * @time: 2020/3/17 17:34
  */
  */
 public class TaiZhouRescueDocTrans extends ModelDocTrans {
 public class TaiZhouRescueDocTrans extends ModelDocTrans {
+    private String modeId = "22";
 
 
     @Override
     @Override
     public List<RescueDoc> extract(MedrecVo medrecVo) {
     public List<RescueDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouRescueDocTrans extends ModelDocTrans {
 
 
     private RescueDoc getRescueDoc(Map<String, Object> contentMap) {
     private RescueDoc getRescueDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         RescueDoc rescueDoc = new RescueDoc();
         RescueDoc rescueDoc = new RescueDoc();
         rescueDoc.setStructureMap(structureMap);
         rescueDoc.setStructureMap(structureMap);

+ 12 - 6
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouSeriouslyIllNoticeDocTrans.java

@@ -1,11 +1,12 @@
 package com.lantone.qc.trans.taizhou;
 package com.lantone.qc.trans.taizhou;
 
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
-import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/19 19:41
  * @time: 2020/3/19 19:41
  */
  */
 public class TaiZhouSeriouslyIllNoticeDocTrans extends ModelDocTrans {
 public class TaiZhouSeriouslyIllNoticeDocTrans extends ModelDocTrans {
+    private String modeId = "29";
 
 
     @Override
     @Override
     public List<SeriouslyIllNoticeDoc> extract(MedrecVo medrecVo) {
     public List<SeriouslyIllNoticeDoc> extract(MedrecVo medrecVo) {
@@ -29,11 +31,15 @@ public class TaiZhouSeriouslyIllNoticeDocTrans extends ModelDocTrans {
 
 
     private SeriouslyIllNoticeDoc getSeriouslyIllNoticeDoc(Map<String, Object> contentMap) {
     private SeriouslyIllNoticeDoc getSeriouslyIllNoticeDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
         SeriouslyIllNoticeDoc seriouslyIllNoticeDoc = new SeriouslyIllNoticeDoc();
         SeriouslyIllNoticeDoc seriouslyIllNoticeDoc = new SeriouslyIllNoticeDoc();
         seriouslyIllNoticeDoc.setStructureMap(structureMap);
         seriouslyIllNoticeDoc.setStructureMap(structureMap);
         seriouslyIllNoticeDoc.setPageData((Map) structureMap);
         seriouslyIllNoticeDoc.setPageData((Map) structureMap);

+ 11 - 4
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouStagesSummaryDocTrans.java

@@ -3,6 +3,7 @@ package com.lantone.qc.trans.taizhou;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
 import com.lantone.qc.dbanaly.facade.taizhou.TzXmlUtil;
@@ -16,6 +17,7 @@ import java.util.Map;
  * @time: 2020/3/19 19:41
  * @time: 2020/3/19 19:41
  */
  */
 public class TaiZhouStagesSummaryDocTrans extends ModelDocTrans {
 public class TaiZhouStagesSummaryDocTrans extends ModelDocTrans {
+    private String modeId = "28";
 
 
     @Override
     @Override
     public List<StagesSummaryDoc> extract(MedrecVo medrecVo) {
     public List<StagesSummaryDoc> extract(MedrecVo medrecVo) {
@@ -29,10 +31,15 @@ public class TaiZhouStagesSummaryDocTrans extends ModelDocTrans {
 
 
     private StagesSummaryDoc getStagesSummaryDoc(Map<String, Object> contentMap) {
     private StagesSummaryDoc getStagesSummaryDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+        }
 
 
         StagesSummaryDoc stagesSummaryDoc = new StagesSummaryDoc();
         StagesSummaryDoc stagesSummaryDoc = new StagesSummaryDoc();
         stagesSummaryDoc.setStructureMap(structureMap);
         stagesSummaryDoc.setStructureMap(structureMap);

+ 103 - 33
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java

@@ -8,10 +8,12 @@ import com.lantone.qc.dbanaly.util.SpecialStorageUtil;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
+import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.DirectorDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.DirectorDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.GeneralDoctorWardDoc;
 import com.lantone.qc.pub.model.doc.ward.GeneralDoctorWardDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.SpringContextUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
@@ -19,10 +21,8 @@ import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import lombok.Setter;
 import lombok.Setter;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Description: 查房记录文档生成
  * @Description: 查房记录文档生成
@@ -31,7 +31,7 @@ import java.util.Map;
  */
  */
 @Setter
 @Setter
 public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
 public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
-
+    private String modeId = "4";
     private List<String> recTitles;
     private List<String> recTitles;
     private List<OperationDoc> operationDocs;
     private List<OperationDoc> operationDocs;
 
 
@@ -53,26 +53,31 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
 
 
     private void classifyThreeLevelWardDoc(ThreeLevelWardDoc result, Map<String, Object> contentMap) {
     private void classifyThreeLevelWardDoc(ThreeLevelWardDoc result, Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        String recTitle = contentMap.get("recTitle").toString();
-        if (recTitles.contains(recTitle)) {
-            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        }
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, String> structureMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            String recTitle = contentMap.get("recTitle").toString();
+            if (recTitles.contains(recTitle)) {
+                sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
 
 
-        if (StringUtils.isEmpty(structureMap.get("查房日期"))) {
-            return;
-        }
-        //不能简单的标准转化,如果有查房标题,优先使用
-        if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("查房备注"))) {
-            structureMap.put("查房标题", structureMap.get("查房备注"));
-        }
-        if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("查房类别"))) {
-            structureMap.put("查房标题", structureMap.get("查房类别"));
-        }
-        if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("上级查房医生职称"))) {
-            structureMap.put("查房标题", structureMap.get("上级查房医生职称"));
+            if (StringUtils.isEmpty(structureMap.get("查房日期"))) {
+                return;
+            }
+            //不能简单的标准转化,如果有查房标题,优先使用
+            if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("查房备注"))) {
+                structureMap.put("查房标题", structureMap.get("查房备注"));
+            }
+            if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("查房类别"))) {
+                structureMap.put("查房标题", structureMap.get("查房类别"));
+            }
+            if (StringUtils.isEmpty(structureMap.get("查房标题")) && StringUtils.isNotEmpty(structureMap.get("上级查房医生职称"))) {
+                structureMap.put("查房标题", structureMap.get("上级查房医生职称"));
+            }
         }
         }
         //总的查房记录 汇总
         //总的查房记录 汇总
         ThreeLevelWardDoc allDoctorWradDoc = new ThreeLevelWardDoc();
         ThreeLevelWardDoc allDoctorWradDoc = new ThreeLevelWardDoc();
@@ -107,14 +112,15 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
     private DirectorDoctorWardDoc findDirectorDoctorWardDoc(Map<String, String> structureMap) {
     private DirectorDoctorWardDoc findDirectorDoctorWardDoc(Map<String, String> structureMap) {
         String title = structureMap.get("查房标题");
         String title = structureMap.get("查房标题");
         String recordDateStr = structureMap.get("查房日期");
         String recordDateStr = structureMap.get("查房日期");
+        String chiefSurgeon = structureMap.get("主刀医师");
         Date recordDate = StringUtil.parseDateTime(recordDateStr);
         Date recordDate = StringUtil.parseDateTime(recordDateStr);
         DirectorDoctorWardDoc directorDoctorWardDoc = null;
         DirectorDoctorWardDoc directorDoctorWardDoc = null;
         if (StringUtils.isNotEmpty(title)) {
         if (StringUtils.isNotEmpty(title)) {
             if (title.contains("主刀")) {
             if (title.contains("主刀")) {
-                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "主刀医师");
+                String doctorTitle = getDoctorTitle(chiefSurgeon, operationDocs, recordDate, "主刀医师");
                 title = title.replace("主刀", doctorTitle);
                 title = title.replace("主刀", doctorTitle);
             } else if (title.contains("一助")) {
             } else if (title.contains("一助")) {
-                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "一助");
+                String doctorTitle = getDoctorTitle(chiefSurgeon, operationDocs, recordDate, "一助");
                 title = title.replace("一助", doctorTitle);
                 title = title.replace("一助", doctorTitle);
             }
             }
             if (StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主任")) {    //标题有代字)
             if (StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主任")) {    //标题有代字)
@@ -134,14 +140,15 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
     private AttendingDoctorWardDoc findAttendingDoctorWardDoc(Map<String, String> structureMap) {
     private AttendingDoctorWardDoc findAttendingDoctorWardDoc(Map<String, String> structureMap) {
         String title = structureMap.get("查房标题");
         String title = structureMap.get("查房标题");
         String recordDateStr = structureMap.get("查房日期");
         String recordDateStr = structureMap.get("查房日期");
+        String chiefSurgeon = structureMap.get("主刀医师");
         Date recordDate = StringUtil.parseDateTime(recordDateStr);
         Date recordDate = StringUtil.parseDateTime(recordDateStr);
         AttendingDoctorWardDoc attendingDoctorWardDoc = null;
         AttendingDoctorWardDoc attendingDoctorWardDoc = null;
         if (StringUtils.isNotEmpty(title)) {
         if (StringUtils.isNotEmpty(title)) {
             if (title.contains("主刀")) {
             if (title.contains("主刀")) {
-                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "主刀医师");
+                String doctorTitle = getDoctorTitle(chiefSurgeon, operationDocs, recordDate, "主刀医师");
                 title = title.replace("主刀", doctorTitle);
                 title = title.replace("主刀", doctorTitle);
             } else if (title.contains("一助")) {
             } else if (title.contains("一助")) {
-                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "一助");
+                String doctorTitle = getDoctorTitle(chiefSurgeon, operationDocs, recordDate, "一助");
                 title = title.replace("一助", doctorTitle);
                 title = title.replace("一助", doctorTitle);
             }
             }
             if (StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主治")) {    //标题有代字)
             if (StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主治")) {    //标题有代字)
@@ -162,10 +169,26 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
     );
     );
 
 
     public static String subTitle(String srcText) {
     public static String subTitle(String srcText) {
-        if (StringUtil.isNotBlank(srcText) && srcText.contains("代") && srcText.indexOf("代") != srcText.length() - 1) {
-            srcText = srcText.substring(srcText.lastIndexOf("代") + 1);
+        String title = "";
+        if (StringUtil.isNotBlank(srcText)) {
+            //标题不包含代字,直接返回原标题
+            if (!srcText.contains("代")) {
+                return srcText;
+            }
+            //有携、兼字时,取携、兼字之前部分
+            if (srcText.contains("携")) {
+                title += srcText.substring(0, srcText.indexOf("携"));
+            } else if (srcText.contains("兼")) {
+                title += srcText.substring(0, srcText.indexOf("兼"));
+            }
+            //有代字时,取代字之后部分
+            if (srcText.contains("代") && srcText.indexOf("代") != srcText.length() - 1) {
+                title += srcText.substring(srcText.lastIndexOf("代") + 1);
+            } else {
+                return srcText;
+            }
         }
         }
-        return srcText;
+        return title;
     }
     }
 
 
     /**
     /**
@@ -174,16 +197,63 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
      * @param operationDocs
      * @param operationDocs
      * @return
      * @return
      */
      */
-    public static String getDoctorTitle(List<OperationDoc> operationDocs, Date recordDate, String findTitle) {
+    public static String getDoctorTitle(String chiefSurgeonFromWard, List<OperationDoc> operationDocs, Date recordDate, String findTitle) {
         String title = "";
         String title = "";
         SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
         SpecialStorageUtil specialStorageUtil = SpringContextUtil.getBean("specialStorageUtil");
         Map<String, Object> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
         Map<String, Object> surgeon = specialStorageUtil.getJsonStringValue(KernelConstants.HOSPITAL_DOCTOR_MAP);
         if (surgeon == null) {
         if (surgeon == null) {
             return title;
             return title;
         }
         }
+        //如果查房记录中有主刀医师姓名,直接用这个姓名获取对应职称
+        if (StringUtil.isNotBlank(chiefSurgeonFromWard)) {
+            Map<String, String> doctor = (Map) surgeon.get(chiefSurgeonFromWard);
+            if (doctor != null) {
+                title = doctor.get("professor");
+                if (StringUtil.isNotBlank(title)) {
+                    return title;
+                }
+            }
+        }
+
+        //只有术前小结,没有手术记录情况下,直接取术前小结的医师姓名
+        long operationCount = operationDocs.stream().map(OperationDoc::getOperationRecordDoc).filter(Objects::nonNull).count();
+        long preoperativeCount = operationDocs.stream().map(OperationDoc::getPreoperativeDiscussionDoc).filter(Objects::nonNull).count();
+        if (operationCount == 0 && preoperativeCount > 0) {
+            long timeDiff = 0L;
+            List<PreoperativeDiscussionDoc> preoperativeDoc = operationDocs.stream().map(OperationDoc::getPreoperativeDiscussionDoc).filter(Objects::nonNull).collect(Collectors.toList());
+            for (PreoperativeDiscussionDoc doc : preoperativeDoc) {
+                Map<String, String> structureMap = doc.getStructureMap();
+                String chiefSurgeon = structureMap.get(findTitle + "签名");
+                String operatorEndDateStr = structureMap.get("主刀医师签字时间");
+                if (StringUtil.isBlank(chiefSurgeon) || StringUtil.isBlank(operatorEndDateStr)) {
+                    continue;
+                }
+                Map<String, String> doctor = (Map) surgeon.get(chiefSurgeon);
+                if (doctor != null) {
+                    String professor = doctor.get("professor");
+                    Date operatorEndDate = StringUtil.parseDateTime(operatorEndDateStr);
+                    if (operatorEndDate != null) {
+                        long timeDifference = timeDifference(operatorEndDate, recordDate);
+                        if (timeDifference == 0) {
+                            continue;
+                        }
+                        if (timeDiff == 0 || timeDiff > timeDifference) {
+                            /* 取距离此次主刀医师查房最近的一次术前讨论时间 */
+                            timeDiff = timeDifference;
+                            title = professor;
+                        }
+                    }
+                }
+            }
+            if (StringUtil.isNotBlank(title)) {
+                return title;
+            }
+        }
+
         /* 用于存放手术结束时间距离查房时间最近的一次时间差 */
         /* 用于存放手术结束时间距离查房时间最近的一次时间差 */
         long timeDiff = 0L;
         long timeDiff = 0L;
-        for (OperationDoc operationDoc : operationDocs) {
+        for (
+                OperationDoc operationDoc : operationDocs) {
             OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
             OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
             if (operationRecordDoc == null) {
             if (operationRecordDoc == null) {
                 continue;
                 continue;

+ 32 - 17
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouTransferRecordDocTrans.java

@@ -7,17 +7,13 @@ import com.lantone.qc.pub.model.doc.transferrecord.TransferIntoDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferOutDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferOutDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 
 
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
+import java.util.*;
 
 
 /**
 /**
  * @Description: 转科记录文档生成
  * @Description: 转科记录文档生成
@@ -137,11 +133,18 @@ public class TaiZhouTransferRecordDocTrans extends ModelDocTrans {
     }
     }
 
 
     private TransferIntoDoc getTransferIntoDoc(Map<String, Object> contentMap) {
     private TransferIntoDoc getTransferIntoDoc(Map<String, Object> contentMap) {
+        String modeId = "26";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts);
+        Map<String, String> structureMap = null;
+        Map<String, String> sourceMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts, modeId);
+        }
 
 
         TransferIntoDoc transferIntoDoc = new TransferIntoDoc();
         TransferIntoDoc transferIntoDoc = new TransferIntoDoc();
         transferIntoDoc.setText(content);
         transferIntoDoc.setText(content);
@@ -179,8 +182,14 @@ public class TaiZhouTransferRecordDocTrans extends ModelDocTrans {
 
 
     private TransferRecordDoc getTransferAllDoc(Map<String, Object> contentMap) {
     private TransferRecordDoc getTransferAllDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts);
+        Map<String, String> structureMap = null;
+        Map<String, String> sourceMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts);
+        }
         TransferRecordDoc transferAllDoc = new TransferRecordDoc();
         TransferRecordDoc transferAllDoc = new TransferRecordDoc();
         transferAllDoc.setText(content);
         transferAllDoc.setText(content);
         transferAllDoc.setStructureMap(structureMap);
         transferAllDoc.setStructureMap(structureMap);
@@ -210,12 +219,18 @@ public class TaiZhouTransferRecordDocTrans extends ModelDocTrans {
     }
     }
 
 
     private TransferOutDoc getTransferOutDoc(Map<String, Object> contentMap) {
     private TransferOutDoc getTransferOutDoc(Map<String, Object> contentMap) {
+        String modeId = "27";
         String content = contentMap.get("xmlText").toString();
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferOut_keyContrasts);
-
+        Map<String, String> structureMap = null;
+        Map<String, String> sourceMap = null;
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            structureMap = (Map) FastJsonUtils.getJsonToMap(content);
+        } else {
+            sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferOut_keyContrasts, modeId);
+        }
         TransferOutDoc transferOutDoc = new TransferOutDoc();
         TransferOutDoc transferOutDoc = new TransferOutDoc();
         transferOutDoc.setText(content);
         transferOutDoc.setText(content);
         transferOutDoc.setStructureMap(structureMap);
         transferOutDoc.setStructureMap(structureMap);

+ 3 - 8
trans/src/main/java/com/lantone/qc/trans/taizhou/TaizhouDocTrans.java

@@ -69,10 +69,6 @@ public class TaizhouDocTrans extends DocTrans {
                     TaiZhouDoctorAdviceDocTrans doctorAdviceDocTrans = new TaiZhouDoctorAdviceDocTrans();
                     TaiZhouDoctorAdviceDocTrans doctorAdviceDocTrans = new TaiZhouDoctorAdviceDocTrans();
                     inputInfo.setDoctorAdviceDocs(doctorAdviceDocTrans.extract(i));
                     inputInfo.setDoctorAdviceDocs(doctorAdviceDocTrans.extract(i));
                     break;
                     break;
-                case "值班交接制度":
-                    TaiZhouDutyShiftSystemDocTrans dutyShiftSystemDocTrans = new TaiZhouDutyShiftSystemDocTrans();
-                    /*inputInfo.setDutyShiftSystemDocs(dutyShiftSystemDocTrans.extract(i));*/
-                    break;
                 case "首次病程录":
                 case "首次病程录":
                     TaiZhouFirstCourseRecordDocTrans firstCourseRecordDocTrans = new TaiZhouFirstCourseRecordDocTrans();
                     TaiZhouFirstCourseRecordDocTrans firstCourseRecordDocTrans = new TaiZhouFirstCourseRecordDocTrans();
                     inputInfo.setFirstCourseRecordDoc(firstCourseRecordDocTrans.extract(i));
                     inputInfo.setFirstCourseRecordDoc(firstCourseRecordDocTrans.extract(i));
@@ -87,10 +83,6 @@ public class TaizhouDocTrans extends DocTrans {
                     TaiZhouLeaveHospitalDocTrans leaveHospitalDocTrans = new TaiZhouLeaveHospitalDocTrans();
                     TaiZhouLeaveHospitalDocTrans leaveHospitalDocTrans = new TaiZhouLeaveHospitalDocTrans();
                     inputInfo.setLeaveHospitalDoc(leaveHospitalDocTrans.extract(i));
                     inputInfo.setLeaveHospitalDoc(leaveHospitalDocTrans.extract(i));
                     break;
                     break;
-                case "分级护理制度":
-                    TaiZhouNursingSystemDocTrans nursingSystemDocTrans = new TaiZhouNursingSystemDocTrans();
-                    /*inputInfo.setNursingSystemDoc(nursingSystemDocTrans.extract(i));*/
-                    break;
                 case "抢救记录":
                 case "抢救记录":
                     TaiZhouRescueDocTrans rescueDocTrans = new TaiZhouRescueDocTrans();
                     TaiZhouRescueDocTrans rescueDocTrans = new TaiZhouRescueDocTrans();
                     inputInfo.setRescueDocs(rescueDocTrans.extract(i));
                     inputInfo.setRescueDocs(rescueDocTrans.extract(i));
@@ -127,6 +119,9 @@ public class TaizhouDocTrans extends DocTrans {
                 case "住院病历信息":
                 case "住院病历信息":
                     TaiZhouMedicalRecordInfoDocTrans medicalRecordInfoDocTrans = new TaiZhouMedicalRecordInfoDocTrans();
                     TaiZhouMedicalRecordInfoDocTrans medicalRecordInfoDocTrans = new TaiZhouMedicalRecordInfoDocTrans();
                     inputInfo.setMedicalRecordInfoDoc(medicalRecordInfoDocTrans.extract(i));
                     inputInfo.setMedicalRecordInfoDoc(medicalRecordInfoDocTrans.extract(i));
+                case  "门诊":
+                    TaiZhouOutDepDocTrans taiZhouOutDepDocTrans = new TaiZhouOutDepDocTrans();
+                    inputInfo.setBeHospitalizedDoc(taiZhouOutDepDocTrans.extract(i));
                 default:
                 default:
                     break;
                     break;
             }
             }