From 3c20386875deb82621fa77622e5becbc57046d84 Mon Sep 17 00:00:00 2001 From: weichien00 Date: Thu, 19 Aug 2021 01:31:27 +0800 Subject: [PATCH 01/43] feat: API to request change order address --- .../DataTransferObjects/AddressObject.php | 12 +++- .../Addresses/Services/CreatesAddress.php | 1 + .../RequestChangeOrderAddressLogic.php | 49 ++++++++++++++ .../RequestChangeOrderAddressProcessor.php | 66 +++++++++++++++++++ .../Standards/Rules/CanChangeOrderAddress.php | 39 +++++++++++ .../RequestChangeOrderAddressController.php | 20 ++++++ app/Http/Resources/OrderResource.php | 1 + app/Models/Order.php | 11 ++++ 8 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 app/Classes/Modules/Orders/ControllersLogic/RequestChangeOrderAddressLogic.php create mode 100644 app/Classes/Modules/Orders/Processors/RequestChangeOrderAddressProcessor.php create mode 100644 app/Classes/Modules/Orders/Standards/Rules/CanChangeOrderAddress.php create mode 100644 app/Http/Controllers/Orders/RequestChangeOrderAddressController.php diff --git a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php index 76c66b52..b4453c3a 100644 --- a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php +++ b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php @@ -3,6 +3,7 @@ namespace App\Classes\Modules\Addresses\DataTransferObjects; use App\Classes\General\Interfaces\DataTransferObject; +use App\Classes\ValueObjects\Constants\ApprovalStatus; class AddressObject implements DataTransferObject { @@ -38,7 +39,7 @@ class AddressObject implements DataTransferObject * @param int $postCode * @param null|string $reference */ - public function __construct(string $streetOne, ?string $streetTwo, int $countryId, int $stateId, int $districtId, int $postCode, ?string $reference = null) + public function __construct(string $streetOne, ?string $streetTwo, int $countryId, int $stateId, int $districtId, int $postCode, ?string $reference = null, ?int $status = ApprovalStatus::APPROVED) { $this->streetOne = $streetOne; $this->streetTwo = $streetTwo; @@ -47,6 +48,7 @@ class AddressObject implements DataTransferObject $this->districtId = $districtId; $this->postCode = $postCode; $this->reference = $reference; + $this->status = $status; } /** @@ -105,5 +107,13 @@ class AddressObject implements DataTransferObject return $this->reference; } + /** + * @return int + */ + public function getStatus(): int + { + return $this->status; + } + } \ No newline at end of file diff --git a/app/Classes/Modules/Addresses/Services/CreatesAddress.php b/app/Classes/Modules/Addresses/Services/CreatesAddress.php index b6662a98..b9f2716c 100644 --- a/app/Classes/Modules/Addresses/Services/CreatesAddress.php +++ b/app/Classes/Modules/Addresses/Services/CreatesAddress.php @@ -28,6 +28,7 @@ class CreatesAddress extends AbstractUpdateRelationshipRecord $model->state_id = $object->getStateId(); $model->district_id = $object->getDistrictId(); $model->postcode = $object->getPostCode(); + $model->status = $object->getStatus(); return $this->handler($addressable->addresses(), $model); diff --git a/app/Classes/Modules/Orders/ControllersLogic/RequestChangeOrderAddressLogic.php b/app/Classes/Modules/Orders/ControllersLogic/RequestChangeOrderAddressLogic.php new file mode 100644 index 00000000..b0c24f0b --- /dev/null +++ b/app/Classes/Modules/Orders/ControllersLogic/RequestChangeOrderAddressLogic.php @@ -0,0 +1,49 @@ + 'Request To Change Order Address', + 'message' => 'You have successfully request to change order address' + ]; + } + + /** @var RequestChangeOrderAddressProcessor */ + private $requestChangeOrderAddressProcessor; + + /** + * RequestChangeOrderAddressLogic constructor. + * @param RequestChangeOrderAddressProcessor $requestChangeOrderAddressProcessor + */ + + public function __construct(RequestChangeOrderAddressProcessor $requestChangeOrderAddressProcessor) + { + $this->requestChangeOrderAddressProcessor = $requestChangeOrderAddressProcessor; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\MalformedRequestException + */ + + public function logic(Request $request): JsonResponse + { + $order = $this->requestChangeOrderAddressProcessor->execute($request); + + return $this->resourceResponse(new OrderResource($order)); + } +} diff --git a/app/Classes/Modules/Orders/Processors/RequestChangeOrderAddressProcessor.php b/app/Classes/Modules/Orders/Processors/RequestChangeOrderAddressProcessor.php new file mode 100644 index 00000000..7f01726b --- /dev/null +++ b/app/Classes/Modules/Orders/Processors/RequestChangeOrderAddressProcessor.php @@ -0,0 +1,66 @@ +canChangeOrderAddress = $canChangeOrderAddress; + $this->fetchesOrder = $fetchesOrder; + $this->createsAddress = $createsAddress; + $this->fetchesAddress = $fetchesAddress; + $this->deletesAddress = $deletesAddress; + } + + + public function execute(Request $request) + { + + $this->canChangeOrderAddress->passes(); + + $order = $this->fetchesOrder->execute(['id' => $request->get('order_id')]); + foreach ($order->addressesPendingVerification as $address) { + $this->deletesAddress->execute($address); + } + + $address = $this->fetchesAddress->execute(['id' => $request->get('address_id')]); + $addressObject = new AddressObject($address->street_one, $address->street_two, $address->country_id, $address->state_id, $address->district_id, $address->postcode, $address->reference, ApprovalStatus::PENDING_VERIFICATION); + $this->createsAddress->execute($order, $addressObject); + + return $order; + } +} diff --git a/app/Classes/Modules/Orders/Standards/Rules/CanChangeOrderAddress.php b/app/Classes/Modules/Orders/Standards/Rules/CanChangeOrderAddress.php new file mode 100644 index 00000000..1030168b --- /dev/null +++ b/app/Classes/Modules/Orders/Standards/Rules/CanChangeOrderAddress.php @@ -0,0 +1,39 @@ +execute($request); + } +} diff --git a/app/Http/Resources/OrderResource.php b/app/Http/Resources/OrderResource.php index 1a31578f..1653de70 100644 --- a/app/Http/Resources/OrderResource.php +++ b/app/Http/Resources/OrderResource.php @@ -24,6 +24,7 @@ class OrderResource extends JsonResource 'company_module' => new CompanyModuleResource($this->companyModule), 'warehouse' => new CompanyModuleResource($this->orderRoles()->where('role_id', '=', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee), 'address' => new AddressResource($this->addresses()->first()), + 'address_change_request' => new AddressResource($this->addressesPendingVerification()->first()), 'created_at' => $this->created_at->format('d-m-Y') ]; } diff --git a/app/Models/Order.php b/app/Models/Order.php index 58f64dc8..050ff390 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Classes\General\Interfaces\Addressable; use App\Classes\ValueObjects\Constants\RoleTypes; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Scopes\CustomerOrdersScope; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; @@ -57,4 +58,14 @@ class Order extends AbstractModel implements Addressable // static::addGlobalScope(new CustomerOrdersScope); // } } + + public function addressesPendingVerification() + { + return $this->addresses()->where('status','=',ApprovalStatus::PENDING_VERIFICATION); + } + + public function addressesApproved() + { + return $this->addresses()->where('status','=',ApprovalStatus::APPROVED); + } } From 5a043e89a027fa7b1c36f57c6778eb0762bee475 Mon Sep 17 00:00:00 2001 From: weichien00 Date: Thu, 19 Aug 2021 01:33:16 +0800 Subject: [PATCH 02/43] feat: API to approve order address change. --- .../ApproveChangeOrderAddressLogic.php | 43 +++++++++++++++ .../ApproveChangeOrderAddressProcessor.php | 53 +++++++++++++++++++ .../Orders/Services/UpdatesOrdersAddress.php | 20 +++++++ .../Rules/CanApproveChangeOrderAddress.php | 39 ++++++++++++++ .../ApproveChangeOrderAddressController.php | 20 +++++++ 5 files changed, 175 insertions(+) create mode 100644 app/Classes/Modules/Orders/ControllersLogic/ApproveChangeOrderAddressLogic.php create mode 100644 app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php create mode 100644 app/Classes/Modules/Orders/Services/UpdatesOrdersAddress.php create mode 100644 app/Classes/Modules/Orders/Standards/Rules/CanApproveChangeOrderAddress.php create mode 100644 app/Http/Controllers/Orders/ApproveChangeOrderAddressController.php diff --git a/app/Classes/Modules/Orders/ControllersLogic/ApproveChangeOrderAddressLogic.php b/app/Classes/Modules/Orders/ControllersLogic/ApproveChangeOrderAddressLogic.php new file mode 100644 index 00000000..ff78145e --- /dev/null +++ b/app/Classes/Modules/Orders/ControllersLogic/ApproveChangeOrderAddressLogic.php @@ -0,0 +1,43 @@ + 'Change Order Address Approval', + 'message' => 'You have successfully change the order address' + ]; + } + + /** @var ApproveChangeOrderAddressProcessor */ + private $approveChangeOrderAddressProcessor; + + /** + * ApproveChangeOrderAddressLogic constructor. + * @param ApproveChangeOrderAddressProcessor $approveChangeOrderAddressProcessor + */ + + public function __construct(ApproveChangeOrderAddressProcessor $approveChangeOrderAddressProcessor) + { + $this->approveChangeOrderAddressProcessor = $approveChangeOrderAddressProcessor; + } + + public function logic(Request $request): JsonResponse + { + $order = $this->approveChangeOrderAddressProcessor->execute($request); + + return $this->resourceResponse(new OrderResource($order)); + } +} diff --git a/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php b/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php new file mode 100644 index 00000000..423d8ce5 --- /dev/null +++ b/app/Classes/Modules/Orders/Processors/ApproveChangeOrderAddressProcessor.php @@ -0,0 +1,53 @@ +canApproveChangeOrderAddress = $canApproveChangeOrderAddress; + $this->fetchesOrder = $fetchesOrder; + $this->deletesAddress = $deletesAddress; + $this->updatesOrdersAddress = $updatesOrdersAddress; + } + + + public function execute(Request $request) + { + $this->canApproveChangeOrderAddress->passes(); + + $order = $this->fetchesOrder->execute(['id' => $request->get('order_id')]); + $this->deletesAddress->execute($order->addressesApproved->first()); + $this->updatesOrdersAddress->execute($order->addressesPendingVerification->first(), ApprovalStatus::APPROVED); + + return $order; + } +} diff --git a/app/Classes/Modules/Orders/Services/UpdatesOrdersAddress.php b/app/Classes/Modules/Orders/Services/UpdatesOrdersAddress.php new file mode 100644 index 00000000..3ad6295a --- /dev/null +++ b/app/Classes/Modules/Orders/Services/UpdatesOrdersAddress.php @@ -0,0 +1,20 @@ +status = $type; + return $this->handler($address); + } +} diff --git a/app/Classes/Modules/Orders/Standards/Rules/CanApproveChangeOrderAddress.php b/app/Classes/Modules/Orders/Standards/Rules/CanApproveChangeOrderAddress.php new file mode 100644 index 00000000..24ce6418 --- /dev/null +++ b/app/Classes/Modules/Orders/Standards/Rules/CanApproveChangeOrderAddress.php @@ -0,0 +1,39 @@ +execute($request); + } +} From 6fb5d666312900ef06f26e81f7915adaee7fa059 Mon Sep 17 00:00:00 2001 From: weichien00 Date: Thu, 19 Aug 2021 01:33:50 +0800 Subject: [PATCH 03/43] feat: add route for request and approve address change. --- routes/order.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/routes/order.php b/routes/order.php index 4f31ecff..27cb66ef 100644 --- a/routes/order.php +++ b/routes/order.php @@ -9,4 +9,6 @@ Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], f Route::put('/confirm/{id}', 'ConfirmOrderController@confirm')->name('confirm'); Route::put('/cancel/{id}', 'CancelOrderController@cancel')->name('cancel'); Route::put('/restore/{id}', 'RestoreOrderController@restore')->name('restore'); + Route::post('/address/change/request', 'RequestChangeOrderAddressController@request')->name('address.change.request'); + Route::post('/address/change/approve', 'ApproveChangeOrderAddressController@approve')->name('address.change.approve'); }); From e0405bca1ec0deeb1c95d7c9b61e541e6fe38e80 Mon Sep 17 00:00:00 2001 From: weichien00 Date: Thu, 19 Aug 2021 01:35:23 +0800 Subject: [PATCH 04/43] swagger: add show order, request address change, and approve address change api endpoint. --- resources/views/swagger/json.blade.php | 142 +++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/resources/views/swagger/json.blade.php b/resources/views/swagger/json.blade.php index 1e09fa9c..00cfe1a3 100644 --- a/resources/views/swagger/json.blade.php +++ b/resources/views/swagger/json.blade.php @@ -2430,6 +2430,148 @@ } } }, + "/order/show/{id}": { + "get": { + "tags": [ + "Order" + ], + "produces": [ + "application/json" + ], + "operationId": "showOrder", + "summary": "Show order", + "description": "", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Order Reference Id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "headers": { + "X-Expires-After": { + "type": "string", + "format": "date-time", + "description": "date in UTC when token expires" + }, + "X-Rate-Limit": { + "type": "integer", + "format": "int32", + "description": "calls per hour allowed by the user" + } + }, + "schema": { + "type": "string" + } + }, + "422": { + "description": "Invalid input supplied" + } + } + } + }, + "/order/address/change/request": { + "post": { + "tags": [ + "Order" + ], + "produces": [ + "application/json" + ], + "operationId": "requestChangeOrderAddress", + "summary": "Request Change Order Address", + "description": "", + "parameters": [ + { + "name": "order_id", + "in": "query", + "description": "Order ID", + "required": true, + "type": "integer" + }, + { + "name": "address_id", + "in": "query", + "description": "New Order Address ID", + "required": true, + "type": "integer" + }, + ], + "responses": { + "200": { + "description": "successful operation", + "headers": { + "X-Expires-After": { + "type": "string", + "format": "date-time", + "description": "date in UTC when token expires" + }, + "X-Rate-Limit": { + "type": "integer", + "format": "int32", + "description": "calls per hour allowed by the user" + } + }, + "schema": { + "type": "string" + } + }, + "422": { + "description": "Invalid input supplied" + } + } + } + }, + "/order/address/change/approve": { + "post": { + "tags": [ + "Order" + ], + "produces": [ + "application/json" + ], + "operationId": "approveChangeOrderAddress", + "summary": "Approve Change Order Address", + "description": "", + "parameters": [ + { + "name": "order_id", + "in": "query", + "description": "Order ID", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "successful operation", + "headers": { + "X-Expires-After": { + "type": "string", + "format": "date-time", + "description": "date in UTC when token expires" + }, + "X-Rate-Limit": { + "type": "integer", + "format": "int32", + "description": "calls per hour allowed by the user" + } + }, + "schema": { + "type": "string" + } + }, + "422": { + "description": "Invalid input supplied" + } + } + } + }, "/address/create": { "post": { "tags": [ From 51d999e3c8a9f471feeccba90029cb5eef7a5e9e Mon Sep 17 00:00:00 2001 From: edmondlang Date: Sat, 4 Sep 2021 16:22:09 +0800 Subject: [PATCH 05/43] add container page ui --- .../elements/ContainerComponent.vue | 85 +++++++++++++++++++ .../pages/templates/containers.blade.php | 17 ++++ resources/views/partials/menu.blade.php | 11 +++ routes/web.php | 6 +- 4 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 resources/assets/vue/components/containers/elements/ContainerComponent.vue create mode 100644 resources/views/pages/templates/containers.blade.php diff --git a/resources/assets/vue/components/containers/elements/ContainerComponent.vue b/resources/assets/vue/components/containers/elements/ContainerComponent.vue new file mode 100644 index 00000000..2a4f7525 --- /dev/null +++ b/resources/assets/vue/components/containers/elements/ContainerComponent.vue @@ -0,0 +1,85 @@ + + \ No newline at end of file diff --git a/resources/views/pages/templates/containers.blade.php b/resources/views/pages/templates/containers.blade.php new file mode 100644 index 00000000..995e7b93 --- /dev/null +++ b/resources/views/pages/templates/containers.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.base_portal') +@section('inner_content') +
+
+
Search
+
+
+
Filter
+
+
+ + + + +@endsection \ No newline at end of file diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index 90d7d4d2..abd5c4bb 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -41,6 +41,17 @@
Orders
+
+
+ +
+ +
street_two = (new \App\Classes\Modules\Addresses\Services\CleansOldAddress())->cleanAddress($address->street_two, $address->district, $address->postcode); $address->save(); } -})->name('test'); \ No newline at end of file +})->name('test'); + +Route::get('/containers', function () { + return view('pages.templates.containers'); +})->name('containers'); \ No newline at end of file From 7d67e13b9edb994877ccb44064318d31f75ac235 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sun, 5 Sep 2021 20:12:52 +0800 Subject: [PATCH 06/43] change schedule for vt portal fetch --- app/Console/Kernel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 83b805ad..623233c2 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -31,7 +31,7 @@ class Kernel extends ConsoleKernel { $schedule->call(function(){ - FetchWarehouseReceiveListFromVTPortalJob::withChain([ + return FetchWarehouseReceiveListFromVTPortalJob::withChain([ new FetchLoadedContainersFromVTPortalJob, new FetchPackingListFromVTPortalJob, new FetchContainersStatusUpdateFromVTPortalJob, @@ -40,7 +40,7 @@ class Kernel extends ConsoleKernel })->dailyAt('15:00'); $schedule->call(function(){ - FetchWarehouseReceiveListFromVTPortalJob::withChain([ + return FetchWarehouseReceiveListFromVTPortalJob::withChain([ new FetchLoadedContainersFromVTPortalJob, new FetchPackingListFromVTPortalJob, new FetchContainersStatusUpdateFromVTPortalJob, From 6009e82994294cece4b1b1cdf911c2fea247cc37 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 12:48:57 +0800 Subject: [PATCH 07/43] add marking to arrived parcel components --- .../vue/components/orders/elements/ParcelComponent.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index 74c2be6d..f306502d 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -38,6 +38,14 @@
+
+
+

Marking

+
+
+

{{item.order.company_module.marking}}

+
+

Order Number

From 91c8424dc5bc9aaf04ccb34f91828d325722173f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 12:52:11 +0800 Subject: [PATCH 08/43] add marking to arrived parcel components --- .../Eloquent/Filters/OrderByArrivalDate.php | 20 +++++++++++++++++++ ...hLoadedContainersFromVTPortalProcessor.php | 7 ++++--- ...ehouseReceiveListFromVTPortalProcessor.php | 4 +++- .../orders/elements/ParcelComponent.vue | 2 +- .../WarehouseListSectionComponent.vue | 12 ----------- .../views/pages/warehouse_list.blade.php | 10 +++++++++- 6 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php delete mode 100644 resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue diff --git a/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php b/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php new file mode 100644 index 00000000..aae9336c --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php @@ -0,0 +1,20 @@ +with('transports'); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php index 2776124d..ed41ed08 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php @@ -124,11 +124,12 @@ class FetchLoadedContainersFromVTPortalProcessor */ public function execute(?Carbon $start = null, ?Carbon $end = null){ - DB::beginTransaction(); +// DB::beginTransaction(); try { + $start = Carbon::parse('01-06-2021'); $start = $start ? $start : Carbon::now()->subMonth(); - $startLimit = Carbon::parse('11-08-2021'); + $startLimit = Carbon::parse('01-06-2021'); if($start->isBefore($startLimit)){ $start = $startLimit; @@ -221,7 +222,7 @@ class FetchLoadedContainersFromVTPortalProcessor } - DB::commit(); +// DB::commit(); return []; } diff --git a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php index 476b1426..bc6042b6 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php @@ -116,9 +116,11 @@ class FetchWarehouseReceiveListFromVTPortalProcessor try { + $start = Carbon::parse('01-06-2021'); + $start = $start ? $start : Carbon::now()->subMonth(); - $startLimit = Carbon::parse('11-08-2021'); + $startLimit = Carbon::parse('01-06-2021'); if($start->isBefore($startLimit)){ $start = $startLimit; diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index f306502d..7f50b346 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -38,7 +38,7 @@
-
+

Marking

diff --git a/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue b/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue deleted file mode 100644 index a56afe24..00000000 --- a/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue +++ /dev/null @@ -1,12 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index b12f825a..3b58deab 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,4 +1,12 @@ @extends('layouts.base_portal') @section('inner_content') - +
+
+ + + +
+
@endsection \ No newline at end of file From 50cbafce254f4a9ff7b7cbd3c229936947a0e84e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 12:52:27 +0800 Subject: [PATCH 09/43] add marking to arrived parcel components --- .../assets/vue/components/orders/elements/ParcelComponent.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index 7f50b346..822534b2 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -46,7 +46,7 @@

{{item.order.company_module.marking}}

-
+

Order Number

From 1933030e9aa06adf4bef6011faddadbecc9d44c9 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 12:59:11 +0800 Subject: [PATCH 10/43] Revert "add marking to arrived parcel components" This reverts commit 50cbafce254f4a9ff7b7cbd3c229936947a0e84e. --- .../assets/vue/components/orders/elements/ParcelComponent.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index 822534b2..7f50b346 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -46,7 +46,7 @@

{{item.order.company_module.marking}}

-
+

Order Number

From a2f4e1f3fd7ae9307c1b6f37830901f9e5b9271b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 13:00:31 +0800 Subject: [PATCH 11/43] Revert "add marking to arrived parcel components" This reverts commit 91c8424dc5bc9aaf04ccb34f91828d325722173f. --- .../Eloquent/Filters/OrderByArrivalDate.php | 20 ------------------- ...hLoadedContainersFromVTPortalProcessor.php | 7 +++---- ...ehouseReceiveListFromVTPortalProcessor.php | 4 +--- .../orders/elements/ParcelComponent.vue | 2 +- .../WarehouseListSectionComponent.vue | 12 +++++++++++ .../views/pages/warehouse_list.blade.php | 10 +--------- 6 files changed, 18 insertions(+), 37 deletions(-) delete mode 100644 app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php create mode 100644 resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue diff --git a/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php b/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php deleted file mode 100644 index aae9336c..00000000 --- a/app/Classes/General/Eloquent/Filters/OrderByArrivalDate.php +++ /dev/null @@ -1,20 +0,0 @@ -with('transports'); - } - -} \ No newline at end of file diff --git a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php index ed41ed08..2776124d 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchLoadedContainersFromVTPortalProcessor.php @@ -124,12 +124,11 @@ class FetchLoadedContainersFromVTPortalProcessor */ public function execute(?Carbon $start = null, ?Carbon $end = null){ -// DB::beginTransaction(); + DB::beginTransaction(); try { - $start = Carbon::parse('01-06-2021'); $start = $start ? $start : Carbon::now()->subMonth(); - $startLimit = Carbon::parse('01-06-2021'); + $startLimit = Carbon::parse('11-08-2021'); if($start->isBefore($startLimit)){ $start = $startLimit; @@ -222,7 +221,7 @@ class FetchLoadedContainersFromVTPortalProcessor } -// DB::commit(); + DB::commit(); return []; } diff --git a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php index bc6042b6..476b1426 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchWarehouseReceiveListFromVTPortalProcessor.php @@ -116,11 +116,9 @@ class FetchWarehouseReceiveListFromVTPortalProcessor try { - $start = Carbon::parse('01-06-2021'); - $start = $start ? $start : Carbon::now()->subMonth(); - $startLimit = Carbon::parse('01-06-2021'); + $startLimit = Carbon::parse('11-08-2021'); if($start->isBefore($startLimit)){ $start = $startLimit; diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index 7f50b346..f306502d 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -38,7 +38,7 @@
-
+

Marking

diff --git a/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue b/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue new file mode 100644 index 00000000..a56afe24 --- /dev/null +++ b/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 3b58deab..b12f825a 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,12 +1,4 @@ @extends('layouts.base_portal') @section('inner_content') -
-
- - - -
-
+ @endsection \ No newline at end of file From 7f8a4af3fe0e3523a4b2e490c852ef07996ea44d Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 13:03:45 +0800 Subject: [PATCH 12/43] add marking to arrived parcel components --- .../components/orders/elements/ParcelComponent.vue | 4 ++-- .../sections/WarehouseListSectionComponent.vue | 12 ------------ resources/views/pages/warehouse_list.blade.php | 10 +++++++++- 3 files changed, 11 insertions(+), 15 deletions(-) delete mode 100644 resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index f306502d..822534b2 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -38,7 +38,7 @@
-
+

Marking

@@ -46,7 +46,7 @@

{{item.order.company_module.marking}}

-
+

Order Number

diff --git a/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue b/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue deleted file mode 100644 index a56afe24..00000000 --- a/resources/assets/vue/components/orders/sections/WarehouseListSectionComponent.vue +++ /dev/null @@ -1,12 +0,0 @@ - \ No newline at end of file diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index b12f825a..96456aaf 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,4 +1,12 @@ @extends('layouts.base_portal') @section('inner_content') - +
+
+ + + +
+
@endsection \ No newline at end of file From 102905df066e4f3913704fa415bf5a5a43a58a1b Mon Sep 17 00:00:00 2001 From: glovetleong Date: Mon, 6 Sep 2021 14:52:56 +0800 Subject: [PATCH 13/43] Container, Transport, Schedule Api Debug --- .../Containers/CreateContainerLogic.php | 20 +++++++++++++++---- .../Packages/CreatePackageLogic.php | 2 +- .../ControllersLogic/CreateScheduleLogic.php | 2 +- .../Validators/ScheduleValidation.php | 2 -- .../ControllersLogic/CreateTransportLogic.php | 14 ++++++------- 5 files changed, 25 insertions(+), 15 deletions(-) diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php index cff8cbb6..40376b12 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php @@ -4,10 +4,12 @@ namespace App\Classes\Modules\PackingLists\ControllersLogic\Containers; use App\Classes\General\Abstracts\AbstractControllerLogic; +use App\Classes\Modules\Companies\Services\FetchesCompanyModule; use App\Classes\Modules\PackingLists\Services\Containers\CreatesContainer; use App\Classes\Modules\PackingLists\Standards\Rules\Containers\CanCreateContainer; use App\Classes\Modules\PackingLists\DataTransferObjects\ContainerObject; use App\Classes\Modules\PackingLists\Services\FetchesPackingList; + use App\Http\Resources\ContainerResource; use ErrorException; use Illuminate\Http\JsonResponse; @@ -32,13 +34,17 @@ class CreateContainerLogic extends AbstractControllerLogic /** @var FetchesPackingList */ private $fetchesPackingList; + /** @var FetchesCompanyModule */ + private $fetchesCompanyModule; + /** @var CreatesPackingList */ private $createsContainer; - public function __construct(CanCreateContainer $canCreateContainer, FetchesPackingList $fetchesPackingList, CreatesContainer $createsContainer) + public function __construct(CanCreateContainer $canCreateContainer, FetchesPackingList $fetchesPackingList, FetchesCompanyModule $fetchesCompanyModule, CreatesContainer $createsContainer) { $this->canCreateContainer = $canCreateContainer; $this->fetchesPackingList = $fetchesPackingList; + $this->fetchesCompanyModule = $fetchesCompanyModule; $this->createsContainer = $createsContainer; } @@ -51,15 +57,21 @@ class CreateContainerLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { + $object = new ContainerObject( + $request->input('container_reference'), + $request->input('container_number'), + $request->input('seal_reference'), + $request->input('container_type'), + $request->input('status') + ); - $object = new ContainerObject($request->input('container_reference'), $request->input('container_type'), $request->input('seal_reference')); + $company = $this->fetchesCompanyModule->execute(['id' => 2]); $this->canCreateContainer->passes($object); - $query = $this->createsContainer->execute($object); + $query = $this->createsContainer->execute($object, $this->fetchesCompanyModule->execute(['id' => $request->input('company_module_id')])); return $this->resourceResponse(new ContainerResource($query)); - } } diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php index c9eebc15..03d67fce 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Packages/CreatePackageLogic.php @@ -61,7 +61,7 @@ class CreatePackageLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - + $order = $this->fetchesOrder->execute(['id' => $request->input('order_id')]); $object = new PackageObject( diff --git a/app/Classes/Modules/Schedules/ControllersLogic/CreateScheduleLogic.php b/app/Classes/Modules/Schedules/ControllersLogic/CreateScheduleLogic.php index 5bf9c7e9..aecff745 100644 --- a/app/Classes/Modules/Schedules/ControllersLogic/CreateScheduleLogic.php +++ b/app/Classes/Modules/Schedules/ControllersLogic/CreateScheduleLogic.php @@ -56,7 +56,7 @@ class CreateScheduleLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - $object = new ScheduleObject($request->input('etd'), $request->input('eta'), $request->input('transport_id'), ApprovalStatus::PENDING_SUBMISSION); + $object = new ScheduleObject($request->input('etd'), $request->input('eta'), ApprovalStatus::PENDING_SUBMISSION); $this->canCreateSchedule->passes($object); diff --git a/app/Classes/Modules/Schedules/Standards/Validators/ScheduleValidation.php b/app/Classes/Modules/Schedules/Standards/Validators/ScheduleValidation.php index 7d14a3f1..485dc833 100644 --- a/app/Classes/Modules/Schedules/Standards/Validators/ScheduleValidation.php +++ b/app/Classes/Modules/Schedules/Standards/Validators/ScheduleValidation.php @@ -16,7 +16,6 @@ class ScheduleValidation extends AbstractValidation */ protected function data($object): array { return [ - 'transport_id' => $object->getTransportId(), 'etd' => $object->getETD(), 'eta' => $object->getETA(), 'status' => $object->getStatus(), @@ -28,7 +27,6 @@ class ScheduleValidation extends AbstractValidation */ protected function rules(): array { return [ - 'transport_id' => 'required', 'etd' => 'required', 'eta' => 'required', ]; diff --git a/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php b/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php index af438830..4e6c6c64 100644 --- a/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php +++ b/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php @@ -7,7 +7,7 @@ use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Transports\Services\CreatesTransport; use App\Classes\Modules\Transports\Standards\Rules\CanCreateTransport; use App\Classes\Modules\Transports\DataTransferObjects\TransportObject; -use App\Classes\Modules\PackingLists\Services\Containers\FetchesContainer; +use App\Classes\Modules\PackingLists\Services\FetchesPackingList; use App\Http\Resources\TransportResource; use ErrorException; use Illuminate\Http\JsonResponse; @@ -29,8 +29,8 @@ class CreateTransportLogic extends AbstractControllerLogic /** @var CanCreateTransport */ private $canCreateTransport; - /** @var FetchesContainer */ - private $fetchesContainer; + /** @var FetchesPackingList */ + private $fetchesPackingList; /** @var CreatesTransport */ private $createsTransport; @@ -38,13 +38,13 @@ class CreateTransportLogic extends AbstractControllerLogic /** * CreateTransportLogic constructor. * @param CanCreateTransport $canCreateTransport - * @param FetchesContainer $fetchesContainer + * @param FetchesPackingList $fetchesPackingList * @param CreatesTransport $createsTransport */ - public function __construct(CanCreateTransport $canCreateTransport, FetchesContainer $fetchesContainer, CreatesTransport $createsTransport) + public function __construct(CanCreateTransport $canCreateTransport, FetchesPackingList $fetchesPackingList, CreatesTransport $createsTransport) { $this->canCreateTransport = $canCreateTransport; - $this->fetchesContainer = $fetchesContainer; + $this->fetchesPackingList = $fetchesPackingList; $this->createsTransport = $createsTransport; } @@ -62,7 +62,7 @@ class CreateTransportLogic extends AbstractControllerLogic $this->canCreateTransport->passes($object); - $query = $this->createsTransport->execute($this->fetchesContainer->execute(['id' => $request->input('container_id')]), $object); + $query = $this->createsTransport->execute($object, $this->fetchesPackingList->execute(['id' => $request->input('packing_list_id')])); return $this->resourceResponse(new TransportResource($query)); From c96a2b71d1c644869c39c3ea6a5504e5b56701a2 Mon Sep 17 00:00:00 2001 From: glovetleong Date: Mon, 6 Sep 2021 15:22:28 +0800 Subject: [PATCH 14/43] update api --- .../Containers/UpdateContainerLogic.php | 10 +++- .../DataTransferObjects/ContainerObject.php | 12 ++-- .../Services/Containers/CreatesContainer.php | 2 +- .../Services/Containers/UpdatesContainer.php | 2 +- .../ControllersLogic/CreateTransportLogic.php | 9 ++- .../ControllersLogic/UpdateTransportLogic.php | 9 ++- database/seeders/CompaniesTableSeeder.php | 60 +++++++++---------- 7 files changed, 62 insertions(+), 42 deletions(-) diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/UpdateContainerLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/UpdateContainerLogic.php index 3d1516f0..72537db2 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/UpdateContainerLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/UpdateContainerLogic.php @@ -58,8 +58,14 @@ class UpdateContainerLogic extends AbstractControllerLogic { $container = $this->fetchesContainer->execute(['id' => $request->route('id')]); - - $object = new ContainerObject( $container->packing_list_id , $request->input('container_reference'), $request->input('container_type'), $request->input('seal_reference')); + + $object = new ContainerObject( + $request->input('container_reference'), + $container->container_number, + $request->input('container_type'), + $request->input('seal_reference'), + $container->status, + ); $this->canUpdateContainer->passes($object); diff --git a/app/Classes/Modules/PackingLists/DataTransferObjects/ContainerObject.php b/app/Classes/Modules/PackingLists/DataTransferObjects/ContainerObject.php index 92b0effa..3924102c 100644 --- a/app/Classes/Modules/PackingLists/DataTransferObjects/ContainerObject.php +++ b/app/Classes/Modules/PackingLists/DataTransferObjects/ContainerObject.php @@ -14,7 +14,7 @@ class ContainerObject implements DataTransferObject private $containerNumber; /** @var string */ - private $sealNumber; + private $sealReference; /** @var int */ private $containerType; @@ -26,15 +26,15 @@ class ContainerObject implements DataTransferObject * ContainerObject constructor. * @param string $reference * @param string $containerNumber - * @param string $sealNumber + * @param string $sealReference * @param int $containerType * @param int $status */ - public function __construct(string $reference, string $containerNumber, string $sealNumber, int $containerType, int $status) + public function __construct(string $reference, string $containerNumber, string $sealReference, int $containerType, int $status) { $this->reference = $reference; $this->containerNumber = $containerNumber; - $this->sealNumber = $sealNumber; + $this->sealReference = $sealReference; $this->containerType = $containerType; $this->status = $status; } @@ -58,9 +58,9 @@ class ContainerObject implements DataTransferObject /** * @return string */ - public function getSealNumber(): string + public function getSealReference(): string { - return $this->sealNumber; + return $this->sealReference; } /** diff --git a/app/Classes/Modules/PackingLists/Services/Containers/CreatesContainer.php b/app/Classes/Modules/PackingLists/Services/Containers/CreatesContainer.php index d8d733b2..eb8ff4e0 100644 --- a/app/Classes/Modules/PackingLists/Services/Containers/CreatesContainer.php +++ b/app/Classes/Modules/PackingLists/Services/Containers/CreatesContainer.php @@ -22,7 +22,7 @@ class CreatesContainer extends AbstractUpdateRelationshipRecord $model->reference = $object->getReference(); $model->container_number = $object->getContainerNumber(); $model->container_type = $object->getContainerType(); - $model->seal_reference = $object->getSealNumber(); + $model->seal_reference = $object->getSealReference(); $model->status = $object->getStatus(); return $this->handler($owner->containers(), $model); diff --git a/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainer.php b/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainer.php index c3f6f1a4..d10102e1 100644 --- a/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainer.php +++ b/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainer.php @@ -17,7 +17,7 @@ class UpdatesContainer extends AbstractUpdateRecord */ public function execute(Container $model, ContainerObject $object) { - $model->container_reference = $object->getContainerReference(); + $model->reference = $object->getReference(); $model->container_type = $object->getContainerType(); $model->seal_reference = $object->getSealReference(); diff --git a/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php b/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php index 4e6c6c64..edd5690f 100644 --- a/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php +++ b/app/Classes/Modules/Transports/ControllersLogic/CreateTransportLogic.php @@ -58,7 +58,14 @@ class CreateTransportLogic extends AbstractControllerLogic public function logic(Request $request) : JsonResponse { - $object = new TransportObject($request->input('type'), $request->input('courier'), $request->input('tracking_number'), null, null, ApprovalStatus::PENDING_SUBMISSION); + $object = new TransportObject( + $request->input('type'), + $request->input('courier'), + $request->input('tracking_number'), + null, + null, + pprovalStatus::PENDING_SUBMISSION + ); $this->canCreateTransport->passes($object); diff --git a/app/Classes/Modules/Transports/ControllersLogic/UpdateTransportLogic.php b/app/Classes/Modules/Transports/ControllersLogic/UpdateTransportLogic.php index cab03419..6f6cfd4c 100644 --- a/app/Classes/Modules/Transports/ControllersLogic/UpdateTransportLogic.php +++ b/app/Classes/Modules/Transports/ControllersLogic/UpdateTransportLogic.php @@ -58,7 +58,14 @@ class UpdateTransportLogic extends AbstractControllerLogic { $query = $this->fetchesTransport->execute(['id' => $request->route('id')]); - $object = new TransportObject($request->input('type'), $request->input('courier'), $request->input('tracking_number'), $request->input('dispatch_date'), $request->input('drop_date'), $request->input('status')); + $object = new TransportObject( + $request->input('type'), + $request->input('courier'), + $request->input('tracking_number'), + $request->input('dispatch_date'), + $request->input('drop_date'), + $request->input('status') + ); $this->canUpdateTransport->passes($object); diff --git a/database/seeders/CompaniesTableSeeder.php b/database/seeders/CompaniesTableSeeder.php index 01bb3801..c2ffdeb4 100644 --- a/database/seeders/CompaniesTableSeeder.php +++ b/database/seeders/CompaniesTableSeeder.php @@ -172,49 +172,49 @@ class CompaniesTableSeeder extends Seeder } - if(true){ - $companies = OldCompany::all(); + // if(true){ + // $companies = OldCompany::all(); - foreach($companies as $company){ + // foreach($companies as $company){ - $marking = explode("CIEF/", $company->marking); + // $marking = explode("CIEF/", $company->marking); - if(count($marking) < 2){ - continue; - } + // if(count($marking) < 2){ + // continue; + // } - $marking = str_replace(' ', '', str_replace('/', '', $marking[1])); + // $marking = str_replace(' ', '', str_replace('/', '', $marking[1])); - /** @var Company $newCompany */ - $newCompany = $this->createCompanyProcessor->execute($company->name, CompanyType::COMPANY_BUSINESS, ApprovalStatus::PENDING_SUBMISSION); + // /** @var Company $newCompany */ + // $newCompany = $this->createCompanyProcessor->execute($company->name, CompanyType::COMPANY_BUSINESS, ApprovalStatus::PENDING_SUBMISSION); - $this->updatesCompanyStatus->execute($newCompany, ApprovalStatus::APPROVED); + // $this->updatesCompanyStatus->execute($newCompany, ApprovalStatus::APPROVED); - /** @var CompanyModule $companyModule */ - $companyModule = $this->createCompanyModuleProcessor->execute($newCompany, BusinessType::IMPORTER); + // /** @var CompanyModule $companyModule */ + // $companyModule = $this->createCompanyModuleProcessor->execute($newCompany, BusinessType::IMPORTER); - $connectionObject = new CompanyConnectionObject($companyModule, 'CIEF', $marking); + // $connectionObject = new CompanyConnectionObject($companyModule, 'CIEF', $marking); - $connection = $this->createsCompanyConnection->execute($connectionObject); - $this->approvesCompanyConnection->execute($connection); + // $connection = $this->createsCompanyConnection->execute($connectionObject); + // $this->approvesCompanyConnection->execute($connection); - $i = 0; - foreach($company->addresses as $address){ - $this->createAddressFromOldAddressProcessor->execute($address, $companyModule); - $contact = preg_replace("/[^0-9.]/", "", $address->contact); - if($contact){ - $i++; - if($i === 1) { - $contactObject = new ContactObject('', $contact, $company->email, '',); - $this->createContactProcessor->execute($contactObject, $newCompany); - } - } + // $i = 0; + // foreach($company->addresses as $address){ + // $this->createAddressFromOldAddressProcessor->execute($address, $companyModule); + // $contact = preg_replace("/[^0-9.]/", "", $address->contact); + // if($contact){ + // $i++; + // if($i === 1) { + // $contactObject = new ContactObject('', $contact, $company->email, '',); + // $this->createContactProcessor->execute($contactObject, $newCompany); + // } + // } - } - } - } + // } + // } + // } } From cdaa39582468f292ba7b790f26b0e05c083e72ab Mon Sep 17 00:00:00 2001 From: Fairuz Date: Tue, 7 Sep 2021 09:51:04 +0800 Subject: [PATCH 15/43] 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" }, From f6115c40123a736a67c67cb9021fe9c5a8be2118 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Wed, 8 Sep 2021 16:56:54 +0800 Subject: [PATCH 16/43] hide container in menu --- resources/views/partials/menu.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index 61420e0b..744454ef 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -52,7 +52,7 @@
Arrived Parcels
-
+
Date: Wed, 8 Sep 2021 19:06:58 +0800 Subject: [PATCH 17/43] add delivery address to warehouse list --- .../orders/elements/ParcelComponent.vue | 30 ++++++++++++------- .../views/pages/warehouse_list.blade.php | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/resources/assets/vue/components/orders/elements/ParcelComponent.vue b/resources/assets/vue/components/orders/elements/ParcelComponent.vue index 822534b2..c9fcdfdb 100644 --- a/resources/assets/vue/components/orders/elements/ParcelComponent.vue +++ b/resources/assets/vue/components/orders/elements/ParcelComponent.vue @@ -38,6 +38,22 @@
+
+
+

Description

+
+
+

{{item.description}}

+
+
+
+
+

Tracking Number:

+
+
+

{{item.transport.tracking_number}}

+
+

Marking

@@ -54,20 +70,12 @@

{{item.order.reference}}

-
+
-

Description

+

Delivery Address

-

{{item.description}}

-
-
-
-
-

Tracking Number:

-
-
-

{{item.transport.tracking_number}}

+

{{item.order.address.street_one+' '+(item.order.address.street_two ? item.order.address.street_two : '')+', '+ item.order.address.district.name+', '+item.order.address.post_code+' '+item.order.address.state.name+', '+item.order.address.country.name}}

diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 96456aaf..257bf7b8 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,7 +1,7 @@ @extends('layouts.base_portal') @section('inner_content')
-
+