Hệ thống quản lý nhân sự trực tuyến trong phạm vi Công ty Cổ phần Tập đoàn Thái Tuấn được xây dựng đã đáp ứng các chức năng cần thiết cho công tác quản lý nhân sự, tiền lương như: nhân v
Trang 1LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
XÂY DỰNG HỆ THỐNG QUẢN LÝ NHÂN SỰ
CÔNG TY CỔ PHẦN TẬP ĐOÀN
THÁI TUẤN
Sinh viên thực hiện Cán bộ hướng dẫn
Nguyễn Thị Kim Phụng ThS Huỳnh Phụng Toàn
MSSV: 1111541 MSCB: 1602
Cần Thơ - 2015
KHOA CNTT VÀ TRUYỀN THÔNG
BỘ MÔN TIN HỌC ỨNG DỤNG
Trang 2Xin chân thành cảm ơn!
Trân trọng!
Cần Thơ, 14 tháng 5 năm 2015 Sinh viên thực hiện
Nguyễn Thị Kim Phụng
Trang 3NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5MỤC LỤC
LỜI CẢM ƠN i
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN ii
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN iii
MỤC LỤC iv
DANH SÁCH BẢNG vi
DANH SÁCH HÌNH vii
DANH MỤC TỪ VIẾT TẮT ix
TÓM TẮT ĐỀ TÀI x
ABSTRACT xi
CHƯƠNG 1 1
TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.1.1 Hiện trạng 1
1.1.2 Vấn đề cần giải quyết 2
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 3
1.3 PHẠM VI CỦA ĐỀ TÀI 3
1.4 PHƯƠNG PHÁP NGHIÊN CỨU – HƯỚNG GIẢI QUYẾT VẤN ĐỀ 4
1.4.1 Thu thập dữ liệu 4
1.4.2 Phân tích, thiết kế hệ thống 4
1.4.3 C họn công cụ thực hiện 4
CHƯƠNG 2 6
CƠ SỞ LÝ THUYẾT 6
2.1 GIỚI THIỆU CÔNG TY VÀ QUY TRÌNH CHẤM CÔNG – TÍNH LƯƠNG 6 2.1.1 Giới thiệu công ty 6
2.1.2 Quy trình chấm công, tính lương 7
2.2 CÁC CÔNG NGHỆ VÀ CÔNG CỤ SỬ DỤNG 11
2.2.1Nền tảng sử dụng 11
2.2.2 Mô hình MVC (Model – View – Controller) 12
2.2.3 CAKEPHP FRAMEWORK 15
2.2.4 AJAX 19
2.2.5 JQUERY 19
2.2.6 JQUERY UI 20
2.2.7 BOOTSTRAP 20
CHƯƠNG 3 21
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 21
3.1 MÔ TẢ PHÂN TÍCH 21
3.1.1 Mô tả hệ thống 21
3.1.2 Mô tả quy trình hệ thống xây dựng 22
3.1.3 Sơ đồ Use Case 26
3.2 THIẾT KẾ CƠ SỞ DỮ LIỆU 33
3.2.1 Mô hình dữ liệu mức quan niệm – ER 33
Trang 63.2.2 Mô hình vật lý dữ liệu 35
3.2.3 Mô tả dữ liệu 36
3.3 KẾT QUẢ XÂY DỰNG HỆ THỐNG 49
3.3.1 Trang chủ 49
3.3.2 Trang quản lý 54
CHƯƠNG 4 91
KẾT LUẬN VÀ KIẾN NGHỊ 91
4.1 KẾT QUẢ ĐẠT ĐƯỢC 91
4.1.1 Chương trình 91
4.1.2 Lý thuyết 92
4.1.3 Kỹ năng 92
4.2 VẤN ĐỀ TỒN TẠI CỦA ĐỀ TÀI 92
4.3 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 92
TÀI LIỆU THAM KHẢO 93
PHU LỤC 1 94
PHỤ LỤC 2 98
Trang 7DANH SÁCH BẢNG
Bảng 1.1 Bảng công cụ thực hiện 5
Bảng 3.1 - Bảng nhân viên (nhanviens) 36
Bảng 3.2 - Bảng loại nhân viên (loainhanviens) 37
Bảng 3.3 - Bảng hình thức công việc (hinhthuccvs) 37
Bảng 3.4 Bảng tỉnh thành (tinhthanhs) 38
Bảng 3.5 Bảng trình độ học vấn (trinhdohvs) 38
Bảng 3.6 - Bảng chuyên môn (chuyenmons) 38
Bảng 3.7 - Bảng thân nhân (thannhans) 38
Bảng 3.8 - Bảng nhóm quyền (nhomquyens) 39
Bảng 3.9 - Bảng hình ành (hinhanhs) 39
Bảng 3.10 - Bảng đơn vị (donvis) 39
Bảng 3.11 - Bảng bộ phận (bophans) 39
Bảng 3.12 - Bảng ca làm việc (calamviecs) 40
Bảng 3.13 - Bảng nhân viên – ca làm việc (nhanvien-calamviecs) 40
Bảng 3.14- Bảng ký hiệu chấm công (kyhieuchamcongs) 40
Bảng 3.15- Thực ký hiệu chức danh (chucdanhs) 41
Bảng 3.16 - Bảng lịch làm việc (lichlamviecs) 41
Bảng 3.17 - Bảng nhóm vị trí công việc (nhomvitricongviecs) 42
Bảng 3.18 - Bảng vị trí công việc (vi_tri_cong_viecs) 42
Bảng 3.19 - Bảng nhân viên - vị trí công việc (nhanvien-vtcvs) 43
Bảng 3.20 - Bảng phụ cấp (phucaps) 43
Bảng 3.21 - Bảng nhân viên - phụ cấp (nhanvien-phucaps) 44
Bảng 3.22 - Bảng chấm công (bangccs) 44
Bảng 3.23 - Bảng Bảng chấm công chi tiết (bangcccts) 45
Bảng 3.24 - Bảng tạm ứng (tamungs) 45
Bảng 3.25 - Bảng ngạch lương (ngachluongs) 46
Bảng 3.26 - Bảng bậc lương (bacluongs) 46
Bảng 3.27 - Bảng nhân viên – Bậc lương (ngachluongs) 46
Bảng 3.28- Bảng loại tin tức (loaitintucs) 46
Bảng 3.29- Bảng tin tức (tintucs) 47
Bảng 3.30 - Bảng loại tin ảnh (tinanhs) 47
Bảng 3.31 - Bảng hình thức khen thưởng (hinhthuckhenthuongs) 47
Bảng 3.32- Bảng khen thưởng (khenthuongs) 48
Bảng 3.33- Bảng hình thức kỷ luật (hinhthuckyluats) 48
Bảng 3.34 - Bảng kỷ luật (kyluats) 49
Trang 8DANH SÁCH HÌNH
Hình 2.1 – Công ty Cổ phần Tập đoàn Thái Tuấn 6
Hình 2.2 - Logo Công ty cổ phần tập đoàn Thái Tuấn 6
Hình 2.3 – Quy trình chấm công, tính lương 8
Hình 2.4 – Bảng chấm công 9
Hình 2.5 – Mô hình MVC 12
Hình 2.6 – Thành phần của mô hình MVC 13
Hình 2.7 – Sơ đồ hoạt động của mô hình MVC 14
Hình 2.8 - Quy trình xử lý của mô hình MVC trong CakePHP 17
Hình 3.1 – Quy trình nhóm nguời dùng quản trị hệ thống 23
Hình 3.2 – Quy trình nhóm người dùng quản lý thao tác trên hệ thống 24
Hình 3.3 – Quy trình nhóm người dùng nhân viên sử dụng hệ thống 25
Hình 3.6 - Sơ đồ Use – case của nhóm người dùng Admin 27
Hình 3.7 – Phân rã chức năng cập nhật danh mục 28
Hình 3.9 – Phân rã chức năng cập nhật nhân viên 29
Hình 3.10 – Phân rã chức năng cập nhật lịch sử công tác 29
Hình 3.11 - Sơ đồ Use – case của nhóm người dùng quản lý 30
Hình 3.12 - Sơ đồ Use – case của nhóm người dùng kế toán lương 31
Hình 3.13 - Sơ đồ Use – case của nhóm người dùng nhân viên 32
Hình 3.14 – Mô hình dữ liệu mức quan niệm - ER 34
Hình 3.15 – Mô hình vật lý dữ liệu 35
Hình 3.16 – Trang chủ hệ thống 50
Hình 3.17 – Trang giới thiệu về công ty 51
Hình 3.18 – Trang bộ sưu tập 52
Hình 3.19 – Trang Bảng tin 52
Hình 3.20 – Trang liên hệ 53
Hình 3.21 – Form đăng nhập 53
Hình 3.22 – Trang chủ Admin 54
Hình 3.23 – Danh sách các đơn vị 55
Hình 3.24 – Xem chi tiết thông tin đơn vị 55
Hình 3.25 – Danh sách các bộ phận 56
Hình 3.26 – Xem chi tiết thông tin bộ phận 56
Hình 3.27 – Thêm nhân viên vào ca làm việc của bộ phận 56
Hình 3.28 – Kết quả sau khi thêm nhân viên vào ca làm việc 57
Hình 3.29 – Trang nhân viên 57
Hình 3.30 – Danh sách ban quản lý công ty 58
Hình 3.31 – Danh sách nhân viên chính thức 59
Hình 3.33 – Kết quả lọc nhân viên theo bộ phận 60
Hình 3.34 – Kết quả lọc kết hợp tìm kiếm nhân viên 60
Hình 3.35 – Thêm nhân viên mới 61
Hình 3.36 – Xóa nhân viên 61
Hình 3.37 – Sửa thông tin nhân viên 62
Hình 3.38 – Hình 3.38 - Danh sách bảng tin, thông báo 63
Hình 3.39 – Thêm tin tức mới 63
Hình 3.40 – Xem tin chi tiết 64
Hình 3.41 – Danh mục nhóm quyền hệ thống 65
Hình 3.42 – Phân quyền nhóm người dùng sử dụng ACL 65
Hình 3.43 – Kết quả phân quyền nhóm người dùng 66
Hình 3.44 – Trang chủ nhóm người dùng quản lý 66
Trang 9Hình 3.45 – Lịch sử công tác của nhân viên 67
Hình 3.46 – Thêm lịch sử công tác mới 67
Hình 3.47– Kết quả thêm vị trí công việc mới 68
Hình 3.48 – Kết quả ngừng công tác cho nhân viên 68
Hình 3.49 – Danh mục bảng chấm công 69
Hình 3.51 – Xác nhận khóa chấm công 69
Hình 3.52 – Lịch làm việc tháng 70
Hình 3.53 – Bảng chấm công nhân viên 70
Hình 3.54 – Bảng chấm công nhân viên theo đơn vị 71
Hình 3.55 – Chấm công theo ca 72
Hình 3.56 – Chấm công cho từng nhân viên 72
Hình 3.57– Danh sách nhân viên được khen thưởng 72
Hình 3.58 – Xem chi tiết thông tin khen thưởng 73
Hình 3.59 – Thêm khen thưởng mới 73
Hình 3.60– Danh sách khen thưởng excel 74
Hình 3.61 – Kết quả thêm danh sách khen thưởng từ file excel 74
Hình 3.62 – Duyệt khen thưởng cho nhân viên 75
Hình 3.63 – Danh sách kỷ luật 75
Hình 3.64– Xem chi tiết thông tin kỷ luật 76
Hình 3.65 – Hủy kỷ luật 76
Hình 3.66 – Danh sách tạm ứng 77
Hình 3.67 – Duyệt tạm ứng cho nhân viên 77
Hình 3.68 – Kết quả lọc nhân viên theo bảng chấm công và bộ phận 78
Hình 3.69 – Trang chủ kế toán 78
Hình 3.70 – Bảng hồ sơ lương theo danh sách nhân viên 79
Hình 3.71 – Xem thông tin chi tiết hồ sơ lương 79
Hình 3.72 – Hồ sơ lương nhân viên 80
Hình 3.73 – Gia hạn bậc lương cho nhân viên 80
Hình 3.74 – Thêm hồ sơ lương mới 81
Hình 3.75 – Danh mục phụ cấp 81
Hình 3.76 - Danh mục vị trí công việc 82
Hình 3.77 – Bảng lương nhân viên 82
Hình 3.78 – Lọc bảng lương nhân viên theo bộ phận 83
Hình 3.79 – Danh sách lương nhân viên theo bộ phận 83
Hình 3.80 – Kết quả in bảng lương theo bộ phận 84
Hình 3.81 – Trang chủ nhân viên 84
Hình 3.82 – Menu tiện ích 85
Hình 3.83 – Nhân viên xem thông tin cá nhân 85
Hình 3.84 – Form đổi mật khẩu người dùng 86
Hình 3.85 – Nhân viên xem bảng chấm công 86
Hình 3.86 – Menu chọn bảng chấm công 87
Hình 3.87 – In bảng chấm công nhân viên 88
Hình 3.88 – Xem bảng lương nhân viên 89
Hình 3.89 – In bảng lương nhân viên 89
Hình 3.90 – Form đăng ký tạm ứng 90
Hình 3.91 – Danh sách tạm ứng nhân viên 90
Trang 10DANH MỤC TỪ VIẾT TẮT
BHXH Bảo hiểm xã hội
CB-CNV Cán bộ công nhân viên CNTT Công nghệ thông tin
Trang 11TÓM TẮT ĐỀ TÀI
Ngày nay, quản lý nhân sự - tiền lương là một trong những lĩnh vực được các nhà lãnh đạo rất quan tâm Cùng với sự phát triển của công nghệ thông tin, việc tin học hoá công tác quản lý không còn trở lên xa lạ với hầu hết các doanh nghiệp hiện nay bởi những lợi ích thực tế mà nó mang lại
Hệ thống quản lý nhân sự trực tuyến trong phạm vi Công ty Cổ phần Tập đoàn Thái Tuấn được xây dựng đã đáp ứng các chức năng cần thiết cho công tác quản lý nhân
sự, tiền lương như: nhân viên xem các thông tin của mình về thông tin cá nhân, hồ sơ lương, lịch sử công tác, lịch sử khen thưởng, lịch sử kỷ luật, lịch sử tạm ứng, xem Bảng chấm công theo từng tháng, in Bảng chấm công, gửi yêu cầu tạm ứng, xem Bảng lương chi tiết theo từng tháng và in Bảng lương theo yêu cầu Kế toán lương xem và cập nhật thông tin hồ sơ lương cho nhân viên, xem và thống kê Bảng lương theo từng bộ phận, đơn vị, in Bảng lương cho từng bộ phận trong công ty Quản lý xem và cập nhật các danh mục (tùy vào vị trí công việc quản lý), được phân quyền chấm công cho nhân viên thuộc bộ phận quản lý, cập nhật danh sách khen thưởng, kỷ luật và duyệt yêu cầu từ các bộ phận gởi lên, xem xét và duyệt các yêu cầu tạm ứng của nhân viên Ban quản trị (Admin) được toàn quyền quản lý hệ thống, cập nhật các danh mục, cập nhật tin tức và lịch làm việc cho công ty, phân quyền cho người dùng mới Quan trọng nhất là hệ thống đã xây dựng được bảng lương tự động có thể tính tiền lương nhân viên theo số ngày công làm việc dựa vào bảng chấm công trong tháng và và các khoản phụ cấp, khen thưởng, kỷ luật, tạm ứng (nếu có) tính đến thời điểm cập nhật bảng lương Khi các hệ số tính lương thay đổi, bảng lương mới sẽ được cập nhật theo và đảm bảo rằng các bảng lương trước đó được tính theo các hệ
số tính lương cũ vẫn được lưu giữ
Hệ thống được xây dựng trên nền CakePHP Framework và hệ quản trị cơ sở dữ liệu MySQL Hệ thống đã đáp ứng đầy đủ các chức năng cần thiết của quy trình quản lý chấm công, tính lương của công ty giúp công việc quản lý nhân sự trở nên dễ dàng
và hiệu quả hơn rất nhiều Tuy nhiên, hệ thống vẫn chưa giải quyết được việc tính lương sản phẩm cho nhân viên Việc hoàn chỉnh và bổ sung là hướng phát triển của
đề tài
Từ khóa:
Quản lý nhân sự, Hệ thống quản lý nhân sự, chấm công, tính lương, quản lý nhân
sự bằng CakePHP Framework
Trang 12ABSTRACT
Today, Human Resources Management and Salary is one of the fields that the leaders are very interested Along with the development of information technologies, the computerization of the management is no longer upward stranger to most businesses today by the practical benefits it brings
Human Resource Management online system within the Thai Tuan Group Corporation built for providing necessary functions for the management of human resources such as: employees see their personal information, see payroll records, see work history, see reward history, see discipline history, see advance history, view monthly timesheets, print the timesheets, send the advance requests, see detailed payroll and print the monthly payrolls Salaries accounting view and update profile information for employees, view and statistics the payroll for each department and units, print payrolls for each department in the company Management view and update the list (depending on the position of the management), assigned timekeeping for employees of management department, update the list reward, discipline list and requires approval from the department posts up, review and approve the advance request of employees Administrator (Admin) is full control over the system, update the list, updated the news and work schedule backup and restore data, permission for new users Most importantly the system had built the salary table can automatically calculate employees salary by number of working days based on month and timesheets and allowances, reward, discipline, advance (if any) until the time of updating the salary table When the factor payroll change, the new payroll will be updated and ensure that the previous payrolls with the old payroll factor still stored The system is built on the CakePHP Framework and the MySQL database management system The system complete has met the essential functions of process management timekeeping, payroll companies, which helps Human Resource Management tasks easier and more efficient lot However, the system still unresolved
by Product payroll for employees The complete and additional the development of the subject
Keywords:
Human resource management, Human Resource Management system, timekeeping, payroll, Human Resource Management by CakePHP Framework
Trang 13CHƯƠNG 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
1.1.1 Hiện trạng
Ngày nay khi khoa học công nghệ phát triển mạnh mẽ, công nghệ thông tin (CNTT)
đã len lõi khắp đời sống xã hội Người ta không thể phủ nhận vai trò của nó trong việc nâng cao chất lượng cuộc sống Đặc biệt là trong doanh nghiệp, việc ứng dụng CNTT được xem là con đường ngắn nhất dẫn đến thành công Nhận thấy tầm quan trọng của điều này, nhiều doanh nghiệp đã áp dụng triệt để công nghệ thông tin trong tất cả các hoạt động của mình, trong đó lĩnh vực quản lý được quan tâm hơn cả Tin học được ứng dụng để quản lý các hoạt động của doanh nghiệp như: quản lý kinh doanh, quản lý trang thiết bị trong đó quản lý nhân sự - tiền lương là một trong những ứng dụng quan trọng được các nhà quản lý quan tâm
Hiện nay khi nước chúng ta trong giai đoạn hội nhập kinh tế thế giới, đây vừa là thời
cơ vừa là thách thức với các doanh nghiệp Vì vậy mỗi doanh nghiệp cần có những bước đi đúng đắn để có thể tồn tại và phát triển Doanh nghiệp cũng luôn phải đổi mới làm sao cho phù hợp với tình hình kinh tế trong nước và toàn thế giới
Cùng với sự lớn mạnh của doanh nghiệp là sự tăng lên của số lượng cán bộ công nhân viên và sự đa dạng của ngành nghề hoạt động Việc tính lương và quản lý hồ sơ nhân
sự không phải chỉ cho 5 hay 10 người với một mức lương cơ bản, mà có thể lên tới hàng chục, hàng trăm, hàng ngàn mức lương cho các nhận viên khác nhau Khi đó quản lý nhân sự - tiền lương không còn là công việc đơn giản để tính toán thủ công với thủ tục rườm rà và tốn nhiều thời gian Chính vì vậy xây dựng một hệ thống website quản lý nhân sự là hết sức cần thiết và cấp bách hiện nay
Công ty Cổ phần Tập đoàn Thái Tuấn là một doanh nghiệp lớn hoạt động trong lĩnh vực Dệt may Với định hướng không ngừng phát triển, hiện nay công ty đã có hơn
2500 cán bộ công nhân viên, vì thế việc quản lý hồ sơ nhân viên và quá trình chấm công tính lương sẽ gặp rất nhiều khó khăn, mất nhiều thời gian và công sức để tập hợp được hết những yêu cầu mà cấp trên hay nhân viên nào đó đưa ra
Hiện tại, việc quản lý nhân sự tại công ty đã được tin học hóa bằng phầm mềm quản
lý nhân sự viết bằng ngôn ngữ C# Mặc dù có thể đáp ứng những yêu cầu cơ bản như lưu trữ thông tin và cập nhật dữ liệu nhưng theo thời gian và sự phát triển mạnh mẽ của CNTT ngày nay thì phần mềm này cũng còn bộc lộ một số hạn chế, người dùng chỉ làm việc được khi phải đến làm tại công ty
Sau một thời gian tìm hiểu về thông tin cũng như hoạt động của công ty, tôi quyết định chọn đề tài “Xây dựng hệ thống website quản lý nhân sự” áp dụng tại công ty
Trang 14nhằm góp phần cải tiến sự tương tác với hệ thống của người dùng, và nâng cao chất lượng, hiệu quả công tác quản lý nhân sự trong công ty
1.1.2 Vấn đề cần giải quyết
Với số lượng công nhân viên quá lớn như vậy, vấn đề đặt ra là cần có một hệ thống quản lý nhân sự - tiền lương một cách tiện lợi và hiệu quả nhất, ta cần phải giải quyết các vấn đề sau:
Tạo một bảng lương cập nhật tự động Mỗi một Bảng lương sẽ chỉ phù hợp trong một khoản thời gian, vì hệ số lương và mức lương của nhân viên sẽ thay đổi nếu
có sự thay đổi về vị trí công việc và nhóm vị trí công việc Tuy nhiên cần phải sao lưu lại để phục vụ cho công tác truy vấn sau này
Mỗi tháng, các đơn vị, bộ phận đều ghi nhận lại quá trình làm việc của nhân viên mình, từ đó đề nghị khen thưởng nếu biểu hiện tốt và đề nghị kỷ luật nếu vi phạm quy chế công ty Vậy hệ thống phải hiển thị thông tin khen thưởng, kỷ luật như thế nào thay vì phải gửi văn bản cho từng giám đốc hay quản lý các bộ phận trong công ty, để hạn chế việc người quản lý phải tìm kiếm nhân viên bộ phận mình có nằm trong danh sách khen thưởng, kỷ luật hay không
Khi trưởng bộ phận hoặc người quản lý đơn vị chấm công xảy ra sai sót: chấm thiếu ngày, cộng sai điểm thi đua Việc cần làm là không để sai sót xảy ra trong quá trình chấm công, tính lương cho nhân viên
Với số lượng nhân viên lớn như vậy, bằng cách nào để kế toán tiền lương thống kê
và tính tiền lương một cách chính xác và nhanh chóng Số tiền lương không vượt quá thang lương quy định
Sau khi đến hạn lĩnh lương, kế toán tiền lương sẽ lập danh sách lương cho nhân viên dán tại các Bảng thông báo của từng bộ phận và tiến hành chuyển tiền vào tài khoản cho nhân viên Lúc này kế toán cần biết được nhân viên nào được lĩnh số tiền bao nhiêu, số lượng nhân viên theo từng loại nhân viên
Lý do xây dựng website quản lý nhân sự được nhiều người quan tâm:
Trực tiếp ảnh hưởng đến chi phí công ty Nếu tính lương dư, công ty sẽ mất thêm chi phí Nếu tính lương thiếu, nhân viên sẽ không hài lòng, ảnh hưởng năng suất
Tính toán chi tiết rắc rối, nhưng lại không phức tạp Khối lượng tính toán nhiều, nhưng lại theo một công thức nhất định Đây là thể loại công việc phù hợp nhất để máy móc thay thế con người
Trang 15 Cần có một nơi lưu trữ toàn bộ thông tin về lương để phục vụ cho việc phân tích- hoạch định quỹ lương, tính thuế thu nhập Thông tin phải được lưu trữ có hệ thống, đúng chuẩn
Sử dụng tập tin excel có thể đáp ứng được nhu cầu tính lương, nhưng lại không đáp ứng được việc quản lý Rất khó để phát hiện sai sót trong việc tính lương, trừ khi phải kiểm tra lại toàn bộ các phép toán
Công thức tính lương có thể thay đổi vì nhiều yếu tố, sử dụng file xls sẽ rất khó quản lý
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Vào những năm đầu mới thành lập từ năm 1993 – 1996 do số lượng nhân viên chỉ vài chục người nên công tác quản lý nhân sự của công ty chủ yếu là làm thủ công, việc lưu trữ tài liệu đều nằm trên giấy
Giai đoạn từ năm 1997 – 2006, việc quản lý trở nên thuận tiện hơn nhờ sự giúp sức của các công cụ word, excel, access…
Từ năm 2007 đến nay, công ty đã áp dụng các phần mềm quản lý nhân sự viết bằng các ngôn ngữ khác nhau như Java, VB.net, C#.net và mới đây là website viết bằng ASP.net
Mặc dù trong từng giai đoạn, các công cụ, phần mềm đã hỗ trợ rất tích cực và đem lại hiệu quả trong công tác quản lý của công ty, tuy nhiên theo thời gian nhất là sự phát triển của công nghệ thông tin thì các phần mềm này đã ít nhiều bộc lộ một số mặc còn hạn chế:
Chưa giải quyết được vấn đề văn bản, văn thư (Bảng chấm công, Bảng đánh giá năng suất lao động của công nhân viên…) tổ trưởng, trưởng bộ phận vẫn phải tập hợp lại sau đó mới liên hệ với kế toán tiền lương, kế toán trưởng để xem xét tính lương cho nhân viên
Công tác chấm công, đổi ca, giao ca làm việc, xin ứng lương, nghĩ phép đôi khi cũng xảy ra sai sót, thiếu chính xác
Việc quản lý còn hạn chế, nhân viên muốn truy vấn thông tin chi tiết, hồ sơ nhân viên thì phải đến công ty
1.3 PHẠM VI CỦA ĐỀ TÀI
Phạm vi chức năng gắn liền với phạm vi người dùng:
- Nhóm người dùng nhân viên: được cấp một tài khoản đăng nhập vào hệ thống,
mỗi nhân viên sẽ có quyền xem thông tin cá nhân, xem Bảng chấm công, xem
Trang 16Bảng lương, xin đăng kí tạm ứng, xem lịch sử công tác, hồ sơ lương, lịch sử khen thưởng, kỷ luật và tạm ứng của mình
- Nhóm người dùng quản lý (trưởng bộ phận, trưởng phòng): được cấp tài
khoản đăng nhập, xem và cập nhật thông tin của mình, chấm công cho nhân viên trong bộ phận, duyệt tạm ứng, duyệt khen thưởng, kỷ luật, lập báo cáo thống kê, ngoài ra có thể thêm nhân viên mới cho bộ phận mình quản lý, cập nhật thông tin cho nhân viên và một số yêu cầu từ hệ thống tùy vào vị trí công việc và tính chất công việc khác nhau
- Nhóm người dùng kế toán tiền lương: quản lý hồ sơ nhân viên, tạo bảng lương
tháng, cập nhật hồ sơ lương cho nhân viên, cập nhật bảng lương
- Nhóm người dùng ban quản trị (Admin): cập nhật tất cả các danh mục, danh
sách nhân viên theo từng đơn vị, bộ phận, cập nhật thang Bảng lương và các hệ
số chấm công, cập nhật tin tức thông báo của công ty, cập nhật chức năng cho nhân viên…Thống kê, báo cáo cần thiết
1.4 PHƯƠNG PHÁP NGHIÊN CỨU – HƯỚNG GIẢI QUYẾT VẤN ĐỀ 1.4.1 Thu thập dữ liệu
- Tham khảo các luận văn có đề tài liên quan
- Tìm kiếm văn bản, quy chế, thông tin liên quan về quy trình chấm công, tính lương của nhân viên công ty
- Tìm hiểu về quy trình chấm công, tính lương của công ty
- Tham khảo các tài liệu về phân tích thiết kế hệ thống thông tin
- Tìm hiểu về CakePHP Framework
1.4.2 Phân tích, thiết kế hệ thống
- Phân tích xây dựng hệ thống với 4 nhóm người dùng Xây dựng mô hình cơ sở
dữ liệu đảm bảo tính hợp lệ, chính xác khi vận hành thực tế tại công ty
- Thiết kế giao diện sao cho vừa mang tính chuyên nghiệp vừa thân thiện với người dùng
- Xây dựng trên nền CakePHP Framework với hệ quản trị cơ sở dữ liệu MySQL
1.4.3 Chọn công cụ thực hiện
Trang 17Bảng 1.1 Bảng công cụ thực hiện
1 Microsoft Office Soạn thảo Viết báo cáo
2 Power Designer Thiết kế Use Case
Thiết kế CSDL
Phân tích, thiết kế
3 CSS, Bootstrap, JQuery UI Thiết kế giao diện Thiết kế
4 CakePHP Framework Coding Lập trình
5 MySQL Lưu trữ dữ liệu Lập trình
6 Microsoft Power Point Soạn Thảo Báo cáo
Trang 18CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU CÔNG TY VÀ QUY TRÌNH CHẤM CÔNG – TÍNH LƯƠNG
2.1.1 Giới thiệu công ty
Hình 2.1 – Công ty Cổ phần Tập đoàn Thái Tuấn
Tên công ty: CÔNG TY CỔ PHẦN TẬP ĐOÀN THÁI TUẤN
Tên tiếng Anh: Thai Tuan Group Corporation
Website: thaituanfashion.com
Mã số thuế: 0303145495
Logo công ty:
Hình 2.2 - Logo Công ty cổ phần tập đoàn Thái Tuấn (Nguồn: http://www.thaituanfashion.com) Slogan: Nền tảng cho sự thăng hoa
Trang 19 Sản xuất và kinh doanh các sản phẩm vải và quần áo thời trang may sẵn
Chuyên sản xuất vải thời trang như lụa, tơ tằm, silk thun, phi thun, voan, gấm, đặc biệt là dòng sản phẩm cao cấp In Digital, thêu,… Bên cạnh đó, Thái Tuấn cũng chú trọng khâu thiết kế để cho ra đời những sản phẩm thời trang may sẵn cao cấp nhãn hiệu SILKI bao gồm các loại trang phục gia đình, dạo phố
2.1.2 Quy trình chấm công, tính lương
2.1.2.1 Quy trình chấm công, tính lương
Bước 1: Bộ phận chấm công thực hiện việc chấm công hàng ngày cho nhân viên,
cuối tháng chuyển cho kế toán tiền lương
Bước 2: Kế toán tiền lương tập hợp bảng chấm công và các chứng từ liên quan
Bước 3: Căn cứ vào bảng chấm công, kế toán tiền lương lập bảng thanh toán
tiền lương, thưởng và các khoản phải nộp và chuyển cho kế toán trưởng
Bước 4: Kế toán trưởng kiểm tra bảng lương:
+ Nếu đồng ý: chuyển cho giám đốc xét duyệt và ký (bước 5)
+ Nếu không đồng ý: chuyển trả lại cho kế toán tiền lương
Bước 5: Giám đốc xem xét, duyệt và ký vào bảng lương sau đó chuyển lại cho
kế toán trưởng
Bước 6: Kế toán trưởng nhận bảng lương từ giám đốc, sau đó sao lưu lại một
bảng và chuyển lại cho kế toán tiền lương
Bước 7: Căn cứ vào bảng lương đã được ký duyệt, kế toán tiền lương trả lương
cho nhân viên
Bước 8: Nhân viên nhận lương và ký nhận
Trang 20Hình 2.3 – Quy trình chấm công, tính lương
2.1.2.2 Quy định chung chấm công, tính lương
a Quy định chung về chấm công
Mỗi đơn vị, phòng ban đều có một người quản lý để theo dõi việc chấm công cho nhân viên Theo đó:
Giờ công của nhân viên được xác định dựa theo bảng chấm công
Đối với trường hợp giờ công bị thiếu thì người lao động phải làm giấy đề nghị xác định công theo quy định quản lý giờ công
Đối với trường hợp phát hiện giờ công không đúng, không chính xác theo quy chế của công ty thì phòng nhân sự phải mời nhân viên liên quan lên để giải thích, nếu
vi phạm quy chế thì phải xử lý theo quy chế kỷ luật của công ty
Đối với trường hợp nhân viên làm giờ tăng ca thì phòng nhân sự phải kiểm tra các giấy đề nghị tăng ca của nhân viên đó xem có đúng với các chính sách, quy định của công ty hay không Trường hợp không đúng hoặc là người lao động làm tăng
ca vượt quá 1h/ngày làm việc mà không có giấy tăng ca thì phải mời nhân viên đó lên để giải trình
Sau khi hoàn thành bảng tổng hợp công, phòng nhân sự cần in tổng hợp chấm công và chuyển cho từng đơn vị, bộ phận để xác định tính chính xác của giờ công của từng nhân viên Nếu có sự khiếu nại của nhân viên thì phòng nhân sự phải tiến hành giải quyết
Trang 21Hình 2.4 – Bảng chấm công Trong đó:
Số ca làm việc tùy thuộc vào đặc thù công việc của từng bộ phận Giờ bắt đầu làm việc cũng được chia ra cụ thể như sau:
+ Những bộ phận thuộc khối công việc hành chính, văn phòng: có 2 ca làm việc:
Mỗi ca làm việc sẽ có một ký hiệu chấm công chi tiết
Trường hợp tăng ca, ghi nhận lại giờ bắt đầu và giờ kết thúc để tính số giờ tăng ca
Trang 22b Quy định chung về tính lương
Công thức tính
Lương căn bản = (điểm vị trí công việc * giá trị điểm)* 1.08(n-1)
Với n là bậc lương nhân viên hiện tại
Lương tháng = lương hưởng theo giờ * số giờ công làm việc trong tháng * hệ số chấm công
Lương theo giờ = lương căn bản / 26 /8
Lương công việc phụ (nếu có) = phần trăm hưởng lương công việc phụ * lương căn bản
Mức lương tăng ca = số giờ tăng ca * hệ số tăng ca
Mức lương tăng ca làm vào ngày thường nhân hệ số 1.5, vào ngày chủ nhật nhân
hệ số 2, vào ngày lễ nhân hệ số 3
Lương phụ cấp = hệ số phụ cấp * lương căn bản
Tiền thưởng: nếu hình thức khen thưởng là tính theo % lương thì:
Tiền thưởng = hệ số thưởng * lương căn bản
Tiền kỷ luật, bồi thường thiệt hại (nếu có): nếu hình thức kỷ luật là tính theo % lương thì:
Tiền kỷ luật (tiền phạt) = hệ số kỷ luật * lương căn bản
Lương thực lĩnh = lương tháng + phụ cấp công việc + phụ cấp khác (nếu có) + tổng lương công việc phụ (nếu có) + khen thưởng (nếu có) – kỷ luật (nếu có) – tạm ứng (nếu có) – BHYT – BHXH
Xác định các khoản giảm trừ
Các khoản giảm trừ bao gồm tạm ứng, kỷ luật, bảo hiểm, công đoàn…
Đối với các khoản ứng lương thì thực hiện theo quy chế của công ty, vào ngày 2 của tháng sau, phòng kế toán chuyển danh sách nhân viên ứng lương cho phòng nhân sự Mỗi nhân viên được tạm ứng một hoặc nhiều lần trong tháng, số tiền tạm ứng không vượt quá 50% lương căn bản Nhân viên tính lương nhập số liệu ứng lương vào Bảng lương
Đối với các khoản kỷ luật, bồi thường thiệu hại (nếu có) nhân viên phụ trách pháp chế của công ty chuyển quyết định xử lý bồi thường thiệt hại cho nhân viên tính lương nhập vào cột kỷ luật
Đối với các khoản đóng các quỹ bảo hiểm, công đoàn thì phải có quyết định tương ứng của giám đốc hoặc công đoàn công ty Thường thì bằng 2 – 3% lương căn bản
In và kiểm tra bảng lương
Kế toán lương in bảng lương và kiểm tra bảng lương dựa theo các nguyên tắc sau:
Trang 23+ Đối với các loại công tăng giảm theo số ngày làm việc trong tháng thì phải kiểm tra lại
+ Đối với mức thu nhập vượt quá mức trung bình trong bộ phận đó 100 % hay chỉ bằng 50 % thu nhập trung bình thì phải kiểm tra lại
Sau khi tiến hành kiểm tra, kế toán lương chuyển Bảng lương cho trưởng phòng nhân
Thanh toán lương
Hàng tháng, công ty sẽ thực hiện viêc thanh toán lương 2 lần vào ngày 1 và ngày 15 của tháng Việc thanh toán lương cho nhân viên được chi trả qua thẻ ATM tại ngân hàng Vietcombank Phòng tài chính kế toán chịu trách nhiệm làm thủ tục gửi tiền vào ngân hàng chậm nhất là vào ngày 28 và ngày 12 hàng tháng
Trường hợp vì lý do tài chính chưa thể thanh toán được thì phòng Tài chính kế toán phải thông tin ngay cho trưởng phòng nhân sự để thông báo cho nhân viên biết
Dựa trên 3 nền tảng là PHP 5, HTML 5 và MySQL 5.4
PHP : là một từ viết tắt cho "PHP: Hypertext Preprocessor PHP được sử dụng rộng rãi, và là phần mềm nguồn mở Các file script được thực hiện trên máy chủ PHP là miễn phí để tải về và sử dụng Phiên bản hiện tại sử dụng là PHP5
HTML (Hyper Text Markup Language) hay còn gọi là ngôn ngữ đánh dấu siêu văn bản HTML được thiết kế ra để tạo nên các trang web với các mẫu thông tin trình bày nội dung trang web HTML không phải là ngôn ngữ lập trình mà là ngôn ngữ trình bày Phiên bản hiện tại là HTML 5
MySQL: là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là
cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
Trang 24nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Phiên bản sử dụng hiện tại 5.4
2.2.2 Mô hình MVC (Model – View – Controller)
Mô hình MVC (Model – View – Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp các nhà phát triển tách ứng dụng ra thành ba thành phần khác nhau: Model, View và Controller Mỗi thành phần
có một nhiệm vụ riêng biệt và độc lập với các thành phần khác
Hình 2.5 – Mô hình MVC
2.2.2.1 Lịch sử ra đời MVC
Vào những năm 70 của thế kỷ XX, tại phòng thí nghiệm Xerox PARC ở Palo Alto
Sự ra đời của giao diện đồ họa (Graphical User Interface – GUI) và lập trình hướng đối tượng (Object Oriented Programming – OOP) cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn
đi xa hơn nữa khi họ cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller)
Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm
2.2.2.2 Các thành phần trong mô hình MVC
Trong kiến trúc này, hệ thống được chia thành 3 tầng tương ứng đúng với tên gọi của
nó (Model, View, Controller)
Trang 25Hình 2.6 – Thành phần của mô hình MVC
Model (Tầng dữ liệu): là một đối tượng hoặc một tập hợp các đối tượng biểu diễn
cho phần dữ liệu của chương trình Tất cả các nhiệm vụ logic được thực thi ở Model
Dữ liệu từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Model
View (Tầng giao diện): là phần giao diện với người dùng, bao gồm việc hiển thị dữ
liệu ra màn hình, cung cấp các menu, bấm nút, hộp thoại, lựa chọn,…để người dùng
có thể cập nhật thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu
Controller (Tầng điều khiển): là phần điều khiển của ứng dụng, điều hướng các
nhiệm vụ đến đúng phương thức có chức năng xử lý nhiệm vụ đó Nó chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với Model và cuối cùng
là chọn một View thích hợp để hiển thị ra màn hình
2.2.2.3 Quy trình xử lý
Trang 26Hình 2.7 – Sơ đồ hoạt động của mô hình MVC
Mô tả luồng sự kiện trong mô hình MVC:
Người dùng tương tác với View, bằng cách nhấp vào nút điều khiển để gửi yêu cầu đi
Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model
Model nhận thông tin và thực thi các yêu cầu
Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho người dùng
2.2.2.4 Ưu điểm, nhược điểm của mô hình MVC
Ưu điểm:
Phát triển phần mềm: có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế giao diện cho đến lập trình đến tổ chức cơ sở dữ liệu Nó giúp phát triển ứng dụng nhanh, đơn giản, dễ dàng nâng cấp…
Bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần của một
hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó chứ không phát tán náo loạn trong
Trang 27 Tốn thời gian trung chuyển dữ liệu giữa các tầng, ảnh hưởng tới tốc độ xử lý của
CakePHP là một nền tảng phát triển ứng dụng nhanh, cấu trúc của nó được tạo ra để lập trình viên tạo các ứng dụng web Nó tạo ra một nền tảng có cấu trúc, cho phép ta làm việc trên cấu trúc đó một cách nhanh chóng mà không mất đi sự uyển chuyển Ngoài ra, CakePHP loại bỏ sự nhàm chán trong phát triển ứng dụng web: cung cấp các công cụ để viết thứ ta cần, thay vì phải làm đi làm lại một thứ Khi bắt đầu tạo mới dự án (project), chỉ cần tạo một bản copy của CakePHP và tập trung vào việc chính của dự án
CakePHP có một đội ngũ phát triển và cộng đồng năng động, điều này mang lại giá trị to lớn cho các dự án Ngoài việc giúp bạn khỏi phải làm đi làm lại một việc nào
đó, sử dụng CakePHP đồng nghĩa với phần cốt lõi của ứng dụng của bạn đã được kiểm chứng và cải tiến không ngừng
2.2.3.2 Một số tính năng của CakePHP
Nguồn mở, miễn phí, có cộng đồng sử dụng và hỗ trợ rộng lớn (trên website chính, trên kênh chat IRC, và diễn đàn những người yêu thích CakePHP), những người mới bắt đầu có thể tìm thấy rất nhiều tài liệu, project để tham khảo
Tương thích PHP4 và PHP5 và trong tương lai là PHP6
CakePHP được xây dựng theo mô hình MVC (Model – View – Controller) Với
mô hình MVC, việc xử lý dữ liệu, giao tiếp CSDL, hiển thị dữ liệu được phân tách
rõ ràng, giúp cho công tác lập trình cũng như bảo trì dễ dàng hơn
Hỗ trợ tạo kết nối đến cơ sở dữ liệu một cách đơn giản và thuận lợi, chỉ với một chuỗi kết nối đặt trong file configs/database.php
Sinh code tự động dựa trên cơ sở dữ liệu đã có: với việc sử dụng Cake Console được CakePHP hỗ trợ sẵn, chỉ mất vài phút để tạo ra các view, model, controller tương ứng với table đã có
Kiểm tra và nhận biết tự động các ràng buộc, quan hệ trong cơ sở dữ liệu
Phân quyền cho người dùng, nhóm người dùng (ACL) một cách uyển chuyển
Cho phép tạo ra các URL rõ ràng, dễ hiểu
Cung cấp khả năng bắt lỗi
Trang 28 Cung cấp sẵn tiện ích xử lý dữ liệu (Data Sanitization)
Cung cấp khả năng lưu tạm (Caching)
Có khả năng triển khai trên hầu hết các máy chủ, hosting…hỗ trợ php và mysql hiện nay
Tích hợp sẵn nhiều thư viện hỗ trợ cho việc lập trình và thiết kế giao diện trở nên đơn giản như: Ajax, HTML Form, Javascript…
Có sẵn các công cụ xử lý Email, Security, Session, Cookies, Request Handling
Dễ dàng viết thêm thư viện hỗ trợ, liên kết với ứng dụng khác (thông qua vendors)
ví dụ như liên kết với Zend Framework
Hỗ trợ nhiều hệ Quản Trị CSDL (MySql, Oracle, PostgreSQL, DB2 )
Hỗ trợ xây dựng website đa ngôn ngữ
2.2.3.3 Lý do chọn CakePHP
Phù hợp với những người mới bắt đầu đến các lập trình viên chuyên nghiệp
Khả năng mở rộng cao, hỗ trợ cộng đồng rộng lớn
Sử dụng được cho các ứng dụng vừa và nhỏ
Tiết kiệm chi phí
Hoạt động dựa theo nguyên tắc sẵn có, tập trung rất nhiều vào việc phát triển nhanh các ứng dụng web, khá đơn giản, dễ sử dụng
Là một trong những Framework phổ biến nhất hiện nay
2.2.3.4 Mô hình MVC trong CakePHP
CakePHP được xây dựng theo mô hình MVC, tách ứng dụng thành ba thành phần chính là Model (M), View (V), Con trollor (C)
Model (Tầng dữ liệu): là một đối tượng hoặc một tập hợp các đối tượng biểu diễn
cho phần dữ liệu của chương trình Nó có trách nhiệm lấy dữ liệu và chuyển đổi nó thành khái niệm có ý nghĩa cho các ứng dụng của bạn Điều này bao gồm xử lý, xác thực, liên kết hoặc các tác vụ khác có liên quan để xử lý dữ liệu
View (Tầng hiển thị): là phần giao diện trình bày dữ liệu được mô hình hóa Khi
model trả về một tập hợp các dữ liệu, View sẽ sử dụng nó để hiển thị thành một trang HTML hoặc XML Ngoài ra nó còn cung cấp thêm một số định dạng khác như video, nhạc, tài liệu và bất kỳ định dạng khác
Controller (Tầng điều khiển): là phần điều khiển của ứng dụng, điều hướng các
nhiệm vụ đến đúng phương thức có chức năng xử lý nhiệm vụ đó Nó chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với Model và cuối cùng
là chọn một View thích hợp để hiển thị ra màn hình
Quy trình xử lý của mô hình MVC trong CakePHP
Trang 29Hình 2.8 - Quy trình xử lý của mô hình MVC trong CakePHP
Người dùng gửi yêu cầu một trang hoặc tài nguyên trong ứng dụng của bạn Yêu cầu này là lần đầu tiên được xử lý bởi một bộ định tuyến, nó sẽ gọi các đối tượng điều khiển chính xác để xử lý trong controller
Sau khi yêu cầu đến controller, nó sẽ gọi các hàm, các phương thức có trong model
để xử lý, sau khi model xử lý xong sẽ trả kết quả về cho controller Controller xử lý
và gửi kết quả tới view View sẽ hiển thị trả kết quả cho người dùng
2.2.3.5 Cấu trúc thư mục thư mục trong CakePHP
Có nhiều phiên bản CakePHP khác nhau, ở đây tôi sử dụng phiên bản CakePHP 2.5.4 Sau khi tải và giản nén Cakephp 2.5.4, bạn có thể thấy các thư mục sau:
Hình 2.9 – Cấu trúc thư mục trong CakePHP
Trang 30- app : là nơi chứa mã nguồn ứng dụng của bạn
- lib: là nơi chứa mã nguồn, thư viện của CakePHP
- vendors : chứa ứng dụng của bên thứ 3, hay còn gọi là thư mục mở rộng
- plugins : chứa các thành phần mở rộng dùng cho ứng dụng
Cấu trúc thư mục app:
Hình 2.10 – Cấu trúc thư mục App
Config: Chứa file cấu hình hệ thống
Controllers: Chứa các controller và component
Locale: Chứa file ngôn ngữ , phục vụ cho ứng dụng đa ngôn ngữ
Molels: Chứa file Model và behavor, datasource
Plugins: Chứa các gói mở rộng
tmp: Thư mục tạm của ứng dụng
Vendors: Chứa ứng dụng của bên thứ 3, hay còn gọi là thư mục mở rộng
Views: Chứa các file giao diện
webroot: Chứa tài liệu (hình ảnh,file ), file CSS , file javascript…
2.2.3.6 Phân quyền ACL trong CakePHP
ACL (Access Control List): Danh sách kiểm soát truy cập Trong ACL, xử lý 2 thành
phần chính là ARO và ACO
AROs (Access Request Objects): mọi thứ (thường hầu hết chỉ người dùng) mà muốn
sử dụng các công cụ được đại diện bởi các đối tượng yêu cầu truy cập
ACOs (Access Control Objects): những điều trong hệ thống mình muốn (thường
xuyên nhất là truy cập dữ liệu) được đại diện bởi các đối tượng điều khiển truy
Trang 31cập.Các thực thể này được gọi là 'đối tượng' bởi vì đôi khi các đối tượng yêu cầu không phải là một con người
DbAcl thực thi một hệ thống kiểm soát ACL trong cơ sở dữ liệu Trong đó, ARO và
ACO được cơ cấu theo dạng cây và một bảng liên kết được sử dụng để xác định quyền truy cập
Mục đích sử dụng ACL: hạn chế và kiểm soát khả năng truy cập các chức năng hệ
thống của người dùng hay nhóm người dùng
2.2.4 AJAX
AJAX là thuật ngữ viết tắt của Asynchronous Javascript and XML AJAX là tập hợp của nhiều công nghệ bao gồm:
Thể hiện web theo chuẩn HTML (hoặc XHTML) và CSS
Nâng cao tính năng động và phản hồi bằng DOM (Document Object Model)
Trao đổi và xử lý dữ liệu bằng XML
Truy cập dữ liệu theo kiểu bất đồng bộ XMLHttpRequest
Tất cả các công nghệ trên được liên kết lại với nhau bằng JavaScript
đó, việc sử dụng Jquery cũng giúp giải quyết tốt các vấn đề xung đột giữa các trình duyệt web
Ưu điểm:
Hỗ trợ tốt việc xử lý các vấn đề thường gặp (DOM, Ajax )
Tương thích nhiều trình duyệt web phổ biến
Nhỏ gọn, dễ sử dụng, có nhiều tài liệu hướng dẫn sử dụng
Ít xung đột với các thư viện Javascript khác
Plugin phong phú
Trang 322.2.6 JQUERY UI
JQueryUI là tập hợp các thư viện tạo giao diện trực quan, được phát triển dựa trên jQuery, cung cấp những ứng dụng, widgets, theme nâng cao hơn, ví dụ như về effects
jQuery UI cung cấp không những những tương tác ở mức độ thấp, mà luôn cả những mức độ cao hơn, có thể là những ứng dụng có giao diện Nếu bạn dùng jQueryUI, bạn sẽ biết rằng có 1 kho theme khổng lồ để lựa chọn, và khi đổi theme, ta chỉ thay tập tin CSS chứ không cần phải thêm bớt gì trong đoạn script mình viết cả
2.2.7 BOOTSTRAP
Bootstrap là một framework CSS được Twitter phát triển Nó là một tập hợp các bộ chọn, thuộc tính và giá trị có sẵn để giúp web designer tránh việc lặp đi lặp lại trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự án web của mình Ngoài CSS ra, thì bootstrap còn hỗ trợ các function tiện ích được viết dựa trên JQuery(Carousel, Tooltip, Popovers , )tương thích của trình duyệt với thiết bị
Ưu điểm:
Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng Bootstrap để tạo nên một trang web sang trọng và đầy đủ
Không cần code quá nhiều CSS
Vì là mã nguồn mở nên bạn có thể vào mã nguồn của nó để thay đổi theo ý thích
Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên giao diện trên Mobile trước Nên việc sử dụng Bootstrap cho website của bạn sẽ phù hợp với tất cả kích thước màn hình Nhờ đó mà chúng ta không cần xây dựng thêm một trang web riêng biệt cho mobile
Người thiết kế có thể lựa chọn những thuộc tính, component phù hợp với project của mình Chức năng này giúp ta không cần phải tải toàn bộ mã nguồn về máy
Trang 33 Quản lý thông tin nhân viên gồm: mã nhân viên, họ tên nhân viên, ngày sinh, giới tính, hình ảnh, quê quán, địa chỉ thường trú, số điện thoại liên lạc, dân tộc, tôn giáo,
số chứng minh nhân dân, là Đảng viên, Đoàn viên hay không, trình độ học vấn, chuyên môn, ngày vào làm tại công ty, địa chỉ email, số tài khoản ngân hàng, tình trạng hôn nhân để xác định các chính sách cho thân nhân và mật khẩu đăng nhập vào
hệ thống công ty
Nhân viên sẽ được phân loại theo tỉnh thành để dễ quản lý vào các dịp tổ chức sự kiện hay các dịp lễ, Tết
Nhân viên có nhiều loại: sinh viên thực tập, nhân viên thử việc, nhân viên chính thức
Mỗi nhân viên sẽ có một hình thức làm việc khác nhau, tùy vào chức danh và vị trí công việc sẽ có: làm việc theo giờ hành chính, làm việc theo ca và làm việc toàn thời gian
Mỗi nhân viên sẽ được gán cho một nhóm quyền sử dụng, theo đó nhân viên chỉ được thao tác trên các quyền mà nhóm quyên được cấp Nhóm quyền sử dụng gồm quyền nhân viên, quyền quản lý, quyền kế toán và quyền admin
Nhân viên khi được nhận vào làm sẽ được bổ nhiệm vào một vị trí công việc cụ thể trong công ty, tuy nhiên một nhân viên có thể kiêm nhiều vị trí công việc trong bộ phận, căn cứ vào vị trí công việc mà mỗi nhân viên sẽ có hệ số tính lương khác nhau Việc chấm công nhân viên chỉ dựa vào vị trí công việc chính mà nhân viên đó đảm nhận Các vị trí công việc phụ khác (nếu có) sẽ được tính dựa vào hệ số phần trăm theo vị trí công việc chính
Trong công ty chia làm nhiều vị trí công việc dựa vào nhóm chức danh và nhóm vị trí công việc Mỗi nhóm vị trí công việc sẽ có một giá trị điểm, mỗi vị trí công việc
sẽ có mức điểm tương ứng, những giá trị này dùng vào việc tính lương Mỗi vị trí công việc sẽ có thêm hệ số phụ cấp công việc, ghi nhận ngày bắt đầu và kết thúc của
vị trí công việc đó
Trang 34 Ngoài ra, nhân viên còn được hưởng thêm các khoảng phụ cấp khác Tiền phụ cấp
sẽ được cộng vào lương tháng tính đến thời điểm nhân viên còn được hưởng loại phụ cấp đó
Tại trụ sở chính, công ty chia thành nhiều đơn vị, mỗi đơn vị có nhiều bộ phận phụ trách công việc khác nhau
Bộ phận thì có nhiều ca làm việc, tùy thuộc vào tính chất công việc mà giờ bắt đầu
Trong tháng, nhân viên được quyền tạm ứng một hoặc nhiều lần, theo đó nhân viên phải nêu ra lý do, số tiền muốn ứng, ghi nhận lại ngày tạm ứng Số tiền tạm ứng sẽ được trừ vào tiền lương cuối tháng nhưng không được vượt quá 50% lương
Hồ sơ lương của nhân viên gồm các thông tin: ngạch lương và bậc lương hiện tại, ngày bắt đầu và kết thúc hồ sơ lương
Hằng tháng, công ty đều cập nhật lịch làm việc và bảng tin để thông báo cho nhân viên Dựa vào lịch làm việc, các đơn vị, bộ phận sẽ có kế hoạch điều chỉnh phù hợp khi có sự cố hoặc sự kiện quan trọng
3.1.2 Mô tả quy trình hệ thống xây dựng
Như đã phân tích lúc đầu, hệ thống sẽ được chia thành 4 phân hệ người dùng là: Admin, Quản lý, Kế toán tiền lương và Nhân viên Mỗi nhóm người dùng sẽ được sử dụng các chức năng khác nhau tùy vào chức vụ và quyền sử dụng của mỗi người
Nhóm người dùng Admin: đây là nhóm quyền cao nhất trong hệ thống Sau
khi người dùng đăng nhập thành công, hệ thống sẽ tự động chuyển sang trang chủ người quản trị Tại đây họ có các quyền thao tác tương ứng: cập nhật các bảng danh mục, phân quyền lại cho người dùng hoặc nhóm người dùng, cập nhật tin tức lên bảng tin và lập các thống kê, báo cáo
Trang 35Hình 3.1 – Quy trình nhóm nguời dùng quản trị hệ thống
Nhóm người dùng quản lý: phân chia theo đơn vị và bộ phận Sau khi đăng
nhập, nhóm người dùng quản lý có các quyền cập nhật thông tin nhân viên trực thuộc đơn vị hoặc bộ phận mình quản lý, chấm công và cập nhật Bảng chấm công cho nhân viên, lập danh sách khen thưởng, kỷ luật và xét duyệt tạm ứng cho nhân viên Quản lý ở đơn vị, bộ phận nào thì có quyền cập nhật cho nhân viên ở đơn vị, bộ phận đó
Trang 36Hình 3.2 – Quy trình nhóm người dùng quản lý thao tác trên hệ thống
Nhóm người dùng kế toán tiền lương: đây là nhóm người dùng quan trọng của
công ty, đảm nhận phụ trách lương và tính lương cho nhân viên Nhóm này có chức năng cập nhật các danh mục liên quan về hệ số lương, xem các thông tin liên quan cho việc tính lương, lập các báo cáo thống kê cần thiết, nhập và xuất
dữ liệu, sao lưu Bảng lương cho từng bộ phận
Trang 37Hình 3.3 – Quy trình nhóm người dùng kế toán tiền lương sử dụng hệ thống
Nhóm người dùng nhân viên: đây là nhóm người dùng có ít chức năng nhất
Nhân viên đăng nhập vào hệ thống chỉ được quyền xem thông tin cá nhân của mình, xem Bảng lương và các thông tin về hệ số ngạch bậc, nếu có sai sót thì báo cho quản lý của bộ phận mình để chỉnh sửa Ngoài ra nhân viên còn được quyền yêu cầu tạm ứng và chờ xác nhận tạm ứng của quản lý cấp trên
Hình 3.3 – Quy trình nhóm người dùng nhân viên sử dụng hệ thống
Trang 383.1.3 Sơ đồ Use Case
Hình 3.5 - Sơ đồ Use – case ở mức tổng quát
Trang 39Hình 3.6 - Sơ đồ Use – case của nhóm người dùng Admin
Trang 40Hình 3.7 – Phân rã chức năng cập nhật danh mục
Hình 3.8 – Phân rã chức năng cập nhật bộ phận