From ac684ca260889f6a09ab877385e76b636d7bd049 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 21 Nov 2024 18:38:31 +0700 Subject: [PATCH] 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. --- app/Helpers/Lpj.php | 90 +++++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index 5ce58a0..ec2aaf3 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -1,16 +1,16 @@ translatedFormat('d F Y'); } return $waktu->translatedFormat('d F Y') . ' pukul ' . $waktu->format('H.i') . ' WIB'; @@ -19,7 +19,7 @@ use Modules\Lpj\Models\HolidayCalendar; function formatRupiah($number) { - $number = (float)$number; + $number = (float) $number; return 'Rp ' . number_format($number, 2, ',', '.'); } @@ -34,8 +34,8 @@ use Modules\Lpj\Models\HolidayCalendar; { $penawaran = PenawaranTender::find($id); - $start_date = strtotime($penawaran->start_date); - $end_date = strtotime($penawaran->end_date); + $start_date = strtotime($penawaran->start_date); + $end_date = strtotime($penawaran->end_date); // $todays_date = strtotime(now()); $todays_date = strtotime("+1 day", strtotime(now())); @@ -62,25 +62,25 @@ use Modules\Lpj\Models\HolidayCalendar; // DB::enableQueryLog(); // detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap? $query = PenawaranDetailTender::select('id')->where('penawaran_id', '=', $id)->where('status', '=', 1)->where( - function ($query) { - // no_proposal - $query->orWhere('no_proposal', '', ""); - $query->orWhereNull('no_proposal'); + function ($query) { + // no_proposal + $query->orWhere('no_proposal', '', ""); + $query->orWhereNull('no_proposal'); - // tgl_proposal - $query->orWhere('tgl_proposal', '', ""); - $query->orWhereNull('tgl_proposal'); + // tgl_proposal + $query->orWhere('tgl_proposal', '', ""); + $query->orWhereNull('tgl_proposal'); - $query->orWhere('biaya_penawaran', '', ""); - $query->orWhereNull('biaya_penawaran'); + $query->orWhere('biaya_penawaran', '', ""); + $query->orWhereNull('biaya_penawaran'); - $query->orWhere('attachment', '', ""); - $query->orWhereNull('attachment'); + $query->orWhere('attachment', '', ""); + $query->orWhereNull('attachment'); - $query->orWhere('dokumen_persetujuan', '', ""); - $query->orWhereNull('dokumen_persetujuan'); - }, - )->get(); + $query->orWhere('dokumen_persetujuan', '', ""); + $query->orWhereNull('dokumen_persetujuan'); + }, + )->get(); // $sql = DB::getQueryLog(); @@ -103,28 +103,28 @@ use Modules\Lpj\Models\HolidayCalendar; return implode(' ', $words); } - // generate last penawaran.code - function onLastnumberCodePenawaran(): string + // generate last penawaran.code + function onLastnumberCodePenawaran() + : string { // chek data penawaran terakhir --> mengurutkan data berdasarkan kolom `created_at` secara DESC $maxCode = PenawaranTender::max('code'); // $penawaran = PenawaranTender::latest()->first(); - $penawaran = PenawaranTender::where('code','=',$maxCode)->first(); - $code_penawaran_last=''; - $noUrutAkhirString = sprintf("%04s", 1); - if($penawaran) - { - $code_penawaran_last = substr ($maxCode, -4); + $penawaran = PenawaranTender::where('code', '=', $maxCode)->first(); + $code_penawaran_last = ''; + $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)); + $year_now = Carbon::now()->year; + if ($year_now == $year_penawaran_last) { + $noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1)); } } - - return 'NP'.Carbon::now()->format('y').$noUrutAkhirString; + + return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString; } + // andy add @@ -136,16 +136,9 @@ use Modules\Lpj\Models\HolidayCalendar; $hariKerja = 0; $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) { // 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++; } $tanggalSekarang->addDay(); @@ -153,3 +146,12 @@ use Modules\Lpj\Models\HolidayCalendar; return $hariKerja; } + + function holidays() + { + return HolidayCalendar::pluck('date')->map( + function ($item) { + return Carbon::parse($item)->format('Y-m-d'); + }, + )->toArray(); + }