Files
sibedas/app/Enums/PbgTaskStatus.php
2025-08-14 20:00:23 +07:00

145 lines
5.3 KiB
PHP

<?php
namespace App\Enums;
enum PbgTaskStatus: int
{
case VERIFIKASI_KELENGKAPAN = 1;
case PERBAIKAN_DOKUMEN = 2;
case PERMOHONAN_DIBATALKAN = 3;
case MENUNGGU_PENUGASAN_TPT_TPA = 4;
case MENUNGGU_JADWAL_KONSULTASI = 5;
case PELAKSANAAN_KONSULTASI = 6;
case PERBAIKAN_DOKUMEN_KONSULTASI = 8;
case PERMOHONAN_DITOLAK = 9;
case PERHITUNGAN_RETRIBUSI = 10;
case MENUNGGU_PEMBAYARAN_RETRIBUSI = 14;
case VERIFIKASI_PEMBAYARAN_RETRIBUSI = 15;
case RETRIBUSI_TIDAK_SESUAI = 16;
case VERIFIKASI_SK_PBG = 18;
case PENERBITAN_SK_PBG = 19;
case SK_PBG_TERBIT = 20;
case PENERBITAN_SPPST = 24;
case PROSES_PENERBITAN_SKRD = 25;
case MENUNGGU_PENUGASAN_TPT = 26;
case VERIFIKASI_DATA_TPT = 27;
case SERTIFIKAT_SLF_TERBIT = 28;
public static function getStatuses(): array
{
return [
null => "Pilih Status",
self::VERIFIKASI_KELENGKAPAN->value => "Verifikasi Kelengkapan Dokumen",
self::PERBAIKAN_DOKUMEN->value => "Perbaikan Dokumen",
self::PERMOHONAN_DIBATALKAN->value => "Permohonan Dibatalkan",
self::MENUNGGU_PENUGASAN_TPT_TPA->value => "Menunggu Penugasan TPT/TPA",
self::MENUNGGU_JADWAL_KONSULTASI->value => "Menunggu Jadwal Konsultasi",
self::PELAKSANAAN_KONSULTASI->value => "Pelaksanaan Konsultasi",
self::PERBAIKAN_DOKUMEN_KONSULTASI->value => "Perbaikan Dokumen Konsultasi",
self::PERMOHONAN_DITOLAK->value => "Permohonan Ditolak",
self::PERHITUNGAN_RETRIBUSI->value => "Perhitungan Retribusi",
self::MENUNGGU_PEMBAYARAN_RETRIBUSI->value => "Menunggu Pembayaran Retribusi",
self::VERIFIKASI_PEMBAYARAN_RETRIBUSI->value => "Verifikasi Pembayaran Retribusi",
self::RETRIBUSI_TIDAK_SESUAI->value => "Retribusi Tidak Sesuai",
self::VERIFIKASI_SK_PBG->value => "Verifikasi SK PBG",
self::PENERBITAN_SK_PBG->value => "Penerbitan SK PBG",
self::SK_PBG_TERBIT->value => "SK PBG Terbit",
self::PENERBITAN_SPPST->value => "Penerbitan SPPST",
self::PROSES_PENERBITAN_SKRD->value => "Proses Penerbitan SKRD",
self::MENUNGGU_PENUGASAN_TPT->value => "Menunggu Penugasan TPT",
self::VERIFIKASI_DATA_TPT->value => "Verifikasi Data TPT",
self::SERTIFIKAT_SLF_TERBIT->value => "Sertifikat SLF Terbit",
];
}
public static function getLabel(?int $status): ?string
{
return self::getStatuses()[$status] ?? null;
}
public static function getWaitingClickDpmptsp(): array
{
return [
self::MENUNGGU_PEMBAYARAN_RETRIBUSI->value,
self::PROSES_PENERBITAN_SKRD->value,
self::VERIFIKASI_PEMBAYARAN_RETRIBUSI->value
];
}
public static function getIssuanceRealizationPbg(): array
{
return [
self::PENERBITAN_SK_PBG->value,
self::SK_PBG_TERBIT->value,
self::VERIFIKASI_SK_PBG->value
];
}
public static function getProcessInTechnicalOffice(): array
{
return [
self::PENERBITAN_SPPST->value,
self::PERHITUNGAN_RETRIBUSI->value,
self::RETRIBUSI_TIDAK_SESUAI->value,
self::MENUNGGU_JADWAL_KONSULTASI->value,
self::MENUNGGU_PENUGASAN_TPT_TPA->value,
self::PELAKSANAAN_KONSULTASI->value
];
}
public static function getVerified(): array
{
return [
self::MENUNGGU_PEMBAYARAN_RETRIBUSI->value,
self::PROSES_PENERBITAN_SKRD->value,
self::VERIFIKASI_PEMBAYARAN_RETRIBUSI->value,
self::PENERBITAN_SK_PBG->value,
self::SK_PBG_TERBIT->value,
self::VERIFIKASI_SK_PBG->value,
self::PENERBITAN_SPPST->value,
self::PERHITUNGAN_RETRIBUSI->value,
self::RETRIBUSI_TIDAK_SESUAI->value,
self::MENUNGGU_JADWAL_KONSULTASI->value,
self::MENUNGGU_PENUGASAN_TPT_TPA->value,
self::PELAKSANAAN_KONSULTASI->value
];
}
public static function getNonVerified(): array
{
return [
self::VERIFIKASI_KELENGKAPAN->value,
self::PERBAIKAN_DOKUMEN->value,
self::PERBAIKAN_DOKUMEN_KONSULTASI->value,
];
}
public static function getPotention(): array
{
return [
self::MENUNGGU_PEMBAYARAN_RETRIBUSI->value,
self::PROSES_PENERBITAN_SKRD->value,
self::VERIFIKASI_PEMBAYARAN_RETRIBUSI->value,
self::PENERBITAN_SK_PBG->value,
self::SK_PBG_TERBIT->value,
self::VERIFIKASI_SK_PBG->value,
self::PENERBITAN_SPPST->value,
self::PERHITUNGAN_RETRIBUSI->value,
self::RETRIBUSI_TIDAK_SESUAI->value,
self::MENUNGGU_JADWAL_KONSULTASI->value,
self::MENUNGGU_PENUGASAN_TPT_TPA->value,
self::PELAKSANAAN_KONSULTASI->value,
self::VERIFIKASI_KELENGKAPAN->value,
self::PERBAIKAN_DOKUMEN->value,
self::PERBAIKAN_DOKUMEN_KONSULTASI->value,
];
}
public static function getRejected(): array
{
return [
self::PERMOHONAN_DITOLAK->value,
self::PERMOHONAN_DIBATALKAN->value
];
}
}