Công việc củamáy tính không chỉ dừng lại ở việc thay thế máy đánh chữ mà còn được sử dụng để nhập vàxử lý dữ liệu, từ đó tạo ra các báo cáo và thống kê một cách hiệu quả.Trước hết, chúng
GIỚI THIỆU
Lý do chọn đề tài
Xuất phát từ tình hình thực tế, quản lý tiền lương là một vấn đề quan trọng trong mọi tổ chức, đặc biệt là trong bối cảnh kinh tế thị trường hiện nay Việc quản lý tiền lương hiệu quả không chỉ giúp doanh nghiệp duy trì được sự ổn định về tài chính mà còn góp phần nâng cao động lực làm việc của nhân viên, từ đó tăng năng suất lao động và hiệu quả kinh doanh.
Vì vậy việc chọn đề tài "quản lý tiền lương" là xuất phát từ nhu cầu cấp thiết của thực tiễn, nhằm giải quyết những vấn đề tồn đọng trong công tác quản lý tài chính doanh nghiệp Việc nghiên cứu và áp dụng các giải pháp quản lý tiền lương hiệu quả không chỉ mang lại lợi ích trực tiếp cho doanh nghiệp mà còn có giá trị ứng dụng rộng rãi trong nhiều lĩnh vực khác, đóng góp vào sự phát triển bền vững của xã hội.
Mục tiêu đề tài
Đề tài sẽ phát triển một hệ thống quản lý tiền lương, tích hợp nhiều chức năng như tính toán lương, theo dõi thời gian làm việc, quản lý các khoản phụ cấp, khấu trừ, và tự động hóa quá trình thanh toán.
Hướng tới người dùng là các doanh nghiệp vừa và nhỏ, tập đoàn lớn cần một hệ thống quản lý tiền lương hiệu quả để giảm thiểu sai sót và tiết kiệm thời gian.
Phương pháp nghiên cứu
Mục đích: Xây dựng nền tảng kiến thức vững chắc về các khái niệm, lý thuyết và phương pháp liên quan đến quản lý tiền lương.
Tổng quan tài liệu: Thu thập, đọc và phân tích các tài liệu học thuật, sách, báo cáo nghiên cứu, và các bài viết liên quan đến quản lý tiền lương, các hệ thống quản lý tiền lương hiện tại, và các công nghệ áp dụng trong lĩnh vực này.
Xây dựng mô hình lý thuyết: Dựa trên các lý thuyết đã nghiên cứu, xây dựng mô hình lý thuyết cho hệ thống quản lý tiền lương Mô hình này sẽ làm nền tảng cho việc phát triển hệ thống thực tế.
CƠ SỞ LÝ THUYẾT
MS SQL server
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft Là một máy chủ cơ sở dữ liệu, nó là một sản phẩm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác Có thể chạy trên cùng một máy tính hoặc trên một máy tính khác trên mạng (bao gồm cả Internet).
Microsoft tiếp thị ít nhất một chục phiên bản Microsoft SQL Server khác nhau,nhắm vào các đối tượng khác nhau và cho khối lượng công việc khác nhau, từ các ứng dụng máy đơn nhỏ đến các ứng dụng Internet lớn có nhiều người dùng đồng thời.
Visual Studio và NET
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft. Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý.
Hình 2.2 Biểu tượng Visual Studio 2022
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng
2 giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm.
Visual Studio không hỗ trợ cho bất kỳ ngôn ngữ lập trình nào về giải pháp hoặc công cụ thực chất, thay vào đó nó cho phép cắm chức năng được mã hóa như là một VSPackage Khi cài đặt, các chức năng có sẵn như là một dịch vụ IDE cung cấp ba dịch vụ: SVsSolution cung cấp khả năng liệt kê các dự án và các giải pháp; SVsUIShell cung cấp cửa sổ và giao diện người dùng và SVsShell Ngoài ra, IDE cũng có trách nhiệm điều phối và cho phép truyền thông giữa các dịch vụ Tất cả các biên tập viên, nhà thiết kế, các loại dự án và các công cụ khác được thực hiện theo VSPackages Visual Studio sử dụng COM để truy cập VSPackages Visual Studio SDK cũng bao gồm Managed Package Framework (MPF) là một tập hợp quản lý bao bọc quanh các COM-interfaces cho phép các gói được viết bằng bất kỳ ngôn ngữ nào Tuy nhiên, MPF không cung cấp tất cả các chức năng bộc lộ trong Visual Studio COM-interfaces Các dịch vụ có thể được tiêu thụ để tạo ra các gói khác, để thêm chức năng cho Visual Studio IDE.
.NET (trước đây là NET Core) là nền tảng mã nguồn mở miễn phí trên các hệ điều hành Windows, Linux, và macOS Đây là phiên bản đa nền tảng thừa kế từ NET Framework Dự án này chủ yếu được phát triển bởi các nhân viên Microsoft thuộc tổ chức NET Foundation và được phát hành theo Giấy phép MIT
ADO NET và EF, EF core
ADO là viết tắt của Microsoft ActiveX Data Objects ADO.NET cung cấp quyền truy cập nhất quán vào các nguồn dữ liệu như SQL Server và XML cũng như các nguồn dữ liệu được hiển thị thông qua OLE DB và ODBC Các ứng dụng tiêu dùng chia sẻ dữ liệu có thể sử dụng ADO.NET để kết nối với các nguồn dữ liệu này và truy xuất, xử lý cũng như cập nhật dữ liệu chứa trong đó ADO.NET tách quyền truy cập dữ liệu khỏi thao tác dữ liệu thành các thành phần riêng biệt có thể được sử dụng riêng biệt hoặc song song. ADO.NET bao gồm các nhà cung cấp dữ liệu NET Framework để kết nối với cơ sở dữ liệu, thực thi lệnh và truy xuất kết quả Các kết quả đó được xử lý trực tiếp, được đặt trong đối tượng ADO.NET DataSet để hiển thị cho người dùng theo cách đặc biệt, kết hợp với dữ liệu từ nhiều nguồn hoặc được truyền giữa các tầng Đối tượng DataSet cũng có thể được sử dụng độc lập với nhà cung cấp dữ liệu NET Framework để quản lý dữ liệu cục bộ cho ứng dụng hoặc có nguồn gốc từ XML Các lớp ADO.NET có trong System.Data.dll và được tích hợp với các lớp XML có trong System.Xml.dll Để biết mã mẫu kết nối với cơ sở dữ liệu, truy xuất dữ liệu từ cơ sở dữ liệu đó rồi hiển thị dữ liệu đó trong cửa sổ bảng điều khiển, hãy xem Ví dụ về mã ADO.NET ADO.NET cung cấp chức năng cho các nhà phát triển viết mã được quản lý tương tự như chức năng được cung cấp cho các nhà phát triển mô hình đối tượng thành phần gốc (COM) bởi Đối tượng dữ liệu ActiveX (ADO). Chúng tôi khuyên bạn nên sử dụng ADO.NET chứ không phải ADO để truy cập dữ liệu trong các ứng dụng NET của mình ADO.NET cung cấp phương pháp truy cập dữ liệu trực tiếp nhất trong NET Framework Để biết mức độ trừu tượng cao hơn cho phép các ứng dụng hoạt động dựa trên mô hình khái niệm thay vì mô hình lưu trữ cơ bản, hãy xem ADO.NET Entity Framework Tuyên bố về quyền riêng tư: System.Data.dll, System.Data.Design.dll, System.Data.OracleClient.dll, System.Data.SqlXml.dll, System.Data.Linq.dll, System.Data.SqlServerCe.dll, và các tập hợp System.Data.DataSetExtensions.dll không phân biệt giữa dữ liệu riêng tư của người dùng và dữ liệu không riêng tư Các tập hợp này không thu thập, lưu trữ hoặc vận chuyển bất kỳ dữ liệu riêng tư nào của người dùng Tuy nhiên, các ứng dụng của bên thứ ba có thể thu thập, lưu trữ hoặc truyền dữ liệu riêng tư của người dùng bằng cách sử dụng các tập hợp này [1]
ADO.NET có thể được sử dụng để phát triển bất kỳ loại ứng dụng NET nào Sau đây là một số ứng dụng NET mà bạn có thể sử dụng công nghệ truy cập dữ liệu
ADO.NET để tương tác với nguồn dữ liệu như: ASP.NET Web Form Applications, Windows Applications, ASP.NET MVC Applications, Console Applications, ASP.NET Web API Applications
Entity Framework (EF) Core là phiên bản nhẹ, có thể mở rộng, mã nguồn mở và đa nền tảng của công nghệ truy cập dữ liệu Entity Framework phổ biến EF Core có thể hoạt động như một trình ánh xạ quan hệ đối tượng (O/RM), giúp: Cho phép các nhà phát triển NET làm việc với cơ sở dữ liệu bằng cách sử dụng các đối tượng NET Loại bỏ sự cần thiết của hầu hết mã truy cập dữ liệu thường cần được viết EF Core hỗ trợ nhiều công cụ cơ sở dữ liệu, xem Nhà cung cấp cơ sở dữ liệu để biết chi tiết [2]
LINQ và LINQ to Entities
Truy vấn tích hợp ngôn ngữ (LINQ) là tên của một tập hợp các công nghệ dựa trên việc tích hợp các khả năng truy vấn trực tiếp vào ngôn ngữ C# Theo truyền thống, các truy vấn đối với dữ liệu được thể hiện dưới dạng các chuỗi đơn giản mà không cần kiểm tra kiểu tại thời điểm biên dịch hoặc hỗ trợ IntelliSense Hơn nữa, bạn phải học một ngôn ngữ truy vấn khác nhau cho từng loại nguồn dữ liệu: cơ sở dữ liệu SQL, tài liệu XML, các dịch vụ Web khác nhau, v.v Với LINQ, truy vấn là cấu trúc ngôn ngữ hạng nhất, giống như các lớp, phương thức và sự kiện Khi bạn viết truy vấn, phần "tích hợp ngôn ngữ" dễ thấy nhất của LINQ là biểu thức truy vấn Biểu thức truy vấn được viết bằng cú pháp truy vấn khai báo Bằng cách sử dụng cú pháp truy vấn, bạn thực hiện các thao tác lọc, sắp xếp và nhóm trên các nguồn dữ liệu với lượng mã tối thiểu Bạn sử dụng cùng các mẫu biểu thức truy vấn để truy vấn và chuyển đổi dữ liệu từ bất kỳ loại nguồn dữ liệu nào [3]
LINQ to Entities cung cấp hỗ trợ Truy vấn tích hợp ngôn ngữ (LINQ) cho phép các nhà phát triển viết truy vấn dựa trên mô hình khái niệm Entity Framework bằng VisualBasic hoặc Visual C# Các truy vấn đối với Entity Framework được thể hiện bằng các truy vấn cây lệnh, thực thi theo ngữ cảnh đối tượng LINQ to Entities chuyển đổi các truy vấnNgôn ngữ tích hợp (LINQ) thành các truy vấn cây lệnh, thực thi các truy vấn đối vớiEntity Framework và trả về các đối tượng có thể được sử dụng bởi cả Entity Framework vàLINQ Sau đây là quy trình tạo và thực hiện truy vấn LINQ to Entities: Xây dựng một thể hiện ObjectQuery từ ObjectContext Soạn một truy vấn LINQ to Entities trong C# hoặc Visual Basic bằng cách sử dụng phiên bản ObjectQuery Chuyển đổi các toán tử và biểu thức truy vấn tiêu chuẩn LINQ thành cây lệnh Thực hiện truy vấn, trong biểu diễn cây lệnh, đối với nguồn dữ liệu
THIẾT KẾ DỮ LIỆU VÀ XÂY DỰNG SẢN PHẨM
Thiết kế dữ liệu
3.1.1 Sơ đồ liên kết của các bảng
Hình 3.1.1 Sơ đồ liên kết dữ liệu
3.1.2 Thiết kế của các bảng
Thuộc tính Kiểu dữ liệu Ý nghĩa
Thuộc tính Kiểu dữ liệu Ý nghĩa
Thuộc tính Kiểu dữ liệu Ý nghĩa
1 MACV bigint Mã đặt lịch
2 NAME varchar(MAX) Mã trạng thái
Thuộc tính Kiểu dữ liệu Ý nghĩa
Thuộc tính Kiểu dữ liệu Ý nghĩa
Thuộc tính Kiểu dữ liệu Ý nghĩa
Xây dựng sản phẩm
Hình 3.2.1 Form quản lí tiền lương
Người quản lý nhập tên đăng nhập và mật khẩu vào các ô tương ứng. Ấn nút "Đăng nhập" để xác thực thông tin
Nếu thông tin đăng nhập hợp lệ, ứng dụng sẽ chuyển sang form chính Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Người quản lý nhập các thông tin cần thiết như tên, mật khẩu, v.v. Ấn nút "Đăng ký" để lưu thông tin.
Nếu thông tin đăng ký hợp lệ, ứng dụng sẽ tạo tài khoản mới. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Người quản lý nhập tài khoản, mật khẩu mới và xác nhận mật khẩu mới. Ấn nút "Đổi mật khẩu" để cập nhật mật khẩu mới.
Nếu thông tin đổi mật khẩu hợp lệ, ứng dụng sẽ cập nhật mật khẩu mới. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.2.3 Form đổi mật khẩu
Hiển thị danh sách nhân viên hiện có.
Cho phép tìm kiếm nhân viên.
Có các nút "Thêm", "Sửa", "Xóa" để thực hiện các tác vụ tương ứng.
Hình 3.2.3.1 Form quản lý nhân viên
Người quản lý nhập các thông tin cần thiết về nhân viên. Ấn nút "Lưu" để lưu thông tin nhân viên mới.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu.Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.3.2 Form thêm nhân viên
Người quản lý nhập các thông tin cần thiết về nhân viên. Ấn nút "Lưu" để cập nhật thông tin nhân viên.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.3.3 Form sửa nhân viên
Hiển thị danh sách chức vụ hiện có.
Cho phép tìm kiếm chức vụ.
Có các nút "Thêm", "Sửa", "Xóa" để thực hiện các tác vụ tương ứng.
Hình 3.2.4.1 Form quản lý chức vụ
Người quản lý nhập các thông tin cần thiết về chức vụ. Ấn nút "Lưu" để lưu thông tin chức vụ mới.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.4.2 Form thêm chức vụ
Người quản lý nhập các thông tin cần thiết về chức vụ. Ấn nút "Lưu" để cập nhật thông tin chức vụ.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.4.3 Form sửa chức vụ
Hiển thị danh sách phòng ban hiện có.
Cho phép tìm kiếm phòng ban.
Có các nút "Thêm", "Sửa", "Xóa" để thực hiện các tác vụ tương ứng.
Hình 3.2.5.1 Form quản lý phòng ban
Người quản lý nhập các thông tin cần thiết về phòng ban. Ấn nút "Lưu" để cập nhật thông tin phòng ban.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.5.2 Form sửa phòng ban
Người quản lý nhập các thông tin cần thiết về phòng ban. Ấn nút "Lưu" để lưu thông tin phòng ban mới.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.5.3 Form thêm phòng ban
Hiển thị danh sách chấm công hiện có.
Cho phép tìm kiếm chấm công.
Có các nút "Thêm", "Sửa", "Xóa" để thực hiện các tác vụ tương ứng
Hình 3.2.6.1 Form quản lí chấm công
Người quản lý nhập các thông tin cần thiết về chấm công. Ấn nút "Lưu" để lưu thông tin chấm công mới.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.6.2 Form thêm mới chấm công
3) Sửa chấm công nhân viên
Người quản lý nhập các thông tin cần thiết về chấm công. Ấn nút "Lưu" để cập nhật thông tin chấm công.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.6.3 Form sửa chấm công nhân viên
Hiển thị danh sách khen thưởng hiện có.
Có các nút "Thêm", "Sửa", "Xóa" để thực hiện các tác vụ tương ứng.
Hình 3.2.7.1 Form quản lý khen thưởng
2) Thêm mới nhân viên khen thưởng
Người quản lý nhập các thông tin cần thiết về khen thưởng kỷ luật. Ấn nút "Lưu" để lưu thông tin khen thưởng kỷ luật mới.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.7.2 Form thêm mới khen thưởng nhân viên
3) Sửa khen thưởng nhân viên
Người quản lý nhập các thông tin cần thiết về khen thưởng. Ấn nút "Lưu" để cập nhật thông tin khen thưởng.
Nếu thông tin hợp lệ, ứng dụng sẽ lưu thông tin vào cơ sở dữ liệu. Nếu thông tin không hợp lệ, ứng dụng sẽ hiển thị thông báo lỗi.
Hình 3.2.7.3 Form sửa khen thưởng nhân viên
Hiển thị danh sách lương hiện có.
Hình 3.2.7.4 Xem lương nhân viên