Преглед на файлове

Merge remote-tracking branch 'origin/push-dev' into push-186server

louhr преди 5 години
родител
ревизия
9e26985cd2

+ 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 originText = "";
     private String typeId;
+    private String hisName = "";
 
     public String getRemindText() {
         return remindText;
@@ -31,4 +32,12 @@ public class CrisisDetail {
     public void setTypeId(String typeId) {
         this.typeId = typeId;
     }
+
+    public String getHisName() {
+        return hisName;
+    }
+
+    public void setHisName(String hisName) {
+        this.hisName = hisName;
+    }
 }

+ 10 - 0
common-push/src/main/java/org/diagbot/common/push/bean/Rule.java

@@ -38,6 +38,8 @@ public class Rule {
     private String suffixInfo = "";
     //提醒信息
     private String originText = "";
+    //his名称
+    private String hisName = "";
 
     public String getId() {
         return id;
@@ -150,4 +152,12 @@ public class Rule {
     public void setOriginText(String originText) {
         this.originText = originText;
     }
+
+    public String getHisName() {
+        return hisName;
+    }
+
+    public void setHisName(String hisName) {
+        this.hisName = hisName;
+    }
 }

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

@@ -9,6 +9,7 @@ public class MedicalIndication {
     private String name;
     // 触发推送的规则
     private String rule;
+    private String hisName;
     private List<MedicalIndicationDetail> details;
 
     public String getName() {
@@ -19,6 +20,14 @@ public class MedicalIndication {
         this.name = name;
     }
 
+    public String getHisName() {
+        return hisName;
+    }
+
+    public void setHisName(String hisName) {
+        this.hisName = hisName;
+    }
+
     public String getRule() {
         return rule;
     }

+ 2 - 0
common-push/src/main/java/org/diagbot/common/push/filter/rule/PretreatmentRule.java

@@ -241,6 +241,8 @@ public class PretreatmentRule {
                             } else {
                                 accord_rules = accord_rule_map.get(inputType);
                             }
+                            //在满足规则里存放his项目名称
+                            rule.setHisName(result.getName());
                             accord_rules.add(rule);
                             accord_rule_map.put(inputType, accord_rules);
                             searchData.setRules(accord_rule_map);

+ 1 - 0
push-web/src/main/java/org/diagbot/push/controller/AlgorithmController.java

@@ -260,6 +260,7 @@ public class AlgorithmController extends BaseController {
                     crisisMid.add(medicalIndicationDetail);
                     medicalIndication.setName(remindText);
                     medicalIndication.setRule(originText);
+                    medicalIndication.setHisName(crisisDetail.getHisName());
                     medicalIndication.setDetails(crisisMid);
                     crisisDetailList.add(medicalIndication);
                 }

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

@@ -47,11 +47,12 @@ public class CrisisApplication {
             }
             String appRemindVar = "";
             String appOriginText = "";
+            String appHisName = "";
             boolean hasAppSuit = false;
             String[] fieldRuleIds = app.getValue().getRuleIds().split("\\^");
             for (String fieldRuleId : fieldRuleIds) {
                 String[] ruleIds = fieldRuleId.split(",");
-                String standardText = "", originText = "", remind = "";
+                String standardText = "", originText = "", remind = "", hisName = "";
                 ;
                 boolean allRuleIdsSuit = true;
                 for (String ruleId : ruleIds) {
@@ -72,6 +73,12 @@ public class CrisisApplication {
                                 } else if (!StringUtils.isEmpty(originText) && !StringUtils.isEmpty(suitRule.getOriginText())) {
                                     originText = originText + ";" + suitRule.getOriginText();
                                 }
+
+                                if (StringUtils.isEmpty(hisName)) {
+                                    hisName = suitRule.getHisName();
+                                } else if (!StringUtils.isEmpty(hisName) && !StringUtils.isEmpty(suitRule.getHisName())) {
+                                    hisName = hisName + "," + suitRule.getHisName();
+                                }
                                 break;
                             }
                         }
@@ -93,6 +100,12 @@ public class CrisisApplication {
                         appOriginText = appOriginText + "," + originText;
                     }
 
+                    if (StringUtils.isEmpty(appHisName)) {
+                        appHisName = hisName;
+                    } else {
+                        appHisName = appHisName + "," + hisName;
+                    }
+
                     hasAppSuit = true;
                 }
             }
@@ -103,6 +116,7 @@ public class CrisisApplication {
                 crisisDetail.setOriginText(appOriginText);
                 crisisDetail.setRemindText(app.getValue().getRemind().replace("${remind}", appRemindVar));
                 crisisDetail.setTypeId(app.getValue().getTypeId());
+                crisisDetail.setHisName(appHisName);
 
                 crisisList = crisisMap.get(key);
                 if (crisisList == null) {