316 lines
10 KiB
PHP
316 lines
10 KiB
PHP
|
<?php
|
||
|
$idordine = save($_GET['idordine']);
|
||
|
|
||
|
$show_costi = get_var("Stampa i prezzi sugli ordini");
|
||
|
|
||
|
//Lettura info ordine
|
||
|
$q = "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='".$idordine."'";
|
||
|
$rs = $dbo->fetchArray($q);
|
||
|
$numero_ord = $rs[0]['numero'];
|
||
|
$idcliente = $rs[0]['idanagrafica'];
|
||
|
( $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( "pdfgen_variables.php" );
|
||
|
|
||
|
//Dati generici fattura
|
||
|
$body .= "<table style='width:200mm;' class='table_values' border='0' cellspacing='1'>\n";
|
||
|
$body .= "<tr><td width='150' class='center'><b>".$rs[0]['tipo_doc']."</b><br/>n<sup>o</sup> $numero</td>\n";
|
||
|
$body .= "<td width='160' class='center'><b>Data:</b><br/>".date( "d/m/Y", strtotime($rs[0]['data']) )."</td>\n";
|
||
|
$body .= "<td width='160' class='center'><b>Pagamento:</b><br/>".$rs[0]['tipo_pagamento']."</td>\n";
|
||
|
|
||
|
$consegna=$rsd[0]['datap'].date( "d/m/Y", strtotime($rs[0]['data_prevista_consegna']));
|
||
|
if( $consegna == '01/01/1970' ) $consegna="" ;
|
||
|
$body .= "<td width='200' class='center'><b>-</b><br/>"."</td></tr>\n";
|
||
|
|
||
|
|
||
|
$body .= "</table><br/><br/>\n";
|
||
|
|
||
|
//Intestazione tabella per righe
|
||
|
$body .= "<table class='table_values' border='0' cellspacing='1' style='table-layout:fixed;'>\n";
|
||
|
$body .= "<col width='300'><col width='50'><col width='40'><col width='90'><col width='75'><col width='60'><col width='78'>\n";
|
||
|
$body .= "<thead>\n";
|
||
|
$body .= "<tr><th width='300'>Descrizione</th>\n";
|
||
|
$body .= "<th width='50' align='center'>Q.tà</th>\n";
|
||
|
$body .= "<th width='40' align='center'>u.m.</th>\n";
|
||
|
$body .= "<th width='90' align='center'>Costo unitario</th>\n";
|
||
|
$body .= "<th width='60' align='center'>Iva</th>\n";
|
||
|
$body .= "<th width='75' align='center'>Imponibile</th></tr>\n";
|
||
|
$body .= "</thead>\n";
|
||
|
|
||
|
$body .= "<tbody>\n";
|
||
|
|
||
|
//Mostro le righe del ordine
|
||
|
$totale_ordine = 0.00;
|
||
|
$totale_imponibile = 0.00;
|
||
|
$totale_iva = 0.00;
|
||
|
$sconto = 0.00;
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
Articoli
|
||
|
GROUP_CONCAT( CONCAT_WS(lotto, 'Lotto: ', ', '), CONCAT_WS(serial, 'SN: ', ', '), CONCAT_WS(altro, 'Altro: ', '') SEPARATOR '<br/>') AS codice,
|
||
|
*/
|
||
|
$q_art = "SELECT *, (SELECT codice FROM mg_articoli WHERE id=`or_righe_ordini`.`idarticolo`)AS codice_art, SUM(qta) AS sumqta FROM `or_righe_ordini` GROUP BY idarticolo, idordine, lotto HAVING idordine='$idordine' AND NOT idarticolo='0' order by id";
|
||
|
$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 .= "<tr><td class='first_cell'>\n";
|
||
|
$body .= nl2br( $rs_art[$i]['descrizione'] );
|
||
|
if( $rs_art[$i]['codice_art']!='' ){ $body .= "<br/><b>Codice: </b><small>".$rs_art[$i]['codice_art']."</small>\n"; }
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format($rs_art[$i]['sumqta'], 1, ",", "")."\n";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= $rs_art[$i]['um']."\n";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
if( $show_costi )
|
||
|
$body .= number_format( $rs_art[$i]['subtotale']/$rs_art[$i]['sumqta'], 2, ",", "" )." €\n";
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Iva
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$iva = $rs_art[$i]['iva'];
|
||
|
if( $show_costi )
|
||
|
$body .= number_format( $iva, 2, ",", "." )." €\n";
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Imponibile
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
if( $show_costi ){
|
||
|
$body .= number_format( $rs_art[$i]['subtotale'], 2, ",", "." )." €\n";
|
||
|
|
||
|
if( $rs_art[$i]['sconto']>0 )
|
||
|
$body .= "<br/>\n<small style='color:#555;'>- sconto ".number_format( $rs_art[$i]['sconto'], 2, ",", "." )." €</small>\n";
|
||
|
}
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td></tr>\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 .= "<tr><td class='first_cell'>\n";
|
||
|
$body .= nl2br( $rs_gen[$i]['descrizione'] );
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format($rs_gen[$i]['qta'], 1, ",", "")."\n";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= $rs_gen[$i]['um']."\n";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
if( $show_costi )
|
||
|
$body .= number_format( $rs_gen[$i]['subtotale']/$rs_gen[$i]['qta'], 2, ",", "" )." €\n";
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Iva
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$iva = $rs_gen[$i]['iva'];
|
||
|
if( $show_costi )
|
||
|
$body .= number_format( $iva, 2, ",", "." )." €\n";
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Imponibile
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
if( $show_costi ){
|
||
|
$body .= number_format( $rs_gen[$i]['subtotale'], 2, ",", "." )." €\n";
|
||
|
|
||
|
if( $rs_gen[$i]['sconto']>0 )
|
||
|
$body .= "<br/>\n<small style='color:#555;'>- sconto ".number_format( $rs_gen[$i]['sconto'], 2, ",", "." )." €</small>\n";
|
||
|
}
|
||
|
else
|
||
|
$body .= "-";
|
||
|
$body .= "</td></tr>\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 .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Totale imponibile:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format( $imponibile_ordine, 2, ",", "." )." €";
|
||
|
$body .= "</td></tr>\n";
|
||
|
|
||
|
|
||
|
|
||
|
//Mostra sconto se c'è
|
||
|
if( abs($sconto)>0 ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Sconto:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Sconto
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format( $sconto, 2, ",", "." )." €";
|
||
|
$body .= "</td>";
|
||
|
$body .= "</tr>\n";
|
||
|
|
||
|
|
||
|
//Totale scontato
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Totale scontato:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Sconto
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$totale_ordine = $imponibile_ordine-$sconto;
|
||
|
$body .= number_format( $totale_ordine, 2, ",", "." )." €";
|
||
|
$body .= "</td></tr>\n";
|
||
|
}
|
||
|
|
||
|
|
||
|
//Mostra INPS se c'è
|
||
|
if( abs($rs[0]['rivalsainps'])>0 ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Rivalsa INPS:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Rivalsa INPS
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format( $rs[0]['rivalsainps'], 2, ",", "." )." €";
|
||
|
$body .= "</td></tr>\n";
|
||
|
$totale_ordine += $rs[0]['rivalsainps'];
|
||
|
}
|
||
|
|
||
|
//Mostra iva se c'è
|
||
|
$totale_iva += $rs[0]['iva_rivalsainps'];
|
||
|
if( abs($totale_iva)>0 ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Iva:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Iva
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format( $totale_iva, 2, ",", "." )." €\n";
|
||
|
$body .= "</td></tr>\n";
|
||
|
$totale_ordine += $totale_iva;
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
Totale ordine
|
||
|
*/
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Totale ordine:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell_h center'>\n";
|
||
|
$body .= "<b>".number_format( $totale_ordine, 2, ",", "." )." €</b>\n";
|
||
|
$body .= "</td></tr>\n";
|
||
|
$netto_a_pagare = $totale_ordine;
|
||
|
|
||
|
|
||
|
//Mostra marca da bollo se c'è
|
||
|
if( abs($rs[0]['bollo'])>0 ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Marca da bollo:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Marca da bollo
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$marca_da_bollo = str_replace( ",", ".", $rs[0]['bollo'] );
|
||
|
$body .= number_format( $marca_da_bollo, 2, ",", "." )." €";
|
||
|
$body .= "</td></tr>\n";
|
||
|
$netto_a_pagare += $marca_da_bollo;
|
||
|
}
|
||
|
|
||
|
|
||
|
//Mostra ritenuta d'acconto se c'è
|
||
|
if( abs($rs[0]['ritenutaacconto'])>0 ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Ritenuta d'acconto:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
//Ritenuta d'acconto
|
||
|
$body .= "<td class='table_cell center'>\n";
|
||
|
$body .= number_format( $rs[0]['ritenutaacconto'], 2, ",", "." )." €";
|
||
|
$body .= "</td></tr>\n";
|
||
|
$netto_a_pagare -= $rs[0]['ritenutaacconto'];
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Netto a pagare (se diverso dal totale)
|
||
|
*/
|
||
|
if( $totale_ordine!=$netto_a_pagare ){
|
||
|
$body .= "<tr><td class='first_cell' colspan='5' align='right'>\n";
|
||
|
$body .= "<b>Netto a pagare:</b>";
|
||
|
$body .= "</td>\n";
|
||
|
|
||
|
$body .= "<td class='table_cell_h center'>\n";
|
||
|
$body .= "<b>".number_format( $netto_a_pagare, 2, ",", "." )." €</b>\n";
|
||
|
$body .= "</td></tr>\n";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$body .= "</tbody>\n";
|
||
|
$body .= "</table>\n";
|
||
|
|
||
|
$body .= "<p>".nl2br($rs[0]['note'])."</p>\n";
|
||
|
|
||
|
$report_name = "Ordine_".$numero_ord.".pdf";
|
||
|
?>
|