即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

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

编程语言 guosyu 53℃ 0评论

业务场景:业务相对复杂时,无法直接通过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;

 /**
  * 返回数据集
  */
 @Override
 public 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;
   
 }

 /**
  * 如需返回查询语句时,实现该方法
  */
 @Override
 public String getCustomSQL(Window parent) throws Exception {
  return super.getCustomSQL(parent);
 }
 
 /**
  * 报表过滤参数
  */
 @SuppressWarnings("unchecked")
 @Override
 public void setFilterParam(Map filterParamMap) {
  filters = filterParamMap;
 }

}





转载请注明:CodingBlog » 金蝶EAS,扩展报表,Java语言数据集代码示例

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情