# Cấu hình và chính sách xử lý

## 1. Cấu hình tự động lập biên bản

Nên có màn hình cấu hình riêng cho bài toán nộp tiền trễ.

Các thông số chính:

- bật / tắt tự động lập biên bản
- trạng thái tạm dừng
- lý do tạm dừng
- thời gian hiệu lực của cấu hình
- giờ cutoff nộp tiền ngày hôm sau
- chế độ đếm số lần vi phạm
- bảng mức xử lý theo số lần vi phạm
- có sinh phiếu ngay hay chỉ ghi nhận vi phạm
- có cần duyệt phiếu tự động hay không

## 2. Tạm dừng tự động lập biên bản

### Mục đích
Trong một số trường hợp khách quan, công ty cần tạm dừng xử lý tự động, ví dụ:
- sự cố hệ thống
- chưa đồng bộ dữ liệu nộp tiền
- thiên tai / gián đoạn vận hành
- thay đổi chính sách nội bộ ngắn hạn

### Cách hoạt động
Khi cấu hình ở trạng thái **Paused**:
- job vẫn có thể chạy
- nhưng không lập biên bản mới
- hệ thống ghi log rằng các trường hợp này đã được bỏ qua do đang tạm dừng

Khuyến nghị có thêm:
- PausedFrom
- PausedTo
- PauseReason
- PausedBy

## 3. Cấu hình giờ cutoff
Giờ cutoff là giờ cuối cùng của ngày hôm sau mà lái xe phải nộp đủ tiền.

Ví dụ:
- cutoff = 10:00
- cutoff = 17:00

Cần lưu:
- giờ cutoff
- ngày hiệu lực
- người thay đổi
- lý do thay đổi

## 4. Cấu hình reset số lần vi phạm

### 4.1. Reset hàng tháng
Số lần vi phạm được tính lại từ đầu mỗi tháng.

Ví dụ:
- tháng 3 vi phạm 2 lần
- sang tháng 4 bắt đầu lại từ lần 1

### 4.2. Reset hàng quý
Số lần vi phạm được tính lại từ đầu mỗi quý.

Ví dụ:
- quý 1 vi phạm 3 lần
- sang quý 2 bắt đầu lại từ lần 1

### 4.3. Cộng dồn trọn đời
Số lần vi phạm tăng liên tục, không reset theo chu kỳ.

Ví dụ:
- lần 7 vẫn được tính là lần 7 kể từ khi bắt đầu theo dõi

## 5. Cấu hình mức xử lý theo số lần
Nên thiết kế thành bảng cấu hình thay vì hard-code.

Ví dụ cấu hình:

| Từ lần | Đến lần | Hình thức xử lý | Số tiền |
|---|---:|---|---:|
| 1 | 1 | Nhắc nhở | 0 |
| 2 | 2 | Phạt tiền | 100000 |
| 3 | 3 | Phạt tiền | 200000 |
| 4 | null | Phạt tiền | 300000 |

## 6. Nguyên tắc áp dụng cấu hình
Để tránh mơ hồ, cần thống nhất:

- mỗi vi phạm dùng **cấu hình đang có hiệu lực tại thời điểm xác định vi phạm**
- nếu thay đổi cutoff từ 10:00 sang 17:00 thì chỉ áp dụng cho các ngày nghiệp vụ chưa bị chốt theo chính sách công ty
- lịch sử cấu hình phải được lưu để truy vết

## 7. Quyền cấu hình
Chỉ các vai trò đặc biệt mới được thay đổi:
- Admin
- HR
- Kế toán trưởng / quản lý vận hành (tùy tổ chức)

Mọi thay đổi cấu hình phải có audit log.