文本介绍了在报表开发中如何为元数据添加二开字段,并重写报表的processRowData和afterQuery方法。首先添加字段,然后重写方法获取项目id集合并加载属性,最后将报表字段赋值给展示分录。此外,还介绍了取合同二开值的类似处理过程。
1. 首先在元数据加入二开字段,注意报表列表和下面的分录都要加上两个不同名字段
因为这里的报表为了支持分录上的过滤,所以后面会有一个把报表字段赋值到分录字段的操作。
新建一个报表的二开插件,可参考标品的ProjectBookReportFormTplPlugin插件
2. 重写报表的processRowData方法
在其中,获取相应项目的id集合、项目立项的id集合。可参考标品如下代码
用项目立项的id集合,去加载项目立项相应属性的实体集合,这里的搜索的属性加入二开的项目立项属性即可。
遍历rowdata,将项目立项的二开字段赋值给报表列表里的字段
3. 第三步,重写报表的afterQuery方法,将报表上的字段,赋值给展示分录上的字段。
以上是项目立项相应二开值的赋值参考开发过程。
如果是取合同相应二开值、或者其他单据二开值。
第1、3步保持不变,在重写报表的processRowData方法时
(1)首先获取正常合同流程中的合同id集合。项目云的过滤合同范围是不为拟稿中、审批中、已批准中的合同
(2)以项目维度,查询合同相应值(查询值加入相应合同二开属性即可),做项目切分。
这里标品用了异步CompletableFuture,如果现场对性能要求不高。可以忽略。直接用返回的值即可。如果要求高参考标品代码就可以。
(3)直接用(2)的返回值,根据项目获取对应项目下的合同集合。
进行相应累加或其他操作,然后赋值给报表列表行即可。
其他前置、后置操作与前面的项目立项二开值赋值保持一致即可。
推荐阅读