diff --git a/app/Exports/CooperationCompletionExport.php b/app/Exports/CooperationCompletionExport.php index e6b7f22..7d8e1d2 100644 --- a/app/Exports/CooperationCompletionExport.php +++ b/app/Exports/CooperationCompletionExport.php @@ -48,18 +48,18 @@ public function collection() } if ($this->status) { - switch($this->status){ - case 'waiting': - $query->where('status', '0'); - break; - case 'accepted': - $query->where('status', '1'); - break; - case 'rejected': - $query->where('status', '2'); - break; - } + switch($this->status){ + case 'waiting': + $query->where('status', '0'); + break; + case 'accepted': + $query->where('status', '1'); + break; + case 'rejected': + $query->where('status', '2'); + break; } + } if ($this->year) { $query->whereYear('created_at', $this->year); diff --git a/app/Exports/ReportExport.php b/app/Exports/ReportExport.php index 6d624d4..29a1a13 100644 --- a/app/Exports/ReportExport.php +++ b/app/Exports/ReportExport.php @@ -19,14 +19,16 @@ class ReportExport implements FromCollection, WithHeadings, WithStyles, WithMapp protected $no = 1; protected $media; + protected $status; protected $year; protected $from_month; protected $to_month; protected $date; - public function __construct($media, $year, $from_month, $to_month, $date) + public function __construct($media, $status, $year, $from_month, $to_month, $date) { $this->media = $media; + $this->status = $status; $this->year = $year; $this->from_month = $from_month; $this->to_month = $to_month; @@ -46,6 +48,20 @@ public function collection() $query->whereIn('media_id', $this->media); } + if ($this->status) { + switch($this->status){ + case 'waiting': + $query->where('status', '0'); + break; + case 'accepted': + $query->where('status', '1'); + break; + case 'rejected': + $query->where('status', '2'); + break; + } + } + if ($this->year) { $query->whereYear('created_at', $this->year); } diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index b487a08..db595f7 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -2257,6 +2257,8 @@ public function reportIndex(Request $request){ $mediaStrArr = $request->input('media', null); $media = explode(',', $mediaStrArr); + $status = $request->input('status', null); + $year = $request->input('year', null); $from_month = $request->input('from_month', null); $to_month = $request->input('to_month', null); @@ -2273,6 +2275,20 @@ public function reportIndex(Request $request){ $query->whereIn('media_id', $media); } + if ($status) { + switch($status){ + case 'waiting': + $query->where('status', '0'); + break; + case 'accepted': + $query->where('status', '1'); + break; + case 'rejected': + $query->where('status', '2'); + break; + } + } + if ($year) { $query->whereYear('created_at', $year); } diff --git a/app/Http/Controllers/Dashboard/ReportController.php b/app/Http/Controllers/Dashboard/ReportController.php index 8cba058..b527b46 100644 --- a/app/Http/Controllers/Dashboard/ReportController.php +++ b/app/Http/Controllers/Dashboard/ReportController.php @@ -22,6 +22,7 @@ public function index(Request $request){ 'title' => 'Laporan Bukti Tayang', 'mediaCollection' => Media::all(), 'media' => $request->input('media', []), + 'status' => $request->input('status', null), 'date' => $request->input('date', null), 'from_month' => $request->input('from_month', null), 'to_month' => $request->input('to_month', null), @@ -253,6 +254,7 @@ public function export(Request $request) $export_type = $request->input('export_type', 'excel'); $media = $request->input('media', null); + $status = $request->input('status', null); $year = $request->input('year', null); $from_month = $request->input('from_month', null); $to_month = $request->input('to_month', null); @@ -260,7 +262,7 @@ public function export(Request $request) if($export_type === 'excel'){ $formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y'); - return Excel::download(new ReportExport($media, $year, $from_month, $to_month, $date), 'reports-'.$formattedNow.'.xlsx'); + return Excel::download(new ReportExport($media, $status, $year, $from_month, $to_month, $date), 'reports-'.$formattedNow.'.xlsx'); }elseif($export_type === 'pdf'){ if(is_role(['1', '5'])){ $query = Report::with(['media.company', 'order.cooperation']); @@ -273,6 +275,20 @@ public function export(Request $request) $query->whereIn('media_id', $media); } + if ($status) { + switch($status){ + case 'waiting': + $query->where('status', '0'); + break; + case 'accepted': + $query->where('status', '1'); + break; + case 'rejected': + $query->where('status', '2'); + break; + } + } + if ($year) { $query->whereYear('created_at', $year); } diff --git a/resources/views/dashboard/cooperation-completions/index.blade.php b/resources/views/dashboard/cooperation-completions/index.blade.php index 465c6bd..b959402 100644 --- a/resources/views/dashboard/cooperation-completions/index.blade.php +++ b/resources/views/dashboard/cooperation-completions/index.blade.php @@ -91,7 +91,7 @@
@@ -100,10 +100,10 @@
diff --git a/resources/views/dashboard/reports/index.blade.php b/resources/views/dashboard/reports/index.blade.php index ccda31c..a16a42b 100644 --- a/resources/views/dashboard/reports/index.blade.php +++ b/resources/views/dashboard/reports/index.blade.php @@ -30,7 +30,7 @@ --}}
  • - @if ((filled(value: $media) && !empty($media[0])) || filled(value: $date) || (filled(value: $from_month) && filled(value: $to_month)) ||filled(value: $year)) + @if ((filled(value: $media) && !empty($media[0])) || filled($status) || filled(value: $date) || (filled(value: $from_month) && filled(value: $to_month)) ||filled(value: $year)) @@ -93,11 +93,22 @@
    +
    + +
    + +
    +
    @@ -181,6 +192,17 @@
    +
    + +
    + +
    +
    diff --git a/resources/views/partials/app/datatable.blade.php b/resources/views/partials/app/datatable.blade.php index 21260bb..e6ab276 100644 --- a/resources/views/partials/app/datatable.blade.php +++ b/resources/views/partials/app/datatable.blade.php @@ -1032,6 +1032,7 @@ type: 'GET', data: function(d) { d.media = '{{ implode(',', $media) }}'; + d.status = '{{ $status }}'; d.year = '{{ $year }}'; d.from_month = '{{ $from_month }}'; d.to_month = '{{ $to_month }}';