|
@@ -28,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -66,10 +63,9 @@ public class EbaSystemServiceImpl implements EbaSystemService {
|
|
|
initDeviceParamList();
|
|
|
initDeviceAlarmTypeList();
|
|
|
initFireDeviceTypeList();
|
|
|
-
|
|
|
-// initRealDataDeviceList();
|
|
|
-// initMobjectList();
|
|
|
-// initIotList();
|
|
|
+ initRealDataDeviceList();
|
|
|
+ initMobjectList();
|
|
|
+ initIotList();
|
|
|
log.info("EBA数据全部初始化完毕");
|
|
|
}
|
|
|
|
|
@@ -238,6 +234,7 @@ public class EbaSystemServiceImpl implements EbaSystemService {
|
|
|
query1.addCriteria(Criteria.where("_id").is(key + "_" + LocalDateTime.now().getYear() + "_" + LocalDateTime.now().getMonthValue()));
|
|
|
Update update1 = new Update();
|
|
|
List<Map> map = LeviUtils.getJsonFieldMany(str, "data.realtimeDataList", Map.class);
|
|
|
+ map.removeAll(Collections.singleton(null));
|
|
|
update1.set("data", EbaUtils.setDataField(map, key, "realDataDeviceList", false));
|
|
|
mongoTemplate.upsert(query1, update1, "realDataDeviceList");
|
|
|
// 存入当前最新数据方便查询
|
|
@@ -370,7 +367,18 @@ public class EbaSystemServiceImpl implements EbaSystemService {
|
|
|
public ResponseBean getDeviceList(String projectId) {
|
|
|
JSONObject obj = mongoTemplate.findById("mobjectList", JSONObject.class, "ebaAuth");
|
|
|
JSONArray array = obj.getJSONObject("data").getJSONArray(projectId);
|
|
|
- return ResponseBuilder.ok(array == null ? new JSONArray() : array);
|
|
|
+ if (array == null || array.size() <= 0) {
|
|
|
+ return ResponseBuilder.ok(Levi.by("electricity", new JSONArray()).set("water", new JSONArray()));
|
|
|
+ }
|
|
|
+ List<Object> electricity = array.stream().filter(x -> {
|
|
|
+ Map xx = (Map) x;
|
|
|
+ return (Integer) xx.get("deviceSysId") == 1;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<Object> water = array.stream().filter(x -> {
|
|
|
+ Map xx = (Map) x;
|
|
|
+ return (Integer) xx.get("deviceSysId") == 2;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return ResponseBuilder.ok(Levi.by("electricity", electricity).set("water", water));
|
|
|
}
|
|
|
|
|
|
/**
|