refactor(export-statement): improve narrative generation logic
- Mengubah tipe variable `$narr` dari string menjadi array untuk mempermudah pengelolaan elemen-elemen narasi. - Menambahkan elemen narasi ke dalam array menggunakan metode `array_push` alih-alih concatenation dengan string. - Menggunakan `array_filter` untuk memastikan semua elemen yang bernilai kosong tidak ikut ke dalam hasil akhir. - Mengganti `trim` dengan `implode` untuk menggabungkan elemen narasi menjadi string dengan separator spasi. - Memperbaiki fallback logic saat properti transaksional tidak ada, lebih rapi dan terstruktur pada skenario `else if ($item->narrativ)`. - Penggunaan logika baru memastikan bahwa narasi lebih fleksibel dan tidak menghasilkan karakter-karakter string kosong yang tidak diperlukan di output akhir.
This commit is contained in:
@@ -197,26 +197,27 @@
|
||||
*/
|
||||
private function generateNarrative($item)
|
||||
{
|
||||
$narr = '';
|
||||
$narr = [];
|
||||
|
||||
// Check if transaction exists before accessing its properties
|
||||
if ($item->transaction) {
|
||||
if ($item->transaction->narr_type) {
|
||||
$narr .= $item->transaction->stmt_narr . ' ';
|
||||
$narr .= $this->getFormatNarrative($item->transaction->narr_type, $item);
|
||||
} else {
|
||||
$narr .= $item->transaction->stmt_narr . ' ';
|
||||
if ($item->transaction->stmt_narr) {
|
||||
$narr[] = $item->transaction->stmt_narr;
|
||||
}
|
||||
} else {
|
||||
// Fallback description if transaction is null
|
||||
$narr .= '';
|
||||
if ($item->narrativ) {
|
||||
$narr[] = $item->narrativ;
|
||||
}
|
||||
if ($item->transaction->narr_type) {
|
||||
$narr[] = $this->getFormatNarrative($item->transaction->narr_type, $item);
|
||||
}
|
||||
} else if ($item->narrativ) {
|
||||
$narr[] = $item->narrativ;
|
||||
}
|
||||
|
||||
if ($item->ft?->recipt_no) {
|
||||
$narr .= 'Receipt No: ' . $item->ft->recipt_no;
|
||||
$narr[] = 'Receipt No: ' . $item->ft->recipt_no;
|
||||
}
|
||||
|
||||
return trim($narr);
|
||||
return implode(' ', array_filter($narr));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user