From 25576c047e39101a4784d8acffc92af3f35aa215 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 29 Nov 2022 16:34:32 +0800 Subject: [PATCH] 解决国控站数据补偿问题 --- screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java index 7ebb66b..3071566 100644 --- a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java +++ b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java @@ -5,6 +5,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -24,7 +25,7 @@ public class AdjustDataUtils { /** * @param deviceData ������������ - * @param adjustFormula ������������ + * @param adjustFormula ������������������������������������������������key���������code,value������������������������������������������List��� * @param aqiMap ������������������������������aqi������ * @return Map<String, Object> ��������������� */ @@ -42,7 +43,7 @@ Set<String> dateKey = deviceData.keySet(); for (String adjustKey : adjustFormula.keySet()) { if (!dateKey.contains(adjustKey)) { - deviceData.put(adjustKey, 0F); + deviceData.put(adjustKey, "0"); } } @@ -77,14 +78,15 @@ if (aqiMap != null) { aqiValue = aqiMap.get(key); } - env.put("aqi", ObjectUtils.isEmpty(aqiValue) ? 0F : Float.parseFloat((String) aqiValue)); + env.put("aqi", ObjectUtils.isEmpty(aqiValue) ? 0F : new BigDecimal(String.valueOf(aqiValue)).floatValue()); } if (formula.contains("vocs")) { Object vocsValue = ObjectUtils.isEmpty(deviceData.get(Constants.SENSOR_CODE_VOCS)) ? 0F : deviceData.get(Constants.SENSOR_CODE_VOCS); env.put("vocs", vocsValue); } if (formula.contains("cel")) { - env.put("cel", Float.parseFloat((String) measuredValue)); + //env.put("cel", Float.parseFloat((String) measuredValue)); + env.put("cel", new BigDecimal(String.valueOf(measuredValue)).floatValue()); } //������ measuredValue = expression.execute(env); -- Gitblit v1.8.0