diff --git a/app/Http/Controllers/KJPPController.php b/app/Http/Controllers/KJPPController.php index 4d46f45..e043735 100644 --- a/app/Http/Controllers/KJPPController.php +++ b/app/Http/Controllers/KJPPController.php @@ -5,8 +5,6 @@ namespace Modules\Lpj\Http\Controllers; use Throwable; use Illuminate\Http\Request; use Modules\Lpj\Models\KJPP; -use Illuminate\Http\Response; -use Modules\Lpj\Models\Branch; use Modules\Location\Models\City; use Modules\Lpj\Models\IjinUsaha; use Modules\Lpj\Exports\KJPPExport; @@ -57,9 +55,80 @@ class KJPPController extends Controller { $validated = $request->validated(); - dd($validated); - if ($validated) { + $detailEmailKantor = []; + $detailNamaPicReviewer = []; + $detailNomorHpPicReviewer = []; + $detailNamaPicAdmin = []; + $detailNomorHpPicAdmin = []; + $detailNamaPicMarketing = []; + $detailNomorHpPicMarketing = []; + + $emailKantor = $request->input('detail_email_kantor.email_kantor', []); + $namaPicReviewer = $request->input('detail_nama_pic_reviewer.nama_pic_reviewer', []); + $nomorHpPicReviewer = $request->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []); + $namaPicAdmin = $request->input('detail_nama_pic_admin.nama_pic_admin', []); + $nomorHpPicAdmin = $request->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []); + $namaPicMarketing = $request->input('detail_nama_pic_marketing.nama_pic_marketing', []); + $nomorHpPicMarketing = $request->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []); + + foreach ($emailKantor as $value) { + $detailEmailKantor[] = [ + 'email_kantor' => $value + ]; + } + // Encode to JSON and store + $detailEmailKantorJson = json_encode($detailEmailKantor); + + // Process detail_nama_pic_reviewer + foreach ($namaPicReviewer as $value) { + $detailNamaPicReviewer[] = [ + 'nama_pic_reviewer' => $value + ]; + } + $detailNamaPicReviewerJson = json_encode($detailNamaPicReviewer); + + // Process detail_nomor_hp_pic_reviewer + foreach ($nomorHpPicReviewer as $value) { + $detailNomorHpPicReviewer[] = [ + 'nomor_hp_pic_reviewer' => $value + ]; + } + $detailNomorHpPicReviewerJson = json_encode($detailNomorHpPicReviewer); + + // Process detail_nama_pic_admin + foreach ($namaPicAdmin as $value) { + $detailNamaPicAdmin[] = [ + 'nama_pic_admin' => $value + ]; + } + $detailNamaPicAdminJson = json_encode($detailNamaPicAdmin); + + // Process detail_nomor_hp_pic_admin + foreach ($nomorHpPicAdmin as $value) { + $detailNomorHpPicAdmin[] = [ + 'nomor_hp_pic_admin' => $value + ]; + } + $detailNomorHpPicAdminJson = json_encode($detailNomorHpPicAdmin); + + // Process detail_nama_pic_marketing + foreach ($namaPicMarketing as $value) { + $detailNamaPicMarketing[] = [ + 'nama_pic_marketing' => $value + ]; + } + $detailNamaPicMarketingJson = json_encode($detailNamaPicMarketing); + + // Process detail_nomor_hp_pic_marketing + foreach ($nomorHpPicMarketing as $value) { + $detailNomorHpPicMarketing[] = [ + 'nomor_hp_pic_marketing' => $value + ]; + } + $detailNomorHpPicMarketingJson = json_encode($detailNomorHpPicMarketing); + + $file = $request->file('attachment'); $filename = $file ? time() . '.' . $file->getClientOriginalExtension() : 'default.pdf'; @@ -71,9 +140,20 @@ class KJPPController extends Controller Storage::copy('public/test/default.pdf', 'public/uploads_pdf/' . $filename); } + $validated['detail_email_kantor'] = $detailEmailKantorJson; + $validated['detail_nama_pic_reviewer'] = $detailNamaPicReviewerJson; + $validated['detail_nomor_hp_pic_reviewer'] = $detailNomorHpPicReviewerJson; + $validated['detail_nama_pic_admin'] = $detailNamaPicAdminJson; + $validated['detail_nomor_hp_pic_admin'] = $detailNomorHpPicAdminJson; + $validated['detail_nama_pic_marketing'] = $detailNamaPicMarketingJson; + $validated['detail_nomor_hp_pic_marketing'] = $detailNomorHpPicMarketingJson; + $validated['ijin_usaha_id'] = json_encode($validated['ijin_usaha_id']); + $validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']); // Tambahkan nama file ke data yang divalidasi $validated['attachment'] = $filename; + // dd($validated); + // Simpan data ke database KJPP::create($validated); @@ -100,8 +180,36 @@ class KJPPController extends Controller $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', 'kjpp', 'provinces', 'cities', 'districts', 'villages')); + $detailEmailKantor = json_decode($kjpp->detail_email_kantor); + $detailNamaPicReviewer = json_decode($kjpp->detail_nama_pic_reviewer); + $detailNomorHpPicReviewer = json_decode($kjpp->detail_nomor_hp_pic_reviewer); + $detailNamaPicAdmin = json_decode($kjpp->detail_nama_pic_admin); + $detailNomorHpPicAdmin = json_decode($kjpp->detail_nomor_hp_pic_admin); + $detailNamaPicMarketing = json_decode($kjpp->detail_nama_pic_marketing); + $detailNomorHpPicMarketing = json_decode($kjpp->detail_nomor_hp_pic_marketing); + + $detailJoinPicReviewer = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_reviewer' => $nama->nama_pic_reviewer, + 'nomor_hp_pic_reviewer' => $nomor->nomor_hp_pic_reviewer + ]; + }, $detailNamaPicReviewer, $detailNomorHpPicReviewer)); + + $detailJoinPicAdmin = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_admin' => $nama->nama_pic_admin, + 'nomor_hp_pic_admin' => $nomor->nomor_hp_pic_admin + ]; + }, $detailNamaPicAdmin, $detailNomorHpPicAdmin)); + + $detailJoinPicMarketing = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_marketing' => $nama->nama_pic_marketing, + 'nomor_hp_pic_marketing' => $nomor->nomor_hp_pic_marketing + ]; + }, $detailNamaPicMarketing, $detailNomorHpPicMarketing)); + + return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages', 'detailEmailKantor', 'detailJoinPicReviewer', 'detailJoinPicAdmin', 'detailJoinPicMarketing')); } /** @@ -116,8 +224,36 @@ class KJPPController extends Controller $cities = City::where('province_code', $kjpp->province_code)->get(); $districts = District::where('city_code', $kjpp->city_code)->get(); $villages = Village::where('district_code', $kjpp->district_code)->get(); + $detailEmailKantor = json_decode($kjpp->detail_email_kantor); + $detailNamaPicReviewer = json_decode($kjpp->detail_nama_pic_reviewer); + $detailNomorHpPicReviewer = json_decode($kjpp->detail_nomor_hp_pic_reviewer); + $detailNamaPicAdmin = json_decode($kjpp->detail_nama_pic_admin); + $detailNomorHpPicAdmin = json_decode($kjpp->detail_nomor_hp_pic_admin); + $detailNamaPicMarketing = json_decode($kjpp->detail_nama_pic_marketing); + $detailNomorHpPicMarketing = json_decode($kjpp->detail_nomor_hp_pic_marketing); - return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages')); + $detailJoinPicReviewer = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_reviewer' => $nama->nama_pic_reviewer, + 'nomor_hp_pic_reviewer' => $nomor->nomor_hp_pic_reviewer + ]; + }, $detailNamaPicReviewer, $detailNomorHpPicReviewer)); + + $detailJoinPicAdmin = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_admin' => $nama->nama_pic_admin, + 'nomor_hp_pic_admin' => $nomor->nomor_hp_pic_admin + ]; + }, $detailNamaPicAdmin, $detailNomorHpPicAdmin)); + + $detailJoinPicMarketing = json_encode(array_map(function ($nama, $nomor) { + return [ + 'nama_pic_marketing' => $nama->nama_pic_marketing, + 'nomor_hp_pic_marketing' => $nomor->nomor_hp_pic_marketing + ]; + }, $detailNamaPicMarketing, $detailNomorHpPicMarketing)); + + return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages', 'detailJoinPicReviewer', 'detailJoinPicAdmin', 'detailJoinPicMarketing', 'detailEmailKantor')); } /** @@ -127,7 +263,82 @@ class KJPPController extends Controller { $validated = $request->validated(); + // dd($validated); + if ($validated) { + $detailEmailKantor = []; + $detailNamaPicReviewer = []; + $detailNomorHpPicReviewer = []; + $detailNamaPicAdmin = []; + $detailNomorHpPicAdmin = []; + $detailNamaPicMarketing = []; + $detailNomorHpPicMarketing = []; + + $emailKantor = $request->input('detail_email_kantor.email_kantor', []); + $namaPicReviewer = $request->input('detail_nama_pic_reviewer.nama_pic_reviewer', []); + $nomorHpPicReviewer = $request->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []); + $namaPicAdmin = $request->input('detail_nama_pic_admin.nama_pic_admin', []); + $nomorHpPicAdmin = $request->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []); + $namaPicMarketing = $request->input('detail_nama_pic_marketing.nama_pic_marketing', []); + $nomorHpPicMarketing = $request->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []); + + foreach ($emailKantor as $value) { + $detailEmailKantor[] = [ + 'email_kantor' => $value + ]; + } + // Encode to JSON and store + $detailEmailKantorJson = json_encode($detailEmailKantor); + + // Process detail_nama_pic_reviewer + foreach ($namaPicReviewer as $value) { + $detailNamaPicReviewer[] = [ + 'nama_pic_reviewer' => $value + ]; + } + $detailNamaPicReviewerJson = json_encode($detailNamaPicReviewer); + + // Process detail_nomor_hp_pic_reviewer + foreach ($nomorHpPicReviewer as $value) { + $detailNomorHpPicReviewer[] = [ + 'nomor_hp_pic_reviewer' => $value + ]; + } + $detailNomorHpPicReviewerJson = json_encode($detailNomorHpPicReviewer); + + // Process detail_nama_pic_admin + foreach ($namaPicAdmin as $value) { + $detailNamaPicAdmin[] = [ + 'nama_pic_admin' => $value + ]; + } + $detailNamaPicAdminJson = json_encode($detailNamaPicAdmin); + + // Process detail_nomor_hp_pic_admin + foreach ($nomorHpPicAdmin as $value) { + $detailNomorHpPicAdmin[] = [ + 'nomor_hp_pic_admin' => $value + ]; + } + $detailNomorHpPicAdminJson = json_encode($detailNomorHpPicAdmin); + + // Process detail_nama_pic_marketing + foreach ($namaPicMarketing as $value) { + $detailNamaPicMarketing[] = [ + 'nama_pic_marketing' => $value + ]; + } + $detailNamaPicMarketingJson = json_encode($detailNamaPicMarketing); + + // Process detail_nomor_hp_pic_marketing + foreach ($nomorHpPicMarketing as $value) { + $detailNomorHpPicMarketing[] = [ + 'nomor_hp_pic_marketing' => $value + ]; + } + $detailNomorHpPicMarketingJson = json_encode($detailNomorHpPicMarketing); + + $file = $request->file('attachment'); $filename = $file ? time() . '.' . $file->getClientOriginalExtension() : null; @@ -147,6 +358,16 @@ class KJPPController extends Controller $validated['attachment'] = $kjpp->attachment ?? 'default.pdf'; } + $validated['detail_email_kantor'] = $detailEmailKantorJson; + $validated['detail_nama_pic_reviewer'] = $detailNamaPicReviewerJson; + $validated['detail_nomor_hp_pic_reviewer'] = $detailNomorHpPicReviewerJson; + $validated['detail_nama_pic_admin'] = $detailNamaPicAdminJson; + $validated['detail_nomor_hp_pic_admin'] = $detailNomorHpPicAdminJson; + $validated['detail_nama_pic_marketing'] = $detailNamaPicMarketingJson; + $validated['detail_nomor_hp_pic_marketing'] = $detailNomorHpPicMarketingJson; + $validated['ijin_usaha_id'] = json_encode($validated['ijin_usaha_id']); + $validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']); + // Perbarui data di database KJPP::where('id', $id)->update($validated); diff --git a/app/Http/Requests/KJPPRequest.php b/app/Http/Requests/KJPPRequest.php index 653366d..6a693a8 100644 --- a/app/Http/Requests/KJPPRequest.php +++ b/app/Http/Requests/KJPPRequest.php @@ -23,24 +23,24 @@ class KJPPRequest extends FormRequest 'postal_code' => 'nullable|numeric', 'nomor_telepon_kantor' => 'nullable|numeric|digits_between:8,15', 'email_kantor' => 'required|email', - 'detail_email_kantor' => 'nullable|email', + 'detail_email_kantor' => 'nullable', 'nama_pimpinan' => 'required|string|not_regex:/^\d+$/|max:255', 'nomor_hp_pimpinan' => 'required|numeric|digits_between:10,15', 'nama_pic_reviewer' => 'nullable|string|not_regex:/^\d+$/|max:255', - // 'detail_nama_pic_reviewer' => 'nullable|string|not_regex:/^\d+$/|max:255', + 'detail_nama_pic_reviewer' => 'nullable', 'nomor_hp_pic_reviewer' => 'nullable|numeric|digits_between:10,15', - // 'detail_nomor_hp_pic_reviewer' => 'nullable|numeric|digits_between:10,15', + 'detail_nomor_hp_pic_reviewer' => 'nullable', 'nama_pic_admin' => 'nullable|string|not_regex:/^\d+$/|max:255', - // 'detail_nama_pic_admin' => 'nullable|string|not_regex:/^\d+$/|max:255', + 'detail_nama_pic_admin' => 'nullable', 'nomor_hp_pic_admin' => 'nullable|numeric|digits_between:10,15', - // 'detail_nomor_hp_pic_admin' => 'nullable|numeric|digits_between:10,15', + 'detail_nomor_hp_pic_admin' => 'nullable', 'nama_pic_marketing' => 'nullable|string|not_regex:/^\d+$/|max:255', - // 'detail_nama_pic_marketing' => 'nullable|string|not_regex:/^\d+$/|max:255', + 'detail_nama_pic_marketing' => 'nullable', 'nomor_hp_pic_marketing' => 'nullable|numeric|digits_between:10,15', - // 'detail_nomor_hp_pic_marketing' => 'nullable|numeric|digits_between:10,15', - 'ijin_usaha_id' => 'nullable|array', + 'detail_nomor_hp_pic_marketing' => 'nullable', + 'ijin_usaha_id' => 'required|array', 'ijin_usaha_id.*' => 'exists:ijin_usaha,code', - 'jenis_aset_id' => 'nullable|array', + 'jenis_aset_id' => 'required|array', 'jenis_aset_id.*' => 'exists:jenis_jaminan,code', 'attachment' => 'nullable|mimes:pdf|max:1024' ]; @@ -81,126 +81,24 @@ class KJPPRequest extends FormRequest 'nomor_telepon_kantor.digits_between' => 'Nomor Telepon Kantor minimum 8 digit dan maksimum 15 digit!', 'email_kantor.required' => 'Email Kantor Wajib diisi!', 'email_kantor.email' => 'Email Kantor tidak valid!', - // 'detail_email_kantor.email' => 'Email Kantor tidak valid!', 'nama_pimpinan.required' => 'Nama Pimpinan Wajib diisi!', 'nama_pimpinan.not_regex' => 'Nama Pimpinan harus berupa huruf!', 'nomor_hp_pimpinan.required' => 'Nomor HP Pimpinan Wajib diisi!', 'nomor_hp_pimpinan.numeric' => 'Nomor HP Pimpinan harus berupa angka!', 'nomor_hp_pimpinan.digits_between' => 'Nomor HP Pimpinan minimum 10 digit dan maksimum 15 digit!', 'nama_pic_reviewer.not_regex' => 'Nama PIC Reviewer harus berupa huruf!', - // 'detail_nama_pic_reviewer.not_regex' => 'Nama PIC Reviewer harus berupa huruf!', 'nomor_hp_pic_reviewer.numeric' => 'Nomor HP PIC Reviewer harus berupa angka!', - // 'detail_nomor_hp_pic_reviewer.numeric' => 'Nomor HP PIC Reviewer harus berupa angka!', 'nomor_hp_pic_reviewer.digits_between' => 'Nomor HP PIC Reviewer minimum 10 digit dan maksimum 15 digit!', - // 'detail_nomor_hp_pic_reviewer.digits_between' => 'Nomor HP PIC Reviewer minimum 10 digit dan maksimum 15 digit!', 'nama_pic_admin.not_regex' => 'Nama PIC Admin harus berupa huruf!', - // 'detail_nama_pic_admin.not_regex' => 'Nama PIC Admin harus berupa huruf!', 'nomor_hp_pic_admin.numeric' => 'Nomor HP PIC Admin harus berupa angka!', - // 'detail_nomor_hp_pic_admin.numeric' => 'Nomor HP PIC Admin harus berupa angka!', 'nomor_hp_pic_admin.digits_between' => 'Nomor HP PIC Admin minimum 10 digit dan maksimum 15 digit!', - // 'detail_nomor_hp_pic_admin.digits_between' => 'Nomor HP PIC Admin minimum 10 digit dan maksimum 15 digit!', 'nama_pic_marketing.not_regex' => 'Nama PIC Marketing harus berupa huruf!', - // 'detail_nama_pic_marketing.not_regex' => 'Nama PIC Marketing harus berupa huruf!', 'nomor_hp_pic_marketing.numeric' => 'Nomor HP PIC Marketing harus berupa angka!', - // 'detail_nomor_hp_pic_marketing.numeric' => 'Nomor HP PIC Marketing harus berupa angka!', 'nomor_hp_pic_marketing.digits_between' => 'Nomor HP PIC Marketing minimum 10 digit dan maksimum 15 digit!', - // 'detail_nomor_hp_pic_marketing.digits_between' => 'Nomor HP PIC Marketing minimum 10 digit dan maksimum 15 digit!', 'ijin_usaha_id.required' => 'Ijin Usaha Wajib diisi!', - 'ijin_usaha_id.min' => 'Ijin Usaha Wajib diisi minimal satu atau lebih!', 'jenis_aset_id.required' => 'Jenis Aset Wajib diisi!', - 'jenis_aset_id.min' => 'Jenis Aset Wajib diisi minimal satu atau lebih!', 'attachment.mimes' => 'Attachment harus berformat pdf!', 'attachment.max' => 'Attachment berukuran maksimum 1 MB!', ]; } - - public function prepareForValidation() - { - $detailEmailKantor = []; - $detailNamaPicReviewer = []; - $detailNomorHpPicReviewer = []; - $detailNamaPicAdmin = []; - $detailNomorHpPicAdmin = []; - $detailNamaPicMarketing = []; - $detailNomorHpPicMarketing = []; - - // Get input data with safe default values - $emailKantor = $this->input('detail_email_kantor.email_kantor', []); - $namaPicReviewer = $this->input('detail_nama_pic_reviewer.nama_pic_reviewer', []); - $nomorHpPicReviewer = $this->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []); - $namaPicAdmin = $this->input('detail_nama_pic_admin.nama_pic_admin', []); - $nomorHpPicAdmin = $this->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []); - $namaPicMarketing = $this->input('detail_nama_pic_marketing.nama_pic_marketing', []); - $nomorHpPicMarketing = $this->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []); - - foreach ($emailKantor as $value) { - $detailEmailKantor[] = [ - 'email_kantor' => $value - ]; - } - - $this->merge([ - 'detail_email_kantor' => json_encode($detailEmailKantor), - ]); - - foreach ($namaPicReviewer as $value) { - $detailNamaPicReviewer[] = [ - 'nama_pic_reviewer' => $value - ]; - } - - $this->merge([ - 'detail_nama_pic_reviewer' => json_encode($detailNamaPicReviewer), - ]); - - foreach ($nomorHpPicReviewer as $value) { - $detailNomorHpPicReviewer[] = [ - 'nomor_hp_pic_reviewer' => $value - ]; - } - - $this->merge([ - 'detail_nomor_hp_pic_reviewer' => json_encode($detailNomorHpPicReviewer), - ]); - - foreach ($namaPicAdmin as $value) { - $detailNamaPicAdmin[] = [ - 'nama_pic_admin' => $value - ]; - } - - $this->merge([ - 'detail_nama_pic_admin' => json_encode($detailNamaPicAdmin), - ]); - - foreach ($nomorHpPicAdmin as $value) { - $detailNomorHpPicAdmin[] = [ - 'nomor_hp_pic_admin' => $value - ]; - } - - $this->merge([ - 'detail_nomor_hp_pic_admin' => json_encode($detailNomorHpPicAdmin), - ]); - - foreach ($namaPicMarketing as $value) { - $detailNamaPicMarketing[] = [ - 'nama_pic_marketing' => $value - ]; - } - - $this->merge([ - 'detail_nama_pic_marketing' => json_encode($detailNamaPicMarketing), - ]); - - foreach ($nomorHpPicMarketing as $value) { - $detailNomorHpPicMarketing[] = [ - 'nomor_hp_pic_marketing' => $value - ]; - } - - $this->merge([ - 'detail_nomor_hp_pic_marketing' => json_encode($detailNomorHpPicMarketing), - ]); - } } diff --git a/app/Models/KJPP.php b/app/Models/KJPP.php index 9072e12..b9f2e34 100644 --- a/app/Models/KJPP.php +++ b/app/Models/KJPP.php @@ -18,36 +18,5 @@ class KJPP extends Model /** * The attributes that are mass assignable. */ - protected $fillable = [ - 'code', - 'name', - 'jenis_kantor', - 'nomor_ijin_usaha', - 'province_code', - 'city_code', - 'district_code', - 'village_code', - 'address', - 'postal_code', - 'nomor_telepon_kantor', - 'email_kantor', - 'detail_email_kantor', - 'nama_pimpinan', - 'nomor_hp_pimpinan', - 'nama_pic_reviewer', - 'detail_nama_pic_reviewer', - 'nomor_hp_pic_reviewer', - 'detail_nomor_hp_pic_reviewer', - 'nama_pic_admin', - 'detail_nama_pic_admin', - 'nomor_hp_pic_admin', - 'detail_nomor_hp_pic_admin', - 'nama_pic_marketing', - 'detail_nama_pic_marketing', - 'nomor_hp_pic_marketing', - 'detail_nomor_hp_pic_marketing', - 'ijin_usaha_id', - 'jenis_aset_id', - 'attachment', - ]; + protected $guarded = ['id']; } diff --git a/database/migrations/2024_09_18_084905_create_kjpp_table.php b/database/migrations/2024_09_18_084905_create_kjpp_table.php index 8429fcc..0539cf6 100644 --- a/database/migrations/2024_09_18_084905_create_kjpp_table.php +++ b/database/migrations/2024_09_18_084905_create_kjpp_table.php @@ -25,14 +25,21 @@ return new class extends Migration $table->string('postal_code')->nullable(); $table->string('nomor_telepon_kantor')->nullable(); $table->string('email_kantor'); + $table->string('detail_email_kantor')->nullable(); $table->string('nama_pimpinan'); $table->string('nomor_hp_pimpinan'); $table->string('nama_pic_reviewer')->nullable(); + $table->string('detail_nama_pic_reviewer')->nullable(); $table->string('nomor_hp_pic_reviewer')->nullable(); + $table->string('detail_nomor_hp_pic_reviewer')->nullable(); $table->string('nama_pic_admin')->nullable(); + $table->string('detail_nama_pic_admin')->nullable(); $table->string('nomor_hp_pic_admin')->nullable(); + $table->string('detail_nomor_hp_pic_admin')->nullable(); $table->string('nama_pic_marketing')->nullable(); + $table->string('detail_nama_pic_marketing')->nullable(); $table->string('nomor_hp_pic_marketing')->nullable(); + $table->string('detail_nomor_hp_pic_marketing')->nullable(); $table->string('ijin_usaha_id'); $table->string('jenis_aset_id'); $table->string('attachment')->nullable(); diff --git a/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php b/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php index 7b14758..87c765e 100644 --- a/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php +++ b/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php @@ -15,6 +15,7 @@ return new class extends Migration $table->id(); $table->string('name'); $table->string('code'); + $table->unsignedBigInteger('kategori_jenis_aset_id'); // Add this line $table->foreign('kategori_jenis_aset_id')->references('id')->on('kategori_jenis_aset'); $table->boolean('status')->default(true); $table->char('authorized_status', 1)->nullable(); diff --git a/database/migrations/2024_11_05_031735_update_kjpp_table.php b/database/migrations/2024_11_05_031735_update_kjpp_table.php deleted file mode 100644 index 12d90ae..0000000 --- a/database/migrations/2024_11_05_031735_update_kjpp_table.php +++ /dev/null @@ -1,40 +0,0 @@ -string('detail_email_kantor')->nullable()->after('email_kantor'); - $table->string('detail_nama_pic_reviewer')->nullable()->after('nama_pic_reviewer'); - $table->string('detail_nomor_hp_pic_reviewer')->nullable()->after('nomor_hp_pic_reviewer'); - $table->string('detail_nama_pic_admin')->nullable()->after('nama_pic_admin'); - $table->string('detail_nomor_hp_pic_admin')->nullable()->after('nomor_hp_pic_admin'); - $table->string('detail_nama_pic_marketing')->nullable()->after('nama_pic_marketing'); - $table->string('detail_nomor_hp_pic_marketing')->nullable()->after('nomor_hp_pic_marketing'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('kjpp', function (Blueprint $table) { - $table->dropColumn('detail_email_kantor'); - $table->dropColumn('detail_nama_pic_reviewer'); - $table->dropColumn('detail_nomor_hp_pic_reviewer'); - $table->dropColumn('detail_nama_pic_admin'); - $table->dropColumn('detail_nomor_hp_pic_admin'); - $table->dropColumn('detail_nama_pic_marketing'); - $table->dropColumn('detail_nomor_hp_pic_marketing'); - }); - } -}; diff --git a/database/seeders/JenisLegalitasJaminanSeeder.php b/database/seeders/JenisLegalitasJaminanSeeder.php index 43ac917..516614c 100644 --- a/database/seeders/JenisLegalitasJaminanSeeder.php +++ b/database/seeders/JenisLegalitasJaminanSeeder.php @@ -31,6 +31,8 @@ class JenisLegalitasJaminanSeeder extends Seeder 'code' => 'JLJ002', 'name' => 'SHGB', 'slug' => 'shgb', + 'custom_field' => null, + 'custom_field_type' => null, 'status' => 1, 'created_at' => now(), 'updated_at' => now(), @@ -43,6 +45,8 @@ class JenisLegalitasJaminanSeeder extends Seeder 'code' => 'JLJ003', 'name' => 'Copy PBB / NJOP Tahun Terakhir (Jika Ada)', 'slug' => 'copy-pbb-njop-tahun-terakhir-jika-ada', + 'custom_field' => null, + 'custom_field_type' => null, 'status' => 1, 'created_at' => now(), 'updated_at' => now(), @@ -55,6 +59,8 @@ class JenisLegalitasJaminanSeeder extends Seeder 'code' => 'JLJ004', 'name' => 'Copy NPWP Perusahaan/Perorangan', 'slug' => 'copy-npwp-perusahaanperorangan', + 'custom_field' => null, + 'custom_field_type' => null, 'status' => 1, 'created_at' => now(), 'updated_at' => now(), @@ -67,6 +73,8 @@ class JenisLegalitasJaminanSeeder extends Seeder 'code' => 'JLJ005', 'name' => 'Siteplan', 'slug' => 'siteplan', + 'custom_field' => null, + 'custom_field_type' => null, 'status' => 1, 'created_at' => now(), 'updated_at' => now(), @@ -79,6 +87,8 @@ class JenisLegalitasJaminanSeeder extends Seeder 'code' => 'JLJ006', 'name' => 'Surat Pernyataan Kebenaran Data (Surat Representasi)', 'slug' => 'surat-pernyataan-kebenaran-data-surat-representasi', + 'custom_field' => null, + 'custom_field_type' => null, 'status' => 1, 'created_at' => now(), 'updated_at' => now(), diff --git a/database/seeders/LpjDatabaseSeeder.php b/database/seeders/LpjDatabaseSeeder.php index 53a1b25..0377451 100644 --- a/database/seeders/LpjDatabaseSeeder.php +++ b/database/seeders/LpjDatabaseSeeder.php @@ -12,34 +12,34 @@ class LpjDatabaseSeeder extends Seeder public function run(): void { $this->call([ - // BranchSeeder::class, - // CurrencySeeder::class, - // JenisFasilitasKreditSeeder::class, - // JenisLegalitasJaminanSeeder::class, - // JenisJaminanSeeder::class, - // JenisDokumenSeeder::class, - // TujuanPenilaianSeeder::class, - // NilaiPlatformSeeder::class, - // HubunganPemilikJaminanSeeder::class, - // HubunganPenghuniJaminanSeeder::class, - // ArahMataAnginSeeder::class, - // StatusPermohonanSeeder::class, - // RegionSeeder::class, - // TeamsSeeder::class, - // TeamUsersSeeder::class, - // JenisPenilaianSeeder::class, - // TujuanPenilaianKJPPSeeder::class, - // IjinUsahaSeeder::class, - // JenisLaporanSeeder::class, - // DebitureSeeder::class, - // PermohonanSeeder::class, + BranchSeeder::class, + CurrencySeeder::class, + JenisFasilitasKreditSeeder::class, + JenisLegalitasJaminanSeeder::class, + JenisJaminanSeeder::class, + JenisDokumenSeeder::class, + TujuanPenilaianSeeder::class, + NilaiPlatformSeeder::class, + HubunganPemilikJaminanSeeder::class, + HubunganPenghuniJaminanSeeder::class, + ArahMataAnginSeeder::class, + StatusPermohonanSeeder::class, + RegionSeeder::class, + TeamsSeeder::class, + TeamUsersSeeder::class, + JenisPenilaianSeeder::class, + TujuanPenilaianKJPPSeeder::class, + IjinUsahaSeeder::class, + JenisLaporanSeeder::class, + DebitureSeeder::class, + PermohonanSeeder::class, PemilikJaminanSeeder::class, - // DokumenJaminanSeeder::class, - // DetailDokumenJaminanSeeder::class, - // KJPPSeeder::class, - // PenawaranSeeder::class, - // DetailPenawaranSeeder::class, - // PenilaianSeeder::class, + DokumenJaminanSeeder::class, + DetailDokumenJaminanSeeder::class, + KJPPSeeder::class, + PenawaranSeeder::class, + DetailPenawaranSeeder::class, + PenilaianSeeder::class, ]); } } diff --git a/resources/views/kjpp/create.blade.php b/resources/views/kjpp/create.blade.php index f2b5e45..46fba2a 100644 --- a/resources/views/kjpp/create.blade.php +++ b/resources/views/kjpp/create.blade.php @@ -229,20 +229,22 @@ {{ $message }} @enderror
- @foreach ($ijin_usaha as $iu) - {{ $iu->code }} - @endforeach + {{ $kjpp->nomor_ijin_usaha }}
{{ $kjpp->address }} , Kel. - @foreach ($villages as $village) - {{ $village->name }} - @endforeach , Kec. - @foreach ($districts as $district) - {{ $district->name }} - @endforeach , - @foreach ($cities as $city) - {{ ucwords(strtolower($city->name)) }} - @endforeach , - @foreach ($provinces as $province) - {{ $province->name }} - @endforeach, Kode Pos. - @foreach ($villages as $village) - {{ $village->postal_code }} - @endforeach +
{{ $kjpp->address }} + @if (isset($kjpp->village_code)) + , Kel. + @foreach ($villages as $village) + {{ $village->name }} + @endforeach + @endif + @if (isset($kjpp->district_code)) + , Kec. + @foreach ($districts as $district) + {{ $district->name }} + @endforeach + @endif + @if (isset($kjpp->city_code)) + ,@foreach ($cities as $city) + {{ ucwords(strtolower($city->name)) }} + @endforeach + @endif + @if (isset($kjpp->province_code)) + , + @foreach ($provinces as $province) + {{ $province->name }} + @endforeach + @endif + @if (isset($kjpp->postal_code)) + , Kode Pos. + @foreach ($villages as $village) + {{ $village->postal_code }} + @endforeach + @endif
{{ $kjpp->email_kantor }}
+ @if (isset($kjpp->detail_email_kantor)) + @foreach (json_decode($kjpp->detail_email_kantor) as $detail_email_kantor) ++ {{ $detail_email_kantor->email_kantor }} +
+ @endforeach + @endif{{ $kjpp->nama_pic_reviewer }}
+ @if (isset($kjpp->detail_nama_pic_reviewer)) + @foreach (json_decode($kjpp->detail_nama_pic_reviewer) as $detail_nama_pic_reviewer) ++ {{ $detail_nama_pic_reviewer->nama_pic_reviewer }} +
+ @endforeach + @endif{{ $kjpp->nomor_hp_pic_reviewer }}
+ @if (isset($kjpp->detail_nomor_hp_pic_reviewer)) + @foreach (json_decode($kjpp->detail_nomor_hp_pic_reviewer) as $detail_nomor_hp_pic_reviewer) ++ {{ $detail_nomor_hp_pic_reviewer->nomor_hp_pic_reviewer }} +
+ @endforeach + @endif{{ $kjpp->nama_pic_admin }}
+ @if (isset($kjpp->detail_nama_pic_admin)) + @foreach (json_decode($kjpp->detail_nama_pic_admin) as $detail_nama_pic_admin) ++ {{ $detail_nama_pic_admin->nama_pic_admin }} +
+ @endforeach + @endif{{ $kjpp->nomor_hp_pic_admin }}
+ @if (isset($kjpp->detail_nomor_hp_pic_admin)) + @foreach (json_decode($kjpp->detail_nomor_hp_pic_admin) as $detail_nomor_hp_pic_admin) ++ {{ $detail_nomor_hp_pic_admin->nomor_hp_pic_admin }} +
+ @endforeach + @endif{{ $kjpp->nama_pic_marketing }}
+ @if (isset($kjpp->detail_nama_pic_marketing)) + @foreach (json_decode($kjpp->detail_nama_pic_marketing) as $detail_nama_pic_marketing) ++ {{ $detail_nama_pic_marketing->nama_pic_marketing }} +
+ @endforeach + @endif{{ $kjpp->nomor_hp_pic_marketing }}
+ @if (isset($kjpp->detail_nomor_hp_pic_marketing)) + @foreach (json_decode($kjpp->detail_nomor_hp_pic_marketing) as $detail_nomor_hp_pic_marketing) ++ {{ $detail_nomor_hp_pic_marketing->nomor_hp_pic_marketing }} +
+ @endforeach + @endif