|
|
|
|
@@ -2020,7 +2020,7 @@ export class WarehouseInventoryService {
|
|
|
|
|
activityType: 'INVENTORY_RECEIVED',
|
|
|
|
|
inventoryId: saved.id,
|
|
|
|
|
warehouseId: dto.warehouseId,
|
|
|
|
|
description: `GRN ${grnNumber}: received ${weight}kg via truck ${truckEntrance.truckPlateNumber}`,
|
|
|
|
|
description: `GRN ${grnNumber}: received ${weight}t via truck ${truckEntrance.truckPlateNumber}`,
|
|
|
|
|
performedBy: dto.performedBy,
|
|
|
|
|
},
|
|
|
|
|
manager,
|
|
|
|
|
@@ -2677,7 +2677,7 @@ export class WarehouseInventoryService {
|
|
|
|
|
['Pickup Truck Plate', data.plateNumber],
|
|
|
|
|
['Driver', data.driverName],
|
|
|
|
|
['Truck Type', data.truckType],
|
|
|
|
|
['Gross Weight (Loaded on Truck)', `${data.grossWeightKg.toLocaleString()} kg`],
|
|
|
|
|
['Gross Weight (Loaded on Truck)', `${data.grossWeightKg.toLocaleString()} t`],
|
|
|
|
|
['Gate-Out Time', gateOut],
|
|
|
|
|
['Clearance Status', 'CLEARED FOR WAREHOUSE EXIT'],
|
|
|
|
|
];
|
|
|
|
|
@@ -3608,8 +3608,8 @@ export class WarehouseInventoryService {
|
|
|
|
|
['Booking Containers', data.bookingContainerSummary],
|
|
|
|
|
['Cargo / Goods Description', data.cargoDescription],
|
|
|
|
|
['Quantity', data.quantity],
|
|
|
|
|
['Received Weight', `${data.weight.toLocaleString()} kg`],
|
|
|
|
|
['Booking Declared Weight', data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} kg` : null],
|
|
|
|
|
['Received Weight', `${data.weight.toLocaleString()} t`],
|
|
|
|
|
['Booking Declared Weight', data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} t` : null],
|
|
|
|
|
['Volume', data.volume == null ? null : data.volume.toLocaleString()],
|
|
|
|
|
['Warehouse', data.warehouse],
|
|
|
|
|
['Yard', data.yard],
|
|
|
|
|
@@ -3731,7 +3731,7 @@ export class WarehouseInventoryService {
|
|
|
|
|
`${(data.truckPlateNumber && data.truckWeightKg
|
|
|
|
|
? data.truckWeightKg
|
|
|
|
|
: data.weight
|
|
|
|
|
).toLocaleString()} kg`,
|
|
|
|
|
).toLocaleString()} t`,
|
|
|
|
|
],
|
|
|
|
|
['Warehouse', data.warehouse],
|
|
|
|
|
['Yard', data.yard],
|
|
|
|
|
@@ -3894,8 +3894,8 @@ export class WarehouseInventoryService {
|
|
|
|
|
['Booking Containers', data.bookingContainerSummary],
|
|
|
|
|
['Cargo / Goods Description', data.cargoDescription],
|
|
|
|
|
['Quantity', data.quantity],
|
|
|
|
|
['Inventory Weight', `${data.weight.toLocaleString()} kg`],
|
|
|
|
|
['Booking Declared Weight', data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} kg` : null],
|
|
|
|
|
['Inventory Weight', `${data.weight.toLocaleString()} t`],
|
|
|
|
|
['Booking Declared Weight', data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} t` : null],
|
|
|
|
|
['Warehouse', data.warehouse],
|
|
|
|
|
['Yard', data.yard],
|
|
|
|
|
['Zone', data.zone],
|
|
|
|
|
@@ -3968,8 +3968,8 @@ export class WarehouseInventoryService {
|
|
|
|
|
<tr><th>1. Goods</th><td>${esc(data.cargoDescription || data.containerNumber || data.bookingReference)}</td></tr>
|
|
|
|
|
<tr><th>Container</th><td>${esc(data.containerNumber)}</td></tr>
|
|
|
|
|
<tr><th>Booking Containers</th><td>${esc(data.bookingContainerSummary)}</td></tr>
|
|
|
|
|
<tr><th>Inventory Weight</th><td>${esc(`${data.weight.toLocaleString()} kg`)}</td></tr>
|
|
|
|
|
<tr><th>Booking Declared Weight</th><td>${esc(data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} kg` : null)}</td></tr>
|
|
|
|
|
<tr><th>Inventory Weight</th><td>${esc(`${data.weight.toLocaleString()} t`)}</td></tr>
|
|
|
|
|
<tr><th>Booking Declared Weight</th><td>${esc(data.bookingDeclaredWeight ? `${data.bookingDeclaredWeight.toLocaleString()} t` : null)}</td></tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<div class="section-title">Handover Clause</div>
|
|
|
|
|
@@ -4303,9 +4303,9 @@ export class WarehouseInventoryService {
|
|
|
|
|
dto.truckType?.trim() ? `Truck Type: ${dto.truckType.trim()}` : null,
|
|
|
|
|
dto.containerNumber?.trim() ? `Container Number: ${dto.containerNumber.trim()}` : null,
|
|
|
|
|
dto.gateInTime ? `Gate In Time: ${dto.gateInTime}` : null,
|
|
|
|
|
`Tare Weight: ${tareWeight} kg`,
|
|
|
|
|
grossWeight == null ? null : `Gross Weight: ${grossWeight} kg`,
|
|
|
|
|
computedNetWeight == null ? null : `Net Weight: ${computedNetWeight} kg`,
|
|
|
|
|
`Tare Weight: ${tareWeight} t`,
|
|
|
|
|
grossWeight == null ? null : `Gross Weight: ${grossWeight} t`,
|
|
|
|
|
computedNetWeight == null ? null : `Net Weight: ${computedNetWeight} t`,
|
|
|
|
|
dto.gateOutTime ? `Gate Out Time: ${dto.gateOutTime}` : null,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
@@ -4357,7 +4357,7 @@ export class WarehouseInventoryService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private extractExitInspectionNumber(note: string | null | undefined, label: string): number | undefined {
|
|
|
|
|
const value = this.extractExitInspectionLine(note, label)?.replace(/\s*kg$/i, '');
|
|
|
|
|
const value = this.extractExitInspectionLine(note, label)?.replace(/\s*(kg|t)$/i, '');
|
|
|
|
|
if (!value) return undefined;
|
|
|
|
|
const parsed = Number(value);
|
|
|
|
|
return Number.isFinite(parsed) ? parsed : undefined;
|
|
|
|
|
@@ -4420,9 +4420,9 @@ export class WarehouseInventoryService {
|
|
|
|
|
truck?.driverName ? `Driver: ${truck.driverName}` : null,
|
|
|
|
|
truck?.driverPhone ? `Driver Phone: ${truck.driverPhone}` : null,
|
|
|
|
|
truck?.driverLicenseNumber ? `Driver License: ${truck.driverLicenseNumber}` : null,
|
|
|
|
|
truck?.entranceTareWeightKg !== undefined ? `Entrance Tare Weight: ${Number(truck.entranceTareWeightKg)} kg` : null,
|
|
|
|
|
truck?.entranceTareWeightKg !== undefined ? `Entrance Tare Weight: ${Number(truck.entranceTareWeightKg)} t` : null,
|
|
|
|
|
truck?.weighingRequired !== undefined ? `Weighing Required: ${truck.weighingRequired ? 'Yes' : 'No'}` : null,
|
|
|
|
|
truck?.exitTareWeightKg !== undefined ? `Exit Tare Weight: ${Number(truck.exitTareWeightKg)} kg` : null,
|
|
|
|
|
truck?.exitTareWeightKg !== undefined ? `Exit Tare Weight: ${Number(truck.exitTareWeightKg)} t` : null,
|
|
|
|
|
truck?.declarationNumber ? `Declaration / Bill of Entry: ${truck.declarationNumber}` : null,
|
|
|
|
|
truck?.incoterms ? `Incoterms: ${truck.incoterms}` : null,
|
|
|
|
|
truck?.hsCodes ? `HS Codes: ${truck.hsCodes}` : null,
|
|
|
|
|
@@ -4430,8 +4430,8 @@ export class WarehouseInventoryService {
|
|
|
|
|
truck?.itemDescription ? `Item Description: ${truck.itemDescription}` : null,
|
|
|
|
|
truck?.packagingType ? `Packaging Type: ${truck.packagingType}` : null,
|
|
|
|
|
truck?.unitCount !== undefined ? `Unit Count: ${Number(truck.unitCount)}` : null,
|
|
|
|
|
truck?.grossWeightKg !== undefined ? `Gross Weight: ${Number(truck.grossWeightKg)} kg` : null,
|
|
|
|
|
truck?.netWeightKg !== undefined ? `Net Weight: ${Number(truck.netWeightKg)} kg` : null,
|
|
|
|
|
truck?.grossWeightKg !== undefined ? `Gross Weight: ${Number(truck.grossWeightKg)} t` : null,
|
|
|
|
|
truck?.netWeightKg !== undefined ? `Net Weight: ${Number(truck.netWeightKg)} t` : null,
|
|
|
|
|
truck?.volumeDimensions ? `Volume / Dimensions: ${truck.volumeDimensions}` : null,
|
|
|
|
|
truck?.conditionAtReceipt ? `Condition at Receipt: ${truck.conditionAtReceipt}` : null,
|
|
|
|
|
truck?.damagedRejectedQuantity !== undefined ? `Damaged / Rejected Quantity: ${Number(truck.damagedRejectedQuantity)}` : null,
|
|
|
|
|
|