🔄 refactor(jobs): perbaikan logika pada beberapa controller dan job

- **WebstatementController.php**:
  - Menyederhanakan fungsi `index()` dengan mengubah parameter menjadi langsung `string $queueName='default'`.
  - Menghapus pengambilan parameter `$queueName` dari objek `Request`.
- **ExportStatementPeriodJob.php**:
  - Memperbaiki perhitungan saldo berjalan (`running balance`) dengan mempertimbangkan mata uang.
  - Menambahkan logika penggunaan `amount_fcy` jika mata uang bukan IDR.
  - Menyesuaikan tipe transaksi (D/C) menggunakan nilai `amount` yang telah disesuaikan.
- **GenerateBiayaKartuCsvJob.php**:
  - Mengubah daftar produk yang dikecualikan menjadi `['6031','6021','6042']`.
  - Memperbaiki filter khusus dengan mengecualikan `product_code` 6004 jika `ctdesc` = CLASSIC.
  - Menambahkan kolom hash unik 16 digit pada data CSV untuk identifikasi setiap record.
- **ProcessCustomerDataJob.php**:
  - Menambahkan mapping baru `name_1` → `name` pada `getHeaderMapping`.
  - Menambahkan logging untuk field `fillable` agar debugging lebih mudah.
This commit is contained in:
Daeng Deni Mardaeni
2025-09-09 08:51:53 +07:00
parent 291e791114
commit 5d0dbfcf21
4 changed files with 24 additions and 20 deletions

View File

@@ -202,19 +202,23 @@ class ExportStatementPeriodJob implements ShouldQueue
foreach ($entries as $item) {
$globalSequence++;
$runningBalance += (float) $item->amount_lcy;
$transactionDate = $this->formatTransactionDate($item);
$actualDate = $this->formatActualDate($item);
$amount = $item->amount_fcy;
if($item->currency=='IDR'){
$amount = $item->amount_lcy;
}
$runningBalance += (float) $amount;
$processedData[] = [
'account_number' => $this->account_number,
'period' => $this->period,
'sequence_no' => $globalSequence,
'transaction_date' => $item->booking_date,
'reference_number' => $item->trans_reference,
'transaction_amount' => $item->amount_lcy,
'transaction_type' => $item->amount_lcy < 0 ? 'D' : 'C',
'transaction_amount' => $amount,
'transaction_type' => $amount < 0 ? 'D' : 'C',
'description' => $this->generateNarrative($item),
'end_balance' => $runningBalance,
'actual_date' => $actualDate,