From dbbe2d0f5f070604733ff481949489f8dbceb2b0 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Wed, 20 Sep 2017 11:12:57 +0200 Subject: [PATCH] Fix per le stampe dei consuntivi --- .../contratti_cons/pdfgen.contratti_cons.php | 212 +++++++++--------- .../pdfgen.preventivi_cons.php | 210 ++++++++--------- 2 files changed, 215 insertions(+), 207 deletions(-) diff --git a/templates/contratti_cons/pdfgen.contratti_cons.php b/templates/contratti_cons/pdfgen.contratti_cons.php index cd10afa4f..0d6fe5f88 100644 --- a/templates/contratti_cons/pdfgen.contratti_cons.php +++ b/templates/contratti_cons/pdfgen.contratti_cons.php @@ -161,135 +161,139 @@ if (sizeof($contratti) > 0) { } $body .= "
\n"; -// Conteggio articoli utilizzati -$query = "SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=mg_articoli_interventi.idintervento) AS data_intervento, (SELECT percentuale FROM co_iva WHERE id=mg_articoli_interventi.idiva_vendita) AS prciva_vendita, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM in_interventi WHERE id=mg_articoli_interventi.idintervento) ) ) AS prc_guadagno, CONCAT_WS(serial, 'SN: ', ', ') AS codice, SUM(qta) AS sumqta FROM `mg_articoli_interventi` JOIN mg_prodotti ON mg_articoli_interventi.idarticolo = mg_prodotti.id_articolo GROUP BY idarticolo, idintervento, lotto HAVING idintervento IN(".implode(',', $idinterventi).") AND NOT idarticolo='0' ORDER BY idarticolo ASC"; -$rs2 = $dbo->fetchArray($query); +if (!empty($idinterventi)) { + // Conteggio articoli utilizzati + $query = "SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=mg_articoli_interventi.idintervento) AS data_intervento, (SELECT percentuale FROM co_iva WHERE id=mg_articoli_interventi.idiva_vendita) AS prciva_vendita, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM in_interventi WHERE id=mg_articoli_interventi.idintervento) ) ) AS prc_guadagno, CONCAT_WS(serial, 'SN: ', ', ') AS codice, SUM(qta) AS sumqta FROM `mg_articoli_interventi` JOIN mg_prodotti ON mg_articoli_interventi.idarticolo = mg_prodotti.id_articolo GROUP BY idarticolo, idintervento, lotto HAVING idintervento IN(".implode(',', $idinterventi).") AND NOT idarticolo='0' ORDER BY idarticolo ASC"; + $rs2 = $dbo->fetchArray($query); -if (sizeof($rs2) > 0) { - $body .= "\n"; - $body .= "\n"; + if (sizeof($rs2) > 0) { + $body .= "
Materiale utilizzato per gli interventi
\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $totale_articoli = 0.00; + $totale_articoli = 0.00; - for ($i = 0; $i < sizeof($rs2); ++$i) { - // Articolo - $body .= "\n"; + + // Quantità + $qta = $rs2[$i]['sumqta']; + $body .= "\n"; + + // Prezzo unitario + $body .= "\n"; + + // Prezzo di vendita + $body .= "\n"; + $totale_articoli += $netto * $qta; } - $body .= '
Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + // Totale spesa articoli + $body .= "\n"; - // Quantità - $qta = $rs2[$i]['sumqta']; - $body .= "\n"; - - // Prezzo unitario - $body .= "\n"; - - // Prezzo di vendita - $body .= "\n"; - $totale_articoli += $netto * $qta; + $body .= "
Materiale utilizzato per gli interventi
\n"; - $body .= "Articolo\n"; - $body .= "
\n"; + $body .= "Articolo\n"; + $body .= "\n"; - $body .= "Q.tà\n"; - $body .= "\n"; + $body .= "Q.tà\n"; + $body .= "\n"; - $body .= "Prezzo unitario\n"; - $body .= "\n"; + $body .= "Prezzo unitario\n"; + $body .= "\n"; - $body .= "Subtot\n"; - $body .= "
\n"; + $body .= "Subtot\n"; + $body .= "
\n"; - $body .= ''.nl2br($rs2[$i]['descrizione'])."\n"; - if ($rs2[$i]['codice'] != '' && $rs2[$i]['codice'] != 'Lotto: , SN: , Altro: ') { - $body .= '
'.$rs2[$i]['codice']."\n"; + for ($i = 0; $i < sizeof($rs2); ++$i) { + // Articolo + $body .= "
\n"; + $body .= ''.nl2br($rs2[$i]['descrizione'])."\n"; + if ($rs2[$i]['codice'] != '' && $rs2[$i]['codice'] != 'Lotto: , SN: , Altro: ') { + $body .= '
'.$rs2[$i]['codice']."\n"; + } + + $body .= '
Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + $body .= "
\n"; + $body .= ''.$rs2[$i]['sumqta']."\n"; + $body .= "\n"; + $netto = $rs2[$i]['prezzo_vendita']; + $netto = $netto + $netto / 100 * $rs2[$i]['prc_guadagno']; + $iva = $netto / 100 * $rs2[$i]['prciva_vendita']; + $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; + $body .= "\n"; + $body .= "".Translator::numberToLocale($netto * $qta, 2)."\n"; + $body .= "
\n"; + $body .= "TOTALE MATERIALE UTILIZZATO:\n"; $body .= "\n"; - $body .= ''.$rs2[$i]['sumqta']."\n"; - $body .= "\n"; - $netto = $rs2[$i]['prezzo_vendita']; - $netto = $netto + $netto / 100 * $rs2[$i]['prc_guadagno']; - $iva = $netto / 100 * $rs2[$i]['prciva_vendita']; - $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; - $body .= "\n"; - $body .= "".Translator::numberToLocale($netto * $qta, 2)."\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($totale_articoli, 2)." €\n"; $body .= "

\n"; } - - // Totale spesa articoli - $body .= "\n"; - $body .= "TOTALE MATERIALE UTILIZZATO:\n"; - $body .= "\n"; - - $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_articoli, 2)." €\n"; - $body .= "\n"; - $body .= "
\n"; } -// Conteggio spese aggiuntive -$query = 'SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_righe_interventi.idintervento) AS data_intervento FROM in_righe_interventi WHERE idintervento IN('.implode(',', $idinterventi).') ORDER BY id ASC'; -$rs2 = $dbo->fetchArray($query); +if (!empty($idinterventi)) { + // Conteggio spese aggiuntive + $query = 'SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_righe_interventi.idintervento) AS data_intervento FROM in_righe_interventi WHERE idintervento IN('.implode(',', $idinterventi).') ORDER BY id ASC'; + $rs2 = $dbo->fetchArray($query); -if (sizeof($rs2) > 0) { - $body .= "\n"; - $body .= "\n"; + if (sizeof($rs2) > 0) { + $body .= "
Spese aggiuntive
\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $totale_spese = 0.00; + $totale_spese = 0.00; - for ($i = 0; $i < sizeof($rs2); ++$i) { - // Articolo - $body .= "\n"; + + // Quantità + $qta = $rs2[$i]['qta']; + $body .= "\n"; + + // Prezzo unitario + $body .= "\n"; + + // Prezzo di vendita + $body .= "\n"; + $totale_spese += $netto * $qta; + } + // Totale spese aggiuntive + $body .= "\n"; - // Quantità - $qta = $rs2[$i]['qta']; - $body .= "\n"; - - // Prezzo unitario - $body .= "\n"; - - // Prezzo di vendita - $body .= "\n"; - $totale_spese += $netto * $qta; + $body .= "
Spese aggiuntive
\n"; - $body .= "Descrizione\n"; - $body .= "
\n"; + $body .= "Descrizione\n"; + $body .= "\n"; - $body .= "Q.tà\n"; - $body .= "\n"; + $body .= "Q.tà\n"; + $body .= "\n"; - $body .= "Prezzo unitario\n"; - $body .= "\n"; + $body .= "Prezzo unitario\n"; + $body .= "\n"; - $body .= "Subtot\n"; - $body .= "
\n"; + $body .= "Subtot\n"; + $body .= "
\n"; - $body .= ''.$rs2[$i]['descrizione']."
\n"; - $body .= 'Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + for ($i = 0; $i < sizeof($rs2); ++$i) { + // Articolo + $body .= "
\n"; + $body .= ''.$rs2[$i]['descrizione']."
\n"; + $body .= 'Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + $body .= "
\n"; + $body .= ''.Translator::numberToLocale($rs2[$i]['qta'], 2)."\n"; + $body .= "\n"; + $netto = $rs2[$i]['prezzo']; + $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($netto * $qta, 2)." €\n"; + $body .= "
\n"; + $body .= "ALTRE SPESE:\n"; $body .= "\n"; - $body .= ''.Translator::numberToLocale($rs2[$i]['qta'], 2)."\n"; - $body .= "\n"; - $netto = $rs2[$i]['prezzo']; - $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; - $body .= "\n"; - $body .= ''.Translator::numberToLocale($netto * $qta, 2)." €\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($totale_spese, 2)." €\n"; $body .= "

\n"; } - // Totale spese aggiuntive - $body .= "\n"; - $body .= "ALTRE SPESE:\n"; - $body .= "\n"; - - $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_spese, 2)." €\n"; - $body .= "\n"; - $body .= "
\n"; } // Totale complessivo intervento @@ -321,7 +325,7 @@ $body .= "\n"; $body .= ''.$diff." €\n"; $body .= "\n"; -if(!empty($contratto_tot_ore)){ +if (!empty($contratto_tot_ore)) { $body .= "\n"; $body .= "ORE RESIDUE:\n"; $body .= "\n"; diff --git a/templates/preventivi_cons/pdfgen.preventivi_cons.php b/templates/preventivi_cons/pdfgen.preventivi_cons.php index 06fd06ae2..c4516a5c1 100644 --- a/templates/preventivi_cons/pdfgen.preventivi_cons.php +++ b/templates/preventivi_cons/pdfgen.preventivi_cons.php @@ -191,135 +191,139 @@ if (sizeof($preventivi) > 0) { } $body .= "
\n"; -// Conteggio articoli utilizzati -$query = "SELECT *, (SELECT orario_inizio FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento = mg_articoli_interventi.idintervento) AS data_intervento, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM in_interventi WHERE id=mg_articoli_interventi.idintervento) ) ) AS prc_guadagno,(SELECT percentuale FROM co_iva WHERE id=mg_articoli_interventi.idiva_vendita) AS prciva_vendita, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, CONCAT_WS(serial, 'SN: ', ', ') AS codice, SUM(qta) AS sumqta FROM `mg_articoli_interventi` JOIN mg_prodotti ON mg_articoli_interventi.idarticolo = mg_prodotti.id_articolo GROUP BY idarticolo, idintervento, lotto HAVING ".(!empty($idinterventi) ? 'idintervento IN('.implode(',', $idinterventi).') AND ' : '')." NOT idarticolo='0' ORDER BY idarticolo ASC"; -$rs2 = $dbo->fetchArray($query); +if (!empty($idinterventi)) { + // Conteggio articoli utilizzati + $query = "SELECT *, (SELECT orario_inizio FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento = mg_articoli_interventi.idintervento) AS data_intervento, (SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM in_interventi WHERE id=mg_articoli_interventi.idintervento) ) ) AS prc_guadagno,(SELECT percentuale FROM co_iva WHERE id=mg_articoli_interventi.idiva_vendita) AS prciva_vendita, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, CONCAT_WS(serial, 'SN: ', ', ') AS codice, SUM(qta) AS sumqta FROM `mg_articoli_interventi` JOIN mg_prodotti ON mg_articoli_interventi.idarticolo = mg_prodotti.id_articolo GROUP BY idarticolo, idintervento, lotto HAVING idintervento IN(".implode(',', $idinterventi).") AND NOT idarticolo='0' ORDER BY idarticolo ASC"; + $rs2 = $dbo->fetchArray($query); -if (sizeof($rs2) > 0) { - $body .= "\n"; - $body .= "\n"; + if (sizeof($rs2) > 0) { + $body .= "
Materiale utilizzato per gli interventi
\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $totale_articoli = 0.00; + $totale_articoli = 0.00; - for ($i = 0; $i < sizeof($rs2); ++$i) { - // Articolo - $body .= "\n"; + + // Quantità + $qta = $rs2[$i]['sumqta']; + $body .= "\n"; + + // Prezzo unitario + $body .= "\n"; + + // Prezzo di vendita + $body .= "\n"; + $totale_articoli += $netto * $qta; } - $body .= '
Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + // Totale spesa articoli + $body .= "\n"; - // Quantità - $qta = $rs2[$i]['sumqta']; - $body .= "\n"; - - // Prezzo unitario - $body .= "\n"; - - // Prezzo di vendita - $body .= "\n"; - $totale_articoli += $netto * $qta; + $body .= "
Materiale utilizzato per gli interventi
\n"; - $body .= "Articolo\n"; - $body .= "
\n"; + $body .= "Articolo\n"; + $body .= "\n"; - $body .= "Q.tà\n"; - $body .= "\n"; + $body .= "Q.tà\n"; + $body .= "\n"; - $body .= "Prezzo unitario\n"; - $body .= "\n"; + $body .= "Prezzo unitario\n"; + $body .= "\n"; - $body .= "Subtot\n"; - $body .= "
\n"; + $body .= "Subtot\n"; + $body .= "
\n"; - $body .= ''.nl2br($rs2[$i]['descrizione'])."\n"; - if ($rs2[$i]['codice'] != '' && $rs2[$i]['codice'] != 'Lotto: , SN: , Altro: ') { - $body .= '
'.$rs2[$i]['codice']."\n"; + for ($i = 0; $i < sizeof($rs2); ++$i) { + // Articolo + $body .= "
\n"; + $body .= ''.nl2br($rs2[$i]['descrizione'])."\n"; + if ($rs2[$i]['codice'] != '' && $rs2[$i]['codice'] != 'Lotto: , SN: , Altro: ') { + $body .= '
'.$rs2[$i]['codice']."\n"; + } + + $body .= '
Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + $body .= "
\n"; + $body .= ''.$rs2[$i]['sumqta']."\n"; + $body .= "\n"; + $netto = $rs2[$i]['prezzo_vendita']; + $netto = $netto + $netto / 100 * $rs2[$i]['prc_guadagno']; + $iva = $netto / 100 * $rs2[$i]['prciva_vendita']; + $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; + $body .= "\n"; + $body .= "".Translator::numberToLocale($netto * $qta, 2)."\n"; + $body .= "
\n"; + $body .= "TOTALE MATERIALE UTILIZZATO:\n"; $body .= "\n"; - $body .= ''.$rs2[$i]['sumqta']."\n"; - $body .= "\n"; - $netto = $rs2[$i]['prezzo_vendita']; - $netto = $netto + $netto / 100 * $rs2[$i]['prc_guadagno']; - $iva = $netto / 100 * $rs2[$i]['prciva_vendita']; - $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; - $body .= "\n"; - $body .= "".Translator::numberToLocale($netto * $qta, 2)."\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($totale_articoli, 2)." €\n"; $body .= "

\n"; } - - // Totale spesa articoli - $body .= "\n"; - $body .= "TOTALE MATERIALE UTILIZZATO:\n"; - $body .= "\n"; - - $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_articoli, 2)." €\n"; - $body .= "\n"; - $body .= "
\n"; } -// Conteggio spese aggiuntive -$query = 'SELECT *, (SELECT orario_inizio FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento = in_righe_interventi.idintervento) AS data_intervento FROM in_righe_interventi '.(!empty($idinterventi) ? 'WHERE idintervento IN('.implode(',', $idinterventi).')' : '').' ORDER BY id ASC'; -$rs2 = $dbo->fetchArray($query); +if (!empty($idinterventi)) { + // Conteggio spese aggiuntive + $query = 'SELECT *, (SELECT orario_inizio FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento = in_righe_interventi.idintervento) AS data_intervento FROM in_righe_interventi WHERE idintervento IN('.implode(',', $idinterventi).') ORDER BY id ASC'; + $rs2 = $dbo->fetchArray($query); -if (sizeof($rs2) > 0) { - $body .= "\n"; - $body .= "\n"; + if (sizeof($rs2) > 0) { + $body .= "
Spese aggiuntive
\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $body .= "\n"; + $body .= "\n"; - $totale_spese = 0.00; + $totale_spese = 0.00; - for ($i = 0; $i < sizeof($rs2); ++$i) { - // Articolo - $body .= "\n"; + + // Quantità + $qta = $rs2[$i]['qta']; + $body .= "\n"; + + // Prezzo unitario + $body .= "\n"; + + // Prezzo di vendita + $body .= "\n"; + $totale_spese += $netto * $qta; + } + // Totale spese aggiuntive + $body .= "\n"; - // Quantità - $qta = $rs2[$i]['qta']; - $body .= "\n"; - - // Prezzo unitario - $body .= "\n"; - - // Prezzo di vendita - $body .= "\n"; - $totale_spese += $netto * $qta; + $body .= "
Spese aggiuntive
\n"; - $body .= "Descrizione\n"; - $body .= "
\n"; + $body .= "Descrizione\n"; + $body .= "\n"; - $body .= "Q.tà\n"; - $body .= "\n"; + $body .= "Q.tà\n"; + $body .= "\n"; - $body .= "Prezzo unitario\n"; - $body .= "\n"; + $body .= "Prezzo unitario\n"; + $body .= "\n"; - $body .= "Subtot\n"; - $body .= "
\n"; + $body .= "Subtot\n"; + $body .= "
\n"; - $body .= ''.$rs2[$i]['descrizione']."
\n"; - $body .= 'Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + for ($i = 0; $i < sizeof($rs2); ++$i) { + // Articolo + $body .= "
\n"; + $body .= ''.$rs2[$i]['descrizione']."
\n"; + $body .= 'Intervento del '.Translator::dateToLocale($rs2[$i]['data_intervento'])."\n"; + $body .= "
\n"; + $body .= ''.Translator::numberToLocale($rs2[$i]['qta'], 2)."\n"; + $body .= "\n"; + $netto = $rs2[$i]['prezzo']; + $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($netto * $qta, 2)." €\n"; + $body .= "
\n"; + $body .= "ALTRE SPESE:\n"; $body .= "\n"; - $body .= ''.Translator::numberToLocale($rs2[$i]['qta'], 2)."\n"; - $body .= "\n"; - $netto = $rs2[$i]['prezzo']; - $body .= ''.Translator::numberToLocale($netto, 2)." €\n"; - $body .= "\n"; - $body .= ''.Translator::numberToLocale($netto * $qta, 2)." €\n"; + $body .= "\n"; + $body .= ''.Translator::numberToLocale($totale_spese, 2)." €\n"; $body .= "

\n"; } - // Totale spese aggiuntive - $body .= "\n"; - $body .= "ALTRE SPESE:\n"; - $body .= "\n"; - - $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_spese, 2)." €\n"; - $body .= "\n"; - $body .= "
\n"; } // Totale complessivo intervento