From 28923b3d67c58b032bc4ff128aa1d5e62d73dba1 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 02 Feb 2024 10:07:58 +0800 Subject: [PATCH] fix:提交实时在线率接口 --- 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