|
@@ -1283,12 +1283,13 @@ public class Neo4jAPI {
|
|
|
* @param diseases
|
|
|
* @return
|
|
|
*/
|
|
|
- public Map<String, Set<FeatureRate>> getLisPacs(List<String> diseases) {
|
|
|
+ public Map<String, Set<String>> getLisPacs(List<String> diseases) {
|
|
|
Session session = null;
|
|
|
StatementResult result = null;
|
|
|
String serchLisPacs = propertiesUtil.getProperty("serchLisPacs");
|
|
|
String query = null;
|
|
|
Map<String, Set<FeatureRate>> lisPacsMap = new HashMap<>();
|
|
|
+ Map<String, Set<String>> lisPacsMap1 = new HashMap<>();
|
|
|
List<String> diseaseList = new ArrayList<>();//诊断数组
|
|
|
for (String dis : diseases) {
|
|
|
diseaseList.add("\"" + dis + "\"");
|
|
@@ -1297,57 +1298,54 @@ public class Neo4jAPI {
|
|
|
session = driver.session(AccessMode.WRITE);
|
|
|
List<FeatureRate> lisList = new ArrayList<>();
|
|
|
List<FeatureRate> pacsList = new ArrayList<>();
|
|
|
+ List<String> lisArray = new ArrayList<>();
|
|
|
+ List<String> pacsArray = new ArrayList<>();
|
|
|
query = serchLisPacs.replace("diseaseNmae", diseaseList.toString());
|
|
|
System.out.println(query);
|
|
|
result = session.run(query);
|
|
|
while (result.hasNext()) {
|
|
|
- FeatureRate featureRate = new FeatureRate();
|
|
|
Record next = result.next();
|
|
|
String lei = next.get("lei").toString().replaceAll("\"", "");
|
|
|
String name = next.get("n").toString().replaceAll("\"", "");
|
|
|
String subLis = next.get("lr").toString().replaceAll("\"", "");
|
|
|
if ("LIS".equals(lei)) {
|
|
|
- featureRate.setFeatureName(name);
|
|
|
- if (!lisList.contains(featureRate)) {
|
|
|
- lisList.add(featureRate);
|
|
|
- }
|
|
|
+ lisArray.add(name);
|
|
|
} else if ("PACS".equals(lei)) {
|
|
|
- featureRate.setFeatureName(name);
|
|
|
- if (!pacsList.contains(featureRate)) {
|
|
|
- pacsList.add(featureRate);
|
|
|
- }
|
|
|
+ pacsArray.add(name);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- lisPacsMap.put("LIS", processList(lisList));
|
|
|
- lisPacsMap.put("PACS", processList(pacsList));
|
|
|
+// lisPacsMap.put("LIS", processList(lisList));
|
|
|
+// lisPacsMap.put("PACS", processList(pacsList));
|
|
|
+ lisPacsMap1.put("LIS",processList(lisArray));
|
|
|
+ lisPacsMap1.put("PACS",processList(pacsArray));
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
|
|
|
} finally {
|
|
|
CloseSession(session);
|
|
|
- return lisPacsMap;
|
|
|
+ return lisPacsMap1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public Set<FeatureRate> processList(List<FeatureRate> list) {
|
|
|
- Set<FeatureRate> resultSet = new LinkedHashSet<>();
|
|
|
- Map<FeatureRate, Integer> featuerInt = new HashMap<FeatureRate, Integer>();
|
|
|
- for (FeatureRate d : list) {
|
|
|
+ public Set<String> processList(List<String> list) {
|
|
|
+ Set<String> resultSet = new LinkedHashSet<>();
|
|
|
+ Map<String, Integer> featuerInt = new HashMap<String, Integer>();
|
|
|
+ for (String d : list) {
|
|
|
if (featuerInt.containsKey(d)) {
|
|
|
featuerInt.put(d, featuerInt.get(d) + 1);
|
|
|
} else {
|
|
|
featuerInt.put(d, 1);
|
|
|
}
|
|
|
}
|
|
|
- List<Map.Entry<FeatureRate, Integer>> reslist = new ArrayList<Map.Entry<FeatureRate, Integer>>(featuerInt.entrySet());
|
|
|
- Collections.sort(reslist, new Comparator<Map.Entry<FeatureRate, Integer>>() {
|
|
|
+ List<Map.Entry<String, Integer>> reslist = new ArrayList<Map.Entry<String, Integer>>(featuerInt.entrySet());
|
|
|
+ Collections.sort(reslist, new Comparator<Map.Entry<String, Integer>>() {
|
|
|
@Override
|
|
|
- public int compare(Map.Entry<FeatureRate, Integer> o1, Map.Entry<FeatureRate, Integer> o2) {
|
|
|
+ public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
|
|
|
return o2.getValue().compareTo(o1.getValue());
|
|
|
}
|
|
|
});
|
|
|
- for (Map.Entry<FeatureRate, Integer> f : reslist
|
|
|
+ for (Map.Entry<String, Integer> f : reslist
|
|
|
) {
|
|
|
//排好序的set
|
|
|
resultSet.add(f.getKey());
|