Browse Source

Merge remote-tracking branch 'origin/master'

MarkHuang 4 years ago
parent
commit
2bc0497d55

+ 0 - 2
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -89,9 +89,7 @@ public class RetrievalFacade {
                 retrievalDTO.setOperationNames(getOperations(retrievalVO.getInputStr()));
                 break;
             case 7:
-                //todo Mark 从图谱里搜索科室
                 retrievalDTO.setDeptNames(getDepts(retrievalVO.getInputStr()));
-//                retrievalDTO.setDeptNames(ListUtil.arrayToList(new String[] { "呼吸内科", "消化内科", "全科" }));
                 break;
             case 8:
                 retrievalDTO.setTransfusionNames(getTransfusion(retrievalVO.getInputStr()));

+ 1 - 1
src/main/java/com/diagbot/repository/BaseNodeRepository.java

@@ -31,7 +31,7 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
             " RETURN DISTINCT(m.name)+'::'+c.name")
     List<String> getMedJiePouClass();
 
-    @Query("match(s:症状) return distinct s.name")
+    @Query("match(s) where any(label in labels(s) where label in ['症状','体征']) return distinct s.name")
     List<String> getSymptomClass();
 
     @Query("match(d:医保疾病名称)-[r:医保疾病名称相关性别]->(h) return DISTINCT d.name+'&'+h.name")

+ 17 - 23
src/main/java/com/diagbot/repository/DeptNode.java

@@ -1,36 +1,30 @@
 package com.diagbot.repository;
 
-import com.diagbot.biz.push.entity.Lis;
-import com.diagbot.dto.*;
-import com.diagbot.entity.node.*;
+import com.diagbot.entity.node.Dept;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.NeoUtil;
-import com.diagbot.util.StringUtil;
-import com.diagbot.vo.CriticalNeoVO;
 
-import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 public class DeptNode {
 
-	/**
-	 * 获取科室名称列表
-	 */
-	public List<String> getDeptNameList(String name, DeptRepository deptRepository) {
+    /**
+     * 获取科室名称列表
+     */
+    public List<String> getDeptNameList(String name, DeptRepository deptRepository) {
 
-		List<String> deptlt = new ArrayList<>();
+        List<String> deptlt = new ArrayList<>();
 
-		List<Dept> deptlist = deptRepository.findByNameContaining(name);
-		if (ListUtil.isNotEmpty(deptlist) && deptlist.size() > 100) {
-			deptlist = deptlist.subList(0, 100);
-		}
+        List<Dept> deptlist = deptRepository.findByNameContaining(name);
+        if (ListUtil.isNotEmpty(deptlist) && deptlist.size() > 100) {
+            deptlist = deptlist.subList(0, 100);
+        }
 
-		for (Dept dept : deptlist) {
-			deptlt.add(dept.getName());
-		}
+        for (Dept dept : deptlist) {
+            deptlt.add(dept.getName());
+        }
 
-
-		return deptlt;
-	}
+        return deptlt;
+    }
 }
 

+ 4 - 0
src/main/java/com/diagbot/repository/LisNameRepository.java

@@ -3,6 +3,7 @@ package com.diagbot.repository;
 import com.diagbot.entity.node.LisName;
 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;
 
@@ -17,5 +18,8 @@ public interface LisNameRepository extends Neo4jRepository<LisName, Long> {
     List<List<String>> getKeys();
 
     List<LisName> findByNameIn(List<String> names);
+
+    @Query("MATCH (n:实验室检查名称)-[r]->(b) where n.name contains {name} return n, collect(r), collect(b) limit 100")
+    List<LisName> findByNameContaininglimit100(@Param("name") String name);
 }