From baeaa0f31a6e098e70dcc458cbc38019d5e60e9a Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 00:58:16 +0800 Subject: [PATCH 01/57] sort deliveries by date --- resources/views/pages/delivery_list.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/pages/delivery_list.blade.php b/resources/views/pages/delivery_list.blade.php index 284da34e..5dcc75bb 100644 --- a/resources/views/pages/delivery_list.blade.php +++ b/resources/views/pages/delivery_list.blade.php @@ -85,7 +85,7 @@
Delivery Date
Action
- + @@ -103,7 +103,7 @@
status
Delivery Date
- + @@ -121,7 +121,7 @@
status
Delivery Date
- + From 02c55d97b7542a69eff8e4c937d1633cba2f2d4b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:00:27 +0800 Subject: [PATCH 02/57] sort deliveries by date --- resources/views/pages/delivery_list.blade.php | 6 +++--- resources/views/pages/warehouse_list.blade.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/views/pages/delivery_list.blade.php b/resources/views/pages/delivery_list.blade.php index 5dcc75bb..ada88828 100644 --- a/resources/views/pages/delivery_list.blade.php +++ b/resources/views/pages/delivery_list.blade.php @@ -85,7 +85,7 @@
Delivery Date
Action
- + @@ -103,7 +103,7 @@
status
Delivery Date
- + @@ -121,7 +121,7 @@
status
Delivery Date
- + diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index f9d8183b..e4ab274d 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -7,7 +7,7 @@
Arrived Parcel
- + From 9ae36dc40035acc6e72d0cd83f90e1a044b2ba5e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:14:27 +0800 Subject: [PATCH 03/57] sort deliveries by date --- .../General/Eloquent/Filters/OwneId.php | 20 ------------------- resources/views/pages/delivery_list.blade.php | 6 +++--- 2 files changed, 3 insertions(+), 23 deletions(-) delete mode 100644 app/Classes/General/Eloquent/Filters/OwneId.php diff --git a/app/Classes/General/Eloquent/Filters/OwneId.php b/app/Classes/General/Eloquent/Filters/OwneId.php deleted file mode 100644 index eac7e32d..00000000 --- a/app/Classes/General/Eloquent/Filters/OwneId.php +++ /dev/null @@ -1,20 +0,0 @@ -where('owner_id', $value); - } - -} \ No newline at end of file diff --git a/resources/views/pages/delivery_list.blade.php b/resources/views/pages/delivery_list.blade.php index ada88828..41c6d8e8 100644 --- a/resources/views/pages/delivery_list.blade.php +++ b/resources/views/pages/delivery_list.blade.php @@ -85,7 +85,7 @@
Delivery Date
Action
- + @@ -103,7 +103,7 @@
status
Delivery Date
- + @@ -121,7 +121,7 @@
status
Delivery Date
- + From 43f4bc533a4d566601e279712ed905b674624633 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:16:13 +0800 Subject: [PATCH 04/57] sort deliveries by date --- .../views/pages/warehouse_list.blade.php | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index e4ab274d..33ccb79c 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,18 +1,6 @@ @extends('layouts.base_portal') @section('inner_content')
-
-
-
-
Arrived Parcel
-
-
- - - -
@@ -29,11 +17,25 @@
Delivery Date
- +
+
+
+
+
+
Arrived Parcel
+
+
+ + + +
+
@endsection \ No newline at end of file From 1575d62e0fc82a370d38b1ec68af81aae567e81a Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:17:21 +0800 Subject: [PATCH 05/57] sort deliveries by date --- resources/views/pages/warehouse_list.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 33ccb79c..ef3f50f6 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -17,7 +17,7 @@
Delivery Date
- + From 78f6c70cad2046ecb56a6b277fc8af09e0c76532 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:18:53 +0800 Subject: [PATCH 06/57] sort deliveries by date --- resources/views/pages/warehouse_list.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index ef3f50f6..b728857a 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -25,13 +25,13 @@
-
+
Arrived Parcel
- + From c941f679b606c10c8314a8cc49ab61046d9f65a2 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:19:31 +0800 Subject: [PATCH 07/57] sort deliveries by date --- resources/views/pages/warehouse_list.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index b728857a..2a05d980 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -25,13 +25,13 @@
-
+
Arrived Parcel
- + From 72448d656cb0854a61169f3ad4967f04098128d6 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:20:13 +0800 Subject: [PATCH 08/57] sort deliveries by date --- .../views/pages/warehouse_list.blade.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 2a05d980..a6f4b7e5 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -1,5 +1,19 @@ @extends('layouts.base_portal') @section('inner_content') +
+
+
+
+
Arrived Parcel
+
+
+ + + +
+
@@ -24,18 +38,4 @@
-
-
-
-
-
Arrived Parcel
-
-
- - - -
-
@endsection \ No newline at end of file From cc7edfc784a04c4bd44ca905099e1be4721cf657 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 01:24:37 +0800 Subject: [PATCH 09/57] sort deliveries by date --- resources/views/pages/warehouse_list.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index a6f4b7e5..10fa0581 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -31,7 +31,7 @@
Delivery Date
- + From 3ff81d4f00db62d5f7d5c0e091dc879d7981361c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 09:46:23 +0800 Subject: [PATCH 10/57] fix qr remark --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index 3218be52..e7e0480f 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -24,7 +24,7 @@ class DownloadOrderQrPdfController $warehousePrefix = ''; $deliveryPrefix = ''; $customerMarking = ''; - $remark = $warehouse->remarks()->first()->content; + $remark = $warehouse->remarks()->first(); if($warehouse->reference === WarehouseReferences::VT_GUANG_ZHOU || $warehouse->reference === WarehouseReferences::VT_YIWU) { $customerMarking = $order->companyModule->connections()->first()->invitee_reference.'/'; @@ -60,7 +60,7 @@ class DownloadOrderQrPdfController 'delivery_address' => $deliveryAddress, 'warehouse_address' => $warehouseAddress, 'warehouse_contacts' => $warehouseContacts, - 'remark' => $remark + 'remark' => $remark ? $remark->content : '' ]; $pdf = LaravelMpdf::loadView('pdfs.qr', $data, [], [ From 48bab9998cfd0a8247e7e7fca0be13b28b49c687 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 09:47:26 +0800 Subject: [PATCH 11/57] fix qr remark --- .../components/settings/elements/WarehouseChargesComponent.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/assets/vue/components/settings/elements/WarehouseChargesComponent.vue b/resources/assets/vue/components/settings/elements/WarehouseChargesComponent.vue index 0498cd55..9deb1d48 100644 --- a/resources/assets/vue/components/settings/elements/WarehouseChargesComponent.vue +++ b/resources/assets/vue/components/settings/elements/WarehouseChargesComponent.vue @@ -15,7 +15,7 @@
-
{{data.name}}
+
{{data.reference}}
From 550c9480a4f88fa0ef4ef2499b0a3c0631073c8b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 10:02:17 +0800 Subject: [PATCH 12/57] fix qr remark --- resources/views/pdfs/qr.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/pdfs/qr.blade.php b/resources/views/pdfs/qr.blade.php index 84bb461d..108738ac 100644 --- a/resources/views/pdfs/qr.blade.php +++ b/resources/views/pdfs/qr.blade.php @@ -40,7 +40,7 @@

仓库地址:

{{$warehouse_address->state->name.' '.$warehouse_address->district->name.' '.$warehouse_address->street_one.' '.$warehouse_address->street_two.' 邮编:'.$warehouse_address->postcode}}

联系:@foreach($warehouse_contacts as $contact){{ $loop->first ? '' : ' / ' }}{{ $contact->phone.' '.$contact->reference }}@endforeach

-

{{$remark}}

+

{{htmlspecialchars_decode($remark)}}

From 22700893a28f147281ea6ed9565e57afce1de72e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 16 Mar 2022 10:03:47 +0800 Subject: [PATCH 13/57] fix qr remark --- resources/views/pdfs/qr.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/pdfs/qr.blade.php b/resources/views/pdfs/qr.blade.php index 108738ac..b280dfea 100644 --- a/resources/views/pdfs/qr.blade.php +++ b/resources/views/pdfs/qr.blade.php @@ -40,7 +40,7 @@

仓库地址:

{{$warehouse_address->state->name.' '.$warehouse_address->district->name.' '.$warehouse_address->street_one.' '.$warehouse_address->street_two.' 邮编:'.$warehouse_address->postcode}}

联系:@foreach($warehouse_contacts as $contact){{ $loop->first ? '' : ' / ' }}{{ $contact->phone.' '.$contact->reference }}@endforeach

-

{{htmlspecialchars_decode($remark)}}

+

{!! $remark !!}

From b9b79ca65ad71895234980306836c55854f1d07b Mon Sep 17 00:00:00 2001 From: ahmedsophyudden Date: Thu, 17 Mar 2022 01:01:01 +0800 Subject: [PATCH 14/57] Shipping Portal - Api to update segment (general, state, postcode) --- .../ControllersLogic/UpdateConstantLogic.php | 2 +- .../UpdateConstantPostcodeLogic.php | 99 +++++++++++++++++++ .../UpdateConstantStateLogic.php | 87 ++++++++++++++++ .../DataTransferObjects/ConstantObject.php | 24 ++--- .../Services/AddItemToConstantValueArray.php | 19 ++++ .../ConvertsConstantDetailsToResource.php | 8 +- .../Segments/Services/CreatesConstant.php | 3 +- .../RemoveItemFromConstantValueArray.php | 22 +++++ .../Segments/Services/UpdatesConstant.php | 3 +- .../Services/UpdatesConstantValueByState.php | 32 ++++++ .../Validators/ConstantValidation.php | 6 +- .../UpdateConstantPostcodeController.php | 20 ++++ .../UpdateConstantStateController.php | 20 ++++ app/Http/Resources/ConstantResource.php | 3 +- routes/segment.php | 2 + 15 files changed, 317 insertions(+), 33 deletions(-) create mode 100644 app/Classes/Modules/Segments/ControllersLogic/UpdateConstantPostcodeLogic.php create mode 100644 app/Classes/Modules/Segments/ControllersLogic/UpdateConstantStateLogic.php create mode 100644 app/Classes/Modules/Segments/Services/AddItemToConstantValueArray.php create mode 100644 app/Classes/Modules/Segments/Services/RemoveItemFromConstantValueArray.php create mode 100644 app/Classes/Modules/Segments/Services/UpdatesConstantValueByState.php create mode 100644 app/Http/Controllers/Segments/UpdateConstantPostcodeController.php create mode 100644 app/Http/Controllers/Segments/UpdateConstantStateController.php diff --git a/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantLogic.php b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantLogic.php index dac04ec7..b7186064 100644 --- a/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantLogic.php +++ b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantLogic.php @@ -76,7 +76,7 @@ class UpdateConstantLogic extends AbstractControllerLogic public function logic(Request $request) : JsonResponse { - $object = new ConstantObject($request->input('name'), $request->input('reference'), $request->input('detail')); + $object = new ConstantObject($request->input('reference'), $request->input('value')); $segment = $this->fetchesSegment->execute(['id' => $request->route('id')]); diff --git a/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantPostcodeLogic.php b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantPostcodeLogic.php new file mode 100644 index 00000000..82edc1a2 --- /dev/null +++ b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantPostcodeLogic.php @@ -0,0 +1,99 @@ + 'Updated Segment Constant', + 'message' => 'You have successfully updated the Segment Constant' + ]; + } + + /** @var CanUpdateConstant */ + private $canUpdateConstant; + + /** @var UpdatesConstant */ + private $updatesConstant; + + /** @var FetchesSegment */ + private $fetchesSegment; + + /** @var FetchesConstant */ + private $fetchesConstant; + + /** @var AddItemToConstantValueArray */ + private $addItemToConstantValueArray; + + /** @var RemoveItemFromConstantValueArray */ + private $removeItemFromConstantValueArray; + + + /** + * UpdateConstantLogic constructor. + * @param CanUpdateConstant $canUpdateConstant + * @param UpdatesConstant $updatesConstant + * @param FetchesSegment $fetchesSegment + * @param FetchesConstant $fetchesConstant + * @param AddItemToConstantValueArray $addItemToConstantValueArray + * @param RemoveItemFromConstantValueArray $removeItemFromConstantValueArray + */ + public function __construct(CanUpdateConstant $canUpdateConstant, UpdatesConstant $updatesConstant, FetchesSegment $fetchesSegment, FetchesConstant $fetchesConstant,AddItemToConstantValueArray $addItemToConstantValueArray, RemoveItemFromConstantValueArray $removeItemFromConstantValueArray) + { + $this->canUpdateConstant = $canUpdateConstant; + $this->updatesConstant = $updatesConstant; + $this->fetchesSegment = $fetchesSegment; + $this->fetchesConstant = $fetchesConstant; + $this->addItemToConstantValueArray = $addItemToConstantValueArray; + $this->removeItemFromConstantValueArray = $removeItemFromConstantValueArray; + } + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + $segment = $this->fetchesSegment->execute(['id' => $request->route('id')]); + + $constant = $this->fetchesConstant->execute(['segment_id' => $segment->id, 'reference' => $request->input('reference')]); + + $object = new ConstantObject($constant->reference, $this->addItemToConstantValueArray->execute($constant->value, $request->input('postcode'))); + $this->canUpdateConstant->passes($object); + + $constant = $this->updatesConstant->execute($constant, $object); + + $oppositeConstant = $this->fetchesConstant->execute(['segment_id' => $segment->id, 'reference' => $request->input('reference') == SegmentConstants::CENTER_POSTCODE ? SegmentConstants::OUTSTATION_POSTCODE : SegmentConstants::CENTER_POSTCODE]); + + $oppositeObject = new ConstantObject($request->input('reference') == SegmentConstants::CENTER_POSTCODE ? SegmentConstants::OUTSTATION_POSTCODE : SegmentConstants::CENTER_POSTCODE, $this->removeItemFromConstantValueArray->execute($oppositeConstant->value, $request->input('postcode'))); + + $oppositeConstant = $this->updatesConstant->execute($oppositeConstant, $oppositeObject); + + + return $this->response([ + 'CENTER_POSTCODE' => $constant->reference == SegmentConstants::CENTER_POSTCODE ? new ConstantResource($constant) : New ConstantResource($oppositeConstant), + 'OUTSTATION_POSTCODE' => $constant->reference == SegmentConstants::OUTSTATION_POSTCODE ? new ConstantResource($constant) : New ConstantResource($oppositeConstant), + ]); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantStateLogic.php b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantStateLogic.php new file mode 100644 index 00000000..6dca08a6 --- /dev/null +++ b/app/Classes/Modules/Segments/ControllersLogic/UpdateConstantStateLogic.php @@ -0,0 +1,87 @@ + 'Updated Segment Constant', + 'message' => 'You have successfully updated the Segment Constant' + ]; + } + + /** @var CanUpdateConstant */ + private $canUpdateConstant; + + /** @var UpdatesConstant */ + private $updatesConstant; + + /** @var FetchesSegment */ + private $fetchesSegment; + + /** @var FetchesConstant */ + private $fetchesConstant; + + /** @var UpdatesConstantValueByState */ + private $updatesConstantValueByState; + + + /** + * UpdateConstantLogic constructor. + * @param CanUpdateConstant $canUpdateConstant + * @param UpdatesConstant $updatesConstant + * @param FetchesSegment $fetchesSegment + * @param FetchesConstant $fetchesConstant + * @param UpdatesConstantValueByState $updatesConstantValueByState + */ + public function __construct(CanUpdateConstant $canUpdateConstant, UpdatesConstant $updatesConstant, FetchesSegment $fetchesSegment, FetchesConstant $fetchesConstant,UpdatesConstantValueByState $updatesConstantValueByState) + { + $this->canUpdateConstant = $canUpdateConstant; + $this->updatesConstant = $updatesConstant; + $this->fetchesSegment = $fetchesSegment; + $this->fetchesConstant = $fetchesConstant; + $this->updatesConstantValueByState = $updatesConstantValueByState; + } + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + $segment = $this->fetchesSegment->execute(['id' => $request->route('id')]); + + $constant = $this->fetchesConstant->execute(['segment_id' => $segment->id, 'reference' => SegmentConstants::STATE_RATE]); + + $constantValue = $this->updatesConstantValueByState->execute($constant->value, $request->input('status_id'), $request->input('rate')); + + $object = new ConstantObject(SegmentConstants::STATE_RATE, (array) $constantValue); + $this->canUpdateConstant->passes($object); + + $constant = $this->updatesConstant->execute($constant, $object); + + + return $this->resourceResponse(new ConstantResource($constant)); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Segments/DataTransferObjects/ConstantObject.php b/app/Classes/Modules/Segments/DataTransferObjects/ConstantObject.php index d5373a68..ebd5d2e4 100644 --- a/app/Classes/Modules/Segments/DataTransferObjects/ConstantObject.php +++ b/app/Classes/Modules/Segments/DataTransferObjects/ConstantObject.php @@ -7,34 +7,22 @@ use App\Classes\General\Interfaces\DataTransferObject; class ConstantObject implements DataTransferObject { - /** @var string */ - private $name; - /** @var string */ private $reference; /** @var array */ - private $detail; + private $value; /** * ConstantObject constructor. * @param string $name * @param string $reference - * @param array $detail + * @param array $value */ - public function __construct(string $name, string $reference, array $detail) + public function __construct(string $reference, array $value) { - $this->name = $name; $this->reference = $reference; - $this->detail = $detail; - } - - /** - * @return string - */ - public function getName(): string - { - return $this->name; + $this->value = $value; } /** @@ -48,9 +36,9 @@ class ConstantObject implements DataTransferObject /** * @return array */ - public function getDetail(): array + public function getValue(): array { - return $this->detail; + return $this->value; } diff --git a/app/Classes/Modules/Segments/Services/AddItemToConstantValueArray.php b/app/Classes/Modules/Segments/Services/AddItemToConstantValueArray.php new file mode 100644 index 00000000..af6d053b --- /dev/null +++ b/app/Classes/Modules/Segments/Services/AddItemToConstantValueArray.php @@ -0,0 +1,19 @@ +reference === SegmentConstants::SUPPLIER_CURRENCIES) { - return property_exists($constant->detail, 'id') ? new CurrencyResource($this->fetchesCurrency->execute(['id' => $constant->detail->id])) : ''; - } + // if($constant->reference === SegmentConstants::SUPPLIER_CURRENCIES) { + // return property_exists($constant->detail, 'id') ? new CurrencyResource($this->fetchesCurrency->execute(['id' => $constant->detail->id])) : ''; + // } - return $constant->detail; + return $constant->value; } diff --git a/app/Classes/Modules/Segments/Services/CreatesConstant.php b/app/Classes/Modules/Segments/Services/CreatesConstant.php index b2addae8..48c1d018 100644 --- a/app/Classes/Modules/Segments/Services/CreatesConstant.php +++ b/app/Classes/Modules/Segments/Services/CreatesConstant.php @@ -18,9 +18,8 @@ class CreatesConstant extends AbstractUpdateRelationshipRecord public function execute(Segment $segment, ConstantObject $object) { $model = new SegmentConstant(); - $model->name = $object->getName(); $model->reference = $object->getReference(); - $model->detail = json_encode($object->getDetail()); + $model->value = json_encode($object->getValue()); return $this->handler($segment->constants(), $model); } diff --git a/app/Classes/Modules/Segments/Services/RemoveItemFromConstantValueArray.php b/app/Classes/Modules/Segments/Services/RemoveItemFromConstantValueArray.php new file mode 100644 index 00000000..9eec46e5 --- /dev/null +++ b/app/Classes/Modules/Segments/Services/RemoveItemFromConstantValueArray.php @@ -0,0 +1,22 @@ + $value){ + if($array[$key] == $item){ + unset($array[$key]); + } + } + return array_values($array); + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Segments/Services/UpdatesConstant.php b/app/Classes/Modules/Segments/Services/UpdatesConstant.php index 13fb22c1..b8e8ec18 100644 --- a/app/Classes/Modules/Segments/Services/UpdatesConstant.php +++ b/app/Classes/Modules/Segments/Services/UpdatesConstant.php @@ -17,9 +17,8 @@ class UpdatesConstant extends AbstractUpdateRecord */ public function execute(SegmentConstant $model, ConstantObject $object) { - $model->name = $object->getName(); $model->reference = $object->getReference(); - $model->detail = json_encode($object->getDetail()); + $model->value = json_encode($object->getValue()); return $this->handler($model); } diff --git a/app/Classes/Modules/Segments/Services/UpdatesConstantValueByState.php b/app/Classes/Modules/Segments/Services/UpdatesConstantValueByState.php new file mode 100644 index 00000000..ae8728fa --- /dev/null +++ b/app/Classes/Modules/Segments/Services/UpdatesConstantValueByState.php @@ -0,0 +1,32 @@ +config as $key => $object){ + if($object->status_id == $status_id){ + $newArray->config[$key] = (object) [ + 'rate' => $rate, + 'status_id' => $object->status_id, + 'outstation_rate' => $object->outstation_rate, + ]; + }else{ + $newArray->config[$key] = $object; + } + } + return $newArray; + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Segments/Standards/Validators/ConstantValidation.php b/app/Classes/Modules/Segments/Standards/Validators/ConstantValidation.php index d5ac8819..eb66adb5 100644 --- a/app/Classes/Modules/Segments/Standards/Validators/ConstantValidation.php +++ b/app/Classes/Modules/Segments/Standards/Validators/ConstantValidation.php @@ -15,9 +15,8 @@ class ConstantValidation extends AbstractValidation protected function data($object): array { $data = [ - 'name' => $object->getName(), 'reference' => $object->getReference(), - 'detail' => $object->getDetail() + 'value' => $object->getValue() ]; return $data; @@ -28,9 +27,8 @@ class ConstantValidation extends AbstractValidation */ protected function rules(): array { return [ - 'name' => 'required', 'reference' => 'required', - 'detail' => 'required' + 'value' => 'required' ]; } diff --git a/app/Http/Controllers/Segments/UpdateConstantPostcodeController.php b/app/Http/Controllers/Segments/UpdateConstantPostcodeController.php new file mode 100644 index 00000000..5d0098ed --- /dev/null +++ b/app/Http/Controllers/Segments/UpdateConstantPostcodeController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/app/Http/Controllers/Segments/UpdateConstantStateController.php b/app/Http/Controllers/Segments/UpdateConstantStateController.php new file mode 100644 index 00000000..33e52100 --- /dev/null +++ b/app/Http/Controllers/Segments/UpdateConstantStateController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/app/Http/Resources/ConstantResource.php b/app/Http/Resources/ConstantResource.php index c6bcf344..aba82526 100644 --- a/app/Http/Resources/ConstantResource.php +++ b/app/Http/Resources/ConstantResource.php @@ -19,9 +19,8 @@ class ConstantResource extends JsonResource { return [ 'id' => $this->id, - 'name' => $this->name, 'reference' => $this->reference, - 'detail' => (App()->make(ConvertsConstantDetailsToResource::class))->execute($this->resource) + 'value' => (App()->make(ConvertsConstantDetailsToResource::class))->execute($this->resource) ]; } } diff --git a/routes/segment.php b/routes/segment.php index ada2b84d..d4406d71 100644 --- a/routes/segment.php +++ b/routes/segment.php @@ -13,5 +13,7 @@ Route::group(['prefix' => 'segment', 'as' => 'segment.', 'namespace' => 'Segment Route::put('/service/update', 'UpdateCustomServiceConstantController@update')->name('service.update'); Route::put('/update', 'UpdateConstantController@update')->name('update'); Route::get('/show/{reference}', 'FetchConstantController@fetch')->name('show'); + Route::put('/update/state', 'UpdateConstantStateController@update')->name('update.state'); + Route::put('/update/postcode', 'UpdateConstantPostcodeController@update')->name('update.postcode'); }); }); \ No newline at end of file From cfe611d05d733fbdd142b4a5af1c77255ba65e27 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 09:45:24 +0800 Subject: [PATCH 15/57] lawas and Limbang show kk warehouse --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index e7e0480f..87fa035b 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -48,7 +48,7 @@ class DownloadOrderQrPdfController $warehousePrefix = 'KK/'; } - if(strtolower($deliveryAddress->state->name) === 'sarawak') { + if(strtolower($deliveryAddress->state->name) === 'sarawak' || strtolower($deliveryAddress->state->name) === 'Limbang' || strtolower($deliveryAddress->state->name) === 'Lawas') { $warehousePrefix = 'KU/'; } } From c06cec5b4198f38867368cf4904e558c1f1a8986 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 09:47:31 +0800 Subject: [PATCH 16/57] lawas and Limbang show kk warehouse --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index 87fa035b..6934da1f 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -44,11 +44,11 @@ class DownloadOrderQrPdfController if($warehouse->reference === WarehouseReferences::YD_GUANG_ZHOU){ $warehousePrefix = 'YD/'; - if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan') { + if(strtolower($deliveryAddress->state->name) === 'sabah' || in_array(strtolower($deliveryAddress->state->name), ['labuan', 'Limbang', 'Lawas'])) { $warehousePrefix = 'KK/'; } - if(strtolower($deliveryAddress->state->name) === 'sarawak' || strtolower($deliveryAddress->state->name) === 'Limbang' || strtolower($deliveryAddress->state->name) === 'Lawas') { + if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->state->name), ['Limbang', 'Lawas'])) { $warehousePrefix = 'KU/'; } } From 10e6f6045e3fefe8cb96881c9ea003c51e657445 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 09:51:36 +0800 Subject: [PATCH 17/57] lawas and Limbang show kk warehouse --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index 6934da1f..f918fbc8 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -44,11 +44,11 @@ class DownloadOrderQrPdfController if($warehouse->reference === WarehouseReferences::YD_GUANG_ZHOU){ $warehousePrefix = 'YD/'; - if(strtolower($deliveryAddress->state->name) === 'sabah' || in_array(strtolower($deliveryAddress->state->name), ['labuan', 'Limbang', 'Lawas'])) { + if(strtolower($deliveryAddress->state->name) === 'sabah' || in_array(strtolower($deliveryAddress->district->name), ['labuan', 'Limbang', 'Lawas'])) { $warehousePrefix = 'KK/'; } - if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->state->name), ['Limbang', 'Lawas'])) { + if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['Limbang', 'Lawas'])) { $warehousePrefix = 'KU/'; } } From 53907e246396c5d0fd525f0d640604e54679c8f5 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 09:52:24 +0800 Subject: [PATCH 18/57] lawas and Limbang show kk warehouse --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index f918fbc8..ee3bec22 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -44,7 +44,7 @@ class DownloadOrderQrPdfController if($warehouse->reference === WarehouseReferences::YD_GUANG_ZHOU){ $warehousePrefix = 'YD/'; - if(strtolower($deliveryAddress->state->name) === 'sabah' || in_array(strtolower($deliveryAddress->district->name), ['labuan', 'Limbang', 'Lawas'])) { + if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['Limbang', 'Lawas'])) { $warehousePrefix = 'KK/'; } From 519408c2b52b446c47c4096f0e51a96e46a7793c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 09:55:46 +0800 Subject: [PATCH 19/57] lawas and Limbang show kk warehouse --- app/Http/Controllers/Orders/DownloadOrderQrPdfController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php index ee3bec22..fa264a03 100644 --- a/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php +++ b/app/Http/Controllers/Orders/DownloadOrderQrPdfController.php @@ -44,11 +44,11 @@ class DownloadOrderQrPdfController if($warehouse->reference === WarehouseReferences::YD_GUANG_ZHOU){ $warehousePrefix = 'YD/'; - if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['Limbang', 'Lawas'])) { + if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) { $warehousePrefix = 'KK/'; } - if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['Limbang', 'Lawas'])) { + if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) { $warehousePrefix = 'KU/'; } } From 33a75eca7d389859c83ee7219582f68e728fbc0b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 13:53:50 +0800 Subject: [PATCH 20/57] smc monthly report --- routes/web.php | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/routes/web.php b/routes/web.php index bb35d287..dcea1b8b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -239,6 +239,50 @@ Route::get('/settings', function () { return view('pages.settings'); })->name('settings'); +Route::get('/customer/summary/monthly', function () { + $containers = Container::whereMonth('loading_date', 1)->where('owner_id', 3)->get(); + foreach ($containers as $container){ + $packingLists = $container->packingLists()->get()->filter(function ($packingList) { + return $packingList->owner->company_module_id === 248; + }); + + if (!count($packingLists)) continue; + + echo ' + + + + + + + + + + + '; + foreach ($packingLists as $packingList){ + $packages = $packingList->packingLists->first()->packages; + foreach ($packages as $package){ + echo ' + + + + + + + + + + '; + } + } + echo '
DateFull MarkingContainerDescriptionCtnsL (cm)H (cm)W (cm)CBM
-MS/CIEF/769SMC/'.$packingList->owner->reference.''.$container->reference.''.$package->description.''.$package->quantity.''.$package->length.''.$package->height.''.$package->width.''.((($package->length / 100) * ($package->height / 100) * ($package->width / 100)) * $package->quantity).'
'; + + + } + +}); + Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{inactive_end?}/{with_cbm?}', function ($active_start, $active_end, $inactive_start=null, $inactive_end=null, $with_cbm = false) { $activeCompanies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orderPackingLists', function($query) use($inactive_start, $inactive_end) { return $query->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function ($query) use ($inactive_start, $inactive_end) { From b0a65f870c011ccf4a2653dc79433a664c0c76e0 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 16:33:00 +0800 Subject: [PATCH 21/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index f0ea5ed7..0735ee06 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -181,14 +181,28 @@ class FetchOrderListsFromYdPortalProcessor $eta = Carbon::parse($tracking[2]); } - if (strpos($trackingRow->tracking, '预计船时间为') !== false) { - $tracking = explode('预计船时间为', $trackingRow->tracking); - $delayDate = Carbon::parse(explode('日', $tracking[1])[0]); - } + $rescheduleETD = strpos($trackingRow->tracking, '开'); + $rescheduleETA = strpos($trackingRow->tracking, '到港'); - if (strpos($trackingRow->tracking, '预计开船为') !== false) { - $tracking = explode('预计开船为', $trackingRow->tracking); - $delayDate = Carbon::parse(explode('日', $tracking[1])[0]); + if ($rescheduleETD !== false || $rescheduleETA !== false) { + preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); + $dates = collect(); + + foreach($matches[0] as $date){ + try { + $dates->push(Carbon::parse(str_replace('.', '/', $date).Carbon::now()->format('Y'))); + } catch (\Exception $exception) { + continue; + } + + } + + /** @var Carbon $delayDate */ + $delayDate = $dates->sortDesc()->first(); + + if($rescheduleETA === false) { + $delayDate = $delayDate->addDays('5'); + } } if ($trackingRow->tracking === '货物已进目的港仓库') { From a987419040480ce15160e07dfc59c69696c98ba0 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 16:36:50 +0800 Subject: [PATCH 22/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 0735ee06..6ca6d6ef 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -200,7 +200,7 @@ class FetchOrderListsFromYdPortalProcessor /** @var Carbon $delayDate */ $delayDate = $dates->sortDesc()->first(); - if($rescheduleETA === false) { + if($rescheduleETA === false && $delayDate) { $delayDate = $delayDate->addDays('5'); } } From 32e665e4f7999bf3f54033531ddae0d4bf83121f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 16:57:03 +0800 Subject: [PATCH 23/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 6ca6d6ef..bbc541e2 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -197,12 +197,16 @@ class FetchOrderListsFromYdPortalProcessor } - /** @var Carbon $delayDate */ - $delayDate = $dates->sortDesc()->first(); + $rescheduleDate = $dates->sortDesc()->first(); + if(!$delayDate || $rescheduleDate > $delayDate){ + /** @var Carbon $delayDate */ + $delayDate = $rescheduleDate; - if($rescheduleETA === false && $delayDate) { - $delayDate = $delayDate->addDays('5'); + if($rescheduleETA === false && $delayDate) { + $delayDate = $delayDate->addDays('5'); + } } + } if ($trackingRow->tracking === '货物已进目的港仓库') { @@ -213,7 +217,7 @@ class FetchOrderListsFromYdPortalProcessor $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } - + continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); $orderNumber = $customerno[array_key_last($customerno)]; @@ -358,7 +362,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); - if(!$transport->schedules()->where('eta', '=', $delayDate)->first()) { + if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { $etd = $transport->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()->etd; $transport->schedules()->update(['status' => ApprovalStatus::EXPIRED]); $this->createsSchedule->execute($transport, new ScheduleObject($etd, $delayDate, ApprovalStatus::APPROVED)); From 2deddc4e0380b87fe5f82ecd244510f3a966168f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 16:57:49 +0800 Subject: [PATCH 24/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index bbc541e2..56adf573 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -217,6 +217,7 @@ class FetchOrderListsFromYdPortalProcessor $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } + dump($delayDate); continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); From f32335d57b8d4c2abd2d106049dcb49c71787a90 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 16:58:52 +0800 Subject: [PATCH 25/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 56adf573..87a0c43a 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -196,7 +196,7 @@ class FetchOrderListsFromYdPortalProcessor } } - +dump($dates); $rescheduleDate = $dates->sortDesc()->first(); if(!$delayDate || $rescheduleDate > $delayDate){ /** @var Carbon $delayDate */ @@ -217,7 +217,6 @@ class FetchOrderListsFromYdPortalProcessor $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } - dump($delayDate); continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); From 151032bb666ee8c875deb178299fafd3f899c603 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:02:40 +0800 Subject: [PATCH 26/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 87a0c43a..fe8e5087 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -183,9 +183,9 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->tracking, '开'); $rescheduleETA = strpos($trackingRow->tracking, '到港'); - if ($rescheduleETD !== false || $rescheduleETA !== false) { preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); + dump($matches); $dates = collect(); foreach($matches[0] as $date){ @@ -196,7 +196,7 @@ class FetchOrderListsFromYdPortalProcessor } } -dump($dates); + $rescheduleDate = $dates->sortDesc()->first(); if(!$delayDate || $rescheduleDate > $delayDate){ /** @var Carbon $delayDate */ From 435e3a8f7a4de8a9888e91a505ff1d5460ab8daf Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:03:40 +0800 Subject: [PATCH 27/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index fe8e5087..e486e4f2 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -185,7 +185,7 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETA = strpos($trackingRow->tracking, '到港'); if ($rescheduleETD !== false || $rescheduleETA !== false) { preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); - dump($matches); + dump($trackingRow->tracking); $dates = collect(); foreach($matches[0] as $date){ From 47c97d615115ed01e023193c78a61bba80fd2e77 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:05:04 +0800 Subject: [PATCH 28/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index e486e4f2..09cdebcc 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -183,7 +183,7 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->tracking, '开'); $rescheduleETA = strpos($trackingRow->tracking, '到港'); - if ($rescheduleETD !== false || $rescheduleETA !== false) { + if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); dump($trackingRow->tracking); $dates = collect(); From bbd09d300cd7950b0a65570c27ac865b5ead437b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:07:33 +0800 Subject: [PATCH 29/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 09cdebcc..240eb434 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -184,8 +184,8 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->tracking, '开'); $rescheduleETA = strpos($trackingRow->tracking, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { - preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); dump($trackingRow->tracking); + preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); $dates = collect(); foreach($matches[0] as $date){ From 1b8c6ca317ef0bdff6de0e7361b6e4a52d002fa4 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:08:12 +0800 Subject: [PATCH 30/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 240eb434..7b2c3b47 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -184,7 +184,7 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->tracking, '开'); $rescheduleETA = strpos($trackingRow->tracking, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { - dump($trackingRow->tracking); + dump($trackingRow-); preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); $dates = collect(); From 324556985a9ee2e51b5b58a7a6e2cad32305ad74 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:08:23 +0800 Subject: [PATCH 31/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 7b2c3b47..234fe886 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -184,7 +184,7 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->tracking, '开'); $rescheduleETA = strpos($trackingRow->tracking, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { - dump($trackingRow-); + dump($trackingRow); preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); $dates = collect(); From cbc294054e7d26a1036293833895f9bcecddf02d Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:12:47 +0800 Subject: [PATCH 32/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 234fe886..c54a6f80 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -181,11 +181,11 @@ class FetchOrderListsFromYdPortalProcessor $eta = Carbon::parse($tracking[2]); } - $rescheduleETD = strpos($trackingRow->tracking, '开'); - $rescheduleETA = strpos($trackingRow->tracking, '到港'); + $rescheduleETD = strpos($trackingRow->remark, '开'); + $rescheduleETA = strpos($trackingRow->remark, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { dump($trackingRow); - preg_match_all('/([0-9]+.{3})/', $trackingRow->tracking, $matches); + preg_match_all('/([0-9]+.{3})/', $trackingRow->remark, $matches); $dates = collect(); foreach($matches[0] as $date){ From 3fbfa44a04aa606a02e28d153e2c52816dc730ee Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:14:02 +0800 Subject: [PATCH 33/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index c54a6f80..facd0aa6 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -184,7 +184,6 @@ class FetchOrderListsFromYdPortalProcessor $rescheduleETD = strpos($trackingRow->remark, '开'); $rescheduleETA = strpos($trackingRow->remark, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { - dump($trackingRow); preg_match_all('/([0-9]+.{3})/', $trackingRow->remark, $matches); $dates = collect(); @@ -217,6 +216,8 @@ class FetchOrderListsFromYdPortalProcessor $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } + + dump($delayDate); continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); From 384d234b50d89ba1c18ad5572447b27e724c65c2 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:16:35 +0800 Subject: [PATCH 34/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index facd0aa6..bc5882f2 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -217,7 +217,15 @@ class FetchOrderListsFromYdPortalProcessor } } - dump($delayDate); + if($delayDate){ + $container = $this->fetchesContainer->execute(['reference' => $containerReference]); + $transport = $container->transports()->first(); + + if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { + dump('rescheduled: '.$delayDate->formate('d-m-Y')); + } + + } continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); From cf7d9ccca5e4ff5caab12f40fdc9b8338c6130d5 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:17:01 +0800 Subject: [PATCH 35/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index bc5882f2..0cf262bc 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump('rescheduled: '.$delayDate->formate('d-m-Y')); + dump($container->reference.' rescheduled: '.$delayDate->formate('d-m-Y')); } } From 41df3e6ae7bce0d2a8c1bea75e53ee5b5b38950f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:18:47 +0800 Subject: [PATCH 36/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 0cf262bc..65cc84d5 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference.' rescheduled: '.$delayDate->formate('d-m-Y')); + dump($container->reference.' rescheduled: '.$delayDate->format('d-m-Y')); } } From fe00b1fab7d1b09d03ae2f63990444ff5b23b859 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:22:02 +0800 Subject: [PATCH 37/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 65cc84d5..ad7a73e5 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -217,16 +217,6 @@ class FetchOrderListsFromYdPortalProcessor } } - if($delayDate){ - $container = $this->fetchesContainer->execute(['reference' => $containerReference]); - $transport = $container->transports()->first(); - - if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference.' rescheduled: '.$delayDate->format('d-m-Y')); - } - - } - continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); $orderNumber = $customerno[array_key_last($customerno)]; From 6214a2b723d0123df5c8cdecc0bb219e6f50b445 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:31:39 +0800 Subject: [PATCH 38/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index ad7a73e5..e8fd5e28 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -217,6 +217,17 @@ class FetchOrderListsFromYdPortalProcessor } } + if($delayDate){ + $container = $this->fetchesContainer->execute(['reference' => $containerReference]); + $transport = $container->transports()->first(); + + if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { + dump($container->reference); + } + + } + continue; + $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); $orderNumber = $customerno[array_key_last($customerno)]; From 987fdcfba2c5a90859fdff6fbd37d222db94d1f1 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:33:23 +0800 Subject: [PATCH 39/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index e8fd5e28..3135f260 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference); + dump($container->reference. ': '.$transport->schedules()->where('eta', '>', $delayDate)->first()->eta.' -> '. $delayDate->format('d-m-Y')); } } From d389b87609685eb26730a287811eea71cffcd446 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:34:51 +0800 Subject: [PATCH 40/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 3135f260..6295075a 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference. ': '.$transport->schedules()->where('eta', '>', $delayDate)->first()->eta.' -> '. $delayDate->format('d-m-Y')); + dump($container->reference. ': '.$transport->schedules()->where('eta', '<', $delayDate)->first()->eta.' -> '. $delayDate->format('d-m-Y')); } } From f7e1665a0210fc6ed6766a3f1bada47be0ffd088 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:36:24 +0800 Subject: [PATCH 41/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 6295075a..8212788a 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference. ': '.$transport->schedules()->where('eta', '<', $delayDate)->first()->eta.' -> '. $delayDate->format('d-m-Y')); + dump($container->reference. ': '.$transport->schedules()->where('eta', '<', $delayDate)->orderBy('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } } From 701610978da378546b4a39da13bc2a8b3eccc8e7 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:37:07 +0800 Subject: [PATCH 42/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 8212788a..362a552c 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -221,8 +221,8 @@ class FetchOrderListsFromYdPortalProcessor $container = $this->fetchesContainer->execute(['reference' => $containerReference]); $transport = $container->transports()->first(); - if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { - dump($container->reference. ': '.$transport->schedules()->where('eta', '<', $delayDate)->orderBy('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); + if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { + dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderBy('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } } From 82d406abfcb42965e4bed2c6cd212a7cb65be628 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:39:47 +0800 Subject: [PATCH 43/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 362a552c..85954140 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -222,7 +222,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { - dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderBy('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); + dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderByDesc('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } } From c1bc61054969179724696f6f1180ebb9a2554304 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:41:06 +0800 Subject: [PATCH 44/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 85954140..ee8e7b6d 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -219,6 +219,7 @@ class FetchOrderListsFromYdPortalProcessor if($delayDate){ $container = $this->fetchesContainer->execute(['reference' => $containerReference]); + dd($container->transports); $transport = $container->transports()->first(); if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { From c65d875a3d7c9efc2f3e5e355625b0bb2023b081 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:41:39 +0800 Subject: [PATCH 45/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index ee8e7b6d..af069043 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -219,7 +219,7 @@ class FetchOrderListsFromYdPortalProcessor if($delayDate){ $container = $this->fetchesContainer->execute(['reference' => $containerReference]); - dd($container->transports); + dump($container->transports); $transport = $container->transports()->first(); if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { From 9650877819e0c1e1c285c6bad849cf5043992f5e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:43:03 +0800 Subject: [PATCH 46/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index af069043..ac18267d 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -219,9 +219,8 @@ class FetchOrderListsFromYdPortalProcessor if($delayDate){ $container = $this->fetchesContainer->execute(['reference' => $containerReference]); - dump($container->transports); $transport = $container->transports()->first(); - +dump($transport->schedules()->whereDate('eta', '>', $delayDate)->get()); if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderByDesc('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } From 6122c288df511a502de5548a408863bce6b188e6 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:45:10 +0800 Subject: [PATCH 47/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index ac18267d..b8caaa25 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -220,7 +220,7 @@ class FetchOrderListsFromYdPortalProcessor if($delayDate){ $container = $this->fetchesContainer->execute(['reference' => $containerReference]); $transport = $container->transports()->first(); -dump($transport->schedules()->whereDate('eta', '>', $delayDate)->get()); +dump($transport->schedules()->whereDate('eta', '>=', $delayDate)->get()); if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderByDesc('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } From 8edc91bb61e09fe14868a622bfb3889599a37780 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:46:24 +0800 Subject: [PATCH 48/57] update container reschedule for yd --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index b8caaa25..02e5e56a 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -220,8 +220,8 @@ class FetchOrderListsFromYdPortalProcessor if($delayDate){ $container = $this->fetchesContainer->execute(['reference' => $containerReference]); $transport = $container->transports()->first(); -dump($transport->schedules()->whereDate('eta', '>=', $delayDate)->get()); - if(!$transport->schedules()->whereDate('eta', '>', $delayDate)->first()) { + + if(!$transport->schedules()->whereDate('eta', '>=', $delayDate)->first()) { dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderByDesc('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); } From f18e4a882ffdd47c01b88bc2adf6a7c63da730b1 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 17 Mar 2022 17:47:34 +0800 Subject: [PATCH 49/57] update container reschedule for yd --- .../FetchOrderListsFromYdPortalProcessor.php | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 02e5e56a..05f2a89d 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -217,17 +217,6 @@ class FetchOrderListsFromYdPortalProcessor } } - if($delayDate){ - $container = $this->fetchesContainer->execute(['reference' => $containerReference]); - $transport = $container->transports()->first(); - - if(!$transport->schedules()->whereDate('eta', '>=', $delayDate)->first()) { - dump($container->reference. ': '.$transport->schedules()->whereDate('eta', '<', $delayDate)->orderByDesc('eta')->first()->eta.' -> '. $delayDate->format('d-m-Y')); - } - - } - continue; - $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); $orderNumber = $customerno[array_key_last($customerno)]; @@ -372,7 +361,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); - if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { + if(!$transport->schedules()->whereDate('eta', '>=', $delayDate)->first()) { $etd = $transport->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()->etd; $transport->schedules()->update(['status' => ApprovalStatus::EXPIRED]); $this->createsSchedule->execute($transport, new ScheduleObject($etd, $delayDate, ApprovalStatus::APPROVED)); From fb6b2173b53b0084b22e9d8739583b72b3c4872c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 16:14:42 +0800 Subject: [PATCH 50/57] update rfm to table --- routes/web.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index dcea1b8b..9b32ffd4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -297,6 +297,13 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina })->whereNotIn('id', $activeCompanies)->get(); echo '

List of customers active between '.\Carbon\Carbon::parse($active_start)->format('d/m/Y'). ' - '.\Carbon\Carbon::parse($active_end)->format('d/m/Y').' & inactive between '.\Carbon\Carbon::parse($inactive_start)->format('d/m/Y'). ' - '.\Carbon\Carbon::parse($inactive_end)->format('d/m/Y').'

'; + echo ' + + + + + + '; foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; @@ -312,8 +319,14 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina $totalCbm = ($with_cbm ? '['. $packingList->count().'] ('. $totalCbm .')' : ''); - echo $key + 1 .'. '.$marking.' '.$totalCbm.'

'; + echo ' + + + + + '; } + echo '
#markingNumber of OrdersCBM
'.$key.''.$marking.''.$with_cbm ? $packingList->count() : 0 .''.$with_cbm ? $totalCbm : 0 .'
'; }); From aa1ba03415292dd191fccb2aaeb9e4ccdac9b3f1 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 16:16:25 +0800 Subject: [PATCH 51/57] update rfm to table --- routes/web.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/routes/web.php b/routes/web.php index 9b32ffd4..fd633b01 100644 --- a/routes/web.php +++ b/routes/web.php @@ -304,6 +304,7 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina Number of Orders CBM '; + foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; @@ -317,8 +318,6 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina }); } - $totalCbm = ($with_cbm ? '['. $packingList->count().'] ('. $totalCbm .')' : ''); - echo ' '.$key.' '.$marking.' From 9ee81d9385b9924e9ac3ce5f52bbeb62fd4e6421 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 16:18:12 +0800 Subject: [PATCH 52/57] update rfm to table --- .../CreateShippingInvoiceTransactionLogic.php | 29 ++++++++++++++----- routes/web.php | 8 ++--- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php index f988d73c..b15d2208 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php @@ -16,6 +16,7 @@ use App\Classes\Modules\Transactions\DataTransferObjects\TransactionDetailObject use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\ValueObjects\Constants\OrderRoleTypes; +use App\Classes\ValueObjects\Constants\PackageType; use App\Classes\ValueObjects\Constants\TransactionType; use App\Classes\ValueObjects\Constants\PaymentMethodType; use App\Classes\ValueObjects\Constants\ApprovalStatus; @@ -86,7 +87,11 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic { $packing_list = $this->fetchesPackingList->execute(['id' => $request->input('packing_list_id')]); - $cbm = $packing_list->packages->sum(function($package) { + $cbm = $packing_list->packages->packages()->where('type', '!=', PackageType::OVER_WEIGHT)->sum(function($package) { + return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); + }); + + $overWieghtCbm = $packing_list->packages()->where('type', PackageType::OVER_WEIGHT)->sum(function($package) { return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); }); @@ -143,7 +148,7 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic } $price_cbm = $base_price + $warehouse_rate + $state_rate; - $total_cbm = $price_cbm * $cbm; + $total_cbm = $price_cbm * ($cbm + $overWieghtCbm); $billNumber = $this->generatesTransactionBillNumber->execute('SHIP-'); @@ -168,14 +173,24 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic $invoice_transaction = $this->createsTransaction->execute($packing_list, $object); $object_detail = new TransactionDetailObject( - $invoice_transaction->bill_no, - $invoice_transaction->bill_no, - 1, - $invoice_transaction->amount, - $invoice_transaction->amount + 'SHIPPING_FEE', + 'Shipping Fee', + $cbm, + $price_cbm ); $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + if($overWieghtCbm) { + $object_detail = new TransactionDetailObject( + 'OVERWIEGHT_CHARGES', + 'Over weight charges', + $overWieghtCbm, + $price_cbm + ); + + $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + } + $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]); $document_object = new DocumentObject( diff --git a/routes/web.php b/routes/web.php index fd633b01..1ecd214e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -304,11 +304,11 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina Number of Orders CBM '; - foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; - + $packingList = collect(); + $totalCbm = 0; if($with_cbm){ $packingList = $company->orderPackingLists()->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::SHIPPING_PACKING_LIST)->get(); $totalCbm = $packingList->flatMap(function ($packingList) { @@ -321,8 +321,8 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina echo ' '.$key.' '.$marking.' - '.$with_cbm ? $packingList->count() : 0 .' - '.$with_cbm ? $totalCbm : 0 .' + '. $packingList->count() .' + '. $totalCbm .' '; } echo ''; From 54dd6d407d246eb7f104e2b4308ccc512640dabe Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 16:18:44 +0800 Subject: [PATCH 53/57] revert invoice changes --- .../CreateShippingInvoiceTransactionLogic.php | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php index b15d2208..bed13201 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php @@ -16,7 +16,6 @@ use App\Classes\Modules\Transactions\DataTransferObjects\TransactionDetailObject use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\ValueObjects\Constants\OrderRoleTypes; -use App\Classes\ValueObjects\Constants\PackageType; use App\Classes\ValueObjects\Constants\TransactionType; use App\Classes\ValueObjects\Constants\PaymentMethodType; use App\Classes\ValueObjects\Constants\ApprovalStatus; @@ -87,11 +86,7 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic { $packing_list = $this->fetchesPackingList->execute(['id' => $request->input('packing_list_id')]); - $cbm = $packing_list->packages->packages()->where('type', '!=', PackageType::OVER_WEIGHT)->sum(function($package) { - return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); - }); - - $overWieghtCbm = $packing_list->packages()->where('type', PackageType::OVER_WEIGHT)->sum(function($package) { + $cbm = $packing_list->packages->sum(function($package) { return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); }); @@ -148,7 +143,7 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic } $price_cbm = $base_price + $warehouse_rate + $state_rate; - $total_cbm = $price_cbm * ($cbm + $overWieghtCbm); + $total_cbm = $price_cbm * $cbm; $billNumber = $this->generatesTransactionBillNumber->execute('SHIP-'); @@ -173,24 +168,14 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic $invoice_transaction = $this->createsTransaction->execute($packing_list, $object); $object_detail = new TransactionDetailObject( - 'SHIPPING_FEE', - 'Shipping Fee', - $cbm, - $price_cbm + $invoice_transaction->bill_no, + $invoice_transaction->bill_no, + 1, + $invoice_transaction->amount, + $invoice_transaction->amount ); $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); - if($overWieghtCbm) { - $object_detail = new TransactionDetailObject( - 'OVERWIEGHT_CHARGES', - 'Over weight charges', - $overWieghtCbm, - $price_cbm - ); - - $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); - } - $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]); $document_object = new DocumentObject( From 3326de9c4fa0e7db13652844e3e7f212c4d7bac8 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 17:44:28 +0800 Subject: [PATCH 54/57] smc report for specific containers --- routes/web.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 1ecd214e..53c54686 100644 --- a/routes/web.php +++ b/routes/web.php @@ -240,7 +240,8 @@ Route::get('/settings', function () { })->name('settings'); Route::get('/customer/summary/monthly', function () { - $containers = Container::whereMonth('loading_date', 1)->where('owner_id', 3)->get(); +// $containers = Container::whereMonth('loading_date', 1)->where('owner_id', 3)->get(); + $containers = Container::whereIn('reference', ['SM21-166', 'SM21-168', 'SM21-170', 'SM21-171', 'SM21-172', 'SM21-173', 'EPS-3833'])->get(); foreach ($containers as $container){ $packingLists = $container->packingLists()->get()->filter(function ($packingList) { return $packingList->owner->company_module_id === 248; From e1c4d674b635f90c9482a28ee714d3d06f044402 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 17:48:18 +0800 Subject: [PATCH 55/57] smc report for specific containers --- routes/web.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 53c54686..194aed72 100644 --- a/routes/web.php +++ b/routes/web.php @@ -262,7 +262,10 @@ Route::get('/customer/summary/monthly', function () { CBM '; foreach ($packingLists as $packingList){ - $packages = $packingList->packingLists->first()->packages; + if($packingList->packingLists->first()){ + $packingList = $packingList->packingLists->first(); + } + $packages = $packingList->packages; foreach ($packages as $package){ echo ' - From 3a5f404294f70ebd275122de74c69ae7126c3c0d Mon Sep 17 00:00:00 2001 From: edmondlang Date: Wed, 23 Mar 2022 00:53:16 +0800 Subject: [PATCH 56/57] Tidy Up Export Customer activity details, add new filter - minOrders and minCbm --- .../Reports/MonthlyReportController.php | 58 +++++++ ...CustomerActivityReportSectionComponent.vue | 145 ++++++++++++++++++ .../views/pages/admin/customers.blade.php | 65 ++++---- routes/report.php | 2 + 4 files changed, 240 insertions(+), 30 deletions(-) create mode 100644 resources/assets/vue/components/reports/sections/CustomerActivityReportSectionComponent.vue diff --git a/app/Http/Controllers/Reports/MonthlyReportController.php b/app/Http/Controllers/Reports/MonthlyReportController.php index 20c90e70..fdb218e6 100644 --- a/app/Http/Controllers/Reports/MonthlyReportController.php +++ b/app/Http/Controllers/Reports/MonthlyReportController.php @@ -200,4 +200,62 @@ class MonthlyReportController })->sum('quantity'), ]]))->handler(); } + + public function customerActivityReport(Request $request): JsonResponse { + + $active_start = $request->input('active_start'); + $active_end = $request->input('active_end'); + $inactive_start = $request->input('inactive_start'); + $inactive_end = $request->input('inactive_end'); + $minCbm = $request->input('cbm'); + $minOrders = $request->input('minOrders'); + + $activeCompanies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orderPackingLists', function($query) use($inactive_start, $inactive_end) { + return $query->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function ($query) use ($inactive_start, $inactive_end) { + return $query->where('drop_date', '>=', \Carbon\Carbon::parse($inactive_start))->where('drop_date', '<=', \Carbon\Carbon::parse($inactive_end)->addDay()); + }); + })->pluck('id'); + + $companies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orderPackingLists', function($query) use($active_start, $active_end) { + return $query->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function ($query) use ($active_start, $active_end) { + return $query->whereDate('drop_date', '>=', \Carbon\Carbon::parse($active_start))->whereDate('drop_date', '<=', \Carbon\Carbon::parse($active_end)->addDay()); + }); + })->whereNotIn('id', $activeCompanies)->get(); + + $customerActivityData = []; + $counter = 1; + + foreach ($companies as $key => $company){ + $connection = $company->inviters()->withPivot('invitee_reference')->first(); + $marking = $connection ? $connection->pivot->invitee_reference:''; + $packingList = $company->orderPackingLists()->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::SHIPPING_PACKING_LIST)->get(); + $totalCbm = $packingList->flatMap(function ($packingList) { + return $packingList->packages; + })->sum(function($package){ + return (( (float) $package->width / 100) * ( (float) $package->length / 100) * ( (float) $package->height / 100)) * $package->quantity; + }); + + if ($minCbm != 'null' && $totalCbm < $minCbm) { continue; } + + if ($minOrders != 'null' && $packingList->count() < $minOrders) { continue; } + + array_push($customerActivityData, array( + 'key' => $counter, + 'marking' => $marking, + 'packingListCount'=> $packingList->count(), + 'totalCbm'=> $totalCbm, + )); + $counter ++; + } + + return (new ApiResponseObject('fetch service report Successful', + '', + HttpStatus::OK_WITH_MESSAGE, ['data' => [ + 'active_start' => Carbon::parse($active_start)->format('d/m/Y'), + 'active_end' => Carbon::parse($active_end)->format('d/m/Y'), + 'inactive_start' => Carbon::parse($inactive_start)->format('d/m/Y'), + 'inactive_end' => Carbon::parse($inactive_end)->format('d/m/Y'), + 'customerActivityData' => $customerActivityData, + ]]))->handler(); + } } diff --git a/resources/assets/vue/components/reports/sections/CustomerActivityReportSectionComponent.vue b/resources/assets/vue/components/reports/sections/CustomerActivityReportSectionComponent.vue new file mode 100644 index 00000000..eef94603 --- /dev/null +++ b/resources/assets/vue/components/reports/sections/CustomerActivityReportSectionComponent.vue @@ -0,0 +1,145 @@ + + + diff --git a/resources/views/pages/admin/customers.blade.php b/resources/views/pages/admin/customers.blade.php index 09fd11a0..eadad7ae 100644 --- a/resources/views/pages/admin/customers.blade.php +++ b/resources/views/pages/admin/customers.blade.php @@ -2,37 +2,42 @@ @section('inner_content')
- -
-
-
-
-
Customers List
+ +
+
+ +
+
+
+
+
Customers List
+
+
+
+
+ + + +
+
-
-
-
- - - -
-
-
-
-
-
-
Customers Without Confirmed Orders
-
-
-
-
- - - +
+
+
+
Customers Without Confirmed Orders
+
+
+
+
+ + + +
+
diff --git a/routes/report.php b/routes/report.php index cd084cf6..1be3fe62 100644 --- a/routes/report.php +++ b/routes/report.php @@ -10,4 +10,6 @@ Route::group(['prefix' => 'report', 'as' => 'report.', 'namespace' => 'Reports'] Route::get('/profit/{model}/{value}/{from?}/{to?}', 'MonthlyReportController@profitModelReport')->name('profit'); Route::get('/service', 'MonthlyReportController@serviceReport')->name('service'); + + Route::get('/customers/active', 'MonthlyReportController@customerActivityReport')->name('customerActivity'); }); From db03836ef5e8cf7951597ce9664d064261d6e6ab Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 24 Mar 2022 10:59:59 +0800 Subject: [PATCH 57/57] add new way of detecting yd container rescheduling --- .../Processors/FetchOrderListsFromYdPortalProcessor.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 05f2a89d..4cd92f9d 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -181,7 +181,7 @@ class FetchOrderListsFromYdPortalProcessor $eta = Carbon::parse($tracking[2]); } - $rescheduleETD = strpos($trackingRow->remark, '开'); + $rescheduleETD = strpos($trackingRow->remark, '开') || strpos($trackingRow->remark, '到港'); $rescheduleETA = strpos($trackingRow->remark, '到港'); if (($rescheduleETD !== false || $rescheduleETA !== false) && strpos($trackingRow->tracking, '货物装柜完成。') === false) { preg_match_all('/([0-9]+.{3})/', $trackingRow->remark, $matches); @@ -208,6 +208,11 @@ class FetchOrderListsFromYdPortalProcessor } + if ($trackingRow->tracking === '已开船') { + $delayDate = Carbon::parse($trackingRow->trackingtime)->addDays('5'); + } + + if ($trackingRow->tracking === '货物已进目的港仓库') { $unstuffingDate = Carbon::parse($trackingRow->trackingtime); }