refactor(controllers): perbaikan struktur kode controllers Permohonan dan Penilai
- Reformat kode untuk meningkatkan keterbacaan, termasuk penghapusan spasi kosong yang tidak diperlukan. - Penyesuaian indentasi dan konsistensi format import pada `PermohonanController`. - Optimasi fungsi data handling pada fungsi-fungsi terkait permohonan seperti `update`, `destroy`, `dataForDatatables`, dan `dataForAuthorization`. - Penyesuaian pemetaan data output dalam format JSON pada datatables. - Penghapusan elemen komentar yang tidak relevan atau redundant. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -3,15 +3,16 @@
|
|||||||
namespace Modules\Lpj\Http\Controllers;
|
namespace Modules\Lpj\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Barryvdh\DomPDF\Facade\Pdf;
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Modules\Location\Models\City;
|
use Modules\Location\Models\City;
|
||||||
use Modules\Location\Models\District;
|
use Modules\Location\Models\District;
|
||||||
use Modules\Location\Models\Province;
|
use Modules\Location\Models\Province;
|
||||||
use Modules\Location\Models\Village;
|
use Modules\Location\Models\Village;
|
||||||
use Modules\Lpj\Models\PermohonanPembatalan;
|
|
||||||
use Modules\Lpj\Exports\PermohonanExport;
|
use Modules\Lpj\Exports\PermohonanExport;
|
||||||
use Modules\Lpj\Http\Requests\PermohonanRequest;
|
use Modules\Lpj\Http\Requests\PermohonanRequest;
|
||||||
use Modules\Lpj\Models\Branch;
|
use Modules\Lpj\Models\Branch;
|
||||||
@@ -19,16 +20,12 @@ use Modules\Lpj\Models\Debiture;
|
|||||||
use Modules\Lpj\Models\DokumenJaminan;
|
use Modules\Lpj\Models\DokumenJaminan;
|
||||||
use Modules\Lpj\Models\JenisFasilitasKredit;
|
use Modules\Lpj\Models\JenisFasilitasKredit;
|
||||||
use Modules\Lpj\Models\NilaiPlafond;
|
use Modules\Lpj\Models\NilaiPlafond;
|
||||||
|
use Modules\Lpj\Models\Penilaian;
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
|
use Modules\Lpj\Models\PermohonanPembatalan;
|
||||||
use Modules\Lpj\Models\StatusPermohonan;
|
use Modules\Lpj\Models\StatusPermohonan;
|
||||||
use Modules\Lpj\Models\TujuanPenilaian;
|
use Modules\Lpj\Models\TujuanPenilaian;
|
||||||
use Modules\Lpj\Notifications\PermohonanNotif;
|
|
||||||
use Modules\Lpj\Services\PermohonanHistoryService;
|
use Modules\Lpj\Services\PermohonanHistoryService;
|
||||||
use Illuminate\Support\Facades\Auth;
|
|
||||||
use Illuminate\Http\JsonResponse;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use Modules\Lpj\Models\Penilaian;
|
|
||||||
use Modules\Usermanagement\Models\User;
|
|
||||||
|
|
||||||
class PermohonanController extends Controller
|
class PermohonanController extends Controller
|
||||||
{
|
{
|
||||||
@@ -77,7 +74,10 @@ class PermohonanController extends Controller
|
|||||||
|
|
||||||
$documents = DokumenJaminan::where('permohonan_id', $permohonan->id)->get();
|
$documents = DokumenJaminan::where('permohonan_id', $permohonan->id)->get();
|
||||||
if (count($documents) < 1) {
|
if (count($documents) < 1) {
|
||||||
return redirect()->route('debitur.jaminan.create', array_merge(['permohonan_id' => $permohonan->id], ['id' => $permohonan->debiture->id]))->with('success', 'Permohonan created successfully, Lengkapi data jaminan terlebih dahulu');
|
return redirect()->route(
|
||||||
|
'debitur.jaminan.create',
|
||||||
|
array_merge(['permohonan_id' => $permohonan->id], ['id' => $permohonan->debiture->id]),
|
||||||
|
)->with('success', 'Permohonan created successfully, Lengkapi data jaminan terlebih dahulu');
|
||||||
}
|
}
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('permohonan.index')->with('success', 'Permohonan created successfully');
|
->route('permohonan.index')->with('success', 'Permohonan created successfully');
|
||||||
@@ -146,35 +146,6 @@ class PermohonanController extends Controller
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(PermohonanRequest $request, $id)
|
|
||||||
{
|
|
||||||
$permohonan = Permohonan::findOrFail($id);
|
|
||||||
$beforeRequest = $permohonan->toArray();
|
|
||||||
|
|
||||||
$validate = $request->validated();
|
|
||||||
if ($validate) {
|
|
||||||
try {
|
|
||||||
// Update in database
|
|
||||||
|
|
||||||
if ($permohonan->status == 'revisi') {
|
|
||||||
$validate['status'] = 'order';
|
|
||||||
}
|
|
||||||
$permohonan->update($validate);
|
|
||||||
|
|
||||||
$documents = DokumenJaminan::where('permohonan_id', $permohonan->id)->get();
|
|
||||||
if (count($documents) < 1) {
|
|
||||||
return redirect()->route('debitur.jaminan.create', array_merge(['permohonan_id' => $permohonan->id], ['id' => $permohonan->debiture->id]))->with('success', 'Permohonan created successfully, Lengkapi data jaminan terlebih dahulu');
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()
|
|
||||||
->route('permohonan.index')->with('success', 'Permohonan updated successfully');
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return redirect()
|
|
||||||
->route('permohonan.edit', $id)->with('error', 'Failed to update permohonan');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -244,7 +215,37 @@ class PermohonanController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Get the data for the current page
|
// Get the data for the current page
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian','documents'])->get();
|
$data = $query->get();
|
||||||
|
|
||||||
|
$data = $data->map(function ($item) {
|
||||||
|
return [
|
||||||
|
'id' => $item->id,
|
||||||
|
'nomor_registrasi' => $item->nomor_registrasi,
|
||||||
|
'mig_mst_lpj_nomor_jaminan' => $item->mig_mst_lpj_nomor_jaminan,
|
||||||
|
'tanggal_permohonan' => $item->tanggal_permohonan ? dateFormat(
|
||||||
|
$item->tanggal_permohonan,
|
||||||
|
) : null,
|
||||||
|
'pemohon' => $item->user->name ?? 'N/A',
|
||||||
|
'branch' => $item->branch->name ?? 'N/A',
|
||||||
|
'debiture' => [
|
||||||
|
'name' => $item->debiture->name,
|
||||||
|
],
|
||||||
|
'tujuan_penilaian' => [
|
||||||
|
'code' => $item->tujuanPenilaian->code ?? null,
|
||||||
|
'name' => $item->tujuanPenilaian->name ?? null,
|
||||||
|
],
|
||||||
|
'status' => $item->status,
|
||||||
|
'documents' => count($item->documents),
|
||||||
|
'keterangan' => $item->keterangan,
|
||||||
|
'penilaian' => [
|
||||||
|
'id' => $item->penilaian->id ?? null,
|
||||||
|
'waktu_penilaian' => $item->penilaian->waktu_penilaian ?? null,
|
||||||
|
'rejected_note' => $item->penilaian->rejected_note ?? null,
|
||||||
|
'authorized_status' => $item->penilaian->authorized_status ?? null,
|
||||||
|
],
|
||||||
|
'registrasi_catatan' => $item->registrasi_catatan,
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
// Calculate the page count
|
// Calculate the page count
|
||||||
$pageCount = ceil($totalRecords / $size);
|
$pageCount = ceil($totalRecords / $size);
|
||||||
@@ -324,8 +325,7 @@ class PermohonanController extends Controller
|
|||||||
$filteredRecords = $query->count();
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
// Get the data for the current page
|
// Get the data for the current page
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(
|
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||||
);
|
|
||||||
|
|
||||||
// Calculate the page count
|
// Calculate the page count
|
||||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||||
@@ -387,7 +387,6 @@ class PermohonanController extends Controller
|
|||||||
return view('lpj::permohonan.pembatalan-form', compact('permohonan'));
|
return view('lpj::permohonan.pembatalan-form', compact('permohonan'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function pembatalan(Request $request)
|
public function pembatalan(Request $request)
|
||||||
{
|
{
|
||||||
// Validate the request
|
// Validate the request
|
||||||
@@ -414,8 +413,8 @@ class PermohonanController extends Controller
|
|||||||
return redirect()->route('permohonan.index')->with('success', 'Pembatalan Permohonan Menunggu Approval');
|
return redirect()->route('permohonan.index')->with('success', 'Pembatalan Permohonan Menunggu Approval');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function storeAproved(Request $request, $id): JsonResponse
|
public function storeAproved(Request $request, $id)
|
||||||
{
|
: JsonResponse {
|
||||||
$data = [];
|
$data = [];
|
||||||
if (request()->ajax()) {
|
if (request()->ajax()) {
|
||||||
try {
|
try {
|
||||||
@@ -427,16 +426,15 @@ class PermohonanController extends Controller
|
|||||||
$permohonan = Permohonan::findOrFail($request->permohonan_id);
|
$permohonan = Permohonan::findOrFail($request->permohonan_id);
|
||||||
|
|
||||||
$permohonan->update([
|
$permohonan->update([
|
||||||
'status' => 'proses-survey'
|
'status' => 'proses-survey',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$data['status'] = 'success';
|
$data['status'] = 'success';
|
||||||
$data['message'] = 'Jadwal ' . $request->noReg . ' berhasil di aprove';
|
$data['message'] = 'Jadwal ' . $request->noReg . ' berhasil di aprove';
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
$data['status'] = 'error';
|
$data['status'] = 'error';
|
||||||
$data['message'] = 'Gagal membuat jadwal: ' . $e->getMessage();
|
$data['message'] = 'Gagal membuat jadwal: ' . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$data['status'] = 'error';
|
$data['status'] = 'error';
|
||||||
$data['message'] = "no ajax request";
|
$data['message'] = "no ajax request";
|
||||||
@@ -445,6 +443,37 @@ class PermohonanController extends Controller
|
|||||||
return response()->json($data);
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function update(PermohonanRequest $request, $id)
|
||||||
|
{
|
||||||
|
$permohonan = Permohonan::findOrFail($id);
|
||||||
|
$beforeRequest = $permohonan->toArray();
|
||||||
|
|
||||||
|
$validate = $request->validated();
|
||||||
|
if ($validate) {
|
||||||
|
try {
|
||||||
|
// Update in database
|
||||||
|
|
||||||
|
if ($permohonan->status == 'revisi') {
|
||||||
|
$validate['status'] = 'order';
|
||||||
|
}
|
||||||
|
$permohonan->update($validate);
|
||||||
|
|
||||||
|
$documents = DokumenJaminan::where('permohonan_id', $permohonan->id)->get();
|
||||||
|
if (count($documents) < 1) {
|
||||||
|
return redirect()->route(
|
||||||
|
'debitur.jaminan.create',
|
||||||
|
array_merge(['permohonan_id' => $permohonan->id], ['id' => $permohonan->debiture->id]),
|
||||||
|
)->with('success', 'Permohonan created successfully, Lengkapi data jaminan terlebih dahulu');
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()
|
||||||
|
->route('permohonan.index')->with('success', 'Permohonan updated successfully');
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return redirect()
|
||||||
|
->route('permohonan.edit', $id)->with('error', 'Failed to update permohonan');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function storeRescheduleSurvey(Request $request, $id)
|
public function storeRescheduleSurvey(Request $request, $id)
|
||||||
{
|
{
|
||||||
@@ -455,14 +484,14 @@ class PermohonanController extends Controller
|
|||||||
'nomor_registrasi' => 'required',
|
'nomor_registrasi' => 'required',
|
||||||
'reschedule_note' => 'required',
|
'reschedule_note' => 'required',
|
||||||
'reschedule_date' => 'required',
|
'reschedule_date' => 'required',
|
||||||
'keterangan' => 'required'
|
'keterangan' => 'required',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
$permohonan = Permohonan::findOrFail($request->permohonan_id);
|
$permohonan = Permohonan::findOrFail($request->permohonan_id);
|
||||||
$permohonan->update([
|
$permohonan->update([
|
||||||
'status' => 'request-reschedule'
|
'status' => 'request-reschedule',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$penilaian = Penilaian::findOrFail($id);
|
$penilaian = Penilaian::findOrFail($id);
|
||||||
@@ -477,7 +506,7 @@ class PermohonanController extends Controller
|
|||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
'message' => 'Proses request reschedule permohonan Nomor registrasi ' . $request->nomor_registrasi . ' berhasil',
|
'message' => 'Proses request reschedule permohonan Nomor registrasi ' . $request->nomor_registrasi . ' berhasil',
|
||||||
]);
|
]);
|
||||||
} catch (\Exception $e) {
|
} catch (Exception $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => 'error',
|
'status' => 'error',
|
||||||
|
|||||||
@@ -49,11 +49,11 @@
|
|||||||
<span class="sort"> <span class="sort-label"> Tanggal Permohonan </span>
|
<span class="sort"> <span class="sort-label"> Tanggal Permohonan </span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</th>
|
||||||
<th class="min-w-[150px]" data-datatable-column="user_id">
|
<th class="min-w-[150px]" data-datatable-column="pemohon">
|
||||||
<span class="sort"> <span class="sort-label"> User Pemohon </span>
|
<span class="sort"> <span class="sort-label"> User Pemohon </span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</th>
|
||||||
<th class="min-w-[150px]" data-datatable-column="branch_id">
|
<th class="min-w-[150px]" data-datatable-column="branch">
|
||||||
<span class="sort"> <span class="sort-label"> Cabang Pemohon </span>
|
<span class="sort"> <span class="sort-label"> Cabang Pemohon </span>
|
||||||
<span class="sort-icon"> </span> </span>
|
<span class="sort-icon"> </span> </span>
|
||||||
</th>
|
</th>
|
||||||
@@ -150,21 +150,12 @@
|
|||||||
},
|
},
|
||||||
tanggal_permohonan: {
|
tanggal_permohonan: {
|
||||||
title: 'Tanggal Permohonan',
|
title: 'Tanggal Permohonan',
|
||||||
render: (item, data) => {
|
|
||||||
return `${window.formatTanggalIndonesia(data.tanggal_permohonan)}`;
|
|
||||||
},
|
},
|
||||||
|
pemohon: {
|
||||||
|
title: 'User Pemohon'
|
||||||
},
|
},
|
||||||
user_id: {
|
branch: {
|
||||||
title: 'User Pemohon',
|
|
||||||
render: (item, data) => {
|
|
||||||
return `${data.user.name}`;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
branch_id: {
|
|
||||||
title: 'Cabang Pemohon',
|
title: 'Cabang Pemohon',
|
||||||
render: (item, data) => {
|
|
||||||
return `${data.branch.name}`;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
debitur_id: {
|
debitur_id: {
|
||||||
title: 'Debitur',
|
title: 'Debitur',
|
||||||
@@ -201,8 +192,7 @@
|
|||||||
status: {
|
status: {
|
||||||
title: 'Status',
|
title: 'Status',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
console.log(data.documents.length);
|
if (data.documents > 0) {
|
||||||
if (data.documents.length > 0) {
|
|
||||||
return `<span class="badge badge-sm badge-default uppercase flex justify-center">${data.status}</span>`;
|
return `<span class="badge badge-sm badge-default uppercase flex justify-center">${data.status}</span>`;
|
||||||
}
|
}
|
||||||
return `<span class="badge badge-sm badge-danger uppercase flex justify-center">Lengkapi Aset Jaminan</span>`;
|
return `<span class="badge badge-sm badge-danger uppercase flex justify-center">Lengkapi Aset Jaminan</span>`;
|
||||||
|
|||||||
Reference in New Issue
Block a user