|
@@ -148,7 +148,7 @@ public class NoiseLeakAlarmService {
|
|
|
boolean newlyConfirmed = confirmedLeakEncode.add(encode);
|
|
boolean newlyConfirmed = confirmedLeakEncode.add(encode);
|
|
|
if (alarmCount == 1 || newlyConfirmed) {
|
|
if (alarmCount == 1 || newlyConfirmed) {
|
|
|
run(encode, "一级漏失告警短信", () -> deviceNotifier.sendLevelOneSms(encode, "漏失报警", "RMS=" + rms));
|
|
run(encode, "一级漏失告警短信", () -> deviceNotifier.sendLevelOneSms(encode, "漏失报警", "RMS=" + rms));
|
|
|
- if (saveLeakAlarm(encode, rms, count, lowerFreq, upperFreq)) {
|
|
|
|
|
|
|
+ if (saveLeakAlarm(encode, rms, count, maxValue, lowerFreq, upperFreq)) {
|
|
|
log.info("确认漏失告警: encode={}, 本次确认采用{}份独立采样", encode, count);
|
|
log.info("确认漏失告警: encode={}, 本次确认采用{}份独立采样", encode, count);
|
|
|
} else {
|
|
} else {
|
|
|
confirmedLeakEncode.remove(encode);
|
|
confirmedLeakEncode.remove(encode);
|
|
@@ -184,18 +184,22 @@ public class NoiseLeakAlarmService {
|
|
|
.le(NoiseInfo::getCenterFrequency, upperFreq));
|
|
.le(NoiseInfo::getCenterFrequency, upperFreq));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private boolean saveLeakAlarm(String encode, Integer rms, long count, double lowerFreq, double upperFreq) {
|
|
|
|
|
|
|
+ private boolean saveLeakAlarm(String encode, Integer rms, long count, Double maxValue,
|
|
|
|
|
+ double lowerFreq, double upperFreq) {
|
|
|
AlarmData alarm = new AlarmData();
|
|
AlarmData alarm = new AlarmData();
|
|
|
alarm.setDeviceCode(encode);
|
|
alarm.setDeviceCode(encode);
|
|
|
alarm.setWarningType("漏失报警");
|
|
alarm.setWarningType("漏失报警");
|
|
|
alarm.setWarningCode(LEAK_WARNING_CODE);
|
|
alarm.setWarningCode(LEAK_WARNING_CODE);
|
|
|
|
|
+ // 漏失告警只在 alarm_data 中保存 RMS 的越限上限;最小值仅用于恢复判断,不入库。
|
|
|
|
|
+ if (maxValue != null) {
|
|
|
|
|
+ alarm.setMaxValue(BigDecimal.valueOf(maxValue));
|
|
|
|
|
+ }
|
|
|
if (rms != null) {
|
|
if (rms != null) {
|
|
|
alarm.setActualValue(BigDecimal.valueOf(rms));
|
|
alarm.setActualValue(BigDecimal.valueOf(rms));
|
|
|
}
|
|
}
|
|
|
alarm.setAlarmLevel(1);
|
|
alarm.setAlarmLevel(1);
|
|
|
alarm.setAlarmStatus(0);
|
|
alarm.setAlarmStatus(0);
|
|
|
alarm.setCreateTime(LocalDateTime.now());
|
|
alarm.setCreateTime(LocalDateTime.now());
|
|
|
- alarm.setCreateTime(LocalDateTime.now());
|
|
|
|
|
alarm.setRemark(alarmCount == 1
|
|
alarm.setRemark(alarmCount == 1
|
|
|
? String.format("漏失监测单次独立采样确认:rms≥阈值且在漏失频段[%.0f,%.0f]Hz", lowerFreq, upperFreq)
|
|
? String.format("漏失监测单次独立采样确认:rms≥阈值且在漏失频段[%.0f,%.0f]Hz", lowerFreq, upperFreq)
|
|
|
: String.format("漏失监测确认漏失:最近%d分钟内%d次采样rms≥阈值且在漏失频段[%.0f,%.0f]Hz",
|
|
: String.format("漏失监测确认漏失:最近%d分钟内%d次采样rms≥阈值且在漏失频段[%.0f,%.0f]Hz",
|