|
@@ -911,7 +911,8 @@ public class Neo4jAPI {
|
|
|
//查找不良反应推送
|
|
|
Set<String> indSet = new HashSet<>();
|
|
|
List<String> newList = new ArrayList<>();
|
|
|
- ArrayList<String> fildList = new ArrayList<>();
|
|
|
+ List<String> fildList = new ArrayList<>();
|
|
|
+ List<String> startList = new ArrayList<>();
|
|
|
for (String fild : keys) {
|
|
|
fildList.add("\"" + fild.trim() + "\"");
|
|
|
}
|
|
@@ -922,46 +923,31 @@ public class Neo4jAPI {
|
|
|
try {
|
|
|
session = driver.session(AccessMode.WRITE);
|
|
|
logger.info("session 为: " + session);
|
|
|
- query = propertiesUtil.getProperty("serchCollect").replace("fildList", fildList.toString());
|
|
|
- logger.info("查找是否有组合词,查找语句为:\n"+query);
|
|
|
+ //第一步查询输入的词所在number
|
|
|
+ query = propertiesUtil.getProperty("searchNumColl").replace("startList", fildList.toString());
|
|
|
+ logger.info("查找词所在的number \n" + query);
|
|
|
result = session.run(query);
|
|
|
while (result.hasNext()) {
|
|
|
- Record record = result.next();
|
|
|
- String fild = record.get("fild").toString();
|
|
|
- List<Object> typeCollect = record.get("typeCollect").asList();
|
|
|
- //如果不包含诊断依据就找它的同义词,否则就要这个词
|
|
|
- if ("近义词".equals(typeCollect.get(0)) && typeCollect.size() == 1) {
|
|
|
- query = "match(l)-[r:近义词]->(h) where l.name=" + fild + " return h.name as js";
|
|
|
- logger.info("如果有近义词就替换,处理语句为:\n"+query);
|
|
|
- StatementResult jinyiResult = session.run(query);
|
|
|
- while (jinyiResult.hasNext()) {
|
|
|
- Record next = jinyiResult.next();
|
|
|
- String js = next.get("js").toString();
|
|
|
- fildList.remove(fild);
|
|
|
- fildList.add(js);
|
|
|
- }
|
|
|
- }
|
|
|
+ Record next = result.next();
|
|
|
+ String v = next.get("v").toString();
|
|
|
+ startList.add(v);
|
|
|
}
|
|
|
- newList.addAll(fildList);
|
|
|
+ newList.addAll(startList);
|
|
|
int i = 1;
|
|
|
while (newList.size() > 0) {
|
|
|
+ query = propertiesUtil.getProperty("searchNewCondition").replace("newList", newList.toString()).replace("fildList", startList.toString());
|
|
|
+ logger.info("第" + i + "次查询conditon语句 \n" + query);
|
|
|
i++;
|
|
|
- query = propertiesUtil.getProperty("searchCondition").replace("newList", newList.toString()).replace("fildList", fildList.toString());
|
|
|
- logger.info("第"+i+"次查询符合诊断依据的语句:\n"+query);
|
|
|
result = session.run(query);
|
|
|
newList.clear();
|
|
|
while (result.hasNext()) {
|
|
|
Record record = result.next();
|
|
|
String condition = record.get("condition").toString();
|
|
|
- String jundgement = record.get("jundgement").toString();
|
|
|
- String label = record.get("label").toString();
|
|
|
- if ("TRUE".equals(jundgement)) {
|
|
|
- newList.add(condition);
|
|
|
- fildList.add(condition);
|
|
|
- }
|
|
|
+ newList.add(condition);
|
|
|
+ startList.add(condition);
|
|
|
}
|
|
|
}
|
|
|
- query = propertiesUtil.getProperty("searchUe").replace("fildList", fildList.toString());
|
|
|
+ query = propertiesUtil.getProperty("searchUe").replace("fildList", startList.toString());
|
|
|
logger.info("查找界面输入是否有不良反应,处理语句为:\n"+query);
|
|
|
result = session.run(query);
|
|
|
while (result.hasNext()) {
|
|
@@ -1257,9 +1243,12 @@ public class Neo4jAPI {
|
|
|
for (String fild : fildsArray) {
|
|
|
fildsList.add("\'" + fild + "\'");
|
|
|
}
|
|
|
- for (String yizhen : disSet) {
|
|
|
- fildsList.add("\'" + yizhen + "\'");
|
|
|
+ if(disSet != null && disSet.size()>0){
|
|
|
+ for (String yizhen : disSet) {
|
|
|
+ fildsList.add("\'" + yizhen + "\'");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
for (String h : ueSet) {
|
|
|
fildsList.add("\'" + h + "\'");
|
|
|
}
|