Skip to content

PRD: Ca Đa nhân viên

ModuleSale (CORE-07)PRD IDPRD-SHF-001
Trạng tháiIn-progressOwnerViệt Võ · Phát Nguyễn
Ngày2026-06-11Phiên bảnv0.1
Packages@nx/sale · apps/sale-rendererURDSHF
EpicBANA-1321Khung thời gianTháng 7/2026

TL;DR

Cửa hàng nhiều nhân viên vận hành ca đúng nghĩa: mở/đóng ca trên thiết bị, nhiều nhân viên cùng ca, báo cáo X/Z, đối soát két khi đóng và ghi nhận chênh lệch. Backend đã có trên develop (ca, ghi danh, ngăn kéo, báo cáo - gồm cả tiền kỳ vọng/thực đếm); increment này chuyển POS khỏi phiên 1 người cũ và kiểm chứng trọn vòng. PRD này đồng thời là spec tham chiếu để test về sau.

1. Bối cảnh & Vấn đề

Phase 1 ship phiên POS 1 người. Nghiệp vụ cần ca dùng chung bởi nhiều nhân viên (thu ngân + phục vụ trên một két) với trách nhiệm rõ ràng. Hệ ca đa nhân viên đã xây xong phía server; POS vẫn nói chuyện với mô hình phiên cũ nên người dùng chưa chạm được - và trước đây không có spec viết ra để đối chiếu. Tài liệu này đóng cả hai lỗ hổng.

2. Mục tiêu & Loại trừ

Mục tiêu - mở/đóng trên thiết bị (URD-SHF-001) · ghi danh nhiều người (002) · X/Z (003) · đối soát + chênh lệch (004) · gắn đơn theo nhân viên (005) · biến động két (006) · doanh thu theo ca/kỳ (007).

Loại trừ - cờ quyền theo thành viên trong ca (canRefund/canVoid - theo dõi riêng dưới Permissions) · chấm công/lương.

3. Thước đo thành công

Thước đoMục tiêu
POS chạy hệ ca mớiThay hẳn phiên 1 người cũ, không regression
Báo cáo ZCông thức tiền kỳ vọng kiểm chứng với một ngày bán thật

4. Persona & Tình huống

Thu ngân (mở/đóng, đếm két) · Phục vụ (ghi danh, bán) · Chủ (đọc X/Z, soi chênh lệch).

5. User Story

  • Là thu ngân, tôi mở ca với quỹ đầu ca, đồng nghiệp ghi danh, đóng ca tôi đếm két và thấy ngay chênh lệch.
  • Là chủ, tôi đọc báo cáo Z theo ca và doanh thu theo kỳ.

6. Yêu cầu chức năng

Giao URD SHF URD-SHF-001…007 (Must 001-005).

7. Yêu cầu phi chức năng

  • Trạng thái ca sống sót khi app khởi động lại; không bán được ngoài ca đang mở (theo chính sách).

8. UX & Luồng

  1. Mở ca (nhập quỹ) → nhân viên ghi danh → bán (đơn gắn người thao tác).
  2. Giữa ca: báo cáo X. Biến động: thu/chi/nộp két.
  3. Đóng: đếm → kỳ vọng vs thực → ghi chênh lệch → báo cáo Z (in được).

9. Dữ liệu & Miền nghiệp vụ

  • Dùng các thực thể đã xây: ca, ghi danh ca, ngăn kéo, báo cáo ca (tiền kỳ vọng/thực/chênh lệch). FE migrate khỏi phiên cũ; gắn người thao tác qua cơ chế acting-user sẵn có.

10. Phụ thuộc & Giả định

Phụ thuộcVì sao
Acting-user middleware (BANA-1140, đang chạy)Gắn đơn trong ca dùng chung
Tài khoản tài chínhBiến động tiền ghi vào tài khoản

11. Rủi ro & Câu hỏi mở

  • Cutover: cửa hàng đang giữa ca khi rollout - định nghĩa đường nâng cấp (đóng phiên cũ trước).
  • Biến thể chính sách ca (két chung vs theo thiết bị) - chốt mặc định v1.

12. Kế hoạch phát hành & Tiêu chí

T7 (WK27-31): migrate FE + kiểm chứng e2e. Ra mắt: AC-SHF-01 pass tại cửa hàng pilot; phiên cũ ngừng dùng.

13. FAQ

  • Có xây lại backend không? Không - đã xây; đây là nối FE + kiểm chứng, và PRD này là tham chiếu để test.

Tham chiếu

URD SHF · Giai đoạn 2 - Theo tháng · Epic BANA-1321

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.