mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-23 23:07:46 +01:00
Bugfix codice articolo
This commit is contained in:
parent
f077e1defb
commit
455ab818b1
@ -4,6 +4,9 @@ namespace Common\Components;
|
||||
|
||||
use Common\Document;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Modules\Iva\Aliquota;
|
||||
use Modules\Ritenute\RitenutaAcconto;
|
||||
use Modules\Ritenute\RivalsaINPS;
|
||||
|
||||
abstract class Row extends Description
|
||||
{
|
||||
@ -80,26 +83,28 @@ abstract class Row extends Description
|
||||
|
||||
public function getRivalsaINPSAttribute()
|
||||
{
|
||||
return $this->attributes['rivalsainps'];
|
||||
return ($this->imponibile_scontato) / 100 * $this->rivalsa->percentuale;
|
||||
}
|
||||
|
||||
public function getRitenutaAccontoAttribute()
|
||||
{
|
||||
return $this->attributes['ritenutaacconto'];
|
||||
$result = $this->imponibile_scontato;
|
||||
|
||||
if ($this->calcolo_ritenuta_acconto == 'IMP+RIV') {
|
||||
$result += $this->rivalsainps;
|
||||
}
|
||||
|
||||
return $result / 100 * $this->ritenuta->percentuale;
|
||||
}
|
||||
|
||||
public function getIvaIndetraibileAttribute()
|
||||
{
|
||||
return $this->attributes['iva_indetraibile'];
|
||||
return $this->iva / 100 * $this->aliquota->indetraibile;
|
||||
}
|
||||
|
||||
public function getIvaAttribute()
|
||||
{
|
||||
$percentuale = database()->fetchOne('SELECT percentuale FROM co_iva WHERE id = :id', [
|
||||
':id' => $this->idiva,
|
||||
])['percentuale'];
|
||||
|
||||
return ($this->imponibile_scontato + $this->rivalsa_inps) * $percentuale / 100;
|
||||
return ($this->imponibile_scontato + $this->rivalsa_inps) * $this->aliquota->percentuale / 100;
|
||||
}
|
||||
|
||||
public function getIvaDetraibileAttribute()
|
||||
@ -128,15 +133,14 @@ abstract class Row extends Description
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta l'identificatore della Rivalsa INPS, effettuando di conseguenza i conti.
|
||||
* Imposta l'identificatore della Rivalsa INPS.
|
||||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setIdRivalsaINPSAttribute($value)
|
||||
{
|
||||
$this->attributes['idrivalsainps'] = $value;
|
||||
|
||||
$this->fixRivalsaINPS();
|
||||
$this->load('rivalsa');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -147,16 +151,18 @@ abstract class Row extends Description
|
||||
public function setIdRitenutaAccontoAttribute($value)
|
||||
{
|
||||
$this->attributes['idritenutaacconto'] = $value;
|
||||
$this->load('ritenuta');
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta l'identificatore dell'IVA, effettuando di conseguenza i conti.
|
||||
* Imposta l'identificatore dell'IVA.
|
||||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setIdIvaAttribute($value)
|
||||
{
|
||||
$this->attributes['idiva'] = $value;
|
||||
$this->load('aliquota');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -225,9 +231,7 @@ abstract class Row extends Description
|
||||
*/
|
||||
protected function fixRivalsaINPS()
|
||||
{
|
||||
$rivalsa = database()->fetchOne('SELECT * FROM co_rivalsainps WHERE id = '.prepare($this->idrivalsainps));
|
||||
|
||||
$this->attributes['rivalsainps'] = ($this->imponibile_scontato) / 100 * $rivalsa['percentuale'];
|
||||
$this->attributes['rivalsainps'] = $this->rivalsa_inps;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -235,15 +239,7 @@ abstract class Row extends Description
|
||||
*/
|
||||
protected function fixRitenutaAcconto()
|
||||
{
|
||||
// Calcolo ritenuta d'acconto
|
||||
$ritenuta = database()->fetchOne('SELECT * FROM co_ritenutaacconto WHERE id = '.prepare($this->idritenutaacconto));
|
||||
$conto = $this->imponibile_scontato;
|
||||
|
||||
if ($this->calcolo_ritenuta_acconto == 'IMP+RIV') {
|
||||
$conto += $this->rivalsainps;
|
||||
}
|
||||
|
||||
$this->attributes['ritenutaacconto'] = $conto / 100 * $ritenuta['percentuale'];
|
||||
$this->attributes['ritenutaacconto'] = $this->ritenuta_acconto;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -251,19 +247,13 @@ abstract class Row extends Description
|
||||
*/
|
||||
protected function fixIva()
|
||||
{
|
||||
$iva = database()->fetchOne('SELECT * FROM co_iva WHERE id = :id_iva', [
|
||||
':id_iva' => $this->idiva,
|
||||
]);
|
||||
$descrizione = $iva['descrizione'];
|
||||
|
||||
$valore = ($this->imponibile_scontato) * $iva['percentuale'] / 100;
|
||||
$this->attributes['iva'] = $this->iva;
|
||||
|
||||
$descrizione = $this->aliquota->descrizione;
|
||||
if (!empty($descrizione)) {
|
||||
$this->attributes['desc_iva'] = $descrizione;
|
||||
}
|
||||
|
||||
$this->attributes['iva'] = $valore;
|
||||
|
||||
$this->fixIvaIndetraibile();
|
||||
}
|
||||
|
||||
@ -272,11 +262,7 @@ abstract class Row extends Description
|
||||
*/
|
||||
protected function fixIvaIndetraibile()
|
||||
{
|
||||
$iva = database()->fetchOne('SELECT * FROM co_iva WHERE id = :id_iva', [
|
||||
':id_iva' => $this->idiva,
|
||||
]);
|
||||
|
||||
$this->attributes['iva_indetraibile'] = $this->iva / 100 * $iva['indetraibile'];
|
||||
$this->attributes['iva_indetraibile'] = $this->iva_indetraibile;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -286,4 +272,19 @@ abstract class Row extends Description
|
||||
{
|
||||
$this->attributes['sconto'] = $this->sconto;
|
||||
}
|
||||
|
||||
public function aliquota()
|
||||
{
|
||||
return $this->belongsTo(Aliquota::class, 'idiva');
|
||||
}
|
||||
|
||||
public function rivalsa()
|
||||
{
|
||||
return $this->belongsTo(RivalsaINPS::class, 'idrivalsainps');
|
||||
}
|
||||
|
||||
public function ritenuta()
|
||||
{
|
||||
return $this->belongsTo(RitenutaAcconto::class, 'idritenutaacconto');
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ foreach ($righe as $riga) {
|
||||
$ref_modulo = Modules::get('Articoli')['id'];
|
||||
$ref_id = $riga['idarticolo'];
|
||||
|
||||
$riga['descrizione'] = (!empty($riga['codice']) ? $riga['codice'].' - ' : '').$riga['descrizione'];
|
||||
$riga['descrizione'] = (!empty($riga->articolo) ? $riga->articolo->codice.' - ' : '').$riga['descrizione'];
|
||||
|
||||
$delete = 'unlink_articolo';
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user