Merge remote-tracking branch 'composer/feature/senior-officer' into staging

This commit is contained in:
Daeng Deni Mardaeni
2024-12-19 11:49:40 +07:00
7 changed files with 1411 additions and 868 deletions

View File

@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Exports\KertasKerjaExport;
use Modules\Lpj\Http\Controllers\SurveyorController;
use Modules\Location\Models\Province;
class PenilaiController extends Controller
{
@@ -34,20 +35,21 @@ class PenilaiController extends Controller
/**
* Show the form for creating a new resource.
*/
public function lampiran($id)
public function lampiran(Request $request, $id)
{
$permohonan = Permohonan::with('debiture.documents')->find($id);
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$jaminanId = $request->query('jaminanId');
$inpeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $jaminanId)->first();
$permohonan = $this->surveyorController->getPermohonanJaminanId($id, $documentId, $jaminanId);
$inpeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$formFoto = null;
if ($inpeksi) {
$formFoto = json_decode($inpeksi->foto_form, true);
}
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto'));
}
@@ -64,7 +66,7 @@ class PenilaiController extends Controller
//
}
public function sederhana(Request $request,$id)
public function sederhana(Request $request, $id)
{
$basicData = $this->surveyorController->getCommonData();
@@ -78,11 +80,18 @@ class PenilaiController extends Controller
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$forminspeksi = null;
$lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$lpjData = null;
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'basicData', 'forminspeksi', 'inspeksi'));
if ($lpj) {
$lpjData = json_decode($lpj->lpj, true);
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'basicData', 'forminspeksi', 'inspeksi', 'lpjData'));
}
public function standard(Request $request, $id)
@@ -95,22 +104,39 @@ class PenilaiController extends Controller
$basicData = $this->surveyorController->getCommonData();
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$forminspeksi = null;
$lpjData = null;
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
}
if ($lpj) {
$lpjData = json_decode($lpj->lpj, true);
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi'));
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData'));
}
public function resume(Request $request)
{
$permohonanId = $request->query('permohonanId');
$permohonan = Permohonan::with(['debiture.documents.jenisjaminan', 'region.teams.teamsUsers.user', 'penilaian'])->find($permohonanId);
return view('lpj::penilai.components.resume', compact('permohonan'));
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$lpjData = null;
if ($resume) {
$resumeData = json_decode($resume->resume, true);
}
return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData'));
}
public function memo(Request $request)
@@ -123,6 +149,9 @@ class PenilaiController extends Controller
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$provinces = Province::all();
$basicData = $this->surveyorController->getCommonData();
$formFoto = null;
$formPeta = null;
if ($inspeksi) {
@@ -133,7 +162,7 @@ class PenilaiController extends Controller
return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta'));
return view('lpj::penilai.components.memo', compact('permohonan', 'formFoto', 'formPeta', 'provinces', 'basicData'));
}
@@ -280,39 +309,39 @@ class PenilaiController extends Controller
public function import_kertas_kerja(Request $request)
{
{
$validatedData = $request->validate([
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'kertas_kerja' => 'required|file|mimes:pdf,doc,docx,xls,xlsx,xlsx',
]);
$validatedData = $request->validate([
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'kertas_kerja' => 'required|file|mimes:pdf,doc,docx,xls,xlsx,xlsx',
]);
try {
// Simpan file kertas kerja
if ($request->hasFile('kertas_kerja')) {
$file = $request->file('kertas_kerja');
$filePath = $this->surveyorController->uploadFile($file, 'kertas_kerja');
Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'kertas_kerja' => $filePath,
]
);
try {
// Simpan file kertas kerja
if ($request->hasFile('kertas_kerja')) {
$file = $request->file('kertas_kerja');
$filePath = $this->surveyorController->uploadFile($file, 'kertas_kerja');
Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'kertas_kerja' => $filePath,
]
);
return response()->json(['success' => true, 'message' => 'Kertas kerja berhasil diunggah.']);
return response()->json(['success' => true, 'message' => 'Kertas kerja berhasil diunggah.']);
}
return response()->json(['success' => false, 'message' => 'File kertas kerja tidak ditemukan.'], 400);
} catch (\Exception $e) {
return response()->json(['success' => false, 'message' => 'Terjadi kesalahan: ' . $e->getMessage()], 500);
}
return response()->json(['success' => false, 'message' => 'File kertas kerja tidak ditemukan.'], 400);
} catch (\Exception $e) {
return response()->json(['success' => false, 'message' => 'Terjadi kesalahan: ' . $e->getMessage()], 500);
}
}
public function status($id)
@@ -353,7 +382,8 @@ class PenilaiController extends Controller
}
public function storePenilaian($id){
public function storePenilaian($id)
{
try {
$permohonan = Permohonan::findOrFail($id);
$permohonan->update([
@@ -374,5 +404,114 @@ class PenilaiController extends Controller
}
}
public function storeResume(Request $request)
{
try {
// dd($request->all());
$validatedData = $request->validate([
'permohonan_id' => 'required',
'document_id' => 'required',
'inspeksi_id' => 'required',
'resume' => 'required|array',
]);
// Simpan atau update data
Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'resume' => json_encode($validatedData['resume']),
]
);
return response()->json([
'success' => true,
'message' => 'Berhasil saved resume'
], 200);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Terjadi kesalahan',
'error' => $e->getMessage()
], 500);
}
}
public function storeMemo(Request $request)
{
try {
$validatedData = $request->validate([
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'memo' => 'required',
]);
Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'memo' => json_encode($validatedData['memo']),
]
);
return response()->json([
'success' => true,
'message' => 'Berhasil saved memo'
], 200);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Terjadi kesalahan',
'error' => $e->getMessage()
], 500);
}
}
public function storeLpjSederhanadanStandard(Request $request){
try {
$validatedData = $request->validate([
'permohonan_id' => 'required|integer',
'document_id' => 'required|integer',
'inspeksi_id' => 'required|integer',
'lpj' => 'required',
]);
Penilai::updateOrCreate(
[
'permohonan_id' => $validatedData['permohonan_id'],
'dokument_id' => $validatedData['document_id'],
'inspeksi_id' => $validatedData['inspeksi_id'],
],
[
'lpj' => json_encode($validatedData['lpj']),
]
);
return response()->json([
'success' => true,
'message' => 'Berhasil saved lpj'
], 200);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Terjadi kesalahan',
'error' => $e->getMessage()
], 500);
}
}
}