Prechádzať zdrojové kódy

添加根据拼音检索的方法

MarkHuang 4 rokov pred
rodič
commit
9483725d1c

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

@@ -27,4 +27,7 @@ public class BaseNode implements Serializable {
     @Property(name = "name")
     private String name;
 
+    @Property(name = "拼音编码")
+    private String pycode;
+
 }

+ 15 - 13
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -13,19 +13,7 @@ import com.diagbot.entity.node.PacsName;
 import com.diagbot.entity.node.YiBaoDiseaseName;
 import com.diagbot.entity.node.YiBaoOperationName;
 import com.diagbot.enums.StaticTypeEnum;
-import com.diagbot.repository.LisNameNode;
-import com.diagbot.repository.LisNameRepository;
-import com.diagbot.repository.LisSetNode;
-import com.diagbot.repository.LisSetRepository;
-import com.diagbot.repository.MedicineNode;
-import com.diagbot.repository.MedicineRepository;
-import com.diagbot.repository.PacsNameNode;
-import com.diagbot.repository.PacsNameRepository;
-import com.diagbot.repository.TransfusionRemindRepository;
-import com.diagbot.repository.YiBaoDiseaseNode;
-import com.diagbot.repository.YiBaoDiseaseRepository;
-import com.diagbot.repository.YiBaoOperationNameNode;
-import com.diagbot.repository.YiBaoOperationNameRepository;
+import com.diagbot.repository.*;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.RetrievalVO;
@@ -66,6 +54,8 @@ public class RetrievalFacade {
     @Autowired
     TransfusionRemindRepository transfusionRemindRepository;
 
+    @Autowired
+    BaseNodeRepository baseNodeRepository;
 
     /**
      * 检索
@@ -103,6 +93,9 @@ public class RetrievalFacade {
             case 8:
                 retrievalDTO.setTransfusionNames(getTransfusion(retrievalVO.getInputStr()));
                 break;
+            case 9:
+                List<String> name = getNamebyPinYin(retrievalVO.getInputStr());
+                break;
         }
 
         return retrievalDTO;
@@ -190,6 +183,15 @@ public class RetrievalFacade {
         return transfusionNames;
     }
 
+    /*
+     * 按拼音获取名称列表
+     */
+    public List<String> getNamebyPinYin(String pycode) {
+        List<String> namelist = baseNodeRepository.getNamebyPinYin(pycode);
+
+        return namelist;
+    }
+
 
     /*
      * 获取科室名称列表

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

@@ -4,6 +4,7 @@ package com.diagbot.repository;
 import com.diagbot.entity.node.base.BaseNode;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -41,4 +42,7 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
 
     @Query("match(d:医保疾病名称)-[r:医保疾病名称相关发病率]->(h) return DISTINCT d.name+'&'+h.name")
     List<String> getDisdistributionClass();
+
+    @Query("MATCH (n) WHERE EXISTS(n.拼音编码) AND n.拼音编码={py} RETURN n.name")
+    List<String> getNamebyPinYin(@Param("py") String pycode);
 }