From 8a554ed61ac9b701c02ecb2eac6f9b07f32a6797 Mon Sep 17 00:00:00 2001 From: daengdeni Date: Wed, 3 Apr 2024 11:34:53 +0700 Subject: [PATCH] create Rekapitulasi Pencatatan Subrogasi KUR Jamkrindo --- Http/Controllers/ReportController.php | 114 ++++++++++++++--- Resources/views/report/subrogasi.blade.php | 135 +++++++++++---------- 2 files changed, 168 insertions(+), 81 deletions(-) diff --git a/Http/Controllers/ReportController.php b/Http/Controllers/ReportController.php index fc3a4fc..b1b5a8d 100644 --- a/Http/Controllers/ReportController.php +++ b/Http/Controllers/ReportController.php @@ -3,12 +3,14 @@ namespace Modules\Writeoff\Http\Controllers; use App\Http\Controllers\Controller; + use Carbon\Carbon; 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; + use Modules\Writeoff\Entities\SubrogasiJamkrindo; use Yajra\DataTables\Facades\DataTables; use Yajra\DataTables\Html\Builder; use Yajra\DataTables\Html\Column; @@ -68,11 +70,12 @@ ->groupBy('nomor_pinjaman') ->get(); } else { - $data = DetailSubrogasiJamkrindo::query()->with([ - 'subrogasi_jamkrindo', - 'subrogasi_jamkrindo.branch', - 'subrogasi_jamkrindo.debitur' - ]) + $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')) @@ -83,24 +86,57 @@ return DataTables::of($data)->editColumn('branch', function ($row) { $data = json_decode($row); - return $data->subrogasi_jamkrindo->branch->kode.' - '.$data->subrogasi_jamkrindo->branch->name; + 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 $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){ + })->editColumn('nilai_subrogasi_jamkrindo', function ($row) { return Number::currency($row->nilai_subrogasi_jamkrindo, 'IDR', 'id_ID'); - })->editColumn('pendapatan_bank', function($row){ + })->editColumn('pendapatan_bank', function ($row) { return Number::currency($row->pendapatan_bank, 'IDR', 'id_ID'); })->rawColumns(['action'])->addIndexColumn()->toJson(); + } else if (request()->get('jenis_laporan') == 'C3') { + if (request()->get('kode_cabang') == 'all') { + $data = SubrogasiJamkrindo::with([ + 'branch', + 'debitur' + ]) + ->where('tanggal_pengajuan_klaim', '<=', request()->get('start_date')) + ->groupBy('kode_cabang', 'nomor_pinjaman') + ->get(); + } else { + $data = SubrogasiJamkrindo::with([ + 'branch', + 'debitur' + ]) + ->where('kode_cabang', request()->get('kode_cabang')) + ->where('tanggal_pengajuan_klaim', '<=', request()->get('start_date')) + ->groupBy('kode_cabang', 'nomor_pinjaman') + ->get(); + } + + return DataTables::of($data)->editColumn('branch', function ($row) { + $data = json_decode($row); + return $data->branch->kode . ' - ' . $data->branch->name; + })->editColumn('debitur', function ($row) { + $data = json_decode($row); + return $data->debitur->kode . ' - ' . $data->debitur->name; + })->editColumn('tanggal_pengajuan_klaim', function ($row) { + $date = Carbon::create($row->tanggal_pengajuan_klaim); + return $date->locale('id')->translatedFormat('d F Y'); + })->editColumn('is_lunas_subrogasi', function ($row) { + $status = $row->is_lunas_subrogasi ? 'Lunas' : 'Belum Lunas'; + return $status; + })->rawColumns(['is_lunas_subrogasi'])->addIndexColumn()->toJson(); } } if ($request->jenis_laporan == 'C1') { $breadcrumb = [ 'title' => 'Laporan Pencatatan Klaim Jamkrindo', - 'link' => 'laporan.subrogasi' + 'link' => 'laporan.subrogasi' ]; $dataTable = $builder->columns([ @@ -121,7 +157,11 @@ ]) ->addTableClass('align-middle table-row-dashed fs-6 gy-5') ->setTableId('laporan-table') - ->minifiedAjax(request()->url(), null,['jenis_laporan' => $request->jenis_laporan,'start_date' => $request->start_date, 'end_date' => $request->end_date]) + ->minifiedAjax(request()->url(), null, [ + 'jenis_laporan' => $request->jenis_laporan, + 'start_date' => $request->start_date, + 'end_date' => $request->end_date + ]) ->stateSave(false) ->responsive() ->autoWidth(true) @@ -130,15 +170,20 @@ } else if ($request->jenis_laporan == 'C2') { $breadcrumb = [ 'title' => 'Rincian Subrogasi per Posisi Akhir Bulan', - 'link' => 'laporan.subrogasi' + 'link' => 'laporan.subrogasi' ]; $start_date = request()->get('periode'); $month = date('m', strtotime($start_date)); $year = date('Y', strtotime($start_date)); - $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 + $req = [ + 'jenis_laporan' => $request->jenis_laporan, + 'kode_cabang' => request()->get('kode_cabang'), + 'bulan' => $month, + 'tahun' => $year + ]; + $dataTable = $builder->columns([ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), Column::make('debitur')->title('Debitur'), @@ -161,8 +206,47 @@ ->responsive() ->autoWidth(true) ->orderBy(0); + } else if ($request->jenis_laporan == 'C3') { + $breadcrumb = [ + 'title' => 'Rekapitulasi Pencatatan Subrogasi KUR Jamkrindo', + 'link' => 'laporan.subrogasi' + ]; + + $req = [ + 'jenis_laporan' => $request->jenis_laporan, + 'kode_cabang' => request()->get('kode_cabang'), + 'start_date' => $request->start_date, + ]; + //No Norek Pinjaman Norek Tabungan Kd Debitur Nama Debitur Kd Cabang Nama Cabang Nilai Plafond Tenor Tgl Pengajuan Klaim Piutang Subrogasi Tot Bayar Subrogasi Sisa Piutang Subrogasi Subrogasi Lunas + $dataTable = $builder->columns([ + Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), + Column::make('nomor_pinjaman')->title('Nomor Pinjaman'), + Column::make('nomor_rekening')->title('Norek Tabungan'), + Column::make('debitur')->title('Debitur'), + Column::make('branch')->title('Cabang'), + Column::make('plafond')->title('Nilai Plafond'), + Column::make('tenor')->title('Tenor'), + Column::make('tanggal_pengajuan_klaim')->title('Tgl Pengajuan Klaim'), + Column::make('piutang_subrogasi')->title('Piutang Subrogasi'), + Column::make('total_bayar_subrogasi')->title('Tot Bayar Subrogasi'), + Column::make('sisa_piutang_subrogasi')->title('Sisa Piutang Subrogasi'), + Column::make('is_lunas_subrogasi')->title('Subrogasi Lunas') + + ]) + ->parameters([ + 'scrollX' => false, + 'drawCallback' => 'function() { KTMenu.createInstances(); }', + ]) + ->addTableClass('align-middle table-row-dashed fs-6 gy-5') + ->setTableId('laporan-table') + ->minifiedAjax(request()->url(), null, $req) + ->stateSave(false) + ->responsive() + ->autoWidth(true) + ->orderBy(0); } + return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable', 'breadcrumb')); } } diff --git a/Resources/views/report/subrogasi.blade.php b/Resources/views/report/subrogasi.blade.php index 5796442..3ea5a35 100644 --- a/Resources/views/report/subrogasi.blade.php +++ b/Resources/views/report/subrogasi.blade.php @@ -32,63 +32,60 @@ -
-
- -
- - - - - - @error('debitur') - {{ $message }} @enderror -
-
- -
- -
- - - - - - @error('debitur') - {{ $message }} @enderror -
+
+ +
+ + + + + + @error('kode_cabang') + {{ $message }} @enderror
-
-
- -
- - - - - - @error('kode_cabang') - {{ $message }} @enderror -
-
-
- -
- - - - - - @error('debitur') - {{ $message }} @enderror -
+
+ +
+ + + + + + @error('debitur') + {{ $message }} @enderror +
+
+ +
+ +
+ + + + + + @error('debitur') + {{ $message }} @enderror +
+
+ +
+ +
+ + + + + + @error('debitur') + {{ $message }} @enderror
@@ -104,17 +101,23 @@
- @push('scripts') - - @endpush + $('.jenis_laporan').change(function () { + $('.jenis_laporan').val() == 'C1' ? $('.c1').show() : $('.c1').hide(); + $('.jenis_laporan').val() == 'C1' || $('.jenis_laporan').val() == 'C3' ? $('.c13').show() : $('.c13').hide(); + + $('.jenis_laporan').val() == 'C2' ? $('.c2').show() : $('.c2').hide(); + $('.jenis_laporan').val() == 'C2' || $('.jenis_laporan').val() == 'C3' ? $('.c23').show() : $('.c23').hide(); + }); + }) + + @endpush