mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-24 06:54:26 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -9,8 +9,6 @@ class OrderStepsObject implements DataTransferObject
|
||||
{
|
||||
private $id;
|
||||
|
||||
private $order_id;
|
||||
|
||||
private $appointee_id;
|
||||
|
||||
private $reference;
|
||||
@@ -27,9 +25,8 @@ class OrderStepsObject implements DataTransferObject
|
||||
|
||||
private $hash_id;
|
||||
|
||||
public function __construct(int $order_id, int $appointee_id, string $reference, bool $primary, float $sequence, int $status, int $contract_status, ?string $completed_date, int $id=0, ?string $hash_id)
|
||||
public function __construct(int $appointee_id, string $reference, bool $primary, float $sequence, int $status, int $contract_status, ?string $completed_date, int $id=0, ?string $hash_id)
|
||||
{
|
||||
$this->order_id = $order_id;
|
||||
$this->appointee_id = $appointee_id;
|
||||
$this->reference = $reference;
|
||||
$this->primary = $primary;
|
||||
@@ -43,11 +40,6 @@ class OrderStepsObject implements DataTransferObject
|
||||
$this->hash_id = $hash_id;
|
||||
}
|
||||
|
||||
public function getOrderId(): int
|
||||
{
|
||||
return $this->order_id;
|
||||
}
|
||||
|
||||
public function getAppointeeId(): int
|
||||
{
|
||||
return $this->appointee_id;
|
||||
|
||||
@@ -43,7 +43,7 @@ class CompletesOrderStepProcessor
|
||||
|
||||
$orderStep = $this->fetchesOrderStep->getRepository()->where('id', $request->get('id'))->first();
|
||||
|
||||
$contractEntity = $orderStep->orderRole()->where('order_id',$orderStep->order_id)->first();
|
||||
$contractEntity = $orderStep->orderRole()->where('order_id',$orderStep->owner_id)->first();
|
||||
|
||||
$obligation_hash_id = $orderStep->unity_hash_id;
|
||||
$contract_entity_signature = $contractEntity->role_signature;
|
||||
@@ -53,7 +53,6 @@ class CompletesOrderStepProcessor
|
||||
//Unity Contract Obligation Completed Status = 3
|
||||
if(isset($completed->status) && $completed->status == OrderStatus::COMPLETE){
|
||||
$orderStepObject = new OrderStepsObject(
|
||||
$orderStep->order->id,
|
||||
$contractEntity->company_module_id,
|
||||
$orderStep->reference,
|
||||
true,
|
||||
|
||||
@@ -37,11 +37,11 @@ class CreateOrderStepsProcessor
|
||||
|
||||
public function execute(Model $order, string $currentStep, $appointee_id){
|
||||
|
||||
$order_steps_object = new OrderStepsObject($order->id, $appointee_id, $currentStep, true, 0, OrderStatus::PROCESSING, 0, null, 0, null);
|
||||
$order_steps_object = new OrderStepsObject( $appointee_id, $currentStep, true, 0, OrderStatus::PROCESSING, 0, null, 0, null);
|
||||
|
||||
$this->canCreateOrderStep->passes($order_steps_object);
|
||||
|
||||
return $this->createsOrderSteps->execute($order_steps_object);
|
||||
return $this->createsOrderSteps->execute($order, $order_steps_object);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,8 +47,7 @@ class GenerateOrderStepsProcessor
|
||||
|
||||
foreach($obligations as $step){
|
||||
$orderSteps[] = new OrderStepsObject(
|
||||
$order->id,
|
||||
$orderRoles[0]->company_module_id,
|
||||
$orderRoles[0]->company_module_id,
|
||||
$step->name,
|
||||
true,
|
||||
$step->sequence??0,
|
||||
|
||||
@@ -31,7 +31,7 @@ class UpdateOrderStepsProcessor
|
||||
|
||||
public function execute(string $currentStep){
|
||||
|
||||
$orderStepsObject = new OrderStepsObject(0,0,$currentStep, 0, 0, 1, 1, null, 0, null);
|
||||
$orderStepsObject = new OrderStepsObject(0,$currentStep, 0, 0, 1, 1, null, 0, null);
|
||||
|
||||
$this->canUpdateOrderStep->passes($orderStepsObject);
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRelationshipRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\Order;
|
||||
@@ -15,7 +16,6 @@ class CreatesManyOrderSteps extends AbstractUpdateRecord
|
||||
$orderStepsModel=[];
|
||||
foreach($orderSteps as $step){
|
||||
$orderStepsModel[]=[
|
||||
'order_id' => $step->getOrderId(),
|
||||
'appointee_id' => $step->getAppointeeId(),
|
||||
'reference' => $step->getReference(),
|
||||
'primary' => $step->getPrimary(),
|
||||
@@ -25,7 +25,9 @@ class CreatesManyOrderSteps extends AbstractUpdateRecord
|
||||
'unity_hash_id' => $step->getHashId(),
|
||||
];
|
||||
}
|
||||
$order->orderSteps()->createMany($orderStepsModel);
|
||||
|
||||
OrderStep::insert($orderStepsModel);
|
||||
//$order->orderSteps()->createMany($orderStepsModel);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,27 +3,27 @@
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRelationshipRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\Order;
|
||||
|
||||
class CreatesOrderSteps extends AbstractUpdateRecord
|
||||
class CreatesOrderSteps extends AbstractUpdateRelationshipRecord
|
||||
{
|
||||
|
||||
public function execute(OrderStepsObject $orderSteps) {
|
||||
public function execute(Order $order, OrderStepsObject $orderSteps) {
|
||||
|
||||
$orderStepsModel = new OrderStep();
|
||||
|
||||
$orderStepsModel->order_id = $orderSteps->getOrderId();
|
||||
$orderStepsModel->appointee_id = $orderSteps->getAppointeeId();
|
||||
$orderStepsModel->reference = $orderSteps->getReference();
|
||||
$orderStepsModel->primary = $orderSteps->getPrimary();
|
||||
$orderStepsModel->sequence = $orderSteps->getSequence();
|
||||
$orderStepsModel->status = 0;
|
||||
$orderStepsModel->contract_status = 0;
|
||||
$orderStepsModel->complete_date = null;
|
||||
$orderStepsModel->appointee_id = $orderSteps->getAppointeeId();
|
||||
$orderStepsModel->reference = $orderSteps->getReference();
|
||||
$orderStepsModel->primary = $orderSteps->getPrimary();
|
||||
$orderStepsModel->sequence = $orderSteps->getSequence();
|
||||
$orderStepsModel->status = 0;
|
||||
$orderStepsModel->contract_status = 0;
|
||||
$orderStepsModel->complete_date = null;
|
||||
|
||||
return $this->handler($orderStepsModel);
|
||||
return $this->handler($order->orderSteps(), $orderStepsModel);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRelationshipRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\PackingList;
|
||||
|
||||
class CreatesPackingOrderSteps extends AbstractUpdateRelationshipRecord
|
||||
{
|
||||
|
||||
public function execute(PackingList $packingList, OrderStepsObject $orderSteps) {
|
||||
|
||||
$orderStepsModel = new OrderStep();
|
||||
|
||||
$orderStepsModel->appointee_id = $orderSteps->getAppointeeId();
|
||||
$orderStepsModel->reference = $orderSteps->getReference();
|
||||
$orderStepsModel->primary = $orderSteps->getPrimary();
|
||||
$orderStepsModel->sequence = $orderSteps->getSequence();
|
||||
$orderStepsModel->status = 0;
|
||||
$orderStepsModel->contract_status = 0;
|
||||
$orderStepsModel->complete_date = null;
|
||||
|
||||
return $this->handler($packingList->orderSteps(), $orderStepsModel);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -43,7 +43,6 @@ class ConfirmOrderProcessor
|
||||
$orderStep = $order->orderSteps[0];
|
||||
|
||||
$orderStepObject = new OrderStepsObject(
|
||||
$order->id,
|
||||
0,
|
||||
$orderStep->reference,
|
||||
true,
|
||||
|
||||
@@ -39,7 +39,7 @@ class UpdatesOrderCurrentStepProcessor
|
||||
$order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]);
|
||||
|
||||
//Count steps / obligations that pending
|
||||
$order_steps_processing = $this->fetchesOrderSteps->getRepository()->where(['order_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING])->count();
|
||||
$order_steps_processing = $this->fetchesOrderSteps->getRepository()->where(['owner_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING])->count();
|
||||
|
||||
//If no more steps / obligations, then update Order status to complete (Contract fullfilled)
|
||||
if($order_steps_processing==0){
|
||||
|
||||
@@ -23,9 +23,9 @@ class Order extends AbstractModel implements Addressable
|
||||
return $this->belongsTo(CompanyModule::class, 'company_module_id', 'id');
|
||||
}
|
||||
|
||||
public function orderSteps()
|
||||
public function orderSteps(): morphMany
|
||||
{
|
||||
return $this->hasMany(OrderStep::class, 'order_id');
|
||||
return $this->morphMany(OrderStep::class, 'owner');
|
||||
}
|
||||
|
||||
public function addresses(): morphMany
|
||||
|
||||
@@ -28,7 +28,7 @@ class OrderStep extends AbstractModel
|
||||
|
||||
public function order(): belongsTo
|
||||
{
|
||||
return $this->belongsTo(Order::class, 'order_id', 'id');
|
||||
return $this->belongsTo(Order::class, 'owner_id', 'id');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,4 +9,9 @@ class PackingList extends AbstractModel
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'packing_lists';
|
||||
|
||||
public function orderSteps(): morphMany
|
||||
{
|
||||
return $this->morphMany(OrderStep::class, 'owner');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AlterOrderStepsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('order_steps', function (Blueprint $table) {
|
||||
$table->dropForeign('order_steps_order_id_foreign');
|
||||
$table->dropColumn('order_id');
|
||||
$table->nullableMorphs('owner');
|
||||
});
|
||||
|
||||
Schema::table('order_steps', function (Blueprint $table) {
|
||||
$table->string('owner_type', 191)->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user