Feature SPK, perbaikan CONFLICT
This commit is contained in:
@@ -34,19 +34,16 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve data from the database
|
// Retrieve data from the database
|
||||||
$query =Permohonan::query()
|
$query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])
|
||||||
->leftJoin('penawaran', 'penawaran.nomor_registrasi','=','permohonan.nomor_registrasi')
|
->where('permohonan.status','=','spk');
|
||||||
->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');
|
|
||||||
|
|
||||||
// Apply search filter if provided
|
// Apply search filter if provided
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
$query->where(function ($q) use ($search) {
|
$query->where(function ($q) use ($search) {
|
||||||
$q->where('nomor_registrasi', 'LIKE', '%' . $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 . '%');
|
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -72,12 +69,12 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
|
|
||||||
// Get the filtered count of records
|
// Get the filtered count of records
|
||||||
$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'])->get();
|
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||||
|
|
||||||
$data = $query->get();
|
$data = $query->get();
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
foreach($data as $obj)
|
foreach($data as $obj)
|
||||||
{
|
{
|
||||||
@@ -85,26 +82,26 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
{
|
{
|
||||||
$data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->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->biaya_kjpp_sebelumnya)
|
if($obj->biaya_kjpp_sebelumnya)
|
||||||
{
|
{
|
||||||
$data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
|
$data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// date_range
|
// date_range
|
||||||
if($obj->start_date && $obj->end_date)
|
if($obj->start_date && $obj->end_date)
|
||||||
{
|
{
|
||||||
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.Carbon::parse($obj->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 dokumen_spk
|
// data dokumen_spk
|
||||||
if($obj->dokumenSPK)
|
if($obj->dokumen)
|
||||||
{
|
{
|
||||||
$spkpenawaran_path = Storage::url($obj->dokumenSPK);
|
$spkpenawaran_path = Storage::url($obj->dokumen);
|
||||||
// dd($spkpenawaran_path);
|
// dd($spkpenawaran_path);
|
||||||
$data[$i]->dokumenSPK = $spkpenawaran_path;
|
$data[$i]->dokumen = $spkpenawaran_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
@@ -145,11 +142,11 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||||
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
||||||
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
||||||
->where('detail_penawaran.status','=',1)
|
->where('detail_penawaran.status','=',1)
|
||||||
->where('penawaran.id','=', $id)
|
->where('penawaran.id','=', $id)
|
||||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||||
'kjpp.name as kjpp_name',
|
'kjpp.name as kjpp_name',
|
||||||
'kjpp.address as kjpp_address',
|
'kjpp.address as kjpp_address',
|
||||||
@@ -165,11 +162,11 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||||
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
||||||
->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id')
|
->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id')
|
||||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name',
|
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name',
|
||||||
'dokumen_jaminan.address as dokumen_jaminan_address');
|
'dokumen_jaminan.address as dokumen_jaminan_address');
|
||||||
|
|
||||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||||
|
|
||||||
return view('lpj::spk.edit', compact('data', 'penawaran'));
|
return view('lpj::spk.edit', compact('data', 'penawaran'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,13 +176,13 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
$data1 = array();
|
$data1 = array();
|
||||||
$dataPermohonan = array();
|
$dataPermohonan = array();
|
||||||
// data
|
// data
|
||||||
|
|
||||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||||
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
||||||
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
||||||
->where('detail_penawaran.status','=',1)
|
->where('detail_penawaran.status','=',1)
|
||||||
->where('penawaran.id','=', $id)
|
->where('penawaran.id','=', $id)
|
||||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||||
'kjpp.name as kjpp_name',
|
'kjpp.name as kjpp_name',
|
||||||
'kjpp.address as kjpp_address',
|
'kjpp.address as kjpp_address',
|
||||||
'jenis_laporan.name as jenis_laporan_name'
|
'jenis_laporan.name as jenis_laporan_name'
|
||||||
@@ -204,12 +201,12 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
||||||
|
|
||||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||||
|
|
||||||
$folderPath = 'uploads/spk/';
|
$folderPath = 'uploads/spk/';
|
||||||
$extension = '.pdf';
|
$extension = '.pdf';
|
||||||
$newFileName = "SPK_".$penawaran->nomor_registrasi."_".Auth::user()->id."_".time(). $extension;
|
$newFileName = "SPK_".$penawaran->nomor_registrasi."_".Auth::user()->id."_".time(). $extension;
|
||||||
$newFileNameWithPath = $folderPath . $newFileName;
|
$newFileNameWithPath = $folderPath . $newFileName;
|
||||||
|
|
||||||
// update table permohonan
|
// update table permohonan
|
||||||
$dataPermohonan=['dokumen' => $newFileNameWithPath];
|
$dataPermohonan=['dokumen' => $newFileNameWithPath];
|
||||||
$data->update($dataPermohonan);
|
$data->update($dataPermohonan);
|
||||||
@@ -231,39 +228,30 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function dokumennya()
|
public function dokumennya()
|
||||||
{
|
{
|
||||||
// return view('lpj::spk.dokumennya');
|
// return view('lpj::spk.dokumennya');
|
||||||
$id="3";
|
$id="3";
|
||||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||||
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
||||||
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
||||||
->where('detail_penawaran.status','=',1)
|
->where('detail_penawaran.status','=',1)
|
||||||
->where('penawaran.id','=', $id)
|
->where('penawaran.id','=', $id)
|
||||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||||
'kjpp.name as kjpp_name',
|
'kjpp.name as kjpp_name',
|
||||||
'kjpp.address as kjpp_address',
|
'kjpp.address as kjpp_address',
|
||||||
'jenis_laporan.name as jenis_laporan_name'
|
'jenis_laporan.name as jenis_laporan_name'
|
||||||
)->first();
|
)->first();
|
||||||
|
|
||||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||||
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id')
|
||||||
->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id')
|
->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id')
|
||||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name',
|
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name',
|
||||||
'dokumen_jaminan.address as dokumen_jaminan_address');
|
'dokumen_jaminan.address as dokumen_jaminan_address');
|
||||||
|
|
||||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||||
|
|
||||||
return view('lpj::spk.dokumennya', compact('data', 'penawaran'));
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ class PenawaranTender extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
// menambahkan relasi tujuan penilaian KJPP
|
// 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()
|
public function permohonan()
|
||||||
@@ -46,4 +46,6 @@ class PenawaranTender extends Model
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id');
|
return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,4 +89,8 @@ class Permohonan extends Base
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(Regions::class, 'region_id');
|
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
@@ -84,6 +84,15 @@
|
|||||||
var url = "{{ url('/') }}"+url1;
|
var url = "{{ url('/') }}"+url1;
|
||||||
$(location).attr('href',url);
|
$(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>
|
||||||
<script type="module">
|
<script type="module">
|
||||||
const element = document.querySelector('#spk-table');
|
const element = document.querySelector('#spk-table');
|
||||||
@@ -109,25 +118,44 @@
|
|||||||
},
|
},
|
||||||
code: {
|
code: {
|
||||||
title: 'Kode Penawaran',
|
title: 'Kode Penawaran',
|
||||||
|
render: (item, data) => {
|
||||||
|
if(data.penawaran) {
|
||||||
|
return `${data.penawaran.code}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '-';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
date_range: {
|
date_range: {
|
||||||
title: 'Tanggal Penawaran',
|
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: {
|
tujuan_penilaian_kjpp_name: {
|
||||||
title: 'Tujuan Penilaian',
|
title: 'Tujuan Penilaian',
|
||||||
|
render: (item, data) => {
|
||||||
|
if(data.penawaran.tujuan_penilaian_kjpp) {
|
||||||
|
return `${data.penawaran.tujuan_penilaian_kjpp.name}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '-';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
nama_kjpp_sebelumnya: {
|
nama_kjpp_sebelumnya: {
|
||||||
title: 'Nama KJPP Terpilih',
|
title: 'Nama KJPP Terpilih',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
return `${data.nama_kjpp_sebelumnya}`+'<br />'
|
return `${data.penawaran.nama_kjpp_sebelumnya}`+'<br />'
|
||||||
+`${data.biaya_kjpp_sebelumnya}`+'<br /> '
|
+`${data.penawaran.biaya_kjpp_sebelumnya}`+'<br /> '
|
||||||
+`${data.tanggal_penilaian_sebelumnya}`;
|
+`${data.penawaran.tanggal_penilaian_sebelumnya}`;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
status: {
|
status: {
|
||||||
title: 'Status',
|
title: 'Status',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
return `${data.status}`.toUpperCase();
|
return `${data.penawaran.status}`.toUpperCase();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
@@ -135,7 +163,7 @@
|
|||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
var iconSpkShow ='';
|
var iconSpkShow ='';
|
||||||
var iconSpkCreate='';
|
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})" >
|
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>
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
@@ -144,7 +172,7 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
iconSpkShow =`<div class="flex flex-nowrap justify-center">
|
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>
|
<i class="ki-filled ki-cloud-download"></i>
|
||||||
</a> `;
|
</a> `;
|
||||||
iconSpkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.id})" >
|
iconSpkCreate=`<a class="btn btn-sm btn-icon btn-clear btn-info" title="Buat SPK" onclick="spkCreate(${data.id})" >
|
||||||
|
|||||||
@@ -94,8 +94,6 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::get('/spk/{spk}', 'show')->name('spk.show');
|
Route::get('/spk/{spk}', 'show')->name('spk.show');
|
||||||
Route::get('/spk/{spk}/edit', 'edit')->name('spk.edit');
|
Route::get('/spk/{spk}/edit', 'edit')->name('spk.edit');
|
||||||
Route::put('/spk/{spk}', 'update')->name('spk.update');
|
Route::put('/spk/{spk}', 'update')->name('spk.update');
|
||||||
|
|
||||||
Route::get('spk/{spk}/download', 'download')->name('spk.download');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::controller(RegistrasiFinalController::class)->group(function(){
|
Route::controller(RegistrasiFinalController::class)->group(function(){
|
||||||
|
|||||||
Reference in New Issue
Block a user