Perbaiki format kode dan refaktor fungsi
Melakukan perbaikan pada format penulisan kode untuk meningkatkan keterbacaan dan konsistensi. Memindahkan logika terkait tanggal libur dalam fungsi `countHariKerja` ke fungsi terpisah `holidays` agar lebih modular dan mudah dikelola.
This commit is contained in:
@@ -104,7 +104,8 @@ use Modules\Lpj\Models\HolidayCalendar;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// generate last penawaran.code
|
// generate last penawaran.code
|
||||||
function onLastnumberCodePenawaran(): string
|
function onLastnumberCodePenawaran()
|
||||||
|
: string
|
||||||
{
|
{
|
||||||
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC
|
// chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC
|
||||||
$maxCode = PenawaranTender::max('code');
|
$maxCode = PenawaranTender::max('code');
|
||||||
@@ -112,19 +113,18 @@ use Modules\Lpj\Models\HolidayCalendar;
|
|||||||
$penawaran = PenawaranTender::where('code', '=', $maxCode)->first();
|
$penawaran = PenawaranTender::where('code', '=', $maxCode)->first();
|
||||||
$code_penawaran_last = '';
|
$code_penawaran_last = '';
|
||||||
$noUrutAkhirString = sprintf("%04s", 1);
|
$noUrutAkhirString = sprintf("%04s", 1);
|
||||||
if($penawaran)
|
if ($penawaran) {
|
||||||
{
|
|
||||||
$code_penawaran_last = substr($maxCode, -4);
|
$code_penawaran_last = substr($maxCode, -4);
|
||||||
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
|
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
|
||||||
$year_now = Carbon::now()->year;
|
$year_now = Carbon::now()->year;
|
||||||
if($year_now == $year_penawaran_last)
|
if ($year_now == $year_penawaran_last) {
|
||||||
{
|
|
||||||
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
|
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
|
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
|
||||||
}
|
}
|
||||||
|
|
||||||
// andy add
|
// andy add
|
||||||
|
|
||||||
|
|
||||||
@@ -136,16 +136,9 @@ use Modules\Lpj\Models\HolidayCalendar;
|
|||||||
$hariKerja = 0;
|
$hariKerja = 0;
|
||||||
$tanggalSekarang = $tanggalMulai->copy();
|
$tanggalSekarang = $tanggalMulai->copy();
|
||||||
|
|
||||||
// Ambil semua tanggal libur dari tabel holiday calendar
|
|
||||||
$tanggalLibur = HolidayCalendar::whereBetween('date', [$tanggalMulai, $tanggalSelesai])->pluck('date')->map(
|
|
||||||
function ($item) {
|
|
||||||
return Carbon::parse($item)->format('Y-m-d');
|
|
||||||
},
|
|
||||||
)->toArray();
|
|
||||||
|
|
||||||
while ($tanggalSekarang <= $tanggalSelesai) {
|
while ($tanggalSekarang <= $tanggalSelesai) {
|
||||||
// Cek apakah hari ini bukan Sabtu atau Minggu dan bukan hari libur
|
// Cek apakah hari ini bukan Sabtu atau Minggu dan bukan hari libur
|
||||||
if (!$tanggalSekarang->isWeekend() && !in_array($tanggalSekarang->format('Y-m-d'), $tanggalLibur)) {
|
if (!$tanggalSekarang->isWeekend() && !in_array($tanggalSekarang->format('Y-m-d'), holidays())) {
|
||||||
$hariKerja++;
|
$hariKerja++;
|
||||||
}
|
}
|
||||||
$tanggalSekarang->addDay();
|
$tanggalSekarang->addDay();
|
||||||
@@ -153,3 +146,12 @@ use Modules\Lpj\Models\HolidayCalendar;
|
|||||||
|
|
||||||
return $hariKerja;
|
return $hariKerja;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function holidays()
|
||||||
|
{
|
||||||
|
return HolidayCalendar::pluck('date')->map(
|
||||||
|
function ($item) {
|
||||||
|
return Carbon::parse($item)->format('Y-m-d');
|
||||||
|
},
|
||||||
|
)->toArray();
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user