Skip to content

Sản phẩm & Kho — Technical Map

Route map chính

SubdomainRoute / group
Product master/e/product, /e/product/create, /e/product/:id, POS product routes
Inventory/e/inventory, inventory detail tabs
Import / Export/e/import-list, /e/export-request
Transfer / Check / Internal/e/transfer-list, /e/transfer-goods, /e/check-list, /e/internal-list
Master data/s/master-data/* cho origin, unit, supplier, type, shipping

FE GraphQL chính

FileOperations tiêu biểu
product.graphqlproduct, product_content, product_category_reference, supplier, product_supplying
inventory.graphqlwarehouse, warehouse_type, branch_product, product_sku_stock
inventory_request.graphqlinventory_request và các mutation request/check/transfer
export_request.graphqlinventory_document, changeInventoryDocumentStatus
transfer_goods.graphqlshipping_note, shipping_note_products
order_history.graphqlorder_history_log

Data model cốt lõi

BảngVai trò
productProduct master
product_category, product_group, product_type, product_unit, product_originMaster data phân loại
product_supplyingLedger movement theo lot/supplier/warehouse
product_sku_stockSnapshot tồn theo SKU/kho
product_lot_no_stockSnapshot tồn theo lot/kho
warehouseKho
branch_productMapping product theo chi nhánh
inventory_requestRequest nhập/chuyển/kiểm
inventory_documentPhiếu kho thực thi
shipping_note, shipping_note_productsChuyển hàng thực nhận
order_transfer / order liên quanLuồng vận hành sinh sau transfer

Event / action / scheduler

Thành phầnFileVai trò
Eventinventory_request_update_status.goCheck balanced sinh phiếu lệch; transfer complete sinh order_transfer
Eventinventory_document_update_status.goCancel/release phiếu kho, sync order và notification
Eventshipping_note_insert_update.goDelivered/received/canceled -> movement ship/receive
Actionchange_inventory_document_status.goSet inventory_canceled hoặc inventory_released
Schedulerproduct_sku_stock.goRefresh read model tồn kho

Flow kỹ thuật tiêu biểu

5.1 Inventory check

text
UI check request
  -> GraphQL inventory_request
  -> status = balanced
  -> event inventory_request_update_status
  -> create inventory_document nhập/xuất chênh
  -> scheduler refresh product_sku_stock

5.2 Transfer goods

text
UI transfer/shipping note
  -> shipping_note insert/update
  -> delivered => xuất âm
  -> received => nhập dương
  -> canceled => remove movement do shipping_note sinh ra

Source-of-truth matrix

Nhu cầuNguồn chính
Danh mục sản phẩmproduct + master data phụ
Tồn hiện tạiproduct_sku_stock, product_lot_no_stock
Lịch sử movementproduct_supplying
Request vận hànhinventory_request
Phiếu kho thực thiinventory_document
Chuyển hàng thực nhậnshipping_note

Rủi ro / Findings kỹ thuật

MứcMô tả
P1inventory_document list import đang reuse query/hook thiên về export, nên semantics ở FE dễ nhầm.
P1product_supplying quá overloaded, cần đọc kèm source document và status mới hiểu đúng.
P2Menu/route transfer-list, transfer-goods, internal-list chưa phản ánh rõ boundary nghiệp vụ.
P2Rất nhiều rule quan trọng sống ở UI validation hoặc event side effect, không thể suy ra đầy đủ chỉ từ GraphQL schema.