浏览代码

Merge remote-tracking branch 'origin/master'

zhaops 4 年之前
父节点
当前提交
728aae17c5

+ 9 - 23
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -46,7 +46,7 @@ public class MedRegNameNode {
         String drugname, drugform;
         List<Medicine> medicine;
         List<MedCodeName> medcdnames;
-        MedRegName medreg;
+//        MedRegName medreg;
 
         Long t1 = System.currentTimeMillis();
 
@@ -62,31 +62,17 @@ public class MedRegNameNode {
 
             if (null != medicine) {
                 for (Medicine med : medicine) {
-                    List<MedCodeName> MedCodeNames = medRepository.findMedCodeNamebyDosage(med.getName(), drugform);
-                        for (MedCodeName medcdnm : MedCodeNames) {
-                            for (MedCodeNameMedRegName medCodeMedReg : medcdnm.getMedCodeNameMedregnames()) {
-                                if (NeoUtil.isExist(medCodeMedReg)) {
-                                    medreg = medCodeMedReg.getMedRegName();
-                                    if (NeoUtil.isExist(medreg) && null != medreg.getRisklevel() && medreg.getRisklevel().trim().length() > 0) {
-                                        highRiskNeoDTO.setIsHighrisk(true);
-                                        highRiskNeoDTO.setHighLevel(medreg.getRisklevel());
-                                        highRiskNeoDTO.setType(Constants.yaoping);
-                                        highRiskNeoDTO.setForm(drugform);
-                                        highRiskNeoDTOS.add(highRiskNeoDTO);
-                                        break;
-                                    }
-                                }
-                            }
-                        }
-
-                        if (highRiskNeoDTO.getType() != null) {
+                    List<MedRegName> MedRegNames = medRepository.findMedCodeNamebyDosage(med.getName(), drugform);
+                    for (MedRegName medreg : MedRegNames) {
+                        if (NeoUtil.isExist(medreg) && null != medreg.getRisklevel() && medreg.getRisklevel().trim().length() > 0) {
+                            highRiskNeoDTO.setIsHighrisk(true);
+                            highRiskNeoDTO.setHighLevel(medreg.getRisklevel());
+                            highRiskNeoDTO.setType(Constants.yaoping);
+                            highRiskNeoDTO.setForm(drugform);
+                            highRiskNeoDTOS.add(highRiskNeoDTO);
                             break;
                         }
-
-                    if (highRiskNeoDTO.getType() != null) {
-                        break;
                     }
-
                 }
             }
         }

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

@@ -1,6 +1,7 @@
 package com.diagbot.repository;
 
 import com.diagbot.entity.node.MedCodeName;
+import com.diagbot.entity.node.MedRegName;
 import com.diagbot.entity.node.Medicine;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -26,8 +27,9 @@ public interface MedicineRepository extends Neo4jRepository<Medicine, Long> {
 
     Page<Medicine> findByNameContainingIgnoreCaseOrPycodeContainingIgnoreCase(String name, String pycode, Pageable pageable);
 
-    @Query("match (n:药品通用名称)<-[r]-(m:药品代码通用名) where n.name={name} and m.注册剂型={dosage} return m")
-    List<MedCodeName> findMedCodeNamebyDosage(@Param("name") String name, @Param("dosage") String dosage);
+    @Query("match (n:药品通用名称)<-[r]-(m:药品代码通用名)-[r1]->(o:药品注册名称) where n.name={name} and m.注册剂型={dosage} " +
+            "and r.状态=1 and r1.状态=1 return o")
+    List<MedRegName> findMedCodeNamebyDosage(@Param("name") String name, @Param("dosage") String dosage);
 
     @Query("MATCH (n:`药品通用名称`) WHERE n.`静态知识标识` = $isKL \n" +
             "AND (toLower(n.`name`) = toLower($name)  OR  toLower(n.`拼音编码`) = toLower($pycode))\n" +