Commit 246e60da authored by wujiang's avatar wujiang

提交代码

parent 9ae08238
...@@ -126,7 +126,7 @@ public class CommonConstans { ...@@ -126,7 +126,7 @@ public class CommonConstans {
public static final String taiheActivePowerPoint = "南瑞光差保护_313P"; public static final String taiheActivePowerPoint = "南瑞光差保护_313P";
public static final String taiheIrradiationPonit = "WTX-801_25_WTX-801_总辐射"; public static final String taiheIrradiationPonit = "WTX-801_25_WTX-801_总辐射";
public static final String xiazaoActivePowerPoint = "220kV夏雩线212线路测控装置PCS-9705TA有功功率一次值"; public static final String xiazaoActivePowerPoint = "#1主变高压侧测控装置PCS-9705TA有功功率一次值";
public static final String xiazaoWindSpeedrPoint = "瞬时风速"; public static final String xiazaoWindSpeedrPoint = "瞬时风速";
public static final List<String> xiazaoElectricityMeter = new ArrayList<>(Arrays.asList("夏雩线212主表", "夏雩线212副表", "1号主变高压侧201", "1号主变低压侧301", public static final List<String> xiazaoElectricityMeter = new ArrayList<>(Arrays.asList("夏雩线212主表", "夏雩线212副表", "1号主变高压侧201", "1号主变低压侧301",
......
...@@ -30,6 +30,7 @@ import org.eclipse.paho.client.mqttv3.MqttException; ...@@ -30,6 +30,7 @@ import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -236,13 +237,13 @@ public class MonitorFanIdxController extends BaseController { ...@@ -236,13 +237,13 @@ public class MonitorFanIdxController extends BaseController {
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId)); queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
List<ESEquipments> result2 = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class); List<ESEquipments> result2 = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
columnMap.put("日发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "日发电量"))); columnMap.put("日发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "日发电量")/10000));
columnMap.put("月发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "月发电量"))); columnMap.put("月发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "月发电量")/10000));
columnMap.put("年发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "年发电量"))); columnMap.put("年发电量", String.format(CommonConstans.Fourdecimalplaces, commonServiceImpl.getSumByEquipmentIndxName(result2, "年发电量")/10000));
columnMap.put("30秒平均风速", String.format(CommonConstans.Twodecimalplaces, commonServiceImpl.getAvagerByEquipmentIndxName(result2, "30秒平均风速"))); columnMap.put("30秒平均风速", String.format(CommonConstans.Twodecimalplaces, commonServiceImpl.getAvagerByEquipmentIndxName(result2, "30秒平均风速")));
Map<String, List<String>> queryCondtion1 = new HashMap<>(); Map<String, List<String>> queryCondtion1 = new HashMap<>();
queryCondtion1.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("220kV夏雩线212线路测控装置PCS-9705TA有功功率一次值")); queryCondtion1.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("#1主变高压侧测控装置PCS-9705TA有功功率一次值"));
queryCondtion1.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getBoosterGatewayId())); queryCondtion1.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getBoosterGatewayId()));
List<ESEquipments> result1 = commonService.getListDataByCondtions(queryCondtion1, null, ESEquipments.class); List<ESEquipments> result1 = commonService.getListDataByCondtions(queryCondtion1, null, ESEquipments.class);
...@@ -650,15 +651,30 @@ public class MonitorFanIdxController extends BaseController { ...@@ -650,15 +651,30 @@ public class MonitorFanIdxController extends BaseController {
StationBasic stationBasic = stationBasicMapper.selectById(stationId); StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId(); String gatewayId = stationBasic.getFanGatewayId();
String boosterGatewayId = stationBasic.getBoosterGatewayId(); String boosterGatewayId = stationBasic.getBoosterGatewayId();
String[] columnList = new String[]{CommonConstans.taiHeGenIndicatorDay, CommonConstans.taiHeGenIndicatorMonth, CommonConstans.taiHeGenIndicatorYear}; String[] columnList = new String[]{"日发电量","年发电量","月发电量"};
String[] columnLists = new String[]{"有功功率"}; String[] columnLists = new String[]{"有功功率"};
Map<String, Object> columnMap = new HashMap<>(); Map<String, Object> columnMap = new HashMap<>();
//日 月 年发电量同仅统计逆变器数据 //日 月 年发电量同仅统计逆变器数据
List<Map<String, Object>> mapList; List<Map<String, Object>> mapList;
// for (String column : columnList) {
// Double result = commonService.getTotalByIndicatiorByGF(boosterGatewayId, column);
// columnMap.put(column, result);
// }
for (String column : columnList) { for (String column : columnList) {
Double result = commonService.getTotalByIndicatiorByGF(boosterGatewayId, column); //用于组装-es查询条件
columnMap.put(column, result); Map<String, List<String>> queryCondtion = new HashMap<>();
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList(column));
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
List<ESEquipments> result = commonService.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
Double totalvalue = 0.00;
try {
result=result.stream().filter(i->i.getEquipmentSpecificName().endsWith("子阵")).collect(Collectors.toList());
totalvalue = result.stream()
.filter(stringObjectMap -> !ObjectUtils.isEmpty(stringObjectMap.getValueF())).mapToDouble(l -> Double.parseDouble(l.getValueF().toString())).sum();
} catch (Exception e) {
}
columnMap.put(column, Double.valueOf(String.format("%.4f", totalvalue/10000)));
} }
Map<String, List<String>> queryCondtion = new HashMap<>(); Map<String, List<String>> queryCondtion = new HashMap<>();
...@@ -676,25 +692,25 @@ public class MonitorFanIdxController extends BaseController { ...@@ -676,25 +692,25 @@ public class MonitorFanIdxController extends BaseController {
data.put("title", columnMap.get("装机容量").toString()); data.put("title", columnMap.get("装机容量").toString());
objects.add(data); objects.add(data);
Map<String, Object> data1 = new HashMap<>(); Map<String, Object> data1 = new HashMap<>();
data1.put("title", columnMap.get(CommonConstans.taiHeGenIndicatorDay).toString()); data1.put("title", columnMap.get("日发电量").toString());
objects.add(data1); objects.add(data1);
Map<String, Object> data2 = new HashMap<>(); Map<String, Object> data2 = new HashMap<>();
data2.put("title", columnMap.get("风机台数").toString().replace(".0", "")); data2.put("title", columnMap.get("风机台数").toString().replace(".0", ""));
objects.add(data2); objects.add(data2);
Map<String, Object> data3 = new HashMap<>(); Map<String, Object> data3 = new HashMap<>();
data3.put("title", columnMap.get(CommonConstans.taiHeGenIndicatorMonth).toString()); data3.put("title", columnMap.get("月发电量").toString());
objects.add(data3); objects.add(data3);
Map<String, Object> data4 = new HashMap<>(); Map<String, Object> data4 = new HashMap<>();
data4.put("title", String.format("%.2f", commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射"))); data4.put("title", String.format("%.2f", commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射")));
objects.add(data4); objects.add(data4);
Map<String, Object> data5 = new HashMap<>(); Map<String, Object> data5 = new HashMap<>();
data5.put("title", columnMap.get(CommonConstans.taiHeGenIndicatorYear).toString()); data5.put("title", columnMap.get("年发电量").toString());
objects.add(data5); objects.add(data5);
Map<String, Object> data6 = new HashMap<>(); Map<String, Object> data6 = new HashMap<>();
data6.put("title", columnMap.get("有功功率").toString()); data6.put("title", columnMap.get("有功功率").toString());
objects.add(data6); objects.add(data6);
Map<String, Object> data7 = new HashMap<>(); Map<String, Object> data7 = new HashMap<>();
data7.put("title", String.format("%.2f", ((Double.parseDouble(columnMap.get(CommonConstans.taiHeGenIndicatorDay).toString()) * CommonConstans.wkwhToMv) / (Double.parseDouble(columnMap.get("装机容量").toString()))))); data7.put("title", String.format("%.2f", ((Double.parseDouble(columnMap.get("日发电量").toString()) * CommonConstans.wkwhToMv) / (Double.parseDouble(columnMap.get("装机容量").toString())))));
objects.add(data7); objects.add(data7);
Map<String, Object> data8 = new HashMap<>(); Map<String, Object> data8 = new HashMap<>();
data8.put("title", String.format("%.2f", commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计"))); data8.put("title", String.format("%.2f", commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计")));
...@@ -703,7 +719,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -703,7 +719,7 @@ public class MonitorFanIdxController extends BaseController {
//综合效率 = 发电量/理论发电量 //综合效率 = 发电量/理论发电量
//理论发电量 = 峰值日照数 * 总装机容量 //理论发电量 = 峰值日照数 * 总装机容量
//峰值日照数 = 累计辐照度/3.6 //峰值日照数 = 累计辐照度/3.6
Double todayPower = Double.valueOf(columnMap.get(CommonConstans.taiHeGenIndicatorDay).toString()); Double todayPower = Double.valueOf(columnMap.get("日发电量").toString());
Double total = commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计"); Double total = commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计");
if (todayPower > 0 && total > 0) { if (todayPower > 0 && total > 0) {
Double overallEfficiency = todayPower * CommonConstans.wkwhToMv / ((total / 3.6) * capacityl); Double overallEfficiency = todayPower * CommonConstans.wkwhToMv / ((total / 3.6) * capacityl);
......
...@@ -59,7 +59,7 @@ public class JXDZExecute { ...@@ -59,7 +59,7 @@ public class JXDZExecute {
@Scheduled(cron = "0 0 */1 * * ?") @Scheduled(cron = "0 0 */1 * * ?")
@PostConstruct //@PostConstruct
public void hourInterface() { public void hourInterface() {
if (!jxdzScheduledEnable) { if (!jxdzScheduledEnable) {
return; return;
...@@ -150,7 +150,7 @@ public class JXDZExecute { ...@@ -150,7 +150,7 @@ public class JXDZExecute {
} }
@Scheduled(cron = "0 0 1 * * ?") @Scheduled(cron = "0 0 1 * * ?")
@PostConstruct //@PostConstruct
public void dayInterface() { public void dayInterface() {
if (!jxdzScheduledEnable) { if (!jxdzScheduledEnable) {
return; return;
......
...@@ -5,6 +5,7 @@ import java.io.IOException; ...@@ -5,6 +5,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.Collator; import java.text.Collator;
import java.text.ParseException; import java.text.ParseException;
import java.time.LocalTime;
import java.util.*; import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.function.Function; import java.util.function.Function;
...@@ -260,7 +261,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -260,7 +261,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
result.stream().forEach(e -> { result.stream().forEach(e -> {
if (powerOther.contains(e.getEquipmentIndexName()) || e.getEquipmentIndexName().equals("日发电量")) { if (powerOther.contains(e.getEquipmentIndexName()) || e.getEquipmentIndexName().equals("日发电量")) {
e.setValue(String.format(CommonConstans.Fourdecimalplaces, e.getValueF())); e.setValue(String.format(CommonConstans.Fourdecimalplaces, e.getValueF()/10000));
} else { } else {
e.setValue(String.format(CommonConstans.Twodecimalplaces, e.getValueF())); e.setValue(String.format(CommonConstans.Twodecimalplaces, e.getValueF()));
} }
...@@ -654,18 +655,41 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -654,18 +655,41 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
List<IndicatorData> activePowerList = new ArrayList<>(); List<IndicatorData> activePowerList = new ArrayList<>();
List<IndicatorData> otherList = new ArrayList<>(); List<IndicatorData> otherList = new ArrayList<>();
Double installedCapacity = commonServiceImpl.getStationCapactityByStationWerks(stationBasic.getStationNumber()); Double installedCapacity = commonServiceImpl.getStationCapactityByStationWerks(stationBasic.getStationNumber());
String startTime = "2024-12-22 16:00:00";
// 获取当前时间(不含日期)
LocalTime now = LocalTime.now();
// 提取时、分、秒
int hour = now.getHour()-8; // 0-23
String hours = String.valueOf(hour);
if(hour<10)
{
hours="0"+hours;
}
int minute = now.getMinute(); // 0-59
String minutes = String.valueOf(minute);
if(minute<10)
{
minutes="0"+minutes;
}
int second = now.getSecond(); // 0-59
String seconds = String.valueOf(second);
if(second<10)
{
seconds="0"+seconds;
}
String endTime = "2024-12-23 "+hours+":"+minutes+":"+seconds;
if ("FDZ".equals(stationBasic.getStationType())) { if ("FDZ".equals(stationBasic.getStationType())) {
activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime( activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeM(
CommonConstans.xiazaoActivePowerPoint, stationBasic.getBoosterGatewayId()); CommonConstans.xiazaoActivePowerPoint, stationBasic.getBoosterGatewayId(),startTime,endTime);
otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.xiazaoWindSpeedrPoint, otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeM(CommonConstans.xiazaoWindSpeedrPoint,
stationBasic.getFanGatewayId()); stationBasic.getFanGatewayId(),startTime,endTime);
groupMap = otherList.stream().collect(Collectors.groupingBy(IndicatorData::getCreatedTime, groupMap = otherList.stream().collect(Collectors.groupingBy(IndicatorData::getCreatedTime,
Collectors.averagingDouble(IndicatorData::getValueF))); Collectors.averagingDouble(IndicatorData::getValueF)));
} else { } else {
activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime( activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeM(
CommonConstans.taiheActivePowerPoint, stationBasic.getBoosterGatewayId()); CommonConstans.taiheActivePowerPoint, stationBasic.getBoosterGatewayId(),startTime,endTime);
otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.taiheIrradiationPonit, otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeM(CommonConstans.taiheIrradiationPonit,
stationBasic.getBoosterGatewayId()); stationBasic.getBoosterGatewayId(),startTime,endTime);
} }
Integer size = activePowerList.size() > otherList.size() ? otherList.size() : activePowerList.size(); Integer size = activePowerList.size() > otherList.size() ? otherList.size() : activePowerList.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
...@@ -741,16 +765,40 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -741,16 +765,40 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
List<IndicatorData> indicatorDataListWindSpeed = new ArrayList<>(); List<IndicatorData> indicatorDataListWindSpeed = new ArrayList<>();
List<IndicatorData> indicatorDataListActivePower = new ArrayList<>(); List<IndicatorData> indicatorDataListActivePower = new ArrayList<>();
indicatorDataListWindSpeed = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeAndEquipmentNumber("瞬时风速", String startTime = "2024-12-22 16:00:00";
name, gatewayId); // 获取当前时间(不含日期)
LocalTime now = LocalTime.now();
// 提取时、分、秒
int hour = now.getHour()-8; // 0-23
String hours = String.valueOf(hour);
if(hour<10)
{
hours="0"+hours;
}
int minute = now.getMinute(); // 0-59
String minutes = String.valueOf(minute);
if(minute<10)
{
minutes="0"+minutes;
}
int second = now.getSecond(); // 0-59
String seconds = String.valueOf(second);
if(second<10)
{
seconds="0"+seconds;
}
String endTime = "2024-12-23 "+hours+":"+minutes+":"+seconds;
indicatorDataListWindSpeed = indicatorDataMapper.selectDataByequipmentIndexNameAndtimeAndEquipmentNumberM("瞬时风速",
name, gatewayId,startTime,endTime);
indicatorDataListActivePower = indicatorDataMapper indicatorDataListActivePower = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeAndEquipmentNumber("有功功率", name, gatewayId); .selectDataByequipmentIndexNameAndtimeAndEquipmentNumberM("有功功率", name, gatewayId,startTime,endTime);
List<String> windSpeeds = new ArrayList<>(); List<String> windSpeeds = new ArrayList<>();
List<String> activePowers = new ArrayList<>(); List<String> activePowers = new ArrayList<>();
List<String> axisData = new ArrayList<>(); List<String> axisData = new ArrayList<>();
Integer size = indicatorDataListWindSpeed.size() > indicatorDataListActivePower.size() Integer size = indicatorDataListWindSpeed.size() > indicatorDataListActivePower.size()
? indicatorDataListActivePower.size() ? indicatorDataListActivePower.size()
: indicatorDataListWindSpeed.size(); : indicatorDataListWindSpeed.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
windSpeeds.add(String.format(CommonConstans.Twodecimalplaces, windSpeeds.add(String.format(CommonConstans.Twodecimalplaces,
Double.valueOf(indicatorDataListWindSpeed.get(i).getValue()))); Double.valueOf(indicatorDataListWindSpeed.get(i).getValue())));
...@@ -772,9 +820,32 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -772,9 +820,32 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public Map<String, Object> getDetailsWindSpeeds(String gatewayId, String name) { public Map<String, Object> getDetailsWindSpeeds(String gatewayId, String name) {
String startTime = "2024-12-22 16:00:00";
// 获取当前时间(不含日期)
LocalTime now = LocalTime.now();
// 提取时、分、秒
int hour = now.getHour()-8; // 0-23
String hours = String.valueOf(hour);
if(hour<10)
{
hours="0"+hours;
}
int minute = now.getMinute(); // 0-59
String minutes = String.valueOf(minute);
if(minute<10)
{
minutes="0"+minutes;
}
int second = now.getSecond(); // 0-59
String seconds = String.valueOf(second);
if(second<10)
{
seconds="0"+seconds;
}
String endTime = "2024-12-23 "+hours+":"+minutes+":"+seconds;
List<IndicatorData> indicatorDataListActivePowers = new ArrayList<>(); List<IndicatorData> indicatorDataListActivePowers = new ArrayList<>();
indicatorDataListActivePowers = indicatorDataMapper indicatorDataListActivePowers = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeAndEquipmentNumber("有功功率", name, gatewayId); .selectDataByequipmentIndexNameAndtimeAndEquipmentNumberM("有功功率", name, gatewayId,startTime,endTime);
List<String> axisData = new ArrayList<>(); List<String> axisData = new ArrayList<>();
List<String> activePowers = new ArrayList<>(); List<String> activePowers = new ArrayList<>();
for (int i = 0; i < indicatorDataListActivePowers.size(); i++) { for (int i = 0; i < indicatorDataListActivePowers.size(); i++) {
...@@ -1358,7 +1429,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1358,7 +1429,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
stringStringHashMap.put("electricity", stringStringHashMap.put("electricity",
String.format(CommonConstans.Fourdecimalplaces, String.format(CommonConstans.Fourdecimalplaces,
ObjectUtils.isEmpty(electricitySqlMap.get(esEquipments.getEquipmentNumber())) ? 0.0000 ObjectUtils.isEmpty(electricitySqlMap.get(esEquipments.getEquipmentNumber())) ? 0.0000
: Double.valueOf(electricitySqlMap.get(esEquipments.getEquipmentNumber())))); : Double.valueOf(electricitySqlMap.get(esEquipments.getEquipmentNumber()))/10000));
resultList.add(stringStringHashMap); resultList.add(stringStringHashMap);
} }
// 构建平台数据 // 构建平台数据
...@@ -2011,7 +2082,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -2011,7 +2082,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
SjglZsjZsbtz sjglZsjZsbtz = sjglZsjZsbtzMapper.selectOne(queryWrapper); SjglZsjZsbtz sjglZsjZsbtz = sjglZsjZsbtzMapper.selectOne(queryWrapper);
resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName().split("区域/")[1]); resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName().split("区域/")[1]);
resultMap.put("equipmentIndexName", null == sjglZsjZsbtz.getGgxh() ? "" : sjglZsjZsbtz.getGgxh()); //resultMap.put("equipmentIndexName", null == sjglZsjZsbtz.getGgxh() ? "" : sjglZsjZsbtz.getGgxh());
resultMap.put("equipmentInfoName", list.get(0).getEquipmentSpecificName().substring(5).replace("/", " ")); resultMap.put("equipmentInfoName", list.get(0).getEquipmentSpecificName().substring(5).replace("/", " "));
} }
return resultMap; return resultMap;
...@@ -2307,8 +2378,31 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -2307,8 +2378,31 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public Map<String, Object> hlWindSpeeds(String gatewayId, String equipNum) { public Map<String, Object> hlWindSpeeds(String gatewayId, String equipNum) {
String startTime = "2024-12-22 16:00:00";
// 获取当前时间(不含日期)
LocalTime now = LocalTime.now();
// 提取时、分、秒
int hour = now.getHour()-8; // 0-23
String hours = String.valueOf(hour);
if(hour<10)
{
hours="0"+hours;
}
int minute = now.getMinute(); // 0-59
String minutes = String.valueOf(minute);
if(minute<10)
{
minutes="0"+minutes;
}
int second = now.getSecond(); // 0-59
String seconds = String.valueOf(second);
if(second<10)
{
seconds="0"+seconds;
}
String endTime = "2024-12-23 "+hours+":"+minutes+":"+seconds;
List<IndicatorData> originarPVs = indicatorDataMapper List<IndicatorData> originarPVs = indicatorDataMapper
.selectDataByequipmentIndexNameAndtimeAndEquipmentNumberPv(equipNum, gatewayId); .selectDataByequipmentIndexNameAndtimeAndEquipmentNumberPvM(equipNum, gatewayId,startTime,endTime);
originarPVs.size(); originarPVs.size();
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
Map<String, List<IndicatorData>> data = originarPVs.stream().collect( Map<String, List<IndicatorData>> data = originarPVs.stream().collect(
......
...@@ -14,12 +14,22 @@ public interface IndicatorDataMapper extends BaseMapper<IndicatorData> { ...@@ -14,12 +14,22 @@ public interface IndicatorDataMapper extends BaseMapper<IndicatorData> {
@Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and equipment_number = #{equipmentNumber} and ts >= TODAY()-8h and gateway_id =#{gatewayId}") @Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and equipment_number = #{equipmentNumber} and ts >= TODAY()-8h and gateway_id =#{gatewayId}")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumber(@Param("equipmentIndexName") String equipmentIndexName, @Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId); List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumber(@Param("equipmentIndexName") String equipmentIndexName, @Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId);
@Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and equipment_number = #{equipmentNumber} and ts >=#{startime} and ts<=#{endtime} and gateway_id =#{gatewayId}")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumberM(@Param("equipmentIndexName") String equipmentIndexName, @Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId, @Param("startime") String startime, @Param("endtime") String endtime);
@Select("select `value`, created_time, `value_f` as valueF, equipment_index_name from iot_data.indicator_data where equipment_index_name like '%路电流%' and equipment_number = #{equipmentNumber} and ts >= TODAY()-8h and gateway_id =#{gatewayId}") @Select("select `value`, created_time, `value_f` as valueF, equipment_index_name from iot_data.indicator_data where equipment_index_name like '%路电流%' and equipment_number = #{equipmentNumber} and ts >= TODAY()-8h and gateway_id =#{gatewayId}")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumberPv(@Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId); List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumberPv(@Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId);
@Select("select `value`, created_time, `value_f` as valueF, equipment_index_name from iot_data.indicator_data where equipment_index_name like '%路电流%' and equipment_number = #{equipmentNumber} and ts >=#{startime} and ts<=#{endtime} and gateway_id =#{gatewayId}")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeAndEquipmentNumberPvM(@Param("equipmentNumber") String equipmentNumber, @Param("gatewayId") String gatewayId, @Param("startime") String startime, @Param("endtime") String endtime);
@Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and ts >=TODAY()-8h") @Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and ts >=TODAY()-8h")
List<IndicatorData> selectDataByequipmentIndexNameAndtime(@Param("equipmentIndexName") String equipmentIndexName, @Param("gatewayId") String gatewayId); List<IndicatorData> selectDataByequipmentIndexNameAndtime(@Param("equipmentIndexName") String equipmentIndexName, @Param("gatewayId") String gatewayId);
@Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and ts >=TODAY()-#{day}d-8h") @Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and ts >=TODAY()-#{day}d-8h")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeJp(@Param("equipmentIndexName") String equipmentIndexName, @Param("gatewayId") String gatewayId,@Param("day") Long day); List<IndicatorData> selectDataByequipmentIndexNameAndtimeJp(@Param("equipmentIndexName") String equipmentIndexName, @Param("gatewayId") String gatewayId,@Param("day") Long day);
@Select("select `value`, created_time, `value_f` as valueF from iot_data.indicator_data where equipment_index_name =#{equipmentIndexName} and ts >=#{startime} and ts<=#{endtime}")
List<IndicatorData> selectDataByequipmentIndexNameAndtimeM(@Param("equipmentIndexName") String equipmentIndexName, @Param("gatewayId") String gatewayId, @Param("startime") String startime, @Param("endtime") String endtime);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment