|
|
|
|
@@ -3,13 +3,20 @@
|
|
|
|
|
namespace Modules\Lpj\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
use Exception;
|
|
|
|
|
use Barryvdh\DomPDF\PDF;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
use Modules\Lpj\Models\KJPP;
|
|
|
|
|
use Modules\Location\Models\City;
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
use Modules\Lpj\Models\Permohonan;
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
|
|
|
use Modules\Location\Models\Village;
|
|
|
|
|
use Modules\Lpj\Models\JenisLaporan;
|
|
|
|
|
use Modules\Location\Models\District;
|
|
|
|
|
use Modules\Location\Models\Province;
|
|
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
|
use Modules\Lpj\Models\PenawaranTender;
|
|
|
|
|
use Modules\Lpj\Models\StatusPermohonan;
|
|
|
|
|
use Modules\Lpj\Models\TujuanPenilaianKJPP;
|
|
|
|
|
@@ -66,12 +73,14 @@ class TenderController extends Controller
|
|
|
|
|
$permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
// Add created_by/updated_by from the authenticated user
|
|
|
|
|
$userId = auth()->user()->id;
|
|
|
|
|
$userId = Auth::user()->id;
|
|
|
|
|
|
|
|
|
|
$validated['nomor_registrasi'] = $permohonan->nomor_registrasi;
|
|
|
|
|
|
|
|
|
|
$validated['status'] = $request->input('status') ?? 'tender';
|
|
|
|
|
$validated['updated_by'] = $userId; // Updating the record
|
|
|
|
|
$validated['end_date'] = $request->input('end_date') . ' 17:00:00';
|
|
|
|
|
// dd($validated['end_date']);
|
|
|
|
|
$permohonan->update($validated);
|
|
|
|
|
|
|
|
|
|
// Adding created_by for the new PenawaranTender record
|
|
|
|
|
@@ -117,6 +126,11 @@ class TenderController extends Controller
|
|
|
|
|
$penawaranExists = PenawaranTender::where('nomor_registrasi', $noreg)->exists();
|
|
|
|
|
|
|
|
|
|
$penawaran1 = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
if ($penawaran1->status != 'tender') {
|
|
|
|
|
return redirect()->route('spk.index')->with('error', 'Penawaran dengan nomor registrasi ini sudah masuk SPK tidak bisa masuk penawaran lagi!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// dd($penawaran1->id);
|
|
|
|
|
if ($penawaran1) {
|
|
|
|
|
$penawaran = $penawaran1;
|
|
|
|
|
@@ -143,6 +157,14 @@ class TenderController extends Controller
|
|
|
|
|
$penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
$permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
if (!$penawaran) {
|
|
|
|
|
return redirect()->route('tender.penawaran.createPenawaran', ['noreg' => $noreg])->with('error', 'Penawaran dengan nomor registrasi ini belum dibuat. Silahkan isi terlebih dahulu!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($penawaran->status != 'tender') {
|
|
|
|
|
return redirect()->route('spk.index')->with('error', 'Penawaran dengan nomor registrasi ini sudah masuk SPK tidak bisa masuk penawaran lagi!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$status = StatusPermohonan::all();
|
|
|
|
|
$tujuan_penilaian_kjpp = TujuanPenilaianKJPP::all();
|
|
|
|
|
$jenis_laporan = JenisLaporan::all();
|
|
|
|
|
@@ -152,6 +174,8 @@ class TenderController extends Controller
|
|
|
|
|
|
|
|
|
|
$kjpp = KJPP::all();
|
|
|
|
|
|
|
|
|
|
// dd($penawaran);
|
|
|
|
|
|
|
|
|
|
return view('lpj::penawaran.edit', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'noreg', 'kjpps', 'permohonan'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -171,13 +195,15 @@ class TenderController extends Controller
|
|
|
|
|
$permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
// Ambil ID user yang sedang login
|
|
|
|
|
$userId = auth()->user()->id;
|
|
|
|
|
$userId = Auth::user()->id;
|
|
|
|
|
|
|
|
|
|
// Jangan ubah created_by untuk data yang sudah ada
|
|
|
|
|
$validated['nomor_registrasi'] = $penawaran->nomor_registrasi;
|
|
|
|
|
$validated['status'] = $request->input('status') ?? 'tender';
|
|
|
|
|
$validated['created_by'] = $userId;
|
|
|
|
|
$validated['updated_by'] = $userId; // Hanya update 'updated_by'
|
|
|
|
|
$validated['end_date'] = $request->input('end_date') . ' 17:00:00';
|
|
|
|
|
// dd($validated['end_date']);
|
|
|
|
|
|
|
|
|
|
// Update data penawaran dan permohonan
|
|
|
|
|
$penawaran->update($validated);
|
|
|
|
|
@@ -247,19 +273,46 @@ class TenderController extends Controller
|
|
|
|
|
public function showSuratTender($noreg)
|
|
|
|
|
{
|
|
|
|
|
$penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
$permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
if ($penawaran->status != 'tender') {
|
|
|
|
|
return redirect()->route('spk.index')->with('error', 'Penawaran dengan nomor registrasi ini sudah masuk SPK tidak bisa masuk penawaran lagi!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Kalau tidak ada dokumen jaminan maka di arahkan ke halaman dokumen jaminan
|
|
|
|
|
if ($permohonan->debiture->documents->isEmpty()) {
|
|
|
|
|
return redirect()->route('debitur.jaminan.create', ['id' => $permohonan->debiture->id])
|
|
|
|
|
->with('error', 'Anda Belum Membuat Dokumen Jaminan. Silahkan isi terlebih dahulu!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($permohonan->debiture->documents as $document) {
|
|
|
|
|
$village_permohonan = $document->village_code;
|
|
|
|
|
$district_permohonan = $document->district_code;
|
|
|
|
|
$city_permohonan = $document->city_code;
|
|
|
|
|
$province_permohonan = $document->province_code;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$villages = Village::where('code', $village_permohonan)->get();
|
|
|
|
|
$districts = District::where('code', $district_permohonan)->get();
|
|
|
|
|
$cities = City::where('code', $city_permohonan)->get();
|
|
|
|
|
$provinces = Province::where('code', $province_permohonan)->get();
|
|
|
|
|
|
|
|
|
|
// 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!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
date_default_timezone_set('Asia/Jakarta');
|
|
|
|
|
|
|
|
|
|
$now = date('Y-m-d H:i:s');
|
|
|
|
|
// Jika batas tanggal penawaran sudah lewat
|
|
|
|
|
if ($penawaran->end_date < date('Y-m-d')) {
|
|
|
|
|
if ($penawaran->end_date < $now) {
|
|
|
|
|
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'));
|
|
|
|
|
return view('lpj::penawaran.surat_tender', compact('penawaran', 'noreg', 'permohonan', 'villages', 'districts', 'cities', 'provinces'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function datatablesPenawaran(Request $request)
|
|
|
|
|
@@ -414,4 +467,31 @@ class TenderController extends Controller
|
|
|
|
|
// Kembalikan hasil pengecekan sebagai JSON
|
|
|
|
|
return response()->json(['exists' => $exists]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function downloadSuratTender($noreg)
|
|
|
|
|
{
|
|
|
|
|
$penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
$permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first();
|
|
|
|
|
|
|
|
|
|
if ($penawaran->status != 'tender') {
|
|
|
|
|
return redirect()->route('spk.index')->with('error', 'Penawaran dengan nomor registrasi ini sudah masuk SPK tidak bisa masuk penawaran lagi!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach ($permohonan->debiture->documents as $document) {
|
|
|
|
|
$village_permohonan = $document->village_code;
|
|
|
|
|
$district_permohonan = $document->district_code;
|
|
|
|
|
$city_permohonan = $document->city_code;
|
|
|
|
|
$province_permohonan = $document->province_code;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$villages = Village::where('code', $village_permohonan)->get();
|
|
|
|
|
$districts = District::where('code', $district_permohonan)->get();
|
|
|
|
|
$cities = City::where('code', $city_permohonan)->get();
|
|
|
|
|
$provinces = Province::where('code', $province_permohonan)->get();
|
|
|
|
|
|
|
|
|
|
$pdf = app('dompdf.wrapper'); // create an instance of the PDF class
|
|
|
|
|
$pdf->loadView('lpj::penawaran.surat_tender_download', compact('penawaran', 'permohonan', 'villages', 'districts', 'cities', 'provinces'));
|
|
|
|
|
|
|
|
|
|
return $pdf->download('surat_tender' . time() . '.pdf');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|