### 1. Dashboard (Bảng điều khiển)
- Tổng quan nhân viên, phòng ban, nghỉ phép chờ duyệt
- Thống kê chấm công hôm nay (đi muộn, chưa chấm công)
- Biểu đồ nhân viên theo phòng ban, chấm công trong tháng
### 2. Quản lý nhân viên
- CRUD nhân viên (thông tin cá nhân, phòng ban, chức vụ)
- Upload tài liệu (CV, hợp đồng) - giới hạn 5MB, hỗ trợ pdf/docx/jpg/png
- Tìm kiếm, lọc theo phòng ban / trạng thái
- Phân trang server-side
### 3. Phòng ban & Chức vụ
- CRUD phòng ban, chức vụ
- Gán manager cho phòng ban
- DataTables với tìm kiếm, sắp xếp
### 4. Chấm công
- Check-in / Check-out hàng ngày
- Lịch sử chấm công với bộ lọc ngày, nhân viên
- Báo cáo chấm công theo tháng
### 5. Nghỉ phép
- Tạo đơn xin nghỉ (Paid / Unpaid / Sick)
- Duyệt / Từ chối bởi Manager hoặc HR
- Số dư nghỉ phép: mặc định 12 ngày/năm, tự trừ khi được duyệt
### 6. Bảng lương
- Tạo bảng lương tự động theo tháng (dựa trên ngày công thực tế)
- **Chỉnh sửa lương:** HR/Admin có thể sửa Lương CB, Phụ cấp, Khấu trừ cho từng nhân viên
- Lương mặc định tự gán theo chức vụ khi tạo mới (hoặc kế thừa từ tháng trước)
- Công thức: `TổngLương = (LươngCB / 22) × NgàyLàm + PhụCấp - KhấuTrừ + Thưởng - Phạt`
- Xuất Excel
### 7. Lịch làm việc
- Quản lý ca làm (Ca sáng, Ca chiều, Ca full)
- Gán ca theo nhân viên, thứ trong tuần
- Xem lịch dạng calendar
### 8. Khen thưởng / Kỷ luật
- Thêm/sửa/xóa bản ghi khen thưởng hoặc kỷ luật
- Số tiền thưởng/phạt tự động tính vào bảng lương
### 9. Báo cáo
- Thống kê chấm công theo tháng (biểu đồ + bảng)
- Lương theo phòng ban (biểu đồ + bảng)
- Lọc theo tháng/năm
### 10. Quản lý người dùng (Admin)
- CRUD tài khoản
- Phân quyền (Admin / HR / Manager / Employee)
- Reset mật khẩu
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
## Yêu cầu hệ thống
- .NET 8 SDK
- SQL Server (SSMS)
- Visual Studio 2022 hoặc VS Code
## Cấu hình Database
### Bước 1: Tạo Database
Mở SQL Server Management Studio (SSMS), kết nối với server:
- **Server:** Server Name
- **Username:** sa
- **Password:** 123456
- **Port:** 1433
### Bước 2: Chạy SQL Scripts
Chạy theo thứ tự:
1. Mở file `Database/01_CreateTables.sql` → Execute (tạo database + toàn bộ bảng)
2. Mở file `Database/02_SeedData.sql` → Execute (dữ liệu mẫu: 30 NV, chấm công T1-T3/2026, bảng lương, khen thưởng...)
... chi tiết ở file README.md