finereport与OA系统集成的完全方案
随着社会信息化高速发展,企业信息化也得到了一定提高,而如何提高办公效率已经成为企业一项重要而紧迫的任务,传统的纸质报表等档案不仅浪费纸张、不易存档、不易调阅、不易统计,如何更有效、更快速提升办公效率和办公质量,成为了制约工作效率提升的最大瓶颈。
由点到面,从各位朋友的电脑桌面上繁多的报表文件,明显的可以看出日常工作的繁忙,可是一天下来感觉处理的文件却不多。
地域限制:由于集团没办法实时和子公司实现同步办公,在沟通方面成本很高,而且异地办公效率低,得到的生产报表数据和财务数据不准确,而且不及时。
员工素质的差别:每个人处事的方式都不同,造成“一锅粥”的现象,这就要求我们用流程工具和报表工具来规范梳理工作。
档案丢失:员工的离职,造成报表文档的丢失已经成了企业最大的损失。
透过现象看本质,实现信息化已经迫在眉睫,集团急需一套OA并集成报表软件的系统,而泛微OA正好符合我们的需求,且Finereport报表更是无缝集成于泛微OA。
效果展示
一、开发工具
让我们先了解一下这个B/S架构的开发环境:
操作系统: Redhat 5.4 Linux 64位
WBE应用服务器: RESIN
开发语言: JAVA
数据库: ORACLE 10.2g
报表开发工具: Finereport
网页开发工具: Dreamweaver 8
OA系统: 泛微协同OA
Finereport的数据来源于oracle现有数据库,通过OA新增菜单,链接jsp网页,利用OA角色与权限控制单元在jsp页面(嵌入报表页面)做二次开发,并授权用户访问报表。
二、数据来源
由于OA已经有现成的oracle10g数据库,而我们的报表需要的数据库源主要来自OA的数据库表。
首先,我们要打开FR设计器,连接数据源,设计器最上方的菜单栏--服务器—定义数据连接。用鼠标选中刚刚命名的数据源,右边显示对应的数据源属性编辑面板,共有五项属性:
数据库:oracle
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@192.168.X.X:1521:实例名
输入用户名和密码,点击“测试连接”按钮,如下图所示:
提示,测试成功,代表oracle数据库连接成功。
主要的数据库表如图所示:
1、workflow_currentoperator工作流请求节点操作人信息表
,存放如下字段:请求id
、用户id、工作流类型、工作流id、操作节点id、操作日期、操作时间
2、workflow_requestLog工作流请求签字日志表
,存放如下字段:操作者、操作时间、客户端ip、下一节点id、工作流id、请求id、操作日期、操作节点id
3、formtable_main_4签报流程自定义表,存放如下字段:抬头、主办部门、呈送、电话、传真等敏感字段
4、HrmLocations人力资源办公地点表
,存放如下字段:所在城市、所在国家、电话、传真、手机。
SysMaintenanceLog系统操作日志表
,存放如下字段:操作日期、操作用户id、操作时间、操作类型、是否为流程模板
5、workflow_currentoperator工作流请求节点操作人信息表
,存放如下字段:工作流id
、工作流类型、操作节点id、接收到的日期、接收到的时间、标记流程是否归档、操作时间
6、Hrmdepartment人力资源部门表,存放如下字段:上级部门id、所属分部1、所有上级部门id、部门名称、部门标识等。
诸如hrmsubcompany人力资源分部表,存放如下字段:所属总部id、分部简称、分部描述等;HrmResource 人力资源表,存放如下字段:身份证号码、账号id、籍贯、工作状态、密码等N多的信息,这里不再一一介绍。
三、需求分析
基于Finereport的报表,并集成到OA,通过Finereport实现数据库复杂查询/填报的方式,在办公OA上实现实时交互,让OA项目花最少的力气在报表工作上。体现在:
1、 公文签报,集中报表
2、 考勤数据,集中报表
3、 资产管理,集中报表
4、 人员登录,集中管控
5、 流程管控,集中统一
6、 权限管控,集中统一
然后把大部分时间用于问题的解决,绩效的提升,决策的制订,有效的执行等核心事上,从而提高工作效率。
四、数据分析
先分析一下项目数据的采集,报表数据贯穿着办公OA流程,随着时间的积累,积沙成塔。
数据范围:固定资产、人员登录、集团/子公司的公文签报、用章申请、考勤等数据
数据层面:员工层面
纵向维度:OA复杂的流程
横向维度:分公司、部门、员工、考勤种类等
时间维度:日期
五、报表设计
一般来说,一个完整的报表设计流程,大体分为如下几个步骤:
打开设计器,跳过配置数据源这些简单步骤,直奔设计报表主题,举例集团签报报表,首先、了解签报所需要的字段,一般是集团机要秘书来管理下发和收件,把字段全部罗列出来,如图:
其次、签报情况汇总报表涉及了办公OA流程的部分流程,查看流程,
包含总裁机要秘书接收日期,总裁机要秘书需要统计来文单位、文件主题,然后再决定传送给哪位集团分管领导,接下来又要统计分管领导意见以及会签人的意见,最终才归档到经办人和总裁机要秘书,所以这个报表具有重要意义,可以省去总裁机要秘书频繁的登记收文和领导,提高领导的签报效率。
约束条件是requestid,表与表之间通过requestid的关联起来的,分别写出该字段需要查询的条件,并且日期以流程节点“已查看”或者“已提交”为时间判断标准。
思路清楚后,就直接设计报表字段的SQL,如果用普通的网页来制作这个签报报表,我想我会疯掉的。因为太复杂了,而且oracle的long类型的字段在PL是不显示的,而FineReport工具竟然能显示出来,真的让人佩服。
点击“预览”,结果就显示出来了,如果用网页还会存在缓存,很烦的,而改用FR设计器,更简洁更快速。
为了提高浏览速度,设计的时候需要考虑分页,点击“文件号”,点击右键,设置条件属性。设置公式为&B4 % 31,设置31行后就分页。这样是一个月的数据,对报表很有意义。
六、权限控制
Jsp页面代码编写,详情见例子jtgw.jsp
<%@ pageimport="weaver.general.Util" %>
<%@ page import="weaver.conn.*"%>
<%@ pagelanguage="java" contentType="text/html; charset=GBK" %><%@ include file="/systeminfo/init.jsp" %>
<jsp:useBeanid="rs" class="weaver.conn.RecordSet"scope="page" />
<HTML><HEAD>
<LINKhref="/css/Weaver.css" type=text/css rel=STYLESHEET>
</head>
<%
String imagefilename ="/images/hdSystem.gif";
String titlename = "公文情况汇总表";
String needfav ="1";
String needhelp ="";
%>
<BODY>
<%@ includefile="/systeminfo/TopTitle.jsp" %>
<%@ includefile="/systeminfo/RightClickMenuConent.jsp" %>
<%@ includefile="/systeminfo/RightClickMenu.jsp" %>
<%
if(!HrmUserVarify.checkUserRight("OA-Report-02",user)){
response.sendRedirect("/notice/noright.jsp");
return;
}
%>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>报表</title>
</head>
<!--这里用iframe方法嵌入finereport报表网页-->
<iframename="sbjljgml" id="sbjljgml"src="/ReportServer?reportlet=jtgw.cpt&op=write"width="100%" height="100%" frameborder="0"border="0" marginwidth="0" marginheight="0"scrolling="yes" target="contents"align="center"></iframe>
<body>
</body>
</html>
另外oracle插入两条SQL:
insert into SYSTEMRIGHTS values('902','公文情况汇总表','3','0');
insert into SYSTEMRIGHTDETAIL values('9002','公文情况汇总表’,'OA-Report-02','902')
注释一下OA-Report-01
权限:901开始编号
明细单元:9001 开始编号
七、部署报表
1、 安装FineReport的安装程序
2、 通过SSH工具,将解压出来的\FineReport_6.5\WebReport\WEB-INF地址下的reportlets,resources文件上传至服务器\WEAVER\ecology\WEB-INF目录下。
3、通过SSH工具,将\FineReport_6.5\WebReport\WEB-INF\lib地址下的fr-server-6.5.jar,fr-third-6.5.jar,ojdbc14.jar文件上传至于服务器\WEAVER\Resin\lib目录下。
4、 在linux服务器中\WEAVER\ecology\WEB-INF目录下的web.xml添加内容,如图:
5 以上配置修改完成,重新启动RESIN服务。
6、打开IE,输入http://localhost/WebReport/ReportServer?op=fs,测试是否能打开。
7、 在思科防火墙上映射外网IP到OA内网服务器,并开放80端口,绑定公司域名到OA外网Ip,然后在IE输入http://oa.xx.com,即可访问到FineReport集成的OA系统。
finereport与OA系统集成的完全方案相关推荐
- java nc接口开发_OA和NC系统集成接口开发方案.doc
OA与NC系统集成接口开发方案 目 录 目 录2 4 单点登录3 4.1 注册登录key访问接口3 4.2 访问NC-EHR业务功能3 5. 代办事项列表信息4 6 单一代办事项信息展示4 4 单点登 ...
- 【泛微系统】OA系统集成echart插件,自定义图表demo实例
OA系统集成echart插件,自定义图表demo实例 前言 在公司有时候需要做一些自定义报表,因为系统自带的报表工具很low,这时候可以使用echart插件: 第一步:下载相关jar包 首先下载一下m ...
- 通达oa系统服务器端设置,通达OA系统secWall保密方案之一:服务器端部署
通达OA系统secWall保密方案之一:服务器端部署 万华数据 一. secwall软件部署 在通达OA环境中安装好secWall企业版后,做如下配置,使整个OA系统的数据都在secWall企业版的保 ...
- SAP ERP 与泛微 OA 系统集成的最佳实践指南
SAP ERP 与泛微 OA 系统集成的最佳实践 简介: <SAP ERP 与泛微 OA 的系统集成>系列文章.SAP ERP 是优秀的企业核心管理系统,泛微 OA 是优秀的企业核心协同系 ...
- OA性能调优方案(二)
访问 nginx 状态监控页: 双击 stop.bat 关闭新 nginx 替换旧 nginx 将执行文件由 nginx.exe 重命名为 officeNginx.exe,这样 OA 就可以帮新ngi ...
- OA系统高性能部署方案
高性能应用解决方案 引言 随着企业规模的增长和协同办公系统在企业的应用实践的增长,将会逐步面临着应用人数增多.数据量迅速增长.应用更多.更加复杂.系统延迟.崩溃等问题,企业日常办公面临的严峻挑战. 本 ...
- OA系统集成发票云,提高报销效率
为适应经济社会发展和税收现代化建设需要,满足纳税人使用增值税电子普通发票的需求,国家不断推进增值税电子普通发票普及工作: 2019年8月,国务院最新通知,部署深化"放管服"改革,制 ...
- 智慧医院信息系统集成平台建设方案
2. 设目标 2.1实现医疗信息资源整合与利用 为实现各业务系统信息互联互通,如果采用推倒重建的方法,就有可能将浪费大量的资金,并引起业务震荡.通过医院信息平台的建设尽量减少不必要的重复建设. ...
- OA办公自动化系统开发方案及源码
OA是将现代化办公和计算机网络功能结合起来的一种新型的办公方式.办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术.新机器.新设备从事办公业务,都属于办公自动化的领域.在行政机关中,大都把办 ...
- 用友致远协同办公系统(OA)A6标准方案模板(解决方案、技术方案)
http://www.doc88.com/beermonkey-doc-196719-11-1.html
最新文章
- 2021年大数据Spark(六):环境搭建集群模式 Standalone
- linux学习笔记-第一课-linux的历史,安装linux,远程连接
- coreldraw 导入面料_Coreldraw文件导入Photoshop方法
- 解决不是有效的win32应用程序
- 小米机器人虚拟墙设置_扫地机器人虚拟墙应该怎么放置使用
- 程序步骤_小程序平台搭建步骤是什么?
- Adobe reader 在打开时如何恢复上一次阅读位置
- 关于Android发送邮件
- 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
- 向量误差修正(VECM)模型案例分析
- Mac常见操作:写给媳妇的说明书
- 原创,呵呵(一张图看明白),USB转TTL、USB转串口、USB转232的区别
- 研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了
- C++ 单链表基本操作分析与实现 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结
- 利用xls下载链接下载资源
- TM1638芯片 LED数码管驱动器 详细介绍
- 安徽理工计算机学院朱君,井下带式输送机集中监视与控制系统[1]
- PHP公众号群发用户过多,微信运营:为什么有的微信公众号没有群发限制,可以多次群发图文?...
- [零基础易语言教程]1-1 什么是易语言
- 天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能...