基於WWW的勞資人事管理系統

來源:瑞文範文網 1.43W

勞資人事管理是公司企業內部很重要的一個管理事項,但目前大多公司內部勞資人事的管理,基本上是手工操作或是基於dos下的應用,這樣對信息的管理者有諸多不便,有的雖然是用foxpro、visual foxpro開發,但由於開發工具本身的限制,對網絡功能的支持程度不是很強,爲以後軟件升級到互聯網帶來了麻煩。因此有必要開發一個基於網絡的勞資人事管理系統,能在網絡環境下實現數據的錄入、插入、刪除、查詢、統計、更新、打印等功能。同時,爲了信息的保密與安全,系統還要提供一定的安全機制。

基於WWW的勞資人事管理系統

Powerbuilder6.5是美國著名的Powersoft公司推出的廣泛使用於客戶機/服務器體系結構下的應用程序開發工具,具有完整的Web應用開發功能。它同時支持多種關係數據庫管理系統,通過微軟公司的ODBC接口和專用的大型數據庫接口,能夠高速讀取數據庫中的數據。本系統就採用Powerbuilder6.5開發,服務器端的操作系統爲Windows NT 4.0,客戶端操作系統爲Windows 98。

系統功能的分析及規劃

(1)系統功能的分析

公司內部的勞資人事的管理,從大的方面分主要集中在公司職員的個人情況、工資細目、調入調出及用車等。所以該系統主要是實現對數據的錄入、插入、

刪除、網上查詢、統計、更新、打印等功能。其次,

爲了信息的保密與安全,系統還要提供一定的安全機制。

(2)系統功能的規劃

根據以上系統功能的分析,本系統決定採用MDI風格,它主要分爲以下幾個模塊,其中勞資人事管理系統的父窗口的功能結構圖如圖1所示。

文件模塊:此模塊實現本系統對數據的打開、保存、打印預覽、打印及用戶管理等功能,並可由此退出系統。

信息管理模塊:此模塊實現系統的信息管理,包括對職工情況一覽表、職工調入調出情況表、職工工資表及其它各表的信息數據的插入、刪除、修改、保存等功能。

查詢模塊:此模塊實現本系統的查詢功能,能將個人的基本情況、調入調出情況、工資情況等檢索出來,並可實現多條件查詢和模糊查詢。

統計模塊:此模塊用於對數據庫中的信息數據按照一定的規則進行統計。

系統服務模塊:此模塊用來系統管理人員設密碼和對系統的功能和開發信息進行介紹等。

對於系統中的各表,其基本信息管理功能結構圖如圖1所示:

圖1. 職工基本信息管理功能圖

3 根據用戶要求設計數據表

數據表的建立是應用程序開發過程中的非常重要的一個環節,必須清楚每一模塊要操縱的數據是那些,以及數據間的相互關係,然後建立數據表。勞資人事管理系統要求能對職工的個人情況、調入調出情況、工資情況等進行管理,在職工個人情況表下面,還有象維護職務表,維護學歷表等等。同時還要對系統設置安全機制,爲實現以上要求,下面僅以人事、工資、密碼錶爲例介紹一下各表的結構:

職工情況一覽表

它包括職工標號、姓名、性別、政治面貌等信息。其結構如下:

code char(4) not null, //職工編碼

name char(8) null, //姓名

sex char(2) null, //性別

politics char(8) null, //政治面貌

birthday data null, //出生日期

work_time data null, //參加工作時間

post_zhw char(10) null, //職務

address char(30) null, //家庭住址

該表主鍵爲職工編號(code)。

職工工資表

其結構主要包括職工所得的各種工資福利等。

Code char(4) not null, //職工編號

Name char(8) null, //姓名

g_pay integer null, //崗位工資

j_pay integer null, //技能工資

w_pay integer null, //物價補

s_pay integer null, //書報費

ws_pay integer null, //衛生

xh_pay integer null, //小孩補貼

a_pay integer null, //工齡工資

ht_pay numeric(6,2) null, //合同補貼

jj_pay numeric(8,2) null, //獎金

total_pay numeric(8,2) null, //工資總額

該表主鍵爲職工編號code。

系統密碼錶

user_name char(10) not null, //用戶名稱

user_word char(10) not null, //用戶密碼

user_qx char(2) not null, //用戶權限

系統的網絡實現

由於Powerbuilder具有完整的web應用開發功能,由它編制的軟件可以方便的同服務器端的數據庫協同工作,構成Client/Server工作方式,它使用的是業界熟悉的Web標準(HTML和Java),通過端對對的設計、調試和提交,可以控制Web應用的整個生命週期。本系統客戶應用和服務器應用都採用Powerbuilder開發。其中服務器端的程序是實現中的重點部分,其內容主要是生成SQL語句對數據庫操作及對所得的數據進行處理。它主要分爲監聽客戶連接、處理客戶請求、避免死鎖、向客戶推送消息等。本系統的實現平臺關係圖如圖2所示:

圖2. 實現平臺關係圖

關鍵問題的解決

(1) 安全機制問題

在進入系統之前,要進行身份確認,只有用戶名和用戶密碼都相符的用戶方可進入本系統。爲了防止不合法用戶對數據的察看和修改,本系統把用戶分爲三個級別:超級、可修改和只讀用戶,即一二三級用戶。超級(一級)用戶不僅擁有對數據的查詢、修改權限,還對用戶的使用權限進行控制,可以設定用戶名、密碼和其權限,還可以對紀錄進行增加、刪除、修改等操作。可修改(二級)用戶對數據可以查詢、打印,還可以對紀錄進行增加、刪除、修改等操作。只讀(三級)用戶只擁有對紀錄的瀏覽、查詢和打印權限。當用戶要進入系統是必須先輸入用戶名和密碼,按“確認”按鈕後,系統辨別用戶身份,對合法用戶根據用戶的權限級別賦予相應的使用功能。

對任一數據列進行排序的問題。

熟悉Windows的用戶一定對資源管理器不陌生,當目錄或文件很多時,當然會想到使用排序來儘快定位目標,你只要用鼠標在資源管理器上端的name、size、type或modified中的任意一項點擊,它就會將此項按升序或降序排列。同樣地,在PowerBuilder中,如果數據比較多,我們也可以採用這種辦法來排序以儘快查找記錄。

本系統以窗口w_rsh爲例,要實現這樣的排序功能,首先定義兩個實例變量String pre_col=“”和Int click_time=0,它們分別記錄上次點擊的列和點擊同一列的奇偶數。然後在dw_1的Clicked事件中添加如下腳本:

String clicked_pos,col,format

Long il_pos

clicked_pos = //取點擊的對象

il_pos = Pos(clicked_pos,‘_t‘) //對於列標題,

//取得的對象是列名+”_t”

If il_pos >0 Then

col = Left(clicked_pos,il_pos -1)

If col=pre_col Then

If click_time=0 Then

click_time = 1

format = col+" A"

Else

click_time=0

format = col+" D"

End If

Else

click_time = 0

format = col+" A"

End If

pre_col = col

dw_ort(format)

dw_()

End If

採用上面的方法可實現象Windows中資源管理器靈活排序的功能,從而使所要瀏覽的數據更加一目瞭然。

數據窗口控件的編輯風格的使用

本系統對日期型、需漸變量等數據的輸入採用了編輯掩碼控件editmask,這樣就可以大大方便用戶的操作。對於象性別這樣只有男、女兩個值的,則採用單選鈕radiobutton形式,用戶在錄入時只需要鼠標點擊選鈕即可。在設置條件時的值段名和有固定職供用戶選擇的數據使用了下拉列表框(droplistbox),用戶只需選擇所要輸入的值即可。

6 結束語

隨着計算機的發展與普及,以及互聯網技術的擴展,日常勞資人事管理必將實現無紙化辦公,並且加入到公司內部的Intranet或者是Internet上去,實現數據的共享,這樣有利於勞資人事信息在單位內部的查詢,提高了數據資源的利用,並且能及時的得到更新,不需要象過去那樣浪費大量的人力物力去進行抄寫,提高了工作的效率。

熱門標籤