Feature SPK, perbaikan CONFLICT

This commit is contained in:
Andy Chaerudin
2024-11-06 14:48:40 +07:00
6 changed files with 79 additions and 59 deletions

View File

@@ -34,18 +34,15 @@ use Illuminate\Support\Facades\Auth;
}
// Retrieve data from the database
$query =Permohonan::query()
->leftJoin('penawaran', 'penawaran.nomor_registrasi','=','permohonan.nomor_registrasi')
->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
->where('permohonan.status','=','spk')
->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name', 'permohonan.dokumen as dokumenSPK');
$query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])
->where('permohonan.status','=','spk');
// 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('tanggal_permohonan', 'LIKE', '%' . $search . '%');
$q->orWhere('penawaran.tanggal_permohonan', 'LIKE', '%' . $search . '%');
$q->orWhere('status', 'LIKE', '%' . $search . '%');
});
@@ -100,11 +97,11 @@ use Illuminate\Support\Facades\Auth;
}
// data dokumen_spk
if($obj->dokumenSPK)
if($obj->dokumen)
{
$spkpenawaran_path = Storage::url($obj->dokumenSPK);
$spkpenawaran_path = Storage::url($obj->dokumen);
// dd($spkpenawaran_path);
$data[$i]->dokumenSPK = $spkpenawaran_path;
$data[$i]->dokumen = $spkpenawaran_path;
}
$i++;
@@ -257,13 +254,4 @@ use Illuminate\Support\Facades\Auth;
return view('lpj::spk.dokumennya', compact('data', 'penawaran'));
}
public function download($id) {
$document = Permohonan::find($id);
// return response()->download(storage_path('app/public/' .$document->dokumen));
$spkpenawaran_path = Storage::url($document->dokumen);
dd($spkpenawaran_path);
return response()->download($spkpenawaran_path);
}
}

View File

@@ -32,9 +32,9 @@ class PenawaranTender extends Model
}
// menambahkan relasi tujuan penilaian KJPP
public function tujuanPenilaianKJPP()
public function tujuanPenilaianKjpp()
{
return $this->hasMany(TujuanPenilaianKJPP::class, 'id', 'tujuan_penilaian_kjpp_id');
return $this->belongsTo(TujuanPenilaianKJPP::class, 'tujuan_penilaian_kjpp_id','id');
}
public function permohonan()
@@ -46,4 +46,6 @@ class PenawaranTender extends Model
{
return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id');
}
}

View File

@@ -89,4 +89,8 @@ class Permohonan extends Base
{
return $this->belongsTo(Regions::class, 'region_id');
}
public function penawaran(){
return $this->belongsTo(PenawaranTender::class, 'nomor_registrasi', 'nomor_registrasi');
}
}

File diff suppressed because one or more lines are too long

View File

@@ -84,6 +84,15 @@
var url = "{{ url('/') }}"+url1;
$(location).attr('href',url);
}
function formatTanggalIndonesia(dateString) {
const date = new Date(dateString);
const day = date.getDate().toString().padStart(2, '0');
const monthNames = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'];
const month = monthNames[date.getMonth()];
const year = date.getFullYear();
return `${day} ${month} ${year}`;
}
</script>
<script type="module">
const element = document.querySelector('#spk-table');
@@ -109,25 +118,44 @@
},
code: {
title: 'Kode Penawaran',
render: (item, data) => {
if(data.penawaran) {
return `${data.penawaran.code}`;
}
return '-';
},
},
date_range: {
title: 'Tanggal Penawaran',
render: (item, data) => {
const startDate = formatTanggalIndonesia(data.penawaran.start_date);
const endDate = formatTanggalIndonesia(data.penawaran.end_date);
return `${startDate} - ${endDate}`;
},
},
tujuan_penilaian_kjpp_name: {
title: 'Tujuan Penilaian',
render: (item, data) => {
if(data.penawaran.tujuan_penilaian_kjpp) {
return `${data.penawaran.tujuan_penilaian_kjpp.name}`;
}
return '-';
},
},
nama_kjpp_sebelumnya: {
title: 'Nama KJPP Terpilih',
render: (item, data) => {
return `${data.nama_kjpp_sebelumnya}`+'<br />'
+`${data.biaya_kjpp_sebelumnya}`+'<br /> '
+`${data.tanggal_penilaian_sebelumnya}`;
return `${data.penawaran.nama_kjpp_sebelumnya}`+'<br />'
+`${data.penawaran.biaya_kjpp_sebelumnya}`+'<br /> '
+`${data.penawaran.tanggal_penilaian_sebelumnya}`;
},
},
status: {
title: 'Status',
render: (item, data) => {
return `${data.status}`.toUpperCase();
return `${data.penawaran.status}`.toUpperCase();
},
},
actions: {
@@ -135,7 +163,7 @@
render: (item, data) => {
var iconSpkShow ='';
var iconSpkCreate='';
if(!data.dokumenSPK)
if(!data.dokumen)
{
iconSpkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Proses Penawaran" onclick="spkCreate(${data.id})" >
<i class="ki-outline ki-notepad-edit"></i>
@@ -144,7 +172,7 @@
else
{
iconSpkShow =`<div class="flex flex-nowrap justify-center">
<a href="${data.dokumenSPK}" class="btn btn-sm btn-icon btn-clear btn-primary" title="Download SPK" download >
<a href="${data.dokumen}" class="btn btn-sm btn-icon btn-clear btn-primary" title="Download SPK" download >
<i class="ki-filled ki-cloud-download"></i>
</a> `;
iconSpkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.id})" >

View File

@@ -94,8 +94,6 @@ Route::middleware(['auth'])->group(function () {
Route::get('/spk/{spk}', 'show')->name('spk.show');
Route::get('/spk/{spk}/edit', 'edit')->name('spk.edit');
Route::put('/spk/{spk}', 'update')->name('spk.update');
Route::get('spk/{spk}/download', 'download')->name('spk.download');
});
Route::controller(RegistrasiFinalController::class)->group(function(){