告警仪表盘

This commit is contained in:
lai
2025-07-04 17:08:48 +08:00
parent 1a10a5a9d1
commit a98aeda96f
3 changed files with 1384 additions and 0 deletions

View File

@@ -373,3 +373,137 @@ export async function top3Sel(filterFlag?: string) {
}
return result;
}
export async function alarmDashGetAct() {
let totalSQL = `select count(*) as total from alarm where alarm_status='1' `;
let rowsSQL = `select ne_type,alarm_id,alarm_title,orig_severity,event_time from alarm WHERE alarm_status='1' and orig_severity!='Event' order by event_time desc limit 0,10 `;
// 查询
// 发起请求
const result = await request({
url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
SQL: totalSQL,
rowsSQL: rowsSQL,
},
});
// 解析数据
if (result.code === RESULT_CODE_SUCCESS) {
const data: DataList = {
total: 0,
rows: [],
code: result.code,
msg: result.msg,
};
result.data.data.forEach((item: any) => {
const itemData = item['alarm'];
if (Array.isArray(itemData)) {
if (itemData.length === 1 && itemData[0]['total'] >= 0) {
data.total = itemData[0]['total'];
} else {
data.rows = itemData.map(v => parseObjLineToHump(v));
}
}
});
return data;
}
return result;
}
export async function alarmDashGetHis() {
let totalSQL = `select count(*) as total from alarm where alarm_status='0' `;
let rowsSQL = `select ne_type,alarm_id,alarm_title,orig_severity,event_time from alarm WHERE alarm_status='0' and orig_severity!='Event' order by event_time desc limit 0,10 `;
// 查询
// 发起请求
const result = await request({
url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
SQL: totalSQL,
rowsSQL: rowsSQL,
},
});
// 解析数据
if (result.code === RESULT_CODE_SUCCESS) {
const data: DataList = {
total: 0,
rows: [],
code: result.code,
msg: result.msg,
};
result.data.data.forEach((item: any) => {
const itemData = item['alarm'];
if (Array.isArray(itemData)) {
if (itemData.length === 1 && itemData[0]['total'] >= 0) {
data.total = itemData[0]['total'];
} else {
data.rows = itemData.map(v => parseObjLineToHump(v));
}
}
});
return data;
}
return result;
}
export async function getAlarmTrend(params: any) {
const days = Number(params.days || 1);
let groupFormat = days === 1 ? '%H:00' : '%Y-%m-%d';
let timeCondition = days === 1
? `event_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)`
: `event_time >= DATE_SUB(CURDATE(), INTERVAL ${days} DAY)`;
let totalSQL = `select count(*) as total from alarm where alarm_status='0' `;
let rowsSQL = ` SELECT
DATE_FORMAT(event_time, '${groupFormat}') AS time,
SUM(CASE WHEN orig_severity='Critical' THEN 1 ELSE 0 END) AS Critical,
SUM(CASE WHEN orig_severity='Major' THEN 1 ELSE 0 END) AS Major,
SUM(CASE WHEN orig_severity='Minor' THEN 1 ELSE 0 END) AS Minor,
SUM(CASE WHEN orig_severity='Warning' THEN 1 ELSE 0 END) AS Warning
FROM alarm
WHERE alarm_status='0'
AND ${timeCondition}
GROUP BY time
ORDER BY time ASC `;
// 查询
// 发起请求
const result = await request({
url: `/api/rest/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
SQL: totalSQL,
rowsSQL: rowsSQL,
},
});
// 解析数据
if (result.code === RESULT_CODE_SUCCESS) {
const data: DataList = {
total: 0,
rows: [],
code: result.code,
msg: result.msg,
};
result.data.data.forEach((item: any) => {
const itemData = item['alarm'];
if (Array.isArray(itemData)) {
if (itemData.length === 1 && itemData[0]['total'] >= 0) {
data.total = itemData[0]['total'];
} else {
data.rows = itemData.map(v => parseObjLineToHump(v));
}
}
});
return data;
}
return result;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

File diff suppressed because it is too large Load Diff