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:
parent
6e38ca3a0d
commit
5b70653b44
@ -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();
|
||||||
|
@ -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');
|
||||||
|
@ -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
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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'])) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user