II. XÁC DỊNH YấU CẦU CỦA HỆ THỐNG THễNG TIN QUẢN Lí NHÂN SỰ Những nguyờn tắc trong quản trị nhõn lực
4. Form Nhõn viờn
Người dựng cú thể cập nhật cỏc thụng tin cơ bản của nhõn viờn mới, sửa thụng tin khụng đỳng về nhõn viờn, xoỏ đi những nhõn viờn khụng cũn làm việc với cụng ty.
Túm lại Cụng tỏc quản lý nhõn sự là một trong những khõu then chốt trong quỏ trỡnh hoạt động sản xuất kinh doanh đối với bất kỳ doanh nghiệp nào. Muốn nõng cao hiệu quả sản xuất kinh doanh của Cụng ty thỡ trước hết cần phải hoàn thiện và nõng cao cụng tỏc quản lý nhõn sự ở Cụng ty.
Vỡ lý do trờn nờn em xõy dựng phần mềm quản lý nhõn sự. Nhằm giỳp cụng ty quản lý nhõn sự bằng hệ thống thụng tin, thay vỡ quản lý nhõn sự trờn giấy tờ sổ sỏch như trước đõy.
Do tớch chất là một chuyờn đề thực tập tốt nghiệm của sinh viờn năm cuối Đai học - Kinh tế Quốc dõn. Nờn việc đưa phần mềm vào ứng dụng luụn trong cụng tỏc quản lý thỡ chưa được. Nhưng thụng qua thực tế em cũng biết thờm nhiều kinh nghiệm quý bỏu và ứng dụng được những kiến thức lõu nay được học trong trường vào giải quyết một cụng việc trong thực tế.
Bỏo cỏo này bao gồm một phần của bỏo cỏo tổng hợp, và toàn bộ quỏ trỡnh khảo sỏt, phõn tớch và thiết kế phần mềm quản lý nhõn sự dựa vào cỏc thụng tin cú được do phũng Hành chớnh - Tổng hợp của cụng ty cổ phần phần mềm BRAVO cung cấp trong thời gian thực tập vừa qua.
Với thời gian thực tập chuyờn ngành cú hạn nờn phần mềm quản lý nhõn sự của em khụng được hoàn thiện lắm.
Được sự nhiệt tỡnh của ban lónh đạo cụng ty cổ phần phần mềm BRAVO đặc biệt là Phũng Hành chớnh - Tổng hợp, giỏo viờn hướng dẫn đó điều kiện cho em hoàn thành bỏo cỏo thực tập chuyờn ngành. Một lần nữa em xin chõn thành cảm ơn.
Sinh viờn thực hiờn. Vũ Hữu Tỳ
Form frmBC
Public MaCM As String Public NoiDT As String Public HeDT As String Private addStatus As Boolean Private editStatus As Boolean
'Function TimCM(ByVal CM As String) As String 'Dim a As Integer
'a = InStr(CM, "-")
'TimCM = Left(CM, a - 1) 'End Function
Private Sub CmdThem_Click() If checkChiTietForm = True Then 'MaCM = TimCM(cboMaCM) MaCM = cboMaCM.Text NoiDT = txtNoiDT.Text HeDT = txtHeDT.Text Unload Me
'Else: MsgBox "loi" End If
End Sub
Private Function checkChiTietForm() As Boolean Dim flag As Boolean
flag = False
If rs.State = 1 Then rs.Close
End If
MsgBox " Bạn phải nhập lại ", , "Thông báo" cboMaCM.SetFocus
ElseIf (Trim(cboMaCM.Text) = "") Then MsgBox "Ban chua nhap mã chuyên môn" cboMaCM.SetFocus
ElseIf txtHeDT.Text = "" Then
MsgBox "Bạn phải nhập hệ đào tạo của nhân viên !" txtHeDT.SetFocus
ElseIf txtNoiDT.Text = "" Then
MsgBox "Bạn phải nhập nơi đào tạo của nhân viên !" txtNoiDT.SetFocus Else flag = True End If If rs.State = 1 Then rs.Close End If checkChiTietForm = flag End Function
Private Sub Form_Load()
If cn.State = adStateClosed Then
'AdoNhanVien.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DataBase\NhanSu.mdb;Persist Security Info=False"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\NhanSu.mdb;Persist Security Info=False"
cn.Open End If
napChuyenMon End Sub
If rs.State = 1 Then rs.Close
End If
rs.Open "SELECT * From CTBangCap ORDER BY CTBangCap.MaChuyenMon;"
cboMaCM.Clear cboMaCM.AddItem "" If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
'cboMaCM.AddItem rs.Fields("MaChuyenMon") & "-" & rs.Fields("TenChuyenMon") cboMaCM.AddItem rs.Fields("MaChuyenMon") rs.MoveNext Loop End If If rs.State = 1 Then rs.Close End If cboMaCM.Refresh End Sub Form : frmBCDieudong Option Explicit
Private Sub cmdtaomoi_Click() Call Reset
End Sub
Private Sub HienThiHangTon1()
Dim dieukienThoigian As String Dim dieukienTieuthuc As String Dim dieukienTimkiem As String Dim sql As String
sql = "SELECT CTDieuDong.MaNV, HoSoNV.TenNV, CTDieuDong.NgayBoNhiem, iif(CTDieuDong.NgayMienNhiem= DateValue('1/1/1601'),'Cha KT QĐ',CTDieuDong.NgayMienNhiem) as NgayMienNhiem, CTDieuDong.MaPB, PhongBan.TenPB, CTDieuDong.MaCV, ChucVu.TenCV FROM HoSoNV INNER JOIN (PhongBan INNER JOIN (ChucVu INNER JOIN CTDieuDong ON ChucVu.MaCV=CTDieuDong.MaCV) ON PhongBan.MaPB=CTDieuDong.MaPB) ON HoSoNV.MaNV=CTDieuDong.MaNV "
If (optNH.Value) Then 'Tim theo nhom hang'
If (opt1nhom.Value) Then If (Trim(cboCV.Text)) = "" Then MsgBox "Bạn cha chọn chức vụ!" cboCV.SetFocus Exit Sub End If
sql = sql & " where((CTDieuDong.MaCV)= '" & TimCV(cboCV) & "');" End If
ElseIf (optHSX.Value) Then 'Tim theo hang san xuat' If (optchonhang.Value) Then If (Trim(cboPB.Text)) = "" Then
MsgBox "Ban chua chon nha san xuat !" cboPB.SetFocus
End If End If If rs.State = 1 Then rs.Close End If rs.Open sql, cn
If optNH.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCDieuDongCV2.rpt"
Else
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCDieuDongPB1.rpt"
End If
rptBCDieuDong.SetTablePrivateData 0, 3, rs 'MsgBox " ko co"
If rs.EOF = True Then
MsgBox " Khong tim thay ban ghi nhu y" MsgBox " Bao cao trang khong duoc hien thi" Else rptBCDieuDong.MarginLeft = 0 rptBCDieuDong.MarginRight = 0 rptBCDieuDong.MarginTop = 0 rptBCDieuDong.MarginBottom = 0 rptBCDieuDong.WindowState = crptMaximized rptBCDieuDong.PrintReport End If If rs.State = 1 Then rs.Close End If
Private Sub HienThiHangTon2()
Dim dieukienThoigian As String Dim dieukienTieuthuc As String Dim dieukienTimkiem As String If rs.State = 1 Then
rs.Close End If
Dim sql As String
sql = "SELECT CTDieuDong.MaNV, HoSoNV.TenNV, CTDieuDong.NgayBoNhiem, iif(CTDieuDong.NgayMienNhiem= DateValue('1/1/1601'),'Cha KT QĐ',CTDieuDong.NgayMienNhiem) as NgayMienNhiem, CTDieuDong.MaPB, PhongBan.TenPB, CTDieuDong.MaCV, ChucVu.TenCV FROM HoSoNV INNER JOIN (PhongBan INNER JOIN (ChucVu INNER JOIN CTDieuDong ON ChucVu.MaCV=CTDieuDong.MaCV) ON PhongBan.MaPB=CTDieuDong.MaPB) ON HoSoNV.MaNV=CTDieuDong.MaNV WHERE (CTDieuDong.NgayBoNhiem) < DateValue('" & dtpNgayBaoCao.Month & "/" & dtpNgayBaoCao.Day & "/" & dtpNgayBaoCao.Year & "')"
If (optNH.Value) Then 'Tim theo chuc vu'
If (opt1nhom.Value) Then If (Trim(cboCV.Text)) = "" Then MsgBox "Bạn cha chọn chức vụ !" cboCV.SetFocus Exit Sub End If
sql = sql & " and ((CTDieuDong.MaCV)= '" & TimCV(cboCV) & "');" End If
ElseIf (optHSX.Value) Then 'Tim theo hang phong ban' If (optchonhang.Value) Then
cboPB.SetFocus Exit Sub
End If
sql = sql & " and ((CTDieuDong.MaPB)= '" & TimPB(cboPB) & "');" End If End If If rs.State = 1 Then rs.Close End If rs.Open sql, cn
If optNH.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCDieuDongCV2.rpt"
ElseIf optHSX.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCDieuDongPB1.rpt"
'Else
'rptBCDieuDong.ReportFileName = App.Path & "\reports\BCXNT_Chung.rpt"
End If
rptBCDieuDong.SetTablePrivateData 0, 3, rs 'MsgBox " ko co"
If rs.EOF = True Then
MsgBox " Không tìm thấy bản ghi nh ý bạn" MsgBox " Báo cáo trắng không đợc hiển thị" Else rptBCDieuDong.MarginLeft = 0 rptBCDieuDong.MarginRight = 0 rptBCDieuDong.MarginTop = 0 rptBCDieuDong.MarginBottom = 0 rptBCDieuDong.WindowState = crptMaximized
End If
If rs.State = 1 Then rs.Close
End If End Sub
Private Sub cmdxuatbaocao_Click() If (optall.Value) Then Call HienThiHangTon1 End If If (optThoiGian.Value) Then Call HienThiHangTon2 End If End Sub
Private Sub Form_Load() Call napChucVu
Call napPhongBan 'Call bindDataSource Call Reset
End Sub
Private Sub Reset() optNH.Enabled = True optNH.Value = False optallnhom.Enabled = False optallnhom.Value = False opt1nhom.Enabled = False opt1nhom.Value = False cboCV.Enabled = False
optHSX.Value = False optallhang.Enabled = False optchonhang.Enabled = False optallhang.Value = False optchonhang.Value = False cboPB.Enabled = False optall.Enabled = True optall.Value = False optThoiGian.Enabled = True optThoiGian.Value = False End Sub
Private Sub optAll_Click() optThoiGian.Enabled = False End Sub
Private Sub optThoiGian_Click() optall.Enabled = False
End Sub
Private Sub disableTheoNhomHang() optNH.Enabled = False
optallnhom.Enabled = False opt1nhom.Enabled = False cboCV.Enabled = False End Sub
Private Sub disableTheoHangSanXuat() optHSX.Enabled = False
cboPB.Enabled = False End Sub
Private Sub optNH_Click() optallnhom.Enabled = True opt1nhom.Enabled = True cboCV.Enabled = True optallnhom.SetFocus Call disableTheoHangSanXuat End Sub
Private Sub opthsx_Click() optallhang.Enabled = True optchonhang.Enabled = True cboPB.Enabled = True optallhang.SetFocus Call disableTheoNhomHang End Sub
Function TimPB(ByVal PB As String) As String Dim a As Integer a = InStr(PB, "-") TimPB = Left(PB, a - 1) End Function Sub napPhongBan() If rs.State = 1 Then rs.Close End If
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
cboPB.AddItem rs.Fields("MaPB") & "-" & rs.Fields("TenPB") rs.MoveNext Loop End If If rs.State = 1 Then rs.Close End If cboPB.Refresh End Sub
Function TimCV(ByVal CV As String) As String Dim a As Integer a = InStr(CV, "-") TimCV = Left(CV, a - 1) End Function Sub napChucVu() If rs.State = 1 Then rs.Close End If
rs.Open "SELECT * From ChucVu ORDER BY ChucVu.MaCV;" cboCV.Clear
cboCV.AddItem "" If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
cboCV.AddItem rs.Fields("MaCV") & "-" & rs.Fields("TenCV") rs.MoveNext
Loop End If
If rs.State = 1 Then rs.Close
End Sub
Form : frmBCHopDong Option Explicit
'Private Sub bindDataSource() 'Call napNV
'Call napLoaiHD 'End Sub
Private Sub cmdtaomoi_Click() Call Reset
'Call Form_Load End Sub
Private Sub CmdThoat_Click() If rs.State = 1 Then rs.Close End If cboNV.Text = "" cboLoaiHD.Text = "" Unload Me End Sub 'End Sub
Private Sub HienThiHangTon1()
Dim dieukienThoigian As String Dim dieukienTieuthuc As String
sql = "SELECT HoSoNV.MaNV, HoSoNV.TenNV, CTHopDong.MaHD,
HopDong.LoaiHD, CTHopDong.NgayKy,
IIf(CTHopDong.NgayKT=DateValue('1/1/1601'),'Cha KT HD',CTHopDong.NgayKT) AS NgayKT FROM HopDong INNER JOIN (HoSoNV INNER JOIN CTHopDong ON HoSoNV.MaNV = CTHopDong.MaNV) ON HopDong.MaHD = CTHopDong.MaHD "
If (optNH.Value) Then 'Tim theo nhom hang'
If (opt1nhom.Value) Then
If (Trim(cboNV.Text)) = "" Then
MsgBox "Ban chua chon nhom hang !" cboNV.SetFocus
Exit Sub End If
sql = sql & " where ((HoSoNV.MaNV)= '" & TimNV(cboNV) & "') ORDER BY HoSoNV.MaNV;"
End If
ElseIf (optHSX.Value) Then 'Tim theo hang san xuat' If (optchonhang.Value) Then
If (Trim(cboLoaiHD.Text)) = "" Then MsgBox "Ban can chon ban ghi !" cboLoaiHD.SetFocus
Exit Sub End If
sql = sql & " where ((HopDong.LoaiHD)= '" & TimLoaiHD(cboLoaiHD) & "') ORDER BY HoSoNV.MaNV;"
End If End If
If rs.State = 1 Then rs.Close
rs.Open sql, cn
If optNH.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCHopDongNV.rpt"
ElseIf optHSX.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCHopDongNhom.rpt"
End If
rptBCDieuDong.SetTablePrivateData 0, 3, rs If rs.EOF = True Then
MsgBox " Khong tim thay ban ghi"
MsgBox " Bao cao trang khong duoc hien thi" Else rptBCDieuDong.MarginLeft = 0 rptBCDieuDong.MarginRight = 0 rptBCDieuDong.MarginTop = 0 rptBCDieuDong.MarginBottom = 0 rptBCDieuDong.WindowState = crptMaximized rptBCDieuDong.PrintReport End If If rs.State = 1 Then rs.Close End If End Sub
Private Sub HienThiHangTon2() Dim sql As String
sql = "SELECT HoSoNV.MaNV, HoSoNV.TenNV,
INNER JOIN CTHopDong ON HoSoNV.MaNV = CTHopDong.MaNV) ON HopDong.MaHD = CTHopDong.MaHD WHERE (CTHopDong.NgayKy) < DateValue('" & dtpNgayBaoCao.Month & "/" & dtpNgayBaoCao.Day & "/" & dtpNgayBaoCao.Year & "')"
If (optNH.Value) Then 'Tim theo chuc vu'
If (opt1nhom.Value) Then
If (Trim(cboNV.Text)) = "" Then
MsgBox "Ban chua chon nhan vien !" cboNV.SetFocus
Exit Sub End If
sql = sql & " and ((HoSoNV.MaNV)= '" & TimNV(cboNV) & "') ORDER BY HoSoNV.MaNV;"
End If
ElseIf (optHSX.Value) Then 'Tim theo hang phong ban' If (optchonhang.Value) Then If (Trim(cboLoaiHD)) = "" Then
MsgBox "Ban chua chon loai hop dong !" cboLoaiHD.SetFocus
Exit Sub End If
sql = sql & " and ((HopDong.LoaiHD)= '" & TimLoaiHD(cboLoaiHD) & "') ORDER BY HoSoNV.MaNV;"
End If End If If rs.State = 1 Then rs.Close End If rs.Open sql, cn
If optNH.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCHopDongNV.rpt"
ElseIf optHSX.Value = True Then
rptBCDieuDong.ReportFileName = App.Path & "\reports\BCHopDongNhom.rpt"
End If
rptBCDieuDong.SetTablePrivateData 0, 3, rs If rs.EOF = True Then
MsgBox " Khong tim thay ban ghi nhu y ban" MsgBox " Bao cao trang khong duoc hien thi" Else rptBCDieuDong.MarginLeft = 0 rptBCDieuDong.MarginRight = 0 rptBCDieuDong.MarginTop = 0 rptBCDieuDong.MarginBottom = 0 rptBCDieuDong.WindowState = crptMaximized rptBCDieuDong.PrintReport End If If rs.State = 1 Then rs.Close End If End Sub
Private Sub cmdxuatbaocao_Click() If (optall.Value) Then Call HienThiHangTon1 End If If (optThoiGian.Value) Then Call HienThiHangTon2 End If
Private Sub Form_Load() Call napNV Call napLoaiHD Call Reset End Sub
Private Sub Reset() optNH.Enabled = True optNH.Value = False optallnhom.Enabled = False optallnhom.Value = False opt1nhom.Enabled = False opt1nhom.Value = False cboNV.Enabled = False optHSX.Enabled = True optHSX.Value = False optallhang.Enabled = False optchonhang.Enabled = False optallhang.Value = False optchonhang.Value = False cboLoaiHD.Enabled = False optall.Enabled = True optall.Value = False optThoiGian.Enabled = True optThoiGian.Value = False End Sub
End Sub
Private Sub optThoiGian_Click() optall.Enabled = False End Sub
Private Sub disableTheoNhomHang() optNH.Enabled = False
optallnhom.Enabled = False opt1nhom.Enabled = False cboNV.Enabled = False End Sub
Private Sub disableTheoHangSanXuat() optHSX.Enabled = False
optallhang.Enabled = False optchonhang.Enabled = False cboLoaiHD.Enabled = False End Sub
Private Sub optNH_Click() optallnhom.Enabled = True opt1nhom.Enabled = True cboNV.Enabled = True optallnhom.SetFocus Call disableTheoHangSanXuat End Sub
Private Sub opthsx_Click() optallhang.Enabled = True
optallhang.SetFocus
Call disableTheoNhomHang End Sub
Function TimLoaiHD(ByVal LoaiHD As String) As String Dim a As Integer a = InStr(LoaiHD, "-") TimLoaiHD = Left(LoaiHD, a - 1) End Function Sub napLoaiHD() If rs.State = 1 Then rs.Close End If
rs.Open "SELECT * From HopDong ORDER BY HopDong.MaHD;" cboLoaiHD.Clear
cboLoaiHD.AddItem "" If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
cboLoaiHD.AddItem rs.Fields("LoaiHD") & "-" & rs.Fields("GhiChu") rs.MoveNext Loop End If If rs.State = 1 Then rs.Close End If cboLoaiHD.Refresh End Sub
Function TimNV(ByVal NV As String) As String Dim a As Integer
Sub napNV()
If rs.State = 1 Then rs.Close
End If
rs.Open "SELECT * From HoSoNV ORDER BY MaNV;" cboNV.Clear
cboNV.AddItem "" If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
cboNV.AddItem rs.Fields("MaNV") & "-" & rs.Fields("TenNV") rs.MoveNext Loop End If If rs.State = 1 Then rs.Close End If End Sub
1. TS. Trương Văn Tỳ, TS. Trần Thị Song Minh (2000), Giỏo trỡnh Hệ thống thụng tin quản lý, Nhà xuất bản Hà Nội.
2. Ths Trần Cụng Uẩn (2005), Giỏo trỡnh Cơ sở dữ liệu 1, 2. Nhà xuất bản Thống kờ. 3. Cỏc bài giảng:
• Mụn Cụng nghệ phần mềm của PGS. TS. Hàn Viết Thuận
• Mụn Hệ thống thụng tin quản lý của TS. Trương Văn Tỳ
• Mụn Lập trỡnh ứng dụng trong quản lý của Ths Trịnh Hoài Sơn.
• Và một số mụn học khỏc của khoa Tin học kinh tế, đại học Kinh tế quốc dõn
4. Cỏc website
• Website cõu lạc bộ visual basic: www.caulacbovb.com • Website diễn đàn tin học: www.diendantinhoc.com
I. HỆ THỐNG THễNG TIN QUẢN Lí NHÂN SỰ...12 III. PHƯƠNG PHÁP PHÁT TRIỂN HTTT QUẢN Lí...27