From 6f2b374cbd7f211fea2236856739dd19758cf25b Mon Sep 17 00:00:00 2001 From: Edmond Lang Date: Mon, 1 Sep 2025 20:46:45 +0800 Subject: [PATCH] Add Filters for "/warehouse-list" -> Arrived Parcel --- .../HasParcelWithTransportBetweenDate.php | 29 +++++ .../elements/WarehouseListExportComponent.vue | 110 ++++++++++-------- .../views/pages/warehouse_list.blade.php | 4 +- 3 files changed, 94 insertions(+), 49 deletions(-) create mode 100644 app/Classes/General/Eloquent/Filters/HasParcelWithTransportBetweenDate.php diff --git a/app/Classes/General/Eloquent/Filters/HasParcelWithTransportBetweenDate.php b/app/Classes/General/Eloquent/Filters/HasParcelWithTransportBetweenDate.php new file mode 100644 index 00000000..3a86d2e5 --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/HasParcelWithTransportBetweenDate.php @@ -0,0 +1,29 @@ +startOfDay(); + $end = Carbon::make(data_get($value, 'end_date'))?->endOfDay(); + + if (!$start && !$end) return $builder; + if ($start && $end && $start->gt($end)) [$start, $end] = [$end, $start]; + + return $builder->whereHas('transports', function (Builder $q) use ($start, $end) { + if ($start && $end && $start->isSameDay($end)) return $q->whereDate('drop_date', $start->toDateString()); + if ($start && $end) return $q->whereBetween('drop_date', [$start, $end]); + return $start + ? $q->where('drop_date', '>=', $start) + : $q->where('drop_date', '<=', $end); + }); + } +} diff --git a/resources/assets/vue/components/companies/elements/WarehouseListExportComponent.vue b/resources/assets/vue/components/companies/elements/WarehouseListExportComponent.vue index 6f7a3f0c..bc608ca5 100644 --- a/resources/assets/vue/components/companies/elements/WarehouseListExportComponent.vue +++ b/resources/assets/vue/components/companies/elements/WarehouseListExportComponent.vue @@ -1,58 +1,74 @@ diff --git a/resources/views/pages/warehouse_list.blade.php b/resources/views/pages/warehouse_list.blade.php index 8db747a3..2ea9bedb 100644 --- a/resources/views/pages/warehouse_list.blade.php +++ b/resources/views/pages/warehouse_list.blade.php @@ -58,11 +58,11 @@ --> - + @endsection