Compare commits

..

4 Commits

Author SHA1 Message Date
MatteoPistorello 1c3b993f57 Settati prezzi di listino nella creazione dell'ordine fornitore 2021-05-28 15:07:10 +02:00
MatteoPistorello 12cb4ddfb5 Fix visualizzazione prezzi nel modal del Barcode 2021-05-28 15:05:37 +02:00
MatteoPistorello 57a08eeac8 Fix stampa inventario 2021-05-28 11:16:53 +02:00
MatteoPistorello 39da07674f Aggiornato alert partita iva in fattura 2021-05-28 10:39:41 +02:00
5 changed files with 43 additions and 13 deletions

View File

@ -122,12 +122,14 @@ $("#barcode").off("keyup").on("keyup", function (event) {
qta_input.val(nuova_qta).trigger("change");
} else {
let prezzo_unitario = (direzione === "uscita") ? result.prezzo_acquisto : result.prezzo_vendita;
prezzo_acquisto = parseFloat(result.prezzo_acquisto, 10).toLocale();
prezzo_vendita = parseFloat(result.prezzo_vendita, 10).toLocale();
let info_prezzi;
if(direzione === "entrata") {
info_prezzi = "Acquisto: " + result.prezzo_acquisto + " €";
info_prezzi = "Acquisto: " + (prezzo_acquisto) + " €";
}else{
info_prezzi = "Vendita: " + result.prezzo_vendita + " €";
info_prezzi = "Vendita: " + (prezzo_vendita) + " €";
}
$("#articoli_barcode").removeClass("hide");

View File

@ -133,8 +133,9 @@ if ($dir == 'entrata') {
$campi_mancanti = [];
//di default è un azienda e chiedo la partita iva
if (empty($rs2[0]['piva']) and (empty($rs2[0]['tipo']) or $rs2[0]['tipo'] == 'Azienda')) {
if (empty($rs2[0]['piva']) and empty($rs2[0]['codice_fiscale']) and (empty($rs2[0]['tipo']) or $rs2[0]['tipo'] == 'Azienda')) {
array_push($campi_mancanti, 'Partita IVA');
array_push($campi_mancanti, 'Codice fiscale');
}
//se è un privato o un ente pubblico controllo il codice fiscale

View File

@ -28,6 +28,7 @@ use Modules\Ordini\Components\Sconto;
use Modules\Ordini\Ordine;
use Modules\Ordini\Tipo;
use Modules\Preventivi\Preventivo;
use Plugins\DettagliArticolo\DettaglioPrezzo;
$module = Modules::get($id_module);
@ -473,8 +474,16 @@ switch (post('op')) {
// Impostazione al prezzo di acquisto per Articoli
if ($copia->isArticolo()) {
$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();
@ -529,8 +538,16 @@ switch (post('op')) {
// Impostazione al prezzo di acquisto per Articoli
if ($copia->isArticolo()) {
$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();

View File

@ -96,12 +96,22 @@ class DettaglioPrezzo extends Model
->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('dir', $direzione)
->whereNotNull('minimo')
->whereNotNull('massimo');
->where('dir', $direzione);
if($qta==null){
$dettagli = $dettagli
->whereNotNull('minimo')
->whereNotNull('massimo');
} else{
$dettagli = $dettagli
->where('minimo', '<=', $qta)
->where('massimo', '>=', $qta);
}
return $dettagli;
}
}

View File

@ -43,7 +43,7 @@ $query = Query::getQuery($structure, $where, 0, []);
$query = Modules::replaceAdditionals($id_module, $query);
// Modifiche alla query principale
$query = preg_replace('/ FROM `mg_articoli` /', ' FROM mg_articoli LEFT JOIN (SELECT idarticolo, SUM(qta) AS qta_totale FROM mg_movimenti WHERE data <='.prepare($period_end).' GROUP BY idarticolo) movimenti ON movimenti.idarticolo=mg_articoli.id ', $query);
$query = preg_replace('/FROM `mg_articoli`/', ' FROM mg_articoli LEFT JOIN (SELECT idarticolo, SUM(qta) AS qta_totale FROM mg_movimenti WHERE data <='.prepare($period_end).' GROUP BY idarticolo) movimenti ON movimenti.idarticolo=mg_articoli.id ', $query);
$query = preg_replace('/^SELECT /', 'SELECT mg_articoli.prezzo_acquisto,', $query);
$query = preg_replace('/^SELECT /', 'SELECT mg_articoli.prezzo_vendita,', $query);