|
@@ -2819,4 +2819,37 @@ public class Neo4jAPI {
|
|
|
return diaglist;
|
|
|
}
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 根据年龄和性别排除的疾病
|
|
|
+ */
|
|
|
+ public Set<String> filterDisFromSexAge(List<String> dis,String sexIn,Integer ageIn){
|
|
|
+ Set<String> filterDisList = new HashSet<>();
|
|
|
+ Session session = null;
|
|
|
+ try {
|
|
|
+ session = driver.session(AccessMode.READ);
|
|
|
+ String query = "match(d:Disease) where d.name in "+dis+" return d.name as dis,d.sex as sex,d.minAge as minAge,d.maxAge as maxAge";
|
|
|
+ StatementResult dlist = session.run(query);
|
|
|
+ while (dlist.hasNext()) {
|
|
|
+ Record rec = dlist.next();
|
|
|
+ String disName = rec.get("dis").toString().replace("\"", "");
|
|
|
+ String sex = rec.get("sex").toString();
|
|
|
+ int minAge = rec.get("minAge").asInt();
|
|
|
+ int maxAge = rec.get("maxAge").asInt();
|
|
|
+ if("1".equals(sex) || "2".equals(sex)){
|
|
|
+ if(!sexIn.equals(sex)){
|
|
|
+ filterDisList.add(disName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ageIn < minAge || ageIn >maxAge){
|
|
|
+ filterDisList.add(disName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception ex) {
|
|
|
+ ex.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ CloseSession(session);
|
|
|
+ return filterDisList;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|