|
版本: |
X5.2.6 |
小版本号: |
|
|
|
数据库: |
MS SQLServer |
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
我设计了一个报表,页面是这样的:
条件筛选我参照DEMO的例子写成这样子:
ksqlQueryProcedure代码如下:
import java.util.HashMap;
import java.util.Map;
import com.justep.message.CommonMessages;
import com.justep.model.ModelUtils;
import com.justep.system.data.DatabaseProduct;
import com.justep.system.data.KSQL;
import com.justep.system.data.SQL;
import com.justep.system.data.Table;
import com.justep.util.Utils;
public class KSQLProcedure {
public static Table query(String PCH,String SCBM,String JZ,String GX,String KSRQ,String JSRQ){
String mssql = "select PM.fPCH as fPCH,PM.fSCBM as fSCBM,PM.fXHHJZ as fXHHJZ,PM.fGXBH as fGXBH,PM.fGG as fGG,PM.fDW as fDW,PM.fRQ as fRQ,sum(PM.fSCSL) as fSCSL,sum(PM.fHGPSL) as fHGPSL,sum(PM.fFPSL) as fFPSL,sum(PM.fFXPSL) as fFXPSL from HX_MRSCAP PM group by fPCH, fSCBM, fXHHJZ, fGXBH, fGG, fDW, fRQ order by fPCH asc, fSCBM asc, fXHHJZ asc, fGXBH asc, fGG asc, fRQ asc";
/**
mssql += " WHERE 1=1 ";
if(!"".equals(PCH)){
mssql += "and fPCH like '%"+PCH+"%' ";
}
if(!"".equals(SCBM)){
mssql += "and fSCBM like '%"+SCBM+"%' ";
}
if(!"".equals(JZ)){
mssql += "and fXHHJZ like '%"+JZ+"%' ";
}
if(!"".equals(GX)){
mssql += "and fGXBH like '%"+GX+"%' ";
}
*/
HashMap<String,String> sqlMap = new HashMap<String,String>();
sqlMap.put(SQL.DEFAULT_DB_NAME,mssql);
sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
sqlMap.put(DatabaseProduct.SYBASE.name(),mssql);
return SQL.select(sqlMap,null,"/HX/ERP/data");
}
}
js代码如下:
var mainActivity = {};
mainActivity.trigger1Click = function(event){
var PCH = justep.xbl("data1").getValue('PCH');
var SCBM = justep.xbl("data1").getValue('SCBM');
var JZ = justep.xbl("data1").getValue('JZ');
var GX = justep.xbl("data1").getValue('GX');
var KSRQ = justep.xbl("data1").getValue('KSRQ');
var JSRQ = justep.xbl("data1").getValue('JSRQ');
//justep.Date.fromString(KSRQ,justep.Date.STANDART_FORMAT_SHOT);
//justep.Date.fromString(JSRQ,justep.Date.STANDART_FORMAT_SHOT);
justep.xbl('ds1').setStringVar('PCH',PCH);
justep.xbl('ds1').setStringVar('SCBM',SCBM);
justep.xbl('ds1').setStringVar('JZ',JZ);
justep.xbl('ds1').setStringVar('GX',GX);
justep.xbl('ds1').setStringVar('KSRQ',KSRQ);
justep.xbl('ds1').setStringVar('JSRQ',JSRQ);
justep.xbl('groupReport').refresh();
};
mainActivity.dataModelReady = function(event){
//自动填充结束日期为当前日期
var date = justep.System.datetime();
var CD = justep.Date.toString(date, justep.Date.STANDART_FORMAT_SHOT);
justep.xbl('data1').setValue('JSRQ', CD);
//自动填充开始日期为当前日期前7天
var BD = justep.Date.decrease(date, 7, 'd');
var BDS = justep.Date.toString(BD, justep.Date.STANDART_FORMAT_SHOT);
justep.xbl('data1').setValue('KSRQ', BDS);
};
运行结果提示:执行Action出错, wrong number of arguments
如果删除js中的:
justep.xbl('ds1').setStringVar('KSRQ',KSRQ);
justep.xbl('ds1').setStringVar('JSRQ',JSRQ);
和修改ksqlQueryProcedure中的:
public static Table query(String PCH,String SCBM,String JZ,String GX)
打开页面时可以显示出报表结果。但如果点击页面上的查询按钮(无论有没有填写筛选条件),提示:argument type mismatch。
请问问题出在哪里呢?新手求指教,谢谢!
|
|