三重循环案例

/**

 * cpu按资源组使用情况

 */

function getCPUWD(){

var beginDate = $("#CPUWDBeginDate").val();

var endDate = $("#CPUWDEndDate").val();

var dataPL = $("#dataPLWD").val();

$.ajax({

type : "post",

url : "/sptba/spt-benchana/getCPUWDAction.action",

data : {

beginDate : beginDate,

endDate : endDate,

dataPL:dataPL,

sys_cd : databaseFlag

},

dataType : 'json',

success : function(json) {

var data = json.data.DATA;

var dataApp = json.data.DATAAPP;//按应用得到的系列

var dataCata = json.data.DATACATA;//获得对应的x轴时间数据

var catagories = [];

for ( var i = 0; i < dataCata.length; i++) {

if("d"==dataPL){

catagories.push(dataCata[i].LOGDATE);

}else if("h"==dataPL){

catagories.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);

}

}

var seriesObj = [];

for( var i = 0; i < dataApp.length; i++){

var displayData = {};//图形序列对象

displayData.name =dataApp[i].WDNAME;

displayData.data = [];

//数据的项和x轴的序列一致

for ( var j = 0; j < catagories.length; j++) {

displayData.data[j] = 0;

}

seriesObj.push(displayData);

}

//每个资源组是一个图形系列

//将所有的数据,根据横坐标catagories的限定,放置到相应的序列对象里

for ( var i = 0; i < data.length; i++) {

for ( var k = 0; k < seriesObj.length; k++) {

if(data[i].WDNAME==seriesObj[k].name){

if("d"==dataPL){

for( var j = 0; j < catagories.length; j++){

if(catagories[j] == data[i].LOGDATE){

seriesObj[k].data[j] = parseFloat((data[i].CPUTIME/1000000).toFixed(4));

}else{

//如果该位置已经被赋值,则不再重新赋值

if(seriesObj[k].data[j] == 0){

seriesObj[k].data[j] == 0;

}

}

}

}else if("h"==dataPL){

for( var j = 0; j < catagories.length; j++){

if(catagories[j] == (data[i].LOGDATE+" "+data[i].LOGHOUR)){

seriesObj[k].data[j] = parseFloat((data[i].CPUTIME/1000000).toFixed(4));

}else{

//如果该位置已经被赋值,则不再重新赋值

if(seriesObj[k].data[j] == 0){

seriesObj[k].data[j] == 0;

}

}

}

}

}

}

}

var catagories1 = [];

if(dataCata.length<=xAxisDisplay){

for ( var i = 0; i < dataCata.length; i++) {

if("d"==dataPL){

catagories1.push(dataCata[i].LOGDATE);

}else if("h"==dataPL){

catagories1.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);

}

}

}else if(dataCata.length>xAxisDisplay){

//向上取整,坐标轴最多显示多少个

var maxDisplayNum = Math.ceil(dataCata.length/xAxisDisplay);

//重新处理x轴的数据显示

for ( var i = 0; i < dataCata.length; i++) {

if("d"==dataPL){

if((i>=maxDisplayNum) && ((i%maxDisplayNum)==0) ||(i==0)){

catagories1.push(dataCata[i].LOGDATE);

}else{

catagories1.push("");

}

}else if("h"==dataPL){

if((i>=maxDisplayNum) && ((i%maxDisplayNum)==0) ||(i==0)){

catagories1.push(dataCata[i].LOGDATE+" "+dataCata[i].LOGHOUR);

}else{

catagories1.push("");

}

}

}

}

//生成各个指标的图形

genAreaChartsCPU('containerCPUWD',catagories1,seriesObj,'CPU按资源组使用情况(单位:1000000次/秒)','','');

}

});

}

猜你喜欢

转载自zengshaotao.iteye.com/blog/2308386