Merge branch 'staging' into feature/senior-officer
This commit is contained in:
@@ -107,24 +107,141 @@
|
||||
function onLastnumberCodePenawaran()
|
||||
: string
|
||||
{
|
||||
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC
|
||||
// ambil code terakhir
|
||||
$maxCode = PenawaranTender::max('code');
|
||||
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC
|
||||
// $penawaran = PenawaranTender::latest()->first();
|
||||
$penawaran = PenawaranTender::where('code', '=', $maxCode)->first();
|
||||
$code_penawaran_last = '';
|
||||
$noUrutAkhirString = sprintf("%04s", 1);
|
||||
if ($penawaran) {
|
||||
$code_penawaran_last = substr($maxCode, -4);
|
||||
$penawaran = PenawaranTender::where('code','=',$maxCode)->first();
|
||||
$code_penawaran_last='';
|
||||
|
||||
// nomor di set 0001
|
||||
$noUrutAkhirString = sprintf("%04s", 1);
|
||||
if($penawaran)
|
||||
{
|
||||
$code_penawaran_last = substr ($maxCode, -4);
|
||||
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
|
||||
$year_now = Carbon::now()->year;
|
||||
if ($year_now == $year_penawaran_last) {
|
||||
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
|
||||
}
|
||||
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001
|
||||
}
|
||||
|
||||
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
|
||||
}
|
||||
|
||||
// generate last penawaran.no_spk
|
||||
function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
|
||||
{
|
||||
|
||||
// 20241124_001 ==> spk_no_core
|
||||
// XXX / PJ / JKT / MONTH-ROM / FR|SR / 2024
|
||||
// 001 / PJ / JKT / XI / FR / 2024
|
||||
$maxCode = PenawaranTender::max('spk_no_core');
|
||||
$penawaran = PenawaranTender::where('spk_no_core','=',$maxCode)->first();
|
||||
$no_spk_penawaran_last='';
|
||||
$year_penawaran_last='';
|
||||
$year_now = Carbon::now()->year;
|
||||
// nomor di set 001
|
||||
$noUrutAkhirString = sprintf("%03s", 1);
|
||||
if($penawaran)
|
||||
{
|
||||
$no_spk_penawaran_last = substr ($maxCode, -3);
|
||||
$year_penawaran_last = substr ($maxCode, 0, 4);
|
||||
|
||||
if($year_now == $year_penawaran_last)
|
||||
{
|
||||
$noUrutAkhirString = sprintf("%03s", abs($no_spk_penawaran_last + 1));
|
||||
}
|
||||
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 001
|
||||
}
|
||||
|
||||
$month = onRomawi(Carbon::now()->month);
|
||||
|
||||
$lastSPK = $noUrutAkhirString.' / PJ / JKT / '. $month .' / ' .$jenis_laporan_code.' / '.$year_now;
|
||||
return $lastSPK;
|
||||
}
|
||||
|
||||
function onRomawi(int $bln): string
|
||||
{
|
||||
switch ($bln){
|
||||
case 1:
|
||||
return "I";
|
||||
break;
|
||||
case 2:
|
||||
return "II";
|
||||
break;
|
||||
case 3:
|
||||
return "III";
|
||||
break;
|
||||
case 4:
|
||||
return "IV";
|
||||
break;
|
||||
case 5:
|
||||
return "V";
|
||||
break;
|
||||
case 6:
|
||||
return "VI";
|
||||
break;
|
||||
case 7:
|
||||
return "VII";
|
||||
break;
|
||||
case 8:
|
||||
return "VIII";
|
||||
break;
|
||||
case 9:
|
||||
return "IX";
|
||||
break;
|
||||
case 10:
|
||||
return "X";
|
||||
break;
|
||||
case 11:
|
||||
return "XI";
|
||||
break;
|
||||
case 12:
|
||||
return "XII";
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function penyebut($nilai) {
|
||||
$nilai = abs($nilai);
|
||||
$huruf = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
|
||||
$temp = "";
|
||||
if ($nilai < 12) {
|
||||
$temp = " ". $huruf[$nilai];
|
||||
} else if ($nilai <20) {
|
||||
$temp = penyebut($nilai - 10). " belas";
|
||||
} else if ($nilai < 100) {
|
||||
$temp = penyebut($nilai/10)." puluh". penyebut($nilai % 10);
|
||||
} else if ($nilai < 200) {
|
||||
$temp = " seratus" . penyebut($nilai - 100);
|
||||
} else if ($nilai < 1000) {
|
||||
$temp = penyebut($nilai/100) . " ratus" . penyebut($nilai % 100);
|
||||
} else if ($nilai < 2000) {
|
||||
$temp = " seribu" . penyebut($nilai - 1000);
|
||||
} else if ($nilai < 1000000) {
|
||||
$temp = penyebut($nilai/1000) . " ribu" . penyebut($nilai % 1000);
|
||||
} else if ($nilai < 1000000000) {
|
||||
$temp = penyebut($nilai/1000000) . " juta" . penyebut($nilai % 1000000);
|
||||
} else if ($nilai < 1000000000000) {
|
||||
$temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
|
||||
} else if ($nilai < 1000000000000000) {
|
||||
$temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
|
||||
}
|
||||
return $temp;
|
||||
}
|
||||
|
||||
function terbilang($nilai) {
|
||||
if($nilai<0) {
|
||||
$hasil = "minus ". trim(penyebut($nilai));
|
||||
} else {
|
||||
$hasil = trim(penyebut($nilai));
|
||||
}
|
||||
return $hasil;
|
||||
}
|
||||
// andy add
|
||||
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_ajax'] = ["no ajax request"];
|
||||
$data['message']['message_ajax'] = ["no ajax request"];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
@@ -149,6 +149,7 @@
|
||||
if ($tindakan == 0) {
|
||||
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
||||
$dataku['region_id'] = $request->region;
|
||||
$dataku['sla'] = $request->sla;
|
||||
$dataku['status'] = 'registered';
|
||||
if ($request->catatan2) {
|
||||
$dataku['registrasi_catatan'] = $request->catatan2;
|
||||
@@ -205,6 +206,12 @@
|
||||
$validateIt['region'] = ['required'];
|
||||
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
||||
}
|
||||
else
|
||||
{
|
||||
$validateIt['sla'] = ['required'];
|
||||
$messageIt ['sla.required'] = 'Silahkan isi SLA';
|
||||
}
|
||||
|
||||
} elseif ($tindakan == 1) {
|
||||
$validateIt['catatan'] = ['required'];
|
||||
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
||||
|
||||
@@ -104,12 +104,11 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
}
|
||||
|
||||
// data dokumen_spk
|
||||
if($obj->dokumen)
|
||||
// data spk_dokumen_path
|
||||
if($obj->penawaran->spk_dokumen_path)
|
||||
{
|
||||
$spkpenawaran_path = Storage::url($obj->dokumen);
|
||||
// dd($spkpenawaran_path);
|
||||
$data[$i]->dokumen = $spkpenawaran_path;
|
||||
$spk_dokumen_path = Storage::url($obj->penawaran->spk_dokumen_path);
|
||||
$data[$i]->penawaran->spk_dokumen_path = $spk_dokumen_path;
|
||||
}
|
||||
|
||||
$i++;
|
||||
@@ -148,9 +147,13 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
// dd(Carbon::now()->addDays(1)->format('d F Y'));
|
||||
// dd(Carbon::now()->subDays(1)->format('d F Y')); jenis_laporan_name
|
||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
||||
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
||||
->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
|
||||
->leftJoin('penilaian', 'penilaian.nomor_registrasi','=','penawaran.nomor_registrasi')
|
||||
->where('detail_penawaran.status','=',1)
|
||||
->where('penawaran.id','=', $id)
|
||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||
@@ -159,7 +162,10 @@ use Illuminate\Support\Facades\Auth;
|
||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||
'kjpp.name as kjpp_name',
|
||||
'kjpp.address as kjpp_address',
|
||||
'jenis_laporan.name as jenis_laporan_name'
|
||||
'jenis_laporan.name as jenis_laporan_name',
|
||||
'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name',
|
||||
'jenis_laporan.code as jenis_laporan_code',
|
||||
'penilaian.waktu_penilaian as penilaian_waktu_penilain'
|
||||
)->first();
|
||||
|
||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||
@@ -168,24 +174,77 @@ use Illuminate\Support\Facades\Auth;
|
||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name',
|
||||
'dokumen_jaminan.address as dokumen_jaminan_address');
|
||||
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian','dokumenjaminan'])->first();
|
||||
|
||||
if($penawaran->detail_penawaran_tgl_proposal)
|
||||
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
||||
|
||||
return view('lpj::spk.edit', compact('data', 'penawaran'));
|
||||
// generate no spk
|
||||
$spk_no_last=$penawaran->spk_no;
|
||||
if(!$spk_no_last)
|
||||
{
|
||||
$spk_no_last = onLastnumberCodePenawaranSPK($penawaran->jenis_laporan_code);
|
||||
$penawaran->spk_no = $spk_no_last;
|
||||
}
|
||||
|
||||
// pengecekan perubahan jenis report
|
||||
$array_no_last = explode("/",$spk_no_last);
|
||||
$jenis_report_old=trim($array_no_last[4]);
|
||||
if($jenis_report_old!=$penawaran->jenis_laporan_code)
|
||||
{
|
||||
$penawaran->spk_no=str_replace($jenis_report_old,$penawaran->jenis_laporan_code,$spk_no_last);
|
||||
}
|
||||
// pengecekan perubahan jenis report
|
||||
// generate no spk
|
||||
|
||||
// Jangka Waktu
|
||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||
$jangka_waktu='';
|
||||
// Jangka Waktu
|
||||
$persetujuan_no_proposal = $penawaran->detail_penawaran_no_proposal;
|
||||
$persetujuan_tgl_proposal = $penawaran->detail_penawaran_tgl_proposal;
|
||||
$persetujuan_sla_resume = '...';
|
||||
$persetujuan_sla_final = '...';
|
||||
if(null !==$penawaran->persetujuan)
|
||||
{
|
||||
$sla_resume_text = $penawaran->persetujuan->sla_resume;
|
||||
$sla_final_text = $penawaran->persetujuan->sla_final;
|
||||
|
||||
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
||||
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
||||
|
||||
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
||||
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
||||
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
||||
$persetujuan_sla_final = $sla_final_text.' ('.$sla_final_text_terbilang.')';
|
||||
|
||||
if($penawaran->penilaian_waktu_penilain)
|
||||
{
|
||||
$jangka_waktu_date_start=Carbon::parse($penawaran->penilaian_waktu_penilain)->addDays(1)->format('d F Y');
|
||||
$jangka_waktu_date_end=Carbon::parse($penawaran->persetujuan->sla_final)->format('d F Y');
|
||||
// Jangka Waktu
|
||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
||||
// Jangka Waktu
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return view('lpj::spk.edit', compact('data', 'penawaran', 'persetujuan_no_proposal', 'persetujuan_tgl_proposal', 'persetujuan_sla_resume', 'persetujuan_sla_final', 'jangka_waktu'));
|
||||
}
|
||||
|
||||
public function update(Request $request, $id): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data1 = array();
|
||||
$dataPermohonan = array();
|
||||
$data1 = [];
|
||||
// $dataPermohonan = array();
|
||||
$dataPenawaran = [];
|
||||
// data
|
||||
|
||||
$penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id')
|
||||
->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id')
|
||||
->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id')
|
||||
->leftJoin('penilaian', 'penilaian.nomor_registrasi','=','penawaran.nomor_registrasi')
|
||||
->where('detail_penawaran.status','=',1)
|
||||
->where('penawaran.id','=', $id)
|
||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||
@@ -194,7 +253,9 @@ use Illuminate\Support\Facades\Auth;
|
||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||
'kjpp.name as kjpp_name',
|
||||
'kjpp.address as kjpp_address',
|
||||
'jenis_laporan.name as jenis_laporan_name'
|
||||
'jenis_laporan.name as jenis_laporan_name',
|
||||
'jenis_laporan.code as jenis_laporan_code',
|
||||
'penilaian.waktu_penilaian as penilaian_waktu_penilain'
|
||||
)->first();
|
||||
|
||||
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
|
||||
@@ -202,7 +263,12 @@ use Illuminate\Support\Facades\Auth;
|
||||
->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id')
|
||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
||||
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian','dokumenjaminan'])->first();
|
||||
|
||||
// Jangka Waktu
|
||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||
$jangka_waktu='';
|
||||
// Jangka Waktu
|
||||
|
||||
if($penawaran->detail_penawaran_tgl_proposal)
|
||||
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
||||
@@ -213,15 +279,78 @@ use Illuminate\Support\Facades\Auth;
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
|
||||
// update table permohonan
|
||||
$dataPermohonan=['dokumen' => $newFileNameWithPath];
|
||||
$data->update($dataPermohonan);
|
||||
// $dataPermohonan=['dokumen' => $newFileNameWithPath];
|
||||
// $data->update($dataPermohonan);
|
||||
// update table permohonan
|
||||
|
||||
// update table penawaran
|
||||
$dataPenawaran['spk_dokumen_path'] = $newFileNameWithPath;
|
||||
// $spk_no_last=$penawaran->spk_no;
|
||||
if(!$penawaran->spk_no)
|
||||
{
|
||||
$spk_no_last = onLastnumberCodePenawaranSPK($penawaran->jenis_laporan_code);
|
||||
// $penawaran->no_spk = $no_spk_last;
|
||||
$date_now = Carbon::now()->format('Ymd');// 20240124
|
||||
$spk_number = substr ($spk_no_last, 0, 3);
|
||||
$dataPenawaran['spk_no'] = $spk_no_last;
|
||||
$dataPenawaran['spk_no_core'] = $date_now.'_'.$spk_number;
|
||||
|
||||
$penawaran->spk_no = $spk_no_last;
|
||||
|
||||
}
|
||||
|
||||
// pengecekan perubahan jenis report
|
||||
$spk_no_old=$penawaran->spk_no;
|
||||
$array_no_last = explode("/",$spk_no_old);
|
||||
$jenis_report_old=trim($array_no_last[4]);
|
||||
if($jenis_report_old!=$penawaran->jenis_laporan_code)
|
||||
{
|
||||
$penawaran_spk_no_new=str_replace($jenis_report_old,$penawaran->jenis_laporan_code,$spk_no_old);
|
||||
$penawaran->spk_no=$penawaran_spk_no_new;
|
||||
$dataPenawaran['spk_no'] = $penawaran_spk_no_new;
|
||||
}
|
||||
// pengecekan perubahan jenis report
|
||||
|
||||
$penawaranM = PenawaranTender::find($penawaran->id);
|
||||
$penawaranM->update($dataPenawaran);
|
||||
// update table penawaran
|
||||
|
||||
// pdf path
|
||||
$spkpenawaran_path = Storage::url($newFileNameWithPath);
|
||||
|
||||
$pdf =Pdf::loadView('lpj::spk.documentSPK', compact('data', 'penawaran'));
|
||||
$persetujuan_no_proposal = $penawaran->detail_penawaran_no_proposal;
|
||||
$persetujuan_tgl_proposal = $penawaran->detail_penawaran_tgl_proposal;
|
||||
$persetujuan_sla_resume = '...';
|
||||
$persetujuan_sla_final = '...';
|
||||
if(null !==$penawaran->persetujuan)
|
||||
{
|
||||
$sla_resume_text = $penawaran->persetujuan->sla_resume;
|
||||
$sla_final_text = $penawaran->persetujuan->sla_final;
|
||||
|
||||
$sla_resume_text_terbilang = ucfirst(terbilang($sla_resume_text));
|
||||
$sla_final_text_terbilang = ucfirst(terbilang($sla_final_text));
|
||||
|
||||
$persetujuan_no_proposal = $penawaran->persetujuan->nomor_proposal_penawaran;
|
||||
$persetujuan_tgl_proposal = Carbon::parse($penawaran->persetujuan->tanggal_proposal_penawaran)->format('d F Y');
|
||||
$persetujuan_sla_resume = $sla_resume_text.' ('.$sla_resume_text_terbilang.')';
|
||||
$persetujuan_sla_final = $sla_final_text.' ('.$sla_final_text_terbilang.')';
|
||||
|
||||
if($penawaran->penilaian_waktu_penilain)
|
||||
{
|
||||
$jangka_waktu_date_start=Carbon::parse($penawaran->penilaian_waktu_penilain)->addDays(1)->format('d F Y');
|
||||
$jangka_waktu_date_end=Carbon::parse($penawaran->persetujuan->sla_final)->format('d F Y');
|
||||
// Jangka Waktu
|
||||
// date_start (penilaian.waktu_penilain + 1 day) - date_end (persetujuan_penawaran.sla_final)
|
||||
$jangka_waktu=$jangka_waktu_date_start.' - '.$jangka_waktu_date_end;
|
||||
// Jangka Waktu
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$pdf =Pdf::loadView('lpj::spk.documentSPK', compact('data', 'penawaran', 'persetujuan_no_proposal', 'persetujuan_tgl_proposal', 'persetujuan_sla_resume', 'persetujuan_sla_final', 'jangka_waktu'));
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
$content = $pdf->download()->getOriginalContent();
|
||||
Storage::put('public/'.$newFileNameWithPath,$content);
|
||||
|
||||
@@ -260,8 +389,10 @@ use Illuminate\Support\Facades\Auth;
|
||||
}
|
||||
|
||||
public function download($id) {
|
||||
$document = Permohonan::find($id);
|
||||
// dokumen pdf diambil dari penawaran.spk_dokumen_path
|
||||
$permohonan = Permohonan::find($id);
|
||||
$document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
|
||||
|
||||
return response()->download(storage_path('app/public/' .$document->dokumen));
|
||||
return response()->download(storage_path('app/public/' .$document->spk_dokumen_path));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -684,7 +684,12 @@ class TenderController extends Controller
|
||||
->with('error', 'Anda Belum Membuat Dokumen Jaminan. Silahkan isi terlebih dahulu!');
|
||||
}
|
||||
|
||||
$detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran->id)->where('status', '=', 1)->pluck('kjpp_rekanan_id')->toArray();
|
||||
$detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran->id)
|
||||
->where('status', '=', 1)
|
||||
->pluck('kjpp_rekanan_id')
|
||||
->toArray();
|
||||
|
||||
|
||||
$kjpps = KJPP::whereIn('id', $detail_penawaran)
|
||||
->get()
|
||||
->map(function ($item) {
|
||||
@@ -702,10 +707,11 @@ class TenderController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
return array_filter($emails);
|
||||
})
|
||||
->flatten()
|
||||
->toArray();
|
||||
return [
|
||||
'kjpp' => $item,
|
||||
'emails' => array_filter($emails)
|
||||
];
|
||||
});
|
||||
|
||||
foreach ($permohonan->debiture->documents as $document) {
|
||||
$village_permohonan = $document->village_code;
|
||||
@@ -719,9 +725,21 @@ class TenderController extends Controller
|
||||
$cities = City::where('code', $city_permohonan)->get();
|
||||
$provinces = Province::where('code', $province_permohonan)->get();
|
||||
|
||||
$subject = 'Send Penawaran Email';
|
||||
|
||||
$body_pdf = view('lpj::penawaran.kirimEmail', [
|
||||
'penawaran' => $penawaran,
|
||||
'permohonan' => $permohonan,
|
||||
'kjpps' => $kjpps->pluck('emails')->flatten()->toArray(),
|
||||
'villages' => $villages,
|
||||
'districts' => $districts,
|
||||
'cities' => $cities,
|
||||
'provinces' => $provinces
|
||||
])->render();
|
||||
|
||||
// Dispatch job untuk mengirim email
|
||||
SendPenawaranTenderJob::dispatch(
|
||||
$kjpps,
|
||||
$kjpps->pluck('emails')->flatten()->toArray(),
|
||||
$penawaran,
|
||||
$permohonan,
|
||||
$villages,
|
||||
@@ -730,7 +748,119 @@ class TenderController extends Controller
|
||||
$provinces
|
||||
);
|
||||
|
||||
return redirect()->route('tender.penawaran.ulang.index')->with('success', 'Email Penawaran Berhasil Terkirim!');
|
||||
try {
|
||||
// Proses log email untuk setiap KJPP
|
||||
foreach ($kjpps as $kjppData) {
|
||||
foreach ($kjppData['emails'] as $email) {
|
||||
// Cek log yang sudah ada
|
||||
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'failed')
|
||||
->first();
|
||||
|
||||
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'success')
|
||||
->first();
|
||||
|
||||
if ($log) {
|
||||
// Update log failed menjadi success
|
||||
$log->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'success',
|
||||
'error_message' => null,
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else if ($log1) {
|
||||
// Update timestamp jika sudah success
|
||||
$log1->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else {
|
||||
// Buat log baru
|
||||
PenawaranEmailTenderLog::create([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'success',
|
||||
'error_message' => null,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.ulang.index')
|
||||
->with('success', 'Email Penawaran Berhasil Terkirim!');
|
||||
} catch (\Exception $e) {
|
||||
// Log email gagal untuk setiap KJPP
|
||||
foreach ($kjpps as $kjppData) {
|
||||
foreach ($kjppData['emails'] as $email) {
|
||||
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'success')
|
||||
->first();
|
||||
|
||||
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'failed')
|
||||
->first();
|
||||
|
||||
if ($log) {
|
||||
// Update log success menjadi failed
|
||||
$log->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'failed',
|
||||
'error_message' => $e->getMessage(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else if ($log1) {
|
||||
// Update error message jika sudah failed
|
||||
$log1->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'error_message' => $e->getMessage(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else {
|
||||
// Buat log baru dengan status failed
|
||||
PenawaranEmailTenderLog::create([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $kjppData['kjpp']->code . ' | ' . $kjppData['kjpp']->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'failed',
|
||||
'error_message' => $e->getMessage(),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])
|
||||
->with('error', 'Email Penawaran Gagal Terkirim!');
|
||||
}
|
||||
}
|
||||
|
||||
public function kirimEmailKJPP($noreg, $id)
|
||||
@@ -830,13 +960,23 @@ class TenderController extends Controller
|
||||
if ($log) {
|
||||
// Jika log ditemukan dan statusnya 'failed', update status menjadi 'success'
|
||||
$log->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'success',
|
||||
'error_message' => null, // Reset error_message saat status diubah menjadi success
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else if ($log1) {
|
||||
// Jika log ditemukan dan statusnya 'success' biarkan saja
|
||||
$log1->update([ // Reset error_message saat status diubah menjadi success
|
||||
$log1->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else {
|
||||
@@ -859,18 +999,54 @@ class TenderController extends Controller
|
||||
} catch (\Exception $e) {
|
||||
// Log email gagal
|
||||
foreach ($kjpps as $email) {
|
||||
PenawaranEmailTenderLog::create([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'failed',
|
||||
'error_message' => $e->getMessage(),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
$log = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'success')
|
||||
->first();
|
||||
|
||||
$log1 = PenawaranEmailTenderLog::where('penawaran_id', $penawaran->id)
|
||||
->where('to_email', $email)
|
||||
->where('status', 'failed')
|
||||
->first();
|
||||
|
||||
if ($log) {
|
||||
// Jika log ditemukan dan statusnya 'success', update status menjadi 'failed'
|
||||
$log->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'failed',
|
||||
'error_message' => $e->getMessage(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else if ($log1) {
|
||||
// Jika log ditemukan dan statusnya 'failed' biarkan saja
|
||||
$log1->update([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'error_message' => $e->getMessage(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
} else {
|
||||
PenawaranEmailTenderLog::create([
|
||||
'penawaran_id' => $penawaran->id,
|
||||
'kjpp' => $dp1->kjpp->code . ' | ' . $dp1->kjpp->name,
|
||||
'to_email' => $email,
|
||||
'subject' => $subject,
|
||||
'body_pdf' => $body_pdf,
|
||||
'status' => 'failed',
|
||||
'error_message' => $e->getMessage(),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->route('tender.penawaran.showKirimEmail', ['noreg' => $noreg])->with('error', 'Email Penawaran Gagal Terkirim!');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
'name' => 'required|max:255',
|
||||
'slug' => 'required|max:255',
|
||||
'jenis_legalitas_jaminan_id' => 'nullable',
|
||||
'form_kategori.*' => 'required',
|
||||
'form_kategori' => 'required',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -39,13 +39,14 @@
|
||||
$this->merge([
|
||||
'code' => IdGenerator::generate(
|
||||
['table' => 'jenis_jaminan', 'length' => 5, 'prefix' => 'JJ', 'field' => 'code'],
|
||||
)
|
||||
),
|
||||
]);
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'jenis_legalitas_jaminan_id' => json_encode($this->jenis_legalitas_jaminan_id),
|
||||
'slug' => Str::slug($this->name),
|
||||
'form_kategori' => json_encode($this->form_kategori),
|
||||
'slug' => Str::slug($this->name),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
'nomor_proposal_penawaran' => 'nullable|string|max:255',
|
||||
'tanggal_proposal_penawaran' => 'nullable|date',
|
||||
'biaya_final' => 'nullable|numeric|min:0',
|
||||
'sla_resume' => 'nullable|date',
|
||||
'sla_final' => 'nullable|date|after_or_equal:sla_resume',
|
||||
'sla_resume' => 'nullable|numeric|min:0',
|
||||
'sla_final' => 'nullable|numeric|min:0',
|
||||
'file_persetujuan_penawaran' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
||||
'surat_representasi' => 'nullable|file|mimes:pdf,doc,docx|max:10240',
|
||||
'bukti_bayar' => 'nullable|file|mimes:pdf,jpg,jpeg,png|max:10240',
|
||||
@@ -43,10 +43,7 @@
|
||||
'biaya_final.numeric' => 'Biaya final harus berupa angka.',
|
||||
'biaya_final.min' => 'Biaya final tidak boleh kurang dari 0.',
|
||||
'sla_resume.required' => 'SLA Resume wajib diisi.',
|
||||
'sla_resume.date' => 'SLA Resume harus berupa tanggal yang valid.',
|
||||
'sla_final.required' => 'SLA Final wajib diisi.',
|
||||
'sla_final.date' => 'SLA Final harus berupa tanggal yang valid.',
|
||||
'sla_final.after_or_equal' => 'SLA Final harus sama dengan atau setelah SLA Resume.',
|
||||
'file_persetujuan_penawaran.file' => 'File Persetujuan Penawaran harus berupa file.',
|
||||
'file_persetujuan_penawaran.mimes' => 'File Persetujuan Penawaran harus berupa file PDF, DOC, atau DOCX.',
|
||||
'file_persetujuan_penawaran.max' => 'Ukuran File Persetujuan Penawaran tidak boleh lebih dari 10MB.',
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
'registrasi_at',
|
||||
'jenis_penilaian_id',
|
||||
'region_id',
|
||||
'sla'
|
||||
];
|
||||
|
||||
protected static function boot()
|
||||
@@ -153,4 +154,9 @@
|
||||
{
|
||||
return $this->hasMany(PermohonanHistory::class, 'permohonan_id', 'id')->orderBy('created_at', 'desc');
|
||||
}
|
||||
|
||||
public function dokumenjaminan()
|
||||
{
|
||||
return $this->hasMany(DokumenJaminan::class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,8 +29,6 @@
|
||||
|
||||
protected $casts = [
|
||||
'tanggal_proposal_penawaran' => 'date',
|
||||
'sla_resume' => 'date',
|
||||
'sla_final' => 'date',
|
||||
'biaya_final' => 'decimal:2',
|
||||
'status' => 'boolean',
|
||||
'authorized_status' => 'boolean',
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('permohonan', function (Blueprint $table) {
|
||||
$table->integer('sla')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('permohonan', function (Blueprint $table) {
|
||||
$table->dropColumn('sla');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('penawaran', function (Blueprint $table) {
|
||||
$table->string('spk_no')->nullable()->after('status');
|
||||
$table->string('spk_no_core')->nullable()->after('spk_no');
|
||||
$table->string('spk_dokumen_path')->nullable()->after('spk_no_core');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('penawaran', function (Blueprint $table) {
|
||||
$table->dropColumn('spk_no');
|
||||
$table->dropColumn('spk_no_core');
|
||||
$table->dropColumn('spk_dokumen_path');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('persetujuan_penawaran', function (Blueprint $table) {
|
||||
$table->string('sla_resume')->nullable()->change();
|
||||
$table->string('sla_final')->nullable()->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('persetujuan_penawaran', function (Blueprint $table) {
|
||||
$table->datetime('sls_resume')->nullable(false)->change();
|
||||
$table->datetime('sla_final')->nullable(false)->change();
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -131,12 +131,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -133,12 +133,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -68,18 +68,10 @@
|
||||
</span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="email_kantor">
|
||||
<span class="sort">
|
||||
<span class="sort-label">
|
||||
Email Kantor
|
||||
</span>
|
||||
</span>
|
||||
Email Kantor
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="status">
|
||||
<span class="sort">
|
||||
<span class="sort-label">
|
||||
Status Kirim
|
||||
</span>
|
||||
</span>
|
||||
Status Kirim
|
||||
</th>
|
||||
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action
|
||||
</th>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('tender.penawaran.downloadSuratTender', $noreg) }}" class="btn btn-xs btn-light">
|
||||
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf"></img>Download
|
||||
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf" class="pdf"></img>Download
|
||||
</span>
|
||||
@if (isset($penawaran->nomor_registrasi))
|
||||
<a href="{{ route('tender.penawaran.editPenawaran', $noreg) }}" class="btn btn-xs btn-info"><i
|
||||
@@ -24,7 +24,7 @@
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="card-body grid gap-5 text-gray-900">
|
||||
<p>Dear
|
||||
<span class="font-bold">
|
||||
@php
|
||||
@@ -116,12 +116,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@@ -139,12 +149,12 @@
|
||||
</ul>
|
||||
<p>Harap proposal dibuat dengan harga yang minimal sehingga tidak perlu tawar menawar lagi.</p>
|
||||
<p>Mohon proposal dapat saya terima segera, sebelum
|
||||
<span class="font-bold">{{ formatTanggalIndonesia($penawaran->end_date,true) }}</span>
|
||||
<span class="font-bold">{{ formatTanggalIndonesia($penawaran->end_date, true) }}</span>
|
||||
</p>
|
||||
<p>Best Regards,
|
||||
<div class="font-bold">
|
||||
<img src="{{ asset('storage/signatures/' . $permohonan->user->id . '/' . $permohonan->user->sign) }}"
|
||||
alt="{{ $permohonan->user->name }}" width="200">
|
||||
alt="{{ $permohonan->user->name }}" width="200" class="signature">
|
||||
<p>
|
||||
{{ $permohonan->user->name }}
|
||||
</p>
|
||||
@@ -159,3 +169,16 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
.dark img.signature {
|
||||
filter: invert(1) brightness(2);
|
||||
}
|
||||
|
||||
.dark img.pdf {
|
||||
filter: invert(1) brightness(1);
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@@ -131,12 +131,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@@ -154,7 +164,7 @@
|
||||
<div class="content">
|
||||
Harap proposal dibuat dengan harga yang minimal sehingga tidak perlu tawar menawar lagi. <br />
|
||||
Mohon proposal dapat saya terima segera, sebelum <span
|
||||
class="important">{{ formatTanggalIndonesia($penawaran->end_date,true) }}</span>
|
||||
class="important">{{ formatTanggalIndonesia($penawaran->end_date, true) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="signature">
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('tender.penawaran.downloadSuratTenderKJPP', ['noreg' => $noreg, 'id' => $id]) }}"
|
||||
class="btn btn-xs btn-light">
|
||||
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf"></img>Download
|
||||
<img src="{{ asset('img/pdf.png') }}" width="25" alt="pdf" class="pdf"></img>Download
|
||||
</a>
|
||||
<a href="{{ route('tender.penawaran.showKirimEmail', $noreg) }}" class="btn btn-xs btn-info"><i
|
||||
class="ki-filled ki-exit-left"></i> Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="card-body grid gap-5 text-gray-900">
|
||||
<p>Dear
|
||||
<span class="font-bold">
|
||||
@php
|
||||
@@ -114,12 +114,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@@ -142,7 +152,7 @@
|
||||
<p>Best Regards,
|
||||
<div class="font-bold">
|
||||
<img src="{{ asset('storage/signatures/' . $permohonan->user->id . '/' . $permohonan->user->sign) }}"
|
||||
alt="{{ $permohonan->user->name }}" width="200">
|
||||
alt="{{ $permohonan->user->name }}" width="200" class="signature">
|
||||
<p>
|
||||
{{ $permohonan->user->name }}
|
||||
</p>
|
||||
@@ -157,3 +167,16 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
.dark img.signature {
|
||||
filter: invert(1) brightness(2);
|
||||
}
|
||||
|
||||
.dark img.pdf {
|
||||
filter: invert(1) brightness(1);
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@@ -133,12 +133,22 @@
|
||||
@endphp
|
||||
|
||||
@if (is_object($details))
|
||||
@if (isset($details->luas_tanah) && is_numeric($details->luas_tanah))
|
||||
@php $luas_tanah = $details->luas_tanah; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Tanah' &&
|
||||
isset($details->{'Luas Tanah'}) &&
|
||||
is_numeric($details->{'Luas Tanah'}))
|
||||
@php
|
||||
$luas_tanah = $details->{'Luas Tanah'};
|
||||
@endphp
|
||||
@endif
|
||||
|
||||
@if (isset($details->luas_bangunan) && is_numeric($details->luas_bangunan))
|
||||
@php $luas_bangunan = $details->luas_bangunan; @endphp
|
||||
@if (
|
||||
$detail->jenisLegalitasJaminan->custom_field === 'Luas Bangunan' &&
|
||||
isset($details->{'Luas Bangunan'}) &&
|
||||
is_numeric($details->{'Luas Bangunan'}))
|
||||
@php
|
||||
$luas_bangunan = $details->{'Luas Bangunan'};
|
||||
@endphp
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
SLA Resume
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="sla_resume" id="sla_resume" class="input w-full @error('sla_resume') border-danger bg-danger-light @enderror" value="{{ old('sla_resume', $persetujuanPenawaran->sla_resume ?? '') }}">
|
||||
<input type="number" name="sla_resume" id="sla_resume" class="input w-full @error('sla_resume') border-danger bg-danger-light @enderror" value="{{ old('sla_resume', $persetujuanPenawaran->sla_resume ?? '') }}">
|
||||
@error('sla_resume')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
@@ -58,7 +58,7 @@
|
||||
SLA Final
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="sla_final" id="sla_final" class="input w-full @error('sla_final') border-danger bg-danger-light @enderror" value="{{ old('sla_final', $persetujuanPenawaran->sla_final ?? '') }}">
|
||||
<input type="number" name="sla_final" id="sla_final" class="input w-full @error('sla_final') border-danger bg-danger-light @enderror" value="{{ old('sla_final', $persetujuanPenawaran->sla_final ?? '') }}">
|
||||
@error('sla_final')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
|
||||
@@ -176,26 +176,10 @@
|
||||
},
|
||||
},
|
||||
sla_resume: {
|
||||
title: 'SLA Resume',
|
||||
render: (item, data) => {
|
||||
if(data.penawaran_tender.persetujuan) {
|
||||
if (data.penawaran_tender.persetujuan.sla_resume) {
|
||||
return window.formatTanggalIndonesia(`${data.penawaran_tender.persetujuan.sla_resume}`);
|
||||
}
|
||||
}
|
||||
return '-';
|
||||
},
|
||||
title: 'SLA Resume'
|
||||
},
|
||||
sla_final: {
|
||||
title: 'SLA Final',
|
||||
render: (item, data) => {
|
||||
if(data.penawaran_tender.persetujuan) {
|
||||
if (data.penawaran_tender.persetujuan.sla_final) {
|
||||
return window.formatTanggalIndonesia(`${data.penawaran_tender.persetujuan.sla_final}`);
|
||||
}
|
||||
}
|
||||
return '-';
|
||||
}
|
||||
title: 'SLA Final'
|
||||
},
|
||||
catatan: {
|
||||
title: 'Catatan',
|
||||
|
||||
@@ -72,6 +72,15 @@
|
||||
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
SLA (dalam satuan hari)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="inputku input" name="{{$route[0]}}_sla" id="{{$route[0]}}_sla" placeholder="dalam satuan hari" type="text" />
|
||||
<em id="{{$route[0]}}_sla_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Region
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
$("#{{ $route[0] }}_div_jenis_pilihan").show();
|
||||
$("#{{ $route[0] }}_div_catatan").hide();
|
||||
$("#{{ $route[0] }}_div_region").hide();
|
||||
$("#{{ $route[0] }}_div_sla").hide();
|
||||
$("#{{ $route[0] }}_div_catatan2").show();
|
||||
// prepare data
|
||||
setData();
|
||||
@@ -95,6 +96,7 @@
|
||||
$("#{{ $route[0] }}_div_jenis_pilihan").show();
|
||||
$("#{{ $route[0] }}_catatan").val('');
|
||||
$("#{{ $route[0] }}_div_catatan").hide();
|
||||
|
||||
$("#{{ $route[0] }}_div_catatan2").show();
|
||||
}
|
||||
else
|
||||
@@ -103,6 +105,7 @@
|
||||
$("#{{ $route[0] }}_div_jenis_pilihan").hide();
|
||||
$("#{{ $route[0] }}_div_catatan").show();
|
||||
$("#{{ $route[0] }}_div_catatan2").hide();
|
||||
$("#{{ $route[0] }}_div_sla").hide();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -119,6 +122,7 @@
|
||||
let region = $("#{{$route[0]}}_region").val();
|
||||
let catatan = $("#{{$route[0]}}_catatan").val();
|
||||
let catatan2 = $("#{{$route[0]}}_catatan2").val();
|
||||
let sla = $("#{{$route[0]}}_sla").val();
|
||||
|
||||
if(jenis_penilaian==0)
|
||||
jenis_penilaian='';
|
||||
@@ -134,6 +138,7 @@
|
||||
input_data.region= region;
|
||||
input_data.catatan = catatan;
|
||||
input_data.catatan2 = catatan2;
|
||||
input_data.sla = sla;
|
||||
|
||||
let useURL= '{{ route($route[0].'.update', $id) }}';
|
||||
$.ajax({
|
||||
@@ -164,6 +169,11 @@
|
||||
$("#{{$route[0]}}_region").addClass(" border-danger");
|
||||
$("#{{$route[0]}}_region_msg").text(value);
|
||||
}
|
||||
|
||||
if ("sla" === index) {
|
||||
$("#{{$route[0]}}_sla").addClass(" border-danger");
|
||||
$("#{{$route[0]}}_sla_msg").text(value);
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
@@ -204,11 +214,18 @@
|
||||
{
|
||||
// INTERNAL, show region
|
||||
$("#{{ $route[0] }}_div_region").show();
|
||||
$("#{{ $route[0] }}_div_sla").hide();
|
||||
}
|
||||
else
|
||||
else if('2' == idNya)
|
||||
{
|
||||
$("#{{ $route[0] }}_div_sla").show();
|
||||
$("#{{ $route[0] }}_div_region").hide();
|
||||
}
|
||||
else if('0' == idNya)
|
||||
{
|
||||
// selain INTERNAL, hide region
|
||||
$("#{{ $route[0] }}_div_region").hide();
|
||||
$("#{{ $route[0] }}_div_sla").hide();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -60,6 +60,15 @@
|
||||
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_sla" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
SLA (dalam satuan hari)
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="inputku input" name="{{$route[0]}}_sla" id="{{$route[0]}}_sla" placeholder="dalam satuan hari" type="text" />
|
||||
<em id="{{$route[0]}}_sla_msg" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ $route[0] }}_div_region" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Region
|
||||
|
||||
@@ -52,8 +52,7 @@
|
||||
<center>
|
||||
<h2 style="text-decoration: underline;">SURAT PERINTAH KERJA</h2>
|
||||
<p>
|
||||
No. XXX / PJ / JKT / <?php echo date('M'); ?>
|
||||
/ FR / <?php echo date('Y'); ?>
|
||||
No. {{ $penawaran->spk_no }}
|
||||
<data id="date"></data>
|
||||
</p>
|
||||
<p>Tanggal: <?php echo date('d F Y'); ?></p>
|
||||
@@ -66,88 +65,105 @@
|
||||
<h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3>
|
||||
<br/>
|
||||
<p style="text-align: justify;">
|
||||
Berdasarkan surat penawaran Saudara <span style="color: red;">[{{$penawaran->persetujuan->nomor_proposal_penawaran}}]</span> tanggal <span style="color: red;">[{{ formatTanggalIndonesia($penawaran->persetujuan->tanggal_proposal_penawaran) }}]</span> atas nama <span style="color: red;">{{ $data->debiture->name }}</span>, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini.
|
||||
Berdasarkan surat penawaran Saudara <span style="color: red;">{{ $persetujuan_no_proposal }}</span> tanggal <span style="color: red;">{{ $persetujuan_tgl_proposal }}</span> atas nama <span style="color: red;">{{ $data->debiture->name }}</span>, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini.
|
||||
</p>
|
||||
<br/>
|
||||
<h3>Rincian Penilaian</h3>
|
||||
<table border="2" width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tujuan Penilaian</td>
|
||||
<td width="25%">Tujuan Penilaian</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<td width="75%">
|
||||
<span style="color: red;">{{ $data->tujuanPenilaian->name }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jenis Laporan</td>
|
||||
<td width="20%">Jenis Laporan</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<span style="color: red;">{{ $penawaran->jenis_laporan_name }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Data Jaminan</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<span style="color: red;">{{ $data->jenis_jaminan_name }}, {{ $data->dokumen_jaminan_address }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@php $i=1; @endphp
|
||||
@foreach ($data->debiture->documents as $dokumen)
|
||||
<tr valign="top">
|
||||
<td width="25%">Lokasi Jaminan {{ $i }}</td>
|
||||
<td>:</td>
|
||||
<td width="75%">
|
||||
<span style="color: red;">{{ formatAlamat($dokumen) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td>Dokumen Jaminan {{ $i }}</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<span style="color: red;">
|
||||
@foreach ($data->dokumenjaminan as $dokumen_jaminans)
|
||||
@if ($dokumen->id== $dokumen_jaminans->id)
|
||||
@php $details = $dokumen_jaminans->detail; @endphp
|
||||
@foreach ($details as $index => $detailku)
|
||||
{{ $detailku->name }}{{ $index === count($details) - 1 ? '' : ', ' }}
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
@php $i++; @endphp
|
||||
@endforeach
|
||||
<tr>
|
||||
<td>Fee / Harga Penilaian</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<span style="color: red;">{{ formatRupiah($penawaran->detail_penawaran_biaya_penawaran) }}</span>
|
||||
<span style="color: red;">{{ formatRupiah($penawaran->detail_penawaran_biaya_penawaran) }}</span> (include ppn 11%)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jangka Waktu</td>
|
||||
<td>:</td>
|
||||
<td><span style="color: red;"> {{ formatTanggalIndonesia($penawaran->start_date) }} - {{ formatTanggalIndonesia($penawaran->end_date) }}</span></td>
|
||||
<td><span style="color: red;"> {{ $jangka_waktu }}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">i</td>
|
||||
<td>
|
||||
Resume akan disampaikan dalam <span style="color: red;">[{{ hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_resume) }}]</span> hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak.
|
||||
Resume akan disampaikan dalam <span style="color: red;">{{ $persetujuan_sla_resume }}</span> hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">ii</td>
|
||||
<td>
|
||||
Laporan penilaian lengkap akan disampaikan dalam <span style="color: red;">[{{ hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_final) }}]</span> hari kerja sesuai proposal penawaran.
|
||||
Laporan penilaian lengkap akan disampaikan dalam <span style="color: red;">{{ $persetujuan_sla_final }}</span> hari kerja sesuai proposal penawaran.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<h3>Dengan ketentuan dalam melaksanakan pekerjaan sebagai berikut:</h3>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>1.</td>
|
||||
<td>
|
||||
Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>2.</td>
|
||||
<td>
|
||||
Segala bentuk aktivitas komunikasi lisan atau tertulis antara lain kelengkapan dokumen, imbalan jasa, laporan penilaian dan lainnya baik dari Nasabah atau KJPP harus melalui Bank.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>3.</td>
|
||||
<td>
|
||||
Selanjutnya sebagai tanda persetujuan, setelah saudara tandatangani di atas materai Rp 10.000,- (materai sesuai ketentuan yang berlaku) agar dikembalikan kepada kami selambat-lambatnya 1 (satu) hari kerja setelah tanggal surat ini.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>4.</td>
|
||||
<td>
|
||||
Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>5.</td>
|
||||
<td>
|
||||
Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati.
|
||||
|
||||
@@ -43,7 +43,8 @@
|
||||
<h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3>
|
||||
<br/>
|
||||
<p style="text-align: justify;">
|
||||
Berdasarkan surat penawaran Saudara <span style="color: red;">[No proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> tanggal <span style="color: red;">[Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> atas nama <span style="color: red;">[Nama Debitur sesuai data register]</span>, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini.
|
||||
Berdasarkan surat penawaran Saudara <span style="color: red;">
|
||||
[No proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> tanggal <span style="color: red;">[Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran]</span> atas nama <span style="color: red;">[Nama Debitur sesuai data register]</span>, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini.
|
||||
</p>
|
||||
<br/>
|
||||
<h3>Rincian Penilaian</h3>
|
||||
@@ -87,13 +88,15 @@
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">i</td>
|
||||
<td>
|
||||
Resume akan disampaikan dalam <span style="color: red;">[SLA Resume - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak.
|
||||
Resume akan disampaikan dalam <span style="color: red;">
|
||||
[SLA Resume - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align: center;">ii</td>
|
||||
<td>
|
||||
Laporan penilaian lengkap akan disampaikan dalam <span style="color: red;">[SLA Final - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja sesuai proposal penawaran.
|
||||
Laporan penilaian lengkap akan disampaikan dalam <span style="color: red;">
|
||||
[SLA Final - Data Pemeriksaan Persetujuan Penawaran]</span> hari kerja sesuai proposal penawaran.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -454,37 +454,37 @@
|
||||
});
|
||||
|
||||
|
||||
// basic data surveyor
|
||||
$basicDataRoutes = [
|
||||
'bentuk-tanah' => 'Bentuk Tanah',
|
||||
'kontur-tanah' => 'Kontur Tanah',
|
||||
'posisi-kavling' => 'Posisi Kavling',
|
||||
'ketinggian-tanah' => 'Ketinggian Tanah',
|
||||
'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah',
|
||||
'jenis-bangunan' => 'Jenis Bangunan',
|
||||
'kondisi-bangunan' => 'Kondisi Bangunan',
|
||||
'sifat-bangunan' => 'Sifat Bangunan',
|
||||
'spek-bangunan' => 'Speksifikasi Bangunan',
|
||||
'spek-kategori-bangunan' => 'Speksifikasi Kategori Bangunan',
|
||||
'sarana-pelengkap' => 'Sarana Pelengkap',
|
||||
'lalu-lintas-lokasi' => 'Lalu Lintas',
|
||||
'tingkat-keramaian' => 'Tingkat Keramaian',
|
||||
'gol-mas-sekitar' => 'Golongan Masyarakat Sekitar',
|
||||
'lantai-unit' => 'Lantai Unit',
|
||||
'view-unit' => 'View Unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'perkerasan-jalan' => 'Perkerasan jalan',
|
||||
'jenis-pesawat' => 'Jenis pesawat',
|
||||
'model-alat-berat' => 'Model Alat Berat',
|
||||
'jenis-kapal' => 'Jenis kapal',
|
||||
'jenis-kendaraan' => 'Jenis kendaraan',
|
||||
'jenis-unit' => 'Jenis unit',
|
||||
'terletak-area' => 'Terletak di Area',
|
||||
'merupakan-daerah' => 'Merupakan Daerah',
|
||||
'posisi-unit' => 'Posisi unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
|
||||
];
|
||||
// basic data surveyor
|
||||
$basicDataRoutes = [
|
||||
'bentuk-tanah' => 'Bentuk Tanah',
|
||||
'kontur-tanah' => 'Kontur Tanah',
|
||||
'posisi-kavling' => 'Posisi Kavling',
|
||||
'ketinggian-tanah' => 'Ketinggian Tanah',
|
||||
'kondisi-fisik-tanah' => 'Kondisi Fisik Tanah',
|
||||
'jenis-bangunan' => 'Jenis Bangunan',
|
||||
'kondisi-bangunan' => 'Kondisi Bangunan',
|
||||
'sifat-bangunan' => 'Sifat Bangunan',
|
||||
'spek-bangunan' => 'Speksifikasi Bangunan',
|
||||
'spek-kategori-bangunan' => 'Speksifikasi Kategori Bangunan',
|
||||
'sarana-pelengkap' => 'Sarana Pelengkap',
|
||||
'lalu-lintas-lokasi' => 'Lalu Lintas',
|
||||
'tingkat-keramaian' => 'Tingkat Keramaian',
|
||||
'gol-mas-sekitar' => 'Golongan Masyarakat Sekitar',
|
||||
'lantai-unit' => 'Lantai Unit',
|
||||
'view-unit' => 'View Unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'perkerasan-jalan' => 'Perkerasan jalan',
|
||||
'jenis-pesawat' => 'Jenis pesawat',
|
||||
'model-alat-berat' => 'Model Alat Berat',
|
||||
'jenis-kapal' => 'Jenis kapal',
|
||||
'jenis-kendaraan' => 'Jenis kendaraan',
|
||||
'jenis-unit' => 'Jenis unit',
|
||||
'terletak-area' => 'Terletak di Area',
|
||||
'merupakan-daerah' => 'Merupakan Daerah',
|
||||
'posisi-unit' => 'Posisi unit',
|
||||
'bentuk-unit' => 'Bentuk unit',
|
||||
'fasilitas-objek' => 'Fasilitas Umum Dekat Objek',
|
||||
];
|
||||
|
||||
|
||||
foreach ($basicDataRoutes as $route => $title) {
|
||||
@@ -560,15 +560,15 @@ $basicDataRoutes = [
|
||||
$trail->push('Penilai', route('penilai.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('penilai');
|
||||
$trail->push('Detail Penilai');
|
||||
});
|
||||
Breadcrumbs::for('penilai.show', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('penilai');
|
||||
$trail->push('Detail Penilai');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('penilai');
|
||||
$trail->push('Lampiran Foto dan Dokument');
|
||||
});
|
||||
Breadcrumbs::for('penilai.lampiran', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('penilai');
|
||||
$trail->push('Lampiran Foto dan Dokument');
|
||||
});
|
||||
|
||||
|
||||
Breadcrumbs::for('sla', function (BreadcrumbTrail $trail) {
|
||||
|
||||
@@ -100,6 +100,6 @@ Breadcrumbs::for('registrasifinal.show', function (BreadcrumbTrail $trail) {
|
||||
});
|
||||
Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('registrasifinal');
|
||||
$trail->push('Tambah registrasifinal');
|
||||
$trail->push('Tambah Registrasi Final');
|
||||
});
|
||||
// registrasi final
|
||||
|
||||
@@ -514,7 +514,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
||||
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
||||
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||
Route::put('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
||||
Route::get('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
||||
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
||||
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
||||
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
||||
|
||||
Reference in New Issue
Block a user