# Use case chi tiết

## UC01 - Tạo phiếu thủ công
**Actor**: Quản lý / HR

### Luồng chính
1. người dùng mở màn hình tạo phiếu
2. nhập thông tin phiếu
3. lưu nháp hoặc gửi duyệt
4. hệ thống lưu phiếu
5. nếu gửi duyệt thì chuyển trạng thái chờ duyệt

## UC02 - Cấu hình bài toán nộp tiền trễ
**Actor**: Admin / HR / người có quyền

### Luồng chính
1. mở màn hình cấu hình
2. chọn bật hoặc tắt tự động lập biên bản
3. nhập cutoff time
4. chọn reset policy
5. khai báo các mức xử lý theo số lần
6. lưu cấu hình
7. hệ thống ghi audit log

## UC03 - Tạm dừng tự động lập biên bản
**Actor**: Admin / HR / người có quyền

### Luồng chính
1. mở cấu hình hiện hành
2. chọn trạng thái tạm dừng
3. nhập lý do
4. lưu cấu hình
5. từ thời điểm đó job không sinh biên bản mới

## UC04 - Job phát hiện vi phạm nộp tiền trễ
**Actor**: System Scheduler

### Luồng chính
1. job chạy theo lịch
2. lấy danh sách nghĩa vụ nộp tiền đã quá hạn
3. kiểm tra cấu hình có đang bật không
4. kiểm tra có đang bị pause không
5. tính số tiền đã nộp trước hạn
6. nếu chưa nộp đủ thì tạo bản ghi vi phạm
7. tính số lần vi phạm
8. xác định mức xử lý
9. tạo phiếu tự động
10. ghi log kết quả

## UC05 - Tra cứu số lần vi phạm của lái xe
**Actor**: Quản lý / HR / kế toán

### Luồng chính
1. tìm kiếm theo lái xe
2. hệ thống hiển thị:
   - số lần vi phạm trong kỳ
   - lịch sử các lần vi phạm
   - mức xử lý từng lần

## UC06 - Đổi cutoff time
**Actor**: Admin / người có quyền

### Luồng chính
1. mở cấu hình
2. đổi từ 10:00 sang 17:00
3. nhập lý do thay đổi
4. lưu
5. hệ thống áp dụng cấu hình mới từ thời điểm hiệu lực