fix(so/penilai/surveyor) : perbaikkan print out, lampiran, send email jadwal, otorisator, dan typo

This commit is contained in:
majid
2025-02-28 02:29:24 +07:00
parent e08130132f
commit f253d0c14c
20 changed files with 906 additions and 907 deletions

View File

@@ -494,27 +494,22 @@ class PenilaianController extends Controller
break;
case 'pelaporan':
if (Auth::user()->roles[0]->name === 'senior-officer') {
$permohonan->update([
'status' => 'proses-laporan',
'approval_so' => Auth::user()->id,
'approval_so_at' => now(),
'keterangan' => $request->message,
]);
} elseif (Auth::user()->roles[0]->name === 'EO Appraisal') {
$permohonan->update([
'status' => 'proses-laporan',
'approval_eo' => Auth::user()->id,
'approval_eo_at' => now(),
'keterangan' => $request->message,
]);
} elseif (Auth::user()->roles[0]->name === 'DD Appraisal') {
$permohonan->update([
'status' => 'done',
'approval_dd' => Auth::user()->id,
'approval_dd_at' => now(),
'keterangan' => $request->message,
]);
$role = Auth::user()->roles[0]->name;
$status = 'done';
$approvalField = null;
if ($role === 'senior-officer') {
$approvalField = 'approval_so';
$status = in_array($permohonan->nilai_plafond_id, [3]) ? 'done' : 'proses-laporan';
} elseif ($role === 'EO Appraisal') {
$approvalField = 'approval_eo';
$status = in_array($permohonan->nilai_plafond_id, [2, 1]) ? 'done' : 'proses-laporan';
} elseif ($role === 'DD Appraisal') {
$approvalField = 'approval_dd';
$status = 'done';
}
if ($approvalField) {
$this->updatePermohonan($permohonan, $status, $approvalField, $request->message);
}
break;
@@ -613,6 +608,15 @@ class PenilaianController extends Controller
]);
}
public function updatePermohonan($permohonan, $status, $approvalField, $message)
{
$permohonan->update([
'status' => $status,
$approvalField => Auth::user()->id,
"{$approvalField}_at" => now(),
'keterangan' => $message,
]);
}
public function dataForAuthorization(Request $request, $otorisator)
{
@@ -883,15 +887,48 @@ class PenilaianController extends Controller
public function revisiLaporan(Request $request, $id)
{
$permohonan = Permohonan::findOrFail($id);
$userRole = Auth::user()->roles[0]->name;
if ($permohonan->status === 'proses-paparan' && in_array($userRole, ['EO Appraisal', 'DD Appraisal'])) {
Authorization::delete([
'permohonan_id' => $permohonan->id,
'jenis' => 'paparan',
'request' => 'paparan',
]);
$status = 'revisi-paparan';
} elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') {
$permohonan->update([
'approve_so' => null,
'approve_so_at' => null,
]);
$status = 'revisi-laporan';
} elseif ($permohonan->status === 'proses-laporan' && $userRole === 'DD Appraisal') {
$permohonan->update([
'approve_so' => null,
'approve_so_at' => null,
'approve_eo' => null,
'approve_eo_at' => null,
]);
$status = 'revisi-laporan';
} else {
return response()->json([
'success' => false,
'message' => 'Tidak ada tindakan yang dapat dilakukan untuk status saat ini.',
], 400);
}
// Perbarui status dan informasi lainnya
$permohonan->update([
'status' => 'revisi-laporan',
'status' => $status,
'keterangan' => $request->message,
'submitted_at' => now()
'submitted_at' => now(),
]);
return response()->json([
'success' => true,
'message' => 'Berhasil Revisi Laporan penilai',
'message' => 'Berhasil Revisi Laporan penilai.',
], 200);
}
}