Perubahan yang dilakukan: - Menambahkan fungsi `calculatePeriodDates` di `helpers.php` untuk menghitung tanggal awal dan akhir berdasarkan periode. - Mendukung periode khusus seperti `202505`, dengan aturan tanggal mulai dari tanggal 9 hingga akhir bulan. - Menambahkan logging di `calculatePeriodDates` untuk memudahkan debugging saat proses penentuan tanggal. - Memperbaiki validasi di `PrintStatementRequest` dengan menyesuaikan tipe data dan aturan logika. - Merapikan aturan validasi pada `account_number` agar lebih konsisten dan mudah dibaca. - Menambahkan `helpers.php` ke properti `files` di `module.json` agar dapat diakses secara global. Tujuan perubahan: - Mendukung logika tanggal periode khusus dengan aturan tertentu. - Menyelaraskan validasi permintaan dengan standar internal yang lebih baik dan lebih stabil. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
39 lines
1.3 KiB
PHP
39 lines
1.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
if(!function_exists('calculatePeriodDates')) {
|
|
/**
|
|
* Fungsi untuk menghitung tanggal periode berdasarkan periode yang diberikan
|
|
* Jika periode 202505, mulai dari tanggal 9 sampai akhir bulan
|
|
* Jika periode lain, mulai dari tanggal 1 sampai akhir bulan
|
|
*/
|
|
function calculatePeriodDates($period)
|
|
{
|
|
$year = substr($period, 0, 4);
|
|
$month = substr($period, 4, 2);
|
|
|
|
// Log untuk debugging
|
|
Log::info('Calculating period dates', [
|
|
'period' => $period,
|
|
'year' => $year,
|
|
'month' => $month,
|
|
]);
|
|
|
|
if ($period === '202505') {
|
|
// Untuk periode 202505, mulai dari tanggal 9
|
|
$startDate = \Carbon\Carbon::createFromDate($year, $month, 9,'Asia/Jakarta');
|
|
} else {
|
|
// Untuk periode lain, mulai dari tanggal 1
|
|
$startDate = \Carbon\Carbon::createFromDate($year, $month, 1,'Asia/Jakarta');
|
|
}
|
|
|
|
// Tanggal akhir selalu akhir bulan
|
|
$endDate = \Carbon\Carbon::createFromDate($year, $month, 1)->endOfMonth();
|
|
|
|
return [
|
|
'start' => $startDate,
|
|
'end' => $endDate,
|
|
];
|
|
}
|
|
} |