diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index d74eb004..38046e26 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -262,6 +262,15 @@ class FetchOrderListsFromYdPortalProcessor $this->createPackageProcessor->execute($packageObject, $packingList); } + $weightCbm = $row->weight / 500; + $overWeightCbm = $weightCbm - $packingList->packages()->sum(DB::raw('(width/100) * (height/100) * (length/100) * quantity')); + + if($overWeightCbm > 0){ + $measurement = round($overWeightCbm ** (1/3) * 100, 2); + $packageObject = new PackageObject(PackageType::OVER_WEIGHT, 'Over Weight CBM', (float) $measurement, (float) $measurement, (float) $measurement, 0, 1, ApprovalStatus::APPROVED); + $this->createPackageProcessor->execute($packageObject, $packingList); + } + DB::commit(); $marking = $order->companyModule->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference; diff --git a/app/Classes/ValueObjects/Constants/PackageType.php b/app/Classes/ValueObjects/Constants/PackageType.php index 797c178e..c38ad962 100644 --- a/app/Classes/ValueObjects/Constants/PackageType.php +++ b/app/Classes/ValueObjects/Constants/PackageType.php @@ -8,4 +8,6 @@ final class PackageType { public const PALLET = 1; + public const OVER_WEIGHT = 2; + }