fix(webstatement): optimalkan proses pembersihan data dan update balance
Melakukan perbaikan serta optimisasi pada proses pembersihan data dan pengolahan saldo akun.
Perubahan utama:
- **ProcessStmtEntryDataJob**:
- Mengganti `str_replace` dengan `preg_replace` untuk pembersihan `trans_reference`, sehingga lebih fleksibel dalam menghapus karakter setelah `\` (termasuk keseluruhan pattern yang lebih kompleks).
- Mengevaluasi penghapusan potensi substring logic yang tidak digunakan, memperkuat pembersihan menjadi lebih konsisten.
- **ProcessAccountDataJob**:
- Mengganti penggunaan `firstOrNew` dan `save` dengan `updateOrInsert` untuk mengurangi jumlah query ke database.
- Menambahkan pembuatan data `created_at` dan `updated_at` untuk memastikan data yang di-update memiliki timestamp konsisten.
- Menjamin default value pada `actual_balance` dan `cleared_balance` apabila data masukan kosong agar sistem tetap dapat berjalan tanpa error.
Perubahan ini dilakukan untuk meningkatkan efisiensi proses pengolahan data, mengurangi overhead query, serta memastikan data yang diproses tetap konsisten dan lebih aman.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
@@ -73,7 +73,13 @@
|
||||
if ($data['stmt_entry_id'] !== 'stmt_entry_id') {
|
||||
// Bersihkan trans_reference dari \\BNK jika ada
|
||||
if (isset($data['trans_reference'])) {
|
||||
$data['trans_reference'] = str_replace('\\BNK', '', $data['trans_reference']);
|
||||
$cleanedRef = preg_replace('/\\\\.*$/', '', $data['trans_reference']);
|
||||
//$firstTwoChars = substr($cleanedRef, 0, 2);
|
||||
/*$data['trans_reference'] = (in_array($firstTwoChars, ['FT', 'TT','AA']))
|
||||
? substr($cleanedRef, 0, 12)
|
||||
: $cleanedRef;*/
|
||||
|
||||
$data['trans_reference'] = $cleanedRef;
|
||||
}
|
||||
|
||||
StmtEntry::updateOrCreate(
|
||||
|
||||
Reference in New Issue
Block a user