lizijie
2019-07-03 9eee07eb60fac7b8d13b4521fc9ef7019d4a60f5
src/main/java/com/moral/controller/ScreenController.java
@@ -7,6 +7,7 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -46,6 +47,8 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.Expression;
import com.moral.common.bean.Constants;
import com.moral.common.bean.JsonData;
import com.moral.common.bean.PageResult;
@@ -1007,15 +1010,29 @@
               if(sensorUnitMap!=null && !sensorUnitMap.isEmpty()) {
                  if(sensorUnitMap.get(string)!=null) {
                     units.add(sensorUnitMap.get(string).get("name").toString());
                     String rules = sensorUnitMap.get(string).get("rules").toString();
                     rules = rules.replace("{0}", "a");
                     rules = rules.replace("d", "");
                     Expression expression = AviatorEvaluator.compile(rules);
                     Double value;
                     Map<String, Object> ev = new HashMap<>();
                     ev.put("a", map.get(string));
                     value = (Double) expression.execute(ev);
                     //保留两位小数
                     DecimalFormat df = new DecimalFormat("#.00");
                     value = Double.parseDouble(df.format(value));
                     values.add(value);
                  }else {
                     Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string);
                     units.add(sensorMap.get("unit").toString());
                     values.add((Number) map.remove(string));
                  }
               }else {
                  Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string);
                 units.add(sensorMap.get("unit").toString());
                 values.add((Number) map.remove(string));
               }
                values.add((Number) map.remove(string));
                //values.add((Number) map.remove(string));
            }
            map.put("values", values);
            map.put("units", units);