mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-08-28 08:53:57 +00:00
large commit
This commit is contained in:
@@ -6,6 +6,8 @@ use App\Classes\Constants;
|
||||
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\TrackingNumberObject;
|
||||
use App\Classes\Modules\Orders\Services\Attachments\UpdatesTrackingNumber;
|
||||
use App\Classes\Modules\Orders\Services\SetsOrderWarehouse;
|
||||
use App\Classes\Modules\Orders\Services\Steps\UpdatesStepCompleteDate;
|
||||
use App\Classes\ValueObjects\Constants\HttpStatus;
|
||||
@@ -20,15 +22,20 @@ class UpdateReceiveNoteLogic
|
||||
/** @var UpdatesStepCompleteDate */
|
||||
private $updatesStepCompleteDate;
|
||||
|
||||
/** @var UpdatesTrackingNumber */
|
||||
private $updatesTrackingNumber;
|
||||
|
||||
/**
|
||||
* UpdateReceiveNoteLogic constructor.
|
||||
* @param SetsOrderWarehouse $setsOrderWarehouse
|
||||
* @param UpdatesStepCompleteDate $updatesStepCompleteDate
|
||||
* @param UpdatesTrackingNumber $updatesTrackingNumber
|
||||
*/
|
||||
public function __construct(SetsOrderWarehouse $setsOrderWarehouse, UpdatesStepCompleteDate $updatesStepCompleteDate)
|
||||
public function __construct(SetsOrderWarehouse $setsOrderWarehouse, UpdatesStepCompleteDate $updatesStepCompleteDate, UpdatesTrackingNumber $updatesTrackingNumber)
|
||||
{
|
||||
$this->setsOrderWarehouse = $setsOrderWarehouse;
|
||||
$this->updatesStepCompleteDate = $updatesStepCompleteDate;
|
||||
$this->updatesTrackingNumber = $updatesTrackingNumber;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,17 +48,20 @@ class UpdateReceiveNoteLogic
|
||||
public function execute(string $orderId, Request $request){
|
||||
|
||||
try{
|
||||
|
||||
$orderObject = new OrderObject($orderId, null, $request->input('warehouse_id'));
|
||||
$this->setsOrderWarehouse->execute($orderObject);
|
||||
|
||||
$stepObject = new StepObject(Constants::ORDER_WAREHOUSE_RECEIVING_STEP, $request->input('complete_date'));
|
||||
$this->updatesStepCompleteDate->execute($orderObject, $stepObject);
|
||||
|
||||
$this->setsOrderWarehouse->execute($orderObject);
|
||||
$this->updatesStepCompleteDate->execute($orderId, $stepObject);
|
||||
|
||||
$trackingNumberObject = new TrackingNumberObject(0, $request->input('tracking_number'));
|
||||
$this->updatesTrackingNumber->execute($orderObject, $trackingNumberObject);
|
||||
|
||||
return new JsonResponse([], HttpStatus::RESOURCE_CREATED);
|
||||
|
||||
}catch(\Exception $exception) {
|
||||
throw new InternalServerErrorException("Failed to update order's packing list because {$exception->getMessage()}");
|
||||
throw new InternalServerErrorException("Failed to update order's receive note because {$exception->getMessage()}");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user