Giao diện
Vai trò và phân quyền
Vai trò
| Mã | Vai trò | Không gian làm việc |
|---|---|---|
administrator | Quản trị viên | Portal đầy đủ |
manager | Quản lý | Portal, trừ Quản trị hệ thống |
purchasing_manager | Quản lý thu mua | Portal: kế hoạch, giá, phiếu, sơ chế, đối tác |
warehouse_staff | Nhân viên kho | Portal: phiếu, sơ chế, dữ liệu cân |
allocation_qc_staff | Nhân viên phân bổ & QC | Ứng dụng Phân bổ sơ chế (giao diện điện thoại) |
purchaser | Nhân viên thu mua | Ứng dụng Thu mua (giao diện điện thoại) |
scale_operator | Nhân viên trạm cân | Chỉ ứng dụng Trạm cân |
Yêu cầu
| Mã | Yêu cầu |
|---|---|
| FR-AUT-1 | Người dùng phải đăng nhập qua Keycloak (OIDC). Portal và ứng dụng Trạm cân không được tự kiểm tra mật khẩu. |
| FR-AUT-2 | Mỗi quyền là resource:action, có thể kèm phạm vi :all hoặc :assigned. Vai trò là tập quyền. |
| FR-AUT-3 | Người có nhiều vai trò được hợp các quyền; với cùng một thao tác, phạm vi rộng hơn được áp dụng. |
| FR-AUT-4 | Mỗi dịch vụ phải tự kiểm tra quyền của từng API. Gateway chỉ xác thực và định tuyến. |
| FR-AUT-5 | Portal chỉ ẩn, hiện màn hình và nút theo quyền trả về từ GET /api/me/permissions; không được coi đó là kiểm soát truy cập. |
| FR-AUT-6 | Dòng nằm ngoài phạm vi của người gọi phải trả 404, không phải 403. |
| FR-AUT-7 | Tài khoản không có vai trò nào phải thấy màn hình Không có quyền truy cập ứng dụng. |
| FR-AUT-8 | scale_operator không được vào portal. |
| FR-AUT-9 | Đổi vai trò phải có hiệu lực trong 5 phút (thời hạn token 300 giây). |
| FR-AUT-10 | Sau khi đăng nhập, Nhân viên thu mua vào Tổng quan của Ứng dụng Thu mua, NV phân bổ & QC vào danh sách ngày phân bổ, vai trò khác vào Bảng điều khiển. |
Phạm vi assigned
| Dữ liệu | assigned nghĩa là |
|---|---|
| Phiếu mua dừa | NCC của phiếu được phân công cho người gọi, hoặc người gọi là nhân viên thu mua của phiếu |
| Kế hoạch thu mua | Kế hoạch có dòng của NCC được phân công cho người gọi; chỉ trả về các dòng đó |
| Mã | Yêu cầu |
|---|---|
| FR-AUT-11 | Người chỉ có coconut-receiving-tickets:create:assigned chỉ tạo được phiếu theo dòng kế hoạch cho NCC được phân công cho mình (403 SUPPLIER_NOT_ASSIGNED). Phiếu tự do được tạo cho mọi NCC; người tạo được ghi là nhân viên thu mua của phiếu. |
| FR-AUT-12 | Người chỉ có phạm vi assigned không được đổi deliveryDate, truckPlate khi phiếu đã có số cân, mẫu hoặc số trái. |
| FR-AUT-13 | Người chỉ có phạm vi assigned đọc lịch sử phiếu không kèm ảnh chụp dữ liệu từng lần lưu. |
Ai làm gì
✓ là xem và sửa, xem là chỉ xem, — là không có màn hình. Vai trò không có màn hình vẫn có thể đọc dữ liệu đó trong danh sách chọn, ví dụ mọi vai trò đọc được sản phẩm.
| Chức năng | AD | MG | PM | WS | QC | PU | SO |
|---|---|---|---|---|---|---|---|
| Đối tác, HTX | ✓ | ✓ | ✓ | xem | — | xem NCC được giao | — |
| Xe tải của NCC (thêm, bỏ liên kết, ở thẻ đối tác) | ✓ | ✓ | ✓ | xem | — | — | — |
| Phương tiện (sửa, bật tắt, xoá xe) | ✓ | — | — | — | — | — | — |
| Danh mục sản phẩm | ✓ | — | — | — | — | — | — |
| Kế hoạch thu mua | ✓ | ✓ | ✓ | xem | xem | xem phần được giao | — |
| Bảng giá | ✓ | ✓ | ✓ | — | — | — | — |
| Kế hoạch sơ chế | ✓ | ✓ | ✓ | xem | — | — | — |
| Tạo phiếu mua dừa | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ phần được giao | — |
| Nhập số liệu phiếu mua dừa | ✓ | ✓ | ✓ | ✓ | ✓ một phần | seal, ghi chú, ảnh | — |
| Xoá phiếu mua dừa | ✓ | ✓ | ✓ | — | — | — | — |
| Phiếu mua cơm dừa | ✓ | ✓ | ✓ | ✓ | — | — | — |
| Xoá phiếu mua cơm dừa | ✓ | ✓ | ✓ | — | — | — | — |
| Dữ liệu TC | ✓ | ✓ | ✓ | — | — | — | — |
| Phân bổ sơ chế | ✓ | ✓ | ✓ | ✓ | ✓ | — | — |
| Theo dõi nhận về, biên bản | ✓ | ✓ | ✓ | ✓ | — | — | — |
| Bản ghi cân xe, ánh xạ từng bản ghi | ✓ | ✓ | ✓ | ✓ | ✓ | — | — |
| Ánh xạ tên cân (toàn bộ) | ✓ | — | — | — | — | — | — |
| Nhân công | ✓ | ✓ | ✓ | xem | — | — | thêm, ngừng |
| Bản ghi cân bàn | ✓ sửa ghi chú | ✓ sửa ghi chú | ✓ sửa ghi chú | ✓ sửa ghi chú | — | — | tạo |
| Bảng điều khiển | ✓ | ✓ | ✓ | ✓ | — | — | — |
| Báo cáo | ✓ | ✓ | — | — | — | — | — |
| Người dùng | ✓ | — | — | — | — | — | — |
| Cấu hình hệ thống | ✓ | — | — | — | — | — | — |
| Đồng bộ | ✓ | — | — | — | — | — | — |
Quyền chi tiết của từng API: docs/authorization.md trong repo. Nhóm trường của phiếu mua dừa và quyền sửa từng nhóm: Phiếu mua dừa.