fix(penilai): perbaikkan keterangan freeze dan ubah name kjjp ke kjpp, handle key foto memo

This commit is contained in:
majid
2025-03-11 11:51:01 +07:00
parent 25e7016486
commit 5a8b93b5f7
9 changed files with 196 additions and 113 deletions

View File

@@ -570,7 +570,7 @@ class PenilaiController extends Controller
});
}
$query->whereRaw('LOWER(status) IN (?, ?, ?, ?, ?, ?,?, ?)', ['assign', 'survey-completed', 'proses-laporan', 'paparan', 'proses-paparan', 'paparan', 'revisi-laporan', 'revisi-paparan']);
$query->whereRaw('LOWER(status) IN (?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?)', ['assign', 'survey-completed', 'proses-laporan', 'paparan', 'proses-paparan', 'paparan', 'revisi-laporan', 'revisi-paparan', 'request-freeze', 'freeze', 'reject-freeze']);
if (!Auth::user()->hasRole('administrator')) {
$query->whereHas('penilaian.userPenilai', function ($q) {
@@ -963,41 +963,6 @@ class PenilaiController extends Controller
}
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 storeMemoWithPhotos(Request $request)
{
try {
@@ -1021,6 +986,8 @@ class PenilaiController extends Controller
]
);
$existingPhotos = isset($memo->memo) ? json_decode($memo->memo)->foto : [];
dd($existingPhotos);
// Simpan foto-foto
if ($request->hasFile('foto_0')) {
$photoUrls = [];
@@ -1033,11 +1000,15 @@ class PenilaiController extends Controller
$index++;
}
// Tambahkan URL foto ke data memo
$memoData['foto'] = $photoUrls;
$memo->memo = json_encode($memoData);
$memo->save();
$memoData['foto'] = array_merge($existingPhotos, $photoUrls);
}else{
$memoData['foto'] = $existingPhotos;
}
// Tambahkan URL foto ke data memo
$memoData['foto'] = $photoUrls;
$memo->memo = json_encode($memoData);
$memo->save();
return response()->json([
'success' => true,

View File

@@ -450,7 +450,7 @@ class PenilaianController extends Controller
public function otorisatorUpdate(Request $request, $id, $context)
{
if ($context === 'SLA') {
if ($context === 'Freze SLA') {
$authorization = Authorization::with(['user'])->find($id);
if (!$authorization) {
return response()->json([
@@ -513,7 +513,7 @@ class PenilaianController extends Controller
}
break;
case 'sla':
case 'freze sla':
if (Auth::user()->roles[0]->name === 'senior-officer' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so === null) {
$authorization->update([
'status' => '3',
@@ -633,7 +633,7 @@ class PenilaianController extends Controller
'Pelaporan' => 'proses-laporan',
'Pembayaran' => 'proses',
'Pembatalan' => 'batal',
'SLA' => 'freeze',
'SLA' => 'request-freeze',
'Paparan' => 'proses-paparan',
default => '',
};
@@ -665,7 +665,7 @@ class PenilaianController extends Controller
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
} elseif ($status == 'batal') {
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
} elseif ($status == 'freeze') {
} elseif ($status == 'request-freeze') {
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
} elseif ($status == 'proses-paparan') {
$query->whereRaw('LOWER(status) IN (?, ?)', ['proses-paparan', 'paparan']);
@@ -891,7 +891,8 @@ class PenilaianController extends Controller
public function revisiLaporan(Request $request, $id)
{
if($request->dataHeader=='Paparan'){
// dd($request->all());
if($request->dataHeader=='Paparan' || $request->dataHeader=='Freze SLA'){
$authorization = Authorization::find($id);
$permohonan = Permohonan::find($authorization->permohonan_id);
} else {
@@ -905,7 +906,13 @@ class PenilaianController extends Controller
}
$status = 'revisi-paparan';
} elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') {
}else if($permohonan->status === 'freeze'){
if ($authorization) {
$authorization->delete();
}
$status = 'reject-freeze';
}elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') {
$permohonan->update([
'approval_so' => 0,
'approval_so_at' => null,

View File

@@ -914,10 +914,16 @@ class SurveyorController extends Controller
try {
$permohonan = Permohonan::findOrFail($id);
$permohonan->update([
'keterangan' => $request->keterangan,
'status' => 'request-freeze',
]);
Authorization::updateOrCreate([
'permohonan_id' => $permohonan->id,
'jenis' => 'sla'
'jenis' => 'sla',
], [
'keterangan' => $request->keterangan,
'request' => 'freeze',
'user_id' => Auth::user()->id
]);
@@ -2422,7 +2428,7 @@ class SurveyorController extends Controller
$validator = Validator::make($request->all(), [
'signature' => 'required',
'type' => 'required|in:penilai,cabang,debitur,kjjp',
'type' => 'required|in:penilai,cabang,debitur,kjpp',
'name' => 'nullable|string',
'document_id' => 'nullable|string'
]);
@@ -2529,7 +2535,7 @@ class SurveyorController extends Controller
{
try {
$validator = Validator::make($request->all(), [
'type' => 'required|in:penilai,cabang,debitur,kjjp'
'type' => 'required|in:penilai,cabang,debitur,kjpp'
]);
if ($validator->fails()) {