Browse Source

义乌妇保医院:病案首页定位涉及到的规则更新

wangsy 4 years ago
parent
commit
9ee5c3bb90
100 changed files with 469 additions and 101 deletions
  1. 79 26
      dbanaly/src/main/java/com/lantone/qc/dbanaly/facade/yiwu/YiWuFirstPageRecordXmlUtil.java
  2. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/QCCatalogue.java
  3. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0158.java
  4. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0159.java
  5. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0160.java
  6. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0161.java
  7. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0162.java
  8. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0163.java
  9. 6 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0164.java
  10. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0166.java
  11. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0167.java
  12. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0168.java
  13. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0169.java
  14. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0170.java
  15. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0172.java
  16. 7 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0173.java
  17. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0174.java
  18. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0175.java
  19. 7 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0181.java
  20. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0182.java
  21. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0184.java
  22. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0185.java
  23. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0186.java
  24. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0187.java
  25. 6 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0188.java
  26. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0189.java
  27. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0190.java
  28. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0192.java
  29. 6 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0194.java
  30. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0195.java
  31. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0199.java
  32. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0200.java
  33. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0201.java
  34. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0202.java
  35. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0203.java
  36. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0204.java
  37. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0205.java
  38. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0206.java
  39. 5 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0207.java
  40. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0208.java
  41. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0209.java
  42. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0210.java
  43. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0211.java
  44. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0212.java
  45. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0213.java
  46. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0214.java
  47. 5 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0215.java
  48. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0216.java
  49. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0217.java
  50. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0218.java
  51. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0219.java
  52. 5 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0220.java
  53. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0221.java
  54. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0222.java
  55. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0223.java
  56. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0224.java
  57. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0225.java
  58. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0227.java
  59. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0228.java
  60. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0229.java
  61. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0230.java
  62. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0231.java
  63. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0232.java
  64. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0233.java
  65. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0234.java
  66. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0235.java
  67. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0236.java
  68. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0237.java
  69. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0238.java
  70. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0239.java
  71. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0240.java
  72. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0242.java
  73. 7 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0247.java
  74. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0248.java
  75. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0249.java
  76. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0250.java
  77. 6 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0251.java
  78. 5 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0253.java
  79. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0255.java
  80. 11 6
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0256.java
  81. 5 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0257.java
  82. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0258.java
  83. 2 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0259.java
  84. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0260.java
  85. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0262.java
  86. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0264.java
  87. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0266.java
  88. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0267.java
  89. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0269.java
  90. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0273.java
  91. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0274.java
  92. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0275.java
  93. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02836.java
  94. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02837.java
  95. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02838.java
  96. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02841.java
  97. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02883.java
  98. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02885.java
  99. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02886.java
  100. 0 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02905.java

+ 79 - 26
dbanaly/src/main/java/com/lantone/qc/dbanaly/facade/yiwu/YiWuFirstPageRecordXmlUtil.java

@@ -15,15 +15,16 @@ import com.lantone.qc.dbanaly.facade.yiwu.enums.RHEnum;
 import com.lantone.qc.dbanaly.facade.yiwu.enums.SexEnum;
 import com.lantone.qc.dbanaly.facade.yiwu.util.MapUtil;
 import com.lantone.qc.dbanaly.facade.yiwu.util.YWDateUtils;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.util.FastJsonUtils;
+import com.lantone.qc.pub.util.FileUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.dom4j.Document;
 import org.dom4j.DocumentHelper;
 import org.dom4j.Element;
+import springfox.documentation.spring.web.json.Json;
 
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @Description: xml解析工具
@@ -55,8 +56,8 @@ public class YiWuFirstPageRecordXmlUtil {
             .build();
 
     public static Map<String, Object> process(String xml) {
-        Map<String, String> sourceMap = xmlToMap(xml);
-        Map<String, String> structureMap = mapKeyContrast(sourceMap, keyContrasts);
+        Map<String, Object> sourceMap = xmlToMap(xml);
+        Map<String, Object> structureMap = mapKeyContrast(sourceMap, keyContrasts);
         newbornAge(structureMap);
         Map<String, Object> structureExtMap = Maps.newHashMap();
         structureExtMap.putAll(structureMap);
@@ -72,9 +73,9 @@ public class YiWuFirstPageRecordXmlUtil {
     }
 
     //新生儿年龄处理
-    public static void newbornAge(Map<String, String> structureMap) {
+    public static void newbornAge(Map<String, Object> structureMap) {
         if (structureMap != null && structureMap.size() > 0) {
-            String text = structureMap.get("原始文本");
+            String text = structureMap.get("原始文本").toString();
             if (StringUtil.isNotBlank(text) && text.contains("年龄 Value1") && text.contains("新生儿出生体重克")) {
                 String substring = text.substring(text.indexOf("年龄 Value1"), text.indexOf("新生儿出生体重克"));
                 String[] split = substring.split(",");
@@ -90,13 +91,15 @@ public class YiWuFirstPageRecordXmlUtil {
         }
     }
 
-    public static Map<String, String> xmlToMap(String xml) {
-        Map<String, String> map = Maps.newHashMap();
+    public static Map<String, Object> xmlToMap(String xml) {
+        Map<String, Object> map = Maps.newHashMap();
+        Map<String, Object> IDsMap = Maps.newHashMap();
+        List<String> list = new ArrayList<>();
         try {
             Document doc = DocumentHelper.parseText(xml);
             Element root = (Element) doc.selectSingleNode("//XTextDocument/XElements/Element[@xsi:type='XTextBody']/XElements");
             findElement(root, "XInputField").forEach(i -> {
-                xInputField(map, i, null);
+                xInputField(map, i, null, IDsMap);
             });
             findElement(root, "XTextTable").forEach(tableElement -> {
                 String tablePreTxt = getElementPreVal(tableElement);
@@ -105,21 +108,27 @@ public class YiWuFirstPageRecordXmlUtil {
                         List<Element> xTextTable = findElement(cellElement.element("XElements"), "XTextTable");
                         if (xTextTable.size() > 0) {
                             xTextTable.forEach(stableElement -> {
+                                Element idElement = stableElement.element("ID");
+                                String textTrim = "";
+                                if (idElement != null) {
+                                    textTrim = idElement.getTextTrim();
+                                }
+                                list.add(textTrim);
                                 String stablePreTxt = getElementPreVal(stableElement);
                                 findElement(stableElement.element("XElements"), "XTextTableRow").forEach(srowElement -> {
                                     findElement(srowElement.element("XElements"), "XTextTableCell").forEach(scellElement -> {
                                         findElement(scellElement.element("XElements"), "XInputField").forEach(xInputFieldElement -> {
-                                            xInputField(map, xInputFieldElement, stablePreTxt);
+                                            xInputField(map, xInputFieldElement, stablePreTxt, IDsMap);
                                         });
                                     });
                                 });
                             });
                         } else {
                             findElement(cellElement.element("XElements"), "XInputField").forEach(xInputFieldElement -> {
-                                xInputField(map, xInputFieldElement, tablePreTxt);
+                                xInputField(map, xInputFieldElement, tablePreTxt, IDsMap);
                             });
                             findElement(cellElement.element("XElements"), "XTextRadioBox").forEach(xTextRadioBoxElement -> {
-                                xInputField(map, xTextRadioBoxElement, tablePreTxt);
+                                xInputField(map, xTextRadioBoxElement, tablePreTxt, IDsMap);
                             });
                         }
                     });
@@ -128,6 +137,7 @@ public class YiWuFirstPageRecordXmlUtil {
             Element bodyTextElement = (Element) doc.selectSingleNode("//XTextDocument/BodyText");
             String bodyText = bodyTextElement.getText();
             map.put("原始文本", bodyText);
+            saveLocationID(map, IDsMap, list);
         } catch (Exception e) {
             e.printStackTrace();
             map.clear();
@@ -138,6 +148,22 @@ public class YiWuFirstPageRecordXmlUtil {
         return map;
     }
 
+    //存储定位ID
+    public static void saveLocationID(Map<String, Object> map, Map<String, Object> IDsMap, List<String> list) {
+        JSONObject object = new JSONObject();
+        Map<String, Object> structureMap = mapKeyContrast(IDsMap, keyContrasts);
+        if (list.size() > 2) {
+            object.put("诊断", list.get(0));
+            object.put("手术", list.get(1));
+            object.put("重症监护", list.get(2));
+        }
+
+        for (Map.Entry<String, Object> entry : structureMap.entrySet()) {
+            object.put(entry.getKey(), entry.getValue());
+        }
+        map.put("IDs", object);
+    }
+
     public static List<Element> findElement(Element element, String attual) {
         List<Element> ret = Lists.newArrayList();
         ((List<Element>) (element.elements())).forEach(i -> {
@@ -148,7 +174,7 @@ public class YiWuFirstPageRecordXmlUtil {
         return ret;
     }
 
-    public static void xInputField(Map<String, String> map, Element xInputFieldElement, String tablePreTxt) {
+    public static void xInputField(Map<String, Object> map, Element xInputFieldElement, String tablePreTxt, Map<String, Object> IDsMap) {
         String value = getXInputFieldValue(xInputFieldElement);
         if (value == null) {
             return;
@@ -160,12 +186,34 @@ public class YiWuFirstPageRecordXmlUtil {
             }
             map.put(key, value);
         }
+        Boolean flag = getID(xInputFieldElement, tablePreTxt, IDsMap);
+        if (flag) {
+            return;
+        }
+    }
+
+    public static Boolean getID(Element xInputFieldElement, String tablePreTxt, Map<String, Object> IDsMap) {
+        String id = "";
+        Element idValueElement = xInputFieldElement.element("ID");
+        Element checkedElement = xInputFieldElement.element("Checked");
+        Element checkedValueElement = xInputFieldElement.element("CheckedValue");
+        if (idValueElement != null) {
+            id = idValueElement.getTextTrim();
+        }
+        String key = getXInputFieldKey(xInputFieldElement, tablePreTxt);
+        if (StringUtil.isNotBlank(key)) {
+            IDsMap.put(key, id);
+            if (checkedElement != null && checkedValueElement != null) {
+                return true;
+            }
+        }
+        return false;
     }
 
     //获取 XInputField 的键
     private static String getXInputFieldKey(Element xInputFieldElement, String tablePreTxt) {
         String key = null;
-        String[] elementNames = { "Name", "BackgroundText", "ToolTip" };
+        String[] elementNames = {"Name", "BackgroundText", "ToolTip"};
         for (String elementName : elementNames) {
             key = xInputFieldElement.elementTextTrim(elementName);
             if (StringUtil.isNotBlank(key)) {
@@ -252,13 +300,13 @@ public class YiWuFirstPageRecordXmlUtil {
      * @param keyContrasts
      * @return
      */
-    public static Map<String, String> mapKeyContrast(Map<String, String> sourceMap, List<String> keyContrasts) {
-        Map<String, String> retMap = Maps.newHashMap();
+    public static Map<String, Object> mapKeyContrast(Map<String, Object> sourceMap, List<String> keyContrasts) {
+        Map<String, Object> retMap = Maps.newHashMap();
         mapKeyContrastCommon(sourceMap, keyContrasts, retMap);
         return retMap;
     }
 
-    public static void mapKeyContrastCommon(Map sourceMap, List<String> keyContrasts, Map<String, String> retMap) {
+    public static void mapKeyContrastCommon(Map sourceMap, List<String> keyContrasts, Map<String, Object> retMap) {
         Map<String, String> sourceMap_ = MapUtil.copyMap(sourceMap);
         String[] arry = null;
         String sourceKey = null, targetKey;
@@ -272,7 +320,7 @@ public class YiWuFirstPageRecordXmlUtil {
                 targetKey = arry[1];
             }
             if (StringUtil.isNotBlank(sourceMap_.get(sourceKey))
-                    && (!retMap.containsKey(targetKey) || StringUtil.isBlank(retMap.get(targetKey)))) {
+                    && (!retMap.containsKey(targetKey) || retMap.get(targetKey) != null)) {
                 retMap.put(targetKey, sourceMap_.get(sourceKey));
             }
             removeKey.add(sourceKey);
@@ -294,13 +342,13 @@ public class YiWuFirstPageRecordXmlUtil {
      * @param leaveDiagMap
      * @param array
      */
-    public static void specialProcess(Map<String, String> structureMap, Map<String, String> leaveDiagMap, JSONArray array) {
+    public static void specialProcess(Map<String, Object> structureMap, Map<String, String> leaveDiagMap, JSONArray array) {
         JSONObject object;
         int num = 0;
         try {
             for (Map.Entry<String, String> entry : leaveDiagMap.entrySet()) {
                 if (structureMap.containsKey(entry.getKey())) {
-                    String value = structureMap.get(entry.getKey());
+                    String value = structureMap.get(entry.getKey()).toString();
                     value = removeUseless(value);
                     String[] values = value.split(" ");
                     if (num == 0) {
@@ -311,7 +359,7 @@ public class YiWuFirstPageRecordXmlUtil {
                         }
                     } else {
                         boolean flag = false;
-                        if ("诊断类型".equals(entry.getKey()) && values[0].contains("诊断")) {
+                        if ("诊断类型".equals(entry.getKey()) && values[0].contains("诊断") && array.size() > 0) {
                             array.getJSONObject(0).put("诊断类别", values[0].replace(":", ""));
                             flag = true;
                         }
@@ -341,13 +389,16 @@ public class YiWuFirstPageRecordXmlUtil {
         while (value.endsWith(" -") || value.endsWith(" -")) {
             value = value.substring(0, value.length() - 2);
         }
-        return value;
+        return value.replace(" -", "");
     }
 
     public static void main(String[] args) {
         //        xmlToMap(FileUtil.fileRead("C:\\Users\\Administrator\\Desktop\\义务\\jiexi\\n5.xml"));
-        String xml = "";
+        String xml = FileUtil.fileRead("C:\\Users\\lantone\\Desktop\\病案首页xml解析问题\\病案首页xml解析问题\\出院诊断和实习医师未解析成功.xml");
+//        String xml = "";
         Map<String, Object> ret = process(xml);
+        String iDs = ret.get("IDs").toString();
+        ret.put("IDs", FastJsonUtils.getJsonToBean(iDs, Object.class));
         System.out.println(ret);
     }
 
@@ -459,7 +510,9 @@ public class YiWuFirstPageRecordXmlUtil {
             "科主任222=科主任",
             "实习医师=实习医师",
             "国籍=国籍",
-            "工作单位邮政编码=工作单位邮编"
+            "工作单位邮政编码=工作单位邮编",
+            "进修医师=进修医师",
+            "出院主要诊断=出院诊断"
     );
 
     public static Map<String, Object> processToValue(Map<String, Object> map) {

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

@@ -49,11 +49,12 @@ public class QCCatalogue {
         Map<String, Object> resultDetail = Maps.newHashMap();
         resultDetail.put("info", info.get());
         resultDetail.put("status", status.get());
-        resultDetail.put("id", status.get());
+        resultDetail.put("id", id.get());
         resultDetail.put("extData", extData.get());
         outputInfo.getResult().put(className, resultDetail);
         status.remove();
         info.remove();
+        id.remove();
         extData.remove();
     }
 

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0158.java

@@ -31,6 +31,9 @@ public class FIRP0158 extends QCCatalogue {
             }
             if (!CatalogueUtil.compareToken(firstAdmissionName.trim(), admissionName.trim())) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.name);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0159.java

@@ -26,6 +26,10 @@ public class FIRP0159 extends QCCatalogue {
         String gender = firstpageStructureMap.get(Content.gender);
         if (!CatalogueUtil.isEmpty(gender)) {
             status.set("0");
+            return;
         }
+        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.gender);
+        id.set(xmlId);
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0160.java

@@ -31,6 +31,9 @@ public class FIRP0160 extends QCCatalogue {
             }
             if (!CatalogueUtil.compareToken(firstAdmissionGender,admissionGender)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.gender);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0161.java

@@ -72,6 +72,9 @@ public class FIRP0161 extends QCCatalogue {
             // 只比较年龄前的数值
             if (!admissAge.equals(firstAdmissionAge)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.age);
+                id.set(xmlId);
                 return;
             }
             // int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0162.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -39,6 +40,9 @@ public class FIRP0162 extends QCCatalogue {
                 String regex = "\\d{15}|\\d{17}[\\dxX]";
                 if (!idNumber.matches(regex)) {
                     status.set("-1");
+                    Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                    String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.idNumber);
+                    id.set(xmlId);
                 }
             }
         }

+ 5 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0163.java

@@ -18,7 +18,7 @@ import java.util.Map;
 @Component
 public class FIRP0163 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -27,7 +27,11 @@ public class FIRP0163 extends QCCatalogue {
             String idNumber = firstpageStructureMap.get(Content.idNumber);
             if (!CatalogueUtil.isEmpty(idNumber)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.idNumber);
+            id.set(xmlId);
         }
     }
 }

+ 6 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0164.java

@@ -18,16 +18,20 @@ import java.util.Map;
 @Component
 public class FIRP0164 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 marry = firstpageStructureMap.get(Content.marry);
-            if (!CatalogueUtil.isEmpty(marry)){
+            if (!CatalogueUtil.isEmpty(marry)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.marry);
+            id.set(xmlId);
         }
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0166.java

@@ -31,6 +31,9 @@ public class FIRP0166 extends QCCatalogue {
             }
             if (!CatalogueUtil.compareToken(firstAdmissionMarry, admissionMarry)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.marry);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0167.java

@@ -25,6 +25,9 @@ public class FIRP0167 extends QCCatalogue {
             String contactName = firstpageStructureMap.get(Content.contactName);
             if (CatalogueUtil.compareToken(name, contactName)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.contactName);
+                id.set(xmlId);
             }
         }
     }

+ 5 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0168.java

@@ -18,7 +18,7 @@ import java.util.Map;
 @Component
 public class FIRP0168 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -27,7 +27,11 @@ public class FIRP0168 extends QCCatalogue {
             String admitPath = firstpageStructureMap.get(Content.admitPath);
             if (!CatalogueUtil.isEmpty(admitPath)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admitPath);
+            id.set(xmlId);
         }
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0169.java

@@ -35,6 +35,9 @@ public class FIRP0169 extends QCCatalogue {
             }
             if (!CatalogueUtil.compareToken(admitPath, beHospitalizedWayStr)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admitPath);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0170.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -27,6 +28,9 @@ public class FIRP0170 extends QCCatalogue {
             String transferDept = firstpageStructureMap.get(Content.transferDept);
             if (StringUtils.isEmpty(transferDept) || "【转科科室】".equals(transferDept)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.transferDept);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0172.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,6 +25,9 @@ public class FIRP0172 extends QCCatalogue {
             String outpatientEmergencyDiag = (String) firstpageStructureMap.get(Content.outpatientEmergencyDiag);
             if (StringUtils.isEmpty(outpatientEmergencyDiag)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outpatientEmergencyDiag);
+                id.set(xmlId);
             }
         }
     }

+ 7 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0173.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -31,11 +32,12 @@ public class FIRP0173 extends QCCatalogue {
             String outpatientEmergencyDiag = (String) firstpageStructureMap.get(Content.outpatientEmergencyDiag);
             if (StringUtils.isEmpty(outpatientEmergencyDiag)) {
                 status.set("0");
+                return;
             }
             //现病史所有诊断
             List<Diag> presentDiags = inputInfo.getBeHospitalizedDoc().getPresentLabel().getDiags();
             for (Diag diag : presentDiags) {
-                if (diag.getNegative() != null){
+                if (diag.getNegative() != null) {
                     continue;
                 }
                 if (diag.getHospitalDiagName().equals(outpatientEmergencyDiag)) {
@@ -47,8 +49,12 @@ public class FIRP0173 extends QCCatalogue {
             if (presentPossibleDiag.size() > 0) {
                 if (presentPossibleDiag.get(0).getHospitalDiagName().equals(outpatientEmergencyDiag)) {
                     status.set("0");
+                    return;
                 }
             }
         }
+        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outpatientEmergencyDiag);
+        id.set(xmlId);
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0174.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,6 +25,9 @@ public class FIRP0174 extends QCCatalogue {
             List<Map<String, String>> outpatientEmergencyDiag = (List) firstpageStructureMap.get(Content.dischargeDiag);
             if (outpatientEmergencyDiag == null || outpatientEmergencyDiag.size() == 0) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, "诊断");
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0175.java

@@ -5,6 +5,7 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
 import com.lantone.qc.kernel.structure.ai.ModelAI;
+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;
@@ -74,6 +75,8 @@ public class FIRP0175 extends QCCatalogue {
                 double likeRate = jsonArray.getDoubleValue(1);
                 if (likeRate < 0.9) {
                     status.set("-1");
+                    String xmlId = CatalogueUtil.getXmlId(firstpageStructureMap, "诊断");
+                    id.set(xmlId);
                 }
             }
         }

+ 7 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0181.java

@@ -12,13 +12,13 @@ import java.util.Map;
 /**
  * @ClassName : FIRP0181
  * @Description :未填写
- *  * @Author : 损伤、中毒的外部原因未填写
+ * * @Author : 损伤、中毒的外部原因未填写
  * @Date: 2020-03-16 11:33
  */
 @Component
 public class FIRP0181 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -27,9 +27,13 @@ public class FIRP0181 extends QCCatalogue {
             String transferDept = firstpageStructureMap.get(Content.dp_out);
             String transferDept_changxing = firstpageStructureMap.get("损伤中毒因素");
             if ((!CatalogueUtil.isEmpty(transferDept) && !"[]".equals(transferDept))
-                    || (!CatalogueUtil.isEmpty(transferDept_changxing) && !"[]".equals(transferDept_changxing))){
+                    || (!CatalogueUtil.isEmpty(transferDept_changxing) && !"[]".equals(transferDept_changxing))) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, "损伤中毒因素");
+            id.set(xmlId);
         }
     }
 }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0182.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -18,7 +19,7 @@ import java.util.Map;
 @Component
 public class FIRP0182 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -27,7 +28,11 @@ public class FIRP0182 extends QCCatalogue {
             String bingDiag = firstpageStructureMap.get(Content.pathologyDiagnose);
             if (StringUtil.isNotBlank(bingDiag) && !bingDiag.equals("[]")) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.pathologyDiagnose);
+            id.set(xmlId);
         }
     }
 }

+ 5 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0184.java

@@ -18,7 +18,7 @@ import java.util.Map;
 @Component
 public class FIRP0184 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -28,7 +28,11 @@ public class FIRP0184 extends QCCatalogue {
 //            String allergyDrug = firstpageStructureMap.get(Content.allergyDrug);
             if (!CatalogueUtil.isEmpty(drugAllergy)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.drugAllergy);
+            id.set(xmlId);
         }
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0185.java

@@ -49,6 +49,9 @@ public class FIRP0185 extends QCCatalogue {
             }
             if (!ListUtil.equals(drugAllergyPastList, drugAllergyFirstPageList)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.drugAllergy);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0186.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -31,6 +32,9 @@ public class FIRP0186 extends QCCatalogue {
             String deadAutopsy = firstpageStructureMap.get(Content.deadAutopsy);
             if (StringUtils.isBlank(deadAutopsy)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.deadAutopsy);
+                id.set(xmlId);
             }
         }
     }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0187.java

@@ -27,7 +27,7 @@ public class FIRP0187 extends QCCatalogue {
         Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
         String outWay = firstpageStructureMap.get(Content.outWay);
         String deadAutopsy = firstpageStructureMap.get(Content.deadAutopsy);
-        if(CatalogueUtil.isSpecialChar(deadAutopsy)){
+        if (CatalogueUtil.isSpecialChar(deadAutopsy)) {
             status.set("0");
             return;
         }
@@ -37,6 +37,11 @@ public class FIRP0187 extends QCCatalogue {
         }
         if (StringUtil.isNotEmpty(outWay) && outWay.contains("死亡") && StringUtil.isNotEmpty(deadAutopsy)) {
             status.set("0");
+            return;
         }
+
+        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.deadAutopsy);
+        id.set(xmlId);
     }
 }

+ 6 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0188.java

@@ -18,16 +18,20 @@ import java.util.Map;
 @Component
 public class FIRP0188 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 bloodType = firstpageStructureMap.get(Content.bloodType);
-            if (!CatalogueUtil.isEmpty(bloodType)){
+            if (!CatalogueUtil.isEmpty(bloodType)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.bloodType);
+            id.set(xmlId);
         }
     }
 }

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

@@ -22,8 +22,11 @@ public class FIRP0189 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String rhFactor = firstpageStructureMap.get(Content.rhFactor);
-            if (CatalogueUtil.isEmpty(rhFactor)){
+            if (CatalogueUtil.isEmpty(rhFactor)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.rhFactor);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0190.java

@@ -30,6 +30,8 @@ public class FIRP0190 extends QCCatalogue {
         Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
         List<ClinicalBloodDoc> clinicalBloodDocList = inputInfo.getClinicalBloodDocs();
         String rhFactor = firstpageStructureMap.get(Content.rhFactor);
+        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.rhFactor);
         if (CatalogueUtil.isEmpty(rhFactor)) {
             return;
         }
@@ -49,10 +51,12 @@ public class FIRP0190 extends QCCatalogue {
             }
             if (rhFactor.contains("阴") && rh.contains("阳")) {
                 status.set("-1");
+                id.set(xmlId);
                 return;
             }
             if (rhFactor.contains("阳") && rh.contains("阴")) {
                 status.set("-1");
+                id.set(xmlId);
                 return;
             }
             if (StringUtils.isEmpty(bloodType)) {

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0192.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
 import com.lantone.qc.kernel.structure.ai.ModelAI;
+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;
@@ -60,6 +61,8 @@ public class FIRP0192 extends QCCatalogue {
                         double likeRate = jsonArray.getDoubleValue(1);
                         if (likeRate < 0.9) {
                             status.set("-1");
+                            String xmlId = CatalogueUtil.getXmlId(firstPageRecordDocStructureMap, "手术");
+                            id.set(xmlId);
                             return;
                         }
                     }

+ 6 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0194.java

@@ -18,16 +18,20 @@ import java.util.Map;
 @Component
 public class FIRP0194 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 outWay = firstpageStructureMap.get(Content.outWay);
-            if (!CatalogueUtil.isEmpty(outWay)){
+            if (!CatalogueUtil.isEmpty(outWay)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outWay);
+            id.set(xmlId);
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0195.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -38,6 +39,9 @@ public class FIRP0195 extends QCCatalogue {
             wardOutWay = "死亡";
             if (!match(outWay, wardOutWay)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outWay);
+                id.set(xmlId);
             }
         }
 

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0199.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -30,6 +31,9 @@ public class FIRP0199 extends QCCatalogue {
                         String newbornWeight = firstpageStructureMap.get(Content.newbornWeight);
                         if (StringUtil.isBlank(newbornWeight)) {
                             status.set("-1");
+                            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornWeight);
+                            id.set(xmlId);
                         }
                     }
                 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0200.java

@@ -31,6 +31,9 @@ public class FIRP0200 extends QCCatalogue {
             }
             if (newbornWeight <= 1 || newbornWeight >= 10) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornWeight);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0201.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -32,6 +33,8 @@ public class FIRP0201 extends QCCatalogue {
             Object newbornAdmisWeight = firstpageStructureMap.get(Content.newbornAdmisWeight);
             if (newbornAdmisWeight != null && StringUtil.isBlank(newbornAdmisWeight.toString())) {
                 status.set("-1");
+                String xmlId = CatalogueUtil.getXmlId(firstpageStructureMap, Content.newbornWeight);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0202.java

@@ -31,6 +31,9 @@ public class FIRP0202 extends QCCatalogue {
             }
             if (newbornAdmisWeight <= 1 || newbornAdmisWeight >= 10) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornAdmisWeight);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0203.java

@@ -24,8 +24,10 @@ public class FIRP0203 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.birth_address);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.birth_address);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -22,10 +22,12 @@ public class FIRP0204 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.native_place);
-            if(CatalogueUtil.isEmpty(dischargeTime)){
+            if (CatalogueUtil.isEmpty(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.native_place);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -22,10 +22,12 @@ public class FIRP0205 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.nation);
-            if(CatalogueUtil.isEmpty(dischargeTime)){
+            if (CatalogueUtil.isEmpty(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.nation);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0206.java

@@ -24,8 +24,10 @@ public class FIRP0206 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.job);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.job);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 5 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0207.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -22,10 +23,12 @@ public class FIRP0207 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.current_address);
-            if(StringUtil.isBlank(dischargeTime)){
+            if (StringUtil.isBlank(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.current_address);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,8 +25,10 @@ public class FIRP0208 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.household_address);
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.household_address);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,8 +25,10 @@ public class FIRP0209 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.work_unit);
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.work_unit);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -22,10 +22,12 @@ public class FIRP0210 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.current_address_phone);
-            if(CatalogueUtil.isEmpty(dischargeTime)){
+            if (CatalogueUtil.isEmpty(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.current_address_phone);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,8 +25,10 @@ public class FIRP0211 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.work_unit_phone);
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.work_unit_phone);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0212.java

@@ -24,8 +24,10 @@ public class FIRP0212 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.current_address_zipcode);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.current_address_zipcode);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0213.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -27,6 +28,9 @@ public class FIRP0213 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.household_address_zipcode);
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.household_address_zipcode);
+                id.set(xmlId);
             }
         }
     }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -24,8 +25,10 @@ public class FIRP0214 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.work_unit_zipcode);
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.work_unit_zipcode);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 5 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0215.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -23,10 +24,12 @@ public class FIRP0215 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.contactName);
             // 跟任燕青确认,“/”也算填写
-            if(StringUtil.isBlank(dischargeTime)){
+            if (StringUtil.isBlank(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.contactName);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0216.java

@@ -24,8 +24,10 @@ public class FIRP0216 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.contact_relation);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.contact_relation);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -25,8 +26,10 @@ public class FIRP0217 extends QCCatalogue {
             // 跟医学部确认,如果写成 “/” 也算填写
             if(StringUtil.isBlank(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.contact_address);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0218.java

@@ -24,8 +24,10 @@ public class FIRP0218 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.contact_phone);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.contact_phone);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0219.java

@@ -24,8 +24,10 @@ public class FIRP0219 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.admisTime);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admisTime);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 5 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0220.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -38,7 +39,11 @@ public class FIRP0220 extends QCCatalogue {
                     firstDate.getMonth() == admisDate.getMonth() &&
                     firstDate.getDay() == admisDate.getDay()) {
                 status.set("0");
+                return;
             }
         }
+        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admisTime);
+        id.set(xmlId);
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0221.java

@@ -24,8 +24,10 @@ public class FIRP0221 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.admitDept);
             if (CatalogueUtil.isEmpty(dischargeTime)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admitDept);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0222.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -41,6 +42,9 @@ public class FIRP0222 extends QCCatalogue {
         }
         if (StringUtil.isNotBlank(admitDept) && StringUtil.isNotBlank(behDeptId) && !admitDept.equals(behDeptId)) {
             status.set("-1");
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admitDept);
+            id.set(xmlId);
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0223.java

@@ -24,8 +24,10 @@ public class FIRP0223 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.admitBedNumber);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.admitBedNumber);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0224.java

@@ -24,8 +24,10 @@ public class FIRP0224 extends QCCatalogue {
             String dischargeTime = firstpageStructureMap.get(Content.dischargeTime);
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.dischargeTime);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -26,11 +26,14 @@ public class FIRP0225 extends QCCatalogue {
             Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
             String firstDischargeTime = firstpageStructureMap.get(Content.dischargeTime);//病案首页出院时间
             String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);//出院小结出院时间
-            if (StringUtil.isBlank(firstDischargeTime) || StringUtil.isBlank(dischargeTime)){
+            if (StringUtil.isBlank(firstDischargeTime) || StringUtil.isBlank(dischargeTime)) {
                 return;
             }
             if (!CatalogueUtil.equalsDate(firstDischargeTime, dischargeTime, "yyyy-MM-dd")) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.dischargeTime);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0227.java

@@ -24,8 +24,10 @@ public class FIRP0227 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.dept_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.dept_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0228.java

@@ -24,8 +24,10 @@ public class FIRP0228 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.director_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.director_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0229.java

@@ -24,8 +24,10 @@ public class FIRP0229 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.indications_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.indications_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0230.java

@@ -24,8 +24,10 @@ public class FIRP0230 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.hospitalization_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.hospitalization_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0231.java

@@ -24,8 +24,10 @@ public class FIRP0231 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.duty_nurse);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.duty_nurse);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0232.java

@@ -24,8 +24,10 @@ public class FIRP0232 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.engage_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.engage_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0233.java

@@ -24,8 +24,10 @@ public class FIRP0233 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.internship_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.internship_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0234.java

@@ -24,8 +24,10 @@ public class FIRP0234 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.ncoding_staff);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.ncoding_staff);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0235.java

@@ -24,8 +24,10 @@ public class FIRP0235 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.qc_quality);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.qc_quality);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0236.java

@@ -24,8 +24,10 @@ public class FIRP0236 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.qc_doctor);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.qc_doctor);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0237.java

@@ -24,8 +24,10 @@ public class FIRP0237 extends QCCatalogue {
             String qc_date = firstpageStructureMap.get(Content.qc_nurse);
             if(CatalogueUtil.isEmpty(qc_date)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.qc_nurse);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

@@ -22,10 +22,12 @@ public class FIRP0238 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String qc_date = firstpageStructureMap.get(Content.qc_date);
-            if(CatalogueUtil.isEmpty(qc_date)){
+            if (CatalogueUtil.isEmpty(qc_date)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.qc_date);
+                id.set(xmlId);
             }
-
         }
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0239.java

@@ -24,6 +24,9 @@ public class FIRP0239 extends QCCatalogue {
             String reHospitalization = firstpageStructureMap.get(Content.reHospitalization);
             if (CatalogueUtil.isEmpty(reHospitalization)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.reHospitalization);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0240.java

@@ -24,8 +24,10 @@ public class FIRP0240 extends QCCatalogue {
             String outDept = firstpageStructureMap.get(Content.medical_classification);
             if(CatalogueUtil.isEmpty(outDept)){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.medical_classification);
+                id.set(xmlId);
             }
-
         }
     }
 }

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

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

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0247.java

@@ -1,6 +1,8 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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.apache.commons.lang3.StringUtils;
@@ -20,9 +22,12 @@ public class FIRP0247 extends QCCatalogue {
         status.set("0");
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            if(firstpageStructureMap != null){
-                if(StringUtils.isEmpty(firstpageStructureMap.get("病人抢救次数"))){
+            if (firstpageStructureMap != null) {
+                if (StringUtils.isEmpty(firstpageStructureMap.get("病人抢救次数"))) {
                     status.set("-1");
+                    Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                    String xmlId = CatalogueUtil.getXmlId(structureExtMap, "病人抢救次数");
+                    id.set(xmlId);
                 }
             }
         }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0248.java

@@ -57,6 +57,9 @@ public class FIRP0248 extends QCCatalogue {
 
             if (!match) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, "病人抢救次数");
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0249.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.firstpagerecord;
 
 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 org.apache.commons.lang3.StringUtils;
@@ -23,6 +24,9 @@ public class FIRP0249 extends QCCatalogue {
             if(firstpageStructureMap != null){
                 if(StringUtils.isEmpty(firstpageStructureMap.get("病人抢救成功次数"))){
                     status.set("-1");
+                    Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                    String xmlId = CatalogueUtil.getXmlId(structureExtMap, "病人抢救成功次数");
+                    id.set(xmlId);
                 }
             }
         }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0250.java

@@ -62,6 +62,9 @@ public class FIRP0250 extends QCCatalogue {
 
             if (!match) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, "病人抢救成功次数");
+                id.set(xmlId);
             }
         }
     }

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

@@ -18,7 +18,7 @@ import java.util.Map;
 @Component
 public class FIRP0251 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             status.set("0");
             return;
         }
@@ -26,9 +26,13 @@ public class FIRP0251 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String name = firstpageStructureMap.get(Content.single_disease_management);
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
-            if (!CatalogueUtil.isEmpty(name) && !"【】".equals(name)){
+            if (!CatalogueUtil.isEmpty(name) && !"【】".equals(name)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.single_disease_management);
+            id.set(xmlId);
         }
     }
 }

+ 5 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0253.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -28,7 +29,11 @@ public class FIRP0253 extends QCCatalogue {
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
             if (StringUtil.isNotBlank(name) && !"【】".equals(name)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.clinical_pathway_management);
+            id.set(xmlId);
         }
     }
 }

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

@@ -22,8 +22,11 @@ public class FIRP0255 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String name = firstpageStructureMap.get(Content.outcome);
-            if (CatalogueUtil.isEmpty(name)){
+            if (CatalogueUtil.isEmpty(name)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outcome);
+                id.set(xmlId);
             }
         }
     }

+ 11 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0256.java

@@ -30,29 +30,33 @@ public class FIRP0256 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String outcome = firstpageStructureMap.get(Content.outcome);    //病案首页转归情况
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.outcome);
             if (CatalogueUtil.isEmpty(outcome)) {
                 return;
             }
             //若出现死亡记录或死亡医嘱,则 转归情况 必须为 死亡。若未出现死亡记录或死亡医嘱,则 转归情况 必不为 死亡。
             if (inputInfo.getDeathRecordDoc() != null && !"死亡".equals(outcome)) {
                 status.set("-1");
+                id.set(xmlId);
                 return;
-            }else if(inputInfo.getDeathRecordDoc() == null){
+            } else if (inputInfo.getDeathRecordDoc() == null) {
                 boolean res = false;
                 for (DoctorAdviceDoc doctorAdviceDoc : inputInfo.getDoctorAdviceDocs()) {
-                    if(doctorAdviceDoc.getStructureMap().get("医嘱项目名称").contains("死亡")){
+                    if (doctorAdviceDoc.getStructureMap().get("医嘱项目名称").contains("死亡")) {
                         res = true;
                     }
                 }
-                if(res && !"死亡".equals(outcome)){
+                if (res && !"死亡".equals(outcome)) {
                     status.set("-1");
+                    id.set(xmlId);
                     return;
                 }
             }
             Map<String, Object> firstpageStructureMapExt = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
             List<Map<String, String>> dischargeDiag = (List) firstpageStructureMapExt.get(Content.dischargeDiag);
             if (ListUtil.isEmpty(dischargeDiag)) {
-                return ;
+                return;
             }
             // 取主要诊断的出院情况
             String firstDisInfo = "";
@@ -65,11 +69,12 @@ public class FIRP0256 extends QCCatalogue {
             }
 
             if (StringUtil.isEmpty(firstDisInfo)) {
-                return ;
+                return;
             }
             if (!outcome.equals(firstDisInfo)) {
                 status.set("-1");
-                return ;
+                id.set(xmlId);
+                return;
             }
         }
 

+ 5 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0257.java

@@ -36,16 +36,18 @@ public class FIRP0257 extends QCCatalogue {
             List<String> dischargeDiag = getDischargeDiag(dischargeDiags);
 
             String situation = ""; //符合情况
-            if (dischargeDiag.containsAll(firstpageDischargeDiag)){
+            if (dischargeDiag.containsAll(firstpageDischargeDiag)) {
                 situation = "符合";
             } else {
                 situation = "不符合";
             }
             Object o_iObj = firstpageStructureMap.get(Content.o_i);
-            if (o_iObj != null){
+            if (o_iObj != null) {
                 String o_i = o_iObj.toString();
-                if (StringUtil.isNotBlank(o_i) && !CatalogueUtil.compareToken(o_i,situation)) {
+                if (StringUtil.isNotBlank(o_i) && !CatalogueUtil.compareToken(o_i, situation)) {
                     status.set("-1");
+                    String xmlId = CatalogueUtil.getXmlId(firstpageStructureMap, Content.o_i);
+                    id.set(xmlId);
                 }
             }
         }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0258.java

@@ -23,6 +23,9 @@ public class FIRP0258 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             if (CatalogueUtil.isEmpty(firstpageStructureMap.get(Content.o_i))){
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.o_i);
+                id.set(xmlId);
             }
         }
     }

+ 2 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0259.java

@@ -42,6 +42,8 @@ public class FIRP0259 extends QCCatalogue {
             String i_o = firstpageStructureMap.get(Content.i_o).toString();
             if (!CatalogueUtil.isEmpty(i_o) && !CatalogueUtil.compareToken(i_o, situation)) {
                 status.set("-1");
+                String xmlId = CatalogueUtil.getXmlId(firstpageStructureMap, Content.i_o);
+                id.set(xmlId);
             }
         }
     }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -25,6 +26,9 @@ public class FIRP0260 extends QCCatalogue {
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
             if (StringUtil.isBlank(iO) || "【】".equals(iO)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.i_o);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0262.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -25,6 +26,9 @@ public class FIRP0262 extends QCCatalogue {
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
             if (StringUtil.isBlank(obOa) || "【】".equals(obOa)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.ob_oa);
+                id.set(xmlId);
             }
         }
     }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -25,6 +26,9 @@ public class FIRP0264 extends QCCatalogue {
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
             if (StringUtil.isBlank(clinicalPathology) || "【】".equals(clinicalPathology)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.clinical_pathology);
+                id.set(xmlId);
             }
         }
     }

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

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -25,6 +26,9 @@ public class FIRP0266 extends QCCatalogue {
             /* 台州运行质控病案首页未填时有默认值,希望之后his能直接处理掉默认值,设为空 */
             if (StringUtil.isBlank(radiationPathology) || "【】".equals(radiationPathology)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.radiation_pathology);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0267.java

@@ -27,7 +27,11 @@ public class FIRP0267 extends QCCatalogue {
             String name = firstpageStructureMap.get(Content.charge);
             if (!CatalogueUtil.isEmpty(name)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.charge);
+            id.set(xmlId);
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0269.java

@@ -27,7 +27,11 @@ public class FIRP0269 extends QCCatalogue {
             String name = firstpageStructureMap.get(Content.otherCharge);
             if (!CatalogueUtil.isEmpty(name)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.otherCharge);
+            id.set(xmlId);
         }
     }
 }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0273.java

@@ -27,15 +27,20 @@ public class FIRP0273 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String infantAgeMonths = firstpageStructureMap.get(Content.newbornAgeMonths);
             String infantAgeDays = firstpageStructureMap.get(Content.newbornAgeDays);
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
             if (CatalogueUtil.isSpecialChar(infantAgeMonths)) {
-                return ;
+                return;
             }
             if (StringUtil.isNotBlank(infantAgeMonths) && Integer.parseInt(infantAgeMonths) > 0) {
                 status.set("-1");
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornAgeMonths);
+                id.set(xmlId);
             }
             if (StringUtil.isNotBlank(infantAgeDays) && Integer.parseInt(infantAgeDays) > 28) {
                 //新生儿年龄单位为天,小于28天算通过
                 status.set("-1");
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornAgeDays);
+                id.set(xmlId);
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0274.java

@@ -27,6 +27,9 @@ public class FIRP0274 extends QCCatalogue {
             if (CatalogueUtil.isEmpty(infantAgeMonths)
                     && CatalogueUtil.isEmpty(infantAgeDays)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.newbornAgeDays);
+                id.set(xmlId);
             }
         }
     }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP0275.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -34,6 +35,9 @@ public class FIRP0275 extends QCCatalogue {
             String disc = copileNum(dischargeTime);
             if (!first.equals(disc)) {
                 status.set("-1");
+                Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.actualStay);
+                id.set(xmlId);
             }
         }
     }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02836.java

@@ -2,6 +2,7 @@ package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -23,10 +24,14 @@ public class FIRP02836 extends QCCatalogue {
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String birthDay = firstpageStructureMap.get("出生日期");
+            String birthDay = firstpageStructureMap.get(Content.birth_date);
             if (!CatalogueUtil.isEmpty(birthDay)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.birth_date);
+            id.set(xmlId);
         }
     }
 }

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02837.java

@@ -27,7 +27,11 @@ public class FIRP02837 extends QCCatalogue {
             String age = firstpageStructureMap.get(Content.age);
             if (!CatalogueUtil.isEmpty(age)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.age);
+            id.set(xmlId);
         }
     }
 }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02838.java

@@ -2,6 +2,7 @@ package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -23,10 +24,14 @@ public class FIRP02838 extends QCCatalogue {
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String nationality = firstpageStructureMap.get("国籍");
+            String nationality = firstpageStructureMap.get(Content.nationality);
             if (!CatalogueUtil.isEmpty(nationality)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.nationality);
+            id.set(xmlId);
         }
     }
 }

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02841.java

@@ -2,6 +2,7 @@ package com.lantone.qc.kernel.catalogue.yiwu.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;
@@ -23,10 +24,14 @@ public class FIRP02841 extends QCCatalogue {
         }
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
-            String actualLengthOfStay = firstpageStructureMap.get("实际住院天数");
+            String actualLengthOfStay = firstpageStructureMap.get(Content.actualStay);
             if (!CatalogueUtil.isEmpty(actualLengthOfStay)) {
                 status.set("0");
+                return;
             }
+            Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.actualStay);
+            id.set(xmlId);
         }
     }
 }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02883.java

@@ -26,6 +26,9 @@ public class FIRP02883 extends QCCatalogue {
                 String regex = "^\\d{6}$";
                 if (!zipcode.matches(regex)) {
                     status.set("-1");
+                    Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                    String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.current_address_zipcode);
+                    id.set(xmlId);
                 }
             }
         }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02885.java

@@ -31,6 +31,9 @@ public class FIRP02885 extends QCCatalogue {
                     String regex = "^\\d{6}$";
                     if (!zipcode.matches(regex)) {
                         status.set("-1");
+                        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.household_address_zipcode);
+                        id.set(xmlId);
                     }
                 }
             }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02886.java

@@ -31,6 +31,9 @@ public class FIRP02886 extends QCCatalogue {
                     String regex = "^\\d{6}$";
                     if (!zipcode.matches(regex)) {
                         status.set("-1");
+                        Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+                        String xmlId = CatalogueUtil.getXmlId(structureExtMap, Content.work_unit_zipcode);
+                        id.set(xmlId);
                     }
                 }
             }

+ 0 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/firstpagerecord/FIRP02905.java


Some files were not shown because too many files changed in this diff