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 {