mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 12:34:18 +00:00
69 lines
2.4 KiB
PHP
69 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\OrderSteps\Processors;
|
|
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
|
use App\Classes\Modules\OrderSteps\Processors\UpdateOrderStepsProcessor;
|
|
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
|
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
|
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
|
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
|
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
|
use App\Classes\Modules\OrderSteps\Services\CreatesManyOrderSteps;
|
|
use App\Classes\ValueObjects\Constants\OrderStatus;
|
|
use App\Classes\ValueObjects\Constants\OrderSteps;
|
|
use App\Classes\Modules\Unity\Processors\GetContractObligationsProcessor;
|
|
use App\Models\Order;
|
|
use App\Models\OrderStep;
|
|
use App\Classes\Jobs\UnityLogin;
|
|
use Config;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
|
|
class GenerateOrderStepsProcessor
|
|
{
|
|
private $updatesOrderCurrentStep;
|
|
|
|
private $createsManyOrderStep;
|
|
|
|
private $updateOrderStepProcessors;
|
|
|
|
private $getUnityContractObligationsProcessor;
|
|
|
|
public function __construct(UpdatesOrderCurrentStepProcessor $updatesOrderCurrentStep, CreatesManyOrderSteps $createsManyOrderStep, UpdateOrderStepsProcessor $updateOrderStepProcessors, GetContractObligationsProcessor $getUnityContractObligationsProcessor)
|
|
{
|
|
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
|
|
$this->createsManyOrderStep = $createsManyOrderStep;
|
|
$this->updateOrderStepProcessors = $updateOrderStepProcessors;
|
|
$this->getUnityContractObligationsProcessor = $getUnityContractObligationsProcessor;
|
|
}
|
|
|
|
public function execute(Order $order){
|
|
|
|
$obligations = $this->getUnityContractObligationsProcessor->execute();
|
|
|
|
//TODO: Update Appointee ID to Entity User base on hash key
|
|
|
|
foreach($obligations as $step){
|
|
$orderSteps[] = new OrderStepsObject(
|
|
$order->id,
|
|
1,
|
|
$step->name,
|
|
true,
|
|
$step->sequence,
|
|
0,
|
|
0,
|
|
null
|
|
);
|
|
}
|
|
|
|
$this->createsManyOrderStep->execute($order, $orderSteps);
|
|
|
|
$this->updatesOrderCurrentStep->execute($order->id, OrderSteps::PACKING);
|
|
|
|
$this->updateOrderStepProcessors->execute(OrderSteps::PROCESSING);
|
|
|
|
}
|
|
}
|