mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-09-01 19:03:58 +00:00
Major incomplete Change
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user