Merge branch 'task/EXC-317' into 'master'

Updates on Packing List & Package

See merge request CIEFWorldwideSdnBhd/shipping-portal!46
This commit is contained in:
omair saleh
2021-09-08 11:10:05 +00:00
13 changed files with 67 additions and 52 deletions
@@ -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));
}
@@ -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));
@@ -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;
@@ -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;
@@ -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);
@@ -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);
@@ -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();
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
+32 -28
View File
@@ -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"
},