Quản lý học phí theo đợt (thực tế đóng nhiều lần): bảng giá, công nợ, phiếu thu, miễn giảm. v1.5 mở rộng kế toán + HĐĐT ở module finance — tuition giữ phần gắn hồ sơ học viên.
| Feature | BO chính | Action |
|---|---|---|
| pricelist | Bảng học phí theo hạng/khóa | viewcreateeditapprove |
| installment | Công nợ theo đợt | viewcreateeditexport |
| receipt | Phiếu thu | viewcreatecollectrefundreprint |
| discount | Miễn giảm | viewcreateapprove |
| BO | Trường chính |
|---|---|
| Bảng học phí | Hạng/khóa áp dụng · mức phí chuẩn · cơ cấu đợt mặc định (vd 50–30–20%, mốc theo trạng thái hồ sơ) · hiệu lực từ (version giá) |
| Công nợ đợt tuition_hoc_phi_dot | Học viên (ma_dk, ma_kh, ma_csdt) — không FK cứng · đợt (UNIQUE học viên+đợt) · phải đóng/đã đóng · hạn/ngày đóng · trạng thái (chưa/một phần/đã đóng) · số hóa đơn (→ finance v1.5) |
| Phiếu thu | Số phiếu (quy tắc mã catalog) · học viên · đợt · số tiền · hình thức (TM/CK) · người thu · ngày · trạng thái (thu/hoàn) |
| Miễn giảm | Học viên · lý do · số tiền/% · người duyệt — điều chỉnh vào công nợ đợt |
Khối permissions[] dán vào manifest.json; bảng dưới là gán quyền theo vai trò (seed rt_role). Permission key đầy đủ: tuition.main.<feature>.<action>.
⚠️ Action đặc thù (collect, refund, reprint) cần bổ sung vào validator manifest — xem plan data-scope P1.
| Feature | QTHT | GIAM_DOC | KE_TOAN | QL_DAO_TAO | TUYEN_SINH | HOC_VIEN |
|---|---|---|---|---|---|---|
| pricelist | R | RA | W | R | R | — |
| installment | R | R | W | R | R | R² |
| receipt | R | R | W | — | — | — |
| discount | R | RA | W | — | — | — |
R xem · W tạo/sửa · A duyệt · — không có quyền · ¹ dữ liệu phân công · ² của chính mình · ³ theo trạng thái hồ sơ. Vai trò không liệt kê = không có quyền.
Đặc thù: receipt +collect,refund,reprint (KE_TOAN — in lại phiếu có log)
(a) Manifest bổ sung fields + scopeVars cho feature bị scope (mở rộng schema — plan data-scope P1; manifest chỉ khai "cái gì scope được", không chứa rule):
(b) Điều kiện record theo vai trò:
| Vai trò | Feature (action) | Điều kiện record |
|---|---|---|
| HOC_VIEN | installment (view) | ma_dk ∈ ctx.current_ma_dk_list |
(c) Seed rt_role.grants (kind rule — nhiều rule cùng resource+action = OR):
Biến ngữ cảnh: current_user_id — engine có sẵn · current_giao_vien_id/current_ma_gv — module teacher tra từ user đăng nhập (ctxVars, plan P3) · current_nguoi_lxid/current_ma_dk_list — module student tra (1 người nhiều lượt đăng ký) · current_assigned_* — danh sách phụ trách/được phân công.
Scope ³ của KE_TOAN (từ trạng thái hợp lệ) enforce ở student.hoso — tuition đọc công nợ theo hồ sơ đã lọc.