diff --git a/Http/Controllers/ReportController.php b/Http/Controllers/ReportController.php index 6d99ed3..fc3a4fc 100644 --- a/Http/Controllers/ReportController.php +++ b/Http/Controllers/ReportController.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; + use Illuminate\Support\Number; use Modules\Writeoff\Entities\Branch; use Modules\Writeoff\Entities\DetailSubrogasiJamkrindo; use Modules\Writeoff\Entities\KlaimJamkrindo; @@ -42,9 +43,8 @@ public function laporan_subrogasi(Builder $builder, Request $request) { - if ($request->jenis_laporan == 'C1') { - - if (request()->ajax()) { + if (request()->ajax()) { + if (request()->get('jenis_laporan') == 'C1') { $klaimJamkrindo = KlaimJamkrindo::whereBetween('tanggal_rtgs_masuk', [ request()->get('start_date'), request()->get('end_date') @@ -55,7 +55,53 @@ $status = $row->is_detail_debitur ? 'Ada' : 'Tidak Ada'; return $status; })->rawColumns(['is_detail_debitur'])->addIndexColumn()->toJson(); + } else if (request()->get('jenis_laporan') == 'C2') { + if (request()->get('kode_cabang') == 'all') { + $data = DetailSubrogasiJamkrindo::with([ + 'subrogasi_jamkrindo', + 'subrogasi_jamkrindo.branch', + 'subrogasi_jamkrindo.debitur' + ]) + ->selectRaw('nomor_pinjaman, SUM(pembayaran_debitur) AS pembayaran_debitur, SUM(subrogasi_jamkrindo) AS nilai_subrogasi_jamkrindo, SUM(pendapatan_bank) AS pendapatan_bank') + ->whereMonth('tanggal_pembayaran', request()->get('bulan')) + ->whereYear('tanggal_pembayaran', request()->get('tahun')) + ->groupBy('nomor_pinjaman') + ->get(); + } else { + $data = DetailSubrogasiJamkrindo::query()->with([ + 'subrogasi_jamkrindo', + 'subrogasi_jamkrindo.branch', + 'subrogasi_jamkrindo.debitur' + ]) + ->selectRaw('nomor_pinjaman, SUM(pembayaran_debitur) AS pembayaran_debitur, SUM(subrogasi_jamkrindo) AS nilai_subrogasi_jamkrindo , SUM(pendapatan_bank) AS pendapatan_bank') + ->whereRelation('subrogasi_jamkrindo', 'kode_cabang', request()->get('kode_cabang')) + ->whereMonth('tanggal_pembayaran', request()->get('bulan')) + ->whereYear('tanggal_pembayaran', request()->get('tahun')) + ->groupBy('nomor_pinjaman') + ->get(); + } + + return DataTables::of($data)->editColumn('branch', function ($row) { + $data = json_decode($row); + return $data->subrogasi_jamkrindo->branch->kode.' - '.$data->subrogasi_jamkrindo->branch->name; + })->editColumn('debitur', function ($row) { + $data = json_decode($row); + return $data->subrogasi_jamkrindo->debitur->kode.' - '.$data->subrogasi_jamkrindo->debitur->name; + })->editColumn('pembayaran_debitur', function($row){ + return Number::currency($row->pembayaran_debitur, 'IDR', 'id_ID'); + })->editColumn('nilai_subrogasi_jamkrindo', function($row){ + return Number::currency($row->nilai_subrogasi_jamkrindo, 'IDR', 'id_ID'); + })->editColumn('pendapatan_bank', function($row){ + return Number::currency($row->pendapatan_bank, 'IDR', 'id_ID'); + })->rawColumns(['action'])->addIndexColumn()->toJson(); } + } + + if ($request->jenis_laporan == 'C1') { + $breadcrumb = [ + 'title' => 'Laporan Pencatatan Klaim Jamkrindo', + 'link' => 'laporan.subrogasi' + ]; $dataTable = $builder->columns([ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), @@ -75,58 +121,34 @@ ]) ->addTableClass('align-middle table-row-dashed fs-6 gy-5') ->setTableId('laporan-table') - ->minifiedAjax(request()->url(), null, $request->all()) + ->minifiedAjax(request()->url(), null,['jenis_laporan' => $request->jenis_laporan,'start_date' => $request->start_date, 'end_date' => $request->end_date]) ->stateSave(false) ->responsive() ->autoWidth(true) ->orderBy(1); - return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable')); } else if ($request->jenis_laporan == 'C2') { - $start_date = request()->get('start_date'); + $breadcrumb = [ + 'title' => 'Rincian Subrogasi per Posisi Akhir Bulan', + 'link' => 'laporan.subrogasi' + ]; + + $start_date = request()->get('periode'); $month = date('m', strtotime($start_date)); $year = date('Y', strtotime($start_date)); - if (request()->ajax()) { - if (request()->get('kode_cabang') == 'all') { - $data = DetailSubrogasiJamkrindo::with([ - 'subrogasi_jamkrindo', - 'subrogasi_jamkrindo.branch', - 'subrogasi_jamkrindo.debitur' - ]) - ->selectRaw('nomor_pinjaman, SUM(pembayaran_debitur) AS pembayaran_debitur, SUM(subrogasi_jamkrindo) AS subrogasi_jamkrindo, SUM(pendapatan_bank) AS pendapatan_bank') - ->whereMonth('tanggal_pembayaran', request()->get('bulan')) - ->whereYear('tanggal_pembayaran', request()->get('tahun')) - ->groupBy('nomor_pinjaman') - ->get(); - } else { - $data = DetailSubrogasiJamkrindo::with([ - 'subrogasi_jamkrindo', - 'subrogasi_jamkrindo.branch', - 'subrogasi_jamkrindo.debitur' - ]) - ->selectRaw('nomor_pinjaman, SUM(pembayaran_debitur) AS pembayaran_debitur, SUM(subrogasi_jamkrindo) AS subrogasi_jamkrindo, SUM(pendapatan_bank) AS pendapatan_bank') - ->whereRelation('subrogasi_jamkrindo', 'kode_cabang', request()->get('kode_cabang')) - ->whereMonth('tanggal_pembayaran', request()->get('bulan')) - ->whereYear('tanggal_pembayaran', request()->get('tahun')) - ->groupBy('nomor_pinjaman') - ->get(); - } - echo json_encode($data);exit; - return DataTables::of($data)->editColumn('branch', function ($q) { - return $q->subrogasi_jamkrindo->branch->name; - })->addIndexColumn()->toJson(); - } - - $start_date = request()->get('start_date'); - $month = date('m', strtotime($start_date)); - $year = date('Y', strtotime($start_date)); - - $req = ['kode_cabang' => request()->get('kode_cabang'), 'bulan' => $month, 'tahun' => $year]; - + $req = ['jenis_laporan' => $request->jenis_laporan, 'kode_cabang' => request()->get('kode_cabang'), 'bulan' => $month, 'tahun' => $year]; +//NO Debitur Cabang Nomor Pinjaman Norek Tabungan Pembayaran Debitur Subrogasi Jamkrindo Pendapatan Bank Keterangan Subrogasi $dataTable = $builder->columns([ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), + Column::make('debitur')->title('Debitur'), Column::make('branch')->title('Cabang'), + Column::make('nomor_pinjaman')->title('Nomor Pinjaman'), + Column::make('subrogasi_jamkrindo.nomor_rekening')->title('Norek Tabungan'), + Column::make('pembayaran_debitur')->title('Pembayaran Debitur'), + Column::make('nilai_subrogasi_jamkrindo')->title('Subrogasi Jamkrindo'), + Column::make('pendapatan_bank')->title('Pendapatan Bank'), + Column::make('subrogasi_jamkrindo.keterangan')->title('Keterangan Subrogasi') ]) ->parameters([ 'scrollX' => false, @@ -138,10 +160,9 @@ ->stateSave(false) ->responsive() ->autoWidth(true) - ->orderBy(1); - - return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable')); - + ->orderBy(0); } + + return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable', 'breadcrumb')); } } diff --git a/Resources/views/report/laporan_klaim_jamkrindo.blade.php b/Resources/views/report/laporan_klaim_jamkrindo.blade.php index 974c1c3..8aea0de 100644 --- a/Resources/views/report/laporan_klaim_jamkrindo.blade.php +++ b/Resources/views/report/laporan_klaim_jamkrindo.blade.php @@ -1,7 +1,6 @@ - @section('title') - Laporan Pencatatan Klaim Jamkrindo + {{ $breadcrumb['title'] }} @endsection @section('breadcrumbs') diff --git a/Resources/views/report/subrogasi.blade.php b/Resources/views/report/subrogasi.blade.php index 0254f39..5796442 100644 --- a/Resources/views/report/subrogasi.blade.php +++ b/Resources/views/report/subrogasi.blade.php @@ -84,7 +84,7 @@ - + @error('debitur') {{ $message }} @enderror