|
@ -97,6 +97,11 @@ async function list (ctx) { |
|
|
${limit && page ? 'OFFSET ' + parseInt(limit) * parseInt(page) : ''} |
|
|
${limit && page ? 'OFFSET ' + parseInt(limit) * parseInt(page) : ''} |
|
|
`).toPromise();
|
|
|
`).toPromise();
|
|
|
|
|
|
|
|
|
|
|
|
// State = 3 是 自动恢复 / 4 是 人工恢复 / 其他数字 是 需要恢复
|
|
|
|
|
|
// state = 2 是 等级提升 / 1 是持续产生 / 0 是首次产生
|
|
|
|
|
|
|
|
|
|
|
|
// SourceType 0: 'DTU' / 1: '传感器' / 2: '测点'
|
|
|
|
|
|
|
|
|
const confirmedAlarm = alarmRes |
|
|
const confirmedAlarm = alarmRes |
|
|
// TODO: 开发临时注释
|
|
|
// TODO: 开发临时注释
|
|
|
// .filter(ar => ar.State && ar.State > 2)
|
|
|
// .filter(ar => ar.State && ar.State > 2)
|
|
@ -113,9 +118,17 @@ async function list (ctx) { |
|
|
`).toPromise() :
|
|
|
`).toPromise() :
|
|
|
[]; |
|
|
[]; |
|
|
|
|
|
|
|
|
// State = 3 是 自动恢复 / 4 是 人工恢复 / 其他数字 是 需要恢复
|
|
|
const alarmDetailCount = await clickHouse.dataAlarm.query(` |
|
|
// state = 2 是 等级提升 / 1 是持续产生 / 0 是首次产生
|
|
|
SELECT |
|
|
// SourceType 0: 'DTU' / 1: '传感器' / 2: '测点'
|
|
|
count(Time) AS count, AlarmId |
|
|
|
|
|
FROM |
|
|
|
|
|
alarm_details |
|
|
|
|
|
WHERE |
|
|
|
|
|
AlarmId IN (${confirmedAlarm.join(',')}) |
|
|
|
|
|
AND AlarmState < 3 |
|
|
|
|
|
GROUP BY AlarmId |
|
|
|
|
|
`).toPromise()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
alarmRes.forEach(ar => { |
|
|
alarmRes.forEach(ar => { |
|
|
ar.pepProject = (anxinStruc.find(as => as.strucId == ar.StructureId) || |
|
|
ar.pepProject = (anxinStruc.find(as => as.strucId == ar.StructureId) || |
|
@ -133,6 +146,7 @@ async function list (ctx) { |
|
|
] |
|
|
] |
|
|
}).pepProject |
|
|
}).pepProject |
|
|
|
|
|
|
|
|
|
|
|
// 最新告警详情 - 确认信息
|
|
|
let corConfirmedData = (confirmedAlarmDetailMax.find(cdm => cdm.AlarmId == ar.AlarmId) || {}); |
|
|
let corConfirmedData = (confirmedAlarmDetailMax.find(cdm => cdm.AlarmId == ar.AlarmId) || {}); |
|
|
if (corConfirmedData.AlarmState && corConfirmedData.AlarmState > 2) { |
|
|
if (corConfirmedData.AlarmState && corConfirmedData.AlarmState > 2) { |
|
|
|
|
|
|
|
@ -141,6 +155,9 @@ async function list (ctx) { |
|
|
} |
|
|
} |
|
|
ar.confirmedContent = 'corConfirmedData.Content' |
|
|
ar.confirmedContent = 'corConfirmedData.Content' |
|
|
ar.confirmedTime = 'corConfirmedData.Time' |
|
|
ar.confirmedTime = 'corConfirmedData.Time' |
|
|
|
|
|
|
|
|
|
|
|
// 告警详情的数量
|
|
|
|
|
|
ar.detailCount = (alarmDetailCount.find(adc => adc.AlarmId == ar.AlarmId) || { count: 0 }).count |
|
|
}) |
|
|
}) |
|
|
ctx.body = alarmRes |
|
|
ctx.body = alarmRes |
|
|
} else { |
|
|
} else { |
|
|