367 lines
13 KiB
PHP
367 lines
13 KiB
PHP
|
<?php
|
||
|
include_once(__DIR__."/../../core.php");
|
||
|
|
||
|
//Mostro le righe dell'ordine
|
||
|
$totale = 0.00;
|
||
|
$totale_imponibile = 0.00;
|
||
|
$totale_iva = 0.00;
|
||
|
$totale_da_evadere = 0.00;
|
||
|
|
||
|
|
||
|
/*
|
||
|
Articoli
|
||
|
*/
|
||
|
$q_art = "SELECT *, (SELECT abilita_serial FROM mg_articoli WHERE id=`or_righe_ordini`.`idarticolo`) AS abilita_serial , (SELECT codice FROM mg_articoli WHERE id=`or_righe_ordini`.`idarticolo`) AS codice FROM `or_righe_ordini` WHERE idordine='".$id_record."' AND NOT idarticolo=0";
|
||
|
$rs_art = $dbo->fetchArray( $q_art );
|
||
|
$tot_art = sizeof($rs_art);
|
||
|
$imponibile_art = 0.0;
|
||
|
$iva_art = 0.0;
|
||
|
|
||
|
if( $tot_art>0 ){
|
||
|
for( $i=0; $i<$tot_art; $i++ ){
|
||
|
$mancanti = 0;
|
||
|
$serials="";
|
||
|
echo "<tr><td>\n";
|
||
|
echo "<a href='".$rootdir."/editor.php?id_module=".$modules_info['Articoli']['id']."&id_record=".$rs_art[$i]['idarticolo']."' target='_blank'>".nl2br( $rs_art[$i]['codice']." - ".$rs_art[$i]['descrizione'] )."</a>\n";
|
||
|
|
||
|
|
||
|
if ( $rs_art[$i]['abilita_serial'] == '1' ){
|
||
|
$serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_ordine='.($rs_art[$i]['id'] )), 'serial');
|
||
|
$mancanti = $rs_art[$i]['qta'] - count($serials);
|
||
|
if ($mancanti > 0) {
|
||
|
$extra = 'class="warning"';
|
||
|
} else {
|
||
|
$mancanti = 0;
|
||
|
}
|
||
|
if (!empty($mancanti)) {
|
||
|
echo "<br>Mancano ".$mancanti." numeri seriali \n";
|
||
|
}
|
||
|
if (!empty($serials)) {
|
||
|
echo "<br>SN: ".implode(', ', $serials)."\n";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// cerco riferimento documento se prsente
|
||
|
if( $rs_art[$i]['idriga_doc'] != 0 ){
|
||
|
$query="SELECT iddocumento , numero_documento , data , ragione_sociale FROM `co_righe_documenti`
|
||
|
left join co_documenti on co_documenti.id = co_righe_documenti.iddocumento
|
||
|
left join an_anagrafiche on an_anagrafiche.idanagrafica = co_documenti.idanagrafica
|
||
|
WHERE co_righe_documenti.id='".$rs_art[$i]['idriga_doc']."'";
|
||
|
$rs_rif = $dbo->fetchArray( $query );
|
||
|
if ( sizeof($rs_rif) > 0 ) {
|
||
|
$da_transazione="1";
|
||
|
$descrizione_documento = get_var_tipodoc2($rs_rif[0]['iddocumento'],'descrizione');
|
||
|
// echo $a_capo."Rif. ".$descrizione_documento." Numero: ".$rs_rif[0]['numero_documento']." del ".date("d/m/Y", strtotime($rs_rif[0]['data']))."\n";
|
||
|
echo "<a href='".$rootdir."/editor.php?id_module=".$modules_info['Fatture di vendita']['id']."&id_record=".$rs_art[$i]['idriferimento_doc']."'</a><small class='pull-right label label-info '>Rif. ".$descrizione_documento." N° ".$rs_rif[0]['numero_documento']." - ".$rs_rif[0]['ragione_sociale']."</small>\n";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
echo "<td class='text-center'>\n";
|
||
|
echo " <big>".number_format($rs_art[$i]['qta']-$rs_art[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."</big><br><small>(q.tà iniziale: ".number_format($rs_art[$i]['qta'], get_var("Cifre decimali"), ",", ".").")</small>\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
//Um
|
||
|
echo "<td class='text-center'>\n";
|
||
|
echo $rs_art[$i]['um']."\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Costo unitario
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_art[$i]['subtotale']/$rs_art[$i]['qta'], get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Iva
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_art[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Imponibile
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_art[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
|
||
|
if( $rs_art[$i]['sconto'] > 0 ){
|
||
|
if( $rs_art[$i]['tipo_sconto']=='2' ){
|
||
|
$testo=number_format( $rs_art[$i]['sconto_primo'], get_var("Cifre decimali"), ",", "" );
|
||
|
if( $rs_art[$i]['sconto_extra'] > 0 ) $testo=$testo."+".number_format( $rs_art[$i]['sconto_extra'], get_var("Cifre decimali"), ",", "." );
|
||
|
if( $rs_art[$i]['sconto_extra1'] > 0 ) $testo=$testo."+".number_format( $rs_art[$i]['sconto_extra1'], get_var("Cifre decimali"), ",", "." );
|
||
|
$testo=$testo."%";
|
||
|
$testo=$testo."(".number_format( $rs_art[$i]['sconto'], get_var("Cifre decimali"), ",", "" ).")";
|
||
|
echo "<br><small class='label label-danger'>sconto ".$testo."</small>\n";
|
||
|
}
|
||
|
else{
|
||
|
echo "<br><small class='label label-danger'>sconto ".number_format( $rs_art[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€</small>\n";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Possibilità di rimuovere una riga solo se l'ordine non è evaso
|
||
|
echo "<td class='text-center'>\n";
|
||
|
|
||
|
if( ( $records[0]['stato'] != 'Evaso' ) && $records[0]['stato'] != 'Parzialmente evaso' ){
|
||
|
echo " <form action='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."' method='post' id='delete-form-".$rs_art[$i]['id']."' role='form'>\n";
|
||
|
|
||
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
||
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
||
|
echo " <input type='hidden' name='idriga' value='".$rs_art[$i]['id']."'>\n";
|
||
|
echo " <input type='hidden' name='dir' value='".$dir."'>\n";
|
||
|
echo " <input type='hidden' name='idarticolo' value='".$rs_art[$i]['idarticolo']."'>\n";
|
||
|
echo " <input type='hidden' name='op' value='unlink_articolo'>\n";
|
||
|
|
||
|
echo " <div class='input-group-btn'>\n";
|
||
|
if ( $rs_art[$i]['abilita_serial'] == '1' ){
|
||
|
echo " <a class='btn btn-primary btn-xs' title='Inserisci seriali...' onclick=\"launch_modal( 'Inserisci Seriali', '".$rootdir."/modules/ordini/add_serial.php?idordine=".$id_record."&idriga=".$rs_art[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-barcode'></i></a>\n";
|
||
|
}
|
||
|
|
||
|
echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/ordini/edit_riga.php?idordine=".$id_record."&idriga=".$rs_art[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
||
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dall\\'ordine?') ){ $('#delete-form-".$rs_art[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
||
|
echo " </div>\n";
|
||
|
echo " </form>\n";
|
||
|
}
|
||
|
|
||
|
echo "</td></tr>\n";
|
||
|
|
||
|
$imponibile_art += $rs_art[$i]['subtotale'];
|
||
|
$iva_art += $rs_art[$i]['iva'];
|
||
|
|
||
|
$totale_da_evadere += $rs_art[$i]['qta']-$rs_art[$i]['qta_evasa'];
|
||
|
$sconto += $rs_art[$i]['sconto'];
|
||
|
}
|
||
|
$imponibile += $imponibile_art;
|
||
|
$totale_iva += $iva_art;
|
||
|
$totale += $imponibile_art;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
Righe generiche
|
||
|
*/
|
||
|
$q_gen = "SELECT * FROM `or_righe_ordini` WHERE idordine='".$id_record."' 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++ ){
|
||
|
echo "<tr><td>\n";
|
||
|
echo nl2br( $rs_gen[$i]['descrizione'] );
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td class='text-center'>\n";
|
||
|
echo " <big>".number_format($rs_gen[$i]['qta']-$rs_gen[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."</big><br><small>(q.tà iniziale: ".number_format($rs_gen[$i]['qta'], get_var("Cifre decimali"), ",", ".").")</small>\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Um
|
||
|
echo "<td class='text-center'>\n";
|
||
|
echo $rs_gen[$i]['um']."\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Costo unitario
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_gen[$i]['subtotale']/$rs_gen[$i]['qta'], get_var("Cifre decimali"), ",", "" )." €\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Iva
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_gen[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Imponibile
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo number_format( $rs_gen[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
|
||
|
if( $rs_art[$i]['sconto'] > 0 ){
|
||
|
if( $rs_art[$i]['tipo_sconto']=='2' ){
|
||
|
$testo=number_format( $rs_art[$i]['sconto_primo'], get_var("Cifre decimali"), ",", "" );
|
||
|
if( $rs_art[$i]['sconto_extra'] > 0 ) $testo=$testo."+".number_format( $rs_art[$i]['sconto_extra'], get_var("Cifre decimali"), ",", "." );
|
||
|
if( $rs_art[$i]['sconto_extra1'] > 0 ) $testo=$testo."+".number_format( $rs_art[$i]['sconto_extra1'], get_var("Cifre decimali"), ",", "." );
|
||
|
$testo=$testo."%";
|
||
|
$testo=$testo."(".number_format( $rs_art[$i]['sconto'], get_var("Cifre decimali"), ",", "" ).")";
|
||
|
echo "<br><small class='label label-danger'>sconto ".$testo."</small>\n";
|
||
|
}
|
||
|
else{
|
||
|
echo "<br><small class='label label-danger'>sconto ".number_format( $rs_art[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€</small>\n";
|
||
|
}
|
||
|
}
|
||
|
echo "</td>\n";
|
||
|
|
||
|
|
||
|
//Possibilità di rimuovere una riga solo se l'ordine non è evaso
|
||
|
echo "<td class='text-center'>\n";
|
||
|
|
||
|
if( $records[0]['stato'] != 'Evaso' ){
|
||
|
echo " <form action='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."' method='post' id='delete-form-".$rs_gen[$i]['id']."' role='form'>\n";
|
||
|
|
||
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
||
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
||
|
echo " <input type='hidden' name='idriga' value='".$rs_gen[$i]['id']."'>\n";
|
||
|
echo " <input type='hidden' name='dir' value='".$dir."'>\n";
|
||
|
echo " <input type='hidden' name='op' value='unlink_riga'>\n";
|
||
|
|
||
|
echo " <div class='input-group-btn'>\n";
|
||
|
echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/ordini/edit_riga.php?idordine=".$id_record."&idriga=".$rs_gen[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
||
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dall\\'ordine?') ){ $('#delete-form-".$rs_gen[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
||
|
echo " </div>\n";
|
||
|
echo " </form>\n";
|
||
|
}
|
||
|
|
||
|
echo "</td></tr>\n";
|
||
|
|
||
|
$imponibile_gen += $rs_gen[$i]['subtotale'];
|
||
|
$iva_gen += $rs_gen[$i]['iva'];
|
||
|
|
||
|
$totale_da_evadere += $rs_gen[$i]['qta']-$rs_gen[$i]['qta_evasa'];
|
||
|
$sconto += $rs_gen[$i]['sconto'];
|
||
|
}
|
||
|
|
||
|
$imponibile += $imponibile_gen;
|
||
|
$totale_iva += $iva_gen;
|
||
|
$totale += $imponibile_gen;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//IMPONIBILE
|
||
|
echo "<tr><td colspan='5' class='text-right'>\n";
|
||
|
echo " <b>IMPONIBILE:</b>\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo " ".number_format( $imponibile, get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
|
||
|
|
||
|
//SCONTO
|
||
|
if( abs($sconto) > 0 ){
|
||
|
echo "<tr><td colspan='5' class='text-right'>\n";
|
||
|
echo " <b>SCONTO:</b>\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td class='text-right'>\n";
|
||
|
echo " ".number_format( $sconto, get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
|
||
|
//IMPONIBILE SCONTATO
|
||
|
echo "<tr><td colspan='5' class='text-right'>\n";
|
||
|
echo " <b>IMPONIBILE SCONTATO:</b>\n";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo " ".number_format( $imponibile - $sconto, get_var("Cifre decimali"), ",", "." )." €\n";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$totale -= $sconto;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//RIVALSA INPS
|
||
|
if( abs($records[0]['rivalsainps'])>0 ){
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>RIVALSA INPS:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
//Rivalsa INPS
|
||
|
echo "<td align='right'>\n";
|
||
|
echo number_format( $records[0]['rivalsainps'], get_var("Cifre decimali"), ",", "." )." €";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$totale += $records[0]['rivalsainps'];
|
||
|
}
|
||
|
|
||
|
|
||
|
//IVA
|
||
|
$totale_iva += $records[0]['iva_rivalsainps'];
|
||
|
|
||
|
if( abs($totale_iva)>0 ){
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>IVA:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo number_format( $totale_iva, get_var("Cifre decimali"), ",", "." )." €";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$totale += $totale_iva;
|
||
|
}
|
||
|
|
||
|
|
||
|
//TOTALE
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>TOTALE:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo " <b>".number_format( $totale, get_var("Cifre decimali"), ",", "." )." €</b>\n";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$netto_a_pagare = $totale;
|
||
|
|
||
|
|
||
|
|
||
|
//Mostra marca da bollo se c'è
|
||
|
if( abs($records[0]['bollo'])>0 ){
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>MARCA DA BOLLO:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
//Marca da bollo
|
||
|
$marca_da_bollo = str_replace( ",", ".", $records[0]['bollo'] );
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo number_format( $marca_da_bollo, get_var("Cifre decimali"), ",", "." )." €";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$netto_a_pagare += $marca_da_bollo;
|
||
|
}
|
||
|
|
||
|
|
||
|
//RITENUTA D'ACCONTO
|
||
|
if( abs($records[0]['ritenutaacconto'])>0 ){
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>RITENUTA D'ACCONTO:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
//Ritenuta d'acconto
|
||
|
echo "<td align='right'>\n";
|
||
|
echo number_format( $records[0]['ritenutaacconto'], get_var("Cifre decimali"), ",", "." )." €";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
|
||
|
$netto_a_pagare -= $records[0]['ritenutaacconto'];
|
||
|
}
|
||
|
|
||
|
|
||
|
//NETTO A PAGARE
|
||
|
if( $totale != $netto_a_pagare ){
|
||
|
echo "<tr><td colspan='5' align='right'>\n";
|
||
|
echo " <b>NETTO A PAGARE:</b>";
|
||
|
echo "</td>\n";
|
||
|
|
||
|
echo "<td align='right'>\n";
|
||
|
echo " <b>".number_format( $netto_a_pagare, get_var("Cifre decimali"), ",", "." )." €</b>\n";
|
||
|
echo "</td><td></td></tr>\n";
|
||
|
}
|
||
|
?>
|