From 140c6be3a486c39923203f430181140c72dc1317 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Thu, 15 Feb 2018 14:25:27 +0100 Subject: [PATCH] Aggiunta seriali in stampe (#59) --- templates/ddt/body.php | 44 +++++++++++++++++++++++++++++++------- templates/fatture/body.php | 35 ++++++++++++++++++++---------- templates/ordini/body.php | 34 +++++++++++++++++++---------- 3 files changed, 83 insertions(+), 30 deletions(-) diff --git a/templates/ddt/body.php b/templates/ddt/body.php index 01066114f..b1d6f9641 100644 --- a/templates/ddt/body.php +++ b/templates/ddt/body.php @@ -38,7 +38,13 @@ if ($mostra_prezzi) { '; // Righe -$rs_gen = $dbo->fetchArray('SELECT *, (SELECT percentuale FROM co_iva WHERE id=idiva) AS perc_iva, IFNULL((SELECT peso_lordo FROM mg_articoli WHERE id=idarticolo),0) * qta AS peso_lordo, IFNULL((SELECT volume FROM mg_articoli WHERE id=idarticolo),0) * qta AS volume FROM `dt_righe_ddt` WHERE idddt='.prepare($idddt)); +$rs_gen = $dbo->fetchArray("SELECT *, + IFNULL((SELECT `codice` FROM `mg_articoli` WHERE `id` = `dt_righe_ddt`.`idarticolo`), '') AS codice_articolo, + (SELECT GROUP_CONCAT(`serial` SEPARATOR ', ') FROM `mg_prodotti` WHERE `id_riga_ddt` = `dt_righe_ddt`.`id`) AS seriali, + (SELECT `percentuale` FROM `co_iva` WHERE `id` = `dt_righe_ddt`.`idiva`) AS perc_iva, + IFNULL((SELECT peso_lordo FROM mg_articoli WHERE id=idarticolo),0) * qta AS peso_lordo, + IFNULL((SELECT volume FROM mg_articoli WHERE id=idarticolo),0) * qta AS volume +FROM `dt_righe_ddt` WHERE idddt=".prepare($idddt)); foreach ($rs_gen as $r) { $count = 0; $count += ceil(strlen($r['descrizione']) / $autofill['words']); @@ -49,6 +55,28 @@ foreach ($rs_gen as $r) { '.nl2br($r['descrizione']); + // Codice articolo + if (!empty($r['codice_articolo'])) { + echo ' +
'.tr('COD. _COD_', [ + '_COD_' => $r['codice_articolo'], + ]).''; + + if ($count <= 1) { + $count += 0.4; + } + } + + // Seriali + if (!empty($r['seriali'])) { + echo ' +
'.tr('SN').': '.$r['seriali'].''; + + if ($count <= 1) { + $count += 0.4; + } + } + // Aggiunta riferimento a ordine if (!empty($r['idordine'])) { $rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id='.prepare($r['idordine'])); @@ -67,11 +95,11 @@ foreach ($rs_gen as $r) { echo ' '; - + echo ' '; - if($r['is_descrizione']==0){ - echo + if ($r['is_descrizione'] == 0) { + echo Translator::numberToLocale($r['qta']).' '.$r['um']; } echo ' @@ -80,8 +108,8 @@ foreach ($rs_gen as $r) { if ($mostra_prezzi) { echo ' '; - if($r['is_descrizione']==0){ - echo + if ($r['is_descrizione'] == 0) { + echo Translator::numberToLocale($r['subtotale'] / $r['qta']).' €'; } echo ' @@ -90,7 +118,7 @@ foreach ($rs_gen as $r) { // Imponibile echo " "; - if($r['is_descrizione']==0){ + if ($r['is_descrizione'] == 0) { echo Translator::numberToLocale($r['subtotale']).' €'; @@ -111,7 +139,7 @@ foreach ($rs_gen as $r) { // Iva echo " "; - if($r['is_descrizione']==0){ + if ($r['is_descrizione'] == 0) { echo Translator::numberToLocale($r['perc_iva']); } diff --git a/templates/fatture/body.php b/templates/fatture/body.php index d3ca5e2f5..dead92307 100644 --- a/templates/fatture/body.php +++ b/templates/fatture/body.php @@ -35,7 +35,11 @@ echo " '; // RIGHE FATTURA CON ORDINAMENTO UNICO -$righe = $dbo->fetchArray("SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice_articolo, (SELECT percentuale FROM co_iva WHERE id=idiva) AS perc_iva FROM `co_righe_documenti` WHERE iddocumento=".prepare($iddocumento).' ORDER BY `order`'); +$righe = $dbo->fetchArray("SELECT *, + IFNULL((SELECT `codice` FROM `mg_articoli` WHERE `id` = `co_righe_documenti`.`idarticolo`), '') AS codice_articolo, + (SELECT GROUP_CONCAT(`serial` SEPARATOR ', ') FROM `mg_prodotti` WHERE `id_riga_documento` = `co_righe_documenti`.`id`) AS seriali, + (SELECT `percentuale` FROM `co_iva` WHERE `id` = `co_righe_documenti`.`idiva`) AS perc_iva +FROM `co_righe_documenti` WHERE `iddocumento` = ".prepare($iddocumento).' ORDER BY `order`'); foreach ($righe as $r) { $count = 0; $count += ceil(strlen($r['descrizione']) / $autofill['words']); @@ -46,6 +50,7 @@ foreach ($righe as $r) { '.nl2br($r['descrizione']); + // Codice articolo if (!empty($r['codice_articolo'])) { echo '
'.tr('COD. _COD_', [ @@ -57,6 +62,16 @@ foreach ($righe as $r) { } } + // Seriali + if (!empty($r['seriali'])) { + echo ' +
'.tr('SN').': '.$r['seriali'].''; + + if ($count <= 1) { + $count += 0.4; + } + } + // Aggiunta riferimento a ordine if (!empty($r['idordine'])) { $rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id='.prepare($r['idordine'])); @@ -106,8 +121,8 @@ foreach ($righe as $r) { echo ' '; - if($r['is_descrizione']==0){ - echo + if ($r['is_descrizione'] == 0) { + echo Translator::numberToLocale($r['qta']).' '.$r['um']; } echo ' @@ -116,9 +131,8 @@ foreach ($righe as $r) { // Prezzo unitario echo " "; - if($r['is_descrizione']==0){ - echo - (empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' €'; + if ($r['is_descrizione'] == 0) { + echo(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' €'; if ($r['sconto'] > 0) { echo " @@ -139,10 +153,9 @@ foreach ($righe as $r) { // Imponibile echo " "; - if($r['is_descrizione']==0){ - echo - (empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] - $r['sconto'])).' €'; - + if ($r['is_descrizione'] == 0) { + echo(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] - $r['sconto'])).' €'; + if ($r['sconto'] > 0) { echo "
".tr('sconto di _TOT_ _TYPE_', [ @@ -161,7 +174,7 @@ foreach ($righe as $r) { // Iva echo ' '; - if($r['is_descrizione']==0){ + if ($r['is_descrizione'] == 0) { echo Translator::numberToLocale($r['perc_iva']); } diff --git a/templates/ordini/body.php b/templates/ordini/body.php index 171e145df..6a6775a5b 100644 --- a/templates/ordini/body.php +++ b/templates/ordini/body.php @@ -32,7 +32,11 @@ echo " '; // RIGHE PREVENTIVO CON ORDINAMENTO UNICO -$righe = $dbo->fetchArray("SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice_articolo, (SELECT percentuale FROM co_iva WHERE id=idiva) AS perc_iva FROM `or_righe_ordini` WHERE idordine=".prepare($idordine).' ORDER BY `order`'); +$righe = $dbo->fetchArray("SELECT *, + IFNULL((SELECT `codice` FROM `mg_articoli` WHERE `id` = `or_righe_ordini`.`idarticolo`), '') AS codice_articolo, + (SELECT GROUP_CONCAT(`serial` SEPARATOR ', ') FROM `mg_prodotti` WHERE `id_riga_ordine` = `or_righe_ordini`.`id`) AS seriali, + (SELECT `percentuale` FROM `co_iva` WHERE `id` = `or_righe_ordini`.`idiva`) AS perc_iva +FROM `or_righe_ordini` WHERE idordine=".prepare($idordine).' ORDER BY `order`'); foreach ($righe as $r) { $count = 0; $count += ceil(strlen($r['descrizione']) / $autofill['words']); @@ -43,6 +47,7 @@ foreach ($righe as $r) { '.nl2br($r['descrizione']); + // Codice articolo if (!empty($r['codice_articolo'])) { echo '
'.tr('COD. _COD_', [ @@ -54,14 +59,23 @@ foreach ($righe as $r) { } } + // Seriali + if (!empty($r['seriali'])) { + echo ' +
'.tr('SN').': '.$r['seriali'].''; + + if ($count <= 1) { + $count += 0.4; + } + } + echo ' '; echo " "; - if($r['is_descrizione']==0){ - echo - (empty($r['qta']) ? '' : Translator::numberToLocale($r['qta'])).' '.$r['um']; + if ($r['is_descrizione'] == 0) { + echo(empty($r['qta']) ? '' : Translator::numberToLocale($r['qta'])).' '.$r['um']; } echo ' '; @@ -70,9 +84,8 @@ foreach ($righe as $r) { // Prezzo unitario echo " "; - if($r['is_descrizione']==0){ - echo - (empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' €'; + if ($r['is_descrizione'] == 0) { + echo(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'])).' €'; if ($r['sconto'] > 0) { echo " @@ -92,9 +105,8 @@ foreach ($righe as $r) { // Imponibile echo " "; - if($r['is_descrizione']==0){ - echo - (empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'])).' €'; + if ($r['is_descrizione'] == 0) { + echo(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'])).' €'; if ($r['sconto'] > 0) { echo " @@ -119,7 +131,7 @@ foreach ($righe as $r) { // Iva echo ' '; - if($r['is_descrizione']==0){ + if ($r['is_descrizione'] == 0) { echo Translator::numberToLocale($r['perc_iva']); }