From 3c5e130eabdad7fd688e2c8b5563c939b0651165 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 27 Jul 2021 15:27:48 +0800
Subject: [PATCH] 设备状态字段更改类型

---
 screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 5d4d805..4a8b3f6 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -452,19 +452,19 @@
             if (StringUtils.isEmpty(alarmLevel)) {
                 continue;
             }
-            List<Double> list = JSONObject.parseObject(alarmLevel, List.class);
+            List<Object> list = JSONObject.parseObject(alarmLevel, List.class);
             String sensorCode = sensor.getCode();
             //������������
             String formula = sensor.getFormula();
             //������������������������
             String sensorValue = (String) deviceData.get(sensorCode);
-            double value = Double.parseDouble(String.format("%.4f", sensorValue));
+            double value = Double.parseDouble(sensorValue);
             //������������
             if (formula != null) {
                 //������������������
                 sensorValue = formula.replace("{0}", sensorValue);
                 expression = AviatorEvaluator.compile(sensorValue);
-                value = Double.parseDouble(String.format("%.4f", expression.execute()));
+                value = Double.parseDouble(expression.execute().toString());
             }
             int sensorState = judgeState(list, value);
             if (sensorState > state) {
@@ -473,17 +473,17 @@
         }
         //������������������
         UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("id", device.getId()).set("state", state);
+        updateWrapper.eq("id", device.getId()).set("state", String.valueOf(state));
         deviceMapper.update(null, updateWrapper);
     }
 
     //���������������������������
-    private int judgeState(List<Double> levels, Double data) {
+    private int judgeState(List<Object> levels, Double data) {
         int state = 1;
         for (int i = levels.size() - 1; i >= 0; i--) {
-            Double level = levels.get(i);
+            Double level = Double.parseDouble(levels.get(i).toString());
             if (data >= level) {
-                state = i + 2;
+                state = i + 1;
                 break;
             }
         }

--
Gitblit v1.8.0