1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-03 09:17:37 +01:00

Gestione prezzo vendita unitario (Eloquent)

Miglioramento commit f0b2858a02fd872357a33b31e1b9040f86187a31 in previsione dell'implementazione del campo prezzo_unitario_acquisto.
This commit is contained in:
Thomas Zilio 2018-11-21 17:45:06 +01:00
parent 6e38ca3a0d
commit 5b70653b44
5 changed files with 25 additions and 46 deletions

View File

@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Builder;
abstract class Row extends Description abstract class Row extends Description
{ {
protected $costo_unitario; protected $prezzo_unitario_vendita;
protected static function boot($bypass = false) protected static function boot($bypass = false)
{ {
@ -38,7 +38,7 @@ abstract class Row extends Description
{ {
return calcola_sconto([ return calcola_sconto([
'sconto' => $this->sconto_unitario, 'sconto' => $this->sconto_unitario,
'prezzo' => $this->costo_unitario, 'prezzo' => $this->prezzo_unitario_vendita,
'tipo' => $this->tipo_sconto, 'tipo' => $this->tipo_sconto,
'qta' => $this->qta, 'qta' => $this->qta,
]); ]);
@ -209,9 +209,9 @@ abstract class Row extends Description
* *
* @param float $value * @param float $value
*/ */
public function setCostoUnitarioAttribute($value) public function setPrezzoUnitarioVenditaAttribute($value)
{ {
$this->costo_unitario = $value; $this->prezzo_unitario_vendita = $value;
$this->fixSubtotale(); $this->fixSubtotale();
$this->fixSconto(); $this->fixSconto();
@ -220,13 +220,13 @@ abstract class Row extends Description
/** /**
* Restituisce il costo unitario della riga. * Restituisce il costo unitario della riga.
*/ */
public function getCostoUnitarioAttribute() public function getPrezzoUnitarioVenditaAttribute()
{ {
if (empty($this->costo_unitario)) { if (empty($this->prezzo_unitario_vendita)) {
$this->costo_unitario = $this->subtotale / $this->qta; $this->prezzo_unitario_vendita = $this->subtotale / $this->qta;
} }
return $this->costo_unitario; return $this->prezzo_unitario_vendita;
} }
/** /**
@ -234,7 +234,7 @@ abstract class Row extends Description
*/ */
protected function fixSubtotale() protected function fixSubtotale()
{ {
$this->attributes['subtotale'] = $this->costo_unitario * $this->qta; $this->attributes['subtotale'] = $this->prezzo_unitario_vendita * $this->qta;
$this->fixIva(); $this->fixIva();
$this->fixRitenutaAcconto(); $this->fixRitenutaAcconto();

View File

@ -560,7 +560,7 @@ switch (post('op')) {
$articolo->id_rivalsa_inps = post('id_rivalsa_inps'); $articolo->id_rivalsa_inps = post('id_rivalsa_inps');
$articolo->costo_unitario = post('prezzo'); $articolo->prezzo_unitario_vendita = post('prezzo');
$articolo->sconto_unitario = post('sconto'); $articolo->sconto_unitario = post('sconto');
$articolo->tipo_sconto = post('tipo_sconto'); $articolo->tipo_sconto = post('tipo_sconto');
@ -605,7 +605,7 @@ switch (post('op')) {
$riga->id_rivalsa_inps = post('id_rivalsa_inps'); $riga->id_rivalsa_inps = post('id_rivalsa_inps');
$riga->costo_unitario = post('prezzo'); $riga->prezzo_unitario_vendita = post('prezzo');
$riga->qta = $qta; $riga->qta = $qta;
$riga->sconto_unitario = post('sconto'); $riga->sconto_unitario = post('sconto');
$riga->tipo_sconto = post('tipo_sconto'); $riga->tipo_sconto = post('tipo_sconto');

View File

@ -419,29 +419,14 @@ switch (post('op')) {
$articolo->qta = post('qta'); $articolo->qta = post('qta');
$articolo->descrizione = post('descrizione'); $articolo->descrizione = post('descrizione');
$articolo->prezzo_vendita = post('prezzo_vendita'); $articolo->prezzo_unitario_vendita = post('prezzo_vendita');
$articolo->prezzo_acquisto = post('prezzo_acquisto'); $articolo->prezzo_acquisto = post('prezzo_acquisto');
$articolo->um = post('um'); $articolo->um = post('um');
$articolo->sconto_unitario = post('sconto'); $articolo->sconto_unitario = post('sconto');
$articolo->tipo_sconto = post('tipo_sconto'); $articolo->tipo_sconto = post('tipo_sconto');
$sconto = calcola_sconto([
'sconto' => post('sconto'),
'prezzo' => post('prezzo_vendita'),
'tipo' => post('tipo_sconto'),
'qta' => post('qta'),
]);
$articolo->sconto = $sconto;
$articolo->id_iva = post('idiva'); $articolo->id_iva = post('idiva');
//Calcolo iva
$rs_iva = $dbo->fetchArray('SELECT * FROM co_iva WHERE id='.prepare(post('idiva')));
$desc_iva = $rs_iva[0]['descrizione'];
$iva = ((post('prezzo_vendita') * post('qta')) - $sconto) * $rs_iva[0]['percentuale'] / 100;
$articolo->iva = $iva;
$articolo->save(); $articolo->save();
// Aggiorno l'automezzo dell'intervento // Aggiorno l'automezzo dell'intervento

View File

@ -27,6 +27,7 @@ class Articolo extends Article
$model->prezzo_acquisto = $articolo->prezzo_acquisto; $model->prezzo_acquisto = $articolo->prezzo_acquisto;
$model->prezzo_vendita = $articolo->prezzo_vendita; $model->prezzo_vendita = $articolo->prezzo_vendita;
$model->desc_iva = '';
$model->save(); $model->save();
@ -86,27 +87,20 @@ class Articolo extends Article
return 'entrata'; return 'entrata';
} }
/**
* Effettua i conti per l'IVA indetraibile.
*/
public function fixIvaIndetraibile() public function fixIvaIndetraibile()
{ {
} }
public function setCostoUnitarioAttribute($value)
{
$this->prezzo_vendita = $value;
$this->fixSubtotale();
}
public function getCostoUnitarioAttribute($value)
{
return $this->prezzo_vendita;
}
/** /**
* Effettua i conti per il subtotale della riga. * Effettua i conti per il subtotale della riga.
*/ */
protected function fixSubtotale() protected function fixSubtotale()
{ {
$this->prezzo_vendita = $this->prezzo_unitario_vendita;
$this->fixIva(); $this->fixIva();
} }

View File

@ -169,7 +169,7 @@ class FatturaElettronica
$obj->descrizione = $riga['Descrizione']; $obj->descrizione = $riga['Descrizione'];
$obj->id_iva = $iva[$key]; $obj->id_iva = $iva[$key];
$obj->idconto = $conto[$key]; $obj->idconto = $conto[$key];
$obj->costo_unitario = $riga['PrezzoUnitario']; $obj->prezzo_unitario_vendita = $riga['PrezzoUnitario'];
$obj->qta = $riga['Quantita'] ?: 1; $obj->qta = $riga['Quantita'] ?: 1;
if (!empty($riga['UnitaMisura'])) { if (!empty($riga['UnitaMisura'])) {