ソースを参照

Merge remote-tracking branch 'origin/push-dev'

louhr 5 年 前
コミット
49ec30f4e5

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

@@ -154,16 +154,54 @@ public class GraphCalculate {
         String pacsOrder = searchData.getPacsOrder();
         //指标推送
         if (featureTypeList.contains("22") ) {
-            List<MedicalIndication> pacsMi = getPacsMi(pacsOrder, inputList,webDiag);
+//            List<MedicalIndication> pacsMi = getPacsMi(pacsOrder, inputList,webDiag);
+            Set<String> newindSet = new HashSet<>();
+            Set<String> newindSet1 = new HashSet<>();
             //查找指标
             Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]));
-            logger.info("featureTypeList 包含22,走指标推送!!!,图谱推出的指标为:" + indSet);
             if(indSet.contains("肾功能不全")){
-                List<MedicalIndication> idn = neo4jAPI.getIdn(indSet, age, sex);
-                pacsMi.addAll(idn);
-                responseData.setMedicalIndications(pacsMi);
+                for (String ind:indSet
+                     ) {
+                    if("肾功能不全".equals(ind)){
+                        newindSet.add(ind);
+
+                    }else {
+                        newindSet1.add(ind);
+                    }
+                }
+            }
+            Map<String, String> indLiang =null;
+            if(newindSet1 != null && newindSet1.size()>0){
+                indLiang =neo4jAPI.getIndLiang(newindSet1);
+
+            }
+            logger.info("featureTypeList 包含22,走指标推送!!!,图谱推出的指标为:" + indSet);
+            if(newindSet.contains("肾功能不全")){
+                List<MedicalIndication> idn = neo4jAPI.getIdn(newindSet, age, sex);
+//                pacsMi.addAll(idn);
+                responseData.setMedicalIndications(idn);
+            }
+            if(newindSet1 != null && newindSet1.size()>0){
+                for (String ind:newindSet1
+                     ) {
+                    MedicalIndication medicalIndication= new MedicalIndication();
+                    medicalIndication.setName(ind);
+                    List<MedicalIndicationDetail> ds = new ArrayList<>();
+                    MedicalIndicationDetail medicalIndicationDetail = new MedicalIndicationDetail();
+                    medicalIndicationDetail.setType(1);
+                    JSONObject jsonObject = new JSONObject();
+                    if(indLiang != null){
+                        jsonObject.put("name",indLiang.get(ind)); 
+                    }
+                    
+                    medicalIndicationDetail.setContent(jsonObject);
+                    ds.add(medicalIndicationDetail);
+                    medicalIndication.setDetails(ds);
+                    boolean add = responseData.getMedicalIndications().add(medicalIndication);
+
+                }
             }
-            responseData.setMedicalIndications(pacsMi);
+//            responseData.setMedicalIndications(pacsMi);
 
         }
 

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

@@ -1794,7 +1794,24 @@ public class Neo4jAPI {
         CloseSession(session);
         return medicalIndicationList;
     }
-
+   public Map<String,String> getIndLiang(Set<String> inds){
+       Map<String,String> kk = new HashMap<>();
+       String query = "";
+       Session session = null;
+       StatementResult result = null;
+       for (String ind:inds){
+           query = "match(i:Indicators)-[r:内容]->(c:Content) where i.name=\""+ind+"\" return c.name as name";
+           session = driver.session(AccessMode.WRITE);
+           result = session.run(query);
+           while (result.hasNext()) {
+               Record next1 = result.next();
+               String name = next1.get("name").toString();
+               kk.put(ind,name.replace("\"",""));
+           }
+       }
+       CloseSession(session);
+       return kk;
+   }
     public MangementEvaluation pushMe(String[] webDiagsplits, Map<String, Double> lis_Result) {
         MangementEvaluation mangementEvaluation = new MangementEvaluation();
         Map<String, JSONObject> mangementMap = new HashMap<>();