基于OFBIZ框架的智能考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
引 言
移動(dòng)互聯(lián)網(wǎng)的本質(zhì)其實(shí)是一個(gè)劃時(shí)代的“藥引子”,它可以和物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)完美融合,引爆各種各樣的人工智能。該智能考勤系統(tǒng)便是這樣一個(gè)有力體現(xiàn),用戶(hù)通過(guò)各種渠道(考勤機(jī)、Web 平臺(tái)簽到、手機(jī) App 簽到或者通過(guò)流程補(bǔ)簽考勤)提交的打卡數(shù)據(jù)被系統(tǒng)采集后,通過(guò)系統(tǒng)預(yù)先設(shè)置好的各項(xiàng)考勤參數(shù),進(jìn)行精確實(shí)時(shí)的計(jì)算、分析和統(tǒng)計(jì), 有效實(shí)現(xiàn)了企業(yè)考勤的智能化,是企業(yè)的效率辦公與運(yùn)營(yíng)規(guī)范化管理之間的最優(yōu)平衡點(diǎn),用管理數(shù)據(jù)支持企業(yè)規(guī)范化運(yùn)營(yíng)。
1 系統(tǒng)功能規(guī)劃
系統(tǒng)的功能及業(yè)務(wù)流程如圖 1 所示,主要包括數(shù)據(jù)采集、上傳、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)等。
1.1 考勤數(shù)據(jù)采集功能
該系統(tǒng)不僅支持常規(guī)的考勤機(jī)簽到,還支持靈活的考勤 渠道,如手機(jī) App 簽到,Web 平臺(tái)簽到,甚至通過(guò)在線提交 考勤異常說(shuō)明補(bǔ)簽考勤。
1.2 考勤數(shù)據(jù)上傳功能
系統(tǒng)將采集到的數(shù)據(jù)統(tǒng)一上傳至考勤數(shù)據(jù)庫(kù),并進(jìn)行統(tǒng) 一管理。
1.3 考勤數(shù)據(jù)計(jì)算功能
系統(tǒng)根據(jù)企業(yè)設(shè)定的考勤時(shí)間范圍及考勤簽到地點(diǎn),實(shí) 時(shí)對(duì)考勤數(shù)據(jù)進(jìn)行分析、有效性判斷和計(jì)算,生成精確的考 勤結(jié)果。
1.4 考勤報(bào)表生成功能
系統(tǒng)根據(jù)用戶(hù)的考勤結(jié)果,統(tǒng)計(jì)其出勤天數(shù)、缺勤天數(shù)、 請(qǐng)假天數(shù),以及遲到時(shí)長(zhǎng)、加班時(shí)長(zhǎng)、早退時(shí)長(zhǎng)等,生成考勤 日?qǐng)?bào)表、月報(bào)表,并提供報(bào)表下載和打印功能。
2 系統(tǒng)設(shè)計(jì)
系統(tǒng)采用 MVC 經(jīng)典設(shè)計(jì)模式,即模型 - 視圖 - 控制模式, 實(shí)現(xiàn)請(qǐng)求分發(fā)、業(yè)務(wù)處理與視圖展示的分層,通過(guò)對(duì)手機(jī)端 提供統(tǒng)一的接口,成功實(shí)現(xiàn)手機(jī) App 端與 Web 端的業(yè)務(wù)邏輯 層共用,系統(tǒng)架構(gòu)如圖 2 所示。
2.1 系統(tǒng)前端設(shè)計(jì)
ftl 文件由 freemarker 語(yǔ)法 +html 語(yǔ)言 +css 樣式 +js 事件 構(gòu)成,從而完成頁(yè)面展示。
App 前端使用 DCloud 工具混合模式開(kāi)發(fā),本文不做詳 細(xì)介紹。
2.2 系統(tǒng)后端設(shè)計(jì)
用戶(hù) URL 請(qǐng)求到達(dá)時(shí),系統(tǒng)通過(guò)讀取 web.xml 配置文件, 對(duì)請(qǐng)求進(jìn)行攔截、過(guò)濾,然后通過(guò) controller.xml 文件配置的 控制器對(duì)請(qǐng)求進(jìn)行分發(fā),并進(jìn)入相應(yīng)的 action 事件,action 層 調(diào)用 service 層業(yè)務(wù)處理,從數(shù)據(jù)庫(kù)獲取請(qǐng)求的數(shù)據(jù)并進(jìn)行相 應(yīng)操作后返回相應(yīng)的視圖 view。通過(guò) controller.xml 文件配置 view 值返回到對(duì)應(yīng)的 screen。后端業(yè)務(wù)邏輯圖如圖 3 所示。
2.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
通過(guò) OFBIZ 框架自帶的實(shí)體引擎,在 entitiyengine.xml 文件里進(jìn)行相關(guān)配置實(shí)現(xiàn)數(shù)據(jù)庫(kù)的映射與連接屬性的設(shè)置, 并且可以實(shí)現(xiàn)多數(shù)據(jù)支持。在 entitymodel 文件中實(shí)現(xiàn)實(shí)體與 庫(kù)表的映射關(guān)系,如定義一個(gè) Student 表,在文件中可以這樣 配置 :
當(dāng)系統(tǒng)使用 Student 表時(shí)只需要通過(guò)實(shí)體名“Student”即 可對(duì)表進(jìn)行操作。
3 開(kāi)發(fā)工具和實(shí)現(xiàn)技術(shù)
(1)開(kāi)發(fā)環(huán)境 :Web 端使用安裝了 jdk 1.9 的 Windows,App 端使用 Android 系統(tǒng)手機(jī)和 iOS 系統(tǒng)手機(jī) ;
(2)開(kāi)發(fā)工具 :Web 前端使用 dreamweaver工具開(kāi)發(fā), Web 后端使用 Eclipse 或者 MyEclipse 作為 IDE 工具,App 端 使用 DCloud 工具混合模式開(kāi)發(fā)。
(3)實(shí)現(xiàn)技術(shù) :Web 端采用 OFBIZ 框 架,前端使用 freemarker,js,ajax 等技術(shù)完成靜態(tài)頁(yè)面的實(shí)現(xiàn),后端使用 groovy,java 語(yǔ)言,結(jié)合 MVC 開(kāi)發(fā)模式,實(shí)現(xiàn)業(yè)務(wù)邏輯處理。
4 結(jié) 語(yǔ)
本文主要介紹了基于 OFBIZ 框架的智能考勤系統(tǒng)的功能 設(shè)計(jì)和技術(shù)概要,對(duì)系統(tǒng)的整體架構(gòu)進(jìn)行全面講解,但是對(duì) 于功能的實(shí)現(xiàn)細(xì)節(jié)只做了概括說(shuō)明。該智能考勤系統(tǒng)的優(yōu)點(diǎn)總 結(jié)如下:
(1)用戶(hù)使用成本低 :系統(tǒng)對(duì)于使用數(shù)據(jù)庫(kù)及服務(wù)器進(jìn) 行統(tǒng)一管理和監(jiān)控,用戶(hù)只需注冊(cè),進(jìn)行個(gè)性化配置即可投 入使用;
(2)功能實(shí)用 :考勤功能幾乎是每個(gè)企業(yè)必要的工作, 通過(guò)系統(tǒng)智能處理考勤數(shù)據(jù)不僅精確客觀,而且極大地節(jié)約了 人力成本 ;
(3)通用性極佳 :各個(gè)企業(yè)可以根據(jù)自己企業(yè)的實(shí)際情 況靈活配置各項(xiàng)參數(shù),實(shí)現(xiàn)定制型管理。
在當(dāng)今信息化全面應(yīng)用的社會(huì),智能辦公必定是大勢(shì)所 趨,該系統(tǒng)實(shí)現(xiàn)了考勤數(shù)據(jù)的靈活采集、考勤計(jì)算的實(shí)時(shí)精確、 考勤報(bào)表的智能生成,對(duì)提高企業(yè)的辦公效率和規(guī)范化運(yùn)營(yíng) 有很大的促進(jìn)作用。