refactor(webstatement): improve code readability and consistency in ExportStatementJob

- Menambahkan tipe return untuk beberapa method agar lebih eksplisit dan konsisten.
- Memperbaiki indentasi dan alignment parameter untuk meningkatkan keterbacaan.
- Menghapus method `getTransaction` dan memindahkannya ke bagian akhir kode dengan dokumentasi ulang.
- Menambahkan logika untuk menghapus file CSV yang sudah ada sebelum membuat file baru di method `exportToCsv`.
- Mengoreksi format data dan whitespace pada beberapa bagian kode untuk menjaga standar penulisan.
- Memindahkan komentar terkait dokumentasi method ke posisi yang lebih relevan dan terstruktur.
- Memastikan konsistensi penggunaan tanda kurung kurawal dan spasi pada query database agar lebih seragam.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-05-23 21:30:04 +07:00
parent 57463f2429
commit cb0a248ce5

View File

@@ -67,7 +67,8 @@
}
}
private function processStatementData(): void
private function processStatementData()
: void
{
$accountQuery = [
'account_number' => $this->account_number,
@@ -84,28 +85,32 @@
}
}
private function getTotalEntryCount(array $criteria): int
private function getTotalEntryCount(array $criteria)
: int
{
return StmtEntry::where('account_number', $criteria['account_number'])
->where('booking_date', $criteria['period'])
->count();
}
private function getExistingProcessedCount(array $criteria): int
private function getExistingProcessedCount(array $criteria)
: int
{
return ProcessedStatement::where('account_number', $criteria['account_number'])
->where('period', $criteria['period'])
->count();
}
private function deleteExistingProcessedData(array $criteria): void
private function deleteExistingProcessedData(array $criteria)
: void
{
ProcessedStatement::where('account_number', $criteria['account_number'])
->where('period', $criteria['period'])
->delete();
}
private function processAndSaveStatementEntries(int $totalCount): void
private function processAndSaveStatementEntries(int $totalCount)
: void
{
$runningBalance = (float) $this->saldo;
$globalSequence = 0;
@@ -126,7 +131,8 @@
});
}
private function prepareProcessedData($entries, &$runningBalance, &$globalSequence): array
private function prepareProcessedData($entries, &$runningBalance, &$globalSequence)
: array
{
$processedData = [];
@@ -156,7 +162,8 @@
return $processedData;
}
private function formatTransactionDate($item): string
private function formatTransactionDate($item)
: string
{
try {
return Carbon::createFromFormat(
@@ -169,7 +176,8 @@
}
}
private function formatActualDate($item): string
private function formatActualDate($item)
: string
{
try {
return Carbon::createFromFormat(
@@ -284,21 +292,17 @@
return str_replace('<NL>', '', $result);
}
/**
* Get transaction data by reference and field
*/
private function getTransaction($ref, $field)
{
$trans = TempFundsTransfer::where('ref_no', $ref)->first();
return $trans->$field ?? "";
}
/**
* Export processed data to CSV file
*/
private function exportToCsv()
: void
{
// Delete existing file if it exists
if (Storage::disk($this->disk)->exists("statements/{$this->fileName}")) {
Storage::disk($this->disk)->delete("statements/{$this->fileName}");
}
$csvContent = "NO|TRANSACTION.DATE|REFERENCE.NUMBER|TRANSACTION.AMOUNT|TRANSACTION.TYPE|DESCRIPTION|END.BALANCE|ACTUAL.DATE\n";
// Ambil data yang sudah diproses dalam chunk untuk mengurangi penggunaan memori
@@ -326,4 +330,13 @@
Log::info("Statement exported to {$this->disk} disk: statements/{$this->fileName}");
}
/**
* Get transaction data by reference and field
*/
private function getTransaction($ref, $field)
{
$trans = TempFundsTransfer::where('ref_no', $ref)->first();
return $trans->$field ?? "";
}
}