var renderDB = function(list) {
let {connectinfo, waitevent, sessioninfo} = list;
// 数据重组
let newArr = [];
for (let key in connectinfo) {
for (let j in sessioninfo) {
if (sessioninfo[j].instance_name == connectinfo[key].instance_name) {
connectinfo[key].sessioncount = sessioninfo[j].sessioncount;
connectinfo[key].SESSIONTHRESHOLD = sessioninfo[j].SESSIONTHRESHOLD;
connectinfo[key].sessioninfo_status = sessioninfo[j].AVAILABILITY_STATUS
}
}
let arr = [];
for (let i = 0; i < waitevent.length; i++) {
if (waitevent[i].instance_name == connectinfo[key].instance_name) {
let obj = {
events: waitevent[i].events,
cnt: waitevent[i].cnt,
status: waitevent[i].AVAILABILITY_STATUS
};
arr.push(obj);
}
}
connectinfo[key].waitevent = arr;
newArr.push(connectinfo[key]);
}
// red部分提取 yellow部分提取
let errorArr = [];
let warnArr = [];
let succArr = [];
for (let kk in newArr) {
let isRed = false;
let isYellow = false;
if (newArr[kk].sessioninfo_status == 'red') {
isRed = true;
}
if (newArr[kk].dbstatus == 'died') {
isRed = true;
}
for (let i = 0; i < newArr[kk].waitevent.length; i++) {
if (newArr[kk].waitevent[i].status == 'red') {
isRed = true;
} else {
if (newArr[kk].waitevent[i].status == 'yellow') {
isYellow = true;
}
}
}
if (isRed) {
newArr[kk].status = 'error';
errorArr.push(newArr[kk]);
//newArr.splice(kk, 1);
} else if (isYellow) {
newArr[kk].status = 'warn';
warnArr.push(newArr[kk]);
//newArr.splice(kk, 1);
} else {
succArr.push(newArr[kk]);
}
}
let newArrs = errorArr.concat(warnArr,succArr);
console.log(newArrs);
renderHTML(newArrs);
};