金蝶EAS,扩展报表,Java数据集代码示例

来源:互联网 发布:seo蜘蛛精怎么用 编辑:程序博客网 时间:2024/06/07 01:34

业务场景:业务相对复杂时,无法直接通过SQL直接查询出相应的数据集。可以使用Java数据集实现。

Java数据集可以针对查询结果进行相应的加工,向前端扩展报表提供符合要求的结果集。

package com.kingdee.eas.custom.sdic.rpt;import java.util.Map;import java.awt.Window;import com.kingdee.jdbc.rowset.IRowSet;import com.kingdee.eas.custom.sdic.util.DaoUtil;import com.kingdee.eas.custom.sdic.util.VerifyUtil;import com.kingdee.eas.rpts.ctrlsqldesign.param.AbstractJavaDataSet;/** * 演示报表Java数据集,用于扩展报表 * @author 郭旭 * */public class DemoDataSet extends AbstractJavaDataSet {/**报表过滤参数**/private Map<?, ?> filters;/** * 返回数据集 */@Overridepublic IRowSet[] getCustomRowSet(Window parent, String otherDataCenter) throws Exception {// 存放数据集IRowSet[] ds = new IRowSet[1];String number = (String) this.filters.get("number"); //过滤参数StringBuffer sql = new StringBuffer();sql.append("select FNumber 登录名, FName_L2 用户实名 from T_PM_User where 1 = 1").append("\n");if(VerifyUtil.notNull(number)){System.out.println("过滤参数:number = " + number);sql.append("and FNumber = '" + number + "'").append("\n");}IRowSet rs = DaoUtil.executeQuery(sql);ds[0] = rs;return ds;}/** * 如需返回查询语句时,实现该方法 */@Overridepublic String getCustomSQL(Window parent) throws Exception {return super.getCustomSQL(parent);}/** * 报表过滤参数 */@SuppressWarnings("unchecked")@Overridepublic void setFilterParam(Map filterParamMap) {filters = filterParamMap;}}


原创粉丝点击