Jelajahi Sumber

添加图谱科室查询的方法

MarkHuang 4 tahun lalu
induk
melakukan
2a73ea5d1e

+ 20 - 0
src/main/java/com/diagbot/dto/DeptInfoDTO.java

@@ -0,0 +1,20 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:Mark
+ * @time: 2020/8/17 11:28
+ */
+@Getter
+@Setter
+public class DeptInfoDTO {
+    /**
+     * 科室名称
+     */
+    private String name;
+}

+ 21 - 4
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -1,9 +1,6 @@
 package com.diagbot.facade;
 
-import com.diagbot.dto.DrugInfoDTO;
-import com.diagbot.dto.LisDetailDTO;
-import com.diagbot.dto.OperationInfoDTO;
-import com.diagbot.dto.RetrievalDTO;
+import com.diagbot.dto.*;
 import com.diagbot.repository.*;
 import com.diagbot.vo.RetrievalVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +34,9 @@ public class RetrievalFacade {
     @Autowired
     OperationRepository operationRepository;
 
+    @Autowired
+    DeptRepository deptRepository;
+
     /**
      * 检索
      *
@@ -65,6 +65,9 @@ public class RetrievalFacade {
             case 6:
                 retrievalDTO.setOperationNames(getOperations(retrievalVO.getInputStr()));
                 break;
+            case 7:
+                retrievalDTO.setDeptNames(getDepts(retrievalVO.getInputStr()));
+                break;
         }
 
         return retrievalDTO;
@@ -141,4 +144,18 @@ public class RetrievalFacade {
 
         return opslist;
     }
+
+
+    /*
+     * 获取科室名称列表
+     */
+    public List<String> getDepts(String name) {
+
+        DeptNode deptNode = new DeptNode();
+        List<String> deptlist = deptNode.getDeptNameList(name, deptRepository);
+
+        return deptlist;
+    }
+
+
 }

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

@@ -0,0 +1,40 @@
+package com.diagbot.repository;
+
+import com.diagbot.dto.BillNeoDTO;
+import com.diagbot.dto.DeptInfoDTO;
+import com.diagbot.dto.LisBillNeoDTO;
+import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.entity.node.*;
+import com.diagbot.util.NeoUtil;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class DeptNode {
+
+	/**
+	 * 获取科室名称列表
+	 */
+	public List<String> getDeptNameList(String name, DeptRepository deptRepository) {
+		String nodename;
+
+		List<String> deptlist = new ArrayList<>();
+
+		List<Dept> depts = deptRepository.findByNameLike("*"+name+"*");
+
+		for (Dept dept : depts) {
+			nodename = dept.getName();
+			if (!deptlist.contains(nodename)) {
+				deptlist.add(nodename);
+			}
+		}
+
+
+		return deptlist;
+	}
+
+}
+

+ 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> {
+
+    Dept findByNameIs(String name);
+
+    List<Dept> findByNameLike(String name);
+}
+