From cdaa39582468f292ba7b790f26b0e05c083e72ab Mon Sep 17 00:00:00 2001 From: Fairuz Date: Tue, 7 Sep 2021 09:51:04 +0800 Subject: [PATCH] Updates on Packing List & Package --- .../CreatePackingListLogic.php | 19 ++++-- .../Packages/CreatePackageLogic.php | 5 +- .../Packages/FetchPackageLogic.php | 4 +- .../Packages/ListPackagesLogic.php | 4 +- .../Packages/UpdatePackageLogic.php | 14 ++--- .../UpdatePackingListLogic.php | 2 +- .../Services/Packages/UpdatesPackage.php | 1 - .../Packages/CreatePackageController.php | 2 +- .../Packages/DeletePackageController.php | 2 +- .../Packages/FetchPackageController.php | 2 +- .../Packages/ListPackagesController.php | 2 +- .../Packages/UpdatePackageController.php | 2 +- resources/views/swagger/json.blade.php | 60 ++++++++++--------- 13 files changed, 67 insertions(+), 52 deletions(-) diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php index a06a6842..afd8f3d7 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/CreatePackingListLogic.php @@ -5,6 +5,7 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\PackingLists\DataTransferObjects\PackageObject; use App\Classes\Modules\PackingLists\Processors\CreatePackingListProcessor; +use App\Classes\Modules\Orders\Services\FetchesOrder; use App\Classes\Modules\PackingLists\Services\Packages\FetchesPackage; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\General\Abstracts\AbstractControllerLogic; @@ -13,6 +14,9 @@ use App\Classes\Modules\PackingLists\Services\CreatesPackingListPackage; use App\Classes\Modules\PackingLists\Standards\Rules\CanCreatePackingList; use App\Classes\Modules\PackingLists\Standards\Rules\CanCreatePackingListPackage; use App\Classes\Modules\PackingLists\DataTransferObjects\PackingListObject; +use App\Classes\ValueObjects\Constants\OrderRoleTypes; +use App\Classes\ValueObjects\Constants\PackingListType; + use App\Http\Resources\PackingListResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -34,13 +38,18 @@ class CreatePackingListLogic extends AbstractControllerLogic /** @var CreatePackingListProcessor */ private $createPackingListProcessor; + /** @var FetchesOrder */ + private $fetchesOrder; + /** * CreatePackingListLogic constructor. * @param CreatePackingListProcessor $createPackingListProcessor + * @param FetchesOrder $fetchesOrder */ - public function __construct(CreatePackingListProcessor $createPackingListProcessor) + public function __construct(CreatePackingListProcessor $createPackingListProcessor, FetchesOrder $fetchesOrder) { $this->createPackingListProcessor = $createPackingListProcessor; + $this->fetchesOrder = $fetchesOrder; } /** @@ -50,11 +59,13 @@ class CreatePackingListLogic extends AbstractControllerLogic public function logic(Request $request) : JsonResponse { - $object = new PackingListObject($request->input('reference_number'), ApprovalStatus::PENDING_SUBMISSION); + $order = $this->fetchesOrder->execute(['reference' => $request->input('reference_number')]); - $query = $this->createPackingListProcessor->execute($object); + $packingListObject = new PackingListObject($request->input('reference_number'), $order->orderRoles()->where('role_id', '=', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee->id, PackingListType::WAREHOUSE_RECEIVE_LIST, ApprovalStatus::PENDING_SUBMISSION); - return $this->resourceResponse(new PackingListResource($query)); + $packingList = $this->createPackingListProcessor->execute($packingListObject, $order); + + return $this->resourceResponse(new PackingListResource($packingList)); } diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php index c9eebc15..28e43d02 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php @@ -12,6 +12,7 @@ use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Http\Resources\PackageResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use App\Classes\ValueObjects\Constants\PackageType; class CreatePackageLogic extends AbstractControllerLogic { @@ -65,19 +66,19 @@ class CreatePackageLogic extends AbstractControllerLogic $order = $this->fetchesOrder->execute(['id' => $request->input('order_id')]); $object = new PackageObject( - null, $request->input('type'), $request->input('description'), $request->input('width'), $request->input('height'), $request->input('length'), $request->input('weight'), + 0, $request->input('quantity'), ApprovalStatus::PENDING_VERIFICATION); $this->canCreatePackage->passes($object); - $query = $this->createsPackage->execute($object); + $query = $this->createsPackage->execute($object, $order->packingLists()->first()); return $this->resourceResponse(new PackageResource($query)); diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/FetchPackageLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/FetchPackageLogic.php index d2e8be81..0dcb6b07 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/FetchPackageLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/FetchPackageLogic.php @@ -4,8 +4,8 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic\Packages; use App\Classes\General\Abstracts\AbstractControllerLogic; -use App\Classes\Modules\Packages\Services\FetchesPackage; -use App\Classes\Modules\Packages\Standards\Rules\CanFetchPackage; +use App\Classes\Modules\PackingLists\Services\Packages\FetchesPackage; +use App\Classes\Modules\PackingLists\Standards\Rules\Packages\CanFetchPackage; use App\Http\Resources\PackageResource; use ErrorException; use Illuminate\Http\JsonResponse; diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/ListPackagesLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/ListPackagesLogic.php index 48aee051..80d73e5b 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/ListPackagesLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/ListPackagesLogic.php @@ -4,8 +4,8 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic\Packages; use App\Classes\General\Abstracts\AbstractControllerLogic; -use App\Classes\Modules\Packages\Services\ListsPackages; -use App\Classes\Modules\Packages\Standards\Rules\CanListPackages; +use App\Classes\Modules\PackingLists\Services\Packages\ListsPackages; +use App\Classes\Modules\PackingLists\Standards\Rules\Packages\CanListPackages; use App\Http\Resources\PackageResource; use ErrorException; use Illuminate\Http\JsonResponse; diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/UpdatePackageLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/UpdatePackageLogic.php index b96e6933..6b25e3a5 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/UpdatePackageLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/UpdatePackageLogic.php @@ -4,10 +4,10 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic\Packages; use App\Classes\General\Abstracts\AbstractControllerLogic; -use App\Classes\Modules\Packages\Services\UpdatesPackage; -use App\Classes\Modules\Packages\Services\FetchesPackage; -use App\Classes\Modules\Packages\Standards\Rules\CanUpdatePackage; -use App\Classes\Modules\Packages\DataTransferObjects\PackageObject; +use App\Classes\Modules\PackingLists\Services\Packages\UpdatesPackage; +use App\Classes\Modules\PackingLists\Services\Packages\FetchesPackage; +use App\Classes\Modules\PackingLists\Standards\Rules\Packages\CanUpdatePackage; +use App\Classes\Modules\PackingLists\DataTransferObjects\PackageObject; use App\Http\Resources\PackageResource; use ErrorException; use Illuminate\Http\JsonResponse; @@ -60,8 +60,6 @@ class UpdatePackageLogic extends AbstractControllerLogic $package = $this->fetchesPackage->execute(['id' => $request->route('id')]); $object = new PackageObject( - $package->order_id, - null, $request->input('type'), $request->input('description'), $request->input('width'), @@ -69,7 +67,9 @@ class UpdatePackageLogic extends AbstractControllerLogic $request->input('length'), $request->input('weight'), $request->input('quantity'), - $request->input('status')); + $request->input('status'), + $package->reference + ); $this->canUpdatePackage->passes($object); diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php index 926b9873..7f5232dc 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/UpdatePackingListLogic.php @@ -57,7 +57,7 @@ class UpdatePackingListLogic extends AbstractControllerLogic { $packingList = $this->fetchesPackingList->execute(['id' => $request->route('id')]); - $object = new PackingListObject($packingList->reference, $request->input('status')); + $object = new PackingListObject($packingList->reference, $packingList->claimant_id, $packingList->type, $request->input('status')); $this->canUpdatePackingList->passes($object); diff --git a/app/Classes/Modules/PackingLists/Services/Packages/UpdatesPackage.php b/app/Classes/Modules/PackingLists/Services/Packages/UpdatesPackage.php index 9cb265fd..b1903eb5 100644 --- a/app/Classes/Modules/PackingLists/Services/Packages/UpdatesPackage.php +++ b/app/Classes/Modules/PackingLists/Services/Packages/UpdatesPackage.php @@ -10,7 +10,6 @@ class UpdatesPackage extends AbstractUpdateRecord { public function execute(Package $model, PackageObject $object) { - $model->claimant_id = $object->getClaimantId(); $model->type = $object->getType(); $model->description = $object->getDescription(); $model->width = $object->getWidth(); diff --git a/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php b/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php index a3f1ddbb..a540ca51 100644 --- a/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php +++ b/app/Http/Controllers/PackingLists/Packages/CreatePackageController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\ControllersLogic\Packages\CreatePackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\CreatePackageLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/PackingLists/Packages/DeletePackageController.php b/app/Http/Controllers/PackingLists/Packages/DeletePackageController.php index 455e550d..4e9235c9 100644 --- a/app/Http/Controllers/PackingLists/Packages/DeletePackageController.php +++ b/app/Http/Controllers/PackingLists/Packages/DeletePackageController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\ControllersLogic\Packages\DeletePackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\DeletePackageLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/PackingLists/Packages/FetchPackageController.php b/app/Http/Controllers/PackingLists/Packages/FetchPackageController.php index 6ad30c56..0bb60451 100644 --- a/app/Http/Controllers/PackingLists/Packages/FetchPackageController.php +++ b/app/Http/Controllers/PackingLists/Packages/FetchPackageController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\ControllersLogic\Packages\FetchPackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\FetchPackageLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/PackingLists/Packages/ListPackagesController.php b/app/Http/Controllers/PackingLists/Packages/ListPackagesController.php index fe834b6b..75bed1d5 100644 --- a/app/Http/Controllers/PackingLists/Packages/ListPackagesController.php +++ b/app/Http/Controllers/PackingLists/Packages/ListPackagesController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\ControllersLogic\Packages\ListPackagesLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\ListPackagesLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/PackingLists/Packages/UpdatePackageController.php b/app/Http/Controllers/PackingLists/Packages/UpdatePackageController.php index cfc2e248..bc334d11 100644 --- a/app/Http/Controllers/PackingLists/Packages/UpdatePackageController.php +++ b/app/Http/Controllers/PackingLists/Packages/UpdatePackageController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\PackingLists\Packages; -use App\Classes\Modules\ControllersLogic\Packages\UpdatePackageLogic; +use App\Classes\Modules\PackingLists\ControllersLogic\Packages\UpdatePackageLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/resources/views/swagger/json.blade.php b/resources/views/swagger/json.blade.php index 1e09fa9c..1f64c81e 100644 --- a/resources/views/swagger/json.blade.php +++ b/resources/views/swagger/json.blade.php @@ -28,13 +28,17 @@ "name": "Order", "description": "Endpoints related to order module." }, + { + "name": "Packing", + "description": "Endpoints related to packing module." + }, { "name": "Package", "description": "Endpoints related to package module." }, { - "name": "Packing", - "description": "Endpoints related to packing module." + "name": "Container", + "description": "Endpoints related to container module." }, { "name": "Transport", @@ -71,9 +75,9 @@ "description": "", "parameters": [ { - "name": "package_id", + "name": "reference_number", "in": "query", - "description": "Package Id", + "description": "Reference No", "required": true, "type": "integer" } @@ -221,7 +225,7 @@ "description": "Status", "required": true, "type": "integer" - }, + } ], "responses": { "200": { @@ -296,7 +300,7 @@ "/packing_list/container/create": { "post": { "tags": [ - "Packing" + "Container" ], "produces": [ "application/json" @@ -362,7 +366,7 @@ "/packing_list/container/list": { "get": { "tags": [ - "Packing" + "Container" ], "produces": [ "application/json" @@ -410,7 +414,7 @@ "/packing_list/container/{id}/show": { "get": { "tags": [ - "Packing" + "Container" ], "produces": [ "application/json" @@ -455,7 +459,7 @@ "/packing_list/container/update/{id}": { "put": { "tags": [ - "Packing" + "Container" ], "produces": [ "application/json" @@ -528,7 +532,7 @@ "/packing_list/container/delete/{id}": { "delete": { "tags": [ - "Packing" + "Container" ], "produces": [ "application/json" @@ -826,7 +830,7 @@ } } }, - "/package/create": { + "/packing_list/package/create": { "post": { "tags": [ "Package" @@ -893,7 +897,7 @@ "description": "Quantity", "required": true, "type": "integer" - }, + } ], "responses": { "200": { @@ -920,7 +924,7 @@ } } }, - "/package/list": { + "/packing_list/package/list": { "get": { "tags": [ "Package" @@ -968,7 +972,7 @@ } } }, - "/package/{id}/show": { + "/packing_list/package/{id}/show": { "get": { "tags": [ "Package" @@ -1013,7 +1017,7 @@ } } }, - "/package/update/{id}": { + "/packing_list/package/update/{id}": { "put": { "tags": [ "Package" @@ -1087,7 +1091,7 @@ "description": "Status", "required": true, "type": "integer" - }, + } ], "responses": { "200": { @@ -1114,7 +1118,7 @@ } } }, - "/package/delete/{id}": { + "/packing_list/package/delete/{id}": { "delete": { "tags": [ "Package" @@ -1159,7 +1163,7 @@ } } }, - "/package/item/create": { + "/packing_list/package/item/create": { "post": { "tags": [ "Package" @@ -1219,7 +1223,7 @@ "description": "Total", "required": true, "type": "number" - }, + } ], "responses": { "200": { @@ -1246,7 +1250,7 @@ } } }, - "/package/item/list": { + "/packing_list/package/item/list": { "get": { "tags": [ "Package" @@ -1294,7 +1298,7 @@ } } }, - "/package/item/{id}/show": { + "/packing_list/package/item/{id}/show": { "get": { "tags": [ "Package" @@ -1339,7 +1343,7 @@ } } }, - "/package/item/update/{id}": { + "/packing_list/package/item/update/{id}": { "put": { "tags": [ "Package" @@ -1406,7 +1410,7 @@ "description": "Status", "required": true, "type": "integer" - }, + } ], "responses": { "200": { @@ -1433,7 +1437,7 @@ } } }, - "/package/item/delete/{id}": { + "/packing_list/package/item/delete/{id}": { "delete": { "tags": [ "Package" @@ -1490,7 +1494,7 @@ "summary": "Create transport", "description": "", "parameters": [ - { + { "name": "container_id", "in": "query", "description": "Container Id", @@ -1697,7 +1701,7 @@ "description": "Status", "required": true, "type": "integer" - }, + } ], "responses": { "200": { @@ -2294,9 +2298,9 @@ "description": "", "parameters": [ { - "name": "company_module_id", + "name": "company_id", "in": "query", - "description": "Company Module ID", + "description": "Company ID", "required": true, "type": "integer" },