Browse Source

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

MarkHuang 4 years ago
parent
commit
12a0fe5884

+ 4 - 4
src/main/java/com/diagbot/dto/BillNeoDTO.java

@@ -13,14 +13,14 @@ import java.util.List;
 public class BillNeoDTO {
 
     // 开单项目名称
-    String name;
+    private String name;
 
     // 化验开单合理性项目
-    List<LisBillNeoDTO> lisBillNeoDTOList;
+    private LisBillNeoDTO lisBillNeoDTO;
 
     // 辅检开单合理性项目
-    List<PacsBillNeoDTO> pacsBillNeoDTOList;
+    private PacsBillNeoDTO pacsBillNeoDTO;
 
     // 药品开单合理性项目
-    List<DrugBillNeoDTO> drugBillNeoDTOList;
+    private DrugBillNeoDTO drugBillNeoDTO;
 }

+ 4 - 2
src/main/java/com/diagbot/dto/RangeNeoDTO.java

@@ -3,14 +3,16 @@ package com.diagbot.dto;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class RangeNeoDTO {
 
     // 最小值
-    private Double min;
+    private BigDecimal min;
 
     // 最大值
-    private Double max;
+    private BigDecimal max;
 
     // 单位
     private String unit;

+ 12 - 14
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -71,7 +71,7 @@ public class NeoFacade {
      * 处理处方开单合理性
      */
     public List<BillNeoDTO> getDrugBill(List<String> meds) {
-        List<BillNeoDTO> billNeoDTOS = new ArrayList<>();
+        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
         BillNeoDTO billNeoDTO;
 
         DrugBillNeoDTO drugBillNeoDTO;
@@ -82,22 +82,21 @@ public class NeoFacade {
         for (String medname : meds) {
             billNeoDTO = new BillNeoDTO();
             billNeoDTO.setName(medname);
-            List<DrugBillNeoDTO> drugBillNeoDTOs = new ArrayList<>();
+
+            drugBillNeoDTO = new DrugBillNeoDTO();
 
             medicine = medicineRepository.findByNameIs(medname);
 
             if (medicine!=null) {
                 drugBillNeoDTO = medicineNode.MedicinetoDrugDTO(medicine);
-
-                drugBillNeoDTOs.add(drugBillNeoDTO);
             }
 
-            billNeoDTO.setDrugBillNeoDTOList(drugBillNeoDTOs);
+            billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
 
-            billNeoDTOS.add(billNeoDTO);
+            billNeoDTOs.add(billNeoDTO);
         }
 
-        return billNeoDTOS;
+        return billNeoDTOs;
     }
 
 
@@ -105,7 +104,7 @@ public class NeoFacade {
      * 处理辅检开单合理性
      */
     public List<BillNeoDTO> getPacsBill(List<String> pacslist) {
-        List<BillNeoDTO> billNeoDTOS = new ArrayList<>();
+        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
         BillNeoDTO billNeoDTO;
 
         PacsBillNeoDTO pacsBillNeoDTO;
@@ -116,22 +115,21 @@ public class NeoFacade {
         for (String pacsname : pacslist) {
             billNeoDTO = new BillNeoDTO();
             billNeoDTO.setName(pacsname);
-            List<PacsBillNeoDTO> pacsBillNeoDTOS = new ArrayList<>();
+
+            pacsBillNeoDTO = new PacsBillNeoDTO();
 
             pacs = pacsRepository.findByNameIs(pacsname);
 
             if (pacs!=null) {
                 pacsBillNeoDTO = pacsNode.PacstoPACSDTO(pacs);
-
-                pacsBillNeoDTOS.add(pacsBillNeoDTO);
             }
 
-            billNeoDTO.setPacsBillNeoDTOList(pacsBillNeoDTOS);
+            billNeoDTO.setPacsBillNeoDTO(pacsBillNeoDTO);
 
-            billNeoDTOS.add(billNeoDTO);
+            billNeoDTOs.add(billNeoDTO);
         }
 
-        return billNeoDTOS;
+        return billNeoDTOs;
     }
 
 

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

@@ -4,6 +4,7 @@ import com.diagbot.dto.DrugBillNeoDTO;
 import com.diagbot.dto.RangeNeoDTO;
 import com.diagbot.entity.node.*;
 
+import java.math.BigDecimal;
 import java.util.Set;
 
 public class MedicineNode {
@@ -15,8 +16,8 @@ public class MedicineNode {
         Age age = medicine.getAge();
         if (age!=null) {
             RangeNeoDTO ageNeoDTO = new RangeNeoDTO();
-            ageNeoDTO.setMin(Double.valueOf(age.getMinval()));
-            ageNeoDTO.setMax(Double.valueOf(age.getMaxval()));
+            ageNeoDTO.setMin(BigDecimal.valueOf(age.getMinval()));
+            ageNeoDTO.setMax(BigDecimal.valueOf(age.getMaxval()));
             drugBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
         }
 

+ 5 - 4
src/main/java/com/diagbot/repository/PACSNode.java

@@ -4,6 +4,7 @@ import com.diagbot.dto.PacsBillNeoDTO;
 import com.diagbot.dto.RangeNeoDTO;
 import com.diagbot.entity.node.*;
 
+import java.math.BigDecimal;
 import java.util.Set;
 
 public class PACSNode {
@@ -14,8 +15,8 @@ public class PACSNode {
         Age age = pacs.getAge();
         if (age!=null) {
             RangeNeoDTO ageNeoDTO = new RangeNeoDTO();
-            ageNeoDTO.setMin(Double.valueOf(age.getMinval()));
-            ageNeoDTO.setMax(Double.valueOf(age.getMaxval()));
+            ageNeoDTO.setMin(BigDecimal.valueOf(age.getMinval()));
+            ageNeoDTO.setMax(BigDecimal.valueOf(age.getMaxval()));
             pacsBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
         }
 
@@ -33,8 +34,8 @@ public class PACSNode {
 
             if (clinicalfinding.getUnit()!=null) {
                 rangeNeoDTO.setUnit(clinicalfinding.getUnit());
-                rangeNeoDTO.setMin(Double.valueOf(clinicalfinding.getMinval()));
-//                rangeNeoDTO.setMax(clinicalfinding.getMaxval());
+//                rangeNeoDTO.setMin(BigDecimal.valueOf(clinicalfinding.getMinval()));
+//                rangeNeoDTO.setMax(BigDecimal.valueOf(clinicalfinding.getMaxval()));
             }
 
             pacsBillNeoDTO.getClinicfindings().add(rangeNeoDTO);

+ 4 - 2
src/main/java/com/diagbot/rule/AgeRule.java

@@ -5,6 +5,8 @@ import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.util.CoreUtil;
 
+import java.math.BigDecimal;
+
 /**
  * @description: 年龄规则
  * @author: zhoutg
@@ -24,13 +26,13 @@ public class AgeRule {
         Boolean flag = false;
         if (ageNeoDTO != null && wordCrfDTO.getAge() != null) {
             Integer age = wordCrfDTO.getAge();
-            Double minAge = ageNeoDTO.getMin();
+            Integer minAge = ageNeoDTO.getMin().intValue();
             if (minAge != null) {
                 if (age < minAge) {
                     flag = true;
                 }
             }
-            Double maxAge = ageNeoDTO.getMax();
+            Integer maxAge = ageNeoDTO.getMax().intValue();
             if (maxAge != null) {
                 if (age > minAge) {
                     flag = true;