소스 검색

推送指标添加性别和年龄过滤

kongwz 5 년 전
부모
커밋
ac482753cd

+ 1 - 1
graph-web/src/main/java/org/diagbot/graphWeb/work/GraphCalculate.java

@@ -159,7 +159,7 @@ public class GraphCalculate {
             Set<String> newindSet = new HashSet<>();
             Set<String> newindSet1 = new HashSet<>();
             //查找指标
-            Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]));
+            Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]),sex,age);
             if(indSet != null && indSet.size()>0){
                 for (String ind:indSet) {
                     if("肾功能不全".equals(ind)){

+ 2 - 2
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -1091,7 +1091,7 @@ public class Neo4jAPI {
     /**
      * 指标推送
      */
-    public Set<String> getInd(String[] keys) {
+    public Set<String> getInd(String[] keys,String sex,int age) {
         //查找指标推送
         Set<String> indSet = new HashSet<>();
         List<String> newList = new ArrayList<>();
@@ -1130,7 +1130,7 @@ public class Neo4jAPI {
                     startList.add(condition);
                 }
             }
-            query = propertiesUtil.getProperty("searchIndication").replace("fildList", startList.toString());
+            query = propertiesUtil.getProperty("searchIndication").replace("fildList", startList.toString()).replace("age",String.valueOf(age)).replace("Sex",sex);
             logger.info("查找可以推送的指标\n"+query);
             result = session.run(query);
             while (result.hasNext()) {

+ 3 - 2
graph/src/main/resources/bolt.properties

@@ -87,10 +87,11 @@ searchDifferentialDiagnose=match(d:Disease)-[r:\u9274\u522B\u8BCA\u65AD]->(h) wh
 searchEmergency=match(d:Disease) where d.name in disList return d.name as emDis,d.emergency as em
 
 #\u67E5\u627E\u6307\u6807\u7684\u8BED\u53E5
-    searchIndication=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:Indicators)\n \
+searchIndication=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:Indicators)\n \
 where n.name in fildList\n \
 with distinct m,r\n \
-return m.name as name
+match(i:Indicators) WHERE i.name=m.name and age>i.minAge and age<i.maxAge and Sex=i.sex\n \
+return i.name as name
 
 #\u67E5\u627E\u4E0D\u826F\u53CD\u5E94\u7684\u8BED\u53E5
 searchUe=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:UntowardEffect)\n \