🔄 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:
@@ -184,15 +184,13 @@
|
||||
->whereNotNull('currency')
|
||||
->where('currency', '!=', '')
|
||||
->whereIn('ctdesc', $cardTypes)
|
||||
->whereNotIn('product_code',['6002','6004','6042','6031']) // Hapus 6021 dari sini
|
||||
->whereNotIn('product_code',['6031','6021','6042']) // Hapus 6021 dari sini
|
||||
->where('branch','!=','ID0019999')
|
||||
// Filter khusus: Kecualikan product_code 6021 yang ctdesc nya gold
|
||||
->where(function($subQuery) {
|
||||
$subQuery->where('product_code', '!=', '6021')
|
||||
->orWhere(function($nestedQuery) {
|
||||
$nestedQuery->where('product_code', '6021')
|
||||
->where('ctdesc', '!=', 'GOLD');
|
||||
});
|
||||
->where(function($query) {
|
||||
$query->whereNot(function($q) {
|
||||
$q->where('product_code', '6004')
|
||||
->where('ctdesc', 'CLASSIC');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -203,8 +201,8 @@
|
||||
Log::info('Eligible ATM cards fetched successfully', [
|
||||
'total_cards' => $cards->count(),
|
||||
'periode' => $this->periode,
|
||||
'excluded_product_codes' => ['6002','6004','6042','6031'],
|
||||
'special_filter' => 'product_code 6021 dengan ctdesc gold dikecualikan'
|
||||
'excluded_product_codes' => ['6021','6042','6031'],
|
||||
'special_filter' => 'product_code 6004 dengan ctdesc classic dikecualikan'
|
||||
]);
|
||||
|
||||
return $cards;
|
||||
@@ -251,6 +249,8 @@
|
||||
: array
|
||||
{
|
||||
$today = date('Ymd');
|
||||
// Generate hash string unik 16 digit
|
||||
$uniqueHash = substr(hash('sha256', $card->crdno . $today . microtime(true) . uniqid()), 0, 16);
|
||||
|
||||
return [
|
||||
'',
|
||||
@@ -272,7 +272,8 @@
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'ACAT'
|
||||
'ACAT',
|
||||
$uniqueHash
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user