Refactor and optimize RegistrasiController

Menghapus komentar yang tidak diperlukan, merapikan kode, dan menambahkan dependensi yang hilang. Perubahan ini juga mencakup optimalisasi pengambilan data serta perbaikan penanganan permintaan AJAX pada metode setData dan update.
This commit is contained in:
Daeng Deni Mardaeni
2024-11-14 03:15:45 +07:00
parent 02c04a4346
commit 4eba7f893a

View File

@@ -4,28 +4,14 @@
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Exception; use Exception;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
// use Modules\Location\Models\City;
// use Modules\Location\Models\District;
// use Modules\Location\Models\Province;
// use Modules\Location\Models\Village;
// use Modules\Lpj\Exports\DebitureExport;
// use Modules\Lpj\Http\Requests\DebitureRequest;
// use Modules\Lpj\Http\Requests\DokumenJaminanRequest;
// use Modules\Lpj\Models\Branch;
// use Modules\Lpj\Models\Debiture;
// use Modules\Lpj\Models\DokumenJaminan;
// use Modules\Lpj\Models\JenisJaminan;
// use Modules\Lpj\Models\JenisLegalitasJaminan;
// use Modules\Lpj\Models\PemilikJaminan;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Regions;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Regions;
class RegistrasiController extends Controller class RegistrasiController extends Controller
{ {
@@ -43,7 +29,7 @@
} }
// Retrieve data from the database // Retrieve data from the database
$query = Permohonan::query()->where('status','=','preregister'); $query = Permohonan::query()->where('status', '=', 'preregister');
// Apply search filter if provided // Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) { if ($request->has('search') && !empty($request->get('search'))) {
@@ -107,44 +93,44 @@
return view('lpj::registrasi.edit', compact('id')); return view('lpj::registrasi.edit', compact('id'));
} }
public function setData(Request $request): JsonResponse public function setData(Request $request)
{ : JsonResponse {
$data = array(); $data = [];
$datas = array(); $datas = [];
if (request()->ajax()) { if (request()->ajax()) {
$id = $request->id; $id = $request->id;
$datas = Permohonan::find($id); $datas = Permohonan::find($id);
if ($datas) { if ($datas) {
$jenisPenilaians=null; $jenisPenilaians = null;
$regions=null; $regions = null;
$regions=Regions::pluck('name', 'id'); $regions = Regions::pluck('name', 'id');
$jenisPenilaians=JenisPenilaian::pluck('name', 'id'); $jenisPenilaians = JenisPenilaian::pluck('name', 'id');
$data['status'] = 'success'; $data['status'] = 'success';
$data['regions'] = $regions; $data['regions'] = $regions;
$data['jenisPenilaians'] = $jenisPenilaians; $data['jenisPenilaians'] = $jenisPenilaians;
$data['datas'] = $datas; $data['datas'] = $datas;
$data['message'] ['message_success'] = array("data successfully found"); $data['message'] ['message_success'] = ["data successfully found"];
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['datas'] = null; $data['datas'] = null;
$data['message'] ['message_data'] = array("data not found"); $data['message'] ['message_data'] = ["data not found"];
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_ajax'] = array("no ajax request"); $data['message'] ['message_ajax'] = ["no ajax request"];
} }
return response()->json($data); return response()->json($data);
} }
public function update(Request $request, $id): JsonResponse public function update(Request $request, $id)
{ : JsonResponse {
// init // init
$data = array(); $data = [];
$dataku = array(); $dataku = [];
$tindakan = null; $tindakan = null;
if (request()->ajax()) { if (request()->ajax()) {
$validator = RegistrasiController::rulesEditnya($request, $id); $validator = RegistrasiController::rulesEditnya($request, $id);
@@ -152,61 +138,54 @@
if ($validator['fails']) { if ($validator['fails']) {
$data['message'] = $validator['errors']; $data['message'] = $validator['errors'];
$data['status'] = 'error'; $data['status'] = 'error';
} } else {
else
{
try { try {
$tindakan = $request->tindakan;
$tindakan=$request->tindakan; $dataku = [
$dataku = ['registrasi_by' => Auth::id(), 'registrasi_by' => Auth::id(),
'registrasi_at' => now() 'registrasi_at' => now(),
]; ];
if($tindakan==0) if ($tindakan == 0) {
{ $dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
$dataku['jenis_penilaian_id'] =$request->jenis_penilaian; $dataku['region_id'] = $request->region;
$dataku['region_id'] =$request->region;
$dataku['status'] = 'registered'; $dataku['status'] = 'registered';
if($request->catatan2) if ($request->catatan2) {
$dataku['registrasi_catatan'] =$request->catatan2; $dataku['registrasi_catatan'] = $request->catatan2;
} }
else } else {
{ $dataku['registrasi_catatan'] = $request->catatan;
$dataku['registrasi_catatan'] =$request->catatan;
$dataku['status'] = 'revisi'; $dataku['status'] = 'revisi';
} }
$data['dataku'] =$dataku; $data['dataku'] = $dataku;
$modal = Permohonan::find($id); $modal = Permohonan::find($id);
$modal->update($dataku); $modal->update($dataku);
// //
$data['status'] = 'success'; $data['status'] = 'success';
$data['message'] ['message_success'] = array('Regitrasi '.$modal->nomor_registrasi.' successfully'); $data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
} catch (Exception $e) { } catch (Exception $e) {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_try_catch'] = array('Regitrasi updated failed.'); $data['message'] ['message_try_catch'] = ['Regitrasi updated failed.'];
} }
} }
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['message'] ['message_ajax'] = array("no ajax request"); $data['message'] ['message_ajax'] = ["no ajax request"];
} }
return response()->json($data); return response()->json($data);
} }
public function rulesEditnya($request, $id) public function rulesEditnya($request, $id)
{ {
$tindakan=null; $tindakan = null;
$jenis_penilaian=null; $jenis_penilaian = null;
$validate_catatan=''; $validate_catatan = '';
$tindakan=$request->tindakan; $tindakan = $request->tindakan;
$jenis_penilaian=$request->jenis_penilaian; $jenis_penilaian = $request->jenis_penilaian;
$validateIt = [ $validateIt = [
// 'name' diambil dari definisi parameter yang di kirim pada POST Data // 'name' diambil dari definisi parameter yang di kirim pada POST Data
@@ -214,25 +193,21 @@
]; ];
$messageIt = [ $messageIt = [
'tindakan.required' => 'Silahkan pilih Tindakan' 'tindakan.required' => 'Silahkan pilih Tindakan',
]; ];
if($tindakan==0) if ($tindakan == 0) {
{
$validateIt['jenis_penilaian'] = ['required']; $validateIt['jenis_penilaian'] = ['required'];
$messageIt ['jenis_penilaian.required']= 'Silahkan pilih Jenis Penilaian'; $messageIt ['jenis_penilaian.required'] = 'Silahkan pilih Jenis Penilaian';
// INTERNAL // INTERNAL
if(1==$jenis_penilaian) if (1 == $jenis_penilaian) {
{
$validateIt['region'] = ['required']; $validateIt['region'] = ['required'];
$messageIt ['region.required']= 'Silahkan pilih Region'; $messageIt ['region.required'] = 'Silahkan pilih Region';
} }
} } elseif ($tindakan == 1) {
elseif($tindakan==1)
{
$validateIt['catatan'] = ['required']; $validateIt['catatan'] = ['required'];
$messageIt ['catatan.required']= 'Silahkan isi Catatan'; $messageIt ['catatan.required'] = 'Silahkan isi Catatan';
} }
$validator = Validator::make($request->all(), $validateIt, $messageIt); $validator = Validator::make($request->all(), $validateIt, $messageIt);
@@ -246,7 +221,7 @@
public function show($id) public function show($id)
{ {
$permohonan = Permohonan::find($id); $permohonan = Permohonan::find($id);
return view('lpj::registrasi.show', compact('id','permohonan')); return view('lpj::registrasi.show', compact('id', 'permohonan'));
} }
} }