关于润乾报表的补充说明.docx_第1页
关于润乾报表的补充说明.docx_第2页
关于润乾报表的补充说明.docx_第3页
关于润乾报表的补充说明.docx_第4页
关于润乾报表的补充说明.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分页说明:为方便大家开发,本人在工资系统中作出一个DEMO,经过测试后能正常使用。先将部分代码与注意事项发给大家看一下第一步:如果该报表需要分页的话,请将下面的 替换掉原先的。第二步:增加$j(#countSql).val(分页语句);请注意字符串的 要写单引号: 并且 写成如下形式:$字符串ShowExt.jsp 修改成report:extHtml name=report1 reportFileName= funcBarLocation= params= needPageMark=yes pageCount=20 totalCountExp= paperHeight=600 /附录:3.8.分页计算标签本功能采用报表组的原理来实现,因此需要支持报表组的授权3.8.1.概念定义使用分页计算标签可以在报表比较大的情况下实现以页为单位对数据进行读取和展现及导出等操作。3.8.2.功能背景报表大到一定程度,必然会内存溢出,此时比较好的解决办法是边算边输出。分页计算标签是利用报表组来实现的逐页计算逐页输出的tag标签。可以大大降低内存占有量,提高运行效率,避免内存溢出等问题。3.8.3.使用方法在这个标签中,主要增加了以下属性: totalCountExp总记录数(必填属性)分页就是基于这个总记录数来的。它的值是一个润乾的非数据集函数,并且返回的值应该是一个整型数据。如用query执行一个count的sql。如:totalCountExp=query(SELECT count(*) FROM table1)pageCount每页记录数(非必填) 分页后每一页包含的记录数,其值需为整数。 默认值为20。 cachePageNum缓存页数(非必填)根据pageCount和cachePageNum,每次取pageCount* cachePageNum条记录,其值需为整数,默认值为100设置该属性,可保证缓存页数内的翻页效率。(reportconfig.xml文件里的alwaysReloadDefine设置为no,exthtml标签里useCache设置为yes,该属性才生效) startRowParamName/ endRowParamName起始行参数名/结束行参数名(非必填)对应报表数据集记录行中设置的起始行和结束行的参数名。默认值为startRow和endRow。 其他属性说明,与html标签基本一致:图3.2. 应用举例一: 下面以订单明细列表为例,按照常规做出一张订单明细的清单式列表。然后为其添加两个参数:起始行参数名startRow和结束行参数名endRow。注意参数类型要求是整型。图3.4.并且在数据集设置的参数标签页设置好起始行和结束行的对应参数startRow和endRow。图3.5.下面是最简jsp发布文件,只定义了三个必须属性,其余均采用默认值:图3.6.运行结果如下:图3.7.下面是定义了各种属性之后的jsp:图3.8.运行效果如下:图3.9.这种做法的缺点:当数据量足够大的时候,某些jdbc包的resultset本身会内存溢出;而且从理论上看,当调用api接口将resultset的指针定位到某一行的时候,其底层其实是一行一行跳转的,虽然速度非常快,但是数据量超过几百万甚至几千万的时候,还是会消耗一些时间。因此当记录数大到一定程度,翻到最后一页的速度会比开头几页慢。这种做法的优点:和数据库类型无关,任何一种数据库都可以采取这种方式,用户不用研究不同数据库的差别。emerito_info.raq 的分页count语句-select count(*) from RETIRER_SALARY rs, RETIRER_SALARY_DETAIL rsd WHERE rsd.retierer_salary_id = rs.retierer_salary_id and (rs.unit_id = ? or ? is null) and (rs.retierer_salary_id in ($rsid) or ? =2) and rs.giveyearmonth = ? ORDER BY rs.fullname -emerito_salary.raq 的分页count语句SELECT count(*)from RETIRERS r, RETIRER_SALARY rs, RETIRER_SALARY_DETAIL rsd WHERE r.RETIRER_ID = rs.RETIRER_ID and rsd.retierer_salary_id = rs.retierer_salary_id and (r.unit_id = ? or ? is null) and (rs.retierer_salary_id in ($rsid) or ? =2)and rs.giveyearmonth=? ORDER BY rs.fullname-job_base.raq 的分页 count语句SELECT count(*)from workersalary WHERE (unit_id = ? or ? is null) and (worker_id in ($workerid) or ? =2) ORDER BY departmentname,fullnameunitid = ?unitid = ?workerid = $workerid 为 , , , , falg = ?-job_salary.raq 的分页 count语句SELECT count(*) from workersalary a, WORKER_SALARY_DETAIL b WHERE a.SALARY_ID = b.SALARY_ID and (a.unit_id = ? or ? is null) and (a.worker_id in ($workerid) or ? =2) and a.giveyearmonth = ?-jobn_bfgz.raq 的分页 count语句SELECT count(*)from WORKER_SALARY_DETAIL_ADD wsda, WORKERSALARY w WHERE wsda.salary_id = w.salary_id and w.unit_id = ?-jobn_jsgz.raq 的分页 count语句SELECT count(*) from ( selectr.worker_id as last_worker_id,r.Totalsalary as last_Totalsalary,r.salary_id as last_salary_id from WORKERSALARY r join worker_salary_detail wsd on r.salary_id = wsd.salary_id and r.giveyearmonth = 2011-11 and r.unit_id = 613 and wsd.giveyearmonth = 2011-11) l1 left join (select r.worker_id as current_worker_id, r.Totalsalary as current_Totalsalary, r.salary_id as current_salary_id from WORKERSALARY r join worker_salary_detail wsd on r.salary_id = wsd.salary_id and r.giveyearmonth = 2011-12 and r.unit_id = 613 and wsd.giveyearmonth = 2011-12) l2 on l1.last_worker_id = l2.current_worker_id WHERE l1.last_totalsalary l2.current_totalsalary or l2.current_totalsalary is null- jobn_kjgz.raq 的分页 count语句 SELECT count(*) from WORKERSALARY w, WORKER_SALARY_DETAIL_CUT wsdc WHERE w.salary_id = wsdc.salary_id and w.unit_id = ? and w.giveyearmonth = ? - jobn_other.raq 的分页 count语句 SELECT * from (select * from WORKERSALARY w where w.giveyearmonth=? and w.unit_id = ?) l1 join (select * from WORKERSALARY w where w.giveyearmonth=? and w.unit_id = ?) l2 on l1.worker_id = l2.worker_id WHERE l1.fullname l2.fullname or l1.idCard l2.idCard or l1.dept_id l2.dept_id-jobn_zjgz.raq 的分页 count语句select count(*)from ( select r.worker_id as last_worker_id,r.Totalsalary as last_Totalsalary,r.salary_id as last_salary_id,from WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_idand r.giveyearmonth = ?and r.unit_id = ?and wsd.giveyearmonth = ?) l1 right join (select r.worker_id as current_worker_id, r.Totalsalary as current_Totalsalary, r.salary_id as current_salary_id,from WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_id and r.giveyearmonth = ? and r.unit_id = ? and wsd.giveyearmonth =? ) l2 on l1.last_worker_id = l2.current_worker_id where l1.last_totalsalary l2.current_totalsalary or l2.current_totalsalary is null-jobup_kjgz.raq 的分页 count语句SELECT count(*) from WORKERSALARY w, WORKER_SALARY_DETAIL_CUT wsdc WHERE w.salary_id = wsdc.salary_id and w.upunit_id = ? and w.giveyearmonth = ?-jobup_other.raq 的分页 count语句 SELECT count(*) from (select * from WORKERSALARY w where w.giveyearmonth=? and w.upunit_id = ?) l1 join(select * from WORKERSALARY w where w.giveyearmonth=? and w.upunit_id = ?) l2 on l1.worker_id = l2.worker_idWHERE l1.fullname l2.fullname or l1.idCard l2.idCard or l1.dept_id l2.dept_id-jobup_salary.raq 的分页 count语句SELECT count(*) from workersalary a, WORKER_SALARY_DETAIL b WHERE a.SALARY_ID = b.SALARY_ID and (a.upunit_id = ? or ? is null) and (a.worker_id in ($workerid) or ? =2) and a.giveyearmonth = ?- jobup_zjgz.raq 的分页 count语句select count(*)from (select r.worker_id as last_worker_id,r.Totalsalary as last_Totalsalary,r.salary_id as last_salary_idfrom WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_idand r.giveyearmonth = 2011-11and r.upunit_id = ?and wsd.giveyearmonth = 2011-11) l1right join (select r.worker_id as current_worker_id,r.Totalsalary as current_Totalsalary,r.salary_id as current_salary_idfrom WORKERSALARY rjoin worker_salary_detail wsd on r.salary_id = wsd.salary_id and r.giveyearmonth = 2011 and r.upunit_id =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论