FineReport集成到AWS系统中的方案

本人实施了北京炎黄盈动的BPM及OA系统,主要目标是对业务流程进行控制和管理,加快Oracle JDE的业务前端录单速度和弥补JDE在流程控制方面的不足,实现BPM数据能与JDE无缝互相结合,经过3个多月的开发,基本上实现了这个目标。

但是AWS本身也有缺陷,主要表现在表单设计和打印格式设计方面,无法实现类似Excel方式的灵活复杂格式表单、表头表尾重复打印、安装用户定义的纸张打印等等,我们的销售前端需要按照一种特殊的纸张打印,打印机的标准纸张里没有,这些功能要求是上线所必须的,但是AWS的开发人员在其系统内部根本无法完成。

考虑到FineReport在表单设计打印方面的极大的灵活易用性,我们故而使用FineReprot和AWS结合完成这个任务。

效果—— AWS销售打印表单

FineReport集成到AWS系统中的方案_第1张图片

开发配置

系统集成:把FineReport集成到AWS服务的目录下。AWS安装在linux系统中,找到AWS的WEB服务目录WEBAPPS, 把Finereport目录下的WebReport目录拷贝到该目录下,即可实现与AWS同一主机的WEB报表,不需要对AWS配置做任何改变,报表修改后上传覆盖即可。集成后的访问方式为:http://192.168.1.10:8099/WebReport/ReportServer?reportlet=aws/xiaoshoudan.cpt和AWS的地址主机http://192.168.1.10:8099/portal/一致。

报表开发

创建报表数据源、开发报表及格式不讲了,大家可以到帆软官网(www.finereport.com)和帮助文档(www.finereporthelp.com)上自己去看,很简单的。

部署报表到AWS服务器

把Finereport目录下的WebReport目录拷贝到AWS服务器 AWS目录下Webapps下。

表单集成

表单集成的关键是从AWS表单向FineReport报表传递一个流水号的参数,然后调用FineReport报表打印,从AWS实现这个目标有多种方案,主要包括表单链接和JAVA链接两种,经过多次试验和开发,选择了比较简单易于维护的表单链接方案。

该方案实施过程如下:

1、在AWS表单上新增打印按钮和选择打印格式的下拉框;

FineReport集成到AWS系统中的方案_第2张图片

2、在AWS表单中新增Javascript函数,用Javascript创建在新窗口打开的一个Frame ,并使用这个Frame的source URL参数传递FineReport报表的地址并传递AWS流水号参数给报表;

FineReport集成到AWS系统中的方案_第3张图片

增加的Javascript内容:

 

<scripttype="text/javascript">

varmapwin;

functionquery()

{

     // create the window on the first click andreuse on subsequent clicks

   varsid=document.getElementsByName("AWSFLOWID")[0].value;

     //获取参数AWS流程号;

 varobj=document.getElementById("dyxz");

  //获取报表格式;

 var xzz=obj.value;

   

   varurl="http://"+window.location.host+"/WebReport/ReportServer?reportlet=aws/xiaoshoudan";

   //FineReport报表的URL部分

url=url+xzz+".cpt";

//URL 加上报表格式部分,实现了5种格式的报表链接,构成完整的URL;

if(sid!=null) url=url+"&lsh="+sid;

   var h="<iframe name=mainsrc="+url+" frameborder=1 width=100% height=100% scrolling=yesonload=''></iframe>";

    

   if(!mapwin){

               // 打开新窗口,链接到FineReport报表

              mapwin = new Ext.Window({

layout:'fit',

title: '销售单打印',

closeAction:'hide',width:1000,

height:800,html:h,y:30

});

      

 

              }        

     mapwin.show();}

</script>

3、从AWS中运行程序,调用FineReport报表,实现表单按要求格式打印。

4、销售录单后,点打印表单


你可能感兴趣的:(finereport,报表,AWS)