Explorar o código

小数和百分百处理

王苗苗 hai 5 meses
pai
achega
92154e4050

BIN=BIN
ruoyi-admin/.DS_Store


+ 13 - 4
ruoyi-system/src/main/java/com/ruoyi/business/res/DeviceRes.java

@@ -1,12 +1,16 @@
 package com.ruoyi.business.res;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.ruoyi.common.NumberUtils;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.util.Date;
+import java.util.Objects;
+
+import static com.ruoyi.common.constant.Constants.INT_2;
 
 @Builder
 @Data
@@ -38,21 +42,26 @@ public class DeviceRes {
 
     private String beginAssayTime;//化验开始时间
 
-    private Double assayProgress;//化验进度  计算
+    private String assayProgress;//化验进度  计算
 
     private Double currentTemperature;//当前温度
 
-    private Double currentHumidity;//当前湿度
+    private String currentHumidity;//当前湿度
 
     private int assayCounts;//检验轮次 聚合
 
     private int assayTotals;//检验总次数  聚合
 
-    private Double passAssayRates;//合格率(质控样) 计算
+    private String passAssayRates;//合格率(质控样) 计算
 
     private Double wasteLiquidAmounts;//废液产生总量  todo 待提供数据
 
-
+    public Double getCurrentTemperature() {
+        if(Objects.isNull(currentTemperature)){
+            return null;
+        }
+        return NumberUtils.getDoubleNLength(INT_2, currentTemperature);
+    }
 
 
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/business/res/HomeCountsRes.java

@@ -18,5 +18,5 @@ public class HomeCountsRes {
     private long offDeviceCounts;//今日离线设备(台)
     private int assayTotals;//今日质控样检测总数
     private int passAssayTotals;//今日质控样合格总数
-    private double passAssayRates;//今日质控样合格率
+    private String passAssayRates;//今日质控样合格率
 }

+ 5 - 5
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusinessServiceImpl.java

@@ -68,7 +68,7 @@ public class BusinessServiceImpl implements IBusinessService {
             build.setAssayTotals(checkTotals);
             int passCheckTotals = this.getPassedCounts(zAssayResults);
             build.setPassAssayTotals(passCheckTotals);
-            build.setPassAssayRates((double)passCheckTotals / (double)checkTotals);//整数除以整数还是整数,所以这里要强转成小数
+            build.setPassAssayRates(NumberUtils.getDoublePercentAndNLength(INT_4, (double)passCheckTotals / (double)checkTotals, INT_2));//整数除以整数还是整数,所以这里要强转成小数
         }
         return build;
     }
@@ -448,7 +448,7 @@ public class BusinessServiceImpl implements IBusinessService {
             int checkTotals = zAssayResults.size();
             int passCheckTotals = this.getPassedCounts(zAssayResults);
             deviceRes.setAssayTotals(passCheckTotals);
-            deviceRes.setPassAssayRates((double)passCheckTotals / (double)checkTotals);//整数除以整数还是整数,所以这里要强转成小数
+            deviceRes.setPassAssayRates(NumberUtils.getDoublePercentAndNLength(INT_4, (double)passCheckTotals / (double)checkTotals, INT_2));//整数除以整数还是整数,所以这里要强转成小数
 
             //获取最新的一条化验明细数据
             ZAssayResult zAssayResult = zAssayResults.get(0);
@@ -460,7 +460,7 @@ public class BusinessServiceImpl implements IBusinessService {
                 deviceRes.setBeginAssayTime(zAssayResult.getUpdateTime());
             }
             deviceRes.setCurrentTemperature(zAssayResult.getResultWendu());
-            deviceRes.setCurrentHumidity(zAssayResult.getResultShidu());
+            deviceRes.setCurrentHumidity(NumberUtils.getDoublePercentAndNLength(INT_4, zAssayResult.getResultShidu(), INT_2));
 
             //获取最新的一条化验记录 处理化验进度的展示: 因为历史数据有总步进为0的,这种的默认进度就是0处理  只有化验中的才显示进度
             String assayNo = zAssayResult.getAssayNo();
@@ -470,9 +470,9 @@ public class BusinessServiceImpl implements IBusinessService {
                     String stepNow = zAssay.getStepNow();
                     String stepTotal = zAssay.getStepTotal();
                     if(StringUtils.isBlank(stepNow) || StringUtils.isBlank(stepTotal) || "0".equals(stepNow) || "0".equals(stepTotal)){
-                        deviceRes.setAssayProgress(Double.valueOf("0"));
+                        deviceRes.setAssayProgress(null);
                     }else{
-                        deviceRes.setAssayProgress(Double.parseDouble(stepNow)/Double.parseDouble(stepTotal));
+                        deviceRes.setAssayProgress(NumberUtils.getDoublePercentAndNLength(INT_4, Double.parseDouble(stepNow)/Double.parseDouble(stepTotal), INT_2));
                     }
                 }
             }