feat(webstatement): tambah helper untuk menghitung tanggal periode dan perbaikan validasi permintaan
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>
This commit is contained in:
39
app/Helpers/helpers.php
Normal file
39
app/Helpers/helpers.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?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,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user