Fix getCA3LineAmount to prioritize calculated entries over 'No accounts mapped'
- Updated getCA3LineAmount method to handle duplicate CA-3 line entries - Prioritizes 'Calculated' entries over 'No accounts mapped' entries - This fixes lines 28 and 29 not displaying in PDF (they were showing 0 instead of calculated values) - The method now correctly extracts calculated values: D28=357, D29=0
This commit is contained in:
parent
2ee7e67a43
commit
c896cfab7f
@ -1073,15 +1073,33 @@ class DeclarationTVA_PDF
|
||||
return '0,00';
|
||||
}
|
||||
|
||||
$calculated_amount = null;
|
||||
$mapped_amount = null;
|
||||
|
||||
// Search through the array for the matching ca3_line
|
||||
foreach ($ca3_data as $line_data) {
|
||||
if (isset($line_data['ca3_line']) && $line_data['ca3_line'] == $ca3_line) {
|
||||
$amount = isset($line_data[$amount_type]) ? $line_data[$amount_type] : 0;
|
||||
return $this->formatAmount($amount);
|
||||
|
||||
// Prioritize calculated entries over "No accounts mapped" entries
|
||||
if (isset($line_data['line_label']) && strpos($line_data['line_label'], 'Calculated') !== false) {
|
||||
$calculated_amount = $amount;
|
||||
} elseif (isset($line_data['line_label']) && strpos($line_data['line_label'], 'No accounts mapped') === false) {
|
||||
$mapped_amount = $amount;
|
||||
} else {
|
||||
// This is a "No accounts mapped" entry, only use if no other option
|
||||
if ($calculated_amount === null && $mapped_amount === null) {
|
||||
$mapped_amount = $amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return '0,00';
|
||||
// Return calculated amount if available, otherwise mapped amount, otherwise 0
|
||||
$final_amount = $calculated_amount !== null ? $calculated_amount :
|
||||
($mapped_amount !== null ? $mapped_amount : 0);
|
||||
|
||||
return $this->formatAmount($final_amount);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user