瀏覽代碼

判断多条件高危手术,添加判断

MarkHuang 4 年之前
父節點
當前提交
a1de57fa04
共有 1 個文件被更改,包括 67 次插入65 次删除
  1. 67 65
      src/main/java/com/diagbot/repository/YiBaoOperationNameNode.java

+ 67 - 65
src/main/java/com/diagbot/repository/YiBaoOperationNameNode.java

@@ -245,88 +245,90 @@ public class YiBaoOperationNameNode {
             String cond = operation.getHighriskcond();
             JSONObject jobj = JSONObject.parseObject(cond);
 
-            // 判断年龄
-            JSONObject ageobj = jobj.getJSONObject("年龄");
-
-            nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO("年龄", ageobj);
-            if (null != wordCrfDTO.getAge()) {
-                int age = wordCrfDTO.getAge();
-                match = CoreUtil.compareNum(nodeNeoDTO, age);
-                if (match) {
-                    nodeNeoDTO.setName("年龄:" + age);
-                    nodeNeoDTO.setVal("年龄:" + age);
-                    nodeNeoDTO.setTermtype(TypeEnum.age.getName());
-                    highRiskNeoDTO.getFactor().add(nodeNeoDTO);
+            if (null!=jobj) {
+                // 判断年龄
+                JSONObject ageobj = jobj.getJSONObject("年龄");
+
+                nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO("年龄", ageobj);
+                if (null != wordCrfDTO.getAge()) {
+                    int age = wordCrfDTO.getAge();
+                    match = CoreUtil.compareNum(nodeNeoDTO, age);
+                    if (match) {
+                        nodeNeoDTO.setName("年龄:" + age);
+                        nodeNeoDTO.setVal("年龄:" + age);
+                        nodeNeoDTO.setTermtype(TypeEnum.age.getName());
+                        highRiskNeoDTO.getFactor().add(nodeNeoDTO);
+                    }
                 }
-            }
 
-            // 判断生命体征和查体
-            VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
-            JSONObject vitalobj = jobj.getJSONObject("生命体征及查体");
-            for (String key : vitalobj.keySet()) {
-                nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO(key, vitalobj.getJSONObject(key));
-                res = CoreUtil.compareVital(nodeNeoDTO, vitalLabel);
-
-                if ((Boolean) res.get("flag")) {
-                    nodeNeoDTO.setVal(res.get("msg").toString());
-                    nodeNeoDTO.setTermtype(TypeEnum.vital.getName());
-                    highRiskNeoDTO.getFactor().add(nodeNeoDTO);
-                }
-            }
+                // 判断生命体征和查体
+                VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
+                JSONObject vitalobj = jobj.getJSONObject("生命体征及查体");
+                for (String key : vitalobj.keySet()) {
+                    nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO(key, vitalobj.getJSONObject(key));
+                    res = CoreUtil.compareVital(nodeNeoDTO, vitalLabel);
 
-            // 判断合并疾病
-            List<Item> diags = wordCrfDTO.getDiag();
-            JSONObject diagobj = jobj.getJSONObject("合并疾病");
-            for (String key : diagobj.keySet()) {
-                for (Item item : diags) {
-                    if (StringUtil.isNotBlank(item.getUniqueName()) && item.getUniqueName().equals(key)) {
-                        nodeNeoDTO = new NodeNeoDTO();
-                        nodeNeoDTO.setName(item.getUniqueName());
-                        nodeNeoDTO.setVal(item.getUniqueName());
-                        nodeNeoDTO.setTermtype(TypeEnum.disease.getName());
+                    if ((Boolean) res.get("flag")) {
+                        nodeNeoDTO.setVal(res.get("msg").toString());
+                        nodeNeoDTO.setTermtype(TypeEnum.vital.getName());
                         highRiskNeoDTO.getFactor().add(nodeNeoDTO);
                     }
                 }
-            }
 
-            // 判断化验结果
-            List<com.diagbot.biz.push.entity.Lis> lislist = wordCrfDTO.getLis();
-            JSONObject lisobj = jobj.getJSONObject("化验结果");
-            for (String key : lisobj.keySet()) {
-                nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO(key, lisobj.getJSONObject(key));
-                for (com.diagbot.biz.push.entity.Lis lis : lislist) {
-                    String name = lis.getUniqueName();
-                    if (nodeNeoDTO.getName().equals(name)) {
-                        res = CoreUtil.compareLis(nodeNeoDTO, lis);
-
-                        if ((Boolean) res.get("flag")) {
-                            nodeNeoDTO.setVal(res.get("msg").toString());
-                            nodeNeoDTO.setTermtype(TypeEnum.lis.getName());
+                // 判断合并疾病
+                List<Item> diags = wordCrfDTO.getDiag();
+                JSONObject diagobj = jobj.getJSONObject("合并疾病");
+                for (String key : diagobj.keySet()) {
+                    for (Item item : diags) {
+                        if (StringUtil.isNotBlank(item.getUniqueName()) && item.getUniqueName().equals(key)) {
+                            nodeNeoDTO = new NodeNeoDTO();
+                            nodeNeoDTO.setName(item.getUniqueName());
+                            nodeNeoDTO.setVal(item.getUniqueName());
+                            nodeNeoDTO.setTermtype(TypeEnum.disease.getName());
                             highRiskNeoDTO.getFactor().add(nodeNeoDTO);
                         }
                     }
                 }
-            }
 
-            // 判断辅检结果
-            PacsLabel pacslbl = wordCrfDTO.getPacsLabel();
+                // 判断化验结果
+                List<com.diagbot.biz.push.entity.Lis> lislist = wordCrfDTO.getLis();
+                JSONObject lisobj = jobj.getJSONObject("化验结果");
+                for (String key : lisobj.keySet()) {
+                    nodeNeoDTO = NeoUtil.jsontoNodeNeoDTO(key, lisobj.getJSONObject(key));
+                    for (com.diagbot.biz.push.entity.Lis lis : lislist) {
+                        String name = lis.getUniqueName();
+                        if (nodeNeoDTO.getName().equals(name)) {
+                            res = CoreUtil.compareLis(nodeNeoDTO, lis);
+
+                            if ((Boolean) res.get("flag")) {
+                                nodeNeoDTO.setVal(res.get("msg").toString());
+                                nodeNeoDTO.setTermtype(TypeEnum.lis.getName());
+                                highRiskNeoDTO.getFactor().add(nodeNeoDTO);
+                            }
+                        }
+                    }
+                }
+
+                // 判断辅检结果
+                PacsLabel pacslbl = wordCrfDTO.getPacsLabel();
 
-            JSONObject pacsobj = jobj.getJSONObject("辅检结果描述");
-            for (String key : pacsobj.keySet()) {
+                JSONObject pacsobj = jobj.getJSONObject("辅检结果描述");
+                for (String key : pacsobj.keySet()) {
 
-                for (Item item : pacslbl.getRes()) {
-                    if (StringUtil.isNotBlank(item.getUniqueName()) && item.getUniqueName().contains(key)) {
-                        nodeNeoDTO = new NodeNeoDTO();
-                        nodeNeoDTO.setName(item.getUniqueName());
-                        nodeNeoDTO.setVal(item.getUniqueName());
-                        nodeNeoDTO.setTermtype(TypeEnum.pacs.getName());
-                        highRiskNeoDTO.getFactor().add(nodeNeoDTO);
+                    for (Item item : pacslbl.getRes()) {
+                        if (StringUtil.isNotBlank(item.getUniqueName()) && item.getUniqueName().contains(key)) {
+                            nodeNeoDTO = new NodeNeoDTO();
+                            nodeNeoDTO.setName(item.getUniqueName());
+                            nodeNeoDTO.setVal(item.getUniqueName());
+                            nodeNeoDTO.setTermtype(TypeEnum.pacs.getName());
+                            highRiskNeoDTO.getFactor().add(nodeNeoDTO);
+                        }
                     }
                 }
-            }
 
-            if (highRiskNeoDTO.getFactor().size() > 0) {
-                highRiskNeoDTO.setType(TypeEnum.operation.getName());
+                if (highRiskNeoDTO.getFactor().size() > 0) {
+                    highRiskNeoDTO.setType(TypeEnum.operation.getName());
+                }
             }
         } catch (Exception ex) {
             ex.printStackTrace();