Browse Source

台州运行质控修改bug

hujing 5 năm trước cách đây
mục cha
commit
8fe1e5c7a5
17 tập tin đã thay đổi với 133 bổ sung90 xóa
  1. 23 14
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0084.java
  2. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0497.java
  3. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0500.java
  4. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0204.java
  5. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0205.java
  6. 9 7
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0226.java
  7. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0242.java
  8. 22 20
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0248.java
  9. 35 26
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0250.java
  10. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0251.java
  11. 4 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0253.java
  12. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0260.java
  13. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0264.java
  14. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0266.java
  15. 9 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02885.java
  16. 9 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02886.java
  17. 2 1
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java

+ 23 - 14
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0084.java

@@ -1,10 +1,12 @@
 package com.lantone.qc.kernel.catalogue.firstcourserecord;
 
+import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
+import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -21,41 +23,48 @@ public class FIRC0084 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
-        if(firstCourseRecordDoc != null){
+        if (firstCourseRecordDoc != null) {
             Map<String, String> courseRecordDocStructureMap = firstCourseRecordDoc.getStructureMap();
-            if(courseRecordDocStructureMap != null){
+            if (courseRecordDocStructureMap != null) {
                 String identify_diag = courseRecordDocStructureMap.get("鉴别诊断");
                 String characteristic = courseRecordDocStructureMap.get("病例特点");
                 String initDiags = courseRecordDocStructureMap.get("初步诊断");
                 String condition = courseRecordDocStructureMap.get("诊断依据");
                 String pacs = courseRecordDocStructureMap.get("辅助检查");
+                if (StringUtil.isBlank(pacs)){
+                    pacs = getPacs(courseRecordDocStructureMap);
+                }
                 String tretment_plan = courseRecordDocStructureMap.get("诊疗计划");
-                if(StringUtils.isNotEmpty(tretment_plan)){
-                    if(CatalogueUtil.removeSpecialChar(tretment_plan).contains("同上")){
+                if (StringUtils.isNotEmpty(tretment_plan)) {
+                    if (CatalogueUtil.removeSpecialChar(tretment_plan).contains("同上")) {
                         status.set("-1");
                     }
-                }else if(StringUtils.isNotEmpty(identify_diag)){
-                    if(CatalogueUtil.removeSpecialChar(identify_diag).contains("同上")){
+                } else if (StringUtils.isNotEmpty(identify_diag)) {
+                    if (CatalogueUtil.removeSpecialChar(identify_diag).contains("同上")) {
                         status.set("-1");
                     }
-                }else if(StringUtils.isNotEmpty(characteristic)){
-                    if(CatalogueUtil.removeSpecialChar(characteristic).contains("同上")){
+                } else if (StringUtils.isNotEmpty(characteristic)) {
+                    if (CatalogueUtil.removeSpecialChar(characteristic).contains("同上")) {
                         status.set("-1");
                     }
-                }else if(StringUtils.isNotEmpty(initDiags)){
-                    if(CatalogueUtil.removeSpecialChar(initDiags).contains("同上")){
+                } else if (StringUtils.isNotEmpty(initDiags)) {
+                    if (CatalogueUtil.removeSpecialChar(initDiags).contains("同上")) {
                         status.set("-1");
                     }
-                }else if(StringUtils.isNotEmpty(condition)){
-                    if(CatalogueUtil.removeSpecialChar(condition).contains("同上")){
+                } else if (StringUtils.isNotEmpty(condition)) {
+                    if (CatalogueUtil.removeSpecialChar(condition).contains("同上")) {
                         status.set("-1");
                     }
-                }else if(StringUtils.isNotEmpty(pacs)){
-                    if(CatalogueUtil.removeSpecialChar(pacs).contains("同上")){
+                } else if (StringUtils.isNotEmpty(pacs)) {
+                    if (CatalogueUtil.removeSpecialChar(pacs).contains("同上")) {
                         status.set("-1");
                     }
                 }
             }
         }
     }
+
+    private String getPacs(Map<String, String> courseRecordDocStructureMap) {
+        return CatalogueUtil.structureMapJoin(courseRecordDocStructureMap, Lists.newArrayList("实验室检查", "影像学检查"));
+    }
 }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0497.java

@@ -23,7 +23,7 @@ public class FIRC0497 extends QCCatalogue {
         if(firstCourseRecordDoc != null){
             Map<String, String> firstRecordMap = firstCourseRecordDoc.getStructureMap();
             if(firstRecordMap != null){
-                String morbidity_after = firstRecordMap.get("发病经过");
+                String morbidity_after = firstRecordMap.get("现病史");/* 台州将发病经过映射成现病史,以便于首程现病史相似度方便取值 */
                 if(morbidity_after != null){
                     if(CatalogueUtil.isEmpty(morbidity_after)){
                         status.set("-1");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0500.java

@@ -40,7 +40,7 @@ public class FIRC0500 extends QCCatalogue {
 
         if (StringUtil.isNotBlank(firstCourseChief)) {
             firstCourseChief = firstCourseChief.replaceAll("[\\p{Punct}\\pP。]", "");
-            if (firstCourseChief.equals(chief_text)) { //首程主诉.equals(入院记录主诉)
+            if (firstCourseChief.contains(chief_text) || chief_text.contains(firstCourseChief)) { //首程主诉.equals(入院记录主诉)
                 status.set("0");
                 return;
             }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0204.java

@@ -11,7 +11,7 @@ import java.util.Map;
 
 /**
  * @ClassName : FIRP0204
- * @Description : 籍贯没有填写
+ * @Description : 籍贯填写
  * @Author : 楼辉荣
  * @Date: 2020-03-06 17:28ss
  */

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0205.java

@@ -11,7 +11,7 @@ import java.util.Map;
 
 /**
  * @ClassName : FIRP0205
- * @Description : 民族没有填写
+ * @Description : 民族填写
  * @Author : 楼辉荣
  * @Date: 2020-03-06 17:28ss
  */

+ 9 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0226.java

@@ -1,12 +1,12 @@
 package com.lantone.qc.kernel.catalogue.firstpagerecord;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -19,13 +19,15 @@ import java.util.Map;
 public class FIRP0226 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
-            Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String qc_date = firstpageStructureMap.get(Content.dischargeDiag);
-            if(CatalogueUtil.isEmpty(qc_date)){
-                status.set("-1");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureExtMap() != null) {
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            Object dischargeDiagObj = structureExtMap.get(Content.dischargeDiag);
+            if (dischargeDiagObj != null) {
+                List<Map<String, String>> dischargeDiagList = (List) dischargeDiagObj;
+                if (dischargeDiagList.size() == 0) {
+                    status.set("-1");
+                }
             }
-
         }
     }
 }

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0242.java

@@ -23,7 +23,8 @@ public class FIRP0242 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String outDept = firstpageStructureMap.get(Content.outDept);
-            if(CatalogueUtil.isEmpty(outDept)){
+            /* 台州运行质控病案首页出院科室未填时默认为【出院科室】,希望之后his能直接处理掉默认值设为空 */
+            if(CatalogueUtil.isEmpty(outDept) || "【出院科室】".equals(outDept)){
                 status.set("-1");
             }
 

+ 22 - 20
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0248.java

@@ -5,10 +5,9 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
-import com.lantone.qc.pub.model.doc.RescueDoc;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -23,35 +22,38 @@ import java.util.regex.Pattern;
 public class FIRP0248 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+        if (inputInfo.getFirstPageRecordDoc() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            int rescueNum = inputInfo.getRescueDocs().size();
+            boolean match = false;
+
+            String fpRescueNumStr = firstpageStructureMap.get("病人抢救次数");
+            if (StringUtil.isNotBlank(fpRescueNumStr) && CatalogueUtil.numbersOnly(fpRescueNumStr)) {
+                int fpRescueNum = Integer.parseInt(fpRescueNumStr);
+                if (fpRescueNum == rescueNum) {
+                    match = true;
+                }
+            }
             String name = firstpageStructureMap.get(Content.rescue_condition);
-            if (!CatalogueUtil.isEmpty(name)){
+            if (!CatalogueUtil.isEmpty(name)) {
                 String[] split = name.split("\\s+");
                 Pattern compile = Pattern.compile("(?<=抢救).*(?=次)");
                 Matcher matcher = compile.matcher(split[0]);
-                while (matcher.find()){
-                    try{
+                while (matcher.find()) {
+                    try {
                         String number = matcher.group(0);
-                        List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
-                        if(rescueDocs != null && rescueDocs.size()>0){
-                            int size = rescueDocs.size();
-                            try{
-                                int num = Integer.parseInt(number);
-                                if(num != size){
-                                    status.set("-1");
-                                }
-                            }catch (Exception e){
-                                e.printStackTrace();
-                            }
-
+                        int num = Integer.parseInt(number);
+                        if (num == rescueNum) {
+                            match = true;
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
                 }
+            }
 
-
+            if (!match) {
+                status.set("-1");
             }
         }
     }

+ 35 - 26
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0250.java

@@ -6,6 +6,7 @@ import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.RescueDoc;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -23,45 +24,53 @@ import java.util.regex.Pattern;
 public class FIRP0250 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getRescueDocs().size() > 0) {
+            List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
+            int rescueNum = getRescueNum(rescueDocs);/* 抢救记录中抢救成功次数 */
+            boolean match = false;
+
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            String successfulRescueTimes = firstpageStructureMap.get("病人抢救成功次数");
+            int successfulRescueTimesTZ = 0;
+            if (StringUtil.isNotBlank(successfulRescueTimes) && CatalogueUtil.numbersOnly(successfulRescueTimes)) {
+                successfulRescueTimesTZ = Integer.parseInt(successfulRescueTimes);
+            }
+            if (rescueNum == successfulRescueTimesTZ) {
+                match = true;
+            }
             String name = firstpageStructureMap.get(Content.rescue_condition);
-            if (!CatalogueUtil.isEmpty(name)){
+            if (StringUtil.isNotBlank(name)) {
                 String[] split = name.split("\\s+");
                 Pattern compile = Pattern.compile("(?<=成功).*(?=次)");
                 Matcher matcher = compile.matcher(split[0]);
-                while (matcher.find()){
-                    try{
+                while (matcher.find()) {
+                    try {
                         String number = matcher.group(0);
-                        int i = 0;
-                        List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
-                        if(rescueDocs != null && rescueDocs.size()>0){
-                            for (RescueDoc re:rescueDocs
-                                 ) {
-                                Map<String, String> structureMap = re.getStructureMap();
-                                String qjgc = structureMap.get("抢救过程");
-                                if(!qjgc.contains("死亡")){
-                                    i++;
-                                }
-                            }
-
-                            try{
-                                int num = Integer.parseInt(number);
-                                if(num != i){
-                                    status.set("-1");
-                                }
-                            }catch (Exception e){
-                                e.printStackTrace();
-                            }
-
+                        int num = Integer.parseInt(number);
+                        if (num == rescueNum) {
+                            match = true;
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
                 }
+            }
 
+            if (!match){
+                status.set("-1");
+            }
+        }
+    }
 
+    private int getRescueNum(List<RescueDoc> rescueDocs) {
+        int i = 0;
+        for (RescueDoc re : rescueDocs) {
+            Map<String, String> structureMap = re.getStructureMap();
+            String qjgc = structureMap.get("抢救过程");
+            if (!qjgc.contains("死亡")) {
+                i++;
             }
         }
+        return i;
     }
 }

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0251.java

@@ -25,7 +25,8 @@ public class FIRP0251 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String name = firstpageStructureMap.get(Content.single_disease_management);
-            if (!CatalogueUtil.isEmpty(name)){
+            /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
+            if (!CatalogueUtil.isEmpty(name) && !"【】".equals(name)){
                 status.set("0");
             }
         }

+ 4 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0253.java

@@ -1,10 +1,10 @@
 package com.lantone.qc.kernel.catalogue.firstpagerecord;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -18,14 +18,15 @@ import java.util.Map;
 @Component
 public class FIRP0253 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String name = firstpageStructureMap.get(Content.clinical_pathway_management);
-            if (!CatalogueUtil.isEmpty(name)){
+            /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
+            if (StringUtil.isNotBlank(name) && !"【】".equals(name)) {
                 status.set("0");
             }
         }

+ 4 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0260.java

@@ -1,10 +1,10 @@
 package com.lantone.qc.kernel.catalogue.firstpagerecord;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -21,7 +21,9 @@ public class FIRP0260 extends QCCatalogue {
         status.set("0");
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            if (CatalogueUtil.isEmpty(firstpageStructureMap.get(Content.i_o))){
+            String iO = firstpageStructureMap.get(Content.i_o);
+            /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
+            if (StringUtil.isBlank(iO) || "【】".equals(iO)) {
                 status.set("-1");
             }
         }

+ 4 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0264.java

@@ -1,10 +1,10 @@
 package com.lantone.qc.kernel.catalogue.firstpagerecord;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -21,7 +21,9 @@ public class FIRP0264 extends QCCatalogue {
         status.set("0");
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            if (CatalogueUtil.isEmpty(firstpageStructureMap.get(Content.clinical_pathology))){
+            String clinicalPathology = firstpageStructureMap.get(Content.clinical_pathology);
+            /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
+            if (StringUtil.isBlank(clinicalPathology) || "【】".equals(clinicalPathology)) {
                 status.set("-1");
             }
         }

+ 4 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0266.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Map;
@@ -21,7 +22,9 @@ public class FIRP0266 extends QCCatalogue {
         status.set("0");
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            if (CatalogueUtil.isEmpty(firstpageStructureMap.get(Content.radiation_pathology))){
+            String radiationPathology = firstpageStructureMap.get(Content.radiation_pathology);
+            /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
+            if (StringUtil.isBlank(radiationPathology) || "【】".equals(radiationPathology)) {
                 status.set("-1");
             }
         }

+ 9 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02885.java

@@ -23,10 +23,15 @@ public class FIRP02885 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String zipcode = firstpageStructureMap.get(Content.household_address_zipcode);
-            if (StringUtil.isNotBlank(zipcode) && CatalogueUtil.numbersOnly(zipcode)) {
-                String regex = "^\\d{6}$";
-                if (!zipcode.matches(regex)) {
-                    status.set("-1");
+            if (StringUtil.isNotBlank(zipcode)) {
+                if ("-".equals(zipcode)) {
+                    return;
+                }
+                if (CatalogueUtil.numbersOnly(zipcode)) {
+                    String regex = "^\\d{6}$";
+                    if (!zipcode.matches(regex)) {
+                        status.set("-1");
+                    }
                 }
             }
         }

+ 9 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP02886.java

@@ -23,10 +23,15 @@ public class FIRP02886 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String zipcode = firstpageStructureMap.get(Content.work_unit_zipcode);
-            if (StringUtil.isNotBlank(zipcode) && CatalogueUtil.numbersOnly(zipcode)) {
-                String regex = "^\\d{6}$";
-                if (!zipcode.matches(regex)) {
-                    status.set("-1");
+            if (StringUtil.isNotBlank(zipcode)) {
+                if ("-".equals(zipcode)) {
+                    return;
+                }
+                if (CatalogueUtil.numbersOnly(zipcode)) {
+                    String regex = "^\\d{6}$";
+                    if (!zipcode.matches(regex)) {
+                        status.set("-1");
+                    }
                 }
             }
         }

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java

@@ -79,7 +79,8 @@ public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
 
     private List<String> keyContrasts = Lists.newArrayList(
                         "本人姓名=姓名",
-            "现病史- 发病情况=发病经过",
+            "现病史- 发病情况=现病史",
+            "现病史- 发病情况=现病史",
             "医生=医师签名",
             "治疗计划和措施=治疗计划",
             "体温(耳)=体温耳",