From fe75cc546d1564640882519a8b3fe3940a933713 Mon Sep 17 00:00:00 2001 From: Fahim Date: Thu, 9 Sep 2021 03:05:33 +0600 Subject: [PATCH] Added: Payments Report --- .../Http/Controllers/ReportsController.php | 6 + .../Resources/views/payments/index.blade.php | 16 ++ Modules/Reports/Routes/web.php | 3 + app/Http/Livewire/Reports/PaymentsReport.php | 74 ++++++++++ resources/views/layouts/menu.blade.php | 9 +- .../reports/payments-report.blade.php | 138 ++++++++++++++++++ .../reports/purchases-report.blade.php | 4 +- .../reports/purchases-return-report.blade.php | 4 +- .../livewire/reports/sales-report.blade.php | 4 +- .../reports/sales-return-report.blade.php | 4 +- 10 files changed, 253 insertions(+), 9 deletions(-) create mode 100644 Modules/Reports/Resources/views/payments/index.blade.php create mode 100644 app/Http/Livewire/Reports/PaymentsReport.php create mode 100644 resources/views/livewire/reports/payments-report.blade.php diff --git a/Modules/Reports/Http/Controllers/ReportsController.php b/Modules/Reports/Http/Controllers/ReportsController.php index 7c2c1f2c..cda4692b 100644 --- a/Modules/Reports/Http/Controllers/ReportsController.php +++ b/Modules/Reports/Http/Controllers/ReportsController.php @@ -10,6 +10,12 @@ use Illuminate\Support\Facades\Gate; class ReportsController extends Controller { + public function paymentsReport() { + abort_if(Gate::denies('access_payments_report'), 403); + + return view('reports::payments.index'); + } + public function salesReport() { abort_if(Gate::denies('access_sales_report'), 403); diff --git a/Modules/Reports/Resources/views/payments/index.blade.php b/Modules/Reports/Resources/views/payments/index.blade.php new file mode 100644 index 00000000..2a5218c0 --- /dev/null +++ b/Modules/Reports/Resources/views/payments/index.blade.php @@ -0,0 +1,16 @@ +@extends('layouts.app') + +@section('title', 'Payments Report') + +@section('breadcrumb') + +@endsection + +@section('content') +
+ +
+@endsection diff --git a/Modules/Reports/Routes/web.php b/Modules/Reports/Routes/web.php index bf6aad57..6d6b511d 100644 --- a/Modules/Reports/Routes/web.php +++ b/Modules/Reports/Routes/web.php @@ -12,6 +12,9 @@ */ Route::group(['middleware' => 'auth'], function () { + //Payments Report + Route::get('/payments-report', 'ReportsController@paymentsReport') + ->name('payments-report.index'); //Sales Report Route::get('/sales-report', 'ReportsController@salesReport') ->name('sales-report.index'); diff --git a/app/Http/Livewire/Reports/PaymentsReport.php b/app/Http/Livewire/Reports/PaymentsReport.php new file mode 100644 index 00000000..437cc9b3 --- /dev/null +++ b/app/Http/Livewire/Reports/PaymentsReport.php @@ -0,0 +1,74 @@ + 'required|date|before:end_date', + 'end_date' => 'required|date|after:start_date', + 'payments' => 'required|string' + ]; + protected $query; + + public function mount() { + $this->start_date = today()->subDays(30)->format('Y-m-d'); + $this->end_date = today()->format('Y-m-d'); + $this->payments = ''; + $this->query = null; + } + + public function render() { + $this->getQuery(); + + return view('livewire.reports.payments-report', [ + 'information' => $this->query ? $this->query->orderBy('date', 'desc') + ->when($this->payment_method, function ($query) { + return $query->where('payment_method', $this->payment_method); + }) + ->paginate(10) : collect() + ]); + } + + public function generateReport() { + $this->validate(); + $this->render(); + } + + public function updatedPayments($value) { + $this->resetPage(); + } + + public function getQuery() { + if ($this->payments == 'sale') { + $this->query = SalePayment::query()->with('sale'); + } elseif ($this->payments == 'sale_return') { + $this->query = SaleReturnPayment::query()->with('saleReturn'); + } elseif ($this->payments == 'purchase') { + $this->query = PurchasePayment::query()->with('purchase'); + } elseif ($this->payments == 'purchase_return') { + $this->query = PurchaseReturnPayment::query()->with('purchaseReturn'); + } else { + $this->query = null; + } + } +} diff --git a/resources/views/layouts/menu.blade.php b/resources/views/layouts/menu.blade.php index d2171916..7407153e 100644 --- a/resources/views/layouts/menu.blade.php +++ b/resources/views/layouts/menu.blade.php @@ -233,12 +233,19 @@ @endcan -@can('access_sales_report|access_purchases_report|access_sales_return_report|access_purchases_return_report') +@can('access_sales_report|access_purchases_report|access_sales_return_report|access_purchases_return_report|access_payments_reports')
  • Reports