Przeglądaj źródła

更新药品开单合理性的返回数据结构

MarkHuang 4 lat temu
rodzic
commit
0fafb1a1f7

+ 14 - 0
src/main/java/com/diagbot/dto/AgeNeoDTO.java

@@ -0,0 +1,14 @@
+package com.diagbot.dto;
+
+
+import lombok.Data;
+
+@Data
+public class AgeNeoDTO {
+
+    // 年龄最小值
+    private Integer minage;
+
+    // 年龄最大值
+    private Integer maxage;
+}

+ 3 - 0
src/main/java/com/diagbot/dto/BillNeoDTO.java

@@ -12,6 +12,9 @@ import java.util.List;
 @Data
 public class BillNeoDTO {
 
+    // 开单项目名称
+    String name;
+
     // 化验开单合理性项目
     List<LisBillNeoDTO> lisBillNeoDTOList;
 

+ 2 - 5
src/main/java/com/diagbot/dto/DrugBillNeoDTO.java

@@ -15,11 +15,8 @@ public class DrugBillNeoDTO {
     // 禁忌性别
     private String gender;
 
-    // 年龄最小值
-    private Integer minage;
-
-    // 年龄最大值
-    private Integer maxage;
+    // 禁忌年龄
+    private AgeNeoDTO ageNeoDTO;
 
     // 临床表现
     private List<String> clinicfindings = new ArrayList<>();

+ 26 - 0
src/main/java/com/diagbot/entity/node/Age.java

@@ -0,0 +1,26 @@
+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.Set;
+
+@Setter
+@Getter
+//@EqualsAndHashCode(callSuper = false)
+@NodeEntity(label = "年龄")
+public class Age extends BaseNode  {
+
+    @Property(name = "最大值")
+    private Integer maxval;
+
+    @Property(name = "最小值")
+    private Integer minval;
+
+    @Relationship(type="药品通用名禁忌年龄", direction = Relationship.INCOMING)
+    private Set<Medicine> medicines;
+}

+ 2 - 5
src/main/java/com/diagbot/entity/node/Medicine.java

@@ -18,11 +18,8 @@ import java.util.Set;
 @NodeEntity(label = "药品通用名")
 public class Medicine extends BaseNode implements Serializable {
 
-    @Relationship(type = "药品通用名禁忌年龄最小值", direction = Relationship.OUTGOING)
-    private AgeMin ageMin;
-
-    @Relationship(type = "药品通用名禁忌年龄最大值", direction = Relationship.OUTGOING)
-    private AgeMax agemax;
+    @Relationship(type = "药品通用名禁忌年龄", direction = Relationship.OUTGOING)
+    private Age age;
 
     @Relationship(type = "药品通用名禁忌性别", direction = Relationship.OUTGOING)
     private Gender gender;

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

@@ -47,13 +47,17 @@ public class NeoFacade {
      * @param billNeoVO
      * @return
      */
-    public BillNeoDTO getBillNeo(BillNeoVO billNeoVO) {
+    public List<BillNeoDTO> getBillNeo(BillNeoVO billNeoVO) {
 
-        BillNeoDTO billNeoDTO = new BillNeoDTO();
+        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
 
-        billNeoDTO.setDrugBillNeoDTOList(getDrugBill(billNeoVO.getDrugList()));
+        for (String medname : billNeoVO.getDrugList()) {
+            BillNeoDTO billNeoDTO = new BillNeoDTO();
+            billNeoDTO.setName(medname);
+            billNeoDTO.setDrugBillNeoDTOList(getDrugBill(medname));
+        }
 
-        return billNeoDTO;
+        return billNeoDTOs;
     }
 
 
@@ -61,23 +65,21 @@ public class NeoFacade {
     /**
      * 处理处方开单合理性
      */
-    public List<DrugBillNeoDTO> getDrugBill(List<String> meds) {
+    public List<DrugBillNeoDTO> getDrugBill(String medname) {
         List<DrugBillNeoDTO> drugBillNeoDTOS = new ArrayList<>();
         DrugBillNeoDTO drugBillNeoDTO;
 
         MedicineNode medicineNode = new MedicineNode();
         Medicine medicine;
 
-        for (String medname : meds) {
-            medicine = medicineRepository.findByNameIs(medname);
+        medicine = medicineRepository.findByNameIs(medname);
 
-            if (medicine!=null) {
-//                System.out.println(medicine.toString());
-                drugBillNeoDTO = medicineNode.MedicinetoDrugDTO(medicine);
-                drugBillNeoDTOS.add(drugBillNeoDTO);
-            }
-            break;
+        if (medicine!=null) {
+            drugBillNeoDTO = medicineNode.MedicinetoDrugDTO(medicine);
+            System.out.println(drugBillNeoDTO);
+            drugBillNeoDTOS.add(drugBillNeoDTO);
         }
+
         return drugBillNeoDTOS;
     }
 

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

@@ -1,5 +1,6 @@
 package com.diagbot.repository;
 
+import com.diagbot.dto.AgeNeoDTO;
 import com.diagbot.dto.DrugBillNeoDTO;
 import com.diagbot.entity.node.*;
 
@@ -12,7 +13,7 @@ public class MedicineNode {
     public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine) {
         DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
 
-
+        /*
         AgeMin ageMin = medicine.getAgeMin();
         String ageMin_val = (ageMin==null)?"":ageMin.getName();
         ageMin_val = ageMin_val.replace(age_ch, "").trim();
@@ -23,6 +24,15 @@ public class MedicineNode {
         String ageMax_val = (ageMax==null)?"":ageMax.getName();
         ageMax_val = ageMax_val.replace(age_ch, "").trim();
         drugBillNeoDTO.setMaxage(Integer.parseInt(ageMax_val));
+        */
+
+        Age age = medicine.getAge();
+        if (age!=null) {
+            AgeNeoDTO ageNeoDTO = new AgeNeoDTO();
+            ageNeoDTO.setMinage(age.getMinval());
+            ageNeoDTO.setMaxage(age.getMaxval());
+            drugBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
+        }
 
 
         Gender gender = medicine.getGender();