diff --git a/src/components/pages/inventory/movement/MovementTable.tsx b/src/components/pages/inventory/movement/MovementTable.tsx index b39906d3..a00f7111 100644 --- a/src/components/pages/inventory/movement/MovementTable.tsx +++ b/src/components/pages/inventory/movement/MovementTable.tsx @@ -31,23 +31,23 @@ const dummyMovements: Movement[] = [ { ...baseMetadata, id: 1, - alasan_transfer: 'Restock', - tanggal_transfer: '2024-06-01', - warehouse_asal: { + transfer_reason: 'Restock', + transfer_date: '2024-06-01', + source_warehouse: { ...baseMetadata, id: 1, name: 'Warehouse A', type: 'AREA', area: { id: 1, name: 'Area 1' }, }, - warehouse_tujuan: { + destination_warehouse: { ...baseMetadata, id: 2, name: 'Warehouse B', type: 'AREA', area: { id: 2, name: 'Area 2' }, }, - product: [ + products: [ { product: { ...baseMetadata, @@ -73,13 +73,16 @@ const dummyMovements: Movement[] = [ suppliers: [], flags: [], }, - qty_product: 10, + product_qty: 10, }, ], - ekspedisi: [ + deliveries: [ { - product_id: 1, - qty: 10, + delivery_cost: 50000, + delivery_cost_per_item: 5000, + document: 'doc1.pdf', + driver_name: 'Andi', + vehicle_plate: 'B 1234 CD', supplier: { ...baseMetadata, id: 1, @@ -97,34 +100,58 @@ const dummyMovements: Movement[] = [ balance: 0, due_date: 30, }, - plat_nomor: 'B 1234 CD', - no_surat_jalan: 'SJ-001', - dokumen: 'doc1.pdf', - biaya_ekspedisi: 50000, - nama_sopir: 'Andi', + products: [ + { + product: { + ...baseMetadata, + id: 1, + name: 'Product X', + brand: 'Brand X', + sku: 'SKU-X', + product_price: 10000, + selling_price: 12000, + tax: 10, + expiry_period: 365, + uom: { + ...baseMetadata, + id: 1, + name: 'PCS', + }, + product_category: { + ...baseMetadata, + id: 1, + code: 'CAT-1', + name: 'Category 1', + }, + suppliers: [], + flags: [], + }, + product_qty: 10, + }, + ], }, ], }, { ...baseMetadata, id: 2, - alasan_transfer: 'Mutasi Stok', - tanggal_transfer: '2024-06-02', - warehouse_asal: { + transfer_reason: 'Mutasi Stok', + transfer_date: '2024-06-02', + source_warehouse: { ...baseMetadata, id: 2, name: 'Warehouse B', type: 'AREA', area: { id: 2, name: 'Area 2' }, }, - warehouse_tujuan: { + destination_warehouse: { ...baseMetadata, id: 3, name: 'Warehouse C', type: 'AREA', area: { id: 3, name: 'Area 3' }, }, - product: [ + products: [ { product: { ...baseMetadata, @@ -150,13 +177,16 @@ const dummyMovements: Movement[] = [ suppliers: [], flags: [], }, - qty_product: 5, + product_qty: 5, }, ], - ekspedisi: [ + deliveries: [ { - product_id: 2, - qty: 5, + delivery_cost: 60000, + delivery_cost_per_item: 12000, + document: 'doc2.pdf', + driver_name: 'Budi', + vehicle_plate: 'D 5678 EF', supplier: { ...baseMetadata, id: 2, @@ -174,34 +204,58 @@ const dummyMovements: Movement[] = [ balance: 1000, due_date: 15, }, - plat_nomor: 'D 5678 EF', - no_surat_jalan: 'SJ-002', - dokumen: 'doc2.pdf', - biaya_ekspedisi: 60000, - nama_sopir: 'Budi', + products: [ + { + product: { + ...baseMetadata, + id: 2, + name: 'Product Y', + brand: 'Brand Y', + sku: 'SKU-Y', + product_price: 20000, + selling_price: 25000, + tax: 5, + expiry_period: 180, + uom: { + ...baseMetadata, + id: 2, + name: 'BOX', + }, + product_category: { + ...baseMetadata, + id: 2, + code: 'CAT-2', + name: 'Category 2', + }, + suppliers: [], + flags: [], + }, + product_qty: 5, + }, + ], }, ], }, { ...baseMetadata, id: 3, - alasan_transfer: 'Pengembalian', - tanggal_transfer: '2024-06-03', - warehouse_asal: { + transfer_reason: 'Pengembalian', + transfer_date: '2024-06-03', + source_warehouse: { ...baseMetadata, id: 3, name: 'Warehouse C', type: 'AREA', area: { id: 3, name: 'Area 3' }, }, - warehouse_tujuan: { + destination_warehouse: { ...baseMetadata, id: 1, name: 'Warehouse A', type: 'AREA', area: { id: 1, name: 'Area 1' }, }, - product: [ + products: [ { product: { ...baseMetadata, @@ -227,13 +281,16 @@ const dummyMovements: Movement[] = [ suppliers: [], flags: [], }, - qty_product: 8, + product_qty: 8, }, ], - ekspedisi: [ + deliveries: [ { - product_id: 3, - qty: 8, + delivery_cost: 40000, + delivery_cost_per_item: 5000, + document: 'doc3.pdf', + driver_name: 'Cici', + vehicle_plate: 'F 9101 GH', supplier: { ...baseMetadata, id: 3, @@ -251,34 +308,58 @@ const dummyMovements: Movement[] = [ balance: 500, due_date: 10, }, - plat_nomor: 'F 9101 GH', - no_surat_jalan: 'SJ-003', - dokumen: 'doc3.pdf', - biaya_ekspedisi: 40000, - nama_sopir: 'Cici', + products: [ + { + product: { + ...baseMetadata, + id: 3, + name: 'Product Z', + brand: 'Brand Z', + sku: 'SKU-Z', + product_price: 15000, + selling_price: 18000, + tax: 8, + expiry_period: 90, + uom: { + ...baseMetadata, + id: 3, + name: 'KG', + }, + product_category: { + ...baseMetadata, + id: 3, + code: 'CAT-3', + name: 'Category 3', + }, + suppliers: [], + flags: [], + }, + product_qty: 8, + }, + ], }, ], }, { ...baseMetadata, id: 4, - alasan_transfer: 'Transfer Internal', - tanggal_transfer: '2024-06-04', - warehouse_asal: { + transfer_reason: 'Transfer Internal', + transfer_date: '2024-06-04', + source_warehouse: { ...baseMetadata, id: 4, name: 'Warehouse D', type: 'AREA', area: { id: 4, name: 'Area 4' }, }, - warehouse_tujuan: { + destination_warehouse: { ...baseMetadata, id: 5, name: 'Warehouse E', type: 'AREA', area: { id: 5, name: 'Area 5' }, }, - product: [ + products: [ { product: { ...baseMetadata, @@ -304,13 +385,16 @@ const dummyMovements: Movement[] = [ suppliers: [], flags: [], }, - qty_product: 20, + product_qty: 20, }, ], - ekspedisi: [ + deliveries: [ { - product_id: 4, - qty: 20, + delivery_cost: 30000, + delivery_cost_per_item: 1500, + document: 'doc4.pdf', + driver_name: 'Dedi', + vehicle_plate: 'H 2345 IJ', supplier: { ...baseMetadata, id: 4, @@ -328,11 +412,35 @@ const dummyMovements: Movement[] = [ balance: 200, due_date: 20, }, - plat_nomor: 'H 2345 IJ', - no_surat_jalan: 'SJ-004', - dokumen: 'doc4.pdf', - biaya_ekspedisi: 30000, - nama_sopir: 'Dedi', + products: [ + { + product: { + ...baseMetadata, + id: 4, + name: 'Product A', + brand: 'Brand A', + sku: 'SKU-A', + product_price: 5000, + selling_price: 7000, + tax: 0, + expiry_period: 60, + uom: { + ...baseMetadata, + id: 4, + name: 'LITER', + }, + product_category: { + ...baseMetadata, + id: 4, + code: 'CAT-4', + name: 'Category 4', + }, + suppliers: [], + flags: [], + }, + product_qty: 20, + }, + ], }, ], }, @@ -401,30 +509,34 @@ const MovementTable = () => { cell: (props) => pageSize * (page - 1) + props.row.index + 1, }, { - accessorKey: 'warehouse_asal', + accessorKey: 'source_warehouse', header: 'Gudang Asal', - cell: (props) => props.row.original.warehouse_asal.name, + cell: (props) => props.row.original.source_warehouse.name, }, { - accessorKey: 'warehouse_tujuan', + accessorKey: 'destination_warehouse', header: 'Gudang Tujuan', - cell: (props) => props.row.original.warehouse_tujuan.name, + cell: (props) => props.row.original.destination_warehouse.name, }, { - accessorKey: 'product', + accessorKey: 'products', header: 'Nama Produk', cell: (props) => - props.row.original.product.map((p) => p.product.name), + props.row.original.products + .map((p) => p.product.name) + .join(', '), }, { - accessorKey: 'alasan_transfer', + accessorKey: 'transfer_reason', header: 'Catatan', }, { - accessorKey: 'biaya_ekspedisi', - header: 'Biaya Ekspedisi', + accessorKey: 'delivery_cost', + header: 'Biaya Pengiriman', cell: (props) => - props.row.original.ekspedisi.map((e) => e.biaya_ekspedisi), + props.row.original.deliveries + .reduce((sum, d) => sum + d.delivery_cost, 0) + .toLocaleString('id-ID'), }, { id: 'actions',