update data pemanding dan otorisator, pembuatan seeder kjpp mengunakan exel
This commit is contained in:
@@ -353,39 +353,92 @@ class PenilaianController extends Controller
|
||||
{
|
||||
|
||||
$type = $request->route('type');
|
||||
$header = '';
|
||||
|
||||
switch ($type) {
|
||||
case 'pelaporan':
|
||||
$header = 'Pelaporan';
|
||||
break;
|
||||
case 'pembayaran':
|
||||
$header = 'Pembayaran';
|
||||
break;
|
||||
case 'pembatalan':
|
||||
$header = 'Pembatalan';
|
||||
break;
|
||||
case 'sla':
|
||||
$header = 'SLA';
|
||||
break;
|
||||
default:
|
||||
$header = 'Pelaporan';
|
||||
break;
|
||||
}
|
||||
$headers = [
|
||||
'pelaporan' => 'Pelaporan',
|
||||
'pembayaran' => 'Pembayaran',
|
||||
'pembatalan' => 'Pembatalan',
|
||||
'sla' => 'SLA',
|
||||
];
|
||||
|
||||
$header = $headers[$type] ?? 'Pelaporan';
|
||||
|
||||
return view('lpj::penilaian.otorisator.index', compact('header'));
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
public function show($id, $type)
|
||||
{
|
||||
$headers = [
|
||||
'Pelaporan' => 'Pelaporan',
|
||||
'Pembayaran' => 'Pembayaran',
|
||||
'Pembatalan' => 'Pembatalan',
|
||||
'SLA' => 'SLA',
|
||||
];
|
||||
|
||||
$header = $headers[$type] ?? 'Pelaporan';
|
||||
$permohonan = Permohonan::find($id);
|
||||
|
||||
return view('lpj::penilaian.otorisator.show', compact('permohonan', 'header'));
|
||||
}
|
||||
|
||||
public function otorisatorUpdate($id, $context)
|
||||
{
|
||||
|
||||
$permohonan = Permohonan::find($id);
|
||||
if (!$permohonan) {
|
||||
return response()->json([
|
||||
'message' => 'Data permohonan tidak ditemukan.'
|
||||
], 404);
|
||||
}
|
||||
|
||||
return view('lpj::penilaian.otorisator.show', compact('permohonan'));
|
||||
switch (strtolower($context)) {
|
||||
case 'pembayaran':
|
||||
|
||||
$newStatus = $permohonan->status_bayar === 'sudah_bayar' ? 'belum_bayar' : 'sudah_bayar';
|
||||
|
||||
$permohonan->update([
|
||||
'status_bayar' => $newStatus
|
||||
]);
|
||||
break;
|
||||
|
||||
case 'pembatalan':
|
||||
|
||||
$permohonan->update([
|
||||
'authorized_status' => 1,
|
||||
]);
|
||||
break;
|
||||
|
||||
case 'pelaporan':
|
||||
|
||||
$permohonan->update([
|
||||
'status' => 'disetujui',
|
||||
]);
|
||||
break;
|
||||
|
||||
case 'sla':
|
||||
|
||||
$permohonan->update([
|
||||
'status' => 'order',
|
||||
]);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Konteks otorisasi tidak valid.'
|
||||
], 400);
|
||||
}
|
||||
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Otorisasi berhasil dilakukan.',
|
||||
'data' => $permohonan
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public function dataForAuthorization(Request $request, $otorisator)
|
||||
{
|
||||
|
||||
@@ -394,22 +447,14 @@ class PenilaianController extends Controller
|
||||
}
|
||||
|
||||
|
||||
$status = '';
|
||||
|
||||
switch ($otorisator) {
|
||||
case 'Pelaporan':
|
||||
$status = 'proses paparan';
|
||||
break;
|
||||
case 'Pembayaran':
|
||||
$status = 'proses';
|
||||
break;
|
||||
case 'Pembatalan':
|
||||
$status = 'order';
|
||||
break;
|
||||
default:
|
||||
$status = '';
|
||||
break;
|
||||
}
|
||||
// Tentukan status berdasarkan otorisator
|
||||
$status = match ($otorisator) {
|
||||
'Pelaporan' => 'proses laporan',
|
||||
'Pembayaran' => 'proses',
|
||||
'Pembatalan' => 'proses',
|
||||
'SLA' => 'proses',
|
||||
default => '',
|
||||
};
|
||||
|
||||
|
||||
$query = Permohonan::query();
|
||||
@@ -432,11 +477,18 @@ class PenilaianController extends Controller
|
||||
if (!empty($otorisator)) {
|
||||
if ($status == 'proses') {
|
||||
$query->whereIn('status_bayar', ['sudah_bayar', 'belum_bayar']);
|
||||
} else {
|
||||
$query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
|
||||
}
|
||||
// else {
|
||||
// $query->whereRaw('LOWER(status) = ?', [strtolower($status)]);
|
||||
// }
|
||||
}
|
||||
|
||||
// Filter berdasarkan region user yang login
|
||||
$query->whereHas('region.teams.teamsUsers', function ($q) {
|
||||
$q->where('user_id', Auth::id());
|
||||
});
|
||||
|
||||
|
||||
// Sorting berdasarkan sortField dan sortOrder
|
||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||
$order = $request->get('sortOrder');
|
||||
@@ -464,7 +516,8 @@ class PenilaianController extends Controller
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Ambil data dengan relasi
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'region.teams.teamsUsers'])->get();
|
||||
|
||||
|
||||
// Hitung jumlah halaman
|
||||
$pageCount = ceil($totalRecords / $size);
|
||||
|
||||
Reference in New Issue
Block a user