From f663758c5f5b7cf0c174762ac9ea89514658a3eb Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Tue, 12 Sep 2017 17:46:19 +0200 Subject: [PATCH] Aggiornamento delle stampe Adeguamento alla nuova versione delle stampe di contratti e ordini. --- modules/contratti/add_riga.php | 2 +- templates/contratti/body.php | 265 +++++++++++++++++++ templates/contratti/contratto.html | 18 -- templates/contratti/contratto_body.html | 23 -- templates/contratti/header.php | 16 ++ templates/contratti/init.php | 13 + templates/contratti/pdfgen.contratti.php | 192 -------------- templates/ddt/header.php | 2 +- templates/ddt/init.php | 2 +- templates/fatture/header.php | 2 +- templates/ordini/body.php | 192 ++++++++++++++ templates/ordini/header.php | 46 ++++ templates/ordini/init.php | 24 ++ templates/ordini/ordine.html | 22 -- templates/ordini/ordine_body.html | 27 -- templates/ordini/pdfgen.ordini.php | 307 ----------------------- templates/ordini/settings.php | 5 + templates/preventivi/body.php | 38 +-- 18 files changed, 586 insertions(+), 610 deletions(-) create mode 100644 templates/contratti/body.php delete mode 100644 templates/contratti/contratto.html delete mode 100644 templates/contratti/contratto_body.html create mode 100644 templates/contratti/header.php create mode 100644 templates/contratti/init.php delete mode 100644 templates/contratti/pdfgen.contratti.php create mode 100644 templates/ordini/body.php create mode 100644 templates/ordini/header.php create mode 100644 templates/ordini/init.php delete mode 100644 templates/ordini/ordine.html delete mode 100644 templates/ordini/ordine_body.html delete mode 100644 templates/ordini/pdfgen.ordini.php create mode 100644 templates/ordini/settings.php diff --git a/modules/contratti/add_riga.php b/modules/contratti/add_riga.php index c6c798753..6eadffb33 100644 --- a/modules/contratti/add_riga.php +++ b/modules/contratti/add_riga.php @@ -42,7 +42,7 @@ if (empty($idriga)) { $um = $rsr[0]['um']; $idiva = $rsr[0]['idiva']; $prezzo = $rsr[0]['subtotale'] / $rsr[0]['qta']; - $sconto = $rsr[0]['sconto']; + $sconto = $rsr[0]['sconto_unitario']; $tipo_sconto = $rsr[0]['tipo_sconto']; } diff --git a/templates/contratti/body.php b/templates/contratti/body.php new file mode 100644 index 000000000..4d0bdf9d1 --- /dev/null +++ b/templates/contratti/body.php @@ -0,0 +1,265 @@ + 0, // Conteggio delle righe + 'words' => 70, // Numero di parolo dopo cui contare una riga nuova + 'rows' => 20, // Numero di righe massimo presente nella pagina + 'additional' => 10, // Numero di righe massimo da aggiungere + 'columns' => 4, // Numero di colonne della tabella +]; + +echo ' +
+
+
+ '.tr('Contratto No _NUM_ del _DATE_', [ + '_NUM_' => $records[0]['numero'], + '_DATE_' => Translator::dateToLocale($records[0]['data_bozza']), + ], ['upper' => true]).' +
+
+ +
+ + + + + + + + + + + + + + +
+

'.tr('Spett.le', [], ['upper' => true]).'

+

$c_ragionesociale$

+

$c_indirizzo$ $c_citta_full$

+
+

'.tr('Partita IVA', [], ['upper' => true]).'

+
+ $c_piva$ +
+

'.tr('Codice fiscale', [], ['upper' => true]).'

+
+ $c_codicefiscale$ +
+
+
'; + +// Descrizione +if (!empty($records[0]['descrizione'])) { + echo ' +

'.nl2br($records[0]['descrizione']).'

+
'; +} + +$sconto = []; +$imponibile = []; +$iva = []; + +// Intestazione tabella per righe +echo " + + + + + + + + + + + '; + +// RIGHE PREVENTIVO CON ORDINAMENTO UNICO +$righe = $dbo->fetchArray('SELECT * FROM co_righe2_contratti WHERE idcontratto='.prepare($idcontratto).' ORDER BY `order`'); +foreach ($righe as $r) { + $count = 0; + $count += ceil(strlen($r['descrizione']) / $autofill['words']); + $count += substr_count($r['descrizione'], PHP_EOL); + + echo ' + + '; + + echo " + '; + + if ($mostra_prezzi) { + // Prezzo unitario + echo " + '; + + // Imponibile + echo " + '; + } else { + echo ' + + '; + } + + echo ' + '; + + $autofill['count'] += $count; + + $sconto[] = $r['sconto']; + $imponibile[] = $r['subtotale']; +} + +$sconto = sum($sconto); +$imponibile = sum($imponibile); + +$totale = $imponibile - $sconto; + +echo ' + |autofill| + '; + +// TOTALE COSTI FINALI +if ($mostra_prezzi) { + // Eventuale sconto incondizionato + if (!empty($sconto)) { + // Totale imponibile + echo ' + + + + + '; + + echo ' + + + + + '; + } + + // TOTALE + echo ' + + + + '; +} +echo' +
".tr('Descrizione', [], ['upper' => true])."".tr('Q.tà', [], ['upper' => true])."".tr('Prezzo unitario', [], ['upper' => true])."".tr('Imponibile', [], ['upper' => true]).'
+ '.nl2br($r['descrizione']); + + if (!empty($r['codice_articolo'])) { + echo ' +
'.tr('COD. _COD_', [ + '_COD_' => $r['codice_articolo'], + ]).''; + + if ($count <= 1) { + $count += 0.4; + } + } + + echo ' +
+ ".(empty($r['qta']) ? '' : Translator::numberToLocale($r['qta'], 2)).' '.$r['um'].' + + ".(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'], 2)).' € + + ".(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'], 2)).' €'; + + if ($r['sconto'] > 0) { + echo " +
- sconto ".Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €').''; + + if ($count <= 1) { + $count += 0.4; + } + } + + echo ' +
--
+ '.tr('Imponibile', [], ['upper' => true]).': + + '.Translator::numberToLocale($imponibile, 2).' € +
+ '.tr('Sconto', [], ['upper' => true]).': + + -'.Translator::numberToLocale($sconto, 2).' € +
+ '.tr('Quotazione totale', [], ['upper' => true]).': + + '.Translator::numberToLocale($totale, 2).' € +
'; + +// CONDIZIONI GENERALI DI FORNITURA + +// Lettura pagamenti +$rs = $dbo->fetchArray('SELECT * FROM co_pagamenti WHERE id = '.$records[0]['idpagamento']); +$pagamento = $rs[0]['descrizione']; + +echo ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ '.tr('Condizioni generali di fornitura', [], ['upper' => true]).' +
+ '.tr('Pagamento', [], ['upper' => true]).' + + '.$pagamento.' +
+ '.tr('Validità offerta', [], ['upper' => true]).' + + '.tr('_TOT_ giorni', [ + '_TOT_' => $records[0]['validita'], + ]).' giorni +
+ '.tr('Validità contratto', [], ['upper' => true]).' + + '.tr('dal _START_ al _END_', [ + '_START_' => Translator::dateToLocale($records[0]['data_accettazione']), + '_END_' => Translator::dateToLocale($records[0]['data_conclusione']), + ]).' +
+ '.tr('Esclusioni', [], ['upper' => true]).' + + '.nl2br($records[0]['esclusioni']).' +
'; + +// Conclusione +echo ' +

'.tr('Il tutto S.E. & O.').'

+

'.tr("In attesa di un Vostro Cortese riscontro, colgo l'occasione per porgere Cordiali Saluti").'

'; diff --git a/templates/contratti/contratto.html b/templates/contratti/contratto.html deleted file mode 100644 index 833e98b47..000000000 --- a/templates/contratti/contratto.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - $body$ - diff --git a/templates/contratti/contratto_body.html b/templates/contratti/contratto_body.html deleted file mode 100644 index 365762cdb..000000000 --- a/templates/contratti/contratto_body.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - -
- Logo
-
- $f_ragionesociale$ - $f_indirizzo$ - $f_citta_full$ - $f_piva$ - $f_codicefiscale$ - $f_capsoc$ - $f_telefono$ - $f_sitoweb$ - $f_email$ -
-
-
diff --git a/templates/contratti/header.php b/templates/contratti/header.php new file mode 100644 index 000000000..42d9396b0 --- /dev/null +++ b/templates/contratti/header.php @@ -0,0 +1,16 @@ + +
+ Logo +
+
+

$f_ragionesociale$

+

$f_indirizzo$ $f_citta_full$

+

'.(!empty($f_piva) ? tr('P.Iva').': ' : '').'$f_piva$

+

'.(!empty($f_codicefiscale) ? tr('C.F.').': ' : '').'$f_codicefiscale$

+

'.(!empty($f_capsoc) ? tr('Cap.Soc.').': ' : '').'$f_capsoc$

+

'.(!empty($f_telefono) ? tr('Tel').': ' : '').'$f_telefono$

+
+'; diff --git a/templates/contratti/init.php b/templates/contratti/init.php new file mode 100644 index 000000000..b90bb00ae --- /dev/null +++ b/templates/contratti/init.php @@ -0,0 +1,13 @@ +fetchArray('SELECT *, (SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_interventi.id LIMIT 0,1) AS data, co_contratti.descrizione AS `cdescrizione`, co_contratti.idanagrafica AS `idanagrafica`, co_contratti.costo_orario AS costo_orario , co_contratti.costo_km AS costo_km FROM co_contratti LEFT OUTER JOIN (co_righe_contratti LEFT OUTER JOIN in_interventi ON co_righe_contratti.idintervento=in_interventi.id) ON co_contratti.id=co_righe_contratti.idcontratto WHERE co_contratti.id='.prepare($idcontratto)); + +$id_cliente = $records[0]['idanagrafica']; +$id_sede = $records[0]['idsede']; + +$mostra_prezzi = get_var('Stampa i prezzi sui contratti'); diff --git a/templates/contratti/pdfgen.contratti.php b/templates/contratti/pdfgen.contratti.php deleted file mode 100644 index e07bdadd4..000000000 --- a/templates/contratti/pdfgen.contratti.php +++ /dev/null @@ -1,192 +0,0 @@ -fetchArray($q); -$idcliente = $rscontrattii[0]['idanagrafica']; - -// carica report html -$report = file_get_contents($docroot.'/templates/contratti/contratto.html'); -$body = file_get_contents($docroot.'/templates/contratti/contratto_body.html'); - -include_once $docroot.'/templates/pdfgen_variables.php'; - -$totrows = sizeof($rscontrattii); -$totale_km = 0; -$totale_ore = 0; -$totale = 0; -$contratti = []; -$ore = []; -$km = []; -$ntecnici = []; -$tecnici = []; -$costi_orari = []; -$costi_km = []; -$idinterventi = ['-1']; - -// Sostituisco i valori tra | | con il valore del campo del db -$body .= preg_replace('/|(.+?)|/', $rscontrattii[0]['${1}'], $body); - -// Lettura nome referenti collegati all'anagrafica -$query = 'SELECT * FROM an_referenti WHERE id = "'.$rscontrattii[0]['idreferente'].'"'; -$rs = $dbo->fetchArray($query); -$nome_referente = $rs[0]['nome']; - -// Tabella intestazione -$body .= "\n"; - -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; - -$body .= "\n"; -$body .= "\n"; - -$body .= "\n"; -$body .= "\n"; - -if ($nome_referente != '') { - $body .= "\n"; - $body .= "\n"; -} - -$body .= "
\n"; -$body .= " \n"; -$body .= "\n"; - -if ($c_cap != '') { - $c_cap = $c_cap.' '; -} - -if ($c_provincia != '') { - $c_provincia = ' ('.$c_provincia.')'; -} - -$body .= 'Spettabile
'.$c_ragionesociale.'
'.$c_indirizzo.'
'.$c_cap.$c_citta.$c_provincia.'
P.Iva: '.$c_piva."
\n"; -$body .= "
\n"; -$body .= ''.$f_citta.', '.Translator::dateToLocale($rscontrattii[0]['data_bozza'])."\n"; -$body .= "
\n"; -$body .= 'OGGETTO: CONTRATTO No '.$rscontrattii[0]['numero'].' DEL '.Translator::dateToLocale($rscontrattii[0]['data_bozza'])."\n"; -$body .= "
\n"; - $body .= 'C.A. '.$nome_referente."\n"; - $body .= "
\n"; - -/* - TABELLA COSTI -*/ -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; - -$body .= "\n"; -$body .= "\n"; - -$body .= "\n"; - -$rs = $dbo->fetchArray('SELECT * FROM co_righe2_contratti WHERE idcontratto="'.$idcontratto.'"'); -$totale = 0; - -for ($i = 0; $i < sizeof($rs); ++$i) { - // Descrizione - $body .= "\n"; - - // Q.tà - $body .= "\n"; - - // um - $body .= "\n"; - - // Costo unitario - $body .= "\n"; - - // Subtotale - $body .= "\n"; - $body .= "\n"; - - $totale += $rs[$i]['subtotale']; -} - -// Totale complessivo intervento -$body .= "\n"; - -$body .= "\n"; -$body .= "\n"; -$body .= "
DescrizioneQ.tàu.m.Costo unitarioImponibile
".nl2br($rs[$i]['descrizione'])."".Translator::numberToLocale($rs[$i]['qta'], 2)."".$rs[$i]['um']."".Translator::numberToLocale($rs[$i]['subtotale'] / $rs[$i]['qta'], 2)." €".Translator::numberToLocale($rs[$i]['subtotale'], 2)." €
\n"; -$body .= "QUOTAZIONE TOTALE:\n"; -$body .= "\n"; -$body .= ''.Translator::numberToLocale($totale, 2)." €\n"; -$body .= "


\n"; - -// CONDIZIONI GENERALI DI FORNITURA - -// Lettura pagamenti -if ($rscontrattii[0]['idpagamento'] != '') { - $query = 'SELECT * FROM co_pagamenti WHERE id = '.$rscontrattii[0]['idpagamento']; - $rs = $dbo->fetchArray($query); - $pagamento = $rs[0]['descrizione']; -} else { - $pagamento = 'N.D.'; -} - -$rscontrattii[0]['idpagamento']; - -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; - -// PAGAMENTI -$body .= "\n"; - -$body .= "\n"; - -// VALIDITA' OFFERTA -$body .= "\n"; - -$body .= "\n"; - -// VALIDITA' CONTRATTO -$body .= "\n"; - -$body .= "\n"; - -// ESCLUSIONI -$body .= "\n"; - -$body .= "\n"; - -$body .= "
\n"; -$body .= "CONDIZIONI GENERALI DI FORNITURA
\n"; -$body .= "
\n"; -$body .= "PAGAMENTI:\n"; -$body .= "\n"; -$body .= ''.$pagamento."\n"; -$body .= "
\n"; -$body .= "VALIDITÀ OFFERTA:\n"; -$body .= "\n"; -$body .= ''.$rscontrattii[0]['validita']." giorni\n"; -$body .= "
\n"; -$body .= "VALIDITÀ CONTRATTO:\n"; -$body .= "\n"; -$body .= 'dal '.Translator::dateToLocale($rscontrattii[0]['data_accettazione']).' al '.Translator::dateToLocale($rscontrattii[0]['data_conclusione'])."\n"; -$body .= "
\n"; -$body .= "ESCLUSIONI:\n"; -$body .= "\n"; -$body .= ''.$rscontrattii[0]['esclusioni']."\n"; -$body .= "
\n"; -$body .= "

\n"; - -$body .= "Il tutto S.E. & O.

\n"; -$body .= "In attesa di un Vostro Cortese riscontro scritto, l’occasione mi è gradita per porgere Cordiali Saluti.\n"; - -$report_name = 'contratto_'.$idcontratto.'.pdf'; diff --git a/templates/ddt/header.php b/templates/ddt/header.php index d9615a561..10c497c57 100644 --- a/templates/ddt/header.php +++ b/templates/ddt/header.php @@ -74,7 +74,7 @@ echo '

'.tr('Spett.le', [], ['upper' => true]).'

$c_ragionesociale$

-

$c_indirizzo$ $c_citta$

+

$c_indirizzo$ $c_citta_full$

diff --git a/templates/ddt/init.php b/templates/ddt/init.php index e1517c5e7..7a9423ebe 100644 --- a/templates/ddt/init.php +++ b/templates/ddt/init.php @@ -44,7 +44,7 @@ if (!empty($records[0]['idsede'])) { $custom = [ 'tipo_doc' => strtoupper($tipo_doc), 'numero_doc' => $numero, - 'data' => Translator::numberToLocale($records[0]['data']), + 'data' => Translator::dateToLocale($records[0]['data']), 'pagamento' => $records[0]['tipo_pagamento'], 'c_destinazione' => $destinazione, 'aspettobeni' => $records[0]['aspettobeni'], diff --git a/templates/fatture/header.php b/templates/fatture/header.php index 85bac7a76..8476b4746 100644 --- a/templates/fatture/header.php +++ b/templates/fatture/header.php @@ -78,7 +78,7 @@ echo '

'.tr('Spett.le', [], ['upper' => true]).'

$c_ragionesociale$

-

$c_indirizzo$ $c_citta$

+

$c_indirizzo$ $c_citta_full$

diff --git a/templates/ordini/body.php b/templates/ordini/body.php new file mode 100644 index 000000000..d9e0c671f --- /dev/null +++ b/templates/ordini/body.php @@ -0,0 +1,192 @@ + 0, // Conteggio delle righe + 'words' => 70, // Numero di parolo dopo cui contare una riga nuova + 'rows' => 20, // Numero di righe massimo presente nella pagina + 'additional' => 15, // Numero di righe massimo da aggiungere + 'columns' => 5, // Numero di colonne della tabella +]; + +$sconto = []; +$imponibile = []; +$iva = []; + +// Intestazione tabella per righe +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`'); +foreach ($righe as $r) { + $count = 0; + $count += ceil(strlen($r['descrizione']) / $autofill['words']); + $count += substr_count($r['descrizione'], PHP_EOL); + + echo ' + + '; + + echo " + '; + + if ($mostra_prezzi) { + // Prezzo unitario + echo " + '; + + // Imponibile + echo " + '; + } else { + echo ' + + '; + } + + // Iva + echo ' + + '; + + $autofill['count'] += $count; + + $sconto[] = $r['sconto']; + $imponibile[] = $r['subtotale']; + $iva[] = $r['iva']; +} + +$sconto = sum($sconto); +$imponibile = sum($imponibile); +$iva = sum($iva); + +$totale = $imponibile - $sconto; + +echo ' + |autofill| + '; + +// TOTALE COSTI FINALI +if ($mostra_prezzi) { + // Totale imponibile + echo ' + + + + + '; + + // Eventuale sconto incondizionato + if (!empty($sconto)) { + echo ' + + + + + '; + + // Imponibile scontato + echo ' + + + + + '; + } + + // IVA + echo ' + + + + + '; + + $totale = sum($totale, $iva); + + // TOTALE + echo ' + + + + '; +} + +echo' +
".tr('Descrizione', [], ['upper' => true])."".tr('Q.tà', [], ['upper' => true])."".tr('Prezzo unitario', [], ['upper' => true])."".tr('Imponibile', [], ['upper' => true])."".tr('IVA', [], ['upper' => true]).' (%)
+ '.nl2br($r['descrizione']); + + if (!empty($r['codice_articolo'])) { + echo ' +
'.tr('COD. _COD_', [ + '_COD_' => $r['codice_articolo'], + ]).''; + + if ($count <= 1) { + $count += 0.4; + } + } + + echo ' +
+ ".(empty($r['qta']) ? '' : Translator::numberToLocale($r['qta'], 2)).' '.$r['um'].' + + ".(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'], 2)).' € + + ".(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'], 2)).' €'; + + if ($r['sconto'] > 0) { + echo " +
- sconto ".Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €').''; + + if ($count <= 1) { + $count += 0.4; + } + } + + echo ' +
-- + '.Translator::numberToLocale($r['perc_iva'], 2).' +
+ '.tr('Imponibile', [], ['upper' => true]).': + + '.Translator::numberToLocale($imponibile, 2).' € +
+ '.tr('Sconto', [], ['upper' => true]).': + + -'.Translator::numberToLocale($sconto, 2).' € +
+ '.tr('Imponibile scontato', [], ['upper' => true]).': + + '.Translator::numberToLocale($totale, 2).' € +
+ '.tr('Totale IVA', [], ['upper' => true]).': + + '.Translator::numberToLocale($iva, 2).' € +
+ '.tr('Quotazione totale', [], ['upper' => true]).': + + '.Translator::numberToLocale($totale, 2).' € +
'; + +if (!empty($records[0]['note'])) { + echo ' +
+

'.tr('Note', [], ['upper' => true]).':

+

'.nl2br($records[0]['note']).'

'; +} diff --git a/templates/ordini/header.php b/templates/ordini/header.php new file mode 100644 index 000000000..804dfc06a --- /dev/null +++ b/templates/ordini/header.php @@ -0,0 +1,46 @@ + +
+ Logo +
+
+

$f_ragionesociale$

+

$f_indirizzo$ $f_citta_full$

+

'.(!empty($f_piva) ? tr('P.Iva').': ' : '').'$f_piva$

+

'.(!empty($f_codicefiscale) ? tr('C.F.').': ' : '').'$f_codicefiscale$

+

'.(!empty($f_capsoc) ? tr('Cap.Soc.').': ' : '').'$f_capsoc$

+

'.(!empty($f_telefono) ? tr('Tel').': ' : '').'$f_telefono$

+
+ + +
+ +
+ $tipo_doc$ +
+ + + + + + + + + + + +
+

'.tr('Nr. documento', [], ['upper' => true]).'

+

$numero_doc$

+
+

'.tr('Data documento', [], ['upper' => true]).'

+

$data$

+
+

'.tr('Pagamanto', [], ['upper' => true]).'

+

$pagamento$

+
+

'.tr('Foglio', [], ['upper' => true]).'

+

{PAGENO}/{nb}

+
'; diff --git a/templates/ordini/init.php b/templates/ordini/init.php new file mode 100644 index 000000000..5df2f22e1 --- /dev/null +++ b/templates/ordini/init.php @@ -0,0 +1,24 @@ +fetchArray('SELECT *, (SELECT descrizione FROM or_tipiordine WHERE or_tipiordine.id=idtipoordine) AS tipo_doc, (SELECT descrizione FROM co_pagamenti WHERE id=idpagamento) AS tipo_pagamento FROM or_ordini WHERE id='.prepare($idordine)); + +$id_cliente = $records[0]['idanagrafica']; +$id_sede = $records[0]['idsede']; + +$numero_ord = $records[0]['numero']; +$numero = !empty($records[0]['numero_esterno']) ?$records[0]['numero_esterno'] : $records[0]['numero']; + +// Sostituzioni specifiche +$custom = [ + 'tipo_doc' => strtoupper($records[0]['tipo_doc']), + 'numero_doc' => $numero, + 'data' => Translator::dateToLocale($records[0]['data']), + 'pagamento' => $records[0]['tipo_pagamento'], +]; + +$mostra_prezzi = get_var('Stampa i prezzi sugli ordini'); diff --git a/templates/ordini/ordine.html b/templates/ordini/ordine.html deleted file mode 100644 index 537e38684..000000000 --- a/templates/ordini/ordine.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - $body$ - diff --git a/templates/ordini/ordine_body.html b/templates/ordini/ordine_body.html deleted file mode 100644 index c68c75077..000000000 --- a/templates/ordini/ordine_body.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - -
- Logo
- $f_ragionesociale$ - $f_indirizzo$ - $f_citta_full$ - $f_piva$ - $f_codicefiscale$ - $f_capsoc$ - $f_telefono$ - $f_sitoweb$ - $f_email$ -
- Spett.le $c_ragionesociale$ - $c_indirizzo$ - $c_citta$ - $c_piva$ -
-
-
diff --git a/templates/ordini/pdfgen.ordini.php b/templates/ordini/pdfgen.ordini.php deleted file mode 100644 index bfc6b602a..000000000 --- a/templates/ordini/pdfgen.ordini.php +++ /dev/null @@ -1,307 +0,0 @@ -fetchArray($q); -$numero_ord = $rs[0]['numero']; -$idcliente = $rs[0]['idanagrafica']; -(!empty($rs[0]['numero_esterno'])) ? $numero = $rs[0]['numero_esterno'] : $numero = $rs[0]['numero']; - -// Lettura righe ordine -$q2 = "SELECT * FROM or_righe_ordini WHERE idordine='".$idordine."'"; -$righe = $dbo->fetchArray($q2); - -// carica report html -$report = file_get_contents($docroot.'/templates/ordini/ordine.html'); -$body = file_get_contents($docroot.'/templates/ordini/ordine_body.html'); - -include_once $docroot.'/templates/pdfgen_variables.php'; - -// Dati generici fattura -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "
".$rs[0]['tipo_doc']."
no $numero
Data:
".Translator::dateToLocale($rs[0]['data'])."
Pagamento:
".$rs[0]['tipo_pagamento']."


\n"; - -// Intestazione tabella per righe -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; -$body .= "\n"; - -$body .= "\n"; - -// Mostro le righe del ordine -$totale_ordine = 0.00; -$totale_imponibile = 0.00; -$totale_iva = 0.00; -$sconto = 0.00; - -/* - Articoli -*/ -$q_art = "SELECT *, CONCAT_WS(serial, 'SN: ', ', ') AS codice, SUM(qta) AS sumqta FROM `or_righe_ordini` JOIN mg_prodotti ON or_righe_ordini.idarticolo = mg_prodotti.id_articolo GROUP BY idarticolo, idordine, lotto HAVING idordine='$idordine' AND NOT idarticolo='0' ORDER BY idarticolo ASC"; -$rs_art = $dbo->fetchArray($q_art); -$tot_art = sizeof($rs_art); -$imponibile_art = 0.0; -$iva_art = 0.0; - -if ($tot_art > 0) { - $prec_art = ''; - $riga_art = ''; - - for ($i = 0; $i < $tot_art; ++$i) { - if ($rs_art[$i]['idarticolo'] != $prec_art) { - $q_art = 0; - } - $body .= "\n"; - - $body .= "\n"; - - $body .= "\n"; - - $body .= "\n"; - - // Iva - $body .= "\n"; - - // Imponibile - $body .= "\n"; - - $imponibile_art += $rs_art[$i]['subtotale']; - $iva_art += $iva; - $sconto += $rs_art[$i]['sconto']; - } - $imponibile_ordine += $imponibile_art; - $totale_iva += $iva_art; - $totale_ordine += $imponibile_art; -} - -/* - Righe generiche -*/ -$q_gen = "SELECT * FROM `or_righe_ordini` WHERE idordine='$idordine' AND idarticolo=0"; -$rs_gen = $dbo->fetchArray($q_gen); -$tot_gen = sizeof($rs_gen); -$imponibile_gen = 0.0; -$iva_gen = 0.0; - -if ($tot_gen > 0) { - for ($i = 0; $i < $tot_gen; ++$i) { - $body .= "\n"; - - $body .= "\n"; - - $body .= "\n"; - - $body .= "\n"; - - // Iva - $body .= "\n"; - - // Imponibile - $body .= "\n"; - - $imponibile_gen += $rs_gen[$i]['subtotale']; - $iva_gen += $iva; - $sconto += $rs_gen[$i]['sconto']; - } - $imponibile_ordine += $imponibile_gen; - $totale_iva += $iva_gen; - $totale_ordine += $imponibile_gen; -} - -// Totale imponibile -if ($show_costi) { - $body .= "\n"; - - $body .= "\n"; - - // Mostra sconto se c'è - if (abs($sconto) > 0) { - $body .= "\n"; - - // Sconto - $body .= "'; - $body .= "\n"; - - // Totale scontato - $body .= "\n"; - - // Sconto - $body .= "\n"; - } - - // Mostra INPS se c'è - if (abs($rs[0]['rivalsainps']) > 0) { - $body .= "\n"; - - // Rivalsa INPS - $body .= "\n"; - $totale_ordine += $rs[0]['rivalsainps']; - } - - // Mostra iva se c'è - $totale_iva += $rs[0]['iva_rivalsainps']; - if (abs($totale_iva) > 0) { - $body .= "\n"; - - // Iva - $body .= "\n"; - $totale_ordine += $totale_iva; - } - - /* - Totale ordine - */ - $body .= "\n"; - - $body .= "\n"; - $netto_a_pagare = $totale_ordine; - - // Mostra marca da bollo se c'è - if (abs($rs[0]['bollo']) > 0) { - $body .= "\n"; - - // Marca da bollo - $body .= "\n"; - $netto_a_pagare += $marca_da_bollo; - } - - // Mostra ritenuta d'acconto se c'è - if (abs($rs[0]['ritenutaacconto']) > 0) { - $body .= "\n"; - - // Ritenuta d'acconto - $body .= "\n"; - $netto_a_pagare -= $rs[0]['ritenutaacconto']; - } - - /* - Netto a pagare (se diverso dal totale) - */ - if ($totale_ordine != $netto_a_pagare) { - $body .= "\n"; - - $body .= "\n"; - } -} - -$body .= "\n"; -$body .= "
DescrizioneQ.tàu.m.Costo unitarioIvaImponibile
\n"; - $body .= nl2br($rs_art[$i]['descrizione']); - if ($rs_art[$i]['codice'] != '') { - $body .= '
'.$rs_art[$i]['codice']."\n"; - } - $body .= "
\n"; - $body .= Translator::numberToLocale($rs_art[$i]['sumqta'], 2)."\n"; - $body .= "\n"; - $body .= $rs_art[$i]['um']."\n"; - $body .= "\n"; - if ($show_costi) { - $body .= Translator::numberToLocale($rs_art[$i]['subtotale'] / $rs_art[$i]['sumqta'], 2)." €\n"; - } else { - $body .= '-'; - } - $body .= "\n"; - $iva = $rs_art[$i]['iva']; - if ($show_costi) { - $body .= Translator::numberToLocale($iva, 2)." €\n"; - } else { - $body .= '-'; - } - $body .= "\n"; - if ($show_costi) { - $body .= Translator::numberToLocale($rs_art[$i]['subtotale'], 2)." €\n"; - - if ($rs_art[$i]['sconto'] > 0) { - $body .= "
\n- sconto ".Translator::numberToLocale($rs_art[$i]['sconto'], 2)." €\n"; - } - } else { - $body .= '-'; - } - $body .= "
\n"; - $body .= nl2br($rs_gen[$i]['descrizione']); - $body .= "\n"; - $body .= Translator::numberToLocale($rs_gen[$i]['qta'], 2)."\n"; - $body .= "\n"; - $body .= $rs_gen[$i]['um']."\n"; - $body .= "\n"; - if ($show_costi) { - $body .= Translator::numberToLocale($rs_gen[$i]['subtotale'] / $rs_gen[$i]['qta'], 2)." €\n"; - } else { - $body .= '-'; - } - $body .= "\n"; - $iva = $rs_gen[$i]['iva']; - if ($show_costi) { - $body .= Translator::numberToLocale($iva, 2)." €\n"; - } else { - $body .= '-'; - } - $body .= "\n"; - if ($show_costi) { - $body .= Translator::numberToLocale($rs_gen[$i]['subtotale'], 2)." €\n"; - - if ($rs_gen[$i]['sconto'] > 0) { - $body .= "
\n- sconto ".Translator::numberToLocale($rs_gen[$i]['sconto'], 2)." €\n"; - } - } else { - $body .= '-'; - } - $body .= "
\n"; - $body .= 'Totale imponibile:'; - $body .= "\n"; - $body .= Translator::numberToLocale($imponibile_ordine, 2).' €'; - $body .= "
\n"; - $body .= 'Sconto:'; - $body .= "\n"; - $body .= Translator::numberToLocale($sconto, 2).' €'; - $body .= '
\n"; - $body .= 'Totale scontato:'; - $body .= "\n"; - $totale_ordine = $imponibile_ordine - $sconto; - $body .= Translator::numberToLocale($totale_ordine, 2).' €'; - $body .= "
\n"; - $body .= 'Rivalsa INPS:'; - $body .= "\n"; - $body .= Translator::numberToLocale($rs[0]['rivalsainps'], 2).' €'; - $body .= "
\n"; - $body .= 'Iva:'; - $body .= "\n"; - $body .= Translator::numberToLocale($totale_iva, 2)." €\n"; - $body .= "
\n"; - $body .= 'Totale ordine:'; - $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_ordine, 2)." €\n"; - $body .= "
\n"; - $body .= 'Marca da bollo:'; - $body .= "\n"; - $marca_da_bollo = str_replace(',', '.', $rs[0]['bollo']); - $body .= Translator::numberToLocale($marca_da_bollo, 2).' €'; - $body .= "
\n"; - $body .= "Ritenuta d'acconto:"; - $body .= "\n"; - $body .= Translator::numberToLocale($rs[0]['ritenutaacconto'], 2).' €'; - $body .= "
\n"; - $body .= 'Netto a pagare:'; - $body .= "\n"; - $body .= ''.Translator::numberToLocale($netto_a_pagare, 2)." €\n"; - $body .= "
\n"; - -$body .= '

'.nl2br($rs[0]['note'])."

\n"; - -$report_name = 'Ordine_'.$numero_ord.'.pdf'; diff --git a/templates/ordini/settings.php b/templates/ordini/settings.php new file mode 100644 index 000000000..4439efc69 --- /dev/null +++ b/templates/ordini/settings.php @@ -0,0 +1,5 @@ + 55, +]; diff --git a/templates/preventivi/body.php b/templates/preventivi/body.php index ee86d8701..16cad69f8 100644 --- a/templates/preventivi/body.php +++ b/templates/preventivi/body.php @@ -29,7 +29,7 @@ echo '

'.tr('Spett.le', [], ['upper' => true]).'

$c_ragionesociale$

-

$c_indirizzo$ $c_citta$

+

$c_indirizzo$ $c_citta_full$

@@ -111,28 +111,34 @@ foreach ($righe as $r) { ".(empty($r['qta']) ? '' : Translator::numberToLocale($r['qta'], 2)).' '.$r['um'].' '; - // Prezzo unitario - echo " + if ($mostra_prezzi) { + // Prezzo unitario + echo " ".(empty($r['qta']) || empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'] / $r['qta'], 2)).' € '; - // Imponibile - echo " + // Imponibile + echo " ".(empty($r['subtotale']) ? '' : Translator::numberToLocale($r['subtotale'], 2)).' €'; - if ($r['sconto'] > 0) { - echo " + if ($r['sconto'] > 0) { + echo "
- sconto ".Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €').''; - if ($count <= 1) { - $count += 0.4; + if ($count <= 1) { + $count += 0.4; + } } - } - echo ' + echo ' '; + } else { + echo ' + - + -'; + } // Iva echo ' @@ -150,9 +156,9 @@ foreach ($righe as $r) { $sconto = sum($sconto); $imponibile = sum($imponibile); +$iva = sum($iva); $totale = $imponibile - $sconto; -$iva = sum($iva); echo ' |autofill| @@ -212,7 +218,7 @@ if ($mostra_prezzi) { $totale = sum($totale, $iva); - // TOTALE INTERVENTO + // TOTALE echo ' @@ -230,13 +236,11 @@ echo' // CONDIZIONI GENERALI DI FORNITURA // Lettura pagamenti -$query = 'SELECT * FROM co_pagamenti WHERE id = '.$records[0]['idpagamento']; -$rs = $dbo->fetchArray($query); +$rs = $dbo->fetchArray('SELECT * FROM co_pagamenti WHERE id = '.$records[0]['idpagamento']); $pagamento = $rs[0]['descrizione']; // Lettura resa -$query = 'SELECT * FROM dt_porto WHERE id = '.$records[0]['idporto']; -$rs = $dbo->fetchArray($query); +$rs = $dbo->fetchArray('SELECT * FROM dt_porto WHERE id = '.$records[0]['idporto']); $resa_materiale = $rs[0]['descrizione']; echo '