| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | 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);
|