xforge · tài liệu FE

FE: module warehouse — kho và vị trí #

Phần chung (khởi tạo client, lỗi, danh sách, ngôn ngữ) ở tài liệu FE của Core: docs/fe/common.md (bản đọc: xforge-documentation, ADR-0102 của xforge-core). Sửa file này CÙNG PR khi đổi hành vi FE thấy được của module.

Chỉ có ở CMS (XforgeClient). Menu: key warehouse.warehouses (quyền warehouse.read). Số tồn ở module stock.

Kho #

Bộ route CRUD chuẩn (listWarehouses, getWarehouse, createWarehouse, updateWarehouse, replaceWarehouse, deleteWarehouse, restoreWarehouse, listWarehouseTrash, listWarehouseOptions). Picker dùng listWarehouseOptions. Danh sách mặc định sắp theo priority; q tìm theo mã, tên, thành phố.

QuyềnLàm được
warehouse.readXem kho + vị trí
warehouse.createTạo
warehouse.updateSửa
warehouse.deleteVào thùng rác
warehouse.restoreThùng rác, khôi phục
warehouse.hard_deleteXoá hẳn (force=true)
FieldGhi chú
codeChữ, số, _ . -; duy nhất trong store, không tính thùng rác (409 warehouse_code_exists). Báo cáo và file tồn đầu kỳ của stock dùng mã này
typephysical (mặc định), virtual, dropship
isDefaultTối đa một kho. Gửi true là chuyển cờ từ kho cũ sang; kho đầu tiên của store tự thành mặc định
activefalse: kho không vào gợi ý chọn kho xuất và không tính vào cảnh báo sắp hết hàng
priorityNhỏ hơn được ưu tiên hơn khi chọn kho xuất

replaceWarehouse vắng isDefault thì giữ nguyên cờ.

Xoá. Kho mặc định vào thùng rác thì mất cờ, khôi phục không tự có lại; khôi phục mà mã đã bị dùng → 409 warehouse_code_exists. Không xoá được khi còn thứ tham chiếu, hiện lỗi đúng theo mã:

Vị trí trong kho #

listWarehouseLocations, getWarehouseLocation, createWarehouseLocation, updateWarehouseLocation, deleteWarehouseLocation. Ghi cần quyền warehouse.manage_locations. Cây tối đa 3 tầng zone > shelf > bin; dựng cây bằng parent_id.null=true rồi lọc theo parent_id.

Vị trí chỉ để biết chỗ lấy hàng (locationId trên dòng tồn), không chia số lượng theo vị trí. Xoá vị trí thì dòng tồn đang dùng nó mất vị trí.

Màn hình dựng sẵn #

listMenu() → mục warehouse.warehouses có screen (type: "crud"): CMS chung vẽ được từ getMenuScreen({ params: { key: "warehouse.warehouses" } }) mà không cần code riêng (tài liệu FE của Core: cms.md §3.1). Có: danh sách (mã, tên, loại, thành phố, mặc định, ưu tiên, đang dùng; tìm; lọc trạng thái / mặc định / loại), form tạo / sửa, xoá, thùng rác + khôi phục.

KHÔNG có: vị trí trong kho (/warehouses/{id}/locations — bảng con của bản ghi, chờ loại detail), xoá vĩnh viễn.

Nguồn: xforge-modules: modules/inventory/warehouse/FE.md