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 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\HolidayCalendar;
use Modules\Lpj\Models\JenisDokumen;
use Modules\Lpj\Models\Laporan;
use Modules\Lpj\Models\PenawaranDetailTender;
use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Penilaian;
use Modules\Lpj\Models\JenisDokumen;
use Modules\Lpj\Models\TeamsUsers;
use Modules\Lpj\Models\Laporan;
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)
{
@@ -25,7 +25,7 @@ function formatTanggalIndonesia($date, $time = false)
return $waktu->translatedFormat('d F Y');
}
return $waktu->translatedFormat('d F Y') . ' pukul ' . $waktu->format('H.i') . ' WIB';
} catch (\Throwable $e) {
} catch (Throwable $e) {
return $date;
}
@@ -119,7 +119,8 @@ function convertSlug($slug)
}
// generate last penawaran.code
function onLastnumberCodePenawaran(): string
function onLastnumberCodePenawaran()
: string
{
// ambil code terakhir
$maxCode = PenawaranTender::max('code');
@@ -154,7 +155,8 @@ function isNumeric($str)
}
// generate last penawaran.no_spk
function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
function onLastnumberCodePenawaranSPK($jenis_laporan_code)
: string
{
// 20241124_001 ==> spk_no_core
@@ -183,7 +185,8 @@ function onLastnumberCodePenawaranSPK($jenis_laporan_code): string
return $lastSPK;
}
function onRomawi(int $bln): string
function onRomawi(int $bln)
: string
{
switch ($bln) {
case 1:
@@ -230,7 +233,20 @@ function onRomawi(int $bln): string
function penyebut($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 = "";
if ($nilai < 12) {
$temp = " " . $huruf[$nilai];
@@ -265,6 +281,7 @@ function terbilang($nilai)
}
return $hasil;
}
// andy add
@@ -406,6 +423,7 @@ function getCustomField($param)
return null;
}
}
function getWilayahName($code, $type)
{
try {
@@ -435,7 +453,7 @@ function getWilayahName($code, $type)
default:
return null;
}
} catch (\Exception $e) {
} catch (Exception $e) {
return null;
}
}
@@ -488,6 +506,7 @@ function calculateSLA($permohonan, $type)
* @param array $detailsArray
* @param string $key
* @param int $jenisLegalitas
*
* @return int
*/
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);
if (strpos($nomorHp, '62') === 0) {
@@ -563,12 +583,14 @@ function ubahNomorHp($nomorHp) {
}
}
function formatNotifikasi($data){
$data = json_decode(json_encode($data->data));
function formatNotifikasi($notifikasi)
{
$data = json_decode(json_encode($notifikasi->data));
$message = $data->message;
$data = $data->data;
$notifikasi = [
'title' => 'Permohonan : ' . $data->nomor_registrasi,
'message'=> 'Status : '.str_replace(['-','_'],' ',ucwords($data->status))
'message' => $message,
];
return $notifikasi;
}