Преглед на файлове

添加科室名称检索的方法

MarkHuang преди 4 години
родител
ревизия
57b3266228

+ 22 - 0
src/main/java/com/diagbot/entity/node/Dept.java

@@ -0,0 +1,22 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Relationship;
+
+import java.util.HashSet;
+import java.util.Set;
+
+@Setter
+@Getter
+@NodeEntity(label = "科室")
+public class Dept extends BaseNode  {
+
+
+	@Relationship(type = "医保疾病名称相关科室", direction = Relationship.INCOMING)
+	private Set<YiBaoDiseaseName> disease = new HashSet<>();
+
+}

+ 6 - 6
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -57,6 +57,9 @@ public class RetrievalFacade {
     @Autowired
     BaseNodeRepository baseNodeRepository;
 
+    @Autowired
+    DeptRepository deptRepository;
+
     /**
      * 检索
      *
@@ -87,15 +90,12 @@ public class RetrievalFacade {
                 break;
             case 7:
                 //todo Mark 从图谱里搜索科室
-                //retrievalDTO.setDeptNames(getDepts(retrievalVO.getInputStr()));
-                retrievalDTO.setDeptNames(ListUtil.arrayToList(new String[] { "呼吸内科", "消化内科", "全科" }));
+                retrievalDTO.setDeptNames(getDepts(retrievalVO.getInputStr()));
+//                retrievalDTO.setDeptNames(ListUtil.arrayToList(new String[] { "呼吸内科", "消化内科", "全科" }));
                 break;
             case 8:
                 retrievalDTO.setTransfusionNames(getTransfusion(retrievalVO.getInputStr()));
                 break;
-            case 9:
-                List<String> name = getNamebyPinYin(retrievalVO.getInputStr());
-                break;
         }
 
         return retrievalDTO;
@@ -195,7 +195,7 @@ public class RetrievalFacade {
 
     /*
      * 获取科室名称列表
-     *
+     */
     public List<String> getDepts(String name) {
 
         DeptNode deptNode = new DeptNode();

+ 36 - 0
src/main/java/com/diagbot/repository/DeptNode.java

@@ -0,0 +1,36 @@
+package com.diagbot.repository;
+
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.dto.*;
+import com.diagbot.entity.node.*;
+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.*;
+
+public class DeptNode {
+
+	/**
+	 * 获取科室名称列表
+	 */
+	public List<String> getDeptNameList(String name, DeptRepository deptRepository) {
+
+		List<String> deptlt = new ArrayList<>();
+
+		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());
+		}
+
+
+		return deptlt;
+	}
+}
+

+ 15 - 0
src/main/java/com/diagbot/repository/DeptRepository.java

@@ -0,0 +1,15 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.Dept;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+import java.util.List;
+
+
+public interface DeptRepository extends Neo4jRepository<Dept, Long> {
+
+    List<Dept> findByNameContaining(String name);
+
+    List<Dept> findByNameIs(String name);
+}
+