Browse Source

获取图谱标准药瓶和手术操作名称的模糊查询列表

MarkHuang 4 years ago
parent
commit
4e3504f59f

+ 43 - 5
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -1,5 +1,7 @@
 package com.diagbot.facade;
 
+import com.diagbot.dto.DrugInfoDTO;
+import com.diagbot.dto.OperationInfoDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.repository.*;
 import com.diagbot.vo.RetrievalVO;
@@ -25,6 +27,12 @@ public class RetrievalFacade {
     @Autowired
     PacsRepository pacsRepository;
 
+    @Autowired
+    MedicineRepository medicineRepository;
+
+    @Autowired
+    OperationRepository operationRepository;
+
     /**
      * 检索
      *
@@ -44,6 +52,12 @@ public class RetrievalFacade {
             case 4:
                 retrievalDTO.setDiseaseNames(getDiseases(retrievalVO.getInputStr()));
                 break;
+            case 5:
+                retrievalDTO.setDrugNames(getMedicines(retrievalVO.getInputStr()));
+                break;
+            case 6:
+                retrievalDTO.setOperationNames(getOperations(retrievalVO.getInputStr()));
+                break;
         }
 
         return retrievalDTO;
@@ -62,6 +76,18 @@ public class RetrievalFacade {
     }
 
 
+    /*
+     * 获取辅检名称列表
+     */
+    public List<String> getPACSs(String name) {
+
+        PACSNode pacsNode = new PACSNode();
+        List<String> pacslist = pacsNode.getPACSNameList(name,pacsRepository);
+
+        return pacslist;
+    }
+
+
     /*
      * 获取疾病名称列表
      */
@@ -75,13 +101,25 @@ public class RetrievalFacade {
 
 
     /*
-     * 获取辅检名称列表
+     * 获取药品商品名称列表
      */
-    public List<String> getPACSs(String name) {
+    public List<DrugInfoDTO> getMedicines(String name) {
 
-        PACSNode pacsNode = new PACSNode();
-        List<String> pacslist = pacsNode.getPACSNameList(name,pacsRepository);
+        MedicineNode medicineNode = new MedicineNode();
+        List<DrugInfoDTO> medslist = medicineNode.getMedicineList(name,medicineRepository);
 
-        return pacslist;
+        return medslist;
+    }
+
+
+    /*
+     * 获取手术和操作名称列表
+     */
+    public List<OperationInfoDTO> getOperations(String name) {
+
+        OperationNode operationNode = new OperationNode();
+        List<OperationInfoDTO> opslist = operationNode.getOperationList(name,operationRepository);
+
+        return opslist;
     }
 }

+ 4 - 4
src/main/java/com/diagbot/repository/LisPackNode.java

@@ -132,16 +132,16 @@ public class LisPackNode {
 	 * 获取化验套餐名称列表
 	 */
 	public List<String> getLISPackNameList(String name, LisPackRepository lisPackRepository) {
-		String icdname;
+		String nodename;
 
 		List<String> lispacklist = new ArrayList<>();
 
 		List<LISPack> lisPacks = lisPackRepository.findByNameLike("*"+name+"*");
 
 		for (LISPack lisPack : lisPacks) {
-			icdname = lisPack.getName();
-			if (!lispacklist.contains(icdname)) {
-				lispacklist.add(icdname);
+			nodename = lisPack.getName();
+			if (!lispacklist.contains(nodename)) {
+				lispacklist.add(nodename);
 			}
 		}
 

+ 29 - 0
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -2,6 +2,7 @@ package com.diagbot.repository;
 
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.DrugBillNeoDTO;
+import com.diagbot.dto.DrugInfoDTO;
 import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.entity.node.*;
 import com.diagbot.util.NeoUtil;
@@ -118,6 +119,8 @@ public class MedicineNode {
         return drugBillNeoDTO;
     }
 
+
+
     /**
      * 处理处方开单合理性
      */
@@ -152,5 +155,31 @@ public class MedicineNode {
 
         return billNeoDTOs;
     }
+
+
+
+    /**
+     * 获取药品商品名称列表
+     */
+    public List<DrugInfoDTO> getMedicineList(String name, MedicineRepository medicineRepository) {
+        String nodename;
+
+        List<DrugInfoDTO> medslist = new ArrayList<>();
+        DrugInfoDTO drugInfoDTO;
+
+        List<Medicine> medicines = medicineRepository.findByNameLike("*"+name+"*");
+
+        for (Medicine med : medicines) {
+            drugInfoDTO = new DrugInfoDTO();
+            nodename = med.getName();
+
+            drugInfoDTO.setName(nodename);
+            medslist.add(drugInfoDTO);
+        }
+
+
+        return medslist;
+    }
+
 }
 

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

@@ -3,9 +3,13 @@ package com.diagbot.repository;
 import com.diagbot.entity.node.Medicine;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
 
+import java.util.List;
+
 
 public interface MedicineRepository extends Neo4jRepository<Medicine, Long> {
 
     Medicine findByNameIs(String name);
+
+    List<Medicine> findByNameLike(String name);
 }
 

+ 35 - 0
src/main/java/com/diagbot/repository/OperationNode.java

@@ -0,0 +1,35 @@
+package com.diagbot.repository;
+
+
+import com.diagbot.dto.OperationInfoDTO;
+import com.diagbot.entity.node.Operation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class OperationNode {
+
+    /**
+     * 获取药品商品名称列表
+     */
+    public List<OperationInfoDTO> getOperationList(String name, OperationRepository operationRepository) {
+        String nodename;
+
+        List<OperationInfoDTO> opslist = new ArrayList<>();
+        OperationInfoDTO opInfoDTO;
+
+        List<Operation> operations = operationRepository.findByNameLike("*"+name+"*");
+
+        for (Operation op : operations) {
+            opInfoDTO = new OperationInfoDTO();
+            nodename = op.getName();
+
+            opInfoDTO.setName(nodename);
+            opslist.add(opInfoDTO);
+        }
+
+
+        return opslist;
+    }
+
+}

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

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