




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、項目4-人力資源管理系統(tǒng)項目來源:湖南科創(chuàng)信息技術(shù)股份有限公司隨著市場競爭的日趨激烈,人才已成為實現(xiàn)企業(yè)自身戰(zhàn)略目標的一個非常關(guān)鍵的因素。企業(yè)中人心向背和員工對工作的投入程度在很大程度上決定了該企業(yè)的興衰與成敗。如何能保持本企業(yè)對員工的工作責任感,激勵他們的工作熱情,減少人才的流失,已成為困擾企業(yè)主管和人力資源經(jīng)理的一個日益尖銳的問題,可以說企業(yè)管理從根本上來講就是對人的管理?,F(xiàn)在“公平、公正、合理”的企業(yè)管理原則已為不少企業(yè)所采納。但是要實現(xiàn)“公平、公正、合理”絕非易事,它不是僅靠規(guī)章制度和政策就可以解決的。通過建立透明、相容、一致、易查和全面的人力資源信息系統(tǒng),將與人相關(guān)的信息統(tǒng)一地管理起
2、來,才有可能為“公平、公正、合理”原則的實現(xiàn),以及企業(yè)在運作和勞資糾紛等方面的風險規(guī)避等建立一套科學的保障體系。本章將向讀者全面剖析人力資源管理的內(nèi)容,由此得出人力資源管理系統(tǒng)需求分析和數(shù)據(jù)建模,并最終演示如何利用Visual Basic.NET完成系統(tǒng)的制作。1 人力資源管理的任務(wù)與作用1.1 人力資源管理的任務(wù)人力資源管理工作的主要任務(wù)有:進行人力資源規(guī)劃和分析貫徹平等就業(yè)機會原則聘任員工從事人力資源開發(fā)確定報酬和福利處理員工與勞資關(guān)系人力資源規(guī)劃和分析包括幾方面的任務(wù)。在進行人力資源規(guī)劃的過程中,經(jīng)理人員將預(yù)計未來影響勞動力供求的有關(guān)因素。人力資源分析要求具備各種相關(guān)的信息資料、通信系統(tǒng)
3、和評價系統(tǒng),它們是從事協(xié)調(diào)人力資源工作所不可或缺的部分。政府在遵從平等就業(yè)機會法規(guī)方面的要求,無疑將對所有其他人力資源管理工作產(chǎn)生重大影響。例如,企業(yè)在進行戰(zhàn)略性人力資源規(guī)劃時,為貫徹在雇傭少數(shù)種族成員和婦女方面的贊助性行為的要求,就必須為雇傭各種各樣的雇員留有充分的余地。另外在招聘選拔和培訓(xùn)人員時,所有經(jīng)理人員都必須遵守平等就業(yè)機會法規(guī)的要求。聘任員工指選擇適合標準要求的相應(yīng)數(shù)量的人員,來填補企業(yè)的崗位空缺。職務(wù)分析是聘任工作的基礎(chǔ)。根據(jù)職務(wù)分析所得結(jié)論,就可以準備工作說明書和職務(wù)要求細則,這兩項都是在招聘中所需使用的材料。在人員選拔過程中,應(yīng)特別注意選擇最符合要求的員工來填補企業(yè)的崗位空缺
4、。員工培訓(xùn)與人力資源開發(fā)工作包括想新雇員介紹企業(yè)的各種情況、對現(xiàn)有員工進行職業(yè)技能培訓(xùn)、鼓勵和幫助員工在多方面提高和發(fā)展等內(nèi)容。在職務(wù)不斷演化和改變的環(huán)境下,為了適應(yīng)技術(shù)的變化,企業(yè)就必須對員工進行培訓(xùn)和再培訓(xùn)。此外,為迎接未來的挑戰(zhàn),還必須鼓勵各級負責人、管理者和所有員工不斷有所發(fā)展和提高。為此企業(yè)一般制定了員工職業(yè)發(fā)展計劃,這種計劃的目的,是為那些在企業(yè)內(nèi)尋求自我發(fā)展的員工設(shè)計出發(fā)展的路徑,并安排為此所需要的有關(guān)活動。為了提高員工的工作成效,企業(yè)還應(yīng)對員工的工作表現(xiàn)進行考核,以確定員工的本職工作究竟做的怎么樣。報酬就是通過薪金、獎勵和福利等方式來報答為企業(yè)工作的員工。企業(yè)必須認真設(shè)計和不斷
5、完善基本工資和薪酬制度。除了工薪以外,越來越多的企業(yè)好指定了某些獎勵計劃,例如利潤分享和工作獎勵等。但是另一方面,快速增長的福利費用,特別是扶搖直上的醫(yī)療的保健費用,仍將繼續(xù)是一個值得思考和認真對待的重大問題。如果員工和企業(yè)雙方都想聯(lián)手共創(chuàng)繁榮,那么管理著和員工就必須卓有成效地處理雙方的關(guān)系。不論員工是否由工會來代表,企業(yè)都必須重視與員工健康、人身安全和財物保障有關(guān)的各項工作。為促成企業(yè)與員工的良好關(guān)系,企業(yè)還必須保障員工的各種權(quán)利。另外為了使員工如同管理者那樣準確地了解企業(yè)對員工的期望。企業(yè)還必須制定、傳達和不斷更新人力資源政策和規(guī)則。在有工會的企業(yè)中,企業(yè)還應(yīng)重視和處理好資方和工會的關(guān)系。
6、1.2 人力資源管理系統(tǒng)的作用人力資源管理系統(tǒng)是以先進的軟件和高速、大容量的硬件為基礎(chǔ)的,新的人力資源管理模式,通過集中式的信息庫、自動處理信息、員工自助服務(wù)、外協(xié)以及服務(wù)共享,達到降低成本、提高效率、改進員工服務(wù)模式的目的。它通過與企業(yè)現(xiàn)有的網(wǎng)絡(luò)技術(shù)相聯(lián)系,保證人力資源與日新月異的技術(shù)環(huán)境同步發(fā)展。一般來說,可以分為四個部分來理解人力資源管理系統(tǒng)。1. 管理人員角色和目標的改變傳統(tǒng)的人力資源管理中,管理人員的絕大部分精力將耗費在繁瑣的日常行政事務(wù)處理上,而作為企業(yè)管理層的參謀角色應(yīng)該做的咨詢和策略制定的工作相對缺乏。通過人力資源管理系統(tǒng)管理人員將決大部分精力放在管理層提供咨詢、建議上,而在行
7、政事務(wù)上的工作可以由電子化系統(tǒng)完成,只需占用HR人員極少的精力和時間。2 提供更好的服務(wù)人力資源管理系統(tǒng)可以迅速、有效地收集各種信息,加強內(nèi)部的信息溝通。各種用戶可以直接從系統(tǒng)中獲得自己所需要的各種信息,并根據(jù)相關(guān)信息做出決策和相應(yīng)的行動方案。3. 降低成本人力資源管理系統(tǒng)通過減少人力資源管理工作的操作成本、降低員工流動率、減少通訊費用等途徑達到降低企業(yè)運作成本的目的。4. 革新管理理念人力資源管理系統(tǒng)的最終目的是達到革新企業(yè)的管理理念而不僅僅是改進管理方式、優(yōu)化人力資源管理。先進技術(shù)應(yīng)用與人力資源管理時,并不僅僅是為了將現(xiàn)有的人力資源工作做的更好,更重要的是,做些對于企業(yè)來講更有效率的事情,
8、成為管理層的決策支持者,為決策提供信息和解決方案。2 功能分析與系統(tǒng)流程圖由于篇幅有限,本實例詳細介紹如圖1所示的功能開發(fā)過程,并簡化其中各功能所包含的屬性,其他功能讀者完全可以參照這些功能的開發(fā)方法實現(xiàn)。人力資源管理系統(tǒng)圖1詳細介紹的功能模塊歷史工資獎勵記錄歷史工資懲罰記錄當月工資管理修改明細并計算從歷史導(dǎo)入導(dǎo)入到歷史圖2系統(tǒng)流程圖3數(shù)據(jù)庫設(shè)計一個基本的人力資源管理系統(tǒng)數(shù)據(jù)庫中包括多張數(shù)據(jù)表,分別存放相應(yīng)子功能的數(shù)據(jù)信息,其中組織機構(gòu)編碼表和職員基本信息表是起關(guān)鍵作用的表,用于存放基礎(chǔ)的數(shù)據(jù)信息。其他涉及組織機構(gòu)信息和職員信息的數(shù)據(jù)表,都只記錄機構(gòu)或職員的編號,根據(jù)作為外鍵的編號字段和組織機
9、構(gòu)編碼表或職員基本信息表相對應(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è)組織機構(gòu)的詳細信息,包括機構(gòu)間的層次編碼等組織機構(gòu)編碼表用于保存企業(yè)員工的基本信息月工資統(tǒng)計表用于保存、計算當月的員工工資個人所得稅表用于保存?zhèn)€人所得稅的稅率數(shù)據(jù)工資發(fā)放歷史表用于保存所有月份工資發(fā)放的歷史職員獎勵表用于保存員工的獎勵情況職員懲罰表用于保存員工的懲罰情況以下為數(shù)據(jù)表之間的關(guān)系圖圖3 數(shù)據(jù)表關(guān)系圖3.1創(chuàng)建數(shù)據(jù)庫打開SQL Server企業(yè)管理器,新建一個數(shù)據(jù)庫,將其
10、命名為hrmbook。后面幾小節(jié)我們將列出幾個重點的數(shù)據(jù)表的建庫腳本。3.2創(chuàng)建“組織機構(gòu)編碼表”CREATE TABLE dbo.組織機構(gòu)編碼表 (內(nèi)部編號 int IDENTITY (1, 1) NOT NULL ,類別 varchar (100) NULL ,AbsIndex int NULL ,ItemIndex int NULL ,ItemLevel int NULL ,ParentIndex int NULL ,類別號 char (10) NULL ,單位編號 varchar (20) NOT NULL PRIMARY KEY,單位名稱 varchar (100) NULL ,拼音
11、編碼 varchar (50) NULL ,單位地址 varchar (100) NULL ,單位電話號碼 varchar (50) NULL ,開戶銀行 varchar (100) NULL ,帳號 varchar (50) NULL ,開戶全稱 varchar (100) NULL) ON PRIMARYGO3.3創(chuàng)建“職員基本信息表”CREATE TABLE dbo.職員基本信息表 (內(nèi)部編號 int IDENTITY (1, 1) NOT NULL ,職員編號 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è)學校 char (100) NULL ,健康狀況 varchar (50) NULL ,婚姻狀況 varchar (10) NULL ,身份證號碼 varchar (18) NULL ,家庭電話 varchar (50) NULL ,辦公電話 varchar (50) NULL ,手機 varchar (50) NULL ,
13、電子郵件地址 varchar (50) NULL ,職工賬號 varchar (20) NULL ,單位編號 varchar (20) NULL, 備注 varchar (100) NULL ) ON PRIMARYGO3.4創(chuàng)建其他數(shù)據(jù)表CREATE TABLE dbo.用戶清單 (用戶編號 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)計表 (日期 int N
14、ULL ,職員編號 varchar (30) Not NULL PRIMARY KEY,基本工資 float NULL DEFAULT (0) ,浮動工資 decimal(26, 2) NULL DEFAULT (0) ,合同補 decimal(26, 2) NULL DEFAULT (0) ,糧副補 decimal(26, 2) NULL DEFAULT (0) ,房補 decimal(26, 2) NULL DEFAULT (0) ,臨時補 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) ,獎金 decimal(26, 2) NULL DEFAULT (0) ,應(yīng)發(fā)金額合計 decimal(26, 2) NULL DEFAULT (0) ,房租 decimal(26, 2) NULL DEFAULT (0) ,水電費 decimal(26, 2) NULL DEFAULT (0) ,請假扣除 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ī)療保險 decimal(26, 2) NULL DEFAULT (0) ,養(yǎng)老保險 decimal(26, 2) NULL DEFAULT (0) ,失業(yè)保險 decimal(26, 2) NULL DEFAULT (0) ,生育保險 decimal(26, 2) NULL DEFAULT (0) ,工傷保險 decimal(26, 2) NULL DEFAULT (0) ,應(yīng)扣金額合計 decimal(26, 2) NULL DEFAULT (0)
17、 ,工資合計 decimal(26, 2) NULL DEFAULT (0) ,個人所得稅 decimal(26, 2) NULL DEFAULT (0) ,實發(fā)金額 decimal(26, 2) NULL DEFAULT (0) ,發(fā)放否 char (10) NULL ,月份 int NULL) ON PRIMARYGOCREATE TABLE dbo.個人所得稅表 (編號 int NOT NULL PRIMARY KEY,級數(shù) char (2) NOT NULL ,不計稅工資 decimal(26, 2) NOT NULL DEFAULT (800),工資下限 decimal(26, 2)
18、 NOT NULL DEFAULT (0),工資上限 decimal(26, 2) NOT NULL DEFAULT (0),個人所得稅率 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 ,職員編號 varchar (30) NULL ,基本工資 float NULL ,浮動工資 decimal(26, 2) NULL ,合同補 decimal(
19、26, 2) NULL ,糧副補 decimal(26, 2) NULL ,房補 decimal(26, 2) NULL ,臨時補 decimal(26, 2) NULL ,職務(wù)工資 decimal(26, 2) NULL ,工齡工資 decimal(26, 2) NULL ,考核工資 decimal(26, 2) NULL ,獎金 decimal(26, 2) NULL ,應(yīng)發(fā)金額合計 decimal(26, 2) NULL ,房租 decimal(26, 2) NULL ,水電費 decimal(26, 2) NULL ,請假扣除 decimal(26, 2) NULL ,考勤扣除 dec
20、imal(26, 2) NULL ,罰款 decimal(26, 2) NULL ,住房公積金 decimal(26, 2) NULL ,醫(yī)療保險 decimal(26, 2) NULL ,養(yǎng)老保險 decimal(26, 2) NULL ,失業(yè)保險 decimal(26, 2) NULL ,生育保險 decimal(26, 2) NULL ,工傷保險 decimal(26, 2) NULL ,應(yīng)扣金額合計 decimal(26, 2) NULL ,工資合計 decimal(26, 2) NULL ,個人所得稅 decimal(26, 2) NULL ,實發(fā)金額 decimal(26, 2)
21、NULL ,發(fā)放否 char (10) NULL ,月份 int NULL) ON PRIMARYGOCREATE TABLE dbo.職員獎勵表 (序號 int IDENTITY (1, 1) NOT NULL PRIMARY KEY,職員編號 varchar (30) NOT NULL ,獎勵類型 varchar (20) NULL ,獎勵金額 float NULL DEFAULT (0),是否計入工資 char (10) NULL DEFAULT ('否'),獎勵原因 varchar (50) NULL ,部門意見 varchar (100) NULL ,獎勵日期 int
22、 NULL) ON PRIMARYGOCREATE TABLE dbo.職員懲罰表 (序號 int IDENTITY (1, 1) NOT NULL PRIMARY KEY,職員編號 varchar (30) NOT NULL ,懲罰類型 varchar (20) NULL ,懲罰金額 float NULL DEFAULT (0) ,是否計入工資 char (10) NULL DEFAULT ('否'),懲罰原因 varchar (50) NULL ,部門意見 varchar (100) NULL ,懲罰日期 int NULL) ON PRIMARYGO3.5創(chuàng)建外部關(guān)鍵字AL
23、TER TABLE dbo.月工資統(tǒng)計表 ADD CONSTRAINT FK_月工資統(tǒng)計表_職員基本信息表 FOREIGN KEY (職員編號) REFERENCES dbo.職員基本信息表 (職員編號)GOALTER TABLE dbo.工資發(fā)放歷史表 ADD CONSTRAINT FK_工資發(fā)放歷史表_職員基本信息表 FOREIGN KEY (職員編號) REFERENCES dbo.職員基本信息表 (職員編號)GOALTER TABLE dbo.職員獎勵表 ADD CONSTRAINT FK_職員獎勵表_職員基本信息表 FOREIGN KEY (職員編號) REFERENCES dbo.
24、職員基本信息表 (職員編號)GOALTER TABLE dbo.職員懲罰表 ADD CONSTRAINT FK_職員懲罰表_職員基本信息表 FOREIGN KEY (職員編號) REFERENCES dbo.職員基本信息表 (職員編號)GO3.6創(chuàng)建存儲過程系統(tǒng)使用了四個存儲過程,分別實現(xiàn)從歷史導(dǎo)入工資明細、計算當月工資和工資發(fā)放的功能。這些存儲過程都在“當月工資管理”模塊中使用,可以通過以下的腳本代碼創(chuàng)建。 if exists (select * from dbo.sysobjects where id = object_id(N'dbo.sf_空數(shù)據(jù)置0') and OBJ
25、ECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.sf_空數(shù)據(jù)置0GOif exists (select * from dbo.sysobjects where id = object_id(N'dbo.sf_形成月工資統(tǒng)計表') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.sf_形成月工資統(tǒng)計表GOif exists (select * from dbo.sysobjects where id = obje
26、ct_id(N'dbo.sf_當月工資統(tǒng)計') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.sf_當月工資統(tǒng)計GOif exists (select * from dbo.sysobjects where id = object_id(N'dbo.sf_當月工資發(fā)放') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure dbo.sf_當月工資發(fā)放GO-create procedure s
27、f_空數(shù)據(jù)置0asbegin transactionupdate 月工資統(tǒng)計表 set 基本工資=0 where 基本工資 is nullupdate 月工資統(tǒng)計表 set 職務(wù)工資=0 where 職務(wù)工資 is nullupdate 月工資統(tǒng)計表 set 工齡工資=0 where 工齡工資 is nullupdate 月工資統(tǒng)計表 set 考核工資=0 where 考核工資 is nullupdate 月工資統(tǒng)計表 set 獎金=0 where 獎金 is nullupdate 月工資統(tǒng)計表 set 應(yīng)發(fā)金額合計=0 where 應(yīng)發(fā)金額合計 is nullupdate 月工資統(tǒng)計表 se
28、t 房租=0 where 房租 is nullupdate 月工資統(tǒng)計表 set 水電費=0 where 水電費 is nullupdate 月工資統(tǒng)計表 set 請假扣除=0 where 請假扣除 is nullupdate 月工資統(tǒng)計表 set 罰款=0 where 罰款 is nullupdate 月工資統(tǒng)計表 set 考勤扣除=0 where 考勤扣除 is nullupdate 月工資統(tǒng)計表 set 住房公積金=0 where 住房公積金 is nullupdate 月工資統(tǒng)計表 set 醫(yī)療保險=0 where 醫(yī)療保險 is nullupdate 月工資統(tǒng)計表 set 養(yǎng)老保險=
29、0 where 養(yǎng)老保險 is nullupdate 月工資統(tǒng)計表 set 應(yīng)扣金額合計=0 where 應(yīng)扣金額合計 is nullupdate 月工資統(tǒng)計表 set 失業(yè)保險=0 where 失業(yè)保險 is nullupdate 月工資統(tǒng)計表 set 個人所得稅=0 where 個人所得稅 is nullupdate 月工資統(tǒng)計表 set 工資合計=0 where 工資合計 is nullupdate 月工資統(tǒng)計表 set 實發(fā)金額=0 where 實發(fā)金額 is nullupdate 個人所得稅表 set 個人所得稅率=0 where 個人所得稅率 is nullcommitGO-cre
30、ate procedure sf_當月工資統(tǒng)計asbegin transactiondeclare month intselect month = 日期 from 月工資統(tǒng)計表- 計算獎金update 月工資統(tǒng)計表 set 獎金 = (select sum(獎勵金額) from 職員獎勵表 as i where i.是否計入工資='是' and i.獎勵日期>month*100 and i.獎勵日期<(month+1)*100 group by i.職員編號 having i.職員編號=月工資統(tǒng)計表.職員編號)update 月工資統(tǒng)計表 set 獎金=0 where
31、 獎金 is null- 計算懲罰update 月工資統(tǒng)計表 set 罰款 = (select sum(懲罰金額) from 職員懲罰表 as i where i.是否計入工資='是' and i.懲罰日期>month*100 and i.懲罰日期<(month+1)*100 group by i.職員編號 having i.職員編號=月工資統(tǒng)計表.職員編號)update 月工資統(tǒng)計表 set 罰款=0 where 罰款 is null- 將空數(shù)據(jù)置0exec sf_空數(shù)據(jù)置0- 計算應(yīng)發(fā)/應(yīng)扣/工資合計update 月工資統(tǒng)計表set 應(yīng)扣金額合計 = 房租+水電
32、費+請假扣除+罰款+考勤扣除+住房公積金+醫(yī)療保險+養(yǎng)老保險+失業(yè)保險update 月工資統(tǒng)計表set 應(yīng)發(fā)金額合計=基本工資+浮動工資+合同補+糧副補+房補+臨時補+職務(wù)工資+工齡工資+ 考核工資+ 獎金update 月工資統(tǒng)計表set 工資合計 = 應(yīng)發(fā)金額合計 - 應(yīng)扣金額合計- 計算個人所得稅declare gzhj numeric(20,4), zybh varchar(20), grsds numeric(20,4),sl float, gzxx numeric(20,4),gzsx numeric(20,4)declare mycur cursor for select 職員編號
33、,工資合計 from 月工資統(tǒng)計表open mycurfetch next from mycur into zybh,gzhjWHILE (FETCH_STATUS = 0 )BEGIN- 扣除不計稅部分select gzhj = gzhj - (select top 1 不計稅工資 from 個人所得稅表 order by 級數(shù))select grsds = 0declare mycur1 cursor for select 工資下限,工資上限,case when 個人所得稅率>1 then 個人所得稅率/100 else 個人所得稅率 end from 個人所得稅表 where 工資
34、上限 <= gzhj order by 工資上限 open mycur1fetch next from mycur1 into gzxx, gzsx,slWHILE (FETCH_STATUS = 0 )BEGINselect grsds = grsds + (gzsx-gzxx)*slfetch next from mycur1 into gzxx, gzsx,slENDclose mycur1deallocate mycur1select sl = case when 個人所得稅率>1 then 個人所得稅率/100 else 個人所得稅率 end , gzxx = 工資下限
35、from 個人所得稅表 where 工資下限=gzsxselect grsds = grsds + (gzhj-gzxx)*slupdate 月工資統(tǒng)計表 set 個人所得稅 = grsds where current of mycurfetch next from mycur into zybh,gzhjENDclose mycurdeallocate mycur- 計算實發(fā)工資update 月工資統(tǒng)計表 set 實發(fā)金額 = 工資合計-個人所得稅commitGO-create procedure sf_形成月工資統(tǒng)計表 導(dǎo)入工資月份 int, 統(tǒng)計工資月份 intasbegin trans
36、actiondelete from 月工資統(tǒng)計表 - 刪除已有數(shù)據(jù)if exists (select * from 工資發(fā)放歷史表 where 日期=導(dǎo)入工資月份)begin- 從歷史倒入insert into 月工資統(tǒng)計表(日期, 職員編號, 基本工資, 浮動工資, 合同補, 糧副補, 房補, 臨時補, 職務(wù)工資, 工齡工資, 考核工資, 獎金, 應(yīng)發(fā)金額合計, 房租, 水電費,請假扣除, 考勤扣除, 罰款, 住房公積金, 醫(yī)療保險, 養(yǎng)老保險, 失業(yè)保險, 生育保險, 工傷保險, 應(yīng)扣金額合計, 工資合計, 個人所得稅, 實發(fā)金額,發(fā)放否, 月份)select 統(tǒng)計工資月份, 職員編號,
37、基本工資, 浮動工資, 合同補, 糧副補, 房補, 臨時補, 職務(wù)工資, 工齡工資, 考核工資, 獎金, 應(yīng)發(fā)金額合計, 房租, 水電費, 請假扣除, 考勤扣除, 罰款,住房公積金, 醫(yī)療保險, 養(yǎng)老保險, 失業(yè)保險, 生育保險, 工傷保險, 應(yīng)扣金額合計, 工資合計, 個人所得稅, 實發(fā)金額,發(fā)放否, 月份from 工資發(fā)放歷史表 as h where h.日期=導(dǎo)入工資月份 end- 新的員工,歷史沒有記錄,生成記錄insert into 月工資統(tǒng)計表(職員編號,日期) select 職員編號,統(tǒng)計工資月份 from 職員基本信息表 as h where h.職員編號 not in (se
38、lect 職員編號 from 月工資統(tǒng)計表)- 將空數(shù)據(jù)置0exec sf_空數(shù)據(jù)置0- 自動計算工資exec sf_當月工資統(tǒng)計commitGO- 發(fā)放指定職員的工資create procedure sf_當月工資發(fā)放 職員編號 char(10)asbegin transactionupdate 月工資統(tǒng)計表 set 發(fā)放否='是' from 月工資統(tǒng)計表 where 職員編號=職員編號insert into 工資發(fā)放歷史表select * from 月工資統(tǒng)計表 where 職員編號=職員編號delete 月工資統(tǒng)計表 where 職員編號=職員編號commitGO4代碼與
39、界面設(shè)計本系統(tǒng)采用多文檔窗體程序,每一功能對應(yīng)一個子窗體。4.1程序運行結(jié)果本實例的運行結(jié)果如圖4所示。選擇主菜單中的各菜單項即可進入相應(yīng)的功能。例如可以選擇【薪資福利管理】|【當月工資管理】菜單命令,調(diào)出如圖5所示的工資管理功能窗體,在其中輸入各個工資項明細,單擊【計算當月工資】按鈕可以計算出工資;其中的工資項明細也可以通過【導(dǎo)入工資歷史】按鈕從歷史數(shù)據(jù)中導(dǎo)入,從而減輕輸入工作的強度;單擊工資發(fā)放按鈕,可以發(fā)放選定職員的工資,打印出工資條并將工資發(fā)放的記錄放入歷史。圖4 實例運行結(jié)果圖5 當月工資管理功能窗體4.2創(chuàng)建工程啟動Microsoft Visual Studio.NET2003,在
40、主菜單中選擇【文件】|【新建】|【項目】命令,彈出【新建項目】對話框沒,在【項目類型】列表框中選擇【Visual Basic 項目】,然后在【模板】列表框中選擇【W(wǎng)indow 應(yīng)用程序】。在【名稱】文本框中輸入一個合適的方案文件名,選取要存放的位置,然后單擊【確定】按鈕完成新項目的創(chuàng)建。6.3創(chuàng)建系統(tǒng)主窗體(1) 利用系統(tǒng)默認生成的窗體作為主窗體,并將其對應(yīng)的文件改名為“frmMain.vb”,為其添加主菜單控件以及StatusBar控件,布局如圖6所示。圖6系統(tǒng)主窗體(2)窗體的屬性設(shè)置如表2所示。表2 主窗體屬性設(shè)置對象(控件)名屬性取值(說明)frmMainNamefrmMainfrmM
41、ainText人力資源管理系統(tǒng)frmMainIsMdiContainerTrueStatusBarText人力資源管理系統(tǒng)(3)窗體的主菜單屬性設(shè)置如表5所示。表3 窗體主菜單屬性設(shè)置菜單欄菜單項屬性取值(說明)MenuItemDepText機構(gòu)編制管理MenuItemDepManageText機構(gòu)設(shè)置及編碼MenuItemDepInfoText機構(gòu)詳細信息MenuItemPeopleText職員信息管理MenuItemDepPeopleManageText職員信息維護MenuItemPeopleQueryText職員信息查詢MenuItemSalaryText薪資福利管理MenuItemPe
42、opleSalaryManageText當月工資計算MenuItemTaxInfoText個人所得稅率MenuItemPrizeText工資發(fā)放歷史MenuItemPunishText職員獎勵管理MenuItemSalaryhisText職員懲罰管理(4)添加判斷子窗體實例狀態(tài)的函數(shù)GetInstanceState,此函數(shù)主要作用是用來實現(xiàn)單擊主窗體的某菜單項,如【計算當月工資】只是出現(xiàn)一個計算當月工資窗體。Private Function GetInstanceState(ByVal name As String) As Boolean '獲得frmMain窗體的子窗體的數(shù)量 Dim
43、 i As Integer = Me.MdiChildren.Length '循環(huán)判斷是否有名為name的子窗體實例 For i = 0 To Me.MdiChildren.Length - 1 If Me.MdiChildren(i).Name = name Then '存在名為name的子窗體,是子窗體獲得焦點并返回True Me.MdiChildren(i).Focus() Return True End If Next '不存在名為Name的子窗體False Return False End Function(5)添加采單項MenuItemDepManage的C
44、lick事件響應(yīng)函數(shù)。Private Sub MenuItemDepManage_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MenuItemDepManage.Click '判斷機構(gòu)設(shè)置及編碼窗體是是否已經(jīng)創(chuàng)建 If GetInstanceState("frmDepManage") Then '機構(gòu)設(shè)置及編碼窗體已經(jīng)創(chuàng)建并返回 Exit Sub End If '創(chuàng)建并顯示商品資料維護窗體 Dim childFrm As frmDepManage = New
45、 frmDepManage childFrm.MdiParent = Me childFrm.Show() End Sub4.4創(chuàng)建數(shù)據(jù)訪問模塊因為各個窗體均需要對數(shù)據(jù)庫進行訪問,可以把對數(shù)據(jù)庫的一些操作通過一個類來實現(xiàn),這樣可以使對數(shù)據(jù)庫的訪問更加簡單。選擇【文件】|【添加新項】命令添加一個名為“DataBase.vb”的類文件。Imports System.DataImports SyImports System.ComponentModelPublic Class DataBase '實現(xiàn)接口IDisposable Implements IDisposable '數(shù)據(jù)庫連
46、接對象 Private SqlConn As SqlConnection Public Shared sConn As String = "Persist Security Info=False;Integrated Security=SSPI;database=hrmbook;server=localhost;Connect Timeout=30" Public Sub Dispose() Implements Dispose(True) GC.SuppressFinalize(True) End Sub Protected Sub Dispose(ByVal dispo
47、sing As Boolean) If disposing <> True Then Return End If If SqlConn Is Nothing = False Then SqlConn.Dispose() SqlConn = Nothing End If End Sub Public Sub Open() If SqlConn Is Nothing = True Then '建立數(shù)據(jù)庫連接對象 SqlConn = New SqlConnection(Me.sConn) '打開數(shù)據(jù)庫連接 SqlConn.Open() End If End Sub Pub
48、lic Sub Close() '如果數(shù)據(jù)庫連接對象不為空則關(guān)閉數(shù)據(jù)庫連接 If SqlConn Is Nothing = False Then SqlConn.Close() End If End Sub Public Function RunSelectSQL(ByVal sSQLString As System.String) As DataView Me.Open() Dim SqlDS As DataSet = New DataSet Dim SqlDA As SqlDataAdapter = New SqlDataAdapter(sSQLString, Me.SqlConn
49、) SqlDA.Fill(SqlDS) Return SqlDS.Tables(0).DefaultView End Function Public Function RunDelOrInsSQL(ByVal sSQLString As System.String) Me.Open() Dim SqlComm As SqlCommand = New SqlCommand(sSQLString, Me.SqlConn) SqlComm.ExecuteNonQuery() End FunctionEnd Class4.5 實現(xiàn)機構(gòu)設(shè)置及編碼功能本節(jié)主要演示如何利用Visual Basic.NET實
50、現(xiàn)機構(gòu)設(shè)置及編碼功能。機構(gòu)設(shè)置的編碼機構(gòu)設(shè)置及編碼功能主要用于實現(xiàn)設(shè)置機構(gòu)的層級關(guān)系。(1) 新建一個窗體,將其Name屬性設(shè)置為“frmDepManage”并為其添加如圖7所示的控件。圖7機構(gòu)設(shè)置及編碼窗體(2)部分控件的屬性設(shè)置如表4所示。表4 機構(gòu)設(shè)置及編碼窗體控件屬性設(shè)置控件類型對象名屬性取值(說明)FormfrmDepManageText機構(gòu)設(shè)置及編碼TreeViewtrvListDockLeftSplitterSplitter1DockLeftPanelpanelRightDockFillTextBoxtxbNameTextTextBoxtxbLKindCodeTextTextBoxtxbDepCodeTextTextBoxtxbDepCodeReadOnlyTrueButtonbtnModifyText修改ButtonbtnAddBasText增加為第一級ButtonbtnAddEqlText增加為本級別Buttonb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國轎車市場競爭格局及發(fā)展趨勢分析報告
- 2025-2030年中國超市貨架行業(yè)競爭格局及發(fā)展規(guī)模分析報告(權(quán)威版)
- 2025-2030年中國蘑菇型提取罐行業(yè)十三五規(guī)劃與發(fā)展前景分析報告
- 2025-2030年中國竹地板行業(yè)十三五規(guī)劃及發(fā)展建議分析報告
- 2025年陜西省安全員考試題庫及答案
- 柳州鐵道職業(yè)技術(shù)學院《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》2023-2024學年第二學期期末試卷
- 湖南工藝美術(shù)職業(yè)學院《廣告史》2023-2024學年第二學期期末試卷
- 湘潭大學《生物制品營銷》2023-2024學年第二學期期末試卷
- 2025甘肅省安全員-C證考試(專職安全員)題庫附答案
- 外研版(三起點)小學英語三年級下冊全冊同步練習(含答案)
- 幼兒園 《十個人快樂大搬家》繪本
- 農(nóng)村建房清包工合同協(xié)議書
- (新版)電工三級-職業(yè)技能等級認定考試題庫(學生用)
- 人美版四年級上冊美術(shù)(全冊)教案
- 《學前兒童健康教育(第2版)》全套教學課件
- 《婦幼保健學》課件-第一章 緒論
- 《高性能樹脂》課件
- 《烹飪美學》課件-項目二 烹飪色彩
- DZ∕T 0372-2021 固體礦產(chǎn)選冶試驗樣品配制規(guī)范(正式版)
- DZ∕T 0227-2010 地質(zhì)巖心鉆探規(guī)程(正式版)
評論
0/150
提交評論