Revert "Memperbaiki KJPP Basic data dari create, edit, dan show yang bug"

This reverts commit 967be7019d.
This commit is contained in:
2024-12-13 08:56:24 +07:00
parent 2c8a9a9caf
commit 6e64f86521
6 changed files with 575 additions and 455 deletions

View File

@@ -45,17 +45,7 @@ class KJPPController extends Controller
// Combine KJPP number with branch code
$fullKjppNumber = $kjppNumber;
$emailKantor = [];
$namaPimpinan = [];
$nomorHpPimpinan = [];
$namaPicReviewer = [];
$nomorHpPicReviewer = [];
$namaPicAdmin = [];
$nomorHpPicAdmin = [];
$namaPicMarketing = [];
$nomorHpPicMarketing = [];
return view('lpj::kjpp.create', compact('ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber', 'emailKantor', 'namaPimpinan', 'nomorHpPimpinan', 'namaPicReviewer', 'nomorHpPicReviewer', 'namaPicAdmin', 'nomorHpPicAdmin', 'namaPicMarketing', 'nomorHpPicMarketing'));
return view('lpj::kjpp.create', compact('ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber'));
}
/**
@@ -65,54 +55,142 @@ class KJPPController extends Controller
{
$validated = $request->validated();
$validated['email_kantor'] = json_encode($validated['email_kantor']);
$validated['nama_pimpinan'] = json_encode($validated['nama_pimpinan']);
$validated['nomor_hp_pimpinan'] = json_encode($validated['nomor_hp_pimpinan']);
$validated['nama_pic_reviewer'] = json_encode($validated['nama_pic_reviewer']);
$validated['nomor_hp_pic_reviewer'] = json_encode($validated['nomor_hp_pic_reviewer']);
$validated['nama_pic_admin'] = json_encode($validated['nama_pic_admin']);
$validated['nomor_hp_pic_admin'] = json_encode($validated['nomor_hp_pic_admin']);
$validated['nama_pic_marketing'] = json_encode($validated['nama_pic_marketing']);
$validated['nomor_hp_pic_marketing'] = json_encode($validated['nomor_hp_pic_marketing']);
// Konversi array ke JSON untuk ijin_usaha_id
$validated['ijin_usaha_id'] = json_encode($validated['ijin_usaha_id']);
// Konversi jenis_aset_id ke JSON, dengan penanganan array kosong
$validated['jenis_aset_id'] = $validated['jenis_aset_id']
? json_encode($validated['jenis_aset_id'])
: json_encode([]);
if ($validated) {
$detailEmailKantor = [];
$detailNamaPimpinan = [];
$detailNomorPicPimpinan = [];
$detailNamaPicReviewer = [];
$detailNomorHpPicReviewer = [];
$detailNamaPicAdmin = [];
$detailNomorHpPicAdmin = [];
$detailNamaPicMarketing = [];
$detailNomorHpPicMarketing = [];
$emailKantor = $request->input('detail_email_kantor.email_kantor', []);
$namaPimpinan = $request->input('detail_nama_pimpinan.nama_pimpinan', []);
$nomorHpPimpinan = $request->input('detail_nomor_hp_pimpinan.nomor_hp_pimpinan', []);
$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_pimpinan
foreach ($namaPimpinan as $value) {
$detailNamaPimpinan[] = [
'nama_pimpinan' => $value
];
}
$detailNamaPimpinanJson = json_encode($detailNamaPimpinan);
// Process detail_nomor_pic_pimpinan
foreach ($nomorHpPimpinan as $value) {
$detailNomorPicPimpinan[] = [
'nomor_hp_pimpinan' => $value
];
}
$detailNomorPicPimpinanJson = json_encode($detailNomorPicPimpinan);
// 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);
// Handle file attachment
if ($request->hasFile('attachment')) {
$file = $request->file('attachment');
$filename = time() . '.' . $file->getClientOriginalExtension();
$filename = $file ? time() . '.' . $file->getClientOriginalExtension() : 'default.pdf';
// Simpan file
$file->storeAs('public/uploads_pdf', $filename);
if ($file) {
// Simpan file yang diunggah
$file->storeAs('public/uploads_pdf', $filename);
} else {
// Salin file default ke lokasi yang diinginkan
Storage::copy('public/test/default.pdf', 'public/uploads_pdf/' . $filename);
}
$validated['detail_email_kantor'] = $detailEmailKantorJson;
$validated['detail_nama_pimpinan'] = $detailNamaPimpinanJson;
$validated['detail_nomor_hp_pimpinan'] = $detailNomorPicPimpinanJson;
$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']);
if (empty($validated['jenis_aset_id'])) {
$validated['jenis_aset_id'] = json_encode([]);
} else {
$validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']);
}
// Tambahkan nama file ke data yang divalidasi
$validated['attachment'] = $filename;
} else {
// Gunakan file default jika tidak ada file yang diunggah
$defaultFilename = 'default.pdf';
Storage::copy('public/test/default.pdf', 'public/uploads_pdf/' . $defaultFilename);
$validated['attachment'] = $defaultFilename;
}
// Hapus baris dd() sebelum membuat record
// dd($validated);
// dd($validated);
try {
// Buat record KJPP
$kjpp = KJPP::create($validated);
// Simpan data ke database
KJPP::create($validated);
return redirect()
->route('basicdata.kjpp.index')
->with('success', 'KJPP created successfully');
} catch (\Exception $e) {
// Tangani kesalahan jika ada
} else {
return redirect()
->route('basicdata.kjpp.create')
->with('error', 'Failed to create KJPP: ' . $e->getMessage());
->with('error', 'Validation failed');
}
}
@@ -129,18 +207,46 @@ 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();
$detailEmailKantor = json_decode($kjpp->detail_email_kantor);
$detailNamaPimpinan = json_decode($kjpp->detail_nama_pimpinan);
$detailNomorHpPimpinan = json_decode($kjpp->detail_nomor_hp_pimpinan);
$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);
$emailKantor = json_decode($kjpp->email_kantor);
$namaPimpinan = json_decode($kjpp->nama_pimpinan);
$nomorHpPimpinan = json_decode($kjpp->nomor_hp_pimpinan);
$namaPicReviewer = json_decode($kjpp->nama_pic_reviewer);
$nomorHpPicReviewer = json_decode($kjpp->nomor_hp_pic_reviewer);
$namaPicAdmin = json_decode($kjpp->nama_pic_admin);
$nomorHpPicAdmin = json_decode($kjpp->nomor_hp_pic_admin);
$namaPicMarketing = json_decode($kjpp->nama_pic_marketing);
$nomorHpPicMarketing = json_decode($kjpp->nomor_hp_pic_marketing);
$detailJoinPimpinan = json_encode(array_map(function ($nama, $nomor) {
return [
'nama_pimpinan' => $nama->nama_pimpinan,
'nomor_hp_pimpinan' => $nomor->nomor_hp_pimpinan
];
}, $detailNamaPimpinan, $detailNomorHpPimpinan));
return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages', 'emailKantor', 'namaPimpinan', 'nomorHpPimpinan', 'namaPicReviewer', 'nomorHpPicReviewer', 'namaPicAdmin', 'nomorHpPicAdmin', 'namaPicMarketing', 'nomorHpPicMarketing'));
$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', 'detailJoinPimpinan'));
}
/**
@@ -155,19 +261,49 @@ 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);
$detailNamaPimpinan = json_decode($kjpp->detail_nama_pimpinan);
$detailNomorHpPimpinan = json_decode($kjpp->detail_nomor_hp_pimpinan);
$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);
$emailKantor = json_decode($kjpp->email_kantor);
$namaPimpinan = json_decode($kjpp->nama_pimpinan);
$nomorHpPimpinan = json_decode($kjpp->nomor_hp_pimpinan);
$namaPicReviewer = json_decode($kjpp->nama_pic_reviewer);
$nomorHpPicReviewer = json_decode($kjpp->nomor_hp_pic_reviewer);
$namaPicAdmin = json_decode($kjpp->nama_pic_admin);
$nomorHpPicAdmin = json_decode($kjpp->nomor_hp_pic_admin);
$namaPicMarketing = json_decode($kjpp->nama_pic_marketing);
$nomorHpPicMarketing = json_decode($kjpp->nomor_hp_pic_marketing);
// dd($detailNamaPimpinan);
$detailJoinPimpinan = json_encode(array_map(function ($nama, $nomor) {
return [
'nama_pimpinan' => $nama->nama_pimpinan,
'nomor_hp_pimpinan' => $nomor->nomor_hp_pimpinan
];
}, $detailNamaPimpinan, $detailNomorHpPimpinan));
return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages', 'emailKantor', 'namaPimpinan', 'nomorHpPimpinan', 'namaPicReviewer', 'nomorHpPicReviewer', 'namaPicAdmin', 'nomorHpPicAdmin', 'namaPicMarketing', 'nomorHpPicMarketing'));
// dd($detailJoinPimpinan);
$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', 'detailJoinPimpinan'));
}
/**
@@ -177,7 +313,102 @@ class KJPPController extends Controller
{
$validated = $request->validated();
// dd($validated);
if ($validated) {
$detailEmailKantor = [];
$detailNamaPimpinan = [];
$detailNomorHpPimpinan = [];
$detailNamaPicReviewer = [];
$detailNomorHpPicReviewer = [];
$detailNamaPicAdmin = [];
$detailNomorHpPicAdmin = [];
$detailNamaPicMarketing = [];
$detailNomorHpPicMarketing = [];
$emailKantor = $request->input('detail_email_kantor.email_kantor', []);
$namaPimpinan = $request->input('detail_nama_pimpinan.nama_pimpinan', []);
$nomorHpPimpinan = $request->input('detail_nomor_hp_pimpinan.nomor_hp_pimpinan', []);
$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_pimpinan
foreach ($namaPimpinan as $value) {
$detailNamaPimpinan[] = [
'nama_pimpinan' => $value
];
}
$detailNamaPimpinanJson = json_encode($detailNamaPimpinan);
// Process detail_nomor_hp_pimpinan
foreach ($nomorHpPimpinan as $value) {
$detailNomorHpPimpinan[] = [
'nomor_hp_pimpinan' => $value
];
}
$detailNomorHpPimpinanJson = json_encode($detailNomorHpPimpinan);
// 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;
@@ -197,16 +428,15 @@ class KJPPController extends Controller
$validated['attachment'] = $kjpp->attachment ?? 'default.pdf';
}
$validated['email_kantor'] = json_encode($validated['email_kantor']);
$validated['nama_pimpinan'] = json_encode($validated['nama_pimpinan']);
$validated['nomor_hp_pimpinan'] = json_encode($validated['nomor_hp_pimpinan']);
$validated['nama_pic_reviewer'] = json_encode($validated['nama_pic_reviewer']);
$validated['nomor_hp_pic_reviewer'] = json_encode($validated['nomor_hp_pic_reviewer']);
$validated['nama_pic_admin'] = json_encode($validated['nama_pic_admin']);
$validated['nomor_hp_pic_admin'] = json_encode($validated['nomor_hp_pic_admin']);
$validated['nama_pic_marketing'] = json_encode($validated['nama_pic_marketing']);
$validated['nomor_hp_pic_marketing'] = json_encode($validated['nomor_hp_pic_marketing']);
$validated['detail_email_kantor'] = $detailEmailKantorJson;
$validated['detail_nama_pimpinan'] = $detailNamaPimpinanJson;
$validated['detail_nomor_hp_pimpinan'] = $detailNomorHpPimpinanJson;
$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']);
if (empty($validated['jenis_aset_id'])) {
$validated['jenis_aset_id'] = json_encode([]);
@@ -214,8 +444,6 @@ class KJPPController extends Controller
$validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']);
}
// dd($validated);
// Perbarui data di database
KJPP::where('id', $id)->update($validated);