feat(lpj): perbarui fungsi dan struktur kode

- Mengatur ulang urutan penggunaan namespace untuk konsistensi.
- Memperbaiki penanganan kesalahan pada fungsi formatTanggalIndonesia.
- Menambahkan logika untuk memeriksa rentang tanggal aktif pada fungsi checkActiveDateRangePenawaran.
- Memperbaiki dan menyederhanakan logika pada fungsi checkKelengkapanDetailKJPP.
- Memperbarui fungsi generateLpjUniqueCode untuk menghasilkan kode unik dengan format yang lebih baik.
- Menyempurnakan fungsi formatNotifikasi untuk menampilkan pesan yang lebih informatif.
This commit is contained in:
Daeng Deni Mardaeni
2025-04-23 09:26:42 +07:00
parent d1744b07ec
commit fd21a5b86f

View File

@@ -2,19 +2,19 @@
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Modules\Location\Models\City;
use Modules\Location\Models\District;
use Modules\Location\Models\Province;
use Modules\Location\Models\Village;
use Modules\Lpj\Models\CustomField; use Modules\Lpj\Models\CustomField;
use Modules\Lpj\Models\HolidayCalendar; use Modules\Lpj\Models\HolidayCalendar;
use Modules\Lpj\Models\JenisDokumen;
use Modules\Lpj\Models\Laporan;
use Modules\Lpj\Models\PenawaranDetailTender; use Modules\Lpj\Models\PenawaranDetailTender;
use Modules\Lpj\Models\PenawaranTender; use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Penilaian; use Modules\Lpj\Models\Penilaian;
use Modules\Lpj\Models\JenisDokumen;
use Modules\Lpj\Models\TeamsUsers; use Modules\Lpj\Models\TeamsUsers;
use Modules\Lpj\Models\Laporan;
use Modules\Usermanagement\Models\User; use Modules\Usermanagement\Models\User;
use Modules\Location\Models\Province;
use Modules\Location\Models\City;
use Modules\Location\Models\District;
use Modules\Location\Models\Village;
function formatTanggalIndonesia($date, $time = false) function formatTanggalIndonesia($date, $time = false)
{ {
@@ -25,7 +25,7 @@ function formatTanggalIndonesia($date, $time = false)
return $waktu->translatedFormat('d F Y'); return $waktu->translatedFormat('d F Y');
} }
return $waktu->translatedFormat('d F Y') . ' pukul ' . $waktu->format('H.i') . ' WIB'; return $waktu->translatedFormat('d F Y') . ' pukul ' . $waktu->format('H.i') . ' WIB';
} catch (\Throwable $e) { } catch (Throwable $e) {
return $date; return $date;
} }
@@ -119,7 +119,8 @@ function convertSlug($slug)
} }
// generate last penawaran.code // generate last penawaran.code
function onLastnumberCodePenawaran(): string function onLastnumberCodePenawaran()
: string
{ {
// ambil code terakhir // ambil code terakhir
$maxCode = PenawaranTender::max('code'); $maxCode = PenawaranTender::max('code');
@@ -154,7 +155,8 @@ function isNumeric($str)
} }
// generate last penawaran.no_spk // generate last penawaran.no_spk
function onLastnumberCodePenawaranSPK($jenis_laporan_code): string function onLastnumberCodePenawaranSPK($jenis_laporan_code)
: string
{ {
// 20241124_001 ==> spk_no_core // 20241124_001 ==> spk_no_core
@@ -183,7 +185,8 @@ function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
return $lastSPK; return $lastSPK;
} }
function onRomawi(int $bln): string function onRomawi(int $bln)
: string
{ {
switch ($bln) { switch ($bln) {
case 1: case 1:
@@ -230,7 +233,20 @@ function onRomawi(int $bln): string
function penyebut($nilai) function penyebut($nilai)
{ {
$nilai = abs($nilai); $nilai = abs($nilai);
$huruf = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas"); $huruf = [
"",
"satu",
"dua",
"tiga",
"empat",
"lima",
"enam",
"tujuh",
"delapan",
"sembilan",
"sepuluh",
"sebelas"
];
$temp = ""; $temp = "";
if ($nilai < 12) { if ($nilai < 12) {
$temp = " " . $huruf[$nilai]; $temp = " " . $huruf[$nilai];
@@ -265,6 +281,7 @@ function terbilang($nilai)
} }
return $hasil; return $hasil;
} }
// andy add // andy add
@@ -406,6 +423,7 @@ function getCustomField($param)
return null; return null;
} }
} }
function getWilayahName($code, $type) function getWilayahName($code, $type)
{ {
try { try {
@@ -435,7 +453,7 @@ function getWilayahName($code, $type)
default: default:
return null; return null;
} }
} catch (\Exception $e) { } catch (Exception $e) {
return null; return null;
} }
} }
@@ -488,6 +506,7 @@ function calculateSLA($permohonan, $type)
* @param array $detailsArray * @param array $detailsArray
* @param string $key * @param string $key
* @param int $jenisLegalitas * @param int $jenisLegalitas
*
* @return int * @return int
*/ */
function calculateTotalLuas($detailsArray, $key, $jenisLegalitas, $defaultJenisLegalitas, $fallbackJenisLegalitas) function calculateTotalLuas($detailsArray, $key, $jenisLegalitas, $defaultJenisLegalitas, $fallbackJenisLegalitas)
@@ -548,7 +567,8 @@ function calculateTotalLuas($detailsArray, $key, $jenisLegalitas, $defaultJenisL
} }
function ubahNomorHp($nomorHp) { function ubahNomorHp($nomorHp)
{
$nomorHp = preg_replace('/\D/', '', $nomorHp); $nomorHp = preg_replace('/\D/', '', $nomorHp);
if (strpos($nomorHp, '62') === 0) { if (strpos($nomorHp, '62') === 0) {
@@ -563,12 +583,14 @@ function ubahNomorHp($nomorHp) {
} }
} }
function formatNotifikasi($data){ function formatNotifikasi($notifikasi)
$data = json_decode(json_encode($data->data)); {
$data = json_decode(json_encode($notifikasi->data));
$message = $data->message;
$data = $data->data; $data = $data->data;
$notifikasi = [ $notifikasi = [
'title' => 'Permohonan : ' . $data->nomor_registrasi, 'title' => 'Permohonan : ' . $data->nomor_registrasi,
'message'=> 'Status : '.str_replace(['-','_'],' ',ucwords($data->status)) 'message' => $message,
]; ];
return $notifikasi; return $notifikasi;
} }