UC_Doanh thu & Báo cáo
Giới thiệu & tài liệu liên quan
Đặc tả Use Case cho các nghiệp vụ chính của module Doanh thu & Báo cáo (OW-07). Xem thêm Tổng quan module · SRS · UI.
UC1 — Xem báo cáo doanh thu theo chu kỳ
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW07_REV_001 |
| Use Case Name | Xem báo cáo doanh thu theo chu kỳ |
| Use Case Description | Chủ sân chọn khoảng thời gian và kiểu nhóm chu kỳ (Ngày / Tháng / Năm) để xem dashboard KPI, biểu đồ xu hướng và bảng số liệu doanh thu tổng hợp từ các đơn đã hoàn tất trong phạm vi chi nhánh được phân công. |
| System Under Design | Reports Client · Reports Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca |
| Priority | HIGH |
| Trigger | Chủ sân mở tab Báo cáo và chọn khoảng thời gian / kiểu nhóm chu kỳ |
| Pre-Condition | Người dùng đã đăng nhập và có quyền xem báo cáo trên chi nhánh được phân công |
| Post-Condition | Dashboard KPI, biểu đồ xu hướng và bảng số liệu theo chu kỳ được hiển thị đúng phạm vi chi nhánh |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở tab Báo cáo |
| 2 | Reports Client | Hiển thị dashboard KPI mặc định cho kỳ hiện tại |
| 3 | Chủ sân | Chọn khoảng thời gian: preset nhanh (Hôm nay · Tháng này · Năm nay…) hoặc khoảng tùy chỉnh |
| 4 | Chủ sân | Chọn kiểu nhóm chu kỳ: Ngày / Tháng / Năm |
| 5 | Reports Server | Tổng hợp doanh thu các đơn đã hoàn tất trong khoảng & phạm vi chi nhánh |
| 6 | Reports Client | Cập nhật KPI (doanh thu gộp · giảm giá · thuế · doanh thu thuần · số đơn), biểu đồ xu hướng và bảng chi tiết theo chu kỳ kèm dòng tổng cộng |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân chọn khoảng ngày tùy chỉnh (Từ - Đến) thay cho preset nhanh; cửa sổ bao gồm cả ngày kết thúc |
| 2 | AF_4A.1 | 4 | Chủ sân chuyển kiểu nhóm chu kỳ → biểu đồ và bảng tự thay đổi số hàng/cột tương ứng (ví dụ 12 dòng khi nhóm theo Tháng trong 1 năm) |
| 3 | AF_5A.1 | 5 | Không có đơn nào khớp → hệ thống hiển thị tổng bằng 0 và biểu đồ trống, không báo lỗi |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Khoảng ngày không hợp lệ (Từ muộn hơn Đến) → hệ thống báo lỗi và yêu cầu chọn lại |
| 2 | EF_3.2 | 3 | Chưa chọn khoảng ngày khi yêu cầu báo cáo doanh số → hệ thống nhắc bắt buộc chọn khoảng từ - đến |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Chỉ tính các đơn đã hoàn tất; đơn đã hủy / nháp bị loại trừ khỏi mọi con số doanh số |
| 2 | BR2 | Mọi báo cáo giới hạn theo phạm vi chi nhánh của người dùng; không rò rỉ dữ liệu giữa các chi nhánh |
| 3 | BR3 | Doanh thu được ghi nhận theo thời điểm đơn hoàn tất |
| 4 | BR4 | Chu kỳ không có dữ liệu vẫn hiển thị giá trị 0 (không bỏ trống) |
| 5 | BR5 | Báo cáo là góc nhìn chỉ đọc, không bao giờ thay đổi dữ liệu giao dịch gốc |
UC2 — Phân tích sản phẩm & danh mục bán chạy
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW07_PROD_002 |
| Use Case Name | Phân tích sản phẩm & danh mục bán chạy |
| Use Case Description | Quản lý ca xem xếp hạng sản phẩm bán chạy theo doanh thu / số lượng, phân rã doanh số theo danh mục và đào sâu vào một danh mục cụ thể, trên một khoảng ngày trong phạm vi chi nhánh được phân công. |
| System Under Design | Reports Client · Reports Server |
| Primary Actor | Quản lý ca |
| Supporting/External Actor | Chủ sân |
| Priority | MEDIUM |
| Trigger | Quản lý ca mở màn hình Báo cáo bán hàng và chọn khoảng ngày |
| Pre-Condition | Người dùng đã đăng nhập và có quyền xem báo cáo bán hàng của chi nhánh |
| Post-Condition | Bảng xếp hạng sản phẩm, phân rã danh mục và chi tiết đào sâu danh mục được hiển thị |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Quản lý ca | Mở màn hình Báo cáo bán hàng, chọn khoảng ngày từ - đến |
| 2 | Reports Server | Tổng hợp đơn đã hoàn tất, xếp hạng sản phẩm theo doanh thu và số lượng |
| 3 | Reports Client | Hiển thị top sản phẩm bán chạy và phân rã doanh số theo danh mục |
| 4 | Quản lý ca | Chọn một danh mục để đào sâu |
| 5 | Reports Client | Hiển thị chi tiết riêng của danh mục được chọn |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Quản lý ca đổi tiêu chí xếp hạng giữa doanh thu và số lượng → bảng top sản phẩm sắp xếp lại tương ứng |
| 2 | AF_3B.1 | 3 | Quản lý ca mở tổng hợp mua hàng (chi tiêu theo nhà cung cấp / đơn mua) để đối chiếu chi phí với doanh thu |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_1.1 | 1 | Chưa chọn khoảng ngày → hệ thống nhắc bắt buộc chọn khoảng từ - đến |
| 2 | EF_2.1 | 2 | Không có đơn nào khớp → hiển thị bảng rỗng với tổng bằng 0, không báo lỗi |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR6 | Chỉ các đơn đã hoàn tất mới được xếp hạng và phân rã |
| 2 | BR7 | Phân rã sản phẩm / danh mục giới hạn theo phạm vi chi nhánh người dùng |
| 3 | BR8 | Đào sâu danh mục chỉ hiển thị dữ liệu thuộc danh mục được chọn |
UC3 — Báo cáo ca thu ngân (X/Z) & đối soát tiền mặt
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW07_SHIFT_003 |
| Use Case Name | Báo cáo ca thu ngân (X/Z) & đối soát tiền mặt |
| Use Case Description | Thu ngân lấy báo cáo X giữa ca (lặp lại được, không thay đổi ca) và khi đóng ca nhập số tiền mặt đếm thực tế để hệ thống tính chênh lệch và khóa báo cáo Z cuối ca kèm đối soát tiền mặt và tổng hợp doanh số. |
| System Under Design | Reports Client · Shift Server |
| Primary Actor | Thu ngân |
| Supporting/External Actor | Quản lý ca · Chủ sân |
| Priority | HIGH |
| Trigger | Thu ngân lấy báo cáo X trên ca đang mở, hoặc đóng ca để tạo báo cáo Z |
| Pre-Condition | Đang có một ca (phiên thu ngân) mở với quỹ đầu ca đã khai báo |
| Post-Condition | Báo cáo X hiển thị tạm thời không thay đổi ca; khi đóng ca, đúng một báo cáo Z được khóa cho ca đó |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Thu ngân | Mở màn hình ca đang mở |
| 2 | Thu ngân | Nhấn lấy báo cáo X (giữa ca) |
| 3 | Shift Server | Tổng hợp tiền mặt & doanh số tạm thời của ca, trả về snapshot không làm thay đổi ca |
| 4 | Thu ngân | Cuối ca: đếm tiền mặt thực tế, nhập số đếm, xác nhận đóng ca |
| 5 | Shift Server | Tính tiền mặt dự kiến so với thực tế, ra chênh lệch và khóa snapshot báo cáo Z |
| 6 | Reports Client | Hiển thị báo cáo Z: quỹ đầu ca, doanh thu tiền mặt, thu/chi, dự kiến vs thực tế, chênh lệch và tổng hợp doanh số |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Thu ngân lấy lại báo cáo X nhiều lần trong ca → mỗi lần trả về snapshot mới nhất, không thay đổi ca |
| 2 | AF_6A.1 | 6 | Tại chi nhánh được bật, báo cáo Z hiển thị thêm phân rã theo phương thức thanh toán và theo danh mục |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_1.1 | 1 | Chưa có ca nào đang mở → hệ thống yêu cầu mở ca với quỹ đầu ca trước khi lấy báo cáo |
| 2 | EF_4.1 | 4 | Ca đã được đóng trước đó → hệ thống chặn đóng lần hai, chỉ cho xem lại báo cáo Z đã khóa |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR9 | Báo cáo X lặp lại được bao nhiêu lần tùy ý và không bao giờ làm thay đổi ca |
| 2 | BR10 | Mỗi ca chỉ tạo đúng một báo cáo Z khi đóng; báo cáo Z đã khóa thì không đổi |
| 3 | BR11 | Chênh lệch = tiền mặt thực tế đã đếm − (quỹ đầu ca + doanh thu tiền mặt − chi tiền mặt) |
| 4 | BR12 | Báo cáo ca phân tách theo từng chi nhánh; không lẫn con số của chi nhánh khác |
UC4 — Xuất báo cáo PDF/Excel
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW07_EXPORT_004 |
| Use Case Name | Xuất báo cáo PDF/Excel |
| Use Case Description | Chủ sân chọn báo cáo và khoảng thời gian rồi yêu cầu xuất file PDF/Excel; hệ thống tạo file nhiều sheet ở chế độ bất đồng bộ và thông báo khi sẵn sàng tải, với liên kết tải có thời hạn. |
| System Under Design | Reports Client · Reports Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca |
| Priority | MEDIUM |
| Trigger | Chủ sân chọn kỳ báo cáo và nhấn [Xuất PDF] / [Xuất Excel] |
| Pre-Condition | Người dùng có quyền xuất báo cáo trên chi nhánh được phân công |
| Post-Condition | File báo cáo được tạo và thông báo gửi tới người dùng kèm liên kết tải có thời hạn |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Chọn báo cáo cần xuất và khoảng thời gian |
| 2 | Chủ sân | Nhấn [Xuất PDF] hoặc [Xuất Excel] |
| 3 | Reports Server | Thêm yêu cầu xuất vào hàng xử lý bất đồng bộ; báo "đang tạo báo cáo" |
| 4 | Reports Server | Chạy tổng hợp và sinh file báo cáo nhiều sheet |
| 5 | Reports Server | Gửi thông báo (đẩy + email) kèm liên kết tải khi file sẵn sàng |
| 6 | Chủ sân | Mở thông báo và tải file báo cáo |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_4A.1 | 4 | Chủ sân cài lịch gửi tự động (ngày / tuần / tháng) → hệ thống tự sinh và gửi báo cáo theo lịch |
| 2 | AF_6A.1 | 6 | Liên kết tải đã hết hạn → người dùng yêu cầu tạo lại file để nhận liên kết mới |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_2.1 | 2 | Kỳ được chọn không có dữ liệu → hệ thống báo không có dữ liệu để xuất |
| 2 | EF_4.1 | 4 | Quá trình tạo file thất bại → hệ thống thông báo lỗi và cho thử lại |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR13 | Việc xuất chạy bất đồng bộ; người dùng được thông báo khi file sẵn sàng |
| 2 | BR14 | Liên kết tải có thời hạn (hết hạn sau 24h); hết hạn thì tạo lại |
| 3 | BR15 | File xuất chỉ chứa dữ liệu thuộc phạm vi chi nhánh của người dùng |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Phân quyền | Mọi báo cáo giới hạn nghiêm ngặt theo phạm vi chi nhánh của người dùng; không bao giờ rò rỉ dữ liệu giữa các chi nhánh |
| 2 | Toàn vẹn | Báo cáo là góc nhìn chỉ đọc, không thay đổi đơn hàng / giao dịch gốc; báo cáo Z đã khóa không đổi |
| 3 | Chính xác | Số liệu nhóm theo Tháng/Năm khớp với tổng cộng dồn của báo cáo Ngày trong cùng khoảng |
| 4 | Khả dụng | Dashboard và báo cáo phản hồi nhanh kể cả với khoảng thời gian dài; biểu đồ tự giãn nhãn để không chồng lấn |
| 5 | Đa ngôn ngữ | Nhãn chu kỳ và trạng thái hiển thị song ngữ theo ngôn ngữ người dùng |