소스 검색

优化症状推诊断

kongwz 4 년 전
부모
커밋
972bb614d7
2개의 변경된 파일9개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 4
      src/main/java/com/diagbot/facade/NeoFacade.java
  2. 5 0
      src/main/java/com/diagbot/repository/SymptomNameRepository.java

+ 4 - 4
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -250,8 +250,6 @@ public class NeoFacade {
         if(lisPushVo != null){
             List<Lis> lises = lisPushVo.getLises();
             if(ListUtil.isNotEmpty(lises)){
-                List<YiBaoDiseaseName> collect = lises.parallelStream()
-                        .map(x -> nodeRepository.getDisByLis(x.getUniqueName(), x.getDetailName())).collect(Collectors.toList());
                 List<String> lis_dis = lises.parallelStream()
                         .map(x -> nodeRepository.getDisByLis(x.getUniqueName(), x.getDetailName()))
                         .filter(z->z!=null && NeoUtil.matchBasic(z,sex,age)).map(z->z.getName())
@@ -322,6 +320,7 @@ public class NeoFacade {
         }
 
     public List<String> getDisByPacsResult(List<String> pacsResult,Double age,Integer sex){
+
         List<PacsResult> byNameIn = pacsResultRepository.findByNameIn(pacsResult);
         List<String> allDis = byNameIn.stream()
                 .map(z -> z.getDisease().stream().filter(o -> NeoUtil.matchBasic(o,sex,age)).map(y -> y.getName()).collect(Collectors.toList())).flatMap(List::stream)
@@ -339,10 +338,11 @@ public class NeoFacade {
      */
     public List<String> pushDisBySymptom(SymptomNameRepository symptomNameRepository,List<String> symptoms,Double age,Integer sex){
         List<String> allDis = Lists.newArrayList();
-        List<Symptom> byNameIn = symptomNameRepository.findByNameIn(symptoms);
+        /*List<Symptom> byNameIn = symptomNameRepository.findByNameIn(symptoms);
         allDis = byNameIn.parallelStream()
                 .map(z -> z.getDisease().stream().filter(o -> NeoUtil.matchBasic(o,sex,age)).map(y -> y.getName()).collect(Collectors.toList())).flatMap(List::stream)
-                .collect(Collectors.toList());
+                .collect(Collectors.toList());*/
+        allDis = symptomNameRepository.getDisBySymptoms(symptoms);
         return allDis;
     }
 

+ 5 - 0
src/main/java/com/diagbot/repository/SymptomNameRepository.java

@@ -1,7 +1,9 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.Symptom;
+import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -13,5 +15,8 @@ public interface SymptomNameRepository extends Neo4jRepository<Symptom, Long> {
     List<Symptom> findByNameIn(List<String> names);
 
     List<Symptom> findByNameContaining(String name);
+
+    @Query("match(d:医保疾病名称)-[r:医保疾病名称相关症状]->(s:症状) where s.name in {py} return d.name")
+    List<String> getDisBySymptoms(@Param("py")List<String> symptoms);
 }