create Rekapitulasi Pencatatan Subrogasi KUR Jamkrindo

This commit is contained in:
daengdeni 2024-04-03 11:34:53 +07:00
parent 5a0d4b0a57
commit 8a554ed61a
2 changed files with 168 additions and 81 deletions

View File

@ -3,12 +3,14 @@
namespace Modules\Writeoff\Http\Controllers; namespace Modules\Writeoff\Http\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Number; use Illuminate\Support\Number;
use Modules\Writeoff\Entities\Branch; use Modules\Writeoff\Entities\Branch;
use Modules\Writeoff\Entities\DetailSubrogasiJamkrindo; use Modules\Writeoff\Entities\DetailSubrogasiJamkrindo;
use Modules\Writeoff\Entities\KlaimJamkrindo; use Modules\Writeoff\Entities\KlaimJamkrindo;
use Modules\Writeoff\Entities\SubrogasiJamkrindo;
use Yajra\DataTables\Facades\DataTables; use Yajra\DataTables\Facades\DataTables;
use Yajra\DataTables\Html\Builder; use Yajra\DataTables\Html\Builder;
use Yajra\DataTables\Html\Column; use Yajra\DataTables\Html\Column;
@ -68,11 +70,12 @@
->groupBy('nomor_pinjaman') ->groupBy('nomor_pinjaman')
->get(); ->get();
} else { } else {
$data = DetailSubrogasiJamkrindo::query()->with([ $data = DetailSubrogasiJamkrindo::query()
'subrogasi_jamkrindo', ->with([
'subrogasi_jamkrindo.branch', 'subrogasi_jamkrindo',
'subrogasi_jamkrindo.debitur' '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') ->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')) ->whereRelation('subrogasi_jamkrindo', 'kode_cabang', request()->get('kode_cabang'))
->whereMonth('tanggal_pembayaran', request()->get('bulan')) ->whereMonth('tanggal_pembayaran', request()->get('bulan'))
@ -83,24 +86,57 @@
return DataTables::of($data)->editColumn('branch', function ($row) { return DataTables::of($data)->editColumn('branch', function ($row) {
$data = json_decode($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) { })->editColumn('debitur', function ($row) {
$data = json_decode($row); $data = json_decode($row);
return $data->subrogasi_jamkrindo->debitur->kode.' - '.$data->subrogasi_jamkrindo->debitur->name; return $data->subrogasi_jamkrindo->debitur->kode . ' - ' . $data->subrogasi_jamkrindo->debitur->name;
})->editColumn('pembayaran_debitur', function($row){ })->editColumn('pembayaran_debitur', function ($row) {
return Number::currency($row->pembayaran_debitur, 'IDR', 'id_ID'); 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'); 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'); return Number::currency($row->pendapatan_bank, 'IDR', 'id_ID');
})->rawColumns(['action'])->addIndexColumn()->toJson(); })->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 ? '<span class="badge badge-light-success">Lunas</span>' : '<span class="badge badge-light-danger">Belum Lunas</span>';
return $status;
})->rawColumns(['is_lunas_subrogasi'])->addIndexColumn()->toJson();
} }
} }
if ($request->jenis_laporan == 'C1') { if ($request->jenis_laporan == 'C1') {
$breadcrumb = [ $breadcrumb = [
'title' => 'Laporan Pencatatan Klaim Jamkrindo', 'title' => 'Laporan Pencatatan Klaim Jamkrindo',
'link' => 'laporan.subrogasi' 'link' => 'laporan.subrogasi'
]; ];
$dataTable = $builder->columns([ $dataTable = $builder->columns([
@ -121,7 +157,11 @@
]) ])
->addTableClass('align-middle table-row-dashed fs-6 gy-5') ->addTableClass('align-middle table-row-dashed fs-6 gy-5')
->setTableId('laporan-table') ->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) ->stateSave(false)
->responsive() ->responsive()
->autoWidth(true) ->autoWidth(true)
@ -130,15 +170,20 @@
} else if ($request->jenis_laporan == 'C2') { } else if ($request->jenis_laporan == 'C2') {
$breadcrumb = [ $breadcrumb = [
'title' => 'Rincian Subrogasi per Posisi Akhir Bulan', 'title' => 'Rincian Subrogasi per Posisi Akhir Bulan',
'link' => 'laporan.subrogasi' 'link' => 'laporan.subrogasi'
]; ];
$start_date = request()->get('periode'); $start_date = request()->get('periode');
$month = date('m', strtotime($start_date)); $month = date('m', strtotime($start_date));
$year = date('Y', 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]; $req = [
//NO Debitur Cabang Nomor Pinjaman Norek Tabungan Pembayaran Debitur Subrogasi Jamkrindo Pendapatan Bank Keterangan Subrogasi 'jenis_laporan' => $request->jenis_laporan,
'kode_cabang' => request()->get('kode_cabang'),
'bulan' => $month,
'tahun' => $year
];
$dataTable = $builder->columns([ $dataTable = $builder->columns([
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
Column::make('debitur')->title('Debitur'), Column::make('debitur')->title('Debitur'),
@ -161,8 +206,47 @@
->responsive() ->responsive()
->autoWidth(true) ->autoWidth(true)
->orderBy(0); ->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')); return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable', 'breadcrumb'));
} }
} }

View File

@ -32,63 +32,60 @@
</div> </div>
</div> </div>
<div id="c1"> <div class="d-flex flex-column px-5 px-lg-10">
<div class="d-flex flex-column px-5 px-lg-10"> <!--begin::Input group-->
<!--begin::Input group--> <div class="fv-row mb-7 c23">
<div class="fv-row mb-7"> <label class="required fw-semibold fs-6 mb-2">Cabang</label>
<label class="required fw-semibold fs-6 mb-2">Tanggal Awal</label> <!--end::Label-->
<!--end::Label--> <!--begin::Input-->
<!--begin::Input--> <select name="kode_cabang" class="form-select form-select-solid mb-3 mb-lg-0">
<input type="date" name="start_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/> <option value="all">Semua Cabang</option>
<!--end::Input--> @foreach($branches as $cabang)
@error('debitur') <option value="{{ $cabang->kode }}">{{ $cabang->kode.' - '.$cabang->name }}</option>
<span class="text-danger">{{ $message }}</span> @enderror @endforeach
</div> </select>
</div> <!--end::Input-->
@error('kode_cabang')
<div class="d-flex flex-column px-5 px-lg-10"> <span class="text-danger">{{ $message }}</span> @enderror
<!--begin::Input group-->
<div class="fv-row mb-7">
<label class="required fw-semibold fs-6 mb-2">Tanggal Akhir</label>
<!--end::Label-->
<!--begin::Input-->
<input type="date" name="end_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Akhir"/>
<!--end::Input-->
@error('debitur')
<span class="text-danger">{{ $message }}</span> @enderror
</div>
</div> </div>
</div> </div>
<div id="c2">
<div class="d-flex flex-column px-5 px-lg-10">
<!--begin::Input group-->
<div class="fv-row mb-7">
<label class="required fw-semibold fs-6 mb-2">Cabang</label>
<!--end::Label-->
<!--begin::Input-->
<select name="kode_cabang" class="form-select form-select-solid mb-3 mb-lg-0">
<option value="all">Semua Cabang</option>
@foreach($branches as $cabang)
<option value="{{ $cabang->kode }}">{{ $cabang->kode.' - '.$cabang->name }}</option>
@endforeach
</select>
<!--end::Input-->
@error('kode_cabang')
<span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="d-flex flex-column px-5 px-lg-10"> <div class="d-flex flex-column px-5 px-lg-10">
<!--begin::Input group--> <!--begin::Input group-->
<div class="fv-row mb-7"> <div class="fv-row mb-7 c2">
<label class="required fw-semibold fs-6 mb-2">Periode</label> <label class="required fw-semibold fs-6 mb-2">Periode</label>
<!--end::Label--> <!--end::Label-->
<!--begin::Input--> <!--begin::Input-->
<input type="month" name="periode" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/> <input type="month" name="periode" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/>
<!--end::Input--> <!--end::Input-->
@error('debitur') @error('debitur')
<span class="text-danger">{{ $message }}</span> @enderror <span class="text-danger">{{ $message }}</span> @enderror
</div> </div>
</div>
<div class="d-flex flex-column px-5 px-lg-10">
<!--begin::Input group-->
<div class="fv-row mb-7 c13">
<label class="required fw-semibold fs-6 mb-2">Tanggal Awal</label>
<!--end::Label-->
<!--begin::Input-->
<input type="date" name="start_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/>
<!--end::Input-->
@error('debitur')
<span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="d-flex flex-column px-5 px-lg-10">
<!--begin::Input group-->
<div class="fv-row mb-7 c1">
<label class="required fw-semibold fs-6 mb-2">Tanggal Akhir</label>
<!--end::Label-->
<!--begin::Input-->
<input type="date" name="end_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Akhir"/>
<!--end::Input-->
@error('debitur')
<span class="text-danger">{{ $message }}</span> @enderror
</div> </div>
</div> </div>
<!--begin::Actions--> <!--begin::Actions-->
@ -104,17 +101,23 @@
<!--end::Card body--> <!--end::Card body-->
</div> </div>
@push('scripts') @push('scripts')
<script> <script>
$(function(){ $(function () {
$('#c1').hide(); $('.c1').hide();
$('#c2').hide(); $('.c2').hide();
$('.c3').hide();
$('.c23').hide();
$('.c13').hide();
$('.jenis_laporan').change( function(){ $('.jenis_laporan').change(function () {
$('.jenis_laporan').val() == 'C1' ? $('#c1').show() : $('#c1').hide(); $('.jenis_laporan').val() == 'C1' ? $('.c1').show() : $('.c1').hide();
$('.jenis_laporan').val() == 'C2' ? $('#c2').show() : $('#c2').hide(); $('.jenis_laporan').val() == 'C1' || $('.jenis_laporan').val() == 'C3' ? $('.c13').show() : $('.c13').hide();
});
}) $('.jenis_laporan').val() == 'C2' ? $('.c2').show() : $('.c2').hide();
</script> $('.jenis_laporan').val() == 'C2' || $('.jenis_laporan').val() == 'C3' ? $('.c23').show() : $('.c23').hide();
@endpush });
})
</script>
@endpush
</x-default-layout> </x-default-layout>