完整word版,NC数据加工做语义模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
报表语义模型(数据加工:返回结果集方式)
数据加工方式:1.返回查询SQL ; 2.返回结果集DataSet;3.返回数据表。
实现方式基本一致,可以参照系统原有报表语义模型
一、新建报表查询入口类,初始化报表字段
1.数据加工查询业务处理接口的定义:
package nc.itf.fbm.paperbill.query;
import nc.pub.smart.data.DataSet;
import nc.vo.pub.BusinessException;
import com.ufida.dataset.IContext;
/**票据信息查询/票据池额度查询接口
*
* @author 温燕荣WYR
* @date 2014-04-15
*/
public interface IFbmQueryPaperBillService {
/**
* 票据信息查询
* @param context
* @return
* @throws BusinessException
*/
public DataSet queryPaperBillInfo(IContext context) throws Exception;
/**
* 票据池额度查询接口
* @param context
* @return
* @throws BusinessException
*/
public DataSet queryPaperBillPoolLimit(IContext context) throws Exception;
}
2.数据加工入口类,初始化报表字段
package nc.itf.fbm.paperbill.query;
import java.util.ArrayList;
import java.util.List;
import mon.NCLocator;
import nc.pub.smart.data.DataSet;
import nc.pub.smart.metadata.DataTypeConstant;
import nc.pub.smart.metadata.Field;
import nc.pub.smart.metadata.MetaData;
import nc.vo.obm.paperbill.query.PaperBillPoolVO;
import com.ufida.dataset.IContext;
/**票据池额度查询入口类
*
* @author 温燕荣WYR
* @date 2014-04-15
*/
public class QueryPaperPoolLimitService {
private static final MetaData metaData;
public QueryPaperPoolLimitService(){
super();
}
/**
* 获得结果集
*
* @param context 报表界面查询传进来的参数(查询条件=值,系统一些默认参数等)* @return
*/
public static DataSet queryPJCAmt(IContext context)throws Exception {
//调用报表查询业务处理接口,
IFbmQueryPaperBillService gatherservice=(IFbmQueryPaperBillService) NCLocator.getInstance().lookup(IFbmQueryPaperBillService.class.getName());
DataSet resultDataSet = gatherservice.queryPaperBillPoolLimit(context);
setPrecision(resultDataSet);
return resultDataSet;
}
//初始化报表要显示的字段,包括查询条件字段也在内
static {
metaData = new MetaData();
List
//报表显示字段
Field f = new Field();
f.setFldname(NAME);
f.setCaption("财务组织名称");
f.setPrecision(200);
f.setDataType(DataTypeConstant.STRING);
fields.add(f);
f = new Field();
f.setFldname(PaperBillPoolVO.ACCTNAME);
f.setCaption("机构名称");
f.setPrecision(200);
f.setDataType(DataTypeConstant.STRING);
fields.add(f);
f = new Field();
f.setFldname(PaperBillPoolVO.ACCTNO);
f.setCaption("账号");
f.setPrecision(200);
f.setDataType(DataTypeConstant.STRING);
fields.add(f);
f = new Field();
f.setFldname(PaperBillPoolVO.PJCNO);
f.setCaption("票据池编号");
f.setPrecision(200);
f.setDataType(DataTypeConstant.STRING);
fields.add(f);
f = new Field();
f.setFldname(PaperBillPoolVO.PJCKAMT);
f.setCaption("票据池可开票额度");
f.setPrecision(17);
f.setDataType(DataTypeConstant.BIGDECIMAL);
f.setScale(4);
fields.add(f);
f = new Field();
f.setFldname(PaperBillPoolVO.CUSKAMT);
f.setCaption("客户剩余可开票额度");