581 lines
34 KiB
PHP
581 lines
34 KiB
PHP
<?php
|
|
|
|
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\FacilityType;
|
|
use Modules\Writeoff\Entities\GuaranteeType;
|
|
use Modules\Writeoff\Entities\HapusBuku;
|
|
use Modules\Writeoff\Entities\KlaimJamkrindo;
|
|
use Modules\Writeoff\Entities\LoanType;
|
|
use Modules\Writeoff\Entities\SubrogasiJamkrindo;
|
|
use Yajra\DataTables\Facades\DataTables;
|
|
use Yajra\DataTables\Html\Builder;
|
|
use Yajra\DataTables\Html\Column;
|
|
|
|
class ReportController extends Controller
|
|
{
|
|
public $user;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->middleware(function ($request, $next) {
|
|
$this->user = Auth::guard('web')->user();
|
|
return $next($request);
|
|
});
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
return view('writeoff::report.index');
|
|
}
|
|
|
|
public function debitur()
|
|
{
|
|
$branches = Branch::all();
|
|
$loanTypes = LoanType::all();
|
|
$facilityTypes = FacilityType::all();
|
|
|
|
return view('writeoff::report.debitur', compact('branches', 'loanTypes', 'facilityTypes'));
|
|
}
|
|
|
|
public function penagihan()
|
|
{
|
|
$branches = Branch::all();
|
|
return view('writeoff::report.penagihan', compact('branches'));
|
|
}
|
|
|
|
public function subrogasi()
|
|
{
|
|
$branches = Branch::all();
|
|
return view('writeoff::report.subrogasi', compact('branches'));
|
|
}
|
|
|
|
public function laporan_debitur(Builder $builder, Request $request)
|
|
{
|
|
if (request()->ajax()) {
|
|
if (request()->get('kode_cabang') == 'all') {
|
|
$data = HapusBuku::with([
|
|
'branch',
|
|
'debitur',
|
|
'facility_type',
|
|
'loan_type',
|
|
'currency',
|
|
])
|
|
->select('hapus_buku.*', 'detail_pembayaran.tanggal_pembayaran', 'detail_pembayaran.nominal')
|
|
->leftJoin('detail_pembayaran', 'hapus_buku.nomor_pinjaman', '=', 'detail_pembayaran.nomor_pinjaman')
|
|
->where('tanggal_hapus_buku', '<=', request()->get('start_date'))
|
|
->whereRelation('debitur', 'name', 'like', '%' . request()->get('debitur') . '%')
|
|
->get();
|
|
} else {
|
|
$data = HapusBuku::with([
|
|
'branch',
|
|
'debitur',
|
|
'facility_type',
|
|
'loan_type',
|
|
'currency',
|
|
])
|
|
->select('hapus_buku.*', 'detail_pembayaran.tanggal_pembayaran', 'detail_pembayaran.nominal')
|
|
->leftJoin('detail_pembayaran', 'hapus_buku.nomor_pinjaman', '=', 'detail_pembayaran.nomor_pinjaman')
|
|
->where('tanggal_hapus_buku', '<=', request()->get('start_date'))
|
|
->where('kode_cabang', request()->get('kode_cabang'))
|
|
->whereRelation('debitur', 'name', 'like', '%' . request()->get('debitur') . '%')
|
|
->get();
|
|
}
|
|
|
|
|
|
return DataTables::of($data)->editColumn('tanggal_hapus_buku', function ($row) {
|
|
$date = Carbon::create($row->tanggal_hapus_buku);
|
|
return $date->locale('id')->translatedFormat('d F Y');
|
|
})->editColumn('branch', function ($row) {
|
|
if (isset($row->branch->kode) && isset($row->branch->name)) {
|
|
return $row->branch->kode . ' - ' . $row->branch->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('debitur', function ($row) {
|
|
if (isset($row->debitur->kode) && isset($row->debitur->name)) {
|
|
return $row->debitur->kode . ' - ' . $row->debitur->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('alamat', function ($row) {
|
|
if (isset($row->debitur->address)) {
|
|
return $row->debitur->address;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('facility_type', function ($row) {
|
|
if (isset($row->facility_type->kode) && isset($row->facility_type->name)) {
|
|
return $row->facility_type->kode . ' - ' . $row->facility_type->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('loan_type', function ($row) {
|
|
if (isset($row->loan_type->kode) && isset($row->loan_type->name)) {
|
|
return $row->loan_type->kode . ' - ' . $row->loan_type->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('guarantee_type', function ($row) {
|
|
$guarantee = GuaranteeType::where('id', $row->guarantee_type_id)->first();
|
|
if (isset($guarantee->id)) {
|
|
return $guarantee->kode . ' - ' . $guarantee->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('nilai_plafond_awal', function ($row) {
|
|
return Number::currency($row->nilai_plafond_awal ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('baki_debet', function ($row) {
|
|
return Number::currency($row->baki_debet ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('jumlah_bunga', function ($row) {
|
|
return Number::currency($row->jumlah_bunga ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('tagihan_lain', function ($row) {
|
|
return Number::currency($row->tagihan_lain ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('bunga_intra', function ($row) {
|
|
return Number::currency($row->bunga_intra ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('bunga_ekstra', function ($row) {
|
|
return Number::currency($row->bunga_ekstra ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('jumlah_kewajiban_lain', function ($row) {
|
|
return Number::currency($row->jumlah_kewajiban_lain ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('total_kewajiban', function ($row) {
|
|
return Number::currency($row->total_kewajiban ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('total_all_kewajiban', function ($row) {
|
|
return Number::currency($row->total_all_kewajiban ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('nominal', function ($row) {
|
|
return Number::currency($row->nominal ?? 0, 'IDR', 'id_ID');
|
|
})->editColumn('sisa_kewajiban', function ($row) {
|
|
$sisa = $row->total_all_kewajiban - $row->nominal;
|
|
return Number::currency($row->sisa ?? 0, 'IDR', 'id_ID');
|
|
})->addIndexColumn()->toJson();
|
|
}
|
|
|
|
$breadcrumb = [
|
|
'title' => 'Laporan Outstanding Debitur Hapus Buku',
|
|
'link' => 'laporan.penagihan'
|
|
];
|
|
|
|
$start_date = request()->get('start_date');
|
|
$month = date('m', strtotime($start_date));
|
|
$year = date('Y', strtotime($start_date));
|
|
|
|
$req = [
|
|
'jenis_laporan' => $request->jenis_laporan,
|
|
'kode_cabang' => request()->get('kode_cabang'),
|
|
'jenis_pinjaman' => $request->jenis_pinjaman,
|
|
'jenis_fasilitas' => $request->jenis_fasilitas,
|
|
'debitur' => $request->debitur ?? '%',
|
|
'start_date' => $request->start_date ?? Carbon::now()->format('Y-m-d'),
|
|
];
|
|
|
|
$dataTable = $builder->columns([
|
|
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
|
|
Column::make('nomor_pinjaman')->title('Nomor Pinjaman'),
|
|
Column::make('tanggal_hapus_buku')->title('Tanggal Hapus Buku'),
|
|
Column::make('branch')->title('Cabang'),
|
|
Column::make('debitur')->title('Debitur'),
|
|
Column::make('facility_type')->title('Jenis Fasilitas'),
|
|
Column::make('nomor_fasilitas')->title('Nomor Fasilitas'),
|
|
Column::make('loan_type')->title('Jenis Pinjaman'),
|
|
Column::make('nilai_plafond_awal')->title('Plafond Awal'),
|
|
Column::make('suku_bunga')->title('Suku Bunga'),
|
|
Column::make('baki_debet')->title('Baki Debet'),
|
|
Column::make('jumlah_bunga')->title('Jumlah Bunga'),
|
|
Column::make('jumlah_kewajiban_lain')->title('Kewajiban Lain'),
|
|
Column::make('total_kewajiban')->title('Total Kewajiban'),
|
|
Column::make('bunga_intra')->title('Bunga Intra'),
|
|
Column::make('bunga_ekstra')->title('Bunga Ekstra'),
|
|
Column::make('tagihan_lain')->title('Kewajiban Lainnya'),
|
|
Column::make('total_all_kewajiban')->title('Total Semua Kewajiban'),
|
|
Column::make('tanggal_pembayaran')->title('Tanggal Bayar'),
|
|
Column::make('nominal')->title('Nominal Bayar'),
|
|
Column::make('sisa_kewajiban')->title('Sisa Kewajiban')
|
|
])
|
|
->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_debitur', compact('dataTable', 'breadcrumb'));
|
|
}
|
|
|
|
public function laporan_penagihan(Builder $builder, Request $request)
|
|
{
|
|
if (request()->ajax()) {
|
|
if (request()->get('kode_cabang') == 'all') {
|
|
$data = HapusBuku::with([
|
|
'branch',
|
|
'debitur',
|
|
'facility_type',
|
|
'loan_type',
|
|
'currency',
|
|
])
|
|
->select('hapus_buku.*', 'detail_pembayaran.tanggal_pembayaran', 'detail_pembayaran.nominal', 'detail_jaminan.guarantee_type_id', 'detail_jaminan.nomor_jaminan', 'detail_jaminan.nilai_jaminan', 'detail_penagihan.tanggal_penagihan', 'detail_penagihan.pic_penagihan', 'detail_penagihan.tindakan', 'detail_penagihan.informasi_lku', 'detail_penagihan.proses_hukum', 'detail_penagihan.komitmen_debitur')
|
|
->leftJoin('detail_pembayaran', 'hapus_buku.nomor_pinjaman', '=', 'detail_pembayaran.nomor_pinjaman')
|
|
->leftJoin('detail_penagihan', 'hapus_buku.nomor_pinjaman', '=', 'detail_penagihan.nomor_pinjaman')
|
|
->leftJoin('detail_jaminan', 'hapus_buku.nomor_pinjaman', '=', 'detail_jaminan.nomor_pinjaman')
|
|
->whereMonth('tanggal_hapus_buku', '<=', request()->get('bulan'))
|
|
->whereYear('tanggal_hapus_buku', '<=', request()->get('tahun'))
|
|
->whereRelation('debitur', 'name', 'like', '%' . request()->get('debitur') . '%')
|
|
->where('detail_penagihan.deleted_at', null)
|
|
->where('detail_pembayaran.deleted_at', null)
|
|
->where('detail_jaminan.deleted_at', null)
|
|
->groupBy('detail_penagihan.pic_penagihan', 'detail_penagihan.tanggal_penagihan')
|
|
->get();
|
|
} else {
|
|
$data = HapusBuku::with([
|
|
'branch',
|
|
'debitur',
|
|
'facility_type',
|
|
'loan_type',
|
|
'currency',
|
|
])
|
|
->select('hapus_buku.*', 'detail_pembayaran.tanggal_pembayaran', 'detail_pembayaran.nominal', 'detail_jaminan.guarantee_type_id', 'detail_jaminan.nomor_jaminan', 'detail_jaminan.nilai_jaminan', 'detail_penagihan.tanggal_penagihan', 'detail_penagihan.pic_penagihan', 'detail_penagihan.tindakan', 'detail_penagihan.informasi_lku', 'detail_penagihan.proses_hukum', 'detail_penagihan.komitmen_debitur')
|
|
->leftJoin('detail_pembayaran', 'hapus_buku.nomor_pinjaman', '=', 'detail_pembayaran.nomor_pinjaman')
|
|
->leftJoin('detail_penagihan', 'hapus_buku.nomor_pinjaman', '=', 'detail_penagihan.nomor_pinjaman')
|
|
->leftJoin('detail_jaminan', 'hapus_buku.nomor_pinjaman', '=', 'detail_jaminan.nomor_pinjaman')
|
|
->whereMonth('tanggal_hapus_buku', '<=', request()->get('bulan'))
|
|
->whereYear('tanggal_hapus_buku', '<=', request()->get('tahun'))
|
|
->where('kode_cabang', request()->get('kode_cabang'))
|
|
->whereRelation('debitur', 'name', 'like', '%' . request()->get('debitur') . '%')
|
|
->where('detail_penagihan.deleted_at', null)
|
|
->where('detail_pembayaran.deleted_at', null)
|
|
->where('detail_jaminan.deleted_at', null)
|
|
->groupBy('detail_penagihan.pic_penagihan', 'detail_penagihan.tanggal_penagihan')
|
|
->get();
|
|
}
|
|
|
|
//echo json_encode($data);exit;
|
|
|
|
return DataTables::of($data)->editColumn('tanggal_hapus_buku', function ($row) {
|
|
$date = Carbon::create($row->tanggal_hapus_buku);
|
|
return $date->locale('id')->translatedFormat('d F Y');
|
|
})->editColumn('branch', function ($row) {
|
|
if (isset($row->branch->kode) && isset($row->branch->name)) {
|
|
return $row->branch->kode . ' - ' . $row->branch->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('debitur', function ($row) {
|
|
if (isset($row->debitur->kode) && isset($row->debitur->name)) {
|
|
return $row->debitur->kode . ' - ' . $row->debitur->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('alamat', function ($row) {
|
|
if (isset($row->debitur->address)) {
|
|
return $row->debitur->address;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('facility_type', function ($row) {
|
|
if (isset($row->facility_type->kode) && isset($row->facility_type->name)) {
|
|
return $row->facility_type->kode . ' - ' . $row->facility_type->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('loan_type', function ($row) {
|
|
if (isset($row->loan_type->kode) && isset($row->loan_type->name)) {
|
|
return $row->loan_type->kode . ' - ' . $row->loan_type->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('guarantee_type', function ($row) {
|
|
$guarantee = GuaranteeType::where('id', $row->guarantee_type_id)->first();
|
|
if (isset($guarantee->id)) {
|
|
return $guarantee->kode . ' - ' . $guarantee->name;
|
|
} else {
|
|
return '-';
|
|
}
|
|
})->editColumn('nilai_plafond_awal', function ($row) {
|
|
return Number::currency($row->nilai_plafond_awal, 'IDR', 'id_ID');
|
|
})->editColumn('baki_debet', function ($row) {
|
|
return Number::currency($row->baki_debet, 'IDR', 'id_ID');
|
|
})->editColumn('jumlah_bunga', function ($row) {
|
|
return Number::currency($row->jumlah_bunga, 'IDR', 'id_ID');
|
|
})->editColumn('jumlah_kewajiban_lain', function ($row) {
|
|
return Number::currency($row->jumlah_kewajiban_lain, 'IDR', 'id_ID');
|
|
})->editColumn('total_kewajiban', function ($row) {
|
|
return Number::currency($row->total_kewajiban, 'IDR', 'id_ID');
|
|
})->addIndexColumn()->toJson();
|
|
}
|
|
|
|
$breadcrumb = [
|
|
'title' => 'Laporan Catatan Penagihan Debitur Hapus Buku dan AYDA',
|
|
'link' => 'laporan.penagihan'
|
|
];
|
|
|
|
$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'),
|
|
'debitur' => $request->debitur ?? '%',
|
|
'bulan' => $month,
|
|
'tahun' => $year
|
|
];
|
|
|
|
$dataTable = $builder->columns([
|
|
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
|
|
Column::make('nomor_pinjaman')->title('Nomor Pinjaman'),
|
|
Column::make('debitur')->title('Debitur'),
|
|
Column::make('alamat')->title('Alamat'),
|
|
Column::make('branch')->title('Cabang'),
|
|
Column::make('facility_type')->title('Jenis Fasilitas'),
|
|
Column::make('nomor_fasilitas')->title('Nomor Fasilitas'),
|
|
Column::make('loan_type')->title('Jenis Pinjaman'),
|
|
Column::make('currency.kode')->title('Mata Uang'),
|
|
Column::make('baki_debet')->title('Baki Debet'),
|
|
Column::make('jumlah_bunga')->title('Jumlah Bunga'),
|
|
Column::make('jumlah_kewajiban_lain')->title('Jumlah Kewajiban Lain'),
|
|
Column::make('total_kewajiban')->title('Total Kewajiban'),
|
|
Column::make('tanggal_pembayaran')->title('Tanggal Bayar'),
|
|
Column::make('nominal')->title('Nominal Bayar'),
|
|
Column::make('nomor_jaminan')->title('Nomor Jaminan'),
|
|
Column::make('guarantee_type')->title('Jenis Jaminan'),
|
|
Column::make('nilai_jaminan')->title('Nilai Jaminan'),
|
|
Column::make('tanggal_penagihan')->title('Tanggal Penagihan'),
|
|
Column::make('pic_penagihan')->title('PIC Penagihan'),
|
|
Column::make('tindakan')->title('Tindakan'),
|
|
Column::make('informasi_lku')->title('Informasi IKU'),
|
|
Column::make('proses_hukum')->title('Proses Hukum'),
|
|
Column::make('komitmen_debitur')->title('Komitmen Debitur')
|
|
])
|
|
->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_penagihan', compact('dataTable', 'breadcrumb'));
|
|
}
|
|
|
|
public function laporan_subrogasi(Builder $builder, Request $request)
|
|
{
|
|
if (request()->ajax()) {
|
|
if (request()->get('jenis_laporan') == 'C1') {
|
|
$klaimJamkrindo = KlaimJamkrindo::whereBetween('tanggal_rtgs_masuk', [
|
|
request()->get('start_date'),
|
|
request()->get('end_date')
|
|
])->get();
|
|
return DataTables::of($klaimJamkrindo)->editColumn('tanggal_rtgs_masuk', function ($row) {
|
|
return $row->updated_at->locale('id')->translatedFormat('d F Y');
|
|
})->editColumn('is_detail_debitur', function ($row) {
|
|
$status = $row->is_detail_debitur ? '<span class="badge badge-light-success">Ada</span>' : '<span class="badge badge-light-danger">Tidak Ada</span>';
|
|
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();
|
|
} 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') {
|
|
$breadcrumb = [
|
|
'title' => 'Laporan Pencatatan Klaim Jamkrindo',
|
|
'link' => 'laporan.subrogasi'
|
|
];
|
|
|
|
$dataTable = $builder->columns([
|
|
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
|
|
Column::make('tanggal_rtgs_masuk')->title('Tanggal RTGS Masuk'),
|
|
Column::make('jumlah_debitur_surat')->title('Jml Debitur Surat'),
|
|
Column::make('jumlah_debitur_excel')->title('Jml Debitur Excel'),
|
|
Column::make('dana_hasil_klaim')->title('Dana Hasil Klaim'),
|
|
Column::make('nilai_penyelesaian')->title('Nilai Penyelesaian'),
|
|
Column::make('jumlah_debitur_penyelesaian')->title('Jml Debitur Penyelesaian'),
|
|
Column::make('sisa_dana_ksl')->title('Sisa Dana KSL'),
|
|
Column::make('jumlah_debitur_sisa_ksl')->title('Jml Debitur Sisa KSL'),
|
|
Column::make('is_detail_debitur')->title('Detail Debitur')
|
|
])
|
|
->parameters([
|
|
'scrollX' => false,
|
|
'drawCallback' => 'function() { KTMenu.createInstances(); }',
|
|
])
|
|
->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
|
|
])
|
|
->stateSave(false)
|
|
->responsive()
|
|
->autoWidth(true)
|
|
->orderBy(1);
|
|
|
|
} else if ($request->jenis_laporan == 'C2') {
|
|
$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));
|
|
|
|
$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'),
|
|
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,
|
|
'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);
|
|
} 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,
|
|
];
|
|
|
|
$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'));
|
|
}
|
|
}
|