魏李方
(北京石油化工學院網(wǎng)絡信息中心 北京市 102617)
高校每年都需要進行項目申報工作。項目申報中主要有項目申報文本、可行性報告、項目預算明細、評審報告、績效報告及支撐材料等文檔,項目申報流程涉及到項目申報人、項目申報部門、項目歸口部門、財經(jīng)委員會等審核環(huán)節(jié)。由于每年學校申報的項目比較多,項目申報需要填寫的內容多、范圍廣,項目申報文檔格式存在嚴重的不統(tǒng)一、不規(guī)范的問題。項目申報涉及到部門審核、歸口部門審核、財經(jīng)委審核等多個環(huán)節(jié),這些環(huán)節(jié)會反復提出修改要求,整個申報過程文檔填寫繁瑣、溝通費時。
基于以上情況,決定根據(jù)我校實際需求,設計并開發(fā)一個項目申報管理系統(tǒng)以降低項目申報工作量,減少項目申報填寫內容,規(guī)范項目申報文檔,提高項目申報水平。
該系統(tǒng)將從以下幾個方面對項目申報工作進行優(yōu)化:
(1)預置公共信息,如學校名稱、學校地址、郵政編碼、聯(lián)系電話、法人代表、人員情況、資產(chǎn)規(guī)模、財務收支狀況、上級單位等,這些預設的內容由系統(tǒng)管理員每年根據(jù)學校情況進行更新,項目填報人在進行項目申報時不再填寫這些預設的內容;
(2)項目科學分類,比如:項目前綴、項目性質、項目類型、項目歸口類型、項目采購方式等,用戶在進行項目申報時,根據(jù)項目情況進行選擇,不再填寫文本內容;
(3)優(yōu)化申報流程,通過對整個項目申報流程進行研究,我們將項目申報流程劃分為:項目填報、部門審核、歸口部門審核、財經(jīng)委審核等環(huán)節(jié),通過對項目申報流程進行整合,簡化項目申報工作;
(4)規(guī)范申報文檔,項目填報人在系統(tǒng)中填寫項目申報相關信息,由系統(tǒng)根據(jù)預置模板生成項目申報相關的word 文檔和Excel表格,通過這種方式來對用戶填報的項目文檔格式規(guī)范化。
項目申報的用戶可以分為不同的角色,對這些角色進行如表1所示的分類:
在項目申報環(huán)節(jié),用戶填寫項目基本信息、項目申報文本、預算明細表、可行性報告、評審報告、項目支出績效目標等內容。為了減少項目申報的工作量、對項目申報文檔進行標準化,在進行系統(tǒng)設計時,盡量采用單選框、復選框、下拉選擇框等讓用戶進行選擇,減少用戶的文本輸入量。在用戶填寫過程中,系統(tǒng)每半分鐘會自動保存用戶所填信息,在用戶離開填寫界面時,系統(tǒng)會提醒用戶保存所填信息。在項目申報文本、可行性報告等信息填寫界面中,系統(tǒng)會自動對用戶填寫的內容跟進行字數(shù)的限制,刪除多余的空行、對段落進行自動的縮進,對必填內容進行提醒、檢查。在預算明細表中,系統(tǒng)會根據(jù)用戶單價、數(shù)量自動計算從總價并對整個項目的預算明細進行匯總。
項目申報管理系統(tǒng)的一個重要的功能是生成符合上級部門要求的格式統(tǒng)一、內容規(guī)范的項目申報文檔。系統(tǒng)結合FreeMarker 模板技術和POI,根據(jù)用戶填寫的表單來生成這些文檔[2]。系統(tǒng)生成文檔的時間點有兩個。一個是通過定時任務來生成文檔。系統(tǒng)每隔5 分鐘會檢查系統(tǒng)中是否有修改過的、沒有生成文檔的項目,如果有就為該項目生成文檔。由于生成文檔需要一定的時間,通過定時任務生成文檔能減少系統(tǒng)響應時間,提高用戶體驗;一個是用戶在前端頁面點擊導出文檔按鈕、調用導出文檔的功能時,如果系統(tǒng)中沒有該項目的文檔,則為該項目生成文檔,如果系統(tǒng)中存在該項目的文檔,則直接給用戶返回文檔的壓縮包。
系統(tǒng)還根據(jù)學校的需求,生成項目申報相關的各種Excel 格式的統(tǒng)計報表。由于統(tǒng)計報表的統(tǒng)計口徑及統(tǒng)計條件不同,這些統(tǒng)計報表根據(jù)用戶設置的統(tǒng)計查詢條件即時生成。
系統(tǒng)中的統(tǒng)計分析功能包括綜合預算明細表、項目經(jīng)費申請情況、部門經(jīng)費申請情況、歸口經(jīng)費申請情況等方面的統(tǒng)計分析。通過對申報項目的預算申請數(shù)、審定額、審減額、無法確定額、年份、歸口類型等項進行統(tǒng)計分析,可以更加科學地確定項目的預算申請額、合理地安排項目經(jīng)費,從而減少項目申報的審減額和無法確定額,為以后的項目申報提供指引。
系統(tǒng)管理功能主要有用戶管理、部門管理、角色管理、定時任務管理等功能,為整個系統(tǒng)提供一個基礎的運行環(huán)境。
系統(tǒng)設計采用B/S 結構實現(xiàn),主要分為客戶端程序和服務器程序兩部分。客戶端程序基于PC 端瀏覽器進行開發(fā),采用響應式的H5 技術,能夠兼容IE,F(xiàn)irefox,Chrome 等主流瀏覽器[2];主要完成收集用戶填寫的項目申報文本、可行性報告、評審報告,項目預算明細等信息,同時對這些信息進行客戶端校驗。

表1:項目申報管理系統(tǒng)人員角色分類表
服務器端程序采用Spring、Spring MVC、FreeMarker、Quartz等技術,主要完成對客戶端信息的規(guī)范、轉換、保存、生成項目申報文檔及其他任務。服務器端程序采用多層結構,主要包括視圖層、控制器層、業(yè)務邏輯層以及數(shù)據(jù)訪問層,這種分層的結構能很好地對系統(tǒng)進行解耦,從而給系統(tǒng)帶來巨大的靈活性。下面將簡單介紹系統(tǒng)中所用的主要技術。
Spring 框架是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架,作為J2EE 的性能優(yōu)異、功能強大的基礎框架得到了廣泛的應用。Spring 采用低侵入式設計, 和業(yè)務代碼的耦合程度比較低;Spring 的AOP 支持將安全、事務、日志等通用功能進行集中式管理, 從而簡化系統(tǒng)的開發(fā);Spring 還能方便地和Mybatis、Hibernate 和SPA 等DAO 框架集成,提供靈活的持久層框架支持, 簡化對底層的數(shù)據(jù)庫訪問[3]。
Spring MVC 是一個輕量級Web 框架,將Web 層進行職責劃分和解耦,簡化了Web 開發(fā)工作。Spring MVC 框架圍繞DispatcherServlet 設計,通過DispatcherServlet 給處理程序分派請求、執(zhí)行視圖解析、處理語言環(huán)境等。
Spring MVC 角色劃分清晰、分工明確、能和Spring 框架無縫集成。具有良好的可適配性、可定制性,同時還提供功能強大的數(shù)據(jù)驗證、格式化、綁定機制等。
FreeMarker 是一款是免費的,基于Apache 許可證2.0 版本發(fā)布,用java 語言編寫的輕量級模版引擎,不需要Servlet 環(huán)境就可以很輕松的嵌入到應用程序中,很適合作為web 應用框架的一個組件。FreeMarker 能根據(jù)需求生成各種文本格式的文件,如html、xml、java 等。本系統(tǒng)使用FreeMarker 來生成Xml 格式的word 文件和Excel 文檔。
Quartz 是一個開源的Java 作業(yè)調度框架,可以為Java 應用程序提供強大的作業(yè)調度功能。Quartz 可以與J2EE 與J2SE 應用程序相結合也可以單獨使用。Quartz 中有Job、JobDetail、Trigger、Scheduler 等核心類。其中Job 表示一個工作,JobDetail 表示具體的可執(zhí)行的調度程序,Trigger 表示調度參數(shù),Scheduler 表示調度容器。本系統(tǒng)中主要是使用Quartz 來調度生成項目申報文檔等定時任務。
本文首先指出高校項目申報管理工作中存在的申報文檔格式不統(tǒng)一、不規(guī)范、流程復雜的問題,在此基礎上提出了基于J2EE 的Spring、Spring MVC、FreeMarker、Quartz 等技術的項目申報管理系統(tǒng)設計和實現(xiàn)的方法。本文提出的方法可以充分利用各種技術提高系統(tǒng)的易用性和穩(wěn)定性、減少進行項目申報、審核及統(tǒng)計分析的工作量、提高項目申報的成功率。
在以后的工作中,可以將系統(tǒng)的部分功能移植到移動端,與短信、微信等手機功能相結合,提供更方便、智能的項目申報功能。