沉默de鱼 发表于 2015-5-29 14:34:32

在Date Set的Script中写了一个beforeOpen的JS来满足查询报表的参数

if(!params["Province"].equals("") || !params["CostMonth"].equals("") || !params["CostYear"].equals("") || !params["City"].equals(""))
this.queryText = this.queryText+" where " ;
if(params["CostMonth"]!=null && params["CostYear"]!=null && params["City"]!=null && !params["Province"].equals(""))
this.queryText = this.queryText+" 省 ='"+params["Province"]+"'";
if(params["CostMonth"]!=null && params["CostYear"]!=null && params["Province"]!=null && !params["City"].equals(""))
this.queryText = this.queryText+" 市 ='"+params["City"]+"'";
if(params["City"]!=null && params["Province"]!=null && params["CostMonth"]!=null && !params["CostYear"].equals(""))
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"'";
if(params["City"]!=null && params["Province"]!=null && params["CostYear"]!=null && !params["CostMonth"].equals(""))
this.queryText = this.queryText+" 费用所属期 ='"+params["CostMonth"]+"'";
if(params["CostMonth"]!=null && params["CostYear"]!=null && !params["City"].equals("") && !params["Province"].equals("")) //省、市
this.queryText = this.queryText+" 省 ='"+params["Province"]+"' and 市 ='"+params["City"]+"'";
if(params["City"]!=null && params["Province"]!=null && !params["CostMonth"].equals("") && !params["CostYear"].equals("")) //年度、费用所属期
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 费用所属期 ='"+params["CostMonth"]+"'";
if(params["City"]!=null && params["CostYear"]!=null && !params["CostMonth"].equals("") && !params["Province"].equals("")) //省、费用所属期
this.queryText = this.queryText+" 省 ='"+params["Province"]+"' and 费用所属期 ='"+params["CostMonth"]+"'";
if(params["CostYear"]!=null && params["Province"]!=null && !params["CostMonth"].equals("") && !params["City"].equals("")) //市、费用所属期
this.queryText = this.queryText+" 市 ='"+params["City"]+"' and 费用所属期 ='"+params["CostMonth"]+"'";
if(params["CostMonth"]!=null && params["Province"]!=null && !params["City"].equals("") && !params["CostYear"].equals("")) //市、年度
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 市 ='"+params["City"]+"'";
if(params["City"]!=null && params["CostMonth"]!=null && !params["Province"].equals("") && !params["CostYear"].equals("")) //年度、省
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 省 ='"+params["Province"]+"'";
if(params["Province"]!=null && !params["CostYear"].equals("") && !params["CostMonth"].equals("") && !params["City"].equals("")) //年度、费用所属期、市
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 费用所属期 ='"+params["CostMonth"]+"' and 市 ='"+params["City"]+"'";
if(params["City"]!=null && !params["CostYear"].equals("") && !params["CostMonth"].equals("") && !params["Province"].equals("")) //年度、费用所属期、省
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 费用所属期 ='"+params["CostMonth"]+"' and 省 ='"+params["Province"]+"'";
if(params["CostMonth"]!=null && !params["CostYear"].equals("") && !params["City"].equals("") && !params["Province"].equals("")) //年度、省、市
this.queryText = this.queryText+" 年度 ='"+params["CostYear"]+"' and 市 ='"+params["City"]+"' and 省 ='"+params["Province"]+"'";
if(params["CostYear"]!=null && !params["CostMonth"].equals("") && !params["City"].equals("") && !params["Province"].equals("")) //费用所属期、省、市
this.queryText = this.queryText+" 费用所属期 ='"+params["CostMonth"]+"' and 市 ='"+params["City"]+"' and 省 ='"+params["Province"]+"'";
if(!params["CostYear"].equals("") && !params["CostMonth"].equals("") && !params["City"].equals("") && !params["Province"].equals("")) //费用所属期、省、市、年度
this.queryText = this.queryText+" 费用所属期 ='"+params["CostMonth"]+"' and 市 ='"+params["City"]+"' and 省 ='"+params["Province"]+"' and 年度 ='"+params["CostYear"]+"'";


有四个查询参数,分别为CostYear、CostMonth、Provinc、City,这四个参数来组合生成BIRT报表,但是我感觉写得很复杂,是否有哪位大神可以有更建档的方式来实现参数为空。


呼唤 发表于 2015-6-1 10:07:01

function isEmpty(v){
    return v == null || String(v) === 'undefined' || String(v).toUpperCase() === 'NULL' || v =="";
}
页: [1]
查看完整版本: 在Date Set的Script中写了一个beforeOpen的JS来满足查询报表的参数