Menambahkan fitur Surat Tender di Menu Tender di Bagian Penawaran Ulang
This commit is contained in:
@@ -241,15 +241,25 @@ class TenderController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the specified resource from storage.
|
* Tampilkan Surat Tender
|
||||||
*/
|
*/
|
||||||
public function destroy($id)
|
public function showSuratTender($noreg)
|
||||||
{
|
{
|
||||||
//
|
$penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first();
|
||||||
|
|
||||||
|
// Kalau tidak ketemu nomor registrasi dengan tabel penawaran
|
||||||
|
if (!$penawaran) {
|
||||||
|
return redirect()->route('tender.penawaran.createPenawaran', ['noreg' => $noreg])
|
||||||
|
->with('error', 'Anda Belum Membuat Penawaran. Silahkan isi terlebih dahulu!');
|
||||||
|
}
|
||||||
|
// Jika batas tanggal penawaran sudah lewat
|
||||||
|
if ($penawaran->end_date < date('Y-m-d')) {
|
||||||
|
return redirect()->route('tender.penawaran.editPenawaran', ['noreg' => $noreg])
|
||||||
|
->with('error', 'Sudah Kadaluarsa. Silahkan perpanjang tanggal penawaran terlebih dahulu!');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('lpj::penawaran.surat_tender', compact('penawaran', 'noreg'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function datatablesPenawaran(Request $request)
|
public function datatablesPenawaran(Request $request)
|
||||||
|
|||||||
@@ -19,4 +19,9 @@ class JenisLaporan extends Model
|
|||||||
|
|
||||||
|
|
||||||
protected $fillable = ['code', 'name'];
|
protected $fillable = ['code', 'name'];
|
||||||
|
|
||||||
|
public function penawaran()
|
||||||
|
{
|
||||||
|
return $this->hasMany(PenawaranTender::class, 'jenis_laporan_id', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,4 +36,14 @@ class PenawaranTender extends Model
|
|||||||
{
|
{
|
||||||
return $this->hasMany(TujuanPenilaianKJPP::class, 'id', 'tujuan_penilaian_kjpp_id');
|
return $this->hasMany(TujuanPenilaianKJPP::class, 'id', 'tujuan_penilaian_kjpp_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function permohonan()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function jenisLaporan()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,82 +1,87 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Modules\Lpj\Models;
|
namespace Modules\Lpj\Models;
|
||||||
|
|
||||||
use Modules\Lpj\Database\Factories\PermohonanFactory;
|
use Modules\Lpj\Database\Factories\PermohonanFactory;
|
||||||
use Modules\Usermanagement\Models\User;
|
use Modules\Usermanagement\Models\User;
|
||||||
|
|
||||||
class Permohonan extends Base
|
class Permohonan extends Base
|
||||||
|
{
|
||||||
|
protected $table = 'permohonan';
|
||||||
|
protected $fillable = [
|
||||||
|
'nomor_registrasi',
|
||||||
|
'tanggal_permohonan',
|
||||||
|
'user_id',
|
||||||
|
'branch_id',
|
||||||
|
'tujuan_penilaian_id',
|
||||||
|
'debiture_id',
|
||||||
|
'keterangan',
|
||||||
|
'dokumen',
|
||||||
|
'jenis_fasilitas_kredit_id',
|
||||||
|
'nilai_plafond_id',
|
||||||
|
'status',
|
||||||
|
'authorized_at',
|
||||||
|
'authorized_status',
|
||||||
|
'authorized_by',
|
||||||
|
// andy add
|
||||||
|
'registrasi_catatan',
|
||||||
|
'registrasi_by',
|
||||||
|
'registrasi_at',
|
||||||
|
'jenis_penilaian_id',
|
||||||
|
'region_id',
|
||||||
|
// andy add
|
||||||
|
'status_bayar',
|
||||||
|
'nilai_njop',
|
||||||
|
// andy add
|
||||||
|
'registrasi_catatan',
|
||||||
|
'registrasi_by',
|
||||||
|
'registrasi_at',
|
||||||
|
'jenis_penilaian_id',
|
||||||
|
'region_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function user()
|
||||||
{
|
{
|
||||||
protected $table = 'permohonan';
|
return $this->belongsTo(User::class);
|
||||||
protected $fillable = [
|
|
||||||
'nomor_registrasi',
|
|
||||||
'tanggal_permohonan',
|
|
||||||
'user_id',
|
|
||||||
'branch_id',
|
|
||||||
'tujuan_penilaian_id',
|
|
||||||
'debiture_id',
|
|
||||||
'keterangan',
|
|
||||||
'dokumen',
|
|
||||||
'jenis_fasilitas_kredit_id',
|
|
||||||
'nilai_plafond_id',
|
|
||||||
'status',
|
|
||||||
'authorized_at',
|
|
||||||
'authorized_status',
|
|
||||||
'authorized_by',
|
|
||||||
// andy add
|
|
||||||
'registrasi_catatan',
|
|
||||||
'registrasi_by',
|
|
||||||
'registrasi_at',
|
|
||||||
'jenis_penilaian_id',
|
|
||||||
'region_id',
|
|
||||||
// andy add
|
|
||||||
'status_bayar',
|
|
||||||
'nilai_njop',
|
|
||||||
// andy add
|
|
||||||
'registrasi_catatan',
|
|
||||||
'registrasi_by',
|
|
||||||
'registrasi_at',
|
|
||||||
'jenis_penilaian_id',
|
|
||||||
'region_id',
|
|
||||||
];
|
|
||||||
|
|
||||||
public function user()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(User::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function branch()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Branch::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function tujuanPenilaian()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(TujuanPenilaian::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function debiture()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Debiture::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function documents()
|
|
||||||
{
|
|
||||||
return $this->hasMany(DokumenJaminan::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function nilaiPlafond()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(NilaiPlafond::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function jenisFasilitasKredit()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(JenisFasilitasKredit::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function penilaian()
|
|
||||||
{
|
|
||||||
return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function branch()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Branch::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tujuanPenilaian()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(TujuanPenilaian::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function debiture()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Debiture::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function documents()
|
||||||
|
{
|
||||||
|
return $this->hasMany(DokumenJaminan::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function nilaiPlafond()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(NilaiPlafond::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function jenisFasilitasKredit()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(JenisFasilitasKredit::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function penilaian()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function penawaranTender()
|
||||||
|
{
|
||||||
|
return $this->hasMany(PenawaranTender::class, 'nomor_registrasi');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -189,7 +189,12 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end">
|
<div class="flex justify-end gap-1.5">
|
||||||
|
@if (isset($penawaran->nomor_registrasi))
|
||||||
|
<a href="{{ route('tender.penawaran.showSuratTender', $noreg) }}" class="btn btn-primary">
|
||||||
|
Surat Tender
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
Save
|
Save
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -195,7 +195,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex justify-end">
|
<div class="flex justify-end gap-1.5">
|
||||||
|
@if (isset($penawaran->nomor_registrasi))
|
||||||
|
<a href="{{ route('tender.penawaran.showSuratTender', $noreg) }}" class="btn btn-primary">
|
||||||
|
Surat Tender
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
<button type="submit" class="btn btn-primary">
|
<button type="submit" class="btn btn-primary">
|
||||||
Penawaran Ulang
|
Penawaran Ulang
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
56
resources/views/penawaran/surat_tender.blade.php
Normal file
56
resources/views/penawaran/surat_tender.blade.php
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
@extends('layouts.main')
|
||||||
|
|
||||||
|
@section('breadcrumbs')
|
||||||
|
{{ Breadcrumbs::render(request()->route()->getName(), request()->route('noreg')) }}
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
|
<div class="card pb-2.5">
|
||||||
|
<div class="card-header" id="basic_settings">
|
||||||
|
<h3 class="card-title">
|
||||||
|
Surat Tender
|
||||||
|
</h3>
|
||||||
|
<div class="flex items-center gap-2">
|
||||||
|
@if (isset($penawaran->nomor_registrasi))
|
||||||
|
<a href="{{ route('tender.penawaran.editPenawaran', $noreg) }}" class="btn btn-xs btn-info"><i
|
||||||
|
class="ki-filled ki-exit-left"></i> Back</a>
|
||||||
|
@else
|
||||||
|
<a href="{{ route('tender.penawaran.createPenawaran', $noreg) }}" class="btn btn-xs btn-info"><i
|
||||||
|
class="ki-filled ki-exit-left"></i> Back</a>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body grid gap-5">
|
||||||
|
<p>Dear
|
||||||
|
<span class="font-bold">{{ ucwords(auth()->user()->name) ?? 'Tidak Ada' }}</span>
|
||||||
|
</p>
|
||||||
|
<p>Mohon untuk dibuatkan proposal jasa appraisal atas nama <span
|
||||||
|
class="font-bold">{{ ucwords($penawaran->permohonan->user->name) }}</span>, tujuan penilaian
|
||||||
|
untuk <span class="font-bold">
|
||||||
|
@foreach ($penawaran->tujuanPenilaianKJPP as $tujuanPenilaianKJPP)
|
||||||
|
{{ $tujuanPenilaianKJPP->name }}
|
||||||
|
@endforeach
|
||||||
|
</span>, laporan dalam bentuk <span class="font-bold">{{ $penawaran->jenisLaporan->name }}</span>,
|
||||||
|
dengan data-data sebagai berikut :</p>
|
||||||
|
<ul>
|
||||||
|
<li>Aset Jaminan: <span class="font-bold">[otomasi dari tabel permohonan]</span></li>
|
||||||
|
<li>Lokasi Jaminan: <span class="font-bold">[otomasi dari tabel permohonan]</span></li>
|
||||||
|
<li>LT / LB: <span class="font-bold">[otomasi dari tabel permohonan]</span></li>
|
||||||
|
</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) }} pukul 17.00 WIB</span>
|
||||||
|
</p>
|
||||||
|
<p>Best Regards,
|
||||||
|
<span class="font-bold">[otomasi dari nama dan tanda tangan user penginput]</span>
|
||||||
|
Sub Direktorat Appraisal
|
||||||
|
</p>
|
||||||
|
<p>PT. Bank Artha Graha Internasional, Tbk.<br>
|
||||||
|
Gedung Bank Artha Graha, Lantai 3<br>
|
||||||
|
Jl. Kwiitang Raya No 24-26, Jakarta Pusat - 10420.<br>
|
||||||
|
Telp. 021 - 3903040 (H)</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -396,6 +396,9 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name(
|
Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name(
|
||||||
'penawaran.datatables',
|
'penawaran.datatables',
|
||||||
);
|
);
|
||||||
|
Route::get('penawaran/{noreg}/suratTender', [TenderController::class, 'showSuratTender'])->name(
|
||||||
|
'penawaran.showSuratTender'
|
||||||
|
);
|
||||||
|
|
||||||
// Penawaran Ulang
|
// Penawaran Ulang
|
||||||
Route::get('penawaran/ulang', [TenderController::class, 'penawaran_ulang_index'])->name(
|
Route::get('penawaran/ulang', [TenderController::class, 'penawaran_ulang_index'])->name(
|
||||||
|
|||||||
Reference in New Issue
Block a user