if (flag.equals("1")) // 判断使用哪个SQL语句,flag=1,查询出港次数
sb = "SELECT * FROM(SELECT DPTADMIN.DT_CAR_OUT.CAR_NUM AS CAR_NUM, TO_CHAR (DPTADMIN.DT_CAR_OUT.TIME_G,'YYYY-MM-DD') AS CARDATE FROM DPTADMIN.DT_CAR_OUT "
+ "ORDER BY cardate) PIVOT (count(*) FOR CARDATE IN (" + dateListSb + ")) where car_num in(" + carNumsSb + ") ORDER BY CAR_NUM";
else
// 查询重量
sb = "SELECT * FROM(SELECT DPTADMIN.DT_CAR_OUT.CAR_NUM AS CAR_NUM, TO_CHAR (DPTADMIN.DT_CAR_OUT.TIME_G,'YYYY-MM-DD') AS CARDATE, DPTADMIN.DT_CAR_OUT.GWEIGHT AS GWEIGHT "
+ "FROM DPTADMIN.DT_CAR_OUT ORDER BY cardate) " + "PIVOT (sum(GWEIGHT) FOR CARDATE IN (" + dateListSb + ")) where car_num in(" + carNumsSb + ") ORDER BY CAR_NUM";
//原始表格数据格式
//车牌号 载重量 入港日期
//车牌号2 重量1 日期1
//车牌号2 重量2 日期2
//车牌1 重量3 日期2
//转换之后的数据格式
//车牌号 日期1 日期2 日期3
//车牌1 1 2 0
//车牌2 0 1 0
Map<String, String> sql = new HashMap<String, String>();
//配置数据系列名称
var carNums = justep.Util.isString(tempData.val("carNums")) ? tempData.val("carNums").split(",") : "";
//配置X周的日期序列
var startDate = new Date(this.comp("input1").val());
var endDate = new Date(this.comp("input2").val());
// 计算两个日期的相关天数
var dayNum = justep.Date.diff(startDate, endDate, 'd');
var dateArr = new Array();
var colArr = new Array();
for (i = 0; i <= dayNum; i++) {
dateArr.push(justep.Date.toString(startDate, "yyyy-MM-dd"));
colArr.push("'" + justep.Date.toString(startDate, "yyyy-MM-dd") + "'");
startDate = justep.Date.decrease(startDate, -1, 'd');
}
//配置绘图区的数据
var arr = new Array();
optionData.eachByPeek(function(obj) {
var colName = "";
var data = new Array();
for (i in colArr) {
data[i] = parseInt(obj.row.val(colArr[i]));
}
arr.push({
name : obj.row.val("CAR_NUM"),
type : 'bar',
stack : '总量',
areaStyle : {
normal : {}
},
data : data
});
});
debugger;
option = {
title : {
text : '车辆入港次数堆积图'
},
tooltip : {
trigger : 'axis'
},
legend : {
data : carNums
},
toolbox : {
feature : {
saveAsImage : {}
}
},
grid : {
left : '3%',
right : '4%',
bottom : '3%',
containLabel : true
},
xAxis : [ {
type : 'category',
boundaryGap : false,
data : dateArr
} ],
yAxis : [ {
type : 'value'
} ],
series : arr
};
// 使用刚指定的配置项和数据在div元素上开始渲染图表
var myChart = echarts.init(this.getElementByXid("div1"));
myChart.setOption(option);