Explorar el Código

湘雅三院:解析代码同步

wangsy hace 3 años
padre
commit
2dd8f3cbf0
Se han modificado 23 ficheros con 309 adiciones y 66 borrados
  1. 13 7
      trans/src/main/java/com/lantone/qc/trans/changshaxy/BeHospitalizedDocTrans.java
  2. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/ClinicBloodEffectDocTrans.java
  3. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/ClinicalBloodDocTrans.java
  4. 10 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/ConsultationDocTrans.java
  5. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/CrisisValueReportDocTrans.java
  6. 5 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/CriticallyIllNoticeDocTrans.java
  7. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/DeathCaseDiscussDocTrans.java
  8. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/DeathRecordDocTrans.java
  9. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/DifficultCaseDiscussDocTrans.java
  10. 15 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/FirstCourseRecordDocTrans.java
  11. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/LeaveHospitalDocTrans.java
  12. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/RescueDocTrans.java
  13. 4 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/StagesSummaryDocTrans.java
  14. 12 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/ThreeLevelWardDocTrans.java
  15. 11 0
      trans/src/main/java/com/lantone/qc/trans/changshaxy/TransferRecordDocTrans.java
  16. 44 20
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyBeHospitalizedHtmlAnalysis.java
  17. 13 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyCriticallyIllNoticeHtmlAnalysis.java
  18. 28 3
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyFirstCourseRecordHtmlAnalysis.java
  19. 28 9
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyLeaveHospitalHtmlAnalysis.java
  20. 21 4
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyOperationHtmlAnalysis.java
  21. 27 9
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyOperationRecordHtmlAnalysis.java
  22. 26 8
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyPreoperativeHtmlAnalysis.java
  23. 20 1
      trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyThreeLevelWardHtmlAnalysis.java

+ 13 - 7
trans/src/main/java/com/lantone/qc/trans/changshaxy/BeHospitalizedDocTrans.java

@@ -31,6 +31,9 @@ public class BeHospitalizedDocTrans extends ModelDocTrans {
         try {
             Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
             String content = contentMap.get("xmlText").toString();
+            if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+                return beHospitalizedDoc;
+            }
             Map<String, String> structureMap = null;
             if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
                 structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -42,13 +45,13 @@ public class BeHospitalizedDocTrans extends ModelDocTrans {
                 Map<String, String> sourceMap = htmlAnalysis.analysis(content, recTitle, recTypeId);
                 if (MapUtils.isNotEmpty(sourceMap)) {
                     structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-                    if (StringUtils.isNotEmpty(structureMap.get("记录时间"))){
-                        String date=structureMap.get("记录时间");
-                        structureMap.put("记录时间",date.replace(","," "));
+                    if (StringUtils.isNotEmpty(structureMap.get("记录时间"))) {
+                        String date = structureMap.get("记录时间");
+                        structureMap.put("记录时间", date.replace(",", " "));
                     }
-                    if (StringUtils.isNotEmpty(structureMap.get("入院日期"))){
-                        String date=structureMap.get("入院日期");
-                        structureMap.put("入院日期",date.replace(","," "));
+                    if (StringUtils.isNotEmpty(structureMap.get("入院日期"))) {
+                        String date = structureMap.get("入院日期");
+                        structureMap.put("入院日期", date.replace(",", " "));
                     }
                     structureMap.put("记录编号", contentMap.get("recId").toString());
                     structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
@@ -76,7 +79,10 @@ public class BeHospitalizedDocTrans extends ModelDocTrans {
             "病历记录时间=记录时间",
             "医师=记录医生",
             "签字时间=记录时间",
-            "专科情况=专科检查"
+            "专科情况=专科检查",
+            "入院时间=入院日期",
+            "入院诊断=初步诊断",
+            "入科时间=入院日期"
     );
 
 }

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/ClinicBloodEffectDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyClinicBloodEffectHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -42,6 +43,9 @@ public class ClinicBloodEffectDocTrans extends ModelDocTrans {
 
     private ClinicBloodEffectDoc getClinicalBloodDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/ClinicalBloodDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 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.trans.ModelDocTrans;
 
 import com.lantone.qc.trans.changshaxy.util.XyClinicalBloodHtmlAnalysis;
@@ -44,6 +45,9 @@ public class ClinicalBloodDocTrans extends ModelDocTrans {
 
     private ClinicalBloodDoc getClinicalBloodDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 10 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/ConsultationDocTrans.java

@@ -92,6 +92,9 @@ public class ConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationRecordDoc getConsultationRecordDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -116,7 +119,7 @@ public class ConsultationDocTrans extends ModelDocTrans {
     }
 
     private List<String> consultationRecord_keyContrasts = Lists.newArrayList(
-        "申请日期=病历日期",
+            "申请日期=病历日期",
             "会诊病人姓名=基础信息",
             "申请会诊病室负责人签名=申请医生",
             "主任签名=记录医生",
@@ -153,6 +156,9 @@ public class ConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationResultsDoc getConsultationResultsDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -208,6 +214,9 @@ public class ConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationApplicationDoc getConsultationApplicationDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/CrisisValueReportDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyCrisisValueReportHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -42,6 +43,9 @@ public class CrisisValueReportDocTrans extends ModelDocTrans {
 
     private CrisisValueReportDoc getCrisisValueReportDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 5 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/CriticallyIllNoticeDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyCriticallyIllNoticeHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -43,6 +44,9 @@ public class CriticallyIllNoticeDocTrans extends ModelDocTrans {
 
     private CriticallyIllNoticeDoc getCriticallyIllNoticeDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -68,7 +72,7 @@ public class CriticallyIllNoticeDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-      "临床诊断=当前诊断"
+            "临床诊断=当前诊断"
     );
 
 }

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/DeathCaseDiscussDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyDeathCaseDiscussHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -29,6 +30,9 @@ public class DeathCaseDiscussDocTrans extends ModelDocTrans {
         try {
             Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
             String content = contentMap.get("xmlText").toString();
+            if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+                return deathCaseDiscussDoc;
+            }
             Map<String, String> structureMap = null;
             if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
                 structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/DeathRecordDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyDeathRecordHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -30,6 +31,9 @@ public class DeathRecordDocTrans extends ModelDocTrans {
         try {
             Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
             String content = contentMap.get("xmlText").toString();
+            if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+                return deathRecordDoc;
+            }
             Map<String, String> structureMap = null;
             if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
                 structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/DifficultCaseDiscussDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyDifficultCaseDiscussHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
@@ -42,6 +43,9 @@ public class DifficultCaseDiscussDocTrans extends ModelDocTrans {
 
     private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 15 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/FirstCourseRecordDocTrans.java

@@ -34,6 +34,9 @@ public class FirstCourseRecordDocTrans extends ModelDocTrans {
         try {
             Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
             String content = contentMap.get("xmlText").toString();
+            if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+                return firstCourseRecordDoc;
+            }
             Map<String, String> structureMap = null;
             if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
                 structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -50,6 +53,15 @@ public class FirstCourseRecordDocTrans extends ModelDocTrans {
                     structureMap.put("标题", recTitle);
                 }
             }
+            if (structureMap.containsKey("诊疗计划") && structureMap.get("诊疗计划").contains("1.2.3.4.")) {
+                structureMap.put("诊疗计划", "");
+            }
+
+            if (StringUtil.isBlank(structureMap.get("诊断依据")) && StringUtil.isBlank(structureMap.get("鉴别诊断")) &&
+                    StringUtil.isBlank(structureMap.get("初步诊断")) && StringUtil.isBlank(structureMap.get("病例分型"))) {
+                return firstCourseRecordDoc;
+            }
+
             if (StringUtil.isNotBlank(structureMap.get("医生签名"))) {
                 structureMap.put("医生签名", structureMap.get("医生签名").replaceAll("医生签名", ""));
             }
@@ -76,7 +88,9 @@ public class FirstCourseRecordDocTrans extends ModelDocTrans {
     private List<String> keyContrasts = Lists.newArrayList(
             "病历标题=标题",
             "入院诊断=初步诊断",
-            "辅助检查=辅检"
+            "辅助检查=辅检",
+            "3.病例分型=病例分型",
+            "3.病历分型=病例分型"
     );
 
 }

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/LeaveHospitalDocTrans.java

@@ -5,6 +5,7 @@ import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.label.LeaveHospitalDoctorAdviceLabel;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyLeaveHospitalHtmlAnalysis;
@@ -32,6 +33,9 @@ public class LeaveHospitalDocTrans extends ModelDocTrans {
         try {
             Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
             String content = contentMap.get("xmlText").toString();
+            if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+                return leaveHospitalDoc;
+            }
             Map<String, String> structureMap = null;
             if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
                 structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/RescueDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.RescueDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyRescueHtmlAnalysis;
@@ -42,6 +43,9 @@ public class RescueDocTrans extends ModelDocTrans {
 
     private RescueDoc getRescueDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/StagesSummaryDocTrans.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 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.trans.ModelDocTrans;
 import com.lantone.qc.trans.changshaxy.util.XyHtmlAnalysis;
 import com.lantone.qc.trans.changshaxy.util.XyStagesSummaryHtmlAnalysis;
@@ -42,6 +43,9 @@ public class StagesSummaryDocTrans extends ModelDocTrans {
 
     private StagesSummaryDoc getStagesSummaryDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);

+ 12 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/ThreeLevelWardDocTrans.java

@@ -56,6 +56,9 @@ public class ThreeLevelWardDocTrans extends ModelDocTrans {
 
     private void classifyThreeLevelWardDoc(ThreeLevelWardDoc threeLevelWardDoc, Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return;
+        }
         Map<String, String> structureMap = null;
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -74,8 +77,16 @@ public class ThreeLevelWardDocTrans extends ModelDocTrans {
             return;
         }
 
+        if (StringUtil.isBlank(structureMap.get("病情记录"))) {
+            return;
+        }
+
         if (structureMap.containsKey("病情记录")) {
-            structureMap.put("病情记录", structureMap.get("病情记录").replace(" ", ""));
+            if (structureMap.get("病情记录").contains("医师查房记录     内容:补充病史,补充体查,考虑诊断及依据,鉴别诊断,分析及处理,病情告知情况等。    ")) {
+                return;
+            } else {
+                structureMap.put("病情记录", structureMap.get("病情记录").replace(" ", ""));
+            }
         }
         //structureMap.put("查房日期", structureMap.get("记录时间"));
         /*Map<String, String> cutWordMap = Maps.newHashMap();

+ 11 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/TransferRecordDocTrans.java

@@ -149,6 +149,9 @@ public class TransferRecordDocTrans extends ModelDocTrans {
 
     private TransferIntoDoc getTransferIntoDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = new HashMap<>();
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -204,6 +207,9 @@ public class TransferRecordDocTrans extends ModelDocTrans {
 
     private TransferRecordDoc getTransferAllDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = new HashMap<>();
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -262,6 +268,9 @@ public class TransferRecordDocTrans extends ModelDocTrans {
 
     private TransferOutDoc getTransferOutDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
+        if (StringUtil.isNotBlank(content) && content.equals("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<string xmlns=\"http://www.healthcare.supcon.com/wsmeddoc/\" />")) {
+            return null;
+        }
         Map<String, String> structureMap = new HashMap<>();
         if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
             structureMap = (Map) FastJsonUtils.getJsonToMap(content);
@@ -295,6 +304,8 @@ public class TransferRecordDocTrans extends ModelDocTrans {
         }
     }
 
+
+
     private List<String> keyContrasts = Lists.newArrayList(
             "病历标题=标题",
             "医师签名=记录医生",

+ 44 - 20
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyBeHospitalizedHtmlAnalysis.java

@@ -31,7 +31,7 @@ public class XyBeHospitalizedHtmlAnalysis implements XyHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            Document doc = Jsoup.parse(html);
+            Document doc = Jsoup.parse(html.replace("<b>", "").replace("</b>", ""));
 
             if (recTitle.contains("24")) {
                 analysis24h(doc, map);
@@ -52,44 +52,68 @@ public class XyBeHospitalizedHtmlAnalysis implements XyHtmlAnalysis {
 
         String htmlString = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), true)
                 .replace("&nbsp", ":")
-                .replace("8220","“")
-                .replace("8221","”");
+                .replace("8220", "“")
+                .replace("8221", "”");
 
-        List<String> titles = Lists.newArrayList("姓名", "出生地", "性别", "民族", "年龄", "职业", "婚姻", "病史陈述者",
-                "入院日期", "入院时间", "病历记录时间", "住址", "联系电话",
+        List<String> titles = Lists.newArrayList("姓名", "出生地", "性别", "民族", "年龄", "职业", "父母姓名", "监护人", "婚姻", "病史陈述者",
+                "入科时间", "入院日期", "入院时间", "病历记录时间", "住址", "联系电话",
                 "入院方式", "主诉", "现病史", "既往史", "个人史", "婚育史", "月经史", "家族史",
-                "初步诊断", "入院诊断", "体 格 检 查", "体 格 检 查 ", "专科情况", "辅助检查", "入院诊断", "医师", "上级医师", "签字时间");
+                "初步诊断", "入院诊断", "体 格 检 查", "体 格 检 查 ", "专科情况", "辅助检查", "入院诊断", "医师", "上级医师", "签字时间", "体 格 检 查");
         titles = CommonAnalysisUtil.sortTitles(titles, htmlString);
         CommonAnalysisUtil.cutByTitles(htmlString, titles, 0, map);
 
         //家族史其中可能包括体格检查
         if (StringUtil.isNotBlank(map.get("家族史"))) {
-            map.put("家族史",map.get("家族史").replace(":", ""));
+            map.put("家族史", map.get("家族史").replace(":", ""));
         }
-        if (StringUtils.isNotEmpty(map.get("家族史"))){
-//            if (map.get("家族史").contains("体 格 检 查 ")) {
-//                Integer index = map.get("家族史").indexOf("体 格 检 查 ");
-//                map.put("体格检查", map.get("家族史").substring(index + "体 格 检 查 ".length(), map.get("家族史").length()));
-//                map.put("家族史", map.get("家族史").substring(0, index));
-//            }
+        if (StringUtils.isNotEmpty(map.get("家族史"))) {
             if (map.get("家族史").contains("体 格 检 查")) {
                 Integer index = map.get("家族史").indexOf("体 格 检 查");
                 map.put("体格检查", map.get("家族史").substring(index + "体 格 检 查".length(), map.get("家族史").length()));
                 map.put("家族史", map.get("家族史").substring(0, index));
             }
         }
+        //现病史中包括体格检查
+        if (StringUtils.isNotEmpty(map.get("现病史"))) {
+            String info = map.get("现病史");
+            if (map.get("现病史").contains("体 格 检 查")) {
+                Integer index = map.get("现病史").indexOf("体 格 检 查");
+                map.put("体格检查", map.get("现病史").substring(index + "体 格 检 查".length(), map.get("现病史").length()));
+                map.put("现病史", map.get("现病史").substring(0, index));
+            } else if (map.get("现病史").contains("体 :格 :检 :查")) {
+                Integer index = map.get("现病史").indexOf("体 :格 :检 :查");
+                map.put("体格检查", map.get("现病史").substring(index + "体 :格 :检 :查".length(), map.get("现病史").length()));
+                map.put("现病史", map.get("现病史").substring(0, index));
+            }
+        }
+        //签字时间中包括体格检查
+        if (StringUtils.isNotEmpty(map.get("签字时间"))) {
+            if (map.get("签字时间").contains("体 格 检 查")) {
+                Integer index = map.get("签字时间").indexOf("体 格 检 查");
+                map.put("体格检查", map.get("签字时间").substring(index + "体 格 检 查".length(), map.get("签字时间").length()));
+                map.put("签字时间", map.get("签字时间").substring(0, index));
+            }
+        }
 
-        if (StringUtils.isNotEmpty(map.get("体格检查"))){
-            String str =map.get("体格检查");
-            str = str.replace("神 经 系 统 检 查","神经系统检查: ").replace("浅 感 觉 检 查 记 录 图","浅感觉检查记录:");
-            List<String> titlestr = Lists.newArrayList("神经系统检查","运动系统","浅感觉检查记录","感觉系统","自主神经系统");
+        if (StringUtils.isNotEmpty(map.get("体格检查"))) {
+            String str = map.get("体格检查");
+            str = str.replace("神 经 系 统 检 查", "神经系统检查: ").replace("浅 感 觉 检 查 记 录 图", "浅感觉检查记录:");
+            List<String> titlestr = Lists.newArrayList("神经系统检查", "运动系统", "浅感觉检查记录", "感觉系统", "自主神经系统");
             titlestr = CommonAnalysisUtil.sortTitles(titlestr, str);
             CommonAnalysisUtil.cutByTitles(str, titlestr, 0, map);
         }
 
-        if (StringUtils.isEmpty(map.get("专科情况"))){
-            map.put("专科情况","神经系统检查:"+map.get("神经系统检查")+"\n运动系统:"+map.get("运动系统")+"\n浅感觉检查记录:"+
-                    map.get("浅感觉检查记录")+"\n感觉系统:"+map.get("感觉系统")+"\n自主神经系统:"+map.get("自主神经系统"));
+        if (StringUtils.isEmpty(map.get("专科情况"))) {
+            map.put("专科情况",
+                    "神经系统检查:" + (StringUtil.isBlank(map.get("神经系统检查")) ? "空" : map.get("神经系统检查")) +
+                            "\n运动系统:" + (StringUtil.isBlank(map.get("运动系统")) ? "空" : map.get("运动系统")) +
+                            "\n浅感觉检查记录:" + (StringUtil.isBlank(map.get("浅感觉检查记录")) ? "空" : map.get("浅感觉检查记录")) +
+                            "\n感觉系统:" + (StringUtil.isBlank(map.get("感觉系统")) ? "空" : map.get("感觉系统")) +
+                            "\n自主神经系统:" + (StringUtil.isBlank(map.get("自主神经系统")) ? "空" : map.get("自主神经系统")));
+        }
+
+        if (StringUtil.isNotBlank(map.get("入院日期"))) {
+            map.put("入院日期", map.get("入院日期").replace(",", " "));
         }
     }
 

+ 13 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyCriticallyIllNoticeHtmlAnalysis.java

@@ -35,7 +35,19 @@ public class XyCriticallyIllNoticeHtmlAnalysis implements XyHtmlAnalysis {
             Document doc = Jsoup.parse(html);
             String htmlContent = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), true).replace("&nbsp", "");
             if (StringUtil.isNotBlank(htmlContent)) {
-                htmlContent = htmlContent.replaceAll("[   ]", " ");
+                htmlContent = htmlContent.replaceAll("[   ]", " ")
+                        .replace("&nbsp", " ")
+                        .replace("8220", "“")
+                        .replace("8221", "”")
+                        .replace("87301", "1")
+                        .replace("87302", "2")
+                        .replace("87303", "3")
+                        .replace("87304", "4")
+                        .replace("87305", "5")
+                        .replace("87306", "6")
+                        .replace("8593", "↑")
+                        .replace("8595", "↓")
+                        .replace("8546", "Ⅲ");
                 XyCommonAnalysisUtil.html2StructureMap(titles, htmlContent, structureMap);
             }
 

+ 28 - 3
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyFirstCourseRecordHtmlAnalysis.java

@@ -26,12 +26,30 @@ public class XyFirstCourseRecordHtmlAnalysis implements XyHtmlAnalysis {
     public Map<String, String> analysis(String... args) {
         Map<String, String> structureMap = Maps.newLinkedHashMap();
         try {
-            List<String> titles = Lists.newArrayList("病例特点","临床表现", "主要症状", "既往史", "查体","辅助资料",
-                    "拟诊讨论","诊断依据", "鉴别诊断", "入院诊断", "病例分型", "诊疗计划");
+            List<String> titles = Lists.newArrayList("病例特点", "临床表现", "主要症状", "既往史", "查体", "辅助资料",
+                    "拟诊讨论", "诊断依据", "鉴别诊断", "入院诊断", "3.病例分型", "3.病历分型", "诊疗计划");
             String html = args[0];
             String recTitle = args[1];
             Document doc = Jsoup.parse(html);
-            String htmlContent = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), true).replace("&nbsp", ":");
+            String htmlContent = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), true)
+                    .replace("&nbsp", " ")
+                    .replace("8220", "“")
+                    .replace("8221", "”")
+                    .replace("9332", "(1)")
+                    .replace("9333", "(2)")
+                    .replace("9334", "(3)")
+                    .replace("9335", "(4)")
+                    .replace("8593", "↑")
+                    .replace("8595", "↓")
+                    .replace("8544", "Ⅰ")
+                    .replace("8545", "Ⅱ")
+                    .replace("8546", "Ⅲ")
+                    .replace("9312", "①")
+                    .replace("9313", "②")
+                    .replace("9314", "③")
+                    .replace("9315", "④")
+                    .replace("8451", "℃");
+            ;
             htmlContent.replace(" ", "");
             XyCommonAnalysisUtil.extractWardInfo(recTitle, htmlContent, structureMap);
             if (StringUtil.isNotBlank(htmlContent)) {
@@ -45,6 +63,13 @@ public class XyFirstCourseRecordHtmlAnalysis implements XyHtmlAnalysis {
                 structureMap.put("病例特点", structureMap.get("病情记录").substring(0, index));
                 structureMap.put("拟诊讨论", structureMap.get("病情记录").substring(index + "拟诊讨论".length(), structureMap.get("病情记录").length()));
             }
+            if (StringUtil.isNotBlank(structureMap.get("3.病例分型"))) {
+                structureMap.put("3.病例分型", structureMap.get("3.病例分型").replace("4.", ""));
+            }
+            if (StringUtil.isNotBlank(structureMap.get("3.病历分型"))) {
+                structureMap.put("3.病例分型", structureMap.get("3.病历分型").replace("4.", ""));
+            }
+
             XyHtmlAnalysisUtil.insertModuleId(modeId, recTitle, structureMap);
 
 

+ 28 - 9
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyLeaveHospitalHtmlAnalysis.java

@@ -28,25 +28,44 @@ public class XyLeaveHospitalHtmlAnalysis implements XyHtmlAnalysis {
         Map<String, String> structureMap = Maps.newLinkedHashMap();
         try {
             List<String> titles = Lists.newArrayList("入院日期", "出院日期", "住院天数", "入院诊断",
-                    "入院时体查","辅助资料","住院经过", "出院时情况",
-                    "出院诊断", "出院医嘱", "医师签名", "上级医师签名","医师","上级医师");
+                    "入院时体查", "辅助资料", "住院经过", "出院时情况",
+                    "出院诊断", "出院医嘱", "医师签名", "上级医师签名", "医师", "上级医师");
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             String htmlContent = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), true).replace("&nbsp", ":");
-            htmlContent.replace(" ", "");
+            htmlContent = htmlContent.replace(" ", "")
+                    .replace("&nbsp", " ")
+                    .replace("8220", "“")
+                    .replace("8221", "”")
+                    .replace("87301", "1")
+                    .replace("87302", "2")
+                    .replace("87303", "3")
+                    .replace("87304", "4")
+                    .replace("87305", "5")
+                    .replace("87306", "6")
+                    .replace("8593", "↑")
+                    .replace("8595", "↓")
+                    .replace("8451", "℃")
+                    .replace("8544", "Ⅰ")
+                    .replace("8545", "Ⅱ")
+                    .replace("8546", "Ⅲ")
+                    .replace("9312", "①")
+                    .replace("9313", "②")
+                    .replace("9314", "③")
+                    .replace("9315", "④");
 
             if (StringUtil.isNotBlank(htmlContent)) {
                 List<String> sortTitles = XyCommonAnalysisUtil.sortTitles(titles, htmlContent);
                 XyCommonAnalysisUtil.cutByTitles(htmlContent, sortTitles, 0, structureMap);
             }
-            if(StringUtils.isNotEmpty(structureMap.get("入院诊断"))){
-                String diagString =structureMap.get("入院诊断");
-                if (diagString.contains("。")){
-                    Integer index=diagString.indexOf("。");
-                    structureMap.put("入院诊断",diagString.substring(0,index));
-                    structureMap.put("基本信息",diagString.substring(index,diagString.length()));
+            if (StringUtils.isNotEmpty(structureMap.get("入院诊断"))) {
+                String diagString = structureMap.get("入院诊断");
+                if (diagString.contains("。")) {
+                    Integer index = diagString.indexOf("。");
+                    structureMap.put("入院诊断", diagString.substring(0, index));
+                    structureMap.put("基本信息", diagString.substring(index, diagString.length()));
                 }
             }
             XyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);

+ 21 - 4
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyOperationHtmlAnalysis.java

@@ -50,14 +50,31 @@ public class XyOperationHtmlAnalysis implements XyHtmlAnalysis {
                 .replace("提醒:有创诊疗操作记录内容包括操作名称、时间、步骤、结果及患者的一般情况,记录操作过", "")
                 .replace("程是否顺利,有无不良反应,术后注意事项,操作医师签名、记录时间等。", "")
                 .replace("手术室完成的、治疗性质的及全麻下完成的有创诊疗操作参照手术管理。(包括介入治疗、胃肠镜", "")
-                .replace("下肿瘤切除/粘膜下肿瘤剥除等)", "");
-        List<String> titles = Lists.newArrayList("术后诊断", "术后处理", "记录者签名","医生签名");
+                .replace("下肿瘤切除/粘膜下肿瘤剥除等)", "")
+                .replace("&nbsp", "")
+                .replace("8220", "“")
+                .replace("8221", "”")
+                .replace("9332", "(1)")
+                .replace("9333", "(2)")
+                .replace("9334", "(3)")
+                .replace("9335", "(4)")
+                .replace("8593", "↑")
+                .replace("8595", "↓")
+                .replace("8451", "℃")
+                .replace("8544", "Ⅰ")
+                .replace("8545", "Ⅱ")
+                .replace("8546", "Ⅲ")
+                .replace("9312", "①")
+                .replace("9313", "②")
+                .replace("9314", "③")
+                .replace("9315", "④");
+        List<String> titles = Lists.newArrayList("术后诊断", "术后处理", "记录者签名", "医生签名");
         titles = XyCommonAnalysisUtil.sortTitles(titles, bqjlText);
         XyCommonAnalysisUtil.cutByTitles(bqjlText, titles, 0, map);
         //解决病情记录包括
-        if(map.containsKey("病情记录") && map.containsKey("术后诊断")){
+        if (map.containsKey("病情记录") && map.containsKey("术后诊断")) {
             String info = map.get("病情记录");
-            map.put("病情记录",info.substring(0,info.indexOf("术后诊断")));
+            map.put("病情记录", info.substring(0, info.indexOf("术后诊断")));
         }
     }
 

+ 27 - 9
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyOperationRecordHtmlAnalysis.java

@@ -39,23 +39,41 @@ public class XyOperationRecordHtmlAnalysis implements XyHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral( Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(Element bigDivElement, Map<String, String> map) {
         String text = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
         text = text.replaceAll("第1页", "")
-                .replace("(包括体位、切口处理经过,病灶所见及手术步骤等):", "");
+                .replace("(包括体位、切口处理经过,病灶所见及手术步骤等):", "")
+                .replace("&nbsp", "")
+                .replace("8220", "“")
+                .replace("8221", "”")
+                .replace("9332", "(1)")
+                .replace("9333", "(2)")
+                .replace("9334", "(3)")
+                .replace("9335", "(4)")
+                .replace("8593", "↑")
+                .replace("8595", "↓")
+                .replace("8451", "℃")
+                .replace("8544", "Ⅰ")
+                .replace("8545", "Ⅱ")
+                .replace("8546", "Ⅲ")
+                .replace("9312", "①")
+                .replace("9313", "②")
+                .replace("9314", "③")
+                .replace("9315", "④");
         List<String> titles = Lists.newArrayList(
-                "手术日期", "是否非计划再次手术", "麻醉", "术前诊断", "术后诊断", "拟施手术", "实施手术", "手术级别", "术者", "一助",
-                "二助", "手术指导者", "手术过程", "手术医师签名"
+                "手术日期", "是否非计划再次手术", "麻醉", "术前诊断", "术后诊断", "拟施手术", "拟行手术", "实施手术", "手术级别", "手术医师", "助手",
+                "手术人员及职称", "手术人员", "术者", "一助",
+                "二助", "巡回护士", "手术指导者", "手术过程", "手术医师签名"
         );
         titles = XyCommonAnalysisUtil.sortTitles(titles, text);
         XyCommonAnalysisUtil.cutByTitles(text, titles, 0, map);
-        if (map.containsKey("手术医师签名")){
-            String name =map.get("手术医师签名");
-            String date =XyCommonAnalysisUtil.extractDate(name);
+        if (map.containsKey("手术医师签名")) {
+            String name = map.get("手术医师签名");
+            String date = XyCommonAnalysisUtil.extractDate(name);
             if (date != null) {
                 map.put("签名时间", date);
-                name =name.substring(0,name.indexOf(date));
-                map.put("手术医师签名",name);
+                name = name.substring(0, name.indexOf(date));
+                map.put("手术医师签名", name);
             }
         }
     }

+ 26 - 8
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyPreoperativeHtmlAnalysis.java

@@ -30,7 +30,7 @@ public class XyPreoperativeHtmlAnalysis implements XyHtmlAnalysis {
             String recTitle = args[1];
             String recTypeId = args[2];
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(recTitle,bigDivElement, map);
+            analysisGeneral(recTitle, bigDivElement, map);
 
             XyHtmlAnalysisUtil.mapValueRemoveStartColon(map);
             XyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
@@ -40,18 +40,36 @@ public class XyPreoperativeHtmlAnalysis implements XyHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(String recTitle,Element bigDivElement, Map<String, String> map) {
+    private void analysisGeneral(String recTitle, Element bigDivElement, Map<String, String> map) {
         /*if (bigDivElement.selectFirst("hr") != null) {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }*/
-        String text = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true).replace("·", "").replace("&nbsp"," ");
+        String text = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true)
+                .replace("·", "")
+                .replace("&nbsp", " ")
+                .replace("8220", "“")
+                .replace("8221", "”")
+                .replace("9332", "(1)")
+                .replace("9333", "(2)")
+                .replace("9334", "(3)")
+                .replace("9335", "(4)")
+                .replace("8593", "↑")
+                .replace("8595", "↓")
+                .replace("8451", "℃")
+                .replace("8544", "Ⅰ")
+                .replace("8545", "Ⅱ")
+                .replace("8546", "Ⅲ")
+                .replace("9312", "①")
+                .replace("9313", "②")
+                .replace("9314", "③")
+                .replace("9315", "④");
 
-        XyCommonAnalysisUtil.extractWardInfo(recTitle,text, map);
+        XyCommonAnalysisUtil.extractWardInfo(recTitle, text, map);
 
-        List<String> titles = Lists.newArrayList("姓名", "性别", "年龄","病区","床号", "住院号", "讨论日期", "手术者", "第一助手",
-                "第二助手","参加讨论者","手术前主要诊断","诊断依据","术后诊断依据","手术条件及准备","手术抉择及指征(拟行手术)",
-                "手术计划(切口选择;手术主要步骤;术中可能发生的困难;可能发生的问题及解决方法)","麻醉抉择及注意要点",
-                "术后可能发生主要并发症的估计及预防","记录者","手术者签名");
+        List<String> titles = Lists.newArrayList("姓名", "性别", "年龄", "病区", "床号", "住院号", "讨论日期", "手术者", "第一助手",
+                "第二助手", "参加讨论者", "手术前主要诊断", "诊断依据", "术后诊断依据", "手术条件及准备", "手术抉择及指征(拟行手术)",
+                "手术计划(切口选择;手术主要步骤;术中可能发生的困难;可能发生的问题及解决方法)", "麻醉抉择及注意要点",
+                "术后可能发生主要并发症的估计及预防", "记录者", "手术者签名");
         XyCommonAnalysisUtil.cutByTitles(text, titles, 0, map);
         // 解决医生签名显示 年 月 日 时 分
         signatureTime(map);

+ 20 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyThreeLevelWardHtmlAnalysis.java

@@ -39,11 +39,30 @@ public class XyThreeLevelWardHtmlAnalysis implements XyHtmlAnalysis {
                 bigDivElement.selectFirst("hr").previousElementSiblings().remove();
             }*/
             String htmlText = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-            htmlText=htmlText.replace("&nbsp"," ");
+            htmlText = htmlText.replace("&nbsp", " ")
+                    .replace("8220", "“")
+                    .replace("8221", "”")
+                    .replace("9332", "(1)")
+                    .replace("9333", "(2)")
+                    .replace("9334", "(3)")
+                    .replace("9335", "(4)")
+                    .replace("8593", "↑")
+                    .replace("8595", "↓")
+                    .replace("8451", "℃")
+                    .replace("8544", "Ⅰ")
+                    .replace("8545", "Ⅱ")
+                    .replace("8546", "Ⅲ")
+                    .replace("9312", "①")
+                    .replace("9313", "②")
+                    .replace("9314", "③")
+                    .replace("9315", "④");
             /*htmlText = htmlText.replace("注意:上级医师查房主要记 录:患者病情、诊断、鉴别诊断、当前治疗措施和疗效的分析及下一步诊疗意见等,能反应上级医 师的水平。", "")
                     .replace("提醒:有创诊疗操作记录内容包括操作名称、时间、步骤、结果及患者的一般情况,记录操作过 程是否顺利,有无不良反应,术后注意事项,操作医师签名、记录时间等。 手术室完成的、治疗性质的及全麻下完成的有创诊疗操作参照手术管理。(包括介入治疗、胃肠镜 下肿瘤切除/粘膜下肿瘤剥除等)", "");*/
+
             XyCommonAnalysisUtil.extractWardInfo(recTitle, htmlText, structureMap);
+
             XyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
+
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }