項(xiàng)目4人力資源管理系統(tǒng)_第1頁
項(xiàng)目4人力資源管理系統(tǒng)_第2頁
項(xiàng)目4人力資源管理系統(tǒng)_第3頁
項(xiàng)目4人力資源管理系統(tǒng)_第4頁
項(xiàng)目4人力資源管理系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、項(xiàng)目4-人力資源管理系統(tǒng)項(xiàng)目來源:湖南科創(chuàng)信息技術(shù)股份有限公司隨著市場(chǎng)競爭的日趨激烈,人才已成為實(shí)現(xiàn)企業(yè)自身戰(zhàn)略目標(biāo)的一個(gè)非常關(guān)鍵的因素。企業(yè)中人心向背和員工對(duì)工作的投入程度在很大程度上決定了該企業(yè)的興衰與成敗。如何能保持本企業(yè)對(duì)員工的工作責(zé)任感,激勵(lì)他們的工作熱情,減少人才的流失,已成為困擾企業(yè)主管和人力資源經(jīng)理的一個(gè)日益尖銳的問題,可以說企業(yè)管理從根本上來講就是對(duì)人的管理?,F(xiàn)在“公平、公正、合理”的企業(yè)管理原則已為不少企業(yè)所采納。但是要實(shí)現(xiàn)“公平、公正、合理”絕非易事,它不是僅靠規(guī)章制度和政策就可以解決的。通過建立透明、相容、一致、易查和全面的人力資源信息系統(tǒng),將與人相關(guān)的信息統(tǒng)一地管理起

2、來,才有可能為“公平、公正、合理”原則的實(shí)現(xiàn),以及企業(yè)在運(yùn)作和勞資糾紛等方面的風(fēng)險(xiǎn)規(guī)避等建立一套科學(xué)的保障體系。本章將向讀者全面剖析人力資源管理的內(nèi)容,由此得出人力資源管理系統(tǒng)需求分析和數(shù)據(jù)建模,并最終演示如何利用Visual Basic.NET完成系統(tǒng)的制作。1 人力資源管理的任務(wù)與作用1.1 人力資源管理的任務(wù)人力資源管理工作的主要任務(wù)有:進(jìn)行人力資源規(guī)劃和分析貫徹平等就業(yè)機(jī)會(huì)原則聘任員工從事人力資源開發(fā)確定報(bào)酬和福利處理員工與勞資關(guān)系人力資源規(guī)劃和分析包括幾方面的任務(wù)。在進(jìn)行人力資源規(guī)劃的過程中,經(jīng)理人員將預(yù)計(jì)未來影響勞動(dòng)力供求的有關(guān)因素。人力資源分析要求具備各種相關(guān)的信息資料、通信系統(tǒng)

3、和評(píng)價(jià)系統(tǒng),它們是從事協(xié)調(diào)人力資源工作所不可或缺的部分。政府在遵從平等就業(yè)機(jī)會(huì)法規(guī)方面的要求,無疑將對(duì)所有其他人力資源管理工作產(chǎn)生重大影響。例如,企業(yè)在進(jìn)行戰(zhàn)略性人力資源規(guī)劃時(shí),為貫徹在雇傭少數(shù)種族成員和婦女方面的贊助性行為的要求,就必須為雇傭各種各樣的雇員留有充分的余地。另外在招聘選拔和培訓(xùn)人員時(shí),所有經(jīng)理人員都必須遵守平等就業(yè)機(jī)會(huì)法規(guī)的要求。聘任員工指選擇適合標(biāo)準(zhǔn)要求的相應(yīng)數(shù)量的人員,來填補(bǔ)企業(yè)的崗位空缺。職務(wù)分析是聘任工作的基礎(chǔ)。根據(jù)職務(wù)分析所得結(jié)論,就可以準(zhǔn)備工作說明書和職務(wù)要求細(xì)則,這兩項(xiàng)都是在招聘中所需使用的材料。在人員選拔過程中,應(yīng)特別注意選擇最符合要求的員工來填補(bǔ)企業(yè)的崗位空缺

4、。員工培訓(xùn)與人力資源開發(fā)工作包括想新雇員介紹企業(yè)的各種情況、對(duì)現(xiàn)有員工進(jìn)行職業(yè)技能培訓(xùn)、鼓勵(lì)和幫助員工在多方面提高和發(fā)展等內(nèi)容。在職務(wù)不斷演化和改變的環(huán)境下,為了適應(yīng)技術(shù)的變化,企業(yè)就必須對(duì)員工進(jìn)行培訓(xùn)和再培訓(xùn)。此外,為迎接未來的挑戰(zhàn),還必須鼓勵(lì)各級(jí)負(fù)責(zé)人、管理者和所有員工不斷有所發(fā)展和提高。為此企業(yè)一般制定了員工職業(yè)發(fā)展計(jì)劃,這種計(jì)劃的目的,是為那些在企業(yè)內(nèi)尋求自我發(fā)展的員工設(shè)計(jì)出發(fā)展的路徑,并安排為此所需要的有關(guān)活動(dòng)。為了提高員工的工作成效,企業(yè)還應(yīng)對(duì)員工的工作表現(xiàn)進(jìn)行考核,以確定員工的本職工作究竟做的怎么樣。報(bào)酬就是通過薪金、獎(jiǎng)勵(lì)和福利等方式來報(bào)答為企業(yè)工作的員工。企業(yè)必須認(rèn)真設(shè)計(jì)和不斷

5、完善基本工資和薪酬制度。除了工薪以外,越來越多的企業(yè)好指定了某些獎(jiǎng)勵(lì)計(jì)劃,例如利潤分享和工作獎(jiǎng)勵(lì)等。但是另一方面,快速增長的福利費(fèi)用,特別是扶搖直上的醫(yī)療的保健費(fèi)用,仍將繼續(xù)是一個(gè)值得思考和認(rèn)真對(duì)待的重大問題。如果員工和企業(yè)雙方都想聯(lián)手共創(chuàng)繁榮,那么管理著和員工就必須卓有成效地處理雙方的關(guān)系。不論員工是否由工會(huì)來代表,企業(yè)都必須重視與員工健康、人身安全和財(cái)物保障有關(guān)的各項(xiàng)工作。為促成企業(yè)與員工的良好關(guān)系,企業(yè)還必須保障員工的各種權(quán)利。另外為了使員工如同管理者那樣準(zhǔn)確地了解企業(yè)對(duì)員工的期望。企業(yè)還必須制定、傳達(dá)和不斷更新人力資源政策和規(guī)則。在有工會(huì)的企業(yè)中,企業(yè)還應(yīng)重視和處理好資方和工會(huì)的關(guān)系。

6、1.2 人力資源管理系統(tǒng)的作用人力資源管理系統(tǒng)是以先進(jìn)的軟件和高速、大容量的硬件為基礎(chǔ)的,新的人力資源管理模式,通過集中式的信息庫、自動(dòng)處理信息、員工自助服務(wù)、外協(xié)以及服務(wù)共享,達(dá)到降低成本、提高效率、改進(jìn)員工服務(wù)模式的目的。它通過與企業(yè)現(xiàn)有的網(wǎng)絡(luò)技術(shù)相聯(lián)系,保證人力資源與日新月異的技術(shù)環(huán)境同步發(fā)展。一般來說,可以分為四個(gè)部分來理解人力資源管理系統(tǒng)。1. 管理人員角色和目標(biāo)的改變傳統(tǒng)的人力資源管理中,管理人員的絕大部分精力將耗費(fèi)在繁瑣的日常行政事務(wù)處理上,而作為企業(yè)管理層的參謀角色應(yīng)該做的咨詢和策略制定的工作相對(duì)缺乏。通過人力資源管理系統(tǒng)管理人員將決大部分精力放在管理層提供咨詢、建議上,而在行

7、政事務(wù)上的工作可以由電子化系統(tǒng)完成,只需占用HR人員極少的精力和時(shí)間。2 提供更好的服務(wù)人力資源管理系統(tǒng)可以迅速、有效地收集各種信息,加強(qiáng)內(nèi)部的信息溝通。各種用戶可以直接從系統(tǒng)中獲得自己所需要的各種信息,并根據(jù)相關(guān)信息做出決策和相應(yīng)的行動(dòng)方案。3. 降低成本人力資源管理系統(tǒng)通過減少人力資源管理工作的操作成本、降低員工流動(dòng)率、減少通訊費(fèi)用等途徑達(dá)到降低企業(yè)運(yùn)作成本的目的。4. 革新管理理念人力資源管理系統(tǒng)的最終目的是達(dá)到革新企業(yè)的管理理念而不僅僅是改進(jìn)管理方式、優(yōu)化人力資源管理。先進(jìn)技術(shù)應(yīng)用與人力資源管理時(shí),并不僅僅是為了將現(xiàn)有的人力資源工作做的更好,更重要的是,做些對(duì)于企業(yè)來講更有效率的事情,

8、成為管理層的決策支持者,為決策提供信息和解決方案。2 功能分析與系統(tǒng)流程圖由于篇幅有限,本實(shí)例詳細(xì)介紹如圖1所示的功能開發(fā)過程,并簡化其中各功能所包含的屬性,其他功能讀者完全可以參照這些功能的開發(fā)方法實(shí)現(xiàn)。人力資源管理系統(tǒng)圖1詳細(xì)介紹的功能模塊歷史工資獎(jiǎng)勵(lì)記錄歷史工資懲罰記錄當(dāng)月工資管理修改明細(xì)并計(jì)算從歷史導(dǎo)入導(dǎo)入到歷史圖2系統(tǒng)流程圖3數(shù)據(jù)庫設(shè)計(jì)一個(gè)基本的人力資源管理系統(tǒng)數(shù)據(jù)庫中包括多張數(shù)據(jù)表,分別存放相應(yīng)子功能的數(shù)據(jù)信息,其中組織機(jī)構(gòu)編碼表和職員基本信息表是起關(guān)鍵作用的表,用于存放基礎(chǔ)的數(shù)據(jù)信息。其他涉及組織機(jī)構(gòu)信息和職員信息的數(shù)據(jù)表,都只記錄機(jī)構(gòu)或職員的編號(hào),根據(jù)作為外鍵的編號(hào)字段和組織機(jī)

9、構(gòu)編碼表或職員基本信息表相對(duì)應(yīng)。因此這2張表和其他數(shù)據(jù)表間的關(guān)系是1:N的關(guān)系。本程序共需8張表,用途分別如表1所示。表1 系統(tǒng)數(shù)據(jù)表及其用途數(shù)據(jù)表名稱數(shù)據(jù)表用途用戶清單保存系統(tǒng)使用者的信息職員基本信息表用于保存企業(yè)組織機(jī)構(gòu)的詳細(xì)信息,包括機(jī)構(gòu)間的層次編碼等組織機(jī)構(gòu)編碼表用于保存企業(yè)員工的基本信息月工資統(tǒng)計(jì)表用于保存、計(jì)算當(dāng)月的員工工資個(gè)人所得稅表用于保存?zhèn)€人所得稅的稅率數(shù)據(jù)工資發(fā)放歷史表用于保存所有月份工資發(fā)放的歷史職員獎(jiǎng)勵(lì)表用于保存員工的獎(jiǎng)勵(lì)情況職員懲罰表用于保存員工的懲罰情況以下為數(shù)據(jù)表之間的關(guān)系圖圖3 數(shù)據(jù)表關(guān)系圖3.1創(chuàng)建數(shù)據(jù)庫打開SQL Server企業(yè)管理器,新建一個(gè)數(shù)據(jù)庫,將其

10、命名為hrmbook。后面幾小節(jié)我們將列出幾個(gè)重點(diǎn)的數(shù)據(jù)表的建庫腳本。3.2創(chuàng)建“組織機(jī)構(gòu)編碼表”CREATE TABLE dbo.組織機(jī)構(gòu)編碼表 (內(nèi)部編號(hào) int IDENTITY (1, 1) NOT NULL ,類別 varchar (100) NULL ,AbsIndex int NULL ,ItemIndex int NULL ,ItemLevel int NULL ,ParentIndex int NULL ,類別號(hào) char (10) NULL ,單位編號(hào) varchar (20) NOT NULL PRIMARY KEY,單位名稱 varchar (100) NULL ,拼音

11、編碼 varchar (50) NULL ,單位地址 varchar (100) NULL ,單位電話號(hào)碼 varchar (50) NULL ,開戶銀行 varchar (100) NULL ,帳號(hào) varchar (50) NULL ,開戶全稱 varchar (100) NULL) ON PRIMARYGO3.3創(chuàng)建“職員基本信息表”CREATE TABLE dbo.職員基本信息表 (內(nèi)部編號(hào) int IDENTITY (1, 1) NOT NULL ,職員編號(hào) varchar (30) NOT NULL PRIMARY KEY,姓名 varchar (20) NOT NULL ,姓名簡

12、碼 varchar (10) NULL ,性別 varchar (2) NULL ,出生日期 int NULL ,年齡 int NULL ,籍貫 varchar (50) NULL ,民族 varchar (20) NULL ,文化程度 char (50) NULL ,畢業(yè)學(xué)校 char (100) NULL ,健康狀況 varchar (50) NULL ,婚姻狀況 varchar (10) NULL ,身份證號(hào)碼 varchar (18) NULL ,家庭電話 varchar (50) NULL ,辦公電話 varchar (50) NULL ,手機(jī) varchar (50) NULL ,

13、電子郵件地址 varchar (50) NULL ,職工賬號(hào) varchar (20) NULL ,單位編號(hào) varchar (20) NULL, 備注 varchar (100) NULL ) ON PRIMARYGO3.4創(chuàng)建其他數(shù)據(jù)表CREATE TABLE dbo.用戶清單 (用戶編號(hào) char (6) NOT NULL ,部門 char (20) NOT NULL ,姓名 char (10) NOT NULL ,性別 char (2) NOT NULL ,密碼 char (10) NULL ) ON PRIMARYGOCREATE TABLE dbo.月工資統(tǒng)計(jì)表 (日期 int N

14、ULL ,職員編號(hào) varchar (30) Not NULL PRIMARY KEY,基本工資 float NULL DEFAULT (0) ,浮動(dòng)工資 decimal(26, 2) NULL DEFAULT (0) ,合同補(bǔ) decimal(26, 2) NULL DEFAULT (0) ,糧副補(bǔ) decimal(26, 2) NULL DEFAULT (0) ,房補(bǔ) decimal(26, 2) NULL DEFAULT (0) ,臨時(shí)補(bǔ) decimal(26, 2) NULL DEFAULT (0) ,職務(wù)工資 decimal(26, 2) NULL DEFAULT (0) ,工齡工資

15、 decimal(26, 2) NULL DEFAULT (0) ,考核工資 decimal(26, 2) NULL DEFAULT (0) ,獎(jiǎng)金 decimal(26, 2) NULL DEFAULT (0) ,應(yīng)發(fā)金額合計(jì) decimal(26, 2) NULL DEFAULT (0) ,房租 decimal(26, 2) NULL DEFAULT (0) ,水電費(fèi) decimal(26, 2) NULL DEFAULT (0) ,請(qǐng)假扣除 decimal(26, 2) NULL DEFAULT (0) ,考勤扣除 decimal(26, 2) NULL DEFAULT (0) ,罰款

16、decimal(26, 2) NULL DEFAULT (0) ,住房公積金 decimal(26, 2) NULL DEFAULT (0) ,醫(yī)療保險(xiǎn) decimal(26, 2) NULL DEFAULT (0) ,養(yǎng)老保險(xiǎn) decimal(26, 2) NULL DEFAULT (0) ,失業(yè)保險(xiǎn) decimal(26, 2) NULL DEFAULT (0) ,生育保險(xiǎn) decimal(26, 2) NULL DEFAULT (0) ,工傷保險(xiǎn) decimal(26, 2) NULL DEFAULT (0) ,應(yīng)扣金額合計(jì) decimal(26, 2) NULL DEFAULT (0)

17、 ,工資合計(jì) decimal(26, 2) NULL DEFAULT (0) ,個(gè)人所得稅 decimal(26, 2) NULL DEFAULT (0) ,實(shí)發(fā)金額 decimal(26, 2) NULL DEFAULT (0) ,發(fā)放否 char (10) NULL ,月份 int NULL) ON PRIMARYGOCREATE TABLE dbo.個(gè)人所得稅表 (編號(hào) int NOT NULL PRIMARY KEY,級(jí)數(shù) char (2) NOT NULL ,不計(jì)稅工資 decimal(26, 2) NOT NULL DEFAULT (800),工資下限 decimal(26, 2)

18、 NOT NULL DEFAULT (0),工資上限 decimal(26, 2) NOT NULL DEFAULT (0),個(gè)人所得稅率 decimal(26, 2) NOT NULL DEFAULT (0),速算扣除數(shù) decimal(26, 2) NOT NULL DEFAULT (0),備注 varchar (50) NULL) ON PRIMARYGOCREATE TABLE dbo.工資發(fā)放歷史表 (日期 int NULL ,職員編號(hào) varchar (30) NULL ,基本工資 float NULL ,浮動(dòng)工資 decimal(26, 2) NULL ,合同補(bǔ) decimal(

19、26, 2) NULL ,糧副補(bǔ) decimal(26, 2) NULL ,房補(bǔ) decimal(26, 2) NULL ,臨時(shí)補(bǔ) decimal(26, 2) NULL ,職務(wù)工資 decimal(26, 2) NULL ,工齡工資 decimal(26, 2) NULL ,考核工資 decimal(26, 2) NULL ,獎(jiǎng)金 decimal(26, 2) NULL ,應(yīng)發(fā)金額合計(jì) decimal(26, 2) NULL ,房租 decimal(26, 2) NULL ,水電費(fèi) decimal(26, 2) NULL ,請(qǐng)假扣除 decimal(26, 2) NULL ,考勤扣除 dec

20、imal(26, 2) NULL ,罰款 decimal(26, 2) NULL ,住房公積金 decimal(26, 2) NULL ,醫(yī)療保險(xiǎn) decimal(26, 2) NULL ,養(yǎng)老保險(xiǎn) decimal(26, 2) NULL ,失業(yè)保險(xiǎn) decimal(26, 2) NULL ,生育保險(xiǎn) decimal(26, 2) NULL ,工傷保險(xiǎn) decimal(26, 2) NULL ,應(yīng)扣金額合計(jì) decimal(26, 2) NULL ,工資合計(jì) decimal(26, 2) NULL ,個(gè)人所得稅 decimal(26, 2) NULL ,實(shí)發(fā)金額 decimal(26, 2)

21、NULL ,發(fā)放否 char (10) NULL ,月份 int NULL) ON PRIMARYGOCREATE TABLE dbo.職員獎(jiǎng)勵(lì)表 (序號(hào) int IDENTITY (1, 1) NOT NULL PRIMARY KEY,職員編號(hào) varchar (30) NOT NULL ,獎(jiǎng)勵(lì)類型 varchar (20) NULL ,獎(jiǎng)勵(lì)金額 float NULL DEFAULT (0),是否計(jì)入工資 char (10) NULL DEFAULT (否),獎(jiǎng)勵(lì)原因 varchar (50) NULL ,部門意見 varchar (100) NULL ,獎(jiǎng)勵(lì)日期 int NULL) ON

22、PRIMARYGOCREATE TABLE dbo.職員懲罰表 (序號(hào) int IDENTITY (1, 1) NOT NULL PRIMARY KEY,職員編號(hào) varchar (30) NOT NULL ,懲罰類型 varchar (20) NULL ,懲罰金額 float NULL DEFAULT (0) ,是否計(jì)入工資 char (10) NULL DEFAULT (否),懲罰原因 varchar (50) NULL ,部門意見 varchar (100) NULL ,懲罰日期 int NULL) ON PRIMARYGO3.5創(chuàng)建外部關(guān)鍵字ALTER TABLE dbo.月工資統(tǒng)計(jì)表

23、 ADD CONSTRAINT FK_月工資統(tǒng)計(jì)表_職員基本信息表 FOREIGN KEY (職員編號(hào)) REFERENCES dbo.職員基本信息表 (職員編號(hào))GOALTER TABLE dbo.工資發(fā)放歷史表 ADD CONSTRAINT FK_工資發(fā)放歷史表_職員基本信息表 FOREIGN KEY (職員編號(hào)) REFERENCES dbo.職員基本信息表 (職員編號(hào))GOALTER TABLE dbo.職員獎(jiǎng)勵(lì)表 ADD CONSTRAINT FK_職員獎(jiǎng)勵(lì)表_職員基本信息表 FOREIGN KEY (職員編號(hào)) REFERENCES dbo.職員基本信息表 (職員編號(hào))GOALTE

24、R TABLE dbo.職員懲罰表 ADD CONSTRAINT FK_職員懲罰表_職員基本信息表 FOREIGN KEY (職員編號(hào)) REFERENCES dbo.職員基本信息表 (職員編號(hào))GO3.6創(chuàng)建存儲(chǔ)過程系統(tǒng)使用了四個(gè)存儲(chǔ)過程,分別實(shí)現(xiàn)從歷史導(dǎo)入工資明細(xì)、計(jì)算當(dāng)月工資和工資發(fā)放的功能。這些存儲(chǔ)過程都在“當(dāng)月工資管理”模塊中使用,可以通過以下的腳本代碼創(chuàng)建。 if exists (select * from dbo.sysobjects where id = object_id(Ndbo.sf_空數(shù)據(jù)置0) and OBJECTPROPERTY(id, NIsProcedure)

25、= 1)drop procedure dbo.sf_空數(shù)據(jù)置0GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.sf_形成月工資統(tǒng)計(jì)表) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.sf_形成月工資統(tǒng)計(jì)表GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.sf_當(dāng)月工資統(tǒng)計(jì)) and OBJECTPROPERTY(id, NIsProcedure) =

26、 1)drop procedure dbo.sf_當(dāng)月工資統(tǒng)計(jì)GOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.sf_當(dāng)月工資發(fā)放) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure dbo.sf_當(dāng)月工資發(fā)放GO-create procedure sf_空數(shù)據(jù)置0asbegin transactionupdate 月工資統(tǒng)計(jì)表 set 基本工資=0 where 基本工資 is nullupdate 月工資統(tǒng)計(jì)表 set 職務(wù)工資=0 where

27、職務(wù)工資 is nullupdate 月工資統(tǒng)計(jì)表 set 工齡工資=0 where 工齡工資 is nullupdate 月工資統(tǒng)計(jì)表 set 考核工資=0 where 考核工資 is nullupdate 月工資統(tǒng)計(jì)表 set 獎(jiǎng)金=0 where 獎(jiǎng)金 is nullupdate 月工資統(tǒng)計(jì)表 set 應(yīng)發(fā)金額合計(jì)=0 where 應(yīng)發(fā)金額合計(jì) is nullupdate 月工資統(tǒng)計(jì)表 set 房租=0 where 房租 is nullupdate 月工資統(tǒng)計(jì)表 set 水電費(fèi)=0 where 水電費(fèi) is nullupdate 月工資統(tǒng)計(jì)表 set 請(qǐng)假扣除=0 where 請(qǐng)假扣除

28、is nullupdate 月工資統(tǒng)計(jì)表 set 罰款=0 where 罰款 is nullupdate 月工資統(tǒng)計(jì)表 set 考勤扣除=0 where 考勤扣除 is nullupdate 月工資統(tǒng)計(jì)表 set 住房公積金=0 where 住房公積金 is nullupdate 月工資統(tǒng)計(jì)表 set 醫(yī)療保險(xiǎn)=0 where 醫(yī)療保險(xiǎn) is nullupdate 月工資統(tǒng)計(jì)表 set 養(yǎng)老保險(xiǎn)=0 where 養(yǎng)老保險(xiǎn) is nullupdate 月工資統(tǒng)計(jì)表 set 應(yīng)扣金額合計(jì)=0 where 應(yīng)扣金額合計(jì) is nullupdate 月工資統(tǒng)計(jì)表 set 失業(yè)保險(xiǎn)=0 where 失業(yè)

29、保險(xiǎn) is nullupdate 月工資統(tǒng)計(jì)表 set 個(gè)人所得稅=0 where 個(gè)人所得稅 is nullupdate 月工資統(tǒng)計(jì)表 set 工資合計(jì)=0 where 工資合計(jì) is nullupdate 月工資統(tǒng)計(jì)表 set 實(shí)發(fā)金額=0 where 實(shí)發(fā)金額 is nullupdate 個(gè)人所得稅表 set 個(gè)人所得稅率=0 where 個(gè)人所得稅率 is nullcommitGO-create procedure sf_當(dāng)月工資統(tǒng)計(jì)asbegin transactiondeclare month intselect month = 日期 from 月工資統(tǒng)計(jì)表- 計(jì)算獎(jiǎng)金update

30、 月工資統(tǒng)計(jì)表 set 獎(jiǎng)金 = (select sum(獎(jiǎng)勵(lì)金額) from 職員獎(jiǎng)勵(lì)表 as i where i.是否計(jì)入工資=是 and i.獎(jiǎng)勵(lì)日期month*100 and i.獎(jiǎng)勵(lì)日期month*100 and i.懲罰日期1 then 個(gè)人所得稅率/100 else 個(gè)人所得稅率 end from 個(gè)人所得稅表 where 工資上限 1 then 個(gè)人所得稅率/100 else 個(gè)人所得稅率 end , gzxx = 工資下限 from 個(gè)人所得稅表 where 工資下限=gzsxselect grsds = grsds + (gzhj-gzxx)*slupdate 月工資統(tǒng)計(jì)表

31、 set 個(gè)人所得稅 = grsds where current of mycurfetch next from mycur into zybh,gzhjENDclose mycurdeallocate mycur- 計(jì)算實(shí)發(fā)工資update 月工資統(tǒng)計(jì)表 set 實(shí)發(fā)金額 = 工資合計(jì)-個(gè)人所得稅commitGO-create procedure sf_形成月工資統(tǒng)計(jì)表 導(dǎo)入工資月份 int, 統(tǒng)計(jì)工資月份 intasbegin transactiondelete from 月工資統(tǒng)計(jì)表 - 刪除已有數(shù)據(jù)if exists (select * from 工資發(fā)放歷史表 where 日期=導(dǎo)入

32、工資月份)begin- 從歷史倒入insert into 月工資統(tǒng)計(jì)表(日期, 職員編號(hào), 基本工資, 浮動(dòng)工資, 合同補(bǔ), 糧副補(bǔ), 房補(bǔ), 臨時(shí)補(bǔ), 職務(wù)工資, 工齡工資, 考核工資, 獎(jiǎng)金, 應(yīng)發(fā)金額合計(jì), 房租, 水電費(fèi),請(qǐng)假扣除, 考勤扣除, 罰款, 住房公積金, 醫(yī)療保險(xiǎn), 養(yǎng)老保險(xiǎn), 失業(yè)保險(xiǎn), 生育保險(xiǎn), 工傷保險(xiǎn), 應(yīng)扣金額合計(jì), 工資合計(jì), 個(gè)人所得稅, 實(shí)發(fā)金額,發(fā)放否, 月份)select 統(tǒng)計(jì)工資月份, 職員編號(hào), 基本工資, 浮動(dòng)工資, 合同補(bǔ), 糧副補(bǔ), 房補(bǔ), 臨時(shí)補(bǔ), 職務(wù)工資, 工齡工資, 考核工資, 獎(jiǎng)金, 應(yīng)發(fā)金額合計(jì), 房租, 水電費(fèi), 請(qǐng)假扣除, 考

33、勤扣除, 罰款,住房公積金, 醫(yī)療保險(xiǎn), 養(yǎng)老保險(xiǎn), 失業(yè)保險(xiǎn), 生育保險(xiǎn), 工傷保險(xiǎn), 應(yīng)扣金額合計(jì), 工資合計(jì), 個(gè)人所得稅, 實(shí)發(fā)金額,發(fā)放否, 月份from 工資發(fā)放歷史表 as h where h.日期=導(dǎo)入工資月份 end- 新的員工,歷史沒有記錄,生成記錄insert into 月工資統(tǒng)計(jì)表(職員編號(hào),日期) select 職員編號(hào),統(tǒng)計(jì)工資月份 from 職員基本信息表 as h where h.職員編號(hào) not in (select 職員編號(hào) from 月工資統(tǒng)計(jì)表)- 將空數(shù)據(jù)置0exec sf_空數(shù)據(jù)置0- 自動(dòng)計(jì)算工資exec sf_當(dāng)月工資統(tǒng)計(jì)commitGO- 發(fā)放

34、指定職員的工資create procedure sf_當(dāng)月工資發(fā)放 職員編號(hào) char(10)asbegin transactionupdate 月工資統(tǒng)計(jì)表 set 發(fā)放否=是 from 月工資統(tǒng)計(jì)表 where 職員編號(hào)=職員編號(hào)insert into 工資發(fā)放歷史表select * from 月工資統(tǒng)計(jì)表 where 職員編號(hào)=職員編號(hào)delete 月工資統(tǒng)計(jì)表 where 職員編號(hào)=職員編號(hào)commitGO4代碼與界面設(shè)計(jì)本系統(tǒng)采用多文檔窗體程序,每一功能對(duì)應(yīng)一個(gè)子窗體。4.1程序運(yùn)行結(jié)果本實(shí)例的運(yùn)行結(jié)果如圖4所示。選擇主菜單中的各菜單項(xiàng)即可進(jìn)入相應(yīng)的功能。例如可以選擇【薪資福利管理】

35、|【當(dāng)月工資管理】菜單命令,調(diào)出如圖5所示的工資管理功能窗體,在其中輸入各個(gè)工資項(xiàng)明細(xì),單擊【計(jì)算當(dāng)月工資】按鈕可以計(jì)算出工資;其中的工資項(xiàng)明細(xì)也可以通過【導(dǎo)入工資歷史】按鈕從歷史數(shù)據(jù)中導(dǎo)入,從而減輕輸入工作的強(qiáng)度;單擊工資發(fā)放按鈕,可以發(fā)放選定職員的工資,打印出工資條并將工資發(fā)放的記錄放入歷史。圖4 實(shí)例運(yùn)行結(jié)果圖5 當(dāng)月工資管理功能窗體4.2創(chuàng)建工程啟動(dòng)Microsoft Visual Studio.NET2003,在主菜單中選擇【文件】|【新建】|【項(xiàng)目】命令,彈出【新建項(xiàng)目】對(duì)話框沒,在【項(xiàng)目類型】列表框中選擇【Visual Basic 項(xiàng)目】,然后在【模板】列表框中選擇【W(wǎng)indow

36、 應(yīng)用程序】。在【名稱】文本框中輸入一個(gè)合適的方案文件名,選取要存放的位置,然后單擊【確定】按鈕完成新項(xiàng)目的創(chuàng)建。6.3創(chuàng)建系統(tǒng)主窗體(1) 利用系統(tǒng)默認(rèn)生成的窗體作為主窗體,并將其對(duì)應(yīng)的文件改名為“frmMain.vb”,為其添加主菜單控件以及StatusBar控件,布局如圖6所示。圖6系統(tǒng)主窗體(2)窗體的屬性設(shè)置如表2所示。表2 主窗體屬性設(shè)置對(duì)象(控件)名屬性取值(說明)frmMainNamefrmMainfrmMainText人力資源管理系統(tǒng)frmMainIsMdiContainerTrueStatusBarText人力資源管理系統(tǒng)(3)窗體的主菜單屬性設(shè)置如表5所示。表3 窗體主菜

37、單屬性設(shè)置菜單欄菜單項(xiàng)屬性取值(說明)MenuItemDepText機(jī)構(gòu)編制管理MenuItemDepManageText機(jī)構(gòu)設(shè)置及編碼MenuItemDepInfoText機(jī)構(gòu)詳細(xì)信息MenuItemPeopleText職員信息管理MenuItemDepPeopleManageText職員信息維護(hù)MenuItemPeopleQueryText職員信息查詢MenuItemSalaryText薪資福利管理MenuItemPeopleSalaryManageText當(dāng)月工資計(jì)算MenuItemTaxInfoText個(gè)人所得稅率MenuItemPrizeText工資發(fā)放歷史MenuItemPunis

38、hText職員獎(jiǎng)勵(lì)管理MenuItemSalaryhisText職員懲罰管理(4)添加判斷子窗體實(shí)例狀態(tài)的函數(shù)GetInstanceState,此函數(shù)主要作用是用來實(shí)現(xiàn)單擊主窗體的某菜單項(xiàng),如【計(jì)算當(dāng)月工資】只是出現(xiàn)一個(gè)計(jì)算當(dāng)月工資窗體。Private Function GetInstanceState(ByVal name As String) As Boolean 獲得frmMain窗體的子窗體的數(shù)量 Dim i As Integer = Me.MdiChildren.Length 循環(huán)判斷是否有名為name的子窗體實(shí)例 For i = 0 To Me.MdiChildren.Length

39、 - 1 If Me.MdiChildren(i).Name = name Then 存在名為name的子窗體,是子窗體獲得焦點(diǎn)并返回True Me.MdiChildren(i).Focus() Return True End If Next 不存在名為Name的子窗體False Return False End Function(5)添加采單項(xiàng)MenuItemDepManage的Click事件響應(yīng)函數(shù)。Private Sub MenuItemDepManage_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handl

40、es MenuItemDepManage.Click 判斷機(jī)構(gòu)設(shè)置及編碼窗體是是否已經(jīng)創(chuàng)建 If GetInstanceState(frmDepManage) Then 機(jī)構(gòu)設(shè)置及編碼窗體已經(jīng)創(chuàng)建并返回 Exit Sub End If 創(chuàng)建并顯示商品資料維護(hù)窗體 Dim childFrm As frmDepManage = New frmDepManage childFrm.MdiParent = Me childFrm.Show() End Sub4.4創(chuàng)建數(shù)據(jù)訪問模塊因?yàn)楦鱾€(gè)窗體均需要對(duì)數(shù)據(jù)庫進(jìn)行訪問,可以把對(duì)數(shù)據(jù)庫的一些操作通過一個(gè)類來實(shí)現(xiàn),這樣可以使對(duì)數(shù)據(jù)庫的訪問更加簡單。選擇【文件】

41、|【添加新項(xiàng)】命令添加一個(gè)名為“DataBase.vb”的類文件。Imports System.DataImports System.Data.SqlClientImports System.ComponentModelPublic Class DataBase 實(shí)現(xiàn)接口IDisposable Implements IDisposable 數(shù)據(jù)庫連接對(duì)象 Private SqlConn As SqlConnection Public Shared sConn As String = Persist Security Info=False;Integrated Security=SSPI;dat

42、abase=hrmbook;server=localhost;Connect Timeout=30 Public Sub Dispose() Implements System.IDisposable.Dispose Dispose(True) GC.SuppressFinalize(True) End Sub Protected Sub Dispose(ByVal disposing As Boolean) If disposing True Then Return End If If SqlConn Is Nothing = False Then SqlConn.Dispose() Sql

43、Conn = Nothing End If End Sub Public Sub Open() If SqlConn Is Nothing = True Then 建立數(shù)據(jù)庫連接對(duì)象 SqlConn = New SqlConnection(Me.sConn) 打開數(shù)據(jù)庫連接 SqlConn.Open() End If End Sub Public Sub Close() 如果數(shù)據(jù)庫連接對(duì)象不為空則關(guān)閉數(shù)據(jù)庫連接 If SqlConn Is Nothing = False Then SqlConn.Close() End If End Sub Public Function RunSelectS

44、QL(ByVal sSQLString As System.String) As DataView Me.Open() Dim SqlDS As DataSet = New DataSet Dim SqlDA As SqlDataAdapter = New SqlDataAdapter(sSQLString, Me.SqlConn) SqlDA.Fill(SqlDS) Return SqlDS.Tables(0).DefaultView End Function Public Function RunDelOrInsSQL(ByVal sSQLString As System.String)

45、Me.Open() Dim SqlComm As SqlCommand = New SqlCommand(sSQLString, Me.SqlConn) SqlComm.ExecuteNonQuery() End FunctionEnd Class4.5 實(shí)現(xiàn)機(jī)構(gòu)設(shè)置及編碼功能本節(jié)主要演示如何利用Visual Basic.NET實(shí)現(xiàn)機(jī)構(gòu)設(shè)置及編碼功能。機(jī)構(gòu)設(shè)置的編碼機(jī)構(gòu)設(shè)置及編碼功能主要用于實(shí)現(xiàn)設(shè)置機(jī)構(gòu)的層級(jí)關(guān)系。(1) 新建一個(gè)窗體,將其Name屬性設(shè)置為“frmDepManage”并為其添加如圖7所示的控件。圖7機(jī)構(gòu)設(shè)置及編碼窗體(2)部分控件的屬性設(shè)置如表4所示。表4 機(jī)構(gòu)設(shè)置及編碼窗體控件屬性設(shè)置控件類型對(duì)象名屬性取值(說明)FormfrmDepManageText機(jī)構(gòu)設(shè)置及編碼TreeViewtrvListDockLeftSplitterSplitter1DockLeftPanelpanelRightDockFillTextBoxtxbNameTextTextBoxtxbLKindCodeTextTextBoxtxbDepCodeTextTextBoxtxbDepCodeReadOnlyTrueButtonbtnModifyText修改ButtonbtnAddBas

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論