feat(webstatement): perbaikan mapping data dan penambahan format trans referensi

- Memperbaiki mapping `listAccount` di `WebstatementController`:
  - Mengubah urutan key 'OY' dan 'PLUANG' sehingga data ditukar posisinya.
- Menambahkan logika untuk mendukung format baru di `ExportStatementJob`:
  - Menambahkan dukungan format untuk `TTTRFOUT` dengan value 'TT.O.TRF'.
  - Menambahkan dukungan format untuk `TTTRFIN` dengan value 'TT.I.TRF'.
- Menambahkan pengecekan prefix pada `trans_reference` untuk mapping field secara dinamis:
  - Menambahkan mapping prefix baru dengan `relationMap` seperti `FT`, `TT`, `DC`, dan `AA` yang mengarahkan ke relasi data spesifik.
  - Menyesuaikan logika fallback agar memprioritaskan field berdasarkan prefix sebelum default ke data aslinya.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-05-26 09:47:21 +07:00
parent 6a7a3418b7
commit 3cb3eb449b
2 changed files with 18 additions and 3 deletions

View File

@@ -60,11 +60,11 @@
function listAccount(){
return [
'OY' => [
'PLUANG' => [
'1080426085',
'1080425781',
],
'PLUANG' => [
'OY' => [
'1081647484',
'1081647485',
],

View File

@@ -227,6 +227,10 @@
$fmt = 'FT.IN';
} else if ($narrParam->_id == 'FTOUT') {
$fmt = 'FT.OUT';
} else if ($narrParam->_id == 'TTTRFOUT') {
$fmt = 'TT.O.TRF';
} else if ($narrParam->_id == 'TTTRFIN') {
$fmt = 'TT.I.TRF';
} else {
$fmt = $narrParam->_id;
}
@@ -285,7 +289,18 @@
} else {
// If no value found, try to use the original field name as a fallback
if ($fieldName !== 'recipt_no') {
$result .= ($item->ft?->$fieldName ?? '') . ' ';
$prefix = substr($item->trans_reference ?? '', 0, 2);
$relationMap = [
'FT' => 'ft',
'TT' => 'tt',
'DC' => 'dc',
'AA' => 'aa'
];
if (isset($relationMap[$prefix])) {
$relation = $relationMap[$prefix];
$result .= ($item->$relation?->$fieldName ?? '') . ' ';
}
}
}
}