Procházet zdrojové kódy

修改温附一规则 FIRP0181 损伤、中毒的外部原因未填写

hecc před 3 roky
rodič
revize
259f127bc7

+ 12 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0181.java

@@ -8,12 +8,13 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Map;
 
 /**
  * @ClassName : FIRP0181
- * @Description :未填写
- * * @Author : 损伤、中毒的外部原因未填写
+ * @Description :损伤、中毒的外部原因未填写
+ * @Author :
  * @Date: 2020-03-16 11:33
  */
 @Component
@@ -34,13 +35,18 @@ public class FIRP0181 extends QCCatalogue {
         }
 
         if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, Object> firstpageStructure = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            List<Map<String, String>> dischargeDiag = (List) firstpageStructure.get(Content.dischargeDiag);
             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))) {
-                status.set("-1");
-                return;
+            String code = dischargeDiag.get(0).get("诊断编码");
+            if (code.startsWith("S") || code.startsWith("T")){
+                if ((CatalogueUtil.isEmpty(transferDept) || "[]".equals(transferDept))
+                        || (CatalogueUtil.isEmpty(transferDept_changxing) || "[]".equals(transferDept_changxing))) {
+                    status.set("-1");
+                    return;
+                }
             }
         }
     }