diff --git a/app/Exports/ReportExport.php b/app/Exports/ReportExport.php index bdf3889..07bed6a 100644 --- a/app/Exports/ReportExport.php +++ b/app/Exports/ReportExport.php @@ -13,17 +13,21 @@ class ReportExport implements FromView protected $states; protected $startDate; protected $endDate; + protected $restaurants; - public function __construct($reportType, $states, $startDate, $endDate) + public function __construct($reportType, $states, $startDate, $endDate, $restaurants = []) { $this->reportType = $reportType; $this->states = $states; $this->startDate = $startDate; $this->endDate = $endDate; + $this->restaurants = $restaurants; } public function view(): View { + $data = collect(); + if ($this->reportType === 'Total Users') { $query = IamPrincipal::query(); @@ -40,10 +44,6 @@ class ReportExport implements FromView } $data = $query->get(); - return view('exports.report', [ - 'data' => $data, - 'reportType' => $this->reportType - ]); } elseif ($this->reportType === 'Redemptions') { $query = RedeemRestaurant::with(['restaurant', 'customer'])->where('is_redeem', 0); @@ -54,23 +54,34 @@ class ReportExport implements FromView } if ($this->startDate) { - $query->whereDate('redeem_date', '>=', $this->startDate); + $query->whereDate('created_at', '>=', $this->startDate); } if ($this->endDate) { - $query->whereDate('redeem_date', '<=', $this->endDate); + $query->whereDate('created_at', '<=', $this->endDate); + } + + $data = $query->get(); + } elseif ($this->reportType === 'Redemptions for Specific Restaurants') { + $query = RedeemRestaurant::with('restaurant', 'customer'); + + if (!empty($this->restaurants)) { + $query->whereIn('manage_restaurants_xid', $this->restaurants); + } + + if ($this->startDate) { + $query->whereDate('created_at', '>=', $this->startDate); + } + + if ($this->endDate) { + $query->whereDate('created_at', '<=', $this->endDate); } $data = $query->get(); - return view('exports.report', [ - 'data' => $data, - 'reportType' => $this->reportType - ]); } - // Default empty data if no matching report type return view('exports.report', [ - 'data' => collect(), + 'data' => $data, 'reportType' => $this->reportType ]); } diff --git a/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php b/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php index 30dd8b3..f69d5f0 100644 --- a/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php +++ b/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php @@ -23,7 +23,6 @@ class SubscriptionController extends Controller //created by; Hritik //On - 28th June ,2024 //use - to get Data of User in Webview and show list of product - public function mySubscription(Request $request) { try { @@ -47,7 +46,6 @@ class SubscriptionController extends Controller // $request['iam_principal_id'] = $user_id; - return view('Admin.pages.subscriptions.my-subscription', compact('faqs')); $products = SubscriptionProducts::where('is_active', '1')->get(); @@ -63,14 +61,12 @@ class SubscriptionController extends Controller } } catch (\Exception $e) { - Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); + Log::error("An error occurred in " . _METHOD_ . ": " . $e->getMessage(), ['exception' => $e]); return jsonResponseWithErrorMessage(__('auth.something_went_wrong')); } } - - //created by; Hritik //On - 28th June ,2024 //use - to get Data of User in Webview and show list of product @@ -84,7 +80,7 @@ class SubscriptionController extends Controller return view('Admin.pages.subscriptions.list-of-products', compact('productList')); } catch (\Exception $e) { - Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); + Log::error("An error occurred in " . _METHOD_ . ": " . $e->getMessage(), ['exception' => $e]); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } @@ -236,7 +232,7 @@ class SubscriptionController extends Controller } catch (\Exception $e) { - Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); + Log::error("An error occurred in " . _METHOD_ . ": " . $e->getMessage(), ['exception' => $e]); return jsonResponseWithErrorMessage(__('auth.something_went_wrong')); // return redirect()->back()->with(['error' => "Something went wrong while subscription!" . $e->getMessage()]); @@ -303,7 +299,7 @@ class SubscriptionController extends Controller } catch (Exception $e) { DB::rollBack(); - Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); + Log::error("An error occurred in " . _METHOD_ . ": " . $e->getMessage(), ['exception' => $e]); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } } diff --git a/app/Http/Controllers/Admin/ManageReportsController.php b/app/Http/Controllers/Admin/ManageReportsController.php index 558be19..9bbf9bc 100644 --- a/app/Http/Controllers/Admin/ManageReportsController.php +++ b/app/Http/Controllers/Admin/ManageReportsController.php @@ -8,8 +8,7 @@ use App\Models\ManageState; use Illuminate\Support\Facades\Log; use Maatwebsite\Excel\Facades\Excel; use App\Exports\ReportExport; - - +use App\Models\ManageRestaurant; class ManageReportsController extends Controller { @@ -18,7 +17,8 @@ class ManageReportsController extends Controller { try { $states = ManageState::all(); - return view('Admin.pages.manage_reports.manage_reports', compact('states')); + $restaurants = ManageRestaurant::all(); + return view('Admin.pages.manage_reports.manage_reports', compact('states','restaurants')); } catch (\Exception $e) { Log::error("An error occurred in " . __METHOD__ . ": " . $e->getMessage(), ['exception' => $e]); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); @@ -40,10 +40,12 @@ public function exportReports(Request $request) { $reportType = $request->input('reportType'); $states = $request->input('states'); + $restaurants = $request->input('restaurants', []); + $startDate = $request->input('startDate'); $endDate = $request->input('endDate'); - return Excel::download(new ReportExport($reportType, $states, $startDate, $endDate), 'report.xlsx'); + return Excel::download(new ReportExport($reportType, $states, $startDate, $endDate, $restaurants), 'report.xlsx'); } } diff --git a/resources/views/Admin/pages/manage_reports/manage_reports.blade.php b/resources/views/Admin/pages/manage_reports/manage_reports.blade.php index d6f1629..38cc006 100644 --- a/resources/views/Admin/pages/manage_reports/manage_reports.blade.php +++ b/resources/views/Admin/pages/manage_reports/manage_reports.blade.php @@ -20,14 +20,6 @@ $currentPage = 'manage-reports';
@csrf
-
@@ -60,16 +52,29 @@ $currentPage = 'manage-reports';
diff --git a/resources/views/exports/report.blade.php b/resources/views/exports/report.blade.php index b96c6f8..ca075db 100644 --- a/resources/views/exports/report.blade.php +++ b/resources/views/exports/report.blade.php @@ -1,4 +1,3 @@ - @@ -16,17 +15,17 @@ Last Name Email State - Created At + Date @foreach($data as $user) - {{$loop->iteration}} + {{ $loop->iteration }} {{ $user->id }} {{ $user->first_name }} {{ $user->last_name }} - {{ $user->email_address}} + {{ $user->email_address }} {{ $user->state->name ?? 'N/A' }} {{ $user->created_at }} @@ -37,26 +36,53 @@ - + + + + + + @foreach($data as $redemption) + + + + + + + + + + + @endforeach + +
Sr No. Sr No. ID Customer First Name Customer Last Name Restaurant Name Redeem Date StateDate
{{ $loop->iteration }}{{ $redemption->id }}{{ $redemption->customer->first_name ?? 'N/A' }}{{ $redemption->customer->last_name ?? 'N/A' }}{{ $redemption->restaurant->name ?? 'N/A' }}{{ $redemption->redeem_date }}{{ $redemption->customer->state->name ?? 'N/A' }}{{$redemption->created_at ?? 'N/A'}}
+ @elseif ($reportType === 'Redemptions for Specific Restaurants') + + + + + + + + + @foreach($data as $redemption) - - - - + + + - + @endforeach
Sr No. Customer First NameCustomer Last NameRestaurant NameRedeem Date Date
{{$loop->iteration}}{{ $redemption->id }}{{ $redemption->customer->first_name ?? 'N/A' }}{{ $redemption->customer->last_name ?? 'N/A' }}{{ $redemption->restaurant->name ?? 'N/A' }}{{ $redemption->customer->first_name }}{{ $redemption->customer->last_name }}{{ $redemption->restaurant->name }} {{ $redemption->redeem_date }}{{ $redemption->customer->state->name ?? 'N/A' }}{{$redemption->created_at}}