feat: 修正庫存與撥補單邏輯並整合文件
1. 修復倉庫統計數據加總與樣式。 2. 修正可用庫存計算邏輯(排除不可銷售倉庫)。 3. 撥補單商品列表加入批號與效期顯示。 4. 修正撥補單儲存邏輯以支援精確批號轉移。 5. 整合 FEATURES.md 至 README.md。
This commit is contained in:
@@ -53,18 +53,18 @@ interface InventoryOption {
|
||||
}
|
||||
|
||||
interface BomItem {
|
||||
// Backend required
|
||||
inventory_id: string; // The selected inventory record ID (Specific Batch)
|
||||
quantity_used: string; // The converted final quantity (Base Unit)
|
||||
unit_id: string; // The unit ID (Base Unit ID usually)
|
||||
// 後端必填
|
||||
inventory_id: string; // 所選庫存記錄 ID(特定批號)
|
||||
quantity_used: string; // 轉換後的最終數量(基本單位)
|
||||
unit_id: string; // 單位 ID(通常為基本單位 ID)
|
||||
|
||||
// UI State
|
||||
ui_warehouse_id: string; // Source Warehouse
|
||||
ui_product_id: string; // Filter for batch list
|
||||
ui_input_quantity: string; // User typed quantity
|
||||
ui_selected_unit: 'base' | 'large'; // User selected unit
|
||||
// UI 狀態
|
||||
ui_warehouse_id: string; // 來源倉庫
|
||||
ui_product_id: string; // 批號列表篩選
|
||||
ui_input_quantity: string; // 使用者輸入數量
|
||||
ui_selected_unit: 'base' | 'large'; // 使用者選擇單位
|
||||
|
||||
// UI Helpers / Cache
|
||||
// UI 輔助 / 快取
|
||||
ui_product_name?: string;
|
||||
ui_batch_number?: string;
|
||||
ui_available_qty?: number;
|
||||
@@ -83,8 +83,8 @@ interface Props {
|
||||
}
|
||||
|
||||
export default function ProductionCreate({ products, warehouses }: Props) {
|
||||
const [selectedWarehouse, setSelectedWarehouse] = useState<string>(""); // Output Warehouse
|
||||
// Cache map: warehouse_id -> inventories
|
||||
const [selectedWarehouse, setSelectedWarehouse] = useState<string>(""); // 產出倉庫
|
||||
// 快取對照表:warehouse_id -> inventories
|
||||
const [inventoryMap, setInventoryMap] = useState<Record<string, InventoryOption[]>>({});
|
||||
const [loadingWarehouses, setLoadingWareStates] = useState<Record<string, boolean>>({});
|
||||
|
||||
@@ -102,7 +102,7 @@ export default function ProductionCreate({ products, warehouses }: Props) {
|
||||
items: [] as { inventory_id: number; quantity_used: number; unit_id: number | null }[],
|
||||
});
|
||||
|
||||
// Helper to fetch warehouse data
|
||||
// 獲取倉庫資料的輔助函式
|
||||
const fetchWarehouseInventory = async (warehouseId: string) => {
|
||||
if (!warehouseId || inventoryMap[warehouseId] || loadingWarehouses[warehouseId]) return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user