隨著社會(huì)信息化高速發(fā)展,企業(yè)信息化也得到了一定提高,而如何提高辦公效率已經(jīng)成為企業(yè)一項(xiàng)重要而緊迫的任務(wù),傳統(tǒng)的紙質(zhì)報(bào)表等檔案不僅浪費(fèi)紙張、不易存檔、不易調(diào)閱、不易統(tǒng)計(jì),如何更有效、更快速提升辦公效率和辦公質(zhì)量,成為了制約工作效率提升的最大瓶頸。
由點(diǎn)到面,從各位朋友的電腦桌面上繁多的報(bào)表文件,明顯的可以看出日常工作的繁忙,可是一天下來(lái)感覺(jué)處理的文件卻不多。
地域限制:由于集團(tuán)沒(méi)辦法實(shí)時(shí)和子公司實(shí)現(xiàn)同步辦公,在溝通方面成本很高,而且異地辦公效率低,得到的生產(chǎn)報(bào)表數(shù)據(jù)和財(cái)務(wù)數(shù)據(jù)不準(zhǔn)確,而且不及時(shí)。
員工素質(zhì)的差別:每個(gè)人處事的方式都不同,造成“一鍋粥”的現(xiàn)象,這就要求我們用流程工具和報(bào)表工具來(lái)規(guī)范梳理工作。
檔案丟失:?jiǎn)T工的離職,造成報(bào)表文檔的丟失已經(jīng)成了企業(yè)最大的損失。
透過(guò)現(xiàn)象看本質(zhì),實(shí)現(xiàn)信息化已經(jīng)迫在眉睫,集團(tuán)急需一套OA并集成報(bào)表軟件的系統(tǒng),而泛微OA正好符合我們的需求,且Finereport報(bào)表更是無(wú)縫集成于泛微OA。
效果展示


一、開(kāi)發(fā)工具
讓我們先了解一下這個(gè)B/S架構(gòu)的開(kāi)發(fā)環(huán)境:
操作系統(tǒng): Redhat 5.4 Linux 64位
WBE應(yīng)用服務(wù)器: RESIN
開(kāi)發(fā)語(yǔ)言: JAVA
數(shù)據(jù)庫(kù): ORACLE 10.2g
報(bào)表開(kāi)發(fā)工具: Finereport
網(wǎng)頁(yè)開(kāi)發(fā)工具: Dreamweaver 8
OA系統(tǒng): 泛微協(xié)同OA
Finereport的數(shù)據(jù)來(lái)源于oracle現(xiàn)有數(shù)據(jù)庫(kù),通過(guò)OA新增菜單,鏈接jsp網(wǎng)頁(yè),利用OA角色與權(quán)限控制單元在jsp頁(yè)面(嵌入報(bào)表頁(yè)面)做二次開(kāi)發(fā),并授權(quán)用戶訪問(wèn)報(bào)表。
二、數(shù)據(jù)來(lái)源
由于OA已經(jīng)有現(xiàn)成的oracle10g數(shù)據(jù)庫(kù),而我們的報(bào)表需要的數(shù)據(jù)庫(kù)源主要來(lái)自O(shè)A的數(shù)據(jù)庫(kù)表。
首先,我們要打開(kāi)FR設(shè)計(jì)器,連接數(shù)據(jù)源,設(shè)計(jì)器最上方的菜單欄--服務(wù)器—定義數(shù)據(jù)連接。用鼠標(biāo)選中剛剛命名的數(shù)據(jù)源,右邊顯示對(duì)應(yīng)的數(shù)據(jù)源屬性編輯面板,共有五項(xiàng)屬性:
數(shù)據(jù)庫(kù):oracle
驅(qū)動(dòng):oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@192.168.X.X:1521:實(shí)例名
輸入用戶名和密碼,點(diǎn)擊“測(cè)試連接”按鈕,如下圖所示:

提示,測(cè)試成功,代表oracle數(shù)據(jù)庫(kù)連接成功。
主要的數(shù)據(jù)庫(kù)表如圖所示:
1、workflow_currentoperator工作流請(qǐng)求節(jié)點(diǎn)操作人信息表
,存放如下字段:請(qǐng)求id
、用戶id、工作流類(lèi)型、工作流id、操作節(jié)點(diǎn)id、操作日期、操作時(shí)間

2、workflow_requestLog工作流請(qǐng)求簽字日志表
,存放如下字段:操作者、操作時(shí)間、客戶端ip、下一節(jié)點(diǎn)id、工作流id、請(qǐng)求id、操作日期、操作節(jié)點(diǎn)id

3、formtable_main_4簽報(bào)流程自定義表,存放如下字段:抬頭、主辦部門(mén)、呈送、電話、傳真等敏感字段

4、HrmLocations人力資源辦公地點(diǎn)表
,存放如下字段:所在城市、所在國(guó)家、電話、傳真、手機(jī)。
SysMaintenanceLog系統(tǒng)操作日志表
,存放如下字段:操作日期、操作用戶id、操作時(shí)間、操作類(lèi)型、是否為流程模板

5、workflow_currentoperator工作流請(qǐng)求節(jié)點(diǎn)操作人信息表
,存放如下字段:工作流id
、工作流類(lèi)型、操作節(jié)點(diǎn)id、接收到的日期、接收到的時(shí)間、標(biāo)記流程是否歸檔、操作時(shí)間

6、Hrmdepartment人力資源部門(mén)表,存放如下字段:上級(jí)部門(mén)id、所屬分部1、所有上級(jí)部門(mén)id、部門(mén)名稱(chēng)、部門(mén)標(biāo)識(shí)等。

諸如hrmsubcompany人力資源分部表,存放如下字段:所屬總部id、分部簡(jiǎn)稱(chēng)、分部描述等;HrmResource 人力資源表,存放如下字段:身份證號(hào)碼、賬號(hào)id、籍貫、工作狀態(tài)、密碼等N多的信息,這里不再一一介紹。
三、需求分析
基于Finereport的報(bào)表,并集成到OA,通過(guò)Finereport實(shí)現(xiàn)數(shù)據(jù)庫(kù)復(fù)雜查詢(xún)/填報(bào)的方式,在辦公OA上實(shí)現(xiàn)實(shí)時(shí)交互,讓OA項(xiàng)目花最少的力氣在報(bào)表工作上。體現(xiàn)在:
1、 公文簽報(bào),集中報(bào)表
2、 考勤數(shù)據(jù),集中報(bào)表
3、 資產(chǎn)管理,集中報(bào)表
4、 人員登錄,集中管控
5、 流程管控,集中統(tǒng)一
6、 權(quán)限管控,集中統(tǒng)一
然后把大部分時(shí)間用于問(wèn)題的解決,績(jī)效的提升,決策的制訂,有效的執(zhí)行等核心事上,從而提高工作效率。
四、數(shù)據(jù)分析
先分析一下項(xiàng)目數(shù)據(jù)的采集,報(bào)表數(shù)據(jù)貫穿著辦公OA流程,隨著時(shí)間的積累,積沙成塔。
數(shù)據(jù)范圍:固定資產(chǎn)、人員登錄、集團(tuán)/子公司的公文簽報(bào)、用章申請(qǐng)、考勤等數(shù)據(jù)
數(shù)據(jù)層面:?jiǎn)T工層面
縱向維度:OA復(fù)雜的流程
橫向維度:分公司、部門(mén)、員工、考勤種類(lèi)等
時(shí)間維度:日期
五、報(bào)表設(shè)計(jì)
一般來(lái)說(shuō),一個(gè)完整的報(bào)表設(shè)計(jì)流程,大體分為如下幾個(gè)步驟:

打開(kāi)設(shè)計(jì)器,跳過(guò)配置數(shù)據(jù)源這些簡(jiǎn)單步驟,直奔設(shè)計(jì)報(bào)表主題,舉例集團(tuán)簽報(bào)報(bào)表,首先、了解簽報(bào)所需要的字段,一般是集團(tuán)機(jī)要秘書(shū)來(lái)管理下發(fā)和收件,把字段全部羅列出來(lái),如圖:

其次、簽報(bào)情況匯總報(bào)表涉及了辦公OA流程的部分流程,查看流程,

包含總裁機(jī)要秘書(shū)接收日期,總裁機(jī)要秘書(shū)需要統(tǒng)計(jì)來(lái)文單位、文件主題,然后再?zèng)Q定傳送給哪位集團(tuán)分管領(lǐng)導(dǎo),接下來(lái)又要統(tǒng)計(jì)分管領(lǐng)導(dǎo)意見(jiàn)以及會(huì)簽人的意見(jiàn),最終才歸檔到經(jīng)辦人和總裁機(jī)要秘書(shū),所以這個(gè)報(bào)表具有重要意義,可以省去總裁機(jī)要秘書(shū)頻繁的登記收文和領(lǐng)導(dǎo),提高領(lǐng)導(dǎo)的簽報(bào)效率。
約束條件是requestid,表與表之間通過(guò)requestid的關(guān)聯(lián)起來(lái)的,分別寫(xiě)出該字段需要查詢(xún)的條件,并且日期以流程節(jié)點(diǎn)“已查看”或者“已提交”為時(shí)間判斷標(biāo)準(zhǔn)。

思路清楚后,就直接設(shè)計(jì)報(bào)表字段的SQL,如果用普通的網(wǎng)頁(yè)來(lái)制作這個(gè)簽報(bào)報(bào)表,我想我會(huì)瘋掉的。因?yàn)樘珡?fù)雜了,而且oracle的long類(lèi)型的字段在PL是不顯示的,而FineReport工具竟然能顯示出來(lái),真的讓人佩服。

點(diǎn)擊“預(yù)覽”,結(jié)果就顯示出來(lái)了,如果用網(wǎng)頁(yè)還會(huì)存在緩存,很煩的,而改用FR設(shè)計(jì)器,更簡(jiǎn)潔更快速。
為了提高瀏覽速度,設(shè)計(jì)的時(shí)候需要考慮分頁(yè),點(diǎn)擊“文件號(hào)”,點(diǎn)擊右鍵,設(shè)置條件屬性。設(shè)置公式為&B4 % 31,設(shè)置31行后就分頁(yè)。這樣是一個(gè)月的數(shù)據(jù),對(duì)報(bào)表很有意義。

六、權(quán)限控制
Jsp頁(yè)面代碼編寫(xiě),詳情見(jiàn)例子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>報(bào)表</title>
</head>
<!--這里用iframe方法嵌入finereport報(bào)表網(wǎng)頁(yè)-->
<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
權(quán)限:901開(kāi)始編號(hào)
明細(xì)單元:9001 開(kāi)始編號(hào)
七、部署報(bào)表
1、 安裝FineReport的安裝程序
2、 通過(guò)SSH工具,將解壓出來(lái)的\FineReport_6.5\WebReport\WEB-INF地址下的reportlets,resources文件上傳至服務(wù)器\WEAVER\ecology\WEB-INF目錄下。
3、通過(guò)SSH工具,將\FineReport_6.5\WebReport\WEB-INF\lib地址下的fr-server-6.5.jar,fr-third-6.5.jar,ojdbc14.jar文件上傳至于服務(wù)器\WEAVER\Resin\lib目錄下。

4、 在linux服務(wù)器中\(zhòng)WEAVER\ecology\WEB-INF目錄下的web.xml添加內(nèi)容,如圖:

5 以上配置修改完成,重新啟動(dòng)RESIN服務(wù)。
6、打開(kāi)IE,輸入http://localhost/WebReport/ReportServer?op=fs,測(cè)試是否能打開(kāi)。
7、 在思科防火墻上映射外網(wǎng)IP到OA內(nèi)網(wǎng)服務(wù)器,并開(kāi)放80端口,綁定公司域名到OA外網(wǎng)Ip,然后在IE輸入http://oa.xx.com,即可訪問(wèn)到FineReport集成的OA系統(tǒng)。