浏览代码

添加根据前端传进来的ruleTypeId做危急值提醒分类

hujing 5 年之前
父节点
当前提交
0f64de8e98

+ 9 - 0
common-push/src/main/java/org/diagbot/common/push/bean/CrisisDetail.java

@@ -7,6 +7,7 @@ public class CrisisDetail {
     private String remindText;
     private String standardText;
     private String originText;
+    private String typeId;
 
     public String getRemindText() {
         return remindText;
@@ -31,4 +32,12 @@ public class CrisisDetail {
     public void setOriginText(String originText) {
         this.originText = originText;
     }
+
+    public String getTypeId() {
+        return typeId;
+    }
+
+    public void setTypeId(String typeId) {
+        this.typeId = typeId;
+    }
 }

+ 10 - 1
common-push/src/main/java/org/diagbot/common/push/bean/SearchData.java

@@ -47,7 +47,8 @@ public class SearchData {
 
     //量表
     protected String scaleName = "";
-
+    //危急值规则类型id
+    protected String ruleTypeId;
     //指标结果
     protected String indications="";
     //模型
@@ -245,6 +246,14 @@ public class SearchData {
         this.scaleName = scaleName;
     }
 
+    public String getRuleTypeId() {
+        return ruleTypeId;
+    }
+
+    public void setRuleTypeId(String ruleTypeId) {
+        this.ruleTypeId = ruleTypeId;
+    }
+
     public String getAlgorithmClassifyValue() {
         return algorithmClassifyValue;
     }

+ 22 - 1
rule/src/main/java/org/diagbot/rule/crisis/CrisisApplication.java

@@ -8,7 +8,9 @@ import org.diagbot.common.push.cache.ApplicationCacheUtil;
 import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -21,6 +23,7 @@ public class CrisisApplication {
 
     public Map<String, List<CrisisDetail>> crisisContent(SearchData searchData) {
         Map<String, List<Rule>> rules = searchData.getRules();
+        List<String> ruleTypeIdList = null;
         if (rules == null) {
             return new HashMap<String, List<CrisisDetail>>();
         }
@@ -28,8 +31,16 @@ public class CrisisApplication {
 
         Map<String, List<CrisisDetail>> crisisMap = new HashMap<>();
         List<CrisisDetail> crisisList = null;
+        if (StringUtils.isEmpty(searchData.getRuleTypeId())) {
+            ruleTypeIdList = getallRuleId(ruleApps);
+        } else {
+            ruleTypeIdList = Arrays.asList(searchData.getRuleTypeId().split(","));
+        }
         for (Map.Entry<String, RuleApp> app : ruleApps.entrySet()) {
-            if (StringUtils.isEmpty(app.getValue().getRuleIds())) {
+            if (StringUtils.isEmpty(app.getValue().getRuleIds()) || StringUtils.isEmpty(app.getValue().getTypeId())) {
+                continue;
+            }
+            if (!ruleTypeIdList.contains(app.getValue().getTypeId())) {
                 continue;
             }
             String[] ruleIds = app.getValue().getRuleIds().split(",");
@@ -58,6 +69,7 @@ public class CrisisApplication {
                 crisisDetail.setOriginText(originText);
                 crisisDetail.setStandardText(standardText);
                 crisisDetail.setRemindText(app.getValue().getRemind());
+                crisisDetail.setTypeId(app.getValue().getTypeId());
 
                 crisisList = crisisMap.get(key);
                 if (crisisList == null) {
@@ -78,6 +90,15 @@ public class CrisisApplication {
         return crisisMap;
     }
 
+    private List<String> getallRuleId(Map<String, RuleApp> ruleApps) {
+        Set<String> typeIdSet = new HashSet<>();
+        for (Map.Entry<String, RuleApp> ruleAppEntry : ruleApps.entrySet()) {
+            typeIdSet.add(ruleAppEntry.getValue().getTypeId());
+        }
+        List<String> allTypeIdList = new ArrayList<>(typeIdSet);
+        return allTypeIdList;
+    }
+
     private String mergeStandardText(Rule rule) {
         //标准值最优先匹配
         StringBuffer sb = new StringBuffer();