---活动告警,历史告警,故障通用设置

This commit is contained in:
lai
2023-10-08 11:52:24 +08:00
parent fd37866dd4
commit 7e723d0440
6 changed files with 2011 additions and 15 deletions

View File

@@ -11,7 +11,7 @@ import { ConsoleSqlOutlined } from '@ant-design/icons-vue';
* @param query 查询参数
* @returns object
*/
export async function listAct(query: Record<string, any>,filterSQl:string) {
export async function listAct(query: Record<string, any>, filterSQl: string) {
let totalSQL = `select count(*) as total from alarm where alarm_status='1' ${filterSQl} `;
let rowsSQL = `select * from alarm where alarm_status='1' ${filterSQl}`;
// 查询
@@ -202,3 +202,48 @@ export function listSync() {
method: 'get',
});
}
/**
* 活动告警导出
* @param query 查询参数
* @returns bolb
*/
export async function exportAll(query: Record<string, any>) {
let rowsSQL = `select * from alarm where alarm_status='1'`;
// 查询
let querySQL = '';
querySQL += query.alarm_code
? ` and alarm_code = '${query.alarm_code}' `
: '';
querySQL += query.alarm_type
? ` and alarm_type = '${query.alarm_type}' `
: '';
querySQL += query.pv_flag ? ` and pv_flag = '${query.pv_flag}' ` : '';
querySQL += query.orig_severity
? ` and orig_severity in('${query.orig_severity}' )`
: '';
querySQL += query.ne_id ? ` and ne_id like '%${query.ne_id}%' ` : '';
querySQL += query.ne_name ? ` and ne_name like '%${query.ne_name}%' ` : '';
querySQL += query.ne_type ? ` and ne_type like '%${query.ne_type}%' ` : '';
querySQL +=
query.beginTime && query.endTime
? ` and event_time BETWEEN '${query.beginTime}' and ' ${query.endTime}'`
: '';
// 发起请求
const result = await request({
url: `/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
rowsSQL: rowsSQL + querySQL,
},
});
if (result.code === RESULT_CODE_SUCCESS) {
let v = result.data.data[0];
const vArr = parseObjLineToHump(v['alarm']);
result.data = vArr == null ? [] : vArr;
}
return result;
}

View File

@@ -0,0 +1,197 @@
import {
RESULT_CODE_ERROR,
RESULT_CODE_SUCCESS,
RESULT_MSG_ERROR,
RESULT_MSG_SUCCESS,
} from '@/constants/result-constants';
import { request } from '@/plugins/http-fetch';
import { parseObjLineToHump } from '@/utils/parse-utils';
import { toRaw } from 'vue';
/**
* <20><>ѯ<EFBFBD><EFBFBD><E6BEAF><EFBFBD><EFBFBD>
* @param tag <20><><EFBFBD><EFBFBD>ID
* @returns object
*/
export async function getAlarmSet() {
let arr = [];
// <20><>ʷ<EFBFBD><EFBFBD><E6BEAF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
const logDurationResult = await request({
url: `/databaseManagement/v1/omc_db/config`,
method: 'get',
params: {
SQL: `SELECT * FROM config WHERE config_tag = 'historyDuration'`,
},
});
arr.push(logDurationResult);
// ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const logCapacityResult = await request({
url: `/databaseManagement/v1/omc_db/config`,
method: 'get',
params: {
SQL: `SELECT * FROM config WHERE config_tag = 'syncTaskPeriod'`,
},
});
arr.push(logCapacityResult);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const result = await Promise.allSettled(arr).then(resArr => {
let resultData: any = {};
for (const item of resArr) {
if (item.status === 'rejected') {
continue;
}
const itemV = item.value;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( itemV.code === RESULT_CODE_SUCCESS &&Array.isArray(itemV.data.data))
{
let itemData = itemV.data.data[0];
const v = parseObjLineToHump(itemData['config'][0]);
let vJSON:any ={};
if(v.configTag=='syncTaskPeriod'){
try{
vJSON=JSON.parse(v.valueJson);
}
catch(error){
console.error(error);
}
resultData={...resultData,...vJSON};
}else{
resultData[v.configTag] = parseInt(v.value);
}
}
}
if (Object.keys(resultData).length === 0) {
return { code: RESULT_CODE_ERROR, msg: RESULT_MSG_ERROR, data: {} };
}
return {
code: RESULT_CODE_SUCCESS,
msg: RESULT_MSG_SUCCESS,
data: resultData,
};
});
return result;
}
/**
* <20>޸ĸ澯<C4B8><E6BEAF><EFBFBD><EFBFBD>
* @param data <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
* @returns object
*/
export async function updateAlarmSet(data: Record<string, any>) {
let { historyDuration, ...syncTaskPeriodJson } = data;
let historyDurationJson = { historyDuration };
let arr = [];
// <20><>ʷ<EFBFBD><EFBFBD><E6BEAF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
const historyDurationResult = await request({
url: `/databaseManagement/v1/omc_db/config?WHERE=config_tag='historyDuration'`,
method: 'put',
data: { data: { value: data.historyDuration.toString() } },
});
arr.push(historyDurationResult);
// ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const syncTaskPeriodResult = await request({
url: `/databaseManagement/v1/omc_db/config?WHERE=config_tag='syncTaskPeriod'`,
method: 'put',
data: { data: { value_json: JSON.stringify(syncTaskPeriodJson) } },
});
arr.push(syncTaskPeriodResult);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const result = await Promise.allSettled(arr).then(resArr => {
let resultNum = 0;
for (const item of resArr) {
if (item.status === 'rejected') {
continue;
}
const itemV = item.value;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
let itemData = itemV.data.data;
if (itemV.code === RESULT_CODE_SUCCESS && itemData) {
let rows = itemData.affectedRows;
if (rows) {
resultNum += rows;
}
}
}
// <20>ޱ<EFBFBD><DEB1><EFBFBD>ʱ
if (resultNum === 0) {
return { code: RESULT_CODE_ERROR, msg: RESULT_MSG_ERROR, data: 0 };
}
return {
code: RESULT_CODE_SUCCESS,
msg: RESULT_MSG_SUCCESS,
data: resultNum,
};
});
return result;
}
/**
* <20><>ѯ<EFBFBD>澯ǰת<C7B0>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>
* @param tag <20><><EFBFBD><EFBFBD>ID
* @returns object
*/
export async function getForwardSet() {
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const result = await request({
url: `/databaseManagement/v1/omc_db/config`,
method: 'get',
params: {
SQL: `SELECT * FROM config WHERE config_tag = 'forwardAlarm'`,
},
});
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) {
let data = result.data.data[0];
const v = parseObjLineToHump(data['config'][0]);
let vJSON: any = {};
try {
vJSON = JSON.parse(v.valueJson);
} catch (error) {
console.error(error);
}
return Object.assign(result, {
data: vJSON,
});
}
return result;
}
/**
* <20>޸ĸ澯ǰת<C7B0>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>
* @param data <20><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
* @returns object
*/
export async function updateForwardSet(data: Record<string, any>) {
// return false;
const result = await request({
url: `/databaseManagement/v1/omc_db/config?WHERE=config_tag='forwardAlarm'`,
method: 'put',
data: { data: { value_json: JSON.stringify(data) } },
});
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (result.code === RESULT_CODE_SUCCESS && result.data.data) {
let rows = result.data.data.affectedRows;
if (rows) {
delete result.data;
return result;
} else {
return { code: RESULT_CODE_ERROR, msg: RESULT_MSG_ERROR };
}
}
return result;
}

View File

@@ -0,0 +1,169 @@
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { request } from '@/plugins/http-fetch';
import { parseObjLineToHump } from '@/utils/parse-utils';
import { parseDateToStr } from '@/utils/date-utils';
import useUserStore from '@/store/modules/user';
import { ConsoleSqlOutlined } from '@ant-design/icons-vue';
/**
* <20><>ѯ<EFBFBD>б<EFBFBD>
* @param query <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
* @returns object
*/
export async function listAct(query: Record<string, any>) {
let totalSQL = `select count(*) as total from alarm where alarm_status='0'`;
let rowsSQL = `select * from alarm where alarm_status='0'`;
// <20><>ѯ
let querySQL = '';
querySQL += query.alarm_code
? ` and alarm_code = '${query.alarm_code}' `
: '';
querySQL += query.alarm_type
? ` and alarm_type = '${query.alarm_type}' `
: '';
querySQL += query.pv_flag ? ` and pv_flag = '${query.pv_flag}' ` : '';
querySQL += query.orig_severity
? ` and orig_severity in('${query.orig_severity}' )`
: '';
querySQL += query.ne_id ? ` and ne_id like '%${query.ne_id}%' ` : '';
querySQL += query.ne_name ? ` and ne_name like '%${query.ne_name}%' ` : '';
querySQL += query.ne_type ? ` and ne_type like '%${query.ne_type}%' ` : '';
querySQL +=
query.beginTime && query.endTime
? ` and event_time BETWEEN '${query.beginTime}' and ' ${query.endTime}'`
: '';
// <20><>ҳ
const pageNum = (query.pageNum - 1) * query.pageSize;
const limtSql = ` order by clear_time desc limit ${pageNum},${query.pageSize} `;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const result = await request({
url: `/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
SQL: totalSQL + querySQL,
rowsSQL: rowsSQL + querySQL + limtSql,
},
});
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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;
}
/**
* ȷ<>ϸ澯<CFB8><E6BEAF>Ϣ
* @param data <20><>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
* @returns object
*/
export function updateConfirm(data: Record<string, any>) {
var time = new Date();
const userName = useUserStore().userName;
let finalData = {
alarm: {
ack_time: parseDateToStr(time),
ack_user: userName,
ack_state: '1',
},
};
return request({
url: `/databaseManagement/v1/update/omc_db/alarm?WHERE=id='${data.id}'`,
method: 'put',
data: finalData,
});
}
/**
* ȡ<><C8A1>ȷ<EFBFBD>ϸ澯
* @param data <20><>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
* @returns object
*/
export function cancelConfirm(data: (string | number)[]) {
var time = new Date();
const userName = useUserStore().userName;
let finalData = {
alarm: {
ack_time: parseDateToStr(time),
ack_user: '',
ack_state: '0',
},
};
return request({
url: `/databaseManagement/v1/update/omc_db/alarm?WHERE=id in(${data.join(
','
)})`,
method: 'put',
data: finalData,
});
}
/**
* <20><>ʷ<EFBFBD><EFBFBD><E6BEAF><EFBFBD><EFBFBD>
* @param query <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
* @returns bolb
*/
export async function exportAll(query: Record<string, any>) {
let rowsSQL = `select * from alarm where alarm_status='0'`;
// <20><>ѯ
let querySQL = '';
querySQL += query.alarm_code
? ` and alarm_code = '${query.alarm_code}' `
: '';
querySQL += query.alarm_type
? ` and alarm_type = '${query.alarm_type}' `
: '';
querySQL += query.pv_flag ? ` and pv_flag = '${query.pv_flag}' ` : '';
querySQL += query.orig_severity
? ` and orig_severity in('${query.orig_severity}' )`
: '';
querySQL += query.ne_id ? ` and ne_id like '%${query.ne_id}%' ` : '';
querySQL += query.ne_name ? ` and ne_name like '%${query.ne_name}%' ` : '';
querySQL += query.ne_type ? ` and ne_type like '%${query.ne_type}%' ` : '';
querySQL +=
query.beginTime && query.endTime
? ` and event_time BETWEEN '${query.beginTime}' and ' ${query.endTime}'`
: '';
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const result = await request({
url: `/databaseManagement/v1/select/omc_db/alarm`,
method: 'get',
params: {
rowsSQL: rowsSQL + querySQL,
},
});
if (result.code === RESULT_CODE_SUCCESS) {
let v = result.data.data[0];
const vArr = parseObjLineToHump(v['alarm']);
result.data = vArr == null ? [] : vArr;
}
return result;
}