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:
Daeng Deni Mardaeni
2024-12-20 15:09:47 +07:00
parent c71dcdbdf5
commit 5fde58d00c
2 changed files with 40 additions and 33 deletions

View File

@@ -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));
}

View File

@@ -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>`;
}