diff --git a/app/Http/Controllers/KJPPController.php b/app/Http/Controllers/KJPPController.php index 99a0c2f..4898ab5 100644 --- a/app/Http/Controllers/KJPPController.php +++ b/app/Http/Controllers/KJPPController.php @@ -35,7 +35,6 @@ class KJPPController extends Controller */ public function create() { - $branch = Branch::all(); $ijin_usaha = IjinUsaha::all(); $jenis_aset = JenisJaminan::all(); $provinces = Province::all(); @@ -48,7 +47,7 @@ class KJPPController extends Controller // Combine KJPP number with branch code $fullKjppNumber = $kjppNumber; - return view('lpj::kjpp.create', compact('branch', 'ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber')); + return view('lpj::kjpp.create', compact('ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber')); } /** @@ -98,13 +97,12 @@ class KJPPController extends Controller $ijin_usaha = IjinUsaha::where('code', $kjpp->nomor_ijin_usaha)->get(); $ijin_usahas = IjinUsaha::all(); $jenis_jaminan = JenisJaminan::all(); - $branches = Branch::where('name', $kjpp->jenis_kantor)->get(); $provinces = Province::where('code', $kjpp->province_code)->get(); $cities = City::where('code', $kjpp->city_code)->get(); $districts = District::where('code', $kjpp->district_code)->get(); $villages = Village::where('code', $kjpp->village_code)->get(); // dd($branches); - return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'branches', 'kjpp', 'provinces', 'cities', 'districts', 'villages')); + return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages')); } /** @@ -113,7 +111,6 @@ class KJPPController extends Controller public function edit($id) { $kjpp = KJPP::find($id); - $branch = Branch::all(); $ijin_usaha = IjinUsaha::all(); $jenis_aset = JenisJaminan::all(); $provinces = Province::all(); @@ -121,7 +118,7 @@ class KJPPController extends Controller $districts = District::where('city_code', $kjpp->city_code)->get(); $villages = Village::where('district_code', $kjpp->district_code)->get(); - return view('lpj::kjpp.create', compact('kjpp', 'branch', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages')); + return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages')); } /** diff --git a/app/Http/Controllers/TenderController.php b/app/Http/Controllers/TenderController.php index 6829346..4fca97d 100644 --- a/app/Http/Controllers/TenderController.php +++ b/app/Http/Controllers/TenderController.php @@ -55,9 +55,12 @@ class TenderController extends Controller $validated['nomor_registrasi'] = $penawaran->nomor_registrasi; - $validated['nama_kjpp_sebelumnya'] = json_encode($request->input('nama_kjpp_sebelumnya')); + // Mengatasi null untuk nama_kjpp_sebelumnya, biaya_kjpp_sebelumnya, dan tanggal_penilaian_sebelumnya + $validated['nama_kjpp_sebelumnya'] = json_encode($request->input('nama_kjpp_sebelumnya') ?? []); + $validated['biaya_kjpp_sebelumnya'] = $request->input('biaya_kjpp_sebelumnya') ?? ''; + $validated['tanggal_penilaian_sebelumnya'] = $request->input('tanggal_penilaian_sebelumnya') ?? ''; - dd($validated); + // dd($validated); PenawaranTender::create($validated); @@ -77,7 +80,9 @@ class TenderController extends Controller public function penawaran_show($id) { $penawaran = PenawaranTender::find($id); - return view('lpj::penawaran.show', compact('id', 'penawaran')); + $kjpps = KJPP::find($id); + + return view('lpj::penawaran.show', compact('id', 'penawaran', 'kjpps')); } /** @@ -111,7 +116,7 @@ class TenderController extends Controller } // Retrieve data from the database - $query = PenawaranTender::query(); + $query = PenawaranTender::query()->where('status', '=', 'Registered'); // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { diff --git a/app/Http/Requests/TenderPenawaranRequest.php b/app/Http/Requests/TenderPenawaranRequest.php index 16ed5bc..63e0b8b 100644 --- a/app/Http/Requests/TenderPenawaranRequest.php +++ b/app/Http/Requests/TenderPenawaranRequest.php @@ -12,10 +12,10 @@ class TenderPenawaranRequest extends FormRequest public function rules(): array { $rules = [ - 'nama_kjpp_sebelumnya' => 'required|array', + 'nama_kjpp_sebelumnya' => 'nullable|array', 'nama_kjpp_sebelumnya.*' => 'exists:kjpp,name', - 'biaya_kjpp_sebelumnya' => 'required|numeric', - 'tanggal_penilaian_sebelumnya' => 'required', + 'biaya_kjpp_sebelumnya' => 'nullable|numeric', + 'tanggal_penilaian_sebelumnya' => 'nullable', 'nomor_registrasi' => 'required', 'tujuan_penilaian_kjpp_id' => 'required', 'jenis_laporan_id' => 'required', @@ -48,10 +48,6 @@ class TenderPenawaranRequest extends FormRequest 'code.required' => 'Kode Penawaran Wajib diisi!', 'code.max' => 'Kode Penawaran maksimal 255 huruf!', 'code.unique' => 'Kode Penawaran tidak boleh sama!', - 'nama_kjpp_sebelumnya.required' => 'Nama KJPP Sebelumnya Wajib diisi!', - 'biaya_kjpp_sebelumnya.required' => 'Biaya KJPP Sebelumnya Wajib diisi!', - 'biaya_kjpp_sebelumnya.numeric' => 'Biaya KJPP Sebelumnya harus berupa angka!', - 'tanggal_penilaian_sebelumnya.required' => 'Tanggal Penilaian Sebelumnya Wajib diisi!', 'nomor_registrasi.required' => 'Nomor Registrasi Wajib diisi!', 'tujuan_penilaian_kjpp_id.required' => 'Tujuan Penilaian KJPP Wajib diisi!', 'jenis_laporan_id.required' => 'Jenis Laporan Wajib diisi!', @@ -70,6 +66,14 @@ class TenderPenawaranRequest extends FormRequest if ($endDate < $startDate) { $validator->errors()->add('end_date', 'Tanggal Akhir tidak boleh lebih awal dari Tanggal Awal.'); } + + // Validasi minimal 3 pilihan pada nama_kjpp_sebelumnya + $namaKjppSebelumnya = $this->input('nama_kjpp_sebelumnya', []); + + // Abaikan jika array kosong, tetapi validasi jika terisi kurang dari 3 item + if (!empty($namaKjppSebelumnya) && is_array($namaKjppSebelumnya) && count($namaKjppSebelumnya) < 3) { + $validator->errors()->add('nama_kjpp_sebelumnya', 'Nama KJPP Sebelumnya harus memiliki minimal 3 pilihan jika diisi.'); + } }); } } diff --git a/database/migrations/2024_10_03_073923_update_penawaran_table.php b/database/migrations/2024_10_03_073923_update_penawaran_table.php new file mode 100644 index 0000000..a22d315 --- /dev/null +++ b/database/migrations/2024_10_03_073923_update_penawaran_table.php @@ -0,0 +1,32 @@ +string('nama_kjpp_sebelumnya')->nullable()->change(); + $table->string('biaya_kjpp_sebelumnya')->nullable()->change(); + $table->datetime('tanggal_penilaian_sebelumnya')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->string('nama_kjpp_sebelumnya')->change(); + $table->string('biaya_kjpp_sebelumnya')->change(); + $table->datetime('tanggal_penilaian_sebelumnya')->change(); + }); + } +}; diff --git a/database/migrations/2024_10_03_074430_update_penawaran_table.php b/database/migrations/2024_10_03_074430_update_penawaran_table.php new file mode 100644 index 0000000..9ceb263 --- /dev/null +++ b/database/migrations/2024_10_03_074430_update_penawaran_table.php @@ -0,0 +1,28 @@ +text('catatan')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->text('catatan')->change(); + }); + } +}; diff --git a/resources/views/kjpp/create.blade.php b/resources/views/kjpp/create.blade.php index c03ab45..abb7af3 100644 --- a/resources/views/kjpp/create.blade.php +++ b/resources/views/kjpp/create.blade.php @@ -53,23 +53,25 @@
- @foreach ($branches as $branch) - {{ $branch->name }} - @endforeach + {{ $kjpp->jenis_kantor }}