From cdec9062c85f52d43e8d74e82cbcf9f8606ebb01 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 30 Jan 2024 16:39:59 +0800
Subject: [PATCH] chore:设备在线率接口提交

---
 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
index 33c1ea6..44190f4 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -210,7 +210,7 @@
                     });
                 }
             }else {
-                BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Integer.parseInt(list.getDataValue())):BigDecimal.ZERO;
+                BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Double.parseDouble(list.getDataValue())):BigDecimal.ZERO;
                 result.forEach(it->{
                     it.setAvgNum(it.getAvgNum().add(dataValue));
                 });
@@ -224,8 +224,8 @@
     private BigDecimal numAvg(List<String> list , BigDecimal num){
         int nums = 1;
         for (int i=0;i<list.size();i=i+2){
-            if(num.compareTo(BigDecimal.valueOf(Integer.parseInt(list.get(i))))>= 0 ){
-                return num.add(BigDecimal.valueOf(Integer.parseInt(list.get(nums))));
+            if(num.compareTo(BigDecimal.valueOf(Double.parseDouble(list.get(i))))>= 0 ){
+                return num.add(BigDecimal.valueOf(Double.parseDouble(list.get(i+1))));
             }
             nums+=2;
         }
@@ -750,4 +750,35 @@
 
 
     }
+
+    /**
+     *
+     */
+      private double getDivisor(String code,double num){
+          double rs = 0.0;
+        if (code.contains("-")){
+            String data = code.substring(1);
+            rs = num - Double.parseDouble(data);
+        } else if (code.contains("*")){
+            String data = code.substring(1);
+            rs = num * Double.parseDouble(data);
+        } else if (code.contains("/")){
+            String data = code.substring(1);
+            rs = num / Double.parseDouble(data);
+        } else if (code.contains(",")){
+            String[] split = code.split(",");
+            for (String s : split) {
+                String[] split1 = s.split("<");
+                double sp1 = Double.parseDouble(split1[0]);
+                double sp2 = Double.parseDouble(split1[1]);
+                double sp3 = Double.parseDouble(split1[2]);
+                if (num>=sp1 && num<=sp2){
+                    rs = num + sp3;
+                }
+            }
+        }else {
+            rs = num + Double.parseDouble(code);
+        }
+        return rs;
+      }
 }

--
Gitblit v1.8.0