refactor(webstatement): ubah ordering pada GenerateClosingBalanceReportJob
Mengubah ordering pada proses generate closing balance report agar hanya menggunakan booking_date dan date_time: - Menghapus ordering berdasarkan trans_reference dan amount_lcy pada buildTransactionQuery() - Menggunakan ordering booking_date dan date_time pada query transaksi - Mengubah ordering pada exportFromDatabaseToCsv() dari sequence_no menjadi booking_date dan transaction_date - Menambahkan komentar untuk menjelaskan perubahan ordering - Mempertahankan distinct pada kombinasi trans_reference dan amount_lcy untuk menghindari duplikasi - Memastikan konsistensi ordering antara proses penyimpanan dan export CSV - Meningkatkan performa dengan ordering yang lebih sederhana dan relevan
This commit is contained in:
@@ -17,8 +17,6 @@ use Modules\Webstatement\Models\ClosingBalanceReportLog;
|
||||
use Modules\Webstatement\Models\ProcessedClosingBalance;
|
||||
use Modules\Webstatement\Models\StmtEntry;
|
||||
use Modules\Webstatement\Models\StmtEntryDetail;
|
||||
use Modules\Webstatement\Models\TempFundsTransfer;
|
||||
use Modules\Webstatement\Models\DataCapture;
|
||||
|
||||
/**
|
||||
* Job untuk generate laporan closing balance dengan optimasi performa
|
||||
@@ -297,11 +295,12 @@ class GenerateClosingBalanceReportJob implements ShouldQueue
|
||||
$csvContent = implode('|', $csvHeader) . "\n";
|
||||
Storage::disk($this->disk)->put($filePath, $csvContent);
|
||||
|
||||
// Export data from database in chunks
|
||||
// Export data from database in chunks dengan ordering berdasarkan booking_date dan date_time
|
||||
ProcessedClosingBalance::where('account_number', $this->accountNumber)
|
||||
->where('period', $this->period)
|
||||
->where('group_name', $this->groupName)
|
||||
->orderBy('sequence_no')
|
||||
->orderBy('booking_date')
|
||||
->orderBy('transaction_date') // Menggunakan transaction_date yang sudah dikonversi dari date_time
|
||||
->chunk($this->chunkSize, function ($records) use ($filePath) {
|
||||
$csvContent = '';
|
||||
foreach ($records as $record) {
|
||||
|
||||
Reference in New Issue
Block a user