fix(activity): perbaiki logika perhitungan tanggal SLA dan paparan
- Memperbaiki perhitungan tanggal selesai berdasarkan hari tambahan. - Menambahkan logika untuk menghitung hari kerja berikutnya. - Mengubah nama kolom pada tampilan dari "Due Date SLA" menjadi "SLA Laporan" dan "Paparan" menjadi "SLA Paparan". - Menambahkan detail dokumen pada query di LaporanController.
This commit is contained in:
@@ -326,7 +326,7 @@ class ActivityController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Get data with necessary relationships
|
// Get data with necessary relationships
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan'])->get();
|
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'dokumenjaminan','nilaiPlafond'])->get();
|
||||||
|
|
||||||
// Calculate total pages
|
// Calculate total pages
|
||||||
$pageCount = ceil($totalRecords / $request->get('size', 10));
|
$pageCount = ceil($totalRecords / $request->get('size', 10));
|
||||||
@@ -444,26 +444,40 @@ class ActivityController extends Controller
|
|||||||
$jeniAsset = null;
|
$jeniAsset = null;
|
||||||
$statusPembayaran = trim(strtolower($item->permohonan->status_bayar ?? ''));
|
$statusPembayaran = trim(strtolower($item->permohonan->status_bayar ?? ''));
|
||||||
$tujuanPenilaian = $item->permohonan->tujuanPenilaian->name ?? null;
|
$tujuanPenilaian = $item->permohonan->tujuanPenilaian->name ?? null;
|
||||||
|
$plafond = $item->permohonan->nilaiPlafond->name ?? null;
|
||||||
|
|
||||||
$now = Carbon::now();
|
$now = Carbon::now();
|
||||||
|
$type_report = $item->permohonan->penilai->type ?? "";
|
||||||
|
|
||||||
// $plafond = $item->permohonan->nilaiPlafond->name ?? null;
|
$hari = $hariPaparan = 0;
|
||||||
// $type_report = $item->permohonan->penilai->type_penilai;
|
|
||||||
|
|
||||||
// $hari = 0;
|
if($type_report == "sederhana"){
|
||||||
// if ($plafond == '< 1M') {
|
$hari = 2;
|
||||||
// $item->paparan = 'Tidak Ada';
|
$item->paparan = 'Tidak Ada';
|
||||||
// }else if($plafond == '2 M - 5 M'){
|
} else{
|
||||||
// $hari = 2;
|
if ($plafond == '< 2M') {
|
||||||
// }else if($plafond == '5 M - 10 M'){
|
$item->paparan = 'Tidak Ada';
|
||||||
// $hari = 3;
|
$hari = 3;
|
||||||
// }
|
}else if($plafond == '2 M - 5 M'){
|
||||||
|
$hari = 3;
|
||||||
|
$hariPaparan = 2;
|
||||||
|
}else {
|
||||||
|
$hari = 5;
|
||||||
|
$hariPaparan = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($tujuanPenilaian == 'RAP') {
|
||||||
|
$hari = 2;
|
||||||
|
$hariPaparan = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($item->permohonan && $item->permohonan->debiture) {
|
if ($item->permohonan && $item->permohonan->debiture) {
|
||||||
$jeniAsset = $item->permohonan->debiture->documents->first() ?? null;
|
$jeniAsset = $item->permohonan->debiture->documents->first() ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$hariTambahan = 0;
|
/*$hariTambahan = 0;
|
||||||
|
|
||||||
if ($tujuanPenilaian == 'RAP') {
|
if ($tujuanPenilaian == 'RAP') {
|
||||||
$hariTambahan = 2;
|
$hariTambahan = 2;
|
||||||
@@ -473,33 +487,50 @@ class ActivityController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
$hariTambahan = 2; // H+2 untuk yang belum bayar
|
$hariTambahan = 2; // H+2 untuk yang belum bayar
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
$tanggalMulai = $item->waktu_penilaian;
|
$tanggalMulai = $item->waktu_penilaian;
|
||||||
|
|
||||||
if ($tanggalMulai) {
|
if ($tanggalMulai) {
|
||||||
|
if (!$tanggalMulai instanceof Carbon) {
|
||||||
|
$tanggalMulai = Carbon::parse($tanggalMulai);
|
||||||
|
}
|
||||||
|
$hariKerjaBerikutnya = hitungHariKerja($tanggalMulai->toDateString(),$tanggalMulai->copy()->addDays(1));
|
||||||
|
$hariKerjaBerikutnya = max($hariKerjaBerikutnya, 1);
|
||||||
|
$tanggalMulai = $tanggalMulai->copy()->addDays($hariKerjaBerikutnya);
|
||||||
|
|
||||||
// Konversi string tanggal ke objek Carbon jika belum
|
// Konversi string tanggal ke objek Carbon jika belum
|
||||||
if (!$tanggalMulai instanceof Carbon) {
|
if (!$tanggalMulai instanceof Carbon) {
|
||||||
$tanggalMulai = Carbon::parse($tanggalMulai);
|
$tanggalMulai = Carbon::parse($tanggalMulai);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hitung tanggal selesai berdasarkan hari tambahan
|
// Hitung tanggal selesai berdasarkan hari tambahan
|
||||||
$tanggalSelesai = $tanggalMulai->copy()->addDays($hariTambahan);
|
$tanggalSelesai = $tanggalMulai->copy()->addDays($hari);
|
||||||
|
$tanggalPaparan = $tanggalMulai->copy()->addDays($hariPaparan);
|
||||||
|
|
||||||
// Hitung hari kerja
|
// Hitung hari kerja
|
||||||
$hariKerja = hitungHariKerja($tanggalMulai->toDateString(), $tanggalSelesai->toDateString());
|
$hariKerja = hitungHariKerja($tanggalMulai->toDateString(), $tanggalSelesai->toDateString());
|
||||||
|
$hariKerja = max($hariKerja, $hari);
|
||||||
|
|
||||||
|
$hariKerjaPaparan = hitungHariKerja($tanggalMulai->toDateString(), $tanggalPaparan->toDateString());
|
||||||
|
$hariKerjaPaparan = max($hariKerjaPaparan, $hariPaparan);
|
||||||
|
|
||||||
// Set due date SLA
|
// Set due date SLA
|
||||||
$dueDateSla = $tanggalMulai->copy()->addDays($hariKerja);
|
$dueDateSla = $tanggalMulai->copy()->addDays($hariKerja);
|
||||||
|
$dueDateSlaPaparan = $tanggalMulai->copy()->addDays($hariKerjaPaparan);
|
||||||
|
|
||||||
// Cek apakah sudah melewati due date
|
// Cek apakah sudah melewati due date
|
||||||
if ($now->greaterThan($dueDateSla)) {
|
/*if ($now->greaterThan($dueDateSla)) {
|
||||||
$item->due_date_sla = null;
|
$item->due_date_sla = null;
|
||||||
} else {
|
} else {
|
||||||
$item->due_date_sla = $dueDateSla->toDateString();
|
$item->due_date_sla = $dueDateSla->toDateString();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
$item->due_date_sla = $dueDateSla->toDateString();
|
||||||
|
$item->paparan = $dueDateSlaPaparan->toDateString();
|
||||||
} else {
|
} else {
|
||||||
$item->due_date_sla = null;
|
$item->due_date_sla = null;
|
||||||
|
$item->paparan = null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ class LaporanController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Get the data for the current page
|
// Get the data for the current page
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai'])->get();
|
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','jenisFasilitasKredit', 'documents.inspeksi','penilai','documents.detail'])->get();
|
||||||
|
|
||||||
// Calculate the page count
|
// Calculate the page count
|
||||||
$pageCount = ceil($totalRecords / $size);
|
$pageCount = ceil($totalRecords / $size);
|
||||||
|
|||||||
@@ -120,8 +120,8 @@
|
|||||||
<th class="min-w-[100px]">Tgl Assign</th>
|
<th class="min-w-[100px]">Tgl Assign</th>
|
||||||
<th class="min-w-[100px]">Tgl Kunjungan</th>
|
<th class="min-w-[100px]">Tgl Kunjungan</th>
|
||||||
<th class="min-w-[100px]">Progress</th>
|
<th class="min-w-[100px]">Progress</th>
|
||||||
<th class="min-w-[100px]">Due Date SLA</th>
|
<th class="min-w-[100px]">SLA Laporan</th>
|
||||||
<th class="min-w-[100px]">Paparan</th>
|
<th class="min-w-[100px]">SLA Paparan</th>
|
||||||
<th class="min-w-[100px]">Approve</th>
|
<th class="min-w-[100px]">Approve</th>
|
||||||
<th class="min-w-[50px] text-center">Keterangan</th>
|
<th class="min-w-[50px] text-center">Keterangan</th>
|
||||||
<th class="min-w-[50px] text-center">Action</th>
|
<th class="min-w-[50px] text-center">Action</th>
|
||||||
@@ -251,6 +251,15 @@
|
|||||||
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
|
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
due_date: {
|
||||||
|
title: 'Due Date SLA',
|
||||||
|
render: (item, data) => {
|
||||||
|
if (!data.due_date_sla) {
|
||||||
|
return `-`;
|
||||||
|
}
|
||||||
|
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
paparan: {
|
paparan: {
|
||||||
title: 'Paparan',
|
title: 'Paparan',
|
||||||
@@ -258,7 +267,7 @@
|
|||||||
if (!data.due_date_sla) {
|
if (!data.due_date_sla) {
|
||||||
return `-`;
|
return `-`;
|
||||||
}
|
}
|
||||||
return `${window.formatTanggalIndonesia(data.due_date_sla)}`;
|
return `${window.formatTanggalIndonesia(data.paparan)}`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
approve: {
|
approve: {
|
||||||
|
|||||||
Reference in New Issue
Block a user