|
@@ -11,10 +11,7 @@ import org.diagbot.graph.jdbc.DriverManager;
|
|
|
import org.diagbot.graph.jdbc.Neo4jAPI;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
|
|
|
public class GraphCalculate {
|
|
|
public ResponseData calculate(HttpServletRequest request, SearchData searchData) throws Exception {
|
|
@@ -58,18 +55,53 @@ public class GraphCalculate {
|
|
|
featureRates.add(featureRate);
|
|
|
}
|
|
|
|
|
|
+ String webDiag = searchData.getDiag();
|
|
|
//走治疗
|
|
|
- if(searchData.getDiag().trim()!=null){
|
|
|
- String diag = searchData.getDiag();
|
|
|
- Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(diag, String.join(",", inputList));
|
|
|
+ if(webDiag.trim()!=null && Arrays.asList(searchData.getFeatureTypes()).contains('8')){
|
|
|
+ Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, String.join(",", inputList));
|
|
|
responseData.setTreat(mulDiseaseTreat);
|
|
|
- Map<String, List<FeatureRate>> lisPacs = neo4jAPI.getLisPacs(diag);
|
|
|
- responseData.setLabs(lisPacs.get("LIS"));
|
|
|
- responseData.setPacs(lisPacs.get("PACS"));
|
|
|
}
|
|
|
+
|
|
|
responseData.setGraphWords(graphWordfeatureRates);
|
|
|
responseData.setDis(featureRates);
|
|
|
responseData.setInputs(searchData.getInputs());
|
|
|
return responseData;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回LIS,PACS
|
|
|
+ * @param searchData
|
|
|
+ */
|
|
|
+ public ResponseData getLisPacs(HttpServletRequest request,SearchData searchData) throws Exception {
|
|
|
+ ResponseData responseData = new ResponseData();
|
|
|
+ Neo4jAPI neo4jAPI = new Neo4jAPI(DriverManager.newDrive());
|
|
|
+ String webDiag = searchData.getDiag();
|
|
|
+ List<String> webDiagList = Arrays.asList(webDiag.split(",|,|、"));
|
|
|
+ List<String> bigdataDiagList = searchData.getPushDiags();
|
|
|
+ for (String web: webDiagList ) {
|
|
|
+ for (String big: bigdataDiagList ) {
|
|
|
+ if(big.equals(web)){
|
|
|
+ bigdataDiagList.remove(big);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Set<FeatureRate>> weblisPacs = neo4jAPI.getLisPacs(webDiagList);
|
|
|
+ Map<String, Set<FeatureRate>> biglisPacs = neo4jAPI.getLisPacs(bigdataDiagList);
|
|
|
+ Set<FeatureRate> lis =null;
|
|
|
+ Set<FeatureRate> pacs =null;
|
|
|
+ //如果界面有诊断
|
|
|
+ if(webDiagList.size()>0){
|
|
|
+ lis = weblisPacs.get("LIS");
|
|
|
+ lis.addAll(biglisPacs.get("LIS"));
|
|
|
+ pacs = weblisPacs.get("PACS");
|
|
|
+ pacs.addAll(biglisPacs.get("PACS"));
|
|
|
+
|
|
|
+ }else {
|
|
|
+ lis=biglisPacs.get("LIS");
|
|
|
+ pacs=biglisPacs.get("PACS");
|
|
|
+ }
|
|
|
+ responseData.setLabs(new ArrayList<FeatureRate>(lis));
|
|
|
+ responseData.setPacs(new ArrayList<FeatureRate>(pacs));
|
|
|
+ return responseData;
|
|
|
+ }
|
|
|
}
|