diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/AssignPackingListOrderLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/AssignPackingListOrderLogic.php index f91c637d..cba73aa8 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/AssignPackingListOrderLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/AssignPackingListOrderLogic.php @@ -2,6 +2,7 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic; +use App\Classes\Exceptions\ResourceNotFoundException; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\PackingLists\Services\FetchesPackingList; use App\Classes\Modules\Orders\Services\FetchesOrder; @@ -134,20 +135,25 @@ class AssignPackingListOrderLogic extends AbstractControllerLogic $this->unityAssignContractEntity->execute($supervisorContractEntity->hash_id, $contractObligations); - $packing_list = $this->fetchesPackingList->execute([ - 'reference' => $warehouse_packing_list->reference, - 'type' => PackingListType::SHIPPING_PACKING_LIST - ]); + try { + $packing_list = $this->fetchesPackingList->execute([ + 'reference' => $warehouse_packing_list->reference, + 'type' => PackingListType::SHIPPING_PACKING_LIST + ]); - $warehouse_packing_list = $this->updatesPackingListOwner->execute($packing_list, $order); - - $this->updatesPackingListContractReference->execute($packing_list, $contractReference); + $warehouse_packing_list = $this->updatesPackingListOwner->execute($packing_list, $order); + + $this->updatesPackingListContractReference->execute($packing_list, $contractReference); + + foreach($contractObligations as $obligation) { + $stepObject = new StepsObject($order->orderRoles()->where('role_id', '=', OrderRoleTypes::SUPERVISOR)->first()->appointee->id, $obligation->reference, $obligation->sequence, $obligation->hash_id); + $this->createsStep->execute($packing_list, $stepObject); + } + } catch (ResourceNotFoundException $exception) { - foreach($contractObligations as $obligation) { - $stepObject = new StepsObject($order->orderRoles()->where('role_id', '=', OrderRoleTypes::SUPERVISOR)->first()->appointee->id, $obligation->reference, $obligation->sequence, $obligation->hash_id); - $this->createsStep->execute($packing_list, $stepObject); } + return $this->resourceResponse(new PackingListResource($warehouse_packing_list)); } } diff --git a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php index b29dc77b..eeaca44c 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php @@ -222,17 +222,24 @@ class FetchLoadedContainersFromVTPortalProcessor $allow_contract = true; try { - $order = $this->fetchesOrder->execute(['reference' => $orderNumber]); + $warehousePackingList = $this->fetchesPackingList->execute(['reference' => $packingList[3]]); + if(!$warehousePackingList->owner instanceof Order) throw new ResourceNotFoundException; + $order = $warehousePackingList->owner; } catch (ResourceNotFoundException $exception) { try { - $order = $this->fetchesOrder->execute(['reference' => substr($orderNumber, -9)]); + $order = $this->fetchesOrder->execute(['reference' => $orderNumber]); } catch (ResourceNotFoundException $exception) { - $order = $this->fetchesCompanyModule->execute(['id' => 1]); - $allow_contract = false; - } + try { + $order = $this->fetchesOrder->execute(['reference' => substr($orderNumber, -9)]); + } catch (ResourceNotFoundException $exception) { + $order = $this->fetchesCompanyModule->execute(['id' => 1]); + $allow_contract = false; + } + } } + $packingListReference = $packingList[3]; $package = $packingList; $deliveryDate = $package[1] ? Carbon::parse($package[1]) : null;