From f9cd9955a3dc58804541ae128316fb23ad3f2194 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 16 Jun 2020 08:52:52 +0800 Subject: [PATCH] Add category filter on summary report --- app/Http/Controllers/ReportsController.php | 12 +++++++++--- resources/views/reports/index.blade.php | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index df0a838..61028c1 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -17,10 +17,12 @@ public function index(Request $request) { $partnerId = $request->get('partner_id'); $partners = $this->getPartnerList(); + $categoryId = $request->get('category_id'); + $categories = $this->getCategoryList(); $year = $this->getYearQuery($request->get('year')); - $data = $this->getYearlyTransactionSummary($year, auth()->id(), $partnerId); + $data = $this->getYearlyTransactionSummary($year, auth()->id(), $partnerId, $categoryId); - return view('reports.index', compact('year', 'data', 'partners', 'partnerId')); + return view('reports.index', compact('year', 'data', 'partners', 'partnerId', 'categories', 'categoryId')); } /** @@ -42,7 +44,7 @@ private function getYearQuery($yearQuery) * @param int|null $partnerId * @return \Illuminate\Support\Collection */ - private function getYearlyTransactionSummary($year, $userId, $partnerId = null) + private function getYearlyTransactionSummary($year, $userId, $partnerId = null, $categoryId = null) { $rawQuery = 'MONTH(date) as month'; $rawQuery .= ', YEAR(date) as year'; @@ -58,6 +60,10 @@ private function getYearlyTransactionSummary($year, $userId, $partnerId = null) $reportQuery->where('partner_id', $partnerId); } + if ($categoryId) { + $reportQuery->where('category_id', $categoryId); + } + $reportsData = $reportQuery->orderBy('year', 'ASC') ->orderBy('month', 'ASC') ->groupBy(DB::raw('YEAR(date)')) diff --git a/resources/views/reports/index.blade.php b/resources/views/reports/index.blade.php index 62fb1dc..247a7eb 100644 --- a/resources/views/reports/index.blade.php +++ b/resources/views/reports/index.blade.php @@ -9,6 +9,7 @@ {{ Form::label('year', __('report.view_yearly_label'), ['class' => 'control-label']) }} {{ Form::select('year', get_years(), $year, ['class' => 'form-control']) }} {{ Form::select('partner_id', $partners, $partnerId, ['class' => 'form-control', 'placeholder' => '-- '.__('partner.all').' --']) }} +{{ Form::select('category_id', $categories, $categoryId, ['class' => 'form-control', 'placeholder' => '-- '.__('category.all').' --']) }} {{ Form::submit(__('report.view_report'), ['class' => 'btn btn-info btn-sm']) }} {{ link_to_route('reports.index', __('report.this_year'), [], ['class' => 'btn btn-default btn-sm']) }} {{ Form::close() }}