|
@@ -1,18 +1,16 @@
|
|
|
package org.diagbot.graph.Diagnose;
|
|
|
|
|
|
+import javafx.scene.effect.SepiaTone;
|
|
|
import org.diagbot.graph.jdbc.DriverManager;
|
|
|
import org.diagbot.pub.utils.PropertiesUtil;
|
|
|
import org.neo4j.driver.v1.*;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
public class DiagnoseProcess {
|
|
|
PropertiesUtil propertiesUtil = new PropertiesUtil("bolt.properties");
|
|
|
protected Map<String,String> getDiagnose(String ...filds) throws Exception {
|
|
|
- Map<String,String> quezhenDiagnose = new HashMap<>();
|
|
|
+ Map<String,String> quezhenDiagnose = new LinkedHashMap<>();
|
|
|
List<String> startList = new ArrayList<>();
|
|
|
List<String> newList = new ArrayList<>();
|
|
|
for (String fild:filds) {
|
|
@@ -27,7 +25,7 @@ public class DiagnoseProcess {
|
|
|
String searchJinyici = propertiesUtil.getProperty("searchJinyici");
|
|
|
String fildList = searchJinyici.replace("fildList", startList.toString());
|
|
|
query = fildList;
|
|
|
- System.out.println(query);
|
|
|
+// System.out.println("查找近义词语句:"+query+"\n");
|
|
|
run = session.run(query);
|
|
|
while (run.hasNext()){
|
|
|
Record next = run.next();
|
|
@@ -36,11 +34,13 @@ public class DiagnoseProcess {
|
|
|
startList.remove(c);
|
|
|
startList.add(d);
|
|
|
}
|
|
|
- System.out.println(startList);
|
|
|
newList.addAll(startList);
|
|
|
+ int i =0;
|
|
|
//第二步查找能推诊断
|
|
|
while (newList.size()>0){
|
|
|
+ i++;
|
|
|
query = propertiesUtil.getProperty("searchCondition").replace("newList",newList.toString()).replace("fildList",startList.toString());
|
|
|
+// System.out.println("第"+i+"个:"+query+"\n");
|
|
|
run = session.run(query);
|
|
|
newList.clear();
|
|
|
while (run.hasNext()){
|
|
@@ -56,12 +56,23 @@ public class DiagnoseProcess {
|
|
|
}
|
|
|
//第三步查找确诊
|
|
|
query = propertiesUtil.getProperty("searchQuezhen").replace("fildList",startList.toString());
|
|
|
- System.out.println(query);
|
|
|
+// System.out.println(query);
|
|
|
run = session.run(query);
|
|
|
+ Set<String> dis = new LinkedHashSet<>();
|
|
|
while (run.hasNext()){
|
|
|
Record next = run.next();
|
|
|
String quezhenName = next.get("name").toString().replace("\"","");
|
|
|
- quezhenDiagnose.put(quezhenName,"确诊");
|
|
|
+ String conditionType = next.get("relationType").toString().replace("\"","");
|
|
|
+ if("确诊".equals(conditionType)){
|
|
|
+ dis.add(quezhenName);
|
|
|
+ }else if("拟诊".equals(conditionType)){
|
|
|
+ dis.add(quezhenName);
|
|
|
+ }
|
|
|
+ for (String dise:dis
|
|
|
+ ) {
|
|
|
+ quezhenDiagnose.put(dise,"疑似诊断");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
session.close();
|
|
|
driver.close();
|