mirror of
https://gitlab.com/omair-personal/izyim.git
synced 2026-08-19 04:14:05 +00:00
8a28eb1790
This reverts merge request !5
63 lines
2.2 KiB
PHP
63 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Orders\Services;
|
|
|
|
|
|
use App\Classes\Constants;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
|
|
use App\Classes\Modules\Orders\Services\Processors\ConfirmsOrder;
|
|
use App\Classes\Modules\Orders\Services\Processors\WarehousePackingOrder;
|
|
use App\Classes\Modules\Orders\Services\Processors\WarehouseReceivesOrder;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ProcessesOrderStep
|
|
{
|
|
/** @var ConfirmsOrder */
|
|
private $confirmOrder;
|
|
|
|
/** @var WarehouseReceivesOrder */
|
|
private $warehouseReceivesOrder;
|
|
|
|
/** @var WarehousePackingOrder */
|
|
private $warehousePackingOrder;
|
|
|
|
/**
|
|
* StepProcessor constructor.
|
|
* @param ConfirmsOrder $confirmOrder
|
|
* @param WarehouseReceivesOrder $warehouseReceivesOrder
|
|
* @param WarehousePackingOrder $warehousePackingOrder
|
|
*/
|
|
public function __construct(ConfirmsOrder $confirmOrder, WarehouseReceivesOrder $warehouseReceivesOrder, WarehousePackingOrder $warehousePackingOrder)
|
|
{
|
|
$this->confirmOrder = $confirmOrder;
|
|
$this->warehouseReceivesOrder = $warehouseReceivesOrder;
|
|
$this->warehousePackingOrder = $warehousePackingOrder;
|
|
}
|
|
|
|
|
|
|
|
public function execute(OrderObject $order, StepObject $step, Request $request): bool{
|
|
switch ($step->getReferenceId()){
|
|
case Constants::ORDER_PROCESSING_STEP:
|
|
return $this->confirmOrder->execute($order, $request);
|
|
case Constants::ORDER_NO_WAREHOUSE_PENDING_SUPPLIER:
|
|
return true;
|
|
case Constants::ORDER_WAREHOUSE_RECEIVING_STEP:
|
|
return $this->warehouseReceivesOrder->execute($order, $request);
|
|
case Constants::ORDER_WAREHOUSE_PACKING_STEP:
|
|
return $this->warehousePackingOrder->execute($order);
|
|
case Constants::ORDER_SHIPPING_STEP:
|
|
return true;
|
|
case Constants::ORDER_WAREHOUSE_ARRIVAL_STEP:
|
|
return true;
|
|
case Constants::ORDER_WAREHOUSE_UNPACKING_STEP:
|
|
return true;
|
|
case Constants::ORDER_DELIVERY_STEP:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
} |