Parcourir la source

添加图谱输血内容的检索功能

MarkHuang il y a 4 ans
Parent
commit
bb646c2c19

+ 33 - 0
src/main/java/com/diagbot/entity/node/TransfusionRemind.java

@@ -0,0 +1,33 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+import org.neo4j.ogm.annotation.Relationship;
+
+import java.util.HashSet;
+import java.util.Set;
+
+@Setter
+@Getter
+@NodeEntity(label = "输血提醒指标")
+public class TransfusionRemind extends BaseNode  {
+
+	@Property(name = "单位")
+	private String unit;
+
+	@Property(name = "最小值")
+	private Double minval;
+
+	@Property(name = "最大值")
+	private Double maxval;
+
+	@Property(name = "指标标签")
+	private String node_label;
+
+	@Property(name = "输注类型")
+    private String transfusion_type;
+
+}

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

@@ -43,6 +43,9 @@ public class RetrievalFacade {
     @Autowired
     YiBaoOperationNameRepository operationRepository;
 
+    @Autowired
+    TransfusionRemindRepository transfusionRemindRepository;
+
 
     /**
      * 检索
@@ -78,8 +81,7 @@ public class RetrievalFacade {
                 retrievalDTO.setDeptNames(ListUtil.arrayToList(new String[] { "呼吸内科", "消化内科", "全科" }));
                 break;
             case 8:
-                //todo Mark 从图谱里搜索输血类型
-                retrievalDTO.setTransfusionNames(ListUtil.arrayToList(new String[] { "输血1", "输血2" }));
+                retrievalDTO.setTransfusionNames(getTransfusion("输注" ));
                 break;
         }
 
@@ -159,6 +161,14 @@ public class RetrievalFacade {
     }
 
 
+    /*
+     * 获取输血方式列表
+     */
+    public List<String> getTransfusion(String name) {
+        return transfusionRemindRepository.findTransfusionByName(name);
+    }
+
+
     /*
      * 获取科室名称列表
      *

+ 20 - 0
src/main/java/com/diagbot/repository/TransfusionRemindRepository.java

@@ -0,0 +1,20 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.TransfusionRemind;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+import java.util.List;
+
+
+public interface TransfusionRemindRepository extends Neo4jRepository<TransfusionRemind, Long> {
+
+    List<TransfusionRemind> findByNameIs(String name);
+
+    List<TransfusionRemind> findByNameContaining(String name);
+
+    @Query("MATCH (n:输血提醒指标) where n.输注类型 contains {name} return distinct(n.输注类型)")
+    List<String> findTransfusionByName(String name);
+
+}
+