Fix bollo in FE

This commit is contained in:
Thomas Zilio 2019-05-17 09:50:32 -07:00
parent db9e73a666
commit 3ee8368f84
2 changed files with 13 additions and 11 deletions

View File

@ -396,12 +396,7 @@ class Fattura extends Document
public function save(array $options = []) public function save(array $options = [])
{ {
// Fix dei campi statici // Fix dei campi statici
$bollo = $this->bollo; $this->manageRigaMarcaDaBollo();
if ($bollo == null) {
$bollo = $this->calcolaMarcaDaBollo();
}
$this->manageRigaMarcaDaBollo($bollo, $this->addebita_bollo);
$this->attributes['ritenutaacconto'] = $this->ritenuta_acconto; $this->attributes['ritenutaacconto'] = $this->ritenuta_acconto;
$this->attributes['iva_rivalsainps'] = $this->iva_rivalsa_inps; $this->attributes['iva_rivalsainps'] = $this->iva_rivalsa_inps;
@ -516,8 +511,12 @@ class Fattura extends Document
return $result; return $result;
} }
protected function calcolaMarcaDaBollo() public function getBollo()
{ {
if (isset($this->bollo)) {
return $this->bollo;
}
$righe_bollo = $this->getRighe()->filter(function ($item, $key) { $righe_bollo = $this->getRighe()->filter(function ($item, $key) {
return $item->aliquota != null && in_array($item->aliquota->codice_natura_fe, ['N1', 'N2', 'N3', 'N4']); return $item->aliquota != null && in_array($item->aliquota->codice_natura_fe, ['N1', 'N2', 'N3', 'N4']);
}); });
@ -537,10 +536,13 @@ class Fattura extends Document
return $marca_da_bollo; return $marca_da_bollo;
} }
protected function manageRigaMarcaDaBollo($marca_da_bollo, $addebita_bollo) protected function manageRigaMarcaDaBollo()
{ {
$riga = $this->rigaBollo; $riga = $this->rigaBollo;
$addebita_bollo = $this->addebita_bollo;
$marca_da_bollo = $this->getBollo();
// Rimozione riga bollo se nullo // Rimozione riga bollo se nullo
if (empty($addebita_bollo) || empty($marca_da_bollo)) { if (empty($addebita_bollo) || empty($marca_da_bollo)) {
if (!empty($riga)) { if (!empty($riga)) {

View File

@ -653,11 +653,11 @@ class FatturaElettronica
} }
// Bollo (2.1.1.6) // Bollo (2.1.1.6)
$documento['bollo'] = floatval($documento['bollo']); $bollo = $documento->getBollo();
if (!empty($documento['bollo'])) { if (!empty($bollo)) {
$result['DatiBollo'] = [ $result['DatiBollo'] = [
'BolloVirtuale' => 'SI', 'BolloVirtuale' => 'SI',
'ImportoBollo' => $documento['bollo'], 'ImportoBollo' => $bollo,
]; ];
} }