Merge branch 'staging' of https://git.putrakuningan.com/daengdeni/lpj into tender

This commit is contained in:
2025-03-10 15:06:07 +07:00
5 changed files with 240 additions and 231 deletions

View File

@@ -9,12 +9,12 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\Debiture;
use Modules\Lpj\Models\DokumenJaminan;
use Modules\Lpj\Models\JenisPenilaian; use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Penilai; use Modules\Lpj\Models\Penilai;
use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Regions; use Modules\Lpj\Models\Regions;
use Modules\Lpj\Models\DokumenJaminan;
use Modules\Lpj\Models\Debiture;
class RegistrasiController extends Controller class RegistrasiController extends Controller
{ {
@@ -98,7 +98,8 @@ class RegistrasiController extends Controller
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 = []; $data = [];
$datas = []; $datas = [];
@@ -131,7 +132,34 @@ class RegistrasiController extends Controller
return response()->json($data); return response()->json($data);
} }
public function update(Request $request, $id): JsonResponse public function show($id)
{
$permohonan = Permohonan::find($id);
$debitur = Debiture::find($permohonan->debiture_id);
$documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get();
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
}
public function storeRevisi(Request $request, $id)
{
try {
$permohonan = Permohonan::find($id);
$permohonan->update([
'status' => 'registered'
]);
return redirect()->route('registrasi.index')->with('success', 'Submit Revision successfully');
} catch (Exception $e) {
return redirect()
->route('registrasi.index')
->with('error', 'Failed to create permohonan' . $e->getMessage());
}
}
public function update(Request $request, $id)
: JsonResponse
{ {
// init // init
$data = []; $data = [];
@@ -170,11 +198,16 @@ class RegistrasiController extends Controller
$modal->update($dataku); $modal->update($dataku);
if ($modal && $request->jenis_laporan) { if ($modal && $request->jenis_laporan) {
foreach ($modal->documents as $document) {
Penilai::updateOrCreate( Penilai::updateOrCreate(
['permohonan_id' => $id], [
'permohonan_id' => $id,
'dokument_id' => $document->id
],
['type' => $request->jenis_laporan] ['type' => $request->jenis_laporan]
); );
} }
}
// //
$data['status'] = 'success'; $data['status'] = 'success';
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully']; $data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
@@ -229,28 +262,4 @@ class RegistrasiController extends Controller
return $data; return $data;
} }
public function show($id)
{
$permohonan = Permohonan::find($id);
$debitur = Debiture::find($permohonan->debiture_id);
$documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get();
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
}
public function storeRevisi(Request $request, $id)
{
try {
$permohonan = Permohonan::find($id);
$permohonan->update([
'status' => 'registered'
]);
return redirect()->route('registrasi.index')->with('success', 'Submit Revision successfully');
} catch (Exception $e) {
return redirect()->route('registrasi.index')->with('error', 'Failed to create permohonan' . $e->getMessage());
}
}
} }

View File

@@ -762,13 +762,14 @@ class SurveyorController extends Controller
} }
// If validation passes, update permohonan status // If validation passes, update permohonan status
$permohonan = Permohonan::findOrFail($id); $permohonan = Permohonan::with('jenisPenilaian')->findOrFail($id);
$permohonan->update([ $permohonan->update([
'status' => 'survey-completed', 'status' => 'survey-completed',
'submitted_at' => now() 'submitted_at' => now()
]); ]);
if($permohonan->jenisPenilaian->name=="External") {
LaporanExternal::updateOrCreate( LaporanExternal::updateOrCreate(
['permohonan_id' => $permohonan->id], ['permohonan_id' => $permohonan->id],
[ [
@@ -777,6 +778,7 @@ class SurveyorController extends Controller
'created_by' => Auth::id(), 'created_by' => Auth::id(),
] ]
); );
}
return response()->json([ return response()->json([

View File

@@ -27,10 +27,8 @@ class LampiranDokumen extends Base
{ {
$user = Auth::user(); $user = Auth::user();
if ($user && ($user->hasRole('penilai') || $user->hasRole('administrator'))) { if ($user && $user->hasAnyRole(['penilai', 'administrator', 'Penilai', 'admin'])) {
$file = $fileData['file']; $file = $fileData['file'];
$keterangan = $fileData['keterangan'] ?? null;
$fileName = $fileData['nama_file'] ?? time() . '_' . $file->getClientOriginalName(); $fileName = $fileData['nama_file'] ?? time() . '_' . $file->getClientOriginalName();
$filePath = $file->storeAs('lampiran_dokumen', $fileName, 'public'); $filePath = $file->storeAs('lampiran_dokumen', $fileName, 'public');
@@ -38,7 +36,7 @@ class LampiranDokumen extends Base
'permohonan_id' => $fileData['permohonan_id'] ?? null, 'permohonan_id' => $fileData['permohonan_id'] ?? null,
'nama_file' => $fileName, 'nama_file' => $fileName,
'path_file' => $filePath, 'path_file' => $filePath,
'keterangan' => $keterangan, 'keterangan' => $fileData['keterangan'] ?? null,
]); ]);
} }

View File

@@ -1,6 +1,6 @@
@if (@isset($dokumen)) @if (@isset($dokumen))
@foreach ($dokumen->detail as $detail) @foreach ($dokumen->detail as $detail)
@if (!empty($detail->name) && !empty($detail->details) ) @if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan))
<tr> <tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td> <td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
</tr> </tr>

View File

@@ -323,11 +323,11 @@
</div> </div>
</div> </div>
@if($permohonan->jenisPenilaian->name=="External") @if($permohonan->jenisPenilaian->name=="Eksternal")
@if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan)) @if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click"> <div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
<button class="dropdown-toggle btn btn-primary"> <button class="dropdown-toggle btn btn-primary">
Laporan External Laporan Eksternal
</button> </button>
<div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]"> <div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]">
<div class="menu menu-default flex flex-col w-full"> <div class="menu menu-default flex flex-col w-full">