Refactor data rendering and query structures in SPK
- Mengubah struktur query untuk mengambil data dari relasi yang lebih sesuai. - Memperbaiki atribut render di view agar lebih konsisten dengan struktur data baru. - Membersihkan logika yang tidak digunakan, termasuk format data untuk tanggal, biaya, dan path dokumen. - Mengoptimalkan fungsi download dengan menggunakan ID langsung dari PenawaranTender.
This commit is contained in:
@@ -36,15 +36,17 @@ use Illuminate\Support\Facades\Auth;
|
||||
// Retrieve data from the database
|
||||
// $query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk');
|
||||
// $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian'])->get();
|
||||
$query =Permohonan::query()->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian','penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk');
|
||||
//$query =Permohonan::query()->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian','penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk');
|
||||
|
||||
$query = PenawaranTender::query()->with(['permohonan.user', 'permohonan.debiture', 'permohonan.branch', 'permohonan.tujuanPenilaian','permohonan.penilaian','tujuanPenilaianKjpp']);
|
||||
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
$search = $request->get('search');
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('penawaran.tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||
$q->whereRelation('permohonan','nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||
|
||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||
});
|
||||
@@ -81,34 +83,34 @@ use Illuminate\Support\Facades\Auth;
|
||||
foreach($data as $obj)
|
||||
{
|
||||
// tanggal_permohonan
|
||||
if ($obj->tanggal_permohonan) {
|
||||
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
|
||||
if ($obj->permohonan->tanggal_permohonan) {
|
||||
$data[$i]->permohonan->tanggal_permohonan = Carbon::parse($obj->permohonan->tanggal_permohonan)->format('d M Y');
|
||||
}
|
||||
|
||||
if($obj->penawaran->tanggal_penilaian_sebelumnya)
|
||||
if($obj->tanggal_penilaian_sebelumnya)
|
||||
{
|
||||
$data[$i]->penawaran->tanggal_penilaian_sebelumnya = Carbon::parse($obj->penawaran->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
||||
$data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
||||
}
|
||||
|
||||
if($obj->penawaran->biaya_kjpp_sebelumnya)
|
||||
if($obj->biaya_kjpp_sebelumnya)
|
||||
{
|
||||
$data[$i]->penawaran->biaya_kjpp_sebelumnya = formatRupiah($obj->penawaran->biaya_kjpp_sebelumnya);
|
||||
$data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
|
||||
|
||||
}
|
||||
|
||||
// date_range
|
||||
if($obj->penawaran->start_date && $obj->penawaran->end_date)
|
||||
if($obj->start_date && $obj->end_date)
|
||||
{
|
||||
$data[$i]->date_range = Carbon::parse($obj->penawaran->start_date)->format('d M Y').' - '.
|
||||
Carbon::parse($obj->penawaran->end_date)->format('d M Y');
|
||||
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.
|
||||
Carbon::parse($obj->end_date)->format('d M Y');
|
||||
|
||||
}
|
||||
|
||||
// data spk_dokumen_path
|
||||
if($obj->penawaran->spk_dokumen_path)
|
||||
if($obj->spk_dokumen_path)
|
||||
{
|
||||
$spk_dokumen_path = Storage::url($obj->penawaran->spk_dokumen_path);
|
||||
$data[$i]->penawaran->spk_dokumen_path = $spk_dokumen_path;
|
||||
$spk_dokumen_path = Storage::url($obj->spk_dokumen_path);
|
||||
$data[$i]->spk_dokumen_path = $spk_dokumen_path;
|
||||
}
|
||||
|
||||
$i++;
|
||||
@@ -393,8 +395,7 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
public function download($id) {
|
||||
// dokumen pdf diambil dari penawaran.spk_dokumen_path
|
||||
$permohonan = Permohonan::find($id);
|
||||
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
||||
$document = PenawaranTender::find($id);
|
||||
|
||||
return response()->download(storage_path('app/public/' .$document->spk_dokumen_path));
|
||||
}
|
||||
|
||||
@@ -126,12 +126,15 @@
|
||||
},
|
||||
'nomor_registrasi': {
|
||||
title: 'Nomor Registrasi',
|
||||
render: (item, data) => {
|
||||
return `${data.permohonan.nomor_registrasi}`;
|
||||
},
|
||||
},
|
||||
code: {
|
||||
title: 'Nomor Penawaran',
|
||||
render: (item, data) => {
|
||||
if(data.penawaran) {
|
||||
return `${data.penawaran.code}`;
|
||||
if(data.code) {
|
||||
return `${data.code}`;
|
||||
}
|
||||
|
||||
return '-';
|
||||
@@ -139,24 +142,27 @@
|
||||
},
|
||||
tanggal_permohonan: {
|
||||
title: 'Tanggal Permohonan',
|
||||
render: (item, data) => {
|
||||
return `${data.permohonan.tanggal_permohonan}`;
|
||||
},
|
||||
},
|
||||
user_id: {
|
||||
title: 'User Pemohon',
|
||||
render: (item, data) => {
|
||||
return `${data.user.name}`;
|
||||
return `${data.permohonan.user.name}`;
|
||||
},
|
||||
},
|
||||
branch_id: {
|
||||
title: 'Cabang Pemohon',
|
||||
render: (item, data) => {
|
||||
return `${data.branch.name}`;
|
||||
return `${data.permohonan.branch.name}`;
|
||||
},
|
||||
},
|
||||
debitur_id: {
|
||||
title: 'Debitur',
|
||||
render: (item, data) => {
|
||||
if (data.debiture) {
|
||||
return `${data.debiture.name}`;
|
||||
if (data.permohonan.debiture) {
|
||||
return `${data.permohonan.debiture.name}`;
|
||||
}
|
||||
return "-";
|
||||
},
|
||||
@@ -167,14 +173,14 @@
|
||||
tujuan_penilaian_id: {
|
||||
title: 'Tujuan Penilaian',
|
||||
render: (item, data) => {
|
||||
return `${data.tujuan_penilaian.name}`;
|
||||
return `${data.permohonan.tujuan_penilaian.name}`;
|
||||
},
|
||||
},
|
||||
tujuan_penilaian_kjpp_id: {
|
||||
title: 'Tujuan Penilaian KJPP',
|
||||
render: (item, data) => {
|
||||
if(data.penawaran.tujuan_penilaian_kjpp) {
|
||||
return `${data.penawaran.tujuan_penilaian_kjpp.name}`;
|
||||
if(data.tujuan_penilaian_kjpp) {
|
||||
return `${data.tujuan_penilaian_kjpp.name}`;
|
||||
}
|
||||
|
||||
return '-';
|
||||
@@ -183,15 +189,15 @@
|
||||
kjpp_data: {
|
||||
title: 'Nama KJPP Terpilih',
|
||||
render: (item, data) => {
|
||||
return `${data.penawaran.nama_kjpp_sebelumnya}`+'<br />'
|
||||
+`${data.penawaran.biaya_kjpp_sebelumnya}`+'<br /> '
|
||||
+`${data.penawaran.tanggal_penilaian_sebelumnya}`;
|
||||
return `${data.nama_kjpp_sebelumnya}`+'<br />'
|
||||
+`${data.biaya_kjpp_sebelumnya}`+'<br /> '
|
||||
+`${data.tanggal_penilaian_sebelumnya}`;
|
||||
},
|
||||
},
|
||||
status: {
|
||||
title: 'Status',
|
||||
render: (item, data) => {
|
||||
return `${data.penawaran.status}`.toUpperCase();
|
||||
return `${data.status}`.toUpperCase();
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
@@ -199,9 +205,9 @@
|
||||
render: (item, data) => {
|
||||
var spkShow ='';
|
||||
var spkCreate='';
|
||||
if(!data.penawaran.spk_dokumen_path)
|
||||
if(!data.spk_dokumen_path)
|
||||
{
|
||||
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.penawaran.id})" >
|
||||
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.id})" >
|
||||
<i class="ki-outline ki-notepad-edit"></i>
|
||||
</a>`;
|
||||
}
|
||||
@@ -211,7 +217,7 @@
|
||||
<a href="/spk/${data.id}/download" class="btn btn-sm btn-icon btn-clear btn-primary" title="Download SPK">
|
||||
<i class="ki-filled ki-cloud-download"></i>
|
||||
</a> `;
|
||||
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.penawaran.id})" >
|
||||
spkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.id})" >
|
||||
<i class="ki-outline ki-notepad-edit"></i>
|
||||
</a>`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user