Settati prezzi di listino nella creazione dell'ordine fornitore

This commit is contained in:
MatteoPistorello 2021-05-28 15:07:10 +02:00
parent 12cb4ddfb5
commit 1c3b993f57
2 changed files with 36 additions and 9 deletions

View File

@ -28,6 +28,7 @@ use Modules\Ordini\Components\Sconto;
use Modules\Ordini\Ordine; use Modules\Ordini\Ordine;
use Modules\Ordini\Tipo; use Modules\Ordini\Tipo;
use Modules\Preventivi\Preventivo; use Modules\Preventivi\Preventivo;
use Plugins\DettagliArticolo\DettaglioPrezzo;
$module = Modules::get($id_module); $module = Modules::get($id_module);
@ -473,8 +474,16 @@ switch (post('op')) {
// Impostazione al prezzo di acquisto per Articoli // Impostazione al prezzo di acquisto per Articoli
if ($copia->isArticolo()) { if ($copia->isArticolo()) {
$articolo = $copia->articolo; $articolo = $copia->articolo;
$fornitore = $articolo->dettaglioFornitore($anagrafica->id); // Informazioni del fornitore
$copia->setPrezzoUnitario($fornitore ? $fornitore->prezzo_acquisto : $articolo->prezzo_acquisto, $copia->aliquota->id); $fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
}
$prezzo_unitario = $fornitore->prezzo_unitario-($fornitore->prezzo_unitario*$fornitore->percentuale/100);
$copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id);
$copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');
} }
$copia->save(); $copia->save();
@ -529,8 +538,16 @@ switch (post('op')) {
// Impostazione al prezzo di acquisto per Articoli // Impostazione al prezzo di acquisto per Articoli
if ($copia->isArticolo()) { if ($copia->isArticolo()) {
$articolo = $copia->articolo; $articolo = $copia->articolo;
$fornitore = $articolo->dettaglioFornitore($anagrafica->id); // Informazioni del fornitore
$copia->setPrezzoUnitario($fornitore ? $fornitore->prezzo_acquisto : $articolo->prezzo_acquisto, $copia->aliquota->id); $fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
}
$prezzo_unitario = $fornitore->prezzo_unitario-($fornitore->prezzo_unitario*$fornitore->percentuale/100);
$copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id);
$copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');
} }
$copia->save(); $copia->save();

View File

@ -96,12 +96,22 @@ class DettaglioPrezzo extends Model
->whereNull('massimo'); ->whereNull('massimo');
} }
public static function dettagli($id_articolo, $id_anagrafica, $direzione) public static function dettagli($id_articolo, $id_anagrafica, $direzione, $qta=null)
{ {
return self::where('id_articolo', $id_articolo) $dettagli = self::where('id_articolo', $id_articolo)
->where('id_anagrafica', $id_anagrafica) ->where('id_anagrafica', $id_anagrafica)
->where('dir', $direzione) ->where('dir', $direzione);
if($qta==null){
$dettagli = $dettagli
->whereNotNull('minimo') ->whereNotNull('minimo')
->whereNotNull('massimo'); ->whereNotNull('massimo');
} else{
$dettagli = $dettagli
->where('minimo', '<=', $qta)
->where('massimo', '>=', $qta);
}
return $dettagli;
} }
} }