Pārlūkot izejas kodu

fix 修改追加量为累加

A17404李放 3 gadi atpakaļ
vecāks
revīzija
0c4b83f8da

+ 0 - 2
nb-system/src/main/java/com/nb/bus/controller/BusClinicController.java

@@ -19,12 +19,10 @@ import com.nb.common.result.R;
 import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.simpleframework.xml.Path;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 

+ 4 - 0
nb-system/src/main/java/com/nb/bus/service/dto/ClinicStatsQueryResult.java

@@ -1,5 +1,6 @@
 package com.nb.bus.service.dto;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -30,4 +31,7 @@ public class ClinicStatsQueryResult implements Serializable {
     private Integer inValidCount;
     @ApiModelProperty(value = "数据上传时间",hidden = true)
     private Date uploadTime;
+    @ApiModelProperty(hidden = true)
+    @JsonIgnore
+    private String infusionId;
 }

+ 18 - 4
nb-system/src/main/java/com/nb/bus/service/dto/ClinicStatsReturnResult.java

@@ -2,6 +2,7 @@ package com.nb.bus.service.dto;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -37,9 +38,12 @@ public class ClinicStatsReturnResult implements Serializable {
         if(CollectionUtil.isEmpty(queryResults)){
             return result;
         }
-        queryResults.forEach(queryResult -> {
+        String lastInfusionId="";
+        BigDecimal infusionLastAppendDose=BigDecimal.ZERO;
+        BigDecimal tmpLastAppendDose=BigDecimal.ZERO;
+        for (ClinicStatsQueryResult queryResult : queryResults) {
             if(queryResult.getUploadTime()==null){
-                return;
+                continue;
             }
             String uploadTime = DateUtil.format(queryResult.getUploadTime(), DatePattern.NORM_DATETIME_PATTERN);
             List<BigDecimal> continueDoses = Optional.ofNullable(result.getContinueDose()).orElse(new ArrayList<>());
@@ -48,8 +52,18 @@ public class ClinicStatsReturnResult implements Serializable {
             List<Integer> validCounts = Optional.ofNullable(result.getValidCount()).orElse(new ArrayList<>());
             List<Integer> inValidCounts = Optional.ofNullable(result.getInValidCount()).orElse(new ArrayList<>());
             List<String> uploadTimes = Optional.ofNullable(result.getUploadTimes()).orElse(new ArrayList<>());
+
+            BigDecimal appendDose = queryResult.getAppendDose()!=null?queryResult.getAppendDose():BigDecimal.ZERO;
+            if(!ObjectUtil.equal(lastInfusionId,queryResult.getInfusionId())){
+                lastInfusionId=queryResult.getInfusionId();
+                infusionLastAppendDose=infusionLastAppendDose.add(tmpLastAppendDose);
+            }else {
+                tmpLastAppendDose=appendDose;
+            }
+            appendDose=appendDose.add(infusionLastAppendDose);
+
             continueDoses.add(queryResult.getContinueDose()!=null?queryResult.getContinueDose():BigDecimal.ZERO);
-            appendDoses.add(queryResult.getAppendDose()!=null?queryResult.getAppendDose():BigDecimal.ZERO);
+            appendDoses.add(appendDose);
             inputDoses.add( queryResult.getInputDose()!=null?queryResult.getInputDose():BigDecimal.ZERO);
             validCounts.add(queryResult.getValidCount()!=null?queryResult.getValidCount():0);
             inValidCounts.add(queryResult.getInValidCount()!=null?queryResult.getInValidCount():0);
@@ -61,7 +75,7 @@ public class ClinicStatsReturnResult implements Serializable {
             result.setValidCount(validCounts);
             result.setInValidCount(inValidCounts);
             result.setUploadTimes(uploadTimes);
-        });
+        };
         return result;
     }
 }

+ 3 - 4
nb-system/src/main/resources/mapper/bus/BusClinicMapper.xml

@@ -9,6 +9,7 @@
         <result column="valid_count" property="validCount"/>
         <result column="invalid_count" property="inValidCount"/>
         <result column="upload_time" property="uploadTime"/>
+        <result column="infusion_id" property="infusionId"/>
     </resultMap>
 
     <resultMap id="queryResult" type="com.nb.bus.service.dto.ClinicResult">
@@ -36,9 +37,6 @@
         <if test="query.continueDose!=false">
             h.continue_dose as continue_dose,
         </if>
-        <!--<if test="query.appendDose!=false">-->
-            <!--h.append_dose as append_dose,-->
-        <!--</if>-->
         <if test="query.appendDose!=false">
             h.total_append_dose as append_dose,
         </if>
@@ -51,7 +49,8 @@
         <if test="query.inValidCount!=false">
             h.pca_invalid_count as invalid_count,
         </if>
-        h.upload_time
+        h.upload_time,
+        h.infusion_id
         FROM
         (select id from bus_infusion_history
         <where>