gest366/modules/ordini/row-list.php

367 lines
13 KiB
PHP
Raw Permalink Normal View History

2021-02-24 20:40:04 +00:00
<?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."".$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&agrave; 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"), ",", "." )." &euro;\n";
echo "</td>\n";
//Iva
echo "<td class='text-right'>\n";
echo number_format( $rs_art[$i]['iva'], get_var("Cifre decimali"), ",", "." )." &euro;\n";
echo "</td>\n";
//Imponibile
echo "<td class='text-right'>\n";
echo number_format( $rs_art[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." &euro;\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"), ",", "" )."&euro;</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&agrave; 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"), ",", "" )." &euro;\n";
echo "</td>\n";
//Iva
echo "<td class='text-right'>\n";
echo number_format( $rs_gen[$i]['iva'], get_var("Cifre decimali"), ",", "." )." &euro;\n";
echo "</td>\n";
//Imponibile
echo "<td class='text-right'>\n";
echo number_format( $rs_gen[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." &euro;\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"), ",", "" )."&euro;</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"), ",", "." )." &euro;\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"), ",", "." )." &euro;\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"), ",", "." )." &euro;\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"), ",", "." )." &euro;";
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"), ",", "." )." &euro;";
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"), ",", "." )." &euro;</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"), ",", "." )." &euro;";
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"), ",", "." )." &euro;";
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"), ",", "." )." &euro;</b>\n";
echo "</td><td></td></tr>\n";
}
?>