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 = [ $accountQuery = [
'account_number' => $this->account_number, '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']) return StmtEntry::where('account_number', $criteria['account_number'])
->where('booking_date', $criteria['period']) ->where('booking_date', $criteria['period'])
->count(); ->count();
} }
private function getExistingProcessedCount(array $criteria): int private function getExistingProcessedCount(array $criteria)
: int
{ {
return ProcessedStatement::where('account_number', $criteria['account_number']) return ProcessedStatement::where('account_number', $criteria['account_number'])
->where('period', $criteria['period']) ->where('period', $criteria['period'])
->count(); ->count();
} }
private function deleteExistingProcessedData(array $criteria): void private function deleteExistingProcessedData(array $criteria)
: void
{ {
ProcessedStatement::where('account_number', $criteria['account_number']) ProcessedStatement::where('account_number', $criteria['account_number'])
->where('period', $criteria['period']) ->where('period', $criteria['period'])
->delete(); ->delete();
} }
private function processAndSaveStatementEntries(int $totalCount): void private function processAndSaveStatementEntries(int $totalCount)
: void
{ {
$runningBalance = (float) $this->saldo; $runningBalance = (float) $this->saldo;
$globalSequence = 0; $globalSequence = 0;
@@ -126,7 +131,8 @@
}); });
} }
private function prepareProcessedData($entries, &$runningBalance, &$globalSequence): array private function prepareProcessedData($entries, &$runningBalance, &$globalSequence)
: array
{ {
$processedData = []; $processedData = [];
@@ -156,7 +162,8 @@
return $processedData; return $processedData;
} }
private function formatTransactionDate($item): string private function formatTransactionDate($item)
: string
{ {
try { try {
return Carbon::createFromFormat( return Carbon::createFromFormat(
@@ -169,7 +176,8 @@
} }
} }
private function formatActualDate($item): string private function formatActualDate($item)
: string
{ {
try { try {
return Carbon::createFromFormat( return Carbon::createFromFormat(
@@ -284,21 +292,17 @@
return str_replace('<NL>', '', $result); 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 * Export processed data to CSV file
*/ */
private function exportToCsv() private function exportToCsv()
: void : 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"; $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 // 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}"); 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 ?? "";
}
} }