فهرست منبع

获取图谱标准化验细项的模糊查询列表

MarkHuang 4 سال پیش
والد
کامیت
fd575a1217

+ 3 - 0
src/main/java/com/diagbot/entity/node/LIS.java

@@ -29,6 +29,9 @@ public class LIS extends BaseNode  {
     @Property(name = "单位")
     private String unit;
 
+    @Relationship(type="实验室检查项目相关套餐", direction = Relationship.OUTGOING)
+    private Set<LISPack> lisPacks = new HashSet<>();
+
     @Relationship(type="实验室检查禁忌性别", direction = Relationship.OUTGOING)
     private Gender gender;
 

+ 3 - 0
src/main/java/com/diagbot/entity/node/LISPack.java

@@ -70,6 +70,9 @@ public class LISPack extends BaseNode  {
     @Relationship(type="医保ICD-10疾病相关实验室检查套餐", direction = Relationship.INCOMING)
     private Set<Disease> icddis_related_lispack = new HashSet<>();
 
+    @Relationship(type="实验室检查项目相关套餐", direction = Relationship.INCOMING)
+    private Set<LIS> lis_related_lisPack = new HashSet<>();
+
 }
 
 

+ 20 - 1
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -1,6 +1,7 @@
 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.repository.*;
@@ -21,6 +22,9 @@ public class RetrievalFacade {
     @Autowired
     LisPackRepository lisPackRepository;
 
+    @Autowired
+    LisRepository lisRepository;
+
     @Autowired
     ICDDiseaseRepository icdDiseaseRepository;
 
@@ -46,6 +50,9 @@ public class RetrievalFacade {
             case 1:
                 retrievalDTO.setLisNames(getLisPacks(retrievalVO.getInputStr()));
                 break;
+            case 2:
+                retrievalDTO.setLisDetailNames(getLis(retrievalVO.getInputStr()));
+                break;
             case 3:
                 retrievalDTO.setPacsNames(getPACSs(retrievalVO.getInputStr()));
                 break;
@@ -65,7 +72,7 @@ public class RetrievalFacade {
 
 
     /*
-     * 获取疾病名称列表
+     * 获取化验套餐名称列表
      */
     public List<String> getLisPacks(String name) {
 
@@ -76,6 +83,18 @@ public class RetrievalFacade {
     }
 
 
+    /*
+     * 获取化验细项名称列表
+     */
+    public List<LisDetailDTO> getLis(String name) {
+
+        LisNode lisNode = new LisNode();
+        List<LisDetailDTO> lislist = lisNode.getLisDetailList(name,lisRepository);
+
+        return lislist;
+    }
+
+
     /*
      * 获取辅检名称列表
      */

+ 31 - 3
src/main/java/com/diagbot/repository/LisNode.java

@@ -1,8 +1,6 @@
 package com.diagbot.repository;
 
-import com.diagbot.dto.BillNeoDTO;
-import com.diagbot.dto.LisBillNeoDTO;
-import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.dto.*;
 import com.diagbot.entity.node.*;
 import com.diagbot.util.NeoUtil;
 
@@ -134,5 +132,35 @@ public class LisNode {
 
 		return billNeoDTOs;
 	}
+
+
+
+	/**
+	 * 获取化验细项名称列表
+	 */
+	public List<LisDetailDTO> getLisDetailList(String name, LisRepository lisRepository) {
+		String nodename;
+
+		List<LisDetailDTO> lislist = new ArrayList<>();
+		LisDetailDTO lisDetailDTO;
+
+		List<LIS> lislt = lisRepository.findByNameLike("*"+name+"*");
+
+		for (LIS lis: lislt) {
+			lisDetailDTO = new LisDetailDTO();
+			nodename = lis.getName();
+			lisDetailDTO.setUniqueName(nodename);
+
+			if (lis.getLisPacks().size()>0) {
+				List<LISPack> lispacklist = new ArrayList<>(lis.getLisPacks());
+				lisDetailDTO.setName(lispacklist.get(0).getName());
+			}
+
+			lislist.add(lisDetailDTO);
+		}
+
+
+		return lislist;
+	}
 }
 

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

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