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