kongwz vor 6 Jahren
Ursprung
Commit
b1045f392d

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

@@ -16,6 +16,7 @@ import java.util.*;
 import org.diagbot.common.javabean.MedicalIndication;
 import org.diagbot.common.javabean.MedicalIndicationDetail;
 import org.diagbot.graphWeb.util.MapValueComparator;
+import org.neo4j.driver.v1.Driver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,10 +40,11 @@ public class GraphCalculate {
         Set<String> ss = inputs.keySet();
         logger.info("从分词系统接收到的词 :" + ss);
         inputList.addAll(ss);
-        Neo4jAPI neo4jAPI = new Neo4jAPI(DriverManager.newDrive("192.168.2.232", "neo4j", "root"));
+        Driver driver = DriverManager.newDrive("192.168.2.232", "neo4j", "root");
+        Neo4jAPI neo4jAPI = new Neo4jAPI();
         logger.info("图谱开始推送诊断!!!!!!!!!!!");
         //计算诊断
-        Map<String, String> condition = neo4jAPI.getCondition((String[]) inputList.toArray(new String[inputList.size()]));
+        Map<String, String> condition = neo4jAPI.getCondition((String[]) inputList.toArray(new String[inputList.size()]),driver);
         List<FeatureRate> featureRates = new ArrayList<>();
         for (Map.Entry<String, String> d : condition.entrySet()) {
             if (!"低血糖反应".equals(d.getKey()) && !"胃肠道不良反应".equals(d.getKey())
@@ -64,8 +66,9 @@ public class GraphCalculate {
         Integer diseaseType = searchData.getDisType();
         //走治疗
         if (webDiag.trim() != null && webDiag.trim() != "" && featureTypeList.contains("8")) {
+            Driver driver1 = DriverManager.newDrive("192.168.2.232", "neo4j", "root");
             //走平常诊断治疗
-            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, diseaseType, diseaseSet, String.join(",", inputList));
+            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, diseaseType, diseaseSet, String.join(",", inputList),driver1);
             responseData.setTreat(mulDiseaseTreat);
         }
         //管理评估(慢病才有)

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

@@ -42,7 +42,9 @@ public class Neo4jAPI {
     public Neo4jAPI(Driver driver) {
         this.driver = driver;
     }
+    public Neo4jAPI() {
 
+    }
     /**
      * 获取所有标签名称
      *
@@ -643,7 +645,7 @@ public class Neo4jAPI {
      * @param keys
      * @return
      */
-    public Map<String, String> getCondition(String[] keys) {
+    public Map<String, String> getCondition(String[] keys,Driver driver) {
         Map<String, String> diseaseCondition = new LinkedHashMap<>();
         List<String> newList = new ArrayList<>();
         ArrayList<String> fildList = new ArrayList<>();
@@ -738,6 +740,7 @@ public class Neo4jAPI {
             e.printStackTrace();
         } finally {
             CloseSession(session);
+            driver.close();
             return diseaseCondition;
         }
     }
@@ -966,7 +969,7 @@ public class Neo4jAPI {
      * @param filds   //     * @param sign 标志,2是平常诊断的治疗,0是复诊诊断的治疗,1是急诊
      * @return
      */
-    public Map<String, Filnlly> getMulDiseaseTreat_2(String disease,Integer diseaseType,Set<String> disSet, String filds) {
+    public Map<String, Filnlly> getMulDiseaseTreat_2(String disease,Integer diseaseType,Set<String> disSet, String filds,Driver driver) {
         Map<String, Filnlly> diagTreat = new HashMap<>();
         Session session = null;
         NumberFormat nf = NumberFormat.getPercentInstance();
@@ -1179,6 +1182,7 @@ public class Neo4jAPI {
             e.printStackTrace();
         } finally {
             CloseSession(session);
+            driver.close();
             return diagTreat;
         }
     }