EAS轻分析报表编程框架原创
金蝶云社区-云社区用户5Nu29361
云社区用户5Nu29361
4人赞赏了该文章 353次浏览 未经作者许可,禁止转载编辑于2021年11月18日 11:38:19

一、背景介绍

    1.轻分析接口

       轻分析提供一套接口供业务以编程的方式接入轻分析。

轻分析01.jpg

        报表框架在业务与轻分析之间起桥梁作用,轻分析调用报表框架,再通过框架调用各个业务的代码逻辑。

    2.报表框架

        在框架中增加扩展点(扩展接口),通过事件传递给监听类,方便后续的扩展。

轻分析02.jpg

    3.数据模型

        轻分析接口要求返回轻分析需要的数据模型,因此,在框架中继承这些数据模型,业务不需要依赖轻分析(避免轻分

        析重构代码,调整了包结构,导致所有的业务依赖轻分析的数据模型都需要改动)。

二、部署说明

    1.补丁

        轻分析报表需同时更新WEB框架和轻分析补丁,缺一不可。

        WEB框架补丁:PT142054(或最新补丁)

        轻分析补丁:PT143369(或最新补丁)

    2.入口

轻分析03.jpg

三、客户端开发轻分析报表

    客户端开发:

    1.报表UI界面

        新建一个UI类,继承AbstractQingAnalysisReportUI,需要实现四个接口,

         参考代码:com.kingdee.bos.qingReport.demo.client.DemoQingAnalysisReportUI 

         示例代码如下:

轻分析04.jpg

        接口介绍:

        getCustomerFilterPanels:如果需要过滤条件,则返回一个过滤面板,否则返回null,并且调用接口

         setShowDialogOnLoad(false)设置不显示过滤页面 

         public AbstractQingAnalysisReportFilterUI[] getCustomerFilterPanels() throws Exception 

         { 

               return new AbstractQingAnalysisReportFilterUI[]{new DemoQingAnalysisFilterUI()}; 

         }    

        getSchemaId:轻分析方案的方案id, 第一步:打开轻分析报表之后可通过拖拉字段到轻分析的行列,

         创建一个默认的轻分析报表 第二步:保存为轻分析方案 第三步:查看轻分析方案id

轻分析05.jpg

        fid即为轻分析方案id,填入这个id后,下次打开报表会默认进入之前做好的轻分析报表。

        getBizTag:业务标识 

        getQingDataProviderClass:服务端取数类全路径,服务端会通过这个类去获取轻分析需要的字段信息和数据

    2.过滤界面

        新建一个过滤界面UI类,实现AbstractQingAnalysisReportFilterUI,

         参考代码:com.kingdee.bos.qingReport.demo.client.DemoQingAnalysisFilterUI

轻分析06.jpg

        接口说明: 

         getCustomCondition:返回过滤界面录入的条件,返回值类型为RptParams,过滤条件格式自定义,服务端取数需要用到

         过滤条件,按照自定义格式解析过滤条件 

         setCustomCondition:过滤方案下回填过滤条件 

         getUITitle:报表页签显示名称

    服务端开发(DEMO)

轻分析07.jpg

        接口说明: 

         getQingMeta:轻分析通过该接口获取业务字段信息 

         getData:轻分析通过该接口获取业务数据。处理业务逻辑时,如果需要过滤条 件,可以通过        

                         QingAnalysisFilterSynCacheUtil.getFilter(tag)这个接口获取客户端设置的过滤条件。 

         disposeProvider:关闭轻分析时触发该接口。 

         setQingFilter/ getQingFilter:轻分析不携带数据发布,打开轻分析报表重新取数需要设置/获取过滤条件,

                         已封装好,业务暂不需要实现,返回null就行。

四、案例说明

    1.新建报表页面

轻分析03.jpg

    2.页面配置

        配置业务标识,以及后台服务端取数类的完整路径名。

轻分析08.jpg

    3.动态添加过滤条件

        查询方案页面可以添加条件,条件为从后天类中获取已定义好的参数。

轻分析09.jpg

    4.点击查询后,即可将经过业务开发的取数携带进入轻分析进行数据分析。

轻分析10.jpg

五、其他接口介绍

    字段类

    com.kingdee.bos.qingReport.server.dataProvider.modelWrapper.Field

轻分析11.jpg

   isFilter:是否作为过滤条件 

    isF7Field:是否为F7字段 

    promptQuery:F7数据源 

    extProperty:保存F7的扩展属性,如displayformat submitforma 

    searchItem:没有name属性的F7数据源,通过该属性设置搜索模式,“name+number”或“number” 

    enumSource:枚举值集合

图标赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0