zoukankan      html  css  js  c++  java
  • 处理oracle数据方式

    
                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);
                };
    
  • 相关阅读:
    MySQL优化
    数据库之事务
    浮动与定位的区别
    CSS-画三角
    CSS(中)篇
    CSS(前)篇
    html篇
    定位真机运行能用但是打包成apk就不能用的解决方法
    定位与权限
    activity与fragment之间的传递数据
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348727.html
Copyright © 2011-2022 走看看