|
@@ -370,6 +370,11 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
return responseData;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取化验和辅检
|
|
|
+ * @param searchData
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public Map<String, List<FeatureRate>> getLisPacs(SearchData searchData) {
|
|
|
String[] featureArray = StringUtils.split(searchData.getFeatureType(), ",");
|
|
@@ -381,11 +386,12 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
webDiagList = Arrays.asList(webDiag.split(",|,|、"));
|
|
|
}
|
|
|
List<FeatureRate> bigdataDiagFeature = searchData.getPushDiags();
|
|
|
- List<String> bigdataDiagList = new LinkedList<>();
|
|
|
+ List<String> neo4jDiagList = new LinkedList<>();//疑似诊断
|
|
|
+ List<String> bigdataDiagList = new LinkedList<>();//大数据诊断
|
|
|
if (bigdataDiagFeature.size() > 0) {
|
|
|
for (FeatureRate fe : bigdataDiagFeature) {
|
|
|
if ("neo4j".equals(fe.getRate()) && fe.getDesc().contains("确诊")) {
|
|
|
- bigdataDiagList.add(fe.getFeatureName());
|
|
|
+ neo4jDiagList.add(fe.getFeatureName());
|
|
|
logger.info("图谱推出的诊断为: " + fe.getFeatureName());
|
|
|
} else if (fe.getDesc() == null) {
|
|
|
bigdataDiagList.add(fe.getFeatureName());
|
|
@@ -400,14 +406,23 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
bigdataDiagList.remove(bigdataDiagList.get(i));
|
|
|
}
|
|
|
}
|
|
|
+ for (int i = 0; i < neo4jDiagList.size(); i++) {
|
|
|
+ if (neo4jDiagList.get(i).equals(web)) {
|
|
|
+ neo4jDiagList.remove(bigdataDiagList.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
logger.info("界面诊断为: " + webDiagList);
|
|
|
Map<String, Set<String>> weblisPacs = null;
|
|
|
+ Map<String, Set<String>> neo4jlisPacs = null;
|
|
|
Map<String, Set<String>> biglisPacs = null;
|
|
|
if (webDiagList != null && webDiagList.size() > 0) {
|
|
|
weblisPacs = processLisPacs(webDiagList);
|
|
|
}
|
|
|
+ if (neo4jDiagList != null && neo4jDiagList.size() > 0) {
|
|
|
+ neo4jlisPacs = processLisPacs(neo4jDiagList);
|
|
|
+ }
|
|
|
if (bigdataDiagList != null && bigdataDiagList.size() > 0) {
|
|
|
biglisPacs = processLisPacs(bigdataDiagList);
|
|
|
}
|
|
@@ -419,17 +434,36 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
pacs = weblisPacs.get("PACS");
|
|
|
logger.info("界面有诊断的情况下,界面诊断推出的lis为: " + lis);
|
|
|
logger.info("界面有诊断的情况下,界面诊断推出的pacs为: " + pacs);
|
|
|
+ if (neo4jlisPacs != null && neo4jlisPacs.values().size() > 0) {
|
|
|
+ Set<String> bl = neo4jlisPacs.get("LIS");
|
|
|
+ Set<String> bp = neo4jlisPacs.get("PACS");
|
|
|
+ logger.info("疑诊推出的lis为: " + bl);
|
|
|
+ logger.info("疑诊推出的pacs为: " + bp);
|
|
|
+ lis.addAll(bl);
|
|
|
+ pacs.addAll(bp);
|
|
|
+ }
|
|
|
if (biglisPacs != null && biglisPacs.values().size() > 0) {
|
|
|
Set<String> bl = biglisPacs.get("LIS");
|
|
|
Set<String> bp = biglisPacs.get("PACS");
|
|
|
- logger.info("疑诊和可能诊断推出的lis为: " + bl);
|
|
|
- logger.info("疑诊和可能诊断推出的pacs为: " + bp);
|
|
|
+ logger.info("可能诊断推出的lis为: " + bl);
|
|
|
+ logger.info("可能诊断推出的pacs为: " + bp);
|
|
|
lis.addAll(bl);
|
|
|
pacs.addAll(bp);
|
|
|
}
|
|
|
- } else if (biglisPacs != null) {
|
|
|
- lis = biglisPacs.get("LIS");
|
|
|
- pacs = biglisPacs.get("PACS");
|
|
|
+ } else if (neo4jlisPacs != null || biglisPacs != null) {
|
|
|
+ lis = new HashSet<>();
|
|
|
+ pacs = new HashSet<>();
|
|
|
+ if(neo4jlisPacs != null){
|
|
|
+ Set<String> neo4jLis = neo4jlisPacs.get("LIS");
|
|
|
+ Set<String> neo4jpacs = neo4jlisPacs.get("PACS");
|
|
|
+ lis.addAll(neo4jLis);
|
|
|
+ pacs.addAll(neo4jpacs);
|
|
|
+ }else if(biglisPacs != null){
|
|
|
+ Set<String> biglis = biglisPacs.get("LIS");
|
|
|
+ Set<String> bigpacs = biglisPacs.get("PACS");
|
|
|
+ lis.addAll(biglis);
|
|
|
+ pacs.addAll(bigpacs);
|
|
|
+ }
|
|
|
logger.info("界面无诊断的情况下,推出诊断的lis为: " + lis);
|
|
|
logger.info("界面无诊断的情况下,推出诊断的lis为: " + pacs);
|
|
|
}
|