Merge remote-tracking branch 'composer/andydev' into staging

This commit is contained in:
Daeng Deni Mardaeni
2024-11-28 11:35:59 +07:00
13 changed files with 481 additions and 91 deletions

View File

@@ -107,24 +107,141 @@
function onLastnumberCodePenawaran() function onLastnumberCodePenawaran()
: string : string
{ {
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC // ambil code terakhir
$maxCode = PenawaranTender::max('code'); $maxCode = PenawaranTender::max('code');
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC
// $penawaran = PenawaranTender::latest()->first(); // $penawaran = PenawaranTender::latest()->first();
$penawaran = PenawaranTender::where('code', '=', $maxCode)->first(); $penawaran = PenawaranTender::where('code','=',$maxCode)->first();
$code_penawaran_last = ''; $code_penawaran_last='';
$noUrutAkhirString = sprintf("%04s", 1);
if ($penawaran) { // nomor di set 0001
$code_penawaran_last = substr($maxCode, -4); $noUrutAkhirString = sprintf("%04s", 1);
if($penawaran)
{
$code_penawaran_last = substr ($maxCode, -4);
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year; $year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
$year_now = Carbon::now()->year; $year_now = Carbon::now()->year;
if ($year_now == $year_penawaran_last) { if ($year_now == $year_penawaran_last) {
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1)); $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; 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 // andy add

View File

@@ -120,7 +120,7 @@
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_ajax'] = ["no ajax request"]; $data['message']['message_ajax'] = ["no ajax request"];
} }
return response()->json($data); return response()->json($data);
@@ -149,6 +149,7 @@
if ($tindakan == 0) { if ($tindakan == 0) {
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian; $dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
$dataku['region_id'] = $request->region; $dataku['region_id'] = $request->region;
$dataku['sla'] = $request->sla;
$dataku['status'] = 'registered'; $dataku['status'] = 'registered';
if ($request->catatan2) { if ($request->catatan2) {
$dataku['registrasi_catatan'] = $request->catatan2; $dataku['registrasi_catatan'] = $request->catatan2;
@@ -205,6 +206,12 @@
$validateIt['region'] = ['required']; $validateIt['region'] = ['required'];
$messageIt ['region.required'] = 'Silahkan pilih Region'; $messageIt ['region.required'] = 'Silahkan pilih Region';
} }
else
{
$validateIt['sla'] = ['required'];
$messageIt ['sla.required'] = 'Silahkan isi SLA';
}
} elseif ($tindakan == 1) { } elseif ($tindakan == 1) {
$validateIt['catatan'] = ['required']; $validateIt['catatan'] = ['required'];
$messageIt ['catatan.required'] = 'Silahkan isi Catatan'; $messageIt ['catatan.required'] = 'Silahkan isi Catatan';

View File

@@ -104,12 +104,11 @@ use Illuminate\Support\Facades\Auth;
} }
// data dokumen_spk // data spk_dokumen_path
if($obj->dokumen) if($obj->penawaran->spk_dokumen_path)
{ {
$spkpenawaran_path = Storage::url($obj->dokumen); $spk_dokumen_path = Storage::url($obj->penawaran->spk_dokumen_path);
// dd($spkpenawaran_path); $data[$i]->penawaran->spk_dokumen_path = $spk_dokumen_path;
$data[$i]->dokumen = $spkpenawaran_path;
} }
$i++; $i++;
@@ -147,10 +146,14 @@ use Illuminate\Support\Facades\Auth;
} }
public function edit($id) 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') $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')
->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('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',
@@ -159,7 +162,10 @@ use Illuminate\Support\Facades\Auth;
'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',
'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name',
'jenis_laporan.code as jenis_laporan_code',
'penilaian.waktu_penilaian as penilaian_waktu_penilain'
)->first(); )->first();
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) $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', ->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','dokumenjaminan'])->first();
if($penawaran->detail_penawaran_tgl_proposal) if($penawaran->detail_penawaran_tgl_proposal)
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y'); $penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
// 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;
}
return view('lpj::spk.edit', compact('data', 'penawaran')); // 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 = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_resume);
$sla_final_text = hitungHariKerja($penawaran->persetujuan->created_at,$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 public function update(Request $request, $id): JsonResponse
{ {
// init // init
$data1 = array(); $data1 = [];
$dataPermohonan = array(); // $dataPermohonan = array();
$dataPenawaran = [];
// 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')
->leftJoin('penilaian', 'penilaian.nomor_registrasi','=','penawaran.nomor_registrasi')
->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',
@@ -194,7 +253,9 @@ use Illuminate\Support\Facades\Auth;
'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',
'jenis_laporan.code as jenis_laporan_code',
'penilaian.waktu_penilaian as penilaian_waktu_penilain'
)->first(); )->first();
$permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi)
@@ -202,8 +263,13 @@ use Illuminate\Support\Facades\Auth;
->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');
$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) if($penawaran->detail_penawaran_tgl_proposal)
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y'); $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; $newFileNameWithPath = $folderPath . $newFileName;
// update table permohonan // update table permohonan
$dataPermohonan=['dokumen' => $newFileNameWithPath]; // $dataPermohonan=['dokumen' => $newFileNameWithPath];
$data->update($dataPermohonan); // $data->update($dataPermohonan);
// update table permohonan // 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 // pdf path
$spkpenawaran_path = Storage::url($newFileNameWithPath); $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 = hitungHariKerja($penawaran->persetujuan->created_at,$penawaran->persetujuan->sla_resume);
$sla_final_text = hitungHariKerja($penawaran->persetujuan->created_at,$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(); $content = $pdf->download()->getOriginalContent();
Storage::put('public/'.$newFileNameWithPath,$content); Storage::put('public/'.$newFileNameWithPath,$content);
@@ -260,8 +389,10 @@ use Illuminate\Support\Facades\Auth;
} }
public function download($id) { public function download($id) {
$document = Permohonan::find($id); // dokumen pdf diambil dari penawaran.spk_dokumen_path
$permohonan = Permohonan::find($id);
return response()->download(storage_path('app/public/' .$document->dokumen)); $document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
return response()->download(storage_path('app/public/' .$document->spk_dokumen_path));
} }
} }

View File

@@ -40,6 +40,7 @@
'registrasi_at', 'registrasi_at',
'jenis_penilaian_id', 'jenis_penilaian_id',
'region_id', 'region_id',
'sla'
]; ];
protected static function boot() protected static function boot()
@@ -153,4 +154,9 @@
{ {
return $this->hasMany(PermohonanHistory::class, 'permohonan_id', 'id')->orderBy('created_at', 'desc'); return $this->hasMany(PermohonanHistory::class, 'permohonan_id', 'id')->orderBy('created_at', 'desc');
} }
public function dokumenjaminan()
{
return $this->hasMany(DokumenJaminan::class);
}
} }

View File

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

View File

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

View File

@@ -72,6 +72,15 @@
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em> <em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
</div> </div>
</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"> <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"> <label class="form-label max-w-56">
Region Region

View File

@@ -13,6 +13,7 @@
$("#{{ $route[0] }}_div_jenis_pilihan").show(); $("#{{ $route[0] }}_div_jenis_pilihan").show();
$("#{{ $route[0] }}_div_catatan").hide(); $("#{{ $route[0] }}_div_catatan").hide();
$("#{{ $route[0] }}_div_region").hide(); $("#{{ $route[0] }}_div_region").hide();
$("#{{ $route[0] }}_div_sla").hide();
$("#{{ $route[0] }}_div_catatan2").show(); $("#{{ $route[0] }}_div_catatan2").show();
// prepare data // prepare data
setData(); setData();
@@ -95,6 +96,7 @@
$("#{{ $route[0] }}_div_jenis_pilihan").show(); $("#{{ $route[0] }}_div_jenis_pilihan").show();
$("#{{ $route[0] }}_catatan").val(''); $("#{{ $route[0] }}_catatan").val('');
$("#{{ $route[0] }}_div_catatan").hide(); $("#{{ $route[0] }}_div_catatan").hide();
$("#{{ $route[0] }}_div_catatan2").show(); $("#{{ $route[0] }}_div_catatan2").show();
} }
else else
@@ -103,6 +105,7 @@
$("#{{ $route[0] }}_div_jenis_pilihan").hide(); $("#{{ $route[0] }}_div_jenis_pilihan").hide();
$("#{{ $route[0] }}_div_catatan").show(); $("#{{ $route[0] }}_div_catatan").show();
$("#{{ $route[0] }}_div_catatan2").hide(); $("#{{ $route[0] }}_div_catatan2").hide();
$("#{{ $route[0] }}_div_sla").hide();
} }
}); });
@@ -119,6 +122,7 @@
let region = $("#{{$route[0]}}_region").val(); let region = $("#{{$route[0]}}_region").val();
let catatan = $("#{{$route[0]}}_catatan").val(); let catatan = $("#{{$route[0]}}_catatan").val();
let catatan2 = $("#{{$route[0]}}_catatan2").val(); let catatan2 = $("#{{$route[0]}}_catatan2").val();
let sla = $("#{{$route[0]}}_sla").val();
if(jenis_penilaian==0) if(jenis_penilaian==0)
jenis_penilaian=''; jenis_penilaian='';
@@ -134,6 +138,7 @@
input_data.region= region; input_data.region= region;
input_data.catatan = catatan; input_data.catatan = catatan;
input_data.catatan2 = catatan2; input_data.catatan2 = catatan2;
input_data.sla = sla;
let useURL= '{{ route($route[0].'.update', $id) }}'; let useURL= '{{ route($route[0].'.update', $id) }}';
$.ajax({ $.ajax({
@@ -164,6 +169,11 @@
$("#{{$route[0]}}_region").addClass(" border-danger"); $("#{{$route[0]}}_region").addClass(" border-danger");
$("#{{$route[0]}}_region_msg").text(value); $("#{{$route[0]}}_region_msg").text(value);
} }
if ("sla" === index) {
$("#{{$route[0]}}_sla").addClass(" border-danger");
$("#{{$route[0]}}_sla_msg").text(value);
}
}); });
} }
else else
@@ -204,11 +214,18 @@
{ {
// INTERNAL, show region // INTERNAL, show region
$("#{{ $route[0] }}_div_region").show(); $("#{{ $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 // selain INTERNAL, hide region
$("#{{ $route[0] }}_div_region").hide(); $("#{{ $route[0] }}_div_region").hide();
$("#{{ $route[0] }}_div_sla").hide();
} }
}); });

View File

@@ -60,6 +60,15 @@
<em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em> <em id="{{$route[0]}}_catatan_msg" class="alert text-danger text-sm"></em>
</div> </div>
</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"> <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"> <label class="form-label max-w-56">
Region Region

View File

@@ -52,8 +52,7 @@
<center> <center>
<h2 style="text-decoration: underline;">SURAT PERINTAH KERJA</h2> <h2 style="text-decoration: underline;">SURAT PERINTAH KERJA</h2>
<p> <p>
No. XXX / PJ / JKT / <?php echo date('M'); ?> No. {{ $penawaran->spk_no }}
/ FR / <?php echo date('Y'); ?>
<data id="date"></data> <data id="date"></data>
</p> </p>
<p>Tanggal: <?php echo date('d F Y'); ?></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> <h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3>
<br/> <br/>
<p style="text-align: justify;"> <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> </p>
<br/> <br/>
<h3>Rincian Penilaian</h3> <h3>Rincian Penilaian</h3>
<table border="2" width="100%"> <table border="2" width="100%">
<tr> <tr>
<td></td> <td width="25%">Tujuan Penilaian</td>
</tr>
<tr>
<td>Tujuan Penilaian</td>
<td>:</td> <td>:</td>
<td> <td width="75%">
<span style="color: red;">{{ $data->tujuanPenilaian->name }}</span> <span style="color: red;">{{ $data->tujuanPenilaian->name }}</span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Jenis Laporan</td> <td width="20%">Jenis Laporan</td>
<td>:</td> <td>:</td>
<td> <td>
<span style="color: red;">{{ $penawaran->jenis_laporan_name }}</span> <span style="color: red;">{{ $penawaran->jenis_laporan_name }}</span>
</td> </td>
</tr> </tr>
<tr> @php $i=1; @endphp
<td>Data Jaminan</td> @foreach ($data->debiture->documents as $dokumen)
<td>:</td> <tr valign="top">
<td> <td width="25%">Lokasi Jaminan {{ $i }}</td>
<span style="color: red;">{{ $data->jenis_jaminan_name }}, {{ $data->dokumen_jaminan_address }}</span> <td>:</td>
</td> <td width="75%">
</tr> <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> <tr>
<td>Fee / Harga Penilaian</td> <td>Fee / Harga Penilaian</td>
<td>:</td> <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> </td>
</tr> </tr>
<tr> <tr>
<td>Jangka Waktu</td> <td>Jangka Waktu</td>
<td>:</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>
<tr> <tr>
<td colspan="2" style="text-align: center;">i</td> <td colspan="2" style="text-align: center;">i</td>
<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> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="text-align: center;">ii</td> <td colspan="2" style="text-align: center;">ii</td>
<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> </td>
</tr> </tr>
</table> </table>
<br/> <br/>
<h3>Dengan ketentuan dalam melaksanakan pekerjaan sebagai berikut:</h3> <h3>Dengan ketentuan dalam melaksanakan pekerjaan sebagai berikut:</h3>
<table border="0" width="100%"> <table border="0" width="100%">
<tr> <tr valign="top">
<td>1.</td> <td>1.</td>
<td> <td>
Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak). Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak).
</td> </td>
</tr> </tr>
<tr> <tr valign="top">
<td>2.</td> <td>2.</td>
<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. 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> </td>
</tr> </tr>
<tr> <tr valign="top">
<td>3.</td> <td>3.</td>
<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. 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> </td>
</tr> </tr>
<tr> <tr valign="top">
<td>4.</td> <td>4.</td>
<td> <td>
Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami. Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami.
</td> </td>
</tr> </tr>
<tr> <tr valign="top">
<td>5.</td> <td>5.</td>
<td> <td>
Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati. Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati.

View File

@@ -43,7 +43,8 @@
<h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3> <h3>Perihal: <b>Penunjukan sebagai Penyedia Jasa Penilaian Agunan</b></h3>
<br/> <br/>
<p style="text-align: justify;"> <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> </p>
<br/> <br/>
<h3>Rincian Penilaian</h3> <h3>Rincian Penilaian</h3>
@@ -87,13 +88,15 @@
<tr> <tr>
<td colspan="2" style="text-align: center;">i</td> <td colspan="2" style="text-align: center;">i</td>
<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> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="text-align: center;">ii</td> <td colspan="2" style="text-align: center;">ii</td>
<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> </td>
</tr> </tr>
</table> </table>

File diff suppressed because one or more lines are too long

View File

@@ -100,6 +100,6 @@ Breadcrumbs::for('registrasifinal.show', function (BreadcrumbTrail $trail) {
}); });
Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) { Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) {
$trail->parent('registrasifinal'); $trail->parent('registrasifinal');
$trail->push('Tambah registrasifinal'); $trail->push('Tambah Registrasi Final');
}); });
// registrasi final // registrasi final