From f70a481c8658ae60a1827486c81d6b37ad575b07 Mon Sep 17 00:00:00 2001
From: cjl <909710561@qq.com>
Date: Mon, 01 Apr 2024 10:03:37 +0800
Subject: [PATCH] fix:补充提交
---
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 100 insertions(+), 2 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
index fb92312..5084b5b 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -17,6 +17,7 @@
import com.moral.api.pojo.ext.wind.WindListExt;
import com.moral.api.pojo.form.device.MonitorPointQueryForm;
import com.moral.api.pojo.form.historyFiveMinutely.QueryDeviceAndFiveMinuteDataForm;
+import com.moral.api.pojo.vo.historyFiveMinutely.QueryFiveDataByMacVO;
import com.moral.api.pojo.vo.user.QxUser;
import com.moral.api.service.DeviceService;
import com.moral.api.service.HistoryFiveMinutelyService;
@@ -38,6 +39,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
+import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -189,7 +191,21 @@
}
return getWindData(windData,params);
}
+ @Override
+ public List<Object> getAreaWindDataCenter(Map<String, Object> params) {
+// String timeUnits = DateUtils.dateToDateString(new Date(), DateUtils.yyyyMM_EN);
+// params.put("timeUnits", timeUnits);
+// //������������
+// List<WindData> windData = historyFiveMinutelyMapper.getAreaWindData(params);
+// return getWindData(windData);
+ params.put("timeUnits","202311");
+ params.put("time","2023-11-05 09:00");
+ params.put("macs",Arrays.asList("p5dnd7a0245472","p5dnd7a0245400","p5dnd7a0245385","p5dnd7a0245374"));
+ List<WindData> windData = historyHourlyMapper.getArea(params);
+ params.put("perdlen",50);
+ return getWindData(windData,params);
+ }
//���������������������������
@Override
@@ -234,7 +250,12 @@
data = data + " " + sensor.getShowUnit();
result.put(sensor.getCode(), data);
} else {
- result.put(sensor.getCode(), "-");
+ if (sensor.getCode().equals("a01008") ||sensor.getCode().equals("a01007")){
+ result.put(sensor.getCode(), "-");
+ }else {
+ result.put(sensor.getCode(), "0"+" "+sensor.getShowUnit());
+ }
+
}
}
//������������������
@@ -243,6 +264,83 @@
result.put("dataTime", datas.get("dataTime"));
//������
return orderSixParam(result);
+ }
+
+ @Override
+ public QueryFiveDataByMacVO queryFiveDataByMac(String mac, String chooseTime, String time) {
+ Map<String, Object> datas = null;
+ if (chooseTime.equals("true")) {
+ String timeUnits = DateUtils.stringToDateString(time, "yyyy-MM-dd HH:mm", DateUtils.yyyyMM_EN);
+ String dbDataStr = historyHourlyMapper.queryLastHourlyMac(mac, time, timeUnits);
+ if (dbDataStr == null) {
+ return null;
+ }
+ datas = JSON.parseObject(dbDataStr, HashMap.class);
+ datas.put("dataTime", time);
+ } else {
+ datas = queryLastDataByMac(mac);
+ if (ObjectUtils.isEmpty(datas)){
+ return null;
+ }
+ }
+ //������������������
+ Map<String, Object> result = new HashMap<>();
+
+ //������������������code������
+ List<String> sensorCodes = Arrays.asList("a34004", "a34002", "a21005", "a21004", "a21026", "a05024", "a99054", "a01008", "a01007");
+ //������������������
+ Device device = deviceService.getDeviceUnitAlramInforByMac(mac);
+ //���������������������������
+ for (Sensor sensor : device.getVersion().getSensors()) {
+ if (!sensorCodes.contains(sensor.getCode()))
+ continue;
+ Object dataO = datas.get(sensor.getCode());
+ if (dataO != null) {
+ String data = String.valueOf(dataO);
+ result.put(sensor.getCode(), data);
+ } else {
+ if (sensor.getCode().equals("a01008") ||sensor.getCode().equals("a01007")){
+ result.put(sensor.getCode(), "-");
+ }else {
+ result.put(sensor.getCode(), "0");
+ }
+
+ }
+ }
+
+ QueryFiveDataByMacVO queryFiveDataByMacVO = new QueryFiveDataByMacVO();
+ queryFiveDataByMacVO.setName(device.getName());
+ queryFiveDataByMacVO.setDataTime(datas.get("dataTime").toString());
+ if (!ObjectUtils.isEmpty(result.get("a21005"))){
+ String str = new DecimalFormat("#.######").format(Double.parseDouble(result.get("a21005").toString()));
+ queryFiveDataByMacVO.setA21005(str);
+ }
+// queryFiveDataByMacVO.setA34004(result.get("a34004").toString());
+ queryFiveDataByMacVO.setA34004(ObjectUtils.isEmpty(result.get("a34004"))?null:result.get("a34004").toString());
+ queryFiveDataByMacVO.setA34002(ObjectUtils.isEmpty(result.get("a34002"))?null:result.get("a34002").toString());
+ queryFiveDataByMacVO.setA21026(ObjectUtils.isEmpty(result.get("a21026"))?null:result.get("a21026").toString());
+ queryFiveDataByMacVO.setA21004(ObjectUtils.isEmpty(result.get("a21004"))?null:result.get("a21004").toString());
+ queryFiveDataByMacVO.setA05024(ObjectUtils.isEmpty(result.get("a05024"))?null:result.get("a05024").toString());
+ queryFiveDataByMacVO.setA01008(ObjectUtils.isEmpty(result.get("a01008"))?null:result.get("a01008").toString());
+ queryFiveDataByMacVO.setA01007(ObjectUtils.isEmpty(result.get("a01007"))?null:result.get("a01007").toString());
+ queryFiveDataByMacVO.setA99054(ObjectUtils.isEmpty(result.get("a99054"))?null:result.get("a99054").toString());
+
+ return queryFiveDataByMacVO;
+ }
+
+
+ /**
+ * @Description: ������������������������mac���������
+ * @Param: [mac, startDate, endDate]
+ * @return: java.util.List<com.moral.api.entity.HistoryHourly>
+ * @Author: ���������
+ * @Date: 2021/9/23
+ */
+
+ @Override
+ public List<HistoryFiveMinutely> queryFiveMinutely(String mac, Date startDate, Date endDate) {
+ List<HistoryFiveMinutely> valueByMacAndTime = getValueByMacAndTime(mac, startDate, endDate);
+ return valueByMacAndTime;
}
//���������������������������������
@@ -397,7 +495,7 @@
laLaMap.put("minLa", lami);
- int perdlen = windDate(Objects.nonNull(params.get("monitorPointList"))?params.get("monitorPointList").toString():null);
+ int perdlen = Objects.nonNull(params.get("perdlen"))?Integer.parseInt(params.get("perdlen").toString()):windDate(Objects.nonNull(params.get("monitorPointList"))?params.get("monitorPointList").toString():null);
int length = perdlen*10;
Double lo1 = lomi - length * 0.00001141;
--
Gitblit v1.8.0