From e0f78f851f8c536c390b906ea67149a416ecccde Mon Sep 17 00:00:00 2001 From: Andy Chaerudin Date: Wed, 4 Dec 2024 16:16:55 +0700 Subject: [PATCH] Perbaikan helper onLastnumberCodePenawaran --- app/Helpers/Lpj.php | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index ed09be5..9cb1af6 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -118,18 +118,29 @@ $noUrutAkhirString = sprintf("%04s", 1); if($penawaran) { - $code_penawaran_last = substr ($maxCode, -4); - $year_penawaran_last = Carbon::parse($penawaran->created_at)->year; - $year_now = Carbon::now()->year; - if ($year_now == $year_penawaran_last) { - $noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1)); - } - // jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001 + $isNum = substr($maxCode, 2); // memastikan string ke 3 s/d 8 adalan numiric + $isNP = substr($maxCode, 0, 2); + if((8 == strlen($maxCode)) && ("NP"==$isNP) && (isNumeric($isNum))) + { + $code_penawaran_last = substr ($maxCode, -4); + $year_penawaran_last = Carbon::parse($penawaran->created_at)->year; + $year_now = Carbon::now()->year; + if ($year_now == $year_penawaran_last) { + $noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1)); + } + // jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001 + } + } - + return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString; } + function isNumeric($str) + { + return ctype_digit($str); + } + // generate last penawaran.no_spk function onLastnumberCodePenawaranSPK($jenis_laporan_code): string {