EAS轻分析报表编程框架
一、背景介绍
1.轻分析接口
轻分析提供一套接口供业务以编程的方式接入轻分析。
报表框架在业务与轻分析之间起桥梁作用,轻分析调用报表框架,再通过框架调用各个业务的代码逻辑。
2.报表框架
在框架中增加扩展点(扩展接口),通过事件传递给监听类,方便后续的扩展。
3.数据模型
轻分析接口要求返回轻分析需要的数据模型,因此,在框架中继承这些数据模型,业务不需要依赖轻分析(避免轻分
析重构代码,调整了包结构,导致所有的业务依赖轻分析的数据模型都需要改动)。
二、部署说明
1.补丁
轻分析报表需同时更新WEB框架和轻分析补丁,缺一不可。
WEB框架补丁:PT142054(或最新补丁)
轻分析补丁:PT143369(或最新补丁)
2.入口
三、客户端开发轻分析报表
客户端开发:
1.报表UI界面
新建一个UI类,继承AbstractQingAnalysisReportUI,需要实现四个接口,
参考代码:com.kingdee.bos.qingReport.demo.client.DemoQingAnalysisReportUI
示例代码如下:
接口介绍:
getCustomerFilterPanels:如果需要过滤条件,则返回一个过滤面板,否则返回null,并且调用接口
setShowDialogOnLoad(false)设置不显示过滤页面
public AbstractQingAnalysisReportFilterUI[] getCustomerFilterPanels() throws Exception
{
return new AbstractQingAnalysisReportFilterUI[]{new DemoQingAnalysisFilterUI()};
}
getSchemaId:轻分析方案的方案id, 第一步:打开轻分析报表之后可通过拖拉字段到轻分析的行列,
创建一个默认的轻分析报表 第二步:保存为轻分析方案 第三步:查看轻分析方案id
fid即为轻分析方案id,填入这个id后,下次打开报表会默认进入之前做好的轻分析报表。
getBizTag:业务标识
getQingDataProviderClass:服务端取数类全路径,服务端会通过这个类去获取轻分析需要的字段信息和数据
2.过滤界面
新建一个过滤界面UI类,实现AbstractQingAnalysisReportFilterUI,
参考代码:com.kingdee.bos.qingReport.demo.client.DemoQingAnalysisFilterUI
接口说明:
getCustomCondition:返回过滤界面录入的条件,返回值类型为RptParams,过滤条件格式自定义,服务端取数需要用到
过滤条件,按照自定义格式解析过滤条件
setCustomCondition:过滤方案下回填过滤条件
getUITitle:报表页签显示名称
服务端开发(DEMO)
接口说明:
getQingMeta:轻分析通过该接口获取业务字段信息
getData:轻分析通过该接口获取业务数据。处理业务逻辑时,如果需要过滤条 件,可以通过
QingAnalysisFilterSynCacheUtil.getFilter(tag)这个接口获取客户端设置的过滤条件。
disposeProvider:关闭轻分析时触发该接口。
setQingFilter/ getQingFilter:轻分析不携带数据发布,打开轻分析报表重新取数需要设置/获取过滤条件,
已封装好,业务暂不需要实现,返回null就行。
四、案例说明
1.新建报表页面
2.页面配置
配置业务标识,以及后台服务端取数类的完整路径名。
3.动态添加过滤条件
查询方案页面可以添加条件,条件为从后天类中获取已定义好的参数。
4.点击查询后,即可将经过业务开发的取数携带进入轻分析进行数据分析。
五、其他接口介绍
字段类
com.kingdee.bos.qingReport.server.dataProvider.modelWrapper.Field
isFilter:是否作为过滤条件
isF7Field:是否为F7字段
promptQuery:F7数据源
extProperty:保存F7的扩展属性,如displayformat submitforma
searchItem:没有name属性的F7数据源,通过该属性设置搜索模式,“name+number”或“number”
enumSource:枚举值集合
EAS轻分析报表编程框架
本文2024-09-16 22:01:24发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-45444.html