Explorar o código

添加剂型限制

zhoutg %!s(int64=4) %!d(string=hai) anos
pai
achega
654d0472ee

+ 3 - 1
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -118,17 +118,19 @@ public class MedicineNode {
 
         List<MedRegName> medRegNames;
         String medname;
+        String form;
 
         for (Map<String, Drug> medsterm : medslist) {
             for (String term : medsterm.keySet()) {
                 billNeoDTO = new BillNeoDTO();
                 medname = medsterm.get(term).getUniqueName();
+                form = medsterm.get(term).getForm();
                 billNeoDTO.setName(term);
                 billNeoDTO.setStandname(medname);
 
                 drugBillNeoDTO = new DrugBillNeoDTO();
 
-                List<String> medRegNamels = medicineRepository.findMedRegNamebyMedicine(medname);
+                List<String> medRegNamels = medicineRepository.findMedRegNamebyMedicine(medname, form);
 
                 for (String mrnames : medRegNamels) {
                     medRegNames = medRegNameRepository.findByNameIs(mrnames);

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

@@ -22,8 +22,8 @@ public interface MedicineRepository extends Neo4jRepository<Medicine, Long> {
 
     List<Medicine> findByNameContainingOrPycodeContaining(String name, String pycode);
 
-    @Query("match (n:药品通用名称)<-[r1:药品相关药品通用名称]-(m:药品代码通用名)-[r2:药品相关药品注册名称]->(o:药品注册名称) where n.name={name} return distinct o.name")
-    List<String> findMedRegNamebyMedicine(@Param("name") String name);
+    @Query("match (n:药品通用名称)<-[r1:药品相关药品通用名称]-(m:药品代码通用名)-[r2:药品相关药品注册名称]->(o:药品注册名称) where n.name={name} and m.注册剂型={form} return distinct o.name")
+    List<String> findMedRegNamebyMedicine(@Param("name") String name, @Param("form") String form);
 
     Page<Medicine> findByNameContainingIgnoreCaseOrPycodeContainingIgnoreCase(String name, String pycode, Pageable pageable);