功能优化
This commit is contained in:
@@ -50,6 +50,7 @@ import com.njcn.system.pojo.po.DictData;
|
|||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -76,6 +77,7 @@ import static java.util.regex.Pattern.*;
|
|||||||
* @author xy
|
* @author xy
|
||||||
* @since 2024-06-17
|
* @since 2024-06-17
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, LineWarning> implements ILineWarningService {
|
public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, LineWarning> implements ILineWarningService {
|
||||||
@@ -374,11 +376,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getFreqDev(param.getLineId()
|
List<DataV> freqDevList = getFreqDev(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getFreqDev();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(freqDevList)) {
|
||||||
|
double maxData = freqDevList.get(0).getFreqDev();
|
||||||
channelEachData(item, maxData > 0 ? overlimit.getFreqDev() : -overlimit.getFreqDev(), "getFreqDev", result, DicDataEnum.FREQUENCY_DEV.getName(), timeInterval, maxData);
|
channelEachData(item, maxData > 0 ? overlimit.getFreqDev() : -overlimit.getFreqDev(), "getFreqDev", result, DicDataEnum.FREQUENCY_DEV.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -394,6 +401,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
);
|
);
|
||||||
|
if (CollUtil.isNotEmpty(voltageList)) {
|
||||||
List<Double> voltage = voltageList.stream().map(DataV::getVuDev).collect(Collectors.toList());
|
List<Double> voltage = voltageList.stream().map(DataV::getVuDev).collect(Collectors.toList());
|
||||||
if (Math.abs(voltage.get(0)) >= Math.abs(voltage.get(1))) {
|
if (Math.abs(voltage.get(0)) >= Math.abs(voltage.get(1))) {
|
||||||
overLimit = overlimit.getUvoltageDev();
|
overLimit = overlimit.getUvoltageDev();
|
||||||
@@ -403,6 +411,9 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
maxData = voltage.get(1);
|
maxData = voltage.get(1);
|
||||||
}
|
}
|
||||||
channelEachData(item, overLimit, "getVoltageDev", result, DicDataEnum.VOLTAGE_DEV.getName(), timeInterval, maxData);
|
channelEachData(item, overLimit, "getVoltageDev", result, DicDataEnum.VOLTAGE_DEV.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -412,11 +423,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getFlicker(param.getLineId()
|
List<DataPlt> dataPltList = getFlicker(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getPlt();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(dataPltList)) {
|
||||||
|
double maxData = dataPltList.get(0).getPlt();
|
||||||
channelEachData(item, overlimit.getFlicker(), "getFlicker", result, DicDataEnum.FLICKER.getName(), timeInterval, maxData);
|
channelEachData(item, overlimit.getFlicker(), "getFlicker", result, DicDataEnum.FLICKER.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -426,11 +442,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getVThd(param.getLineId()
|
List<DataV> dataVList = getVThd(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getVThd();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(dataVList)) {
|
||||||
|
double maxData = dataVList.get(0).getVThd();
|
||||||
channelEachData(item, overlimit.getUaberrance(), "getUaberrance", result, DicDataEnum.THD_V.getName(), timeInterval, maxData);
|
channelEachData(item, overlimit.getUaberrance(), "getUaberrance", result, DicDataEnum.THD_V.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -441,11 +462,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getVThd(param.getLineId()
|
List<DataV> dataVList = getVThd(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getVThd();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(dataVList)) {
|
||||||
|
double maxData = dataVList.get(0).getVThd();
|
||||||
channelEachData(item, overlimit.getUaberrance(), "getUaberrance", result, DicDataEnum.THD_V.getName(), timeInterval, maxData);
|
channelEachData(item, overlimit.getUaberrance(), "getUaberrance", result, DicDataEnum.THD_V.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//谐波电压含有率2~25次
|
//谐波电压含有率2~25次
|
||||||
@@ -453,10 +479,15 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list2)) {
|
if (CollUtil.isNotEmpty(list2)) {
|
||||||
list2.forEach(item -> {
|
list2.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
DataHarmRateV dataHarmRateV = getDataHarmRateV(param.getLineId()
|
List<DataHarmRateV> dataHarmRateVList = getDataHarmRateV(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59").get(0);
|
, time + " 23:59:59");
|
||||||
|
if (CollUtil.isNotEmpty(dataHarmRateVList)) {
|
||||||
|
DataHarmRateV dataHarmRateV = dataHarmRateVList.get(0);
|
||||||
channelHarmonicData(dataHarmRateV, null, null, item, overlimit, result, "getUharm", DicDataEnum.HARMONIC_VOLTAGE.getName(), timeInterval, 2, 25);
|
channelHarmonicData(dataHarmRateV, null, null, item, overlimit, result, "getUharm", DicDataEnum.HARMONIC_VOLTAGE.getName(), timeInterval, 2, 25);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -466,10 +497,15 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
DataI dataI = getDataI(param.getLineId()
|
List<DataI> dataIList = getDataI(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59").get(0);
|
, time + " 23:59:59");
|
||||||
|
if (CollUtil.isNotEmpty(dataIList)) {
|
||||||
|
DataI dataI = dataIList.get(0);
|
||||||
channelHarmonicData(null, dataI, null, item, overlimit, result, "getIharm", DicDataEnum.HARMONIC_CURRENT.getName(), timeInterval, 2, 25);
|
channelHarmonicData(null, dataI, null, item, overlimit, result, "getIharm", DicDataEnum.HARMONIC_CURRENT.getName(), timeInterval, 2, 25);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -479,10 +515,15 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
DataInHarmV dataInHarmV = getDataInHarmV(param.getLineId()
|
List<DataInHarmV> dataInHarmVList = getDataInHarmV(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59").get(0);
|
, time + " 23:59:59");
|
||||||
|
if (CollUtil.isNotEmpty(dataInHarmVList)) {
|
||||||
|
DataInHarmV dataInHarmV = dataInHarmVList.get(0);
|
||||||
channelHarmonicData(null, null, dataInHarmV, item, overlimit, result, "getInuharm", DicDataEnum.INTERHARMONIC_VOLTAGE.getName(), timeInterval, 1, 16);
|
channelHarmonicData(null, null, dataInHarmV, item, overlimit, result, "getInuharm", DicDataEnum.INTERHARMONIC_VOLTAGE.getName(), timeInterval, 1, 16);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -492,11 +533,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getUnbalance(param.getLineId()
|
List<DataV> dataVList = getUnbalance(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getVUnbalance();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(dataVList)) {
|
||||||
|
double maxData = dataVList.get(0).getVUnbalance();
|
||||||
channelEachData(item, overlimit.getUbalance(), "getUbalance", result, DicDataEnum.PHASE_VOLTAGE.getName(), timeInterval, maxData);
|
channelEachData(item, overlimit.getUbalance(), "getUbalance", result, DicDataEnum.PHASE_VOLTAGE.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -506,11 +552,16 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (CollUtil.isNotEmpty(list)) {
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
String time = item.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
double maxData = getINeg(param.getLineId()
|
List<DataI> dataIList = getINeg(param.getLineId()
|
||||||
, time + " 00:00:00"
|
, time + " 00:00:00"
|
||||||
, time + " 23:59:59"
|
, time + " 23:59:59"
|
||||||
).get(0).getINeg();
|
);
|
||||||
|
if (CollUtil.isNotEmpty(dataIList)) {
|
||||||
|
double maxData = dataIList.get(0).getINeg();
|
||||||
channelEachData(item, overlimit.getINeg(), "getINeg", result, DicDataEnum.NEG_CURRENT.getName(), timeInterval, maxData);
|
channelEachData(item, overlimit.getINeg(), "getINeg", result, DicDataEnum.NEG_CURRENT.getName(), timeInterval, maxData);
|
||||||
|
} else {
|
||||||
|
log.info("{}原始数据缺失", time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -904,12 +955,12 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取负序电压不平衡度-日最大值-最大值
|
* 获取负序电压不平衡度-日最大值-CP95
|
||||||
*/
|
*/
|
||||||
public List<DataV> getUnbalance(String lineIndex, String startTime, String endTime) {
|
public List<DataV> getUnbalance(String lineIndex, String startTime, String endTime) {
|
||||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
|
||||||
influxQueryWrapper.eq(DataV::getLineId, lineIndex)
|
influxQueryWrapper.eq(DataV::getLineId, lineIndex)
|
||||||
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
|
.eq(DataV::getValueType, InfluxDbSqlConstant.CP95)
|
||||||
.eq(DataV::getPhaseType, "T")
|
.eq(DataV::getPhaseType, "T")
|
||||||
.max(DataV::getVUnbalance)
|
.max(DataV::getVUnbalance)
|
||||||
.between(DataV::getTime, startTime, endTime);
|
.between(DataV::getTime, startTime, endTime);
|
||||||
@@ -917,12 +968,12 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取负序电流-日最大值-最大值
|
* 获取负序电流-日最大值-CP95
|
||||||
*/
|
*/
|
||||||
public List<DataI> getINeg(String lineIndex, String startTime, String endTime) {
|
public List<DataI> getINeg(String lineIndex, String startTime, String endTime) {
|
||||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class);
|
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class);
|
||||||
influxQueryWrapper.eq(DataI::getLineId, lineIndex)
|
influxQueryWrapper.eq(DataI::getLineId, lineIndex)
|
||||||
.eq(DataI::getValueType, InfluxDbSqlConstant.MAX)
|
.eq(DataI::getValueType, InfluxDbSqlConstant.CP95)
|
||||||
.eq(DataI::getPhaseType, "T")
|
.eq(DataI::getPhaseType, "T")
|
||||||
.max(DataI::getINeg)
|
.max(DataI::getINeg)
|
||||||
.between(DataI::getTime, startTime, endTime);
|
.between(DataI::getTime, startTime, endTime);
|
||||||
|
|||||||
Reference in New Issue
Block a user