update laporan subrogasi

This commit is contained in:
daengdeni 2024-04-02 15:40:50 +07:00
parent d64a9b6f2d
commit 2c0006f117
6 changed files with 159 additions and 24 deletions

View File

@ -26,4 +26,9 @@
return $this->hasMany(Rekening::class); return $this->hasMany(Rekening::class);
} }
public function subrogasi_jamkrindo()
{
return $this->hasMany(SubrogasiJamkrindo::class, 'kode_cabang', 'kode');
}
} }

View File

@ -28,4 +28,9 @@
return $this->hasMany(Rekening::class); return $this->hasMany(Rekening::class);
} }
public function subrogasi_jamkrindo()
{
return $this->hasMany(SubrogasiJamkrindo::class, 'kode_debitur', 'kode');
}
} }

View File

@ -19,4 +19,9 @@
'authorized_status', 'authorized_status',
'authorized_by', 'authorized_by',
]; ];
public function subrogasi_jamkrindo()
{
return $this->belongsTo('Modules\Writeoff\Entities\SubrogasiJamkrindo', 'nomor_pinjaman', 'nomor_pinjaman');
}
} }

View File

@ -28,4 +28,14 @@
'authorized_status', 'authorized_status',
'authorized_by', 'authorized_by',
]; ];
public function debitur()
{
return $this->belongsTo('Modules\Writeoff\Entities\Debitur', 'kode_debitur', 'kode');
}
public function branch()
{
return $this->belongsTo('Modules\Writeoff\Entities\Branch', 'kode_cabang', 'kode');
}
} }

View File

@ -5,6 +5,8 @@
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Modules\Writeoff\Entities\Branch;
use Modules\Writeoff\Entities\DetailSubrogasiJamkrindo;
use Modules\Writeoff\Entities\KlaimJamkrindo; use Modules\Writeoff\Entities\KlaimJamkrindo;
use Yajra\DataTables\Facades\DataTables; use Yajra\DataTables\Facades\DataTables;
use Yajra\DataTables\Html\Builder; use Yajra\DataTables\Html\Builder;
@ -34,12 +36,12 @@
public function subrogasi() public function subrogasi()
{ {
return view('writeoff::report.subrogasi'); $branches = Branch::all();
return view('writeoff::report.subrogasi', compact('branches'));
} }
public function laporan_subrogasi(Builder $builder, Request $request) public function laporan_subrogasi(Builder $builder, Request $request)
{ {
if ($request->jenis_laporan == 'C1') { if ($request->jenis_laporan == 'C1') {
if (request()->ajax()) { if (request()->ajax()) {
@ -80,6 +82,66 @@
->orderBy(1); ->orderBy(1);
return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable')); return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable'));
} else if ($request->jenis_laporan == 'C2') {
$start_date = request()->get('start_date');
$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];
$dataTable = $builder->columns([
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
Column::make('branch')->title('Cabang'),
])
->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(1);
return view('writeoff::report.laporan_klaim_jamkrindo', compact('dataTable'));
} }
} }
} }

View File

@ -20,41 +20,75 @@
<label class="required fw-semibold fs-6 mb-2">Laporan</label> <label class="required fw-semibold fs-6 mb-2">Laporan</label>
<!--end::Label--> <!--end::Label-->
<!--begin::Input--> <!--begin::Input-->
<select name="jenis_laporan" class="form-select form-select-solid mb-3 mb-lg-0"> <select name="jenis_laporan" class="jenis_laporan form-select form-select-solid mb-3 mb-lg-0">
<option value="">Pilih Laporan</option> <option value="">Pilih Laporan</option>
<option value="C1">Pencatatan Klaim Jamkrindo</option> <option value="C1">Pencatatan Klaim Jamkrindo</option>
<option value="C2">Rincian Subrogasi per Periode</option> <option value="C2">Rincian Subrogasi per Periode</option>
<option value="C3"> Rekapitulasi Pencatatan Subrogasi KUR Jamkrindo</option> <option value="C3"> Rekapitulasi Pencatatan Subrogasi KUR Jamkrindo</option>
</select> </select>
<!--end::Input--> <!--end::Input-->
@error('jenis_fasilitas') @error('jenis_laporan')
<span class="text-danger">{{ $message }}</span> @enderror <span class="text-danger">{{ $message }}</span> @enderror
</div> </div>
</div> </div>
<div class="d-flex flex-column px-5 px-lg-10"> <div id="c1">
<!--begin::Input group--> <div class="d-flex flex-column px-5 px-lg-10">
<div class="fv-row mb-7"> <!--begin::Input group-->
<label class="required fw-semibold fs-6 mb-2">Tanggal Awal</label> <div class="fv-row mb-7">
<!--end::Label--> <label class="required fw-semibold fs-6 mb-2">Tanggal Awal</label>
<!--begin::Input--> <!--end::Label-->
<input type="date" name="start_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/> <!--begin::Input-->
<!--end::Input--> <input type="date" name="start_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Awal"/>
@error('debitur') <!--end::Input-->
<span class="text-danger">{{ $message }}</span> @enderror @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">
<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">
<label class="required fw-semibold fs-6 mb-2">Tanggal Akhir</label> <label class="required fw-semibold fs-6 mb-2">Periode</label>
<!--end::Label--> <!--end::Label-->
<!--begin::Input--> <!--begin::Input-->
<input type="date" name="end_date" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Akhir"/> <input type="month" name="start_date" 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> </div>
<!--begin::Actions--> <!--begin::Actions-->
@ -69,4 +103,18 @@
</div> </div>
<!--end::Card body--> <!--end::Card body-->
</div> </div>
@push('scripts')
<script>
$(function(){
$('#c1').hide();
$('#c2').hide();
$('.jenis_laporan').change( function(){
$('.jenis_laporan').val() == 'C1' ? $('#c1').show() : $('#c1').hide();
$('.jenis_laporan').val() == 'C2' ? $('#c2').show() : $('#c2').hide();
});
})
</script>
@endpush
</x-default-layout> </x-default-layout>