Correzioni strutturali
@loviuz Ho corretto alcune modifiche degli ultimi commit. Il metodo calcola è esclusivamente interno e deve essere utilizzato come tale (per le modifiche di comportamento ci sono gli attributi appositi).
This commit is contained in:
parent
b2f6e802fc
commit
1f289dd8c9
|
@ -83,12 +83,12 @@ abstract class Row extends Description
|
||||||
|
|
||||||
public function getRivalsaINPSAttribute()
|
public function getRivalsaINPSAttribute()
|
||||||
{
|
{
|
||||||
return ($this->imponibile_scontato) / 100 * $this->rivalsa->percentuale;
|
return $this->imponibile_scontato / 100 * $this->rivalsa->percentuale;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getIvaRivalsaINPSAttribute()
|
public function getIvaRivalsaINPSAttribute()
|
||||||
{
|
{
|
||||||
return $this->getRivalsaINPSAttribute() / 100 * $this->aliquota->percentuale;
|
return $this->rivalsa_inps / 100 * $this->aliquota->percentuale;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRitenutaAccontoAttribute()
|
public function getRitenutaAccontoAttribute()
|
||||||
|
|
|
@ -27,24 +27,20 @@ abstract class Document extends Model
|
||||||
abstract public function scontoGlobale();
|
abstract public function scontoGlobale();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calcola la somma degli attributi indicati come parametri.
|
* Calcola la somma degli attributi indicati come parametri.
|
||||||
|
* Il metodo **non** deve essere adattato per ulteriori funzionalità: deve esclusivamente calcolare la somma richiesta in modo esplicito dagli argomenti.
|
||||||
*
|
*
|
||||||
* @param mixed ...$args
|
* @param mixed ...$args
|
||||||
*
|
*
|
||||||
* @return float
|
* @return float
|
||||||
*/
|
*/
|
||||||
public function calcola(...$args)
|
protected function calcola(...$args)
|
||||||
{
|
{
|
||||||
$result = 0;
|
$result = 0;
|
||||||
foreach ($args as $arg) {
|
foreach ($args as $arg) {
|
||||||
$result += $this->getRigheContabili()->sum($arg);
|
$result += $this->getRigheContabili()->sum($arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aggiunta eventuale iva rivalsa inps
|
|
||||||
if (in_array ('iva', $args) ) {
|
|
||||||
$result = sum($result, $this->iva_rivalsainps);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->round($result);
|
return $this->round($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,7 +81,7 @@ abstract class Document extends Model
|
||||||
*/
|
*/
|
||||||
public function getIvaAttribute()
|
public function getIvaAttribute()
|
||||||
{
|
{
|
||||||
return $this->calcola('iva');
|
return $this->calcola('iva', 'iva_rivalsa_inps');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,7 +101,7 @@ abstract class Document extends Model
|
||||||
*/
|
*/
|
||||||
public function getIvaRivalsaINPSAttribute()
|
public function getIvaRivalsaINPSAttribute()
|
||||||
{
|
{
|
||||||
return $this->calcola('iva_rivalsainps');
|
return $this->calcola('iva_rivalsa_inps');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -622,17 +622,17 @@ class FatturaElettronica
|
||||||
return $this->cliente;
|
return $this->cliente;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restituisce le informazioni sull'anagrafica dell'intermediario.
|
* Restituisce le informazioni sull'anagrafica dell'intermediario.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getIntermediario()
|
public function getIntermediario()
|
||||||
{
|
{
|
||||||
if (empty($this->intermediario)) {
|
if (empty($this->intermediario)) {
|
||||||
$intermediario = static::getAnagrafica(setting('Terzo intermediario'));
|
$intermediario = static::getAnagrafica(setting('Terzo intermediario'));
|
||||||
$this->intermediario = $intermediario;
|
$this->intermediario = $intermediario;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->intermediario;
|
return $this->intermediario;
|
||||||
}
|
}
|
||||||
|
@ -957,12 +957,11 @@ class FatturaElettronica
|
||||||
|
|
||||||
// Partita IVA (obbligatoria se presente)
|
// Partita IVA (obbligatoria se presente)
|
||||||
if (!empty($anagrafica['piva'])) {
|
if (!empty($anagrafica['piva'])) {
|
||||||
|
if (!empty($anagrafica['nazione'])) {
|
||||||
|
$result['IdFiscaleIVA']['IdPaese'] = $anagrafica['nazione'];
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($anagrafica['nazione']))
|
$result['IdFiscaleIVA']['IdCodice'] = $anagrafica['piva'];
|
||||||
$result['IdFiscaleIVA']['IdPaese'] = $anagrafica['nazione'];
|
|
||||||
|
|
||||||
$result['IdFiscaleIVA']['IdCodice'] = $anagrafica['piva'];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Codice fiscale
|
// Codice fiscale
|
||||||
|
@ -1079,21 +1078,21 @@ class FatturaElettronica
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restituisce l'array responsabile per la generazione del tag TerzoIntermediarioOSoggettoEmittente (1.5).
|
* Restituisce l'array responsabile per la generazione del tag TerzoIntermediarioOSoggettoEmittente (1.5).
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected static function getTerzoIntermediarioOSoggettoEmittente($fattura)
|
protected static function getTerzoIntermediarioOSoggettoEmittente($fattura)
|
||||||
{
|
{
|
||||||
$intermediario = $fattura->getIntermediario();
|
$intermediario = $fattura->getIntermediario();
|
||||||
|
|
||||||
$result = [
|
$result = [
|
||||||
'DatiAnagrafici' => static::getDatiAnagrafici($intermediario),
|
'DatiAnagrafici' => static::getDatiAnagrafici($intermediario),
|
||||||
];
|
];
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1164,7 +1163,7 @@ class FatturaElettronica
|
||||||
'TipoCassa' => setting('Tipo Cassa'),
|
'TipoCassa' => setting('Tipo Cassa'),
|
||||||
'AlCassa' => $percentuale,
|
'AlCassa' => $percentuale,
|
||||||
'ImportoContributoCassa' => $totale_rivalsainps,
|
'ImportoContributoCassa' => $totale_rivalsainps,
|
||||||
'ImponibileCassa' => $fattura->calcola('imponibile'),
|
'ImponibileCassa' => $fattura->imponibile,
|
||||||
'AliquotaIVA' => $iva['percentuale'],
|
'AliquotaIVA' => $iva['percentuale'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1198,7 +1197,7 @@ class FatturaElettronica
|
||||||
// Importo Totale Documento (2.1.1.9)
|
// Importo Totale Documento (2.1.1.9)
|
||||||
// Importo totale del documento al netto dell'eventuale sconto e comprensivo di imposta a debito del cessionario / committente
|
// Importo totale del documento al netto dell'eventuale sconto e comprensivo di imposta a debito del cessionario / committente
|
||||||
$fattura = Modules\Fatture\Fattura::find($documento['id']);
|
$fattura = Modules\Fatture\Fattura::find($documento['id']);
|
||||||
$result['ImportoTotaleDocumento'] = $fattura->calcola('netto');
|
$result['ImportoTotaleDocumento'] = $fattura->netto;
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
@ -1458,10 +1457,10 @@ class FatturaElettronica
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($percentuale)) {
|
if (empty($percentuale)) {
|
||||||
//Controllo aggiuntivo codice_natura_fe per evitare che venga riportato il tag vuoto
|
//Controllo aggiuntivo codice_natura_fe per evitare che venga riportato il tag vuoto
|
||||||
if (!empty($iva['codice_natura_fe'])){
|
if (!empty($iva['codice_natura_fe'])) {
|
||||||
$dettaglio['Natura'] = $iva['codice_natura_fe'];
|
$dettaglio['Natura'] = $iva['codice_natura_fe'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($riga['riferimento_amministrazione'])) {
|
if (!empty($riga['riferimento_amministrazione'])) {
|
||||||
|
@ -1657,11 +1656,11 @@ class FatturaElettronica
|
||||||
'CessionarioCommittente' => static::getCessionarioCommittente($fattura),
|
'CessionarioCommittente' => static::getCessionarioCommittente($fattura),
|
||||||
];
|
];
|
||||||
|
|
||||||
//Terzo Intermediario o Soggetto Emittente
|
//Terzo Intermediario o Soggetto Emittente
|
||||||
if (!empty(setting('Terzo intermediario'))){
|
if (!empty(setting('Terzo intermediario'))) {
|
||||||
$result['TerzoIntermediarioOSoggettoEmittente'] = static::getTerzoIntermediarioOSoggettoEmittente($fattura);
|
$result['TerzoIntermediarioOSoggettoEmittente'] = static::getTerzoIntermediarioOSoggettoEmittente($fattura);
|
||||||
$result['SoggettoEmittente'] = 'TZ';
|
$result['SoggettoEmittente'] = 'TZ';
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue