Appearance
Inventory Product And Prepaid — Technical Map
Route / page map
| Surface | Main page / shell |
|---|---|
| Product | ProductReport.tsx |
| Prepaid | PrepaidCardReport.tsx |
| Inventory | InventoryReport.tsx |
GraphQL / data model map
| Surface | Query / model chính |
|---|---|
| Inventory | ReportStockChange, ReportStock, ReportOnlineProductOrder, ReturnReport, ReportDebtOfBranch, CosmeticSales, OrderDiscount trên product_sku_stock, inventory_document, order, deliveries, invoices |
| Product | search_report_product, search_report_product_group -> result types report_product_result |
| Prepaid | search_report_prepaid_card, ListAccountHaveOrderPrepaid, GetSumCard -> result type report_prepaid_card_result |
Boundary với module khác
| Module | Boundary kỹ thuật |
|---|---|
ecommerce | Cả inventory/product/prepaid analytics đều nằm ở metadata/functions/tables của source ecommerce |
inventory | Inventory tabs dựa trên stock/warehouse/documents thật |
prepaid | Popup/detail và revenue semantics chạm prepaid_card_view + order/invoice |
Rủi ro / Findings kỹ thuật
| Mức | Finding |
|---|---|
| Cao | GOODS_END_OF_DAY_REPORT còn trong enum/tree nhưng tab đã bị comment khỏi InventoryReport.tsx. |
| Cao | CosmeticSalesReportTable có bug filter online/offline do check sai field/value. |
| Trung bình | PrepaidCardReportCard tính summary từ page data hiện tại, không phải toàn dataset. |
| Trung bình | Export prepaid có khả năng bỏ qua 1000 dòng đầu do offset bị tăng trước fetch đầu tiên. |
| Trung bình | Popup customer của prepaid nhận branch filter nhưng query không dùng branch condition. |