From eb41d7c2ef9c4bf0df8caad055a2d0d0c869a0fd Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 5 Mar 2022 16:49:19 +0800 Subject: [PATCH 1/5] show packing list receive date --- app/Http/Resources/PackingListResource.php | 3 +++ .../components/containers/elements/PackingListComponent.vue | 1 + 2 files changed, 4 insertions(+) diff --git a/app/Http/Resources/PackingListResource.php b/app/Http/Resources/PackingListResource.php index 38c568e7..93db4c2a 100644 --- a/app/Http/Resources/PackingListResource.php +++ b/app/Http/Resources/PackingListResource.php @@ -2,8 +2,10 @@ namespace App\Http\Resources; +use App\Classes\ValueObjects\Constants\PackingListType; use App\Classes\ValueObjects\Constants\RoleTypes; use App\Models\Order; +use App\Models\PackingList; use Illuminate\Http\Resources\Json\JsonResource; class PackingListResource extends JsonResource @@ -26,6 +28,7 @@ class PackingListResource extends JsonResource 'status' => $this->status, 'transport' => new TransportResource($this->transports()->first()), 'type' => $this->type, + 'receive_packing_list' => new PackingListResource(PackingList::where('reference', $this->reference)->where('type', PackingListType::WAREHOUSE_RECEIVE_LIST)->first()), 'packages' => PackageResource::collection($packages), $this->mergeWhen($this->owner instanceof Order, [ 'order' => New OrderResource($this->owner) diff --git a/resources/assets/vue/components/containers/elements/PackingListComponent.vue b/resources/assets/vue/components/containers/elements/PackingListComponent.vue index d1b37139..078fd100 100644 --- a/resources/assets/vue/components/containers/elements/PackingListComponent.vue +++ b/resources/assets/vue/components/containers/elements/PackingListComponent.vue @@ -3,6 +3,7 @@
{{item.order.company_module.marking}}/{{item.order.reference}} +

{{item.receive_packing_list.transport.drop_date}}

Unclaimed Packing List
From 7998f6e43f0c62eda0721dc8fe67656ed0191453 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 5 Mar 2022 16:51:30 +0800 Subject: [PATCH 2/5] show packing list receive date --- app/Http/Resources/PackingListResource.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Resources/PackingListResource.php b/app/Http/Resources/PackingListResource.php index 93db4c2a..82065b18 100644 --- a/app/Http/Resources/PackingListResource.php +++ b/app/Http/Resources/PackingListResource.php @@ -28,7 +28,7 @@ class PackingListResource extends JsonResource 'status' => $this->status, 'transport' => new TransportResource($this->transports()->first()), 'type' => $this->type, - 'receive_packing_list' => new PackingListResource(PackingList::where('reference', $this->reference)->where('type', PackingListType::WAREHOUSE_RECEIVE_LIST)->first()), + 'receive_packing_list' => $this->when($this->type === PackingListType::SHIPPING_PACKING_LIST, new PackingListResource(PackingList::where('reference', $this->reference)->where('type', PackingListType::WAREHOUSE_RECEIVE_LIST)->first())), 'packages' => PackageResource::collection($packages), $this->mergeWhen($this->owner instanceof Order, [ 'order' => New OrderResource($this->owner) From eb905e7176bdc9d823ccc354f0ae2a76253e5582 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 5 Mar 2022 17:59:02 +0800 Subject: [PATCH 3/5] fix active customer list --- app/Models/CompanyModule.php | 11 +++++++++++ routes/web.php | 26 +++++++++++--------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/app/Models/CompanyModule.php b/app/Models/CompanyModule.php index b0058389..180d8286 100644 --- a/app/Models/CompanyModule.php +++ b/app/Models/CompanyModule.php @@ -21,6 +21,8 @@ use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; use PhpParser\Node\Expr\AssignOp\Mod; +use Staudenmeir\EloquentHasManyDeep\HasManyDeep; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; /** * Class CompanyModule @@ -32,6 +34,7 @@ use PhpParser\Node\Expr\AssignOp\Mod; */ class CompanyModule extends AbstractModel implements Addressable, Documentable, Contactable, ContainerOwner, Packable { + use HasRelationships; use SoftDeletes; protected $table = 'company_modules'; @@ -70,6 +73,14 @@ class CompanyModule extends AbstractModel implements Addressable, Documentable, return $this->morphMany(PackingList::class, 'owner'); } + /** + * @return hasManyDeep + */ + public function orderPackingLists(): hasManyDeep + { + return $this->hasManyDeep(PackingList::class, [Order::class], ['company_module_id', ['owner_type', 'owner_id']], ['id', null]); + } + /** * @return belongsToMany */ diff --git a/routes/web.php b/routes/web.php index 405697ba..741782f4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -204,22 +204,18 @@ Route::get('/settings', function () { return view('pages.settings'); })->name('settings'); -Route::get('/customers/active/{active_start}/{active_end}/{?inactive_start}/{?inactive_end}', function ($active_start, $active_end, $inactive_start, $inactive_end) { - $companies = CompanyModule::where('type', \App\Classes\ValueObjects\Constants\BusinessType::IMPORTER)->whereHas('orders', function($query) use($active_start, $active_end, $inactive_start, $inactive_end){ - return $query->whereHas('packingLists', function($query) use($active_start, $active_end){ - return $query->where('type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function($query) use($active_start, $active_end){ - return $query->whereHas('schedules', function($query) use($active_start, $active_end){ - return $query->where('eta', '>=', \Carbon\Carbon::parse($active_start))->where('eta', '<=', \Carbon\Carbon::parse($active_end)->addDay()); - }); - }); - })->whereDoesntHave('packingLists', function($query) use($inactive_start, $inactive_end){ - return $query->where('type', \App\Classes\ValueObjects\Constants\PackingListType::WAREHOUSE_RECEIVE_LIST)->whereHas('transports', function($query) use($inactive_start, $inactive_end){ - return $query->whereDoesntHave('schedules', function($query) use($inactive_start, $inactive_end){ - return $query->where('eta', '>=', \Carbon\Carbon::parse($inactive_start))->where('eta', '<=', \Carbon\Carbon::parse($inactive_end)->addDay()); - }); - }); +Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{inactive_end?}', function ($active_start, $active_end, $inactive_start=null, $inactive_end=null) { + $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()); }); - })->get(); + })->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(); foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); From 98424eacf4d5470215a58e4c31a5ad9d10a7bb39 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 5 Mar 2022 18:04:11 +0800 Subject: [PATCH 4/5] fix active customer list --- routes/web.php | 1 + 1 file changed, 1 insertion(+) diff --git a/routes/web.php b/routes/web.php index 741782f4..d22f7c39 100644 --- a/routes/web.php +++ b/routes/web.php @@ -217,6 +217,7 @@ 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'); foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; From a4365e5c332d0d7b8cce1ee9d75a2a2e1ee77fce Mon Sep 17 00:00:00 2001 From: omair saleh Date: Sat, 5 Mar 2022 18:06:21 +0800 Subject: [PATCH 5/5] fix active customer list --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index d22f7c39..6f765b8a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -217,7 +217,7 @@ 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 '

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').'

'; foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:'';