Merge pull request #1274 from Tria-plc/eims-integration

fix(warehouses): free warehouse/yard/zone capacity on export dispatch
This commit is contained in:
Hagernesh Tadesse
2026-08-13 15:05:24 +03:00
committed by GitHub

View File

@@ -5161,6 +5161,7 @@ export class WarehouseInventoryService {
activityType: 'INVENTORY_DISPATCHED',
description: 'Inventory dispatched',
performedBy,
freeCapacity: true,
});
}
@@ -5445,6 +5446,8 @@ export class WarehouseInventoryService {
description: string;
performedBy?: string;
preloaded?: WarehouseInventory;
/** Cargo physically leaves the warehouse on this transition — free up capacity (mirrors deliver()). */
freeCapacity?: boolean;
},
): Promise<WarehouseInventory> {
const item = opts.preloaded ?? (await this.findById(id));
@@ -5455,6 +5458,20 @@ export class WarehouseInventoryService {
status: to,
[opts.timestampField]: new Date(),
});
if (opts.freeCapacity) {
const weight = Number(item.weight) || 0;
const volume = Number(item.volume) || 0;
const containerCount = item.containerId ? Math.round(Number(item.quantity) || 0) : 0;
await this.applyCapacityDelta(
manager,
{ warehouseId: item.warehouseId, yardId: item.yardId, zoneId: item.zoneId },
-weight,
-volume,
-containerCount,
);
}
await this.activityLog.record(
{
activityType: opts.activityType,