From 9a238ddb8327afdc7b0311ea907b79319e8f86b9 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 19 Sep 2024 11:09:59 +0700 Subject: [PATCH] penambahan detail permonan pada form assignment --- app/Http/Controllers/PenilaianController.php | 368 +++++++++--------- app/Http/Controllers/PermohonanController.php | 156 +------- resources/views/penilaian/form.blade.php | 228 ++++++++++- 3 files changed, 413 insertions(+), 339 deletions(-) diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 194cde6..dadfd09 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -1,211 +1,203 @@ validated(); - /** - * Store a newly created resource in storage. - */ - public function store(PenilaianRequest $request) - { - $validatedData = $request->validated(); + if ($validatedData) { + try { + $penilaian = Penilaian::create($validatedData); - if ($validatedData) { - try { + $permohonan = Permohonan::findOrFail($request->permohonan_id); + $permohonan->update([ + 'status' => 'assign', + ]); - $penilaian = Penilaian::create($validatedData); - - $permohonan = Permohonan::findOrFail($request->permohonan_id); - $permohonan->update([ - 'status' => 'assign', - ]); - - return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan'); - } catch (Exception $e) { - return redirect()->route('penilaian.index')->with('error', $e->getMessage()); + return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan'); + } catch (Exception $e) { + return redirect()->route('penilaian.index')->with('error', $e->getMessage()); + } } } - } + /** + * Show the form for creating a new resource. + */ + public function create($id) + { + return view('lpj::penilaian.form'); + } - /** - * Show the specified resource. - */ - public function show($id) - { - return view('lpj::show'); - } + /** + * Update the specified resource in storage. + */ + public function update(PenilaianRequest $request, $id) + { + $validate = $request->validated(); - /** - * Show the form for editing the specified resource. - */ - public function edit($id) - { + if ($validate) { + try { + $penilaian = Penilaian::where('permohonan_id', $id)->firstOrFail(); - $permohonan = Permohonan::with(['user', 'debiture.province','debiture.city','debiture.district','debiture.village','branch', 'tujuanPenilaian'])->findOrFail($id); + $penilaian->update($validate); + $permohonan = Permohonan::findOrFail($id); + $permohonan->update([ + 'status' => 'assign', + ]); - $jenisPenilaian = JenisPenilaian::all(); - $teamPenilai = Teams::with(['regions', 'teamsUsers'])->get(); - - $penilaian = Penilaian::where('permohonan_id', $id)->first(); - - return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian')); - } - - /** - * Update the specified resource in storage. - */ - public function update(PenilaianRequest $request, $id) - { - $validate = $request->validated(); - - if ($validate) { - try { - $penilaian = Penilaian::where('permohonan_id', $id)->firstOrFail(); - - $penilaian->update($validate); - $permohonan = Permohonan::findOrFail($id); - $permohonan->update([ - 'status' => 'assign', - ]); - - return redirect()->route('penilaian.index', $id)->with('success', 'Penilaian berhasil diubah'); - } catch (Exception $e) { - return redirect()->route('penilaian.index', $id)->with('error', $e->getMessage()); + return redirect()->route('penilaian.index', $id)->with('success', 'Penilaian berhasil diubah'); + } catch (Exception $e) { + return redirect()->route('penilaian.index', $id)->with('error', $e->getMessage()); + } } } - } - - /** - * Remove the specified resource from storage. - */ - public function destroy($id) - { - // - } - - public function dataForDatatables(Request $request) -{ - if (is_null($this->user) || !$this->user->can('debitur.view')) { - // abort(403, 'Sorry! You are not allowed to view users.'); - } - - - $query = Permohonan::query(); - - if ($request->has('search') && !empty($request->get('search'))) { - $search = $request->get('search'); - $query->where(function ($q) use ($search) { - $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%'); - $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhere('status', 'LIKE', '%' . $search . '%'); - }); - } - - // Filter to show only records with status 'register' - $query->where('status', 'register'); - - - if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { - $order = $request->get('sortOrder'); - $column = $request->get('sortField'); - $query->orderBy($column, $order); - } - - $totalRecords = $query->count(); - - // Apply pagination if provided - if ($request->has('page') && $request->has('size')) { - $page = $request->get('page'); - $size = $request->get('size'); - $offset = ($page - 1) * $size; // Calculate the offset - - $query->skip($offset)->take($size); - } - - $filteredRecords = $query->count(); - - $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); - - $pageCount = ceil($totalRecords / $request->get('size')); - - $currentPage = $page; - - - return response()->json([ - 'draw' => $request->get('draw'), - 'recordsTotal' => $totalRecords, - 'recordsFiltered' => $filteredRecords, - 'pageCount' => $pageCount, - 'page' => $currentPage, - 'totalCount' => $totalRecords, - 'data' => $data, - ]); -} - - - - - - public function getUserTeams($id) - { - - $teamsUser = TeamsUsers::where('teams_id', $id)->get(); - $userIds = $teamsUser->pluck('user_id'); - $users = User::whereIn('id', $userIds)->get(); - - if ($users->isNotEmpty()) { - return response()->json($users, 200); + /** + * Show the specified resource. + */ + public function show($id) + { + return view('lpj::show'); } - return response()->json([], 200); + /** + * Show the form for editing the specified resource. + */ + public function edit($id) + { + $permohonan = Permohonan::with( + [ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + ], + )->findOrFail($id); + + $jenisPenilaian = JenisPenilaian::all(); + $teamPenilai = Teams::with(['regions', 'teamsUsers'])->get(); + + $penilaian = Penilaian::where('permohonan_id', $id)->first(); + + return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian')); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy($id) + { + // + } + + public function dataForDatatables(Request $request) + { + if (is_null($this->user) || !$this->user->can('debitur.view')) { + // abort(403, 'Sorry! You are not allowed to view users.'); + } + + + $query = Permohonan::query(); + + if ($request->has('search') && !empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); + }); + } + + // Filter to show only records with status 'register' + $query->where('status', 'register'); + + + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + $totalRecords = $query->count(); + + // Apply pagination if provided + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page'); + $size = $request->get('size'); + $offset = ($page - 1) * $size; // Calculate the offset + + $query->skip($offset)->take($size); + } + + $filteredRecords = $query->count(); + + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + + $pageCount = ceil($totalRecords / $request->get('size')); + + $currentPage = $page; + + + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); + } + + + public function getUserTeams($id) + { + $teamsUser = TeamsUsers::where('teams_id', $id)->get(); + $userIds = $teamsUser->pluck('user_id'); + $users = User::whereIn('id', $userIds)->get(); + + if ($users->isNotEmpty()) { + return response()->json($users, 200); + } + + return response()->json([], 200); + } + + } - - -} diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index 5fe6996..2cd35d0 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -1,6 +1,6 @@ validated(); + public function index() + { + return view('lpj::permohonan.index'); + } public function store(PermohonanRequest $request) { @@ -53,7 +49,8 @@ class PermohonanController extends Controller } else { return redirect() ->route('permohonan.create') - ->with('error', 'Failed to create permohonan' . $e->getMessage()); + ->with('success', 'error naon iye') + ->withInput(); } } @@ -308,138 +305,3 @@ class PermohonanController extends Controller return redirect()->route('authorization.index')->with('success', 'Permohonan updated successfully'); } } - - public function create() - { - - return view('lpj::permohonan.create'); - } - - public function createPermohonan($debitur) - { - $branches = Branch::all(); - $debitur = Debiture::find($debitur); - $tujuanPenilaian = TujuanPenilaian::all(); - $status = StatusPermohonan::all(); - - return view('lpj::permohonan.form', compact('branches', 'debitur', 'tujuanPenilaian', 'status')); - } - - public function edit($id) - { - $permohonan = Permohonan::find($id); - $branches = Branch::all(); - $debitur = Debiture::find($permohonan->debiture_id); - $tujuanPenilaian = TujuanPenilaian::all(); - $status = StatusPermohonan::all(); - - return view( - 'lpj::permohonan.form', - compact('permohonan', 'branches', 'debitur', 'tujuanPenilaian', 'status'), - ); - } - - public function update(PermohonanRequest $request, $id) - { - $validate = $request->validated(); - - if ($validate) { - try { - // Update in database - $permohonan = Permohonan::find($id); - $permohonan->update($validate); - 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) - { - try { - // Delete from database - $permohonan = Permohonan::find($id); - $permohonan->delete(); - - echo json_encode(['success' => true, 'message' => 'Permohonan deleted successfully']); - } catch (Exception $e) { - echo json_encode(['success' => false, 'message' => 'Failed to delete permohonan']); - } - } - - public function dataForDatatables(Request $request) - { - if (is_null($this->user) || !$this->user->can('debitur.view')) { - //abort(403, 'Sorry! You are not allowed to view users.'); - } - - // Retrieve data from the database - $query = Permohonan::query(); - - // Apply search filter if provided - if ($request->has('search') && !empty($request->get('search'))) { - $search = $request->get('search'); - $query->where(function ($q) use ($search) { - $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%'); - $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhere('status', 'LIKE', '%' . $search . '%'); - }); - } - - // Apply sorting if provided - if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { - $order = $request->get('sortOrder'); - $column = $request->get('sortField'); - $query->orderBy($column, $order); - } - - // Get the total count of records - $totalRecords = $query->count(); - - // Apply pagination if provided - if ($request->has('page') && $request->has('size')) { - $page = $request->get('page'); - $size = $request->get('size'); - $offset = ($page - 1) * $size; // Calculate the offset - - $query->skip($offset)->take($size); - } - - // Get the filtered count of records - $filteredRecords = $query->count(); - - // Get the data for the current page - $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); - - // Calculate the page count - $pageCount = ceil($totalRecords / $request->get('size')); - - // Calculate the current page number - $currentPage = 0 + 1; - - // Return the response data as a JSON object - return response()->json([ - 'draw' => $request->get('draw'), - 'recordsTotal' => $totalRecords, - 'recordsFiltered' => $filteredRecords, - 'pageCount' => $pageCount, - 'page' => $currentPage, - 'totalCount' => $totalRecords, - 'data' => $data, - ]); - } - - public function export() - { - return Excel::download(new PermohonanExport(), 'permohonan.xlsx'); - } -} diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index 6ea1260..68e7bc0 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -18,7 +18,229 @@ @section('content')
+
+
+

+ Data Permohonan +

+
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tujan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
+ +
+
+ +
+
+

+ Detail Debutur +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Email + + {{ $permohonan->debiture->email ?? "" }} +
+ Phone + + {{ $permohonan->debiture->phone ?? "" }} +
+ Address + + {{ $permohonan->debiture->address ?? "" }} +
+   + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} +
+
+
+ + + + + + + + + + + + + + + + + +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Nomor Rekening + + {{ $permohonan->debiture->nomor_rekening ?? "" }} +
+ NPWP + + {{ $permohonan->debiture->npwp ?? "" }} +
+
+
+
+
+ +
+
+

+ Data Jaminan +

+
+
+ @foreach($permohonan->debiture->documents as $dokumen) +
+ + +
+ @endforeach +
+
+

@@ -34,12 +256,8 @@
- @if (isset($penilaian->permohonan_id)) @method('PUT') - - @else - @endif @csrf
@@ -47,11 +265,13 @@ +