From 66c7913feb2066b467d49bccf3b9744d1c2fe9b9 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Mon, 5 Jun 2023 12:16:05 +0200 Subject: [PATCH] Miglioria ultimi prezzi di acquisto/vendita --- modules/articoli/ajax/complete.php | 72 +++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/modules/articoli/ajax/complete.php b/modules/articoli/ajax/complete.php index 2396d6b17..28221ed3f 100755 --- a/modules/articoli/ajax/complete.php +++ b/modules/articoli/ajax/complete.php @@ -62,9 +62,39 @@ switch ($resource) { $ids = []; echo ''; // Ultime 5 vendite totali - $documenti = $dbo->fetchArray('SELECT iddocumento AS id, "Fattura" AS tipo, "Fatture di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_documento, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_documento, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_documento FROM co_righe_documenti WHERE idarticolo='.prepare($idarticolo).' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="entrata")) + $documenti = $dbo->fetchArray(' + SELECT + iddocumento AS id, + co_tipidocumento.descrizione AS tipo, + "Fatture di vendita" AS modulo, + ((subtotale - sconto) / qta * IF(co_tipidocumento.reversed, -1, 1)) AS costo_unitario, + co_documenti.numero AS n_documento, + co_documenti.numero_esterno AS n2_documento, + co_documenti.data AS data_documento + FROM + co_righe_documenti + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + idarticolo = '.prepare($idarticolo).' AND dir = "entrata" UNION - SELECT idddt AS id, "Ddt" AS tipo, "Ddt di vendita" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM dt_ddt WHERE id=idddt) AS n_documento, (SELECT numero_esterno FROM dt_ddt WHERE id=idddt) AS n2_documento, (SELECT data FROM dt_ddt WHERE id=idddt) AS data_documento FROM dt_righe_ddt WHERE idarticolo='.prepare($idarticolo).' AND idddt IN(SELECT id FROM dt_ddt WHERE idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir="entrata")) ORDER BY id DESC LIMIT 0,'.$limit.''); + SELECT + idddt AS id, + dt_tipiddt.descrizione AS tipo, + "Ddt di vendita" AS modulo, + (subtotale - sconto) / qta AS costo_unitario, + dt_ddt.numero AS n_documento, + dt_ddt.numero_esterno AS n2_documento, + dt_ddt.data AS data_documento + FROM + dt_righe_ddt + INNER JOIN dt_ddt ON dt_ddt.id = dt_righe_ddt.idddt + INNER JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt + WHERE + idarticolo = '.prepare($idarticolo).' AND dir = "entrata" + ORDER BY + id + DESC'); if (sizeof($documenti) > 0) { echo "\n"; @@ -75,7 +105,7 @@ switch ($resource) { ($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento']; $link_id = Modules::get($documenti[$i]['modulo'])['id']; - echo "\n"; + echo "\n"; echo "\n"; $ids[] = '"'.$documenti[$i]['id'].'"'; } @@ -91,9 +121,39 @@ switch ($resource) { $ids = []; echo ''; // Ultimi 5 acquisti totali - $documenti = $dbo->fetchArray('SELECT iddocumento AS id, "Fattura" AS tipo, "Fatture di acquisto" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_documento, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_documento, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_documento FROM co_righe_documenti WHERE idarticolo='.prepare($idarticolo).' AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="uscita")) + $documenti = $dbo->fetchArray(' + SELECT + iddocumento AS id, + co_tipidocumento.descrizione AS tipo, + "Fatture di acquisto" AS modulo, + ((subtotale - sconto) / qta * IF(co_tipidocumento.reversed, -1, 1)) AS costo_unitario, + co_documenti.numero AS n_documento, + co_documenti.numero_esterno AS n2_documento, + co_documenti.data AS data_documento + FROM + co_righe_documenti + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + idarticolo = '.prepare($idarticolo).' AND dir = "uscita" UNION - SELECT idddt AS id, "Ddt" AS tipo, "Ddt di acquisto" AS modulo, (subtotale-sconto)/qta AS costo_unitario, (SELECT numero FROM dt_ddt WHERE id=idddt) AS n_documento, (SELECT numero_esterno FROM dt_ddt WHERE id=idddt) AS n2_documento, (SELECT data FROM dt_ddt WHERE id=idddt) AS data_documento FROM dt_righe_ddt WHERE idarticolo='.prepare($idarticolo).' AND idddt IN(SELECT id FROM dt_ddt WHERE idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir="uscita")) ORDER BY id DESC LIMIT 0,'.$limit.''); + SELECT + idddt AS id, + dt_tipiddt.descrizione AS tipo, + "Ddt di acquisto" AS modulo, + (subtotale - sconto) / qta AS costo_unitario, + dt_ddt.numero AS n_documento, + dt_ddt.numero_esterno AS n2_documento, + dt_ddt.data AS data_documento + FROM + dt_righe_ddt + INNER JOIN dt_ddt ON dt_ddt.id = dt_righe_ddt.idddt + INNER JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt + WHERE + idarticolo = '.prepare($idarticolo).' AND dir = "uscita" + ORDER BY + id + DESC'); if (sizeof($documenti) > 0) { echo "
".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])."
".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." ".moneyFormat($documenti[$i]['costo_unitario'])."
\n"; @@ -104,7 +164,7 @@ switch ($resource) { ($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento']; $link_id = Modules::get($documenti[$i]['modulo'])['id']; - echo "\n"; + echo "\n"; echo "\n"; $ids[] = '"'.$documenti[$i]['id'].'"'; }
".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])."
".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." ".moneyFormat($documenti[$i]['costo_unitario'])."