<?

require_once("dblib.inc");

require_once("clublib.inc");

checkAdmin();

$message = "";

if (!isset($session['ID_Cliente']))
	{ // se per qualsiasi ragione ho perso l'ID_Cliente lo rimando sull'elenco fatture
	header("Location: Admin_Fatture.php");
	exit;
	}

if (isset($actionflag) && ( ($actionflag == "Insert") || ($actionflag == "Stampa" ) ) ) 
	{
	// recupero i dati del cliente
	$cliente = getRow($customers_table, "ID_Cliente", $session['ID_Cliente']);
	
	// gli ordini inseriti in fattura
	$rs_ordini_fattura = dynQuery ('*', $orders_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITO'" );
	
	// calcolo l'imponibile, iva e totale
	$form['Imponibile'] = 0;
	$form['Iva'] = 0;
	$form['Totale'] = 0;
	$form['Ritenuta'] = 0;
	
		while ($a_row = dbms_fetch_array($rs_ordini_fattura))
		{
		$form['Iva'] = $form['Iva'] + $a_row['Prezzo'] * $a_row['Iva'] / 100 * $a_row['Protocollo'];
		$form['Imponibile'] = $form['Imponibile'] + $a_row['Prezzo'] * $a_row['Protocollo'];
		$form['Totale'] = $form['Imponibile'] + $form['Iva'];
		$form['Ritenuta'] = $form['Imponibile'] * $session['salvrite'] /100 ; 
		}

	// ricavo di nuovo il progressivo fattura annuo -- qualcuno potrebbe aver inserito una fattura nel frattempo
	$anno_riferimento = strftime("%Y");
	$rs_ultima_fattura = dynQuery("*", $invoices_table, "Data_Fattura like '%$anno_riferimento%'" , "ID_Fattura Desc" );
	$ultima_fattura = dbms_fetch_array($rs_ultima_fattura);
	
  	// ricavo il progressivo annuo, ma se e' la prima fattura dell'anno, resetto il contatore
	
		
	
	// formatto le date
	$form['Data_Fattura'] = strftime("%Y-%m-%d", $session['ts_data_fattura']);
	$form['Scadenza'] = strftime("%Y-%m-%d", $session['ts_data_scadenza']);
 	
	// inserisco i dati nella tabella fatture, aggiorno gli ordini con l'ID_Fattura e lo Status
	invoiceInsert($form['Prog_Fattura_Annuo'], $cliente['ID_Cliente'], $session['ID_Banca'], $form['Data_Fattura'], $cliente['Ragione_Sociale'], $session['Causale'], $session['ora_ddt'], $session['per_dest'], $session['ind_dest'], $session['citt_dest'], $session['aspet_ben'], $session['num_colli'], $session['tip_sped'], $session['vett_sped'], $session['PI'], $session['CF'], $cliente['Indirizzo'], $cliente['Citta'], $cliente['CAP'], $cliente['Provincia'], $session['Descrizione'], $form['Totale'], $form['Ritenuta'], $form['Totimp'], $session['Tipo_Pagamento'],  $form['Scadenza'], $session['Note']);
	
	// ricavo l'ID_Fattura appena inserito
	$ID_Fattura = mysql_insert_id();
	
	// ripristino l'array degli ordini per l'update
	$rs_ordini_fattura = dynQuery ('*', $orders_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITO'" );
		while ($a_row = dbms_fetch_array($rs_ordini_fattura))
		{
		orderUpdate($a_row['ID_Ordine'], $session['ID_Cliente'], $a_row['Protocollo'], $a_row['Oggetto'], $ID_Fattura, $a_row['ID_DDT'], $a_row['Data_Ordine'], $a_row['Data_Scadenza'], $a_row['Tipo_Pagamento'], $a_row['Prezzo'], $a_row['Iva'], $a_row['Ragione_Sociale'], $a_row['Cognome'], $a_row['Nome'], $a_row['PI'], $a_row['CF'], $a_row['Indirizzo'], $a_row['Citta'], $a_row['CAP'], $a_row['Provincia'], $a_row['Telefono'], $a_row['Fax'], $a_row['E_mail'], $a_row['Prog_DDT_Annuo'], 'FATTURATO');
		}
	// scarico le variabili di sessione per la fattura
		unset($session['ID_Cliente']);
		unset($session['Ragione_Sociale']);
        unset($session['PI']);
        unset($session['CF']);
		unset($session['Tipo_Pagamento']);
		unset($session['ts_data_fattura']);
		unset($session['Causale']);
		unset($session['Prog_Fattura_Annuo']);
		unset($session['ts_data_scadenza']);
		unset($session['Descrizione']);
		unset($session['ora_ddt']);
		unset($session['per_dest']);
		unset($session['ind_dest']);
		unset($session['citt_dest']);
		unset($session['aspet_ben']);
		unset($session['num_colli']);
		unset($session['tip_sped']);
		unset($session['vett_sped']);
		unset($session['Note']);
		
	// se e' insert lo rimando all'elenco fatture	
	if ($actionflag == "Insert")
		{
		header("Location: Admin_Fatture.php");
		exit;
		}
	// altrimenti lo invio al file stampabile	
	if ($actionflag == "Stampa")
		{
		header("Location: Admin_Stampa_Fattura.php?ID_Fattura=$ID_Fattura");
		exit;
		}
	}

// terzo caso: Annulla tutto e va ar cinema

if (isset($actionflag) && ($actionflag == "Annulla"))
	{
	// scarico le variabili di sessione per la fattura
		unset($session['ID_Cliente']);
		unset($session['Ragione_Sociale']);
        unset($session['PI']);
        unset($session['CF']);
		unset($session['Tipo_Pagamento']);
		unset($session['ts_data_fattura']);
		unset($session['Causale']);
		unset($session['salvrite']);
		unset($session['Prog_Fattura_Annuo']);
		unset($session['ts_data_scadenza']);
		unset($session['Descrizione']);
		unset($session['ora_ddt']);
		unset($session['per_dest']);
		unset($session['ind_dest']);
		unset($session['citt_dest']);
		unset($session['aspet_ben']);
		unset($session['num_colli']);
		unset($session['tip_sped']);
		unset($session['vett_sped']);
		unset($session['Note']);
	
	// torno a bomba
		header("Location: Admin_Fatture.php");
		exit;
	}
	
	
if (!isset($actionflag))
	{
	// recupero i dati della ditta
	$azienda = getRow($config_table, "ID_Azienda", 1);
	
	// recupero i dati del cliente
	$cliente = getRow($customers_table, "ID_Cliente", $session['ID_Cliente']);
	
	// recupero i dati della banca
	$banca = getRow($bank_table, "ID_Banca", $session['ID_Banca']);
	
	// gli ordini inseriti in fattura
	$rs_ordini_fattura = dynQuery ('*', $orders_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITO'" );
	
	// calcolo l'imponibile, iva e totale
	$form['Imponibile'] = 0;
	$form['Iva'] = 0;
	$form['Totale'] = 0;
	$form['Ritenuta'] = 0;
	
		while ($a_row = dbms_fetch_array($rs_ordini_fattura))
		{
		$form['Iva'] = $form['Iva'] + $a_row['Prezzo'] * $a_row['Iva'] / 100 * $a_row['Protocollo'];
		$form['Imponibile'] = $form['Imponibile'] + $a_row['Prezzo'] * $a_row['Protocollo'];
		$form['Totale'] = $form['Imponibile'] + $form['Iva'];
		$form['Ritenuta'] = $form['Imponibile'] * $session['salvrite'] /100 ; 
		}
	
	// ripristino l'array
	// reset($a_row);
	$rs_ordini_fattura = dynQuery ('*', $orders_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITO'" );
	
	// faccio qualche operazione sulle date
	$data_fattura = ucwords(strftime("%d %B %Y", $session['ts_data_fattura']));
	$data_scadenza = ucwords(strftime("%d %B %Y", $session['ts_data_scadenza']));
	
	// ricavo il progressivo fattura -- e' solo temporaneo, il definitivo verra' inserito al momento
	// dell'inserimento della fattura per gestire le concorrenze
	$anno_riferimento = strftime("%Y");
	$rs_ultima_fattura = dynQuery("*", $invoices_table, "Data_Fattura like '%$anno_riferimento%'" , "ID_Fattura Desc" );
	$ultima_fattura = dbms_fetch_array($rs_ultima_fattura);
	
	$form['Prog_Fattura_Annuo'] = $ultima_fattura['Prog_Fattura_Annuo'] + 1;
	
	
	}	
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">



<html>

<head>

	<title>Fattura N.
	<? print  $form['Prog_Fattura_Annuo'] ."/". strftime("%Y"); ?>
	</title>
<STYLE>
.main {font-family : Arial; font-size : 12pt}
.info { font-family : Arial; font-style : italic; font-size : xx-small; background-color : #FFFFFF;}
.style1 {font-family: Eurostile}
.style3 {font-family: Eurostile; font-weight: bold; }
</STYLE>

</head>



<body>

<!-- inizio intestazione -->

<table width="100%">

<tr>
  <td align="left" valign="middle" width="7%" >&nbsp;</td>


			<td align="left" valign="middle" width="54%" >
			  <span class="style1">
			  <? if( file_exists ( "$image_dir/logo.jpg" ))
				{
						print "<img src=\"$image_dir/logo.jpg\" border=0>";
				}
				else
				{	
				print "<h1>".$azienda['Ragione_Sociale']."</h1>";
				}
			?>
		    </span>			</td>
			
			<td  width="12%"></td>
			
			<td width="27%" class="info">
			  <span class="style1">
			  <?  
			
			// riepilogo dati aziendali che possono essere messi anche nel footer
			
			echo $azienda['Indirizzo']."<BR>";

        		echo $azienda['CAP']." ". $azienda['Citta']." ". $azienda['Provincia'] ."<BR>";

				echo "Telefono ".$azienda['Telefono'] ." ";
				
				if (!($azienda['Telefono2'] == ""))
					{
					 echo "  ".$azienda['Telefono2'] ." ";
					}
				if (!($azienda['Telefono3'] == ""))
					{
					 echo "  ".$azienda['Telefono3'] ." ";
					}
				if (!($azienda['Cell'] == ""))
					{
					 echo "Mobile ".$azienda['Cell'] ."<br>";
					}
				if (!($azienda['Fax'] == ""))
					{
					 echo "Fax ".$azienda['Fax'] ."<br>";
					}
				if (!($azienda['E_mail'] == ""))
					{
					 echo "Email ".$azienda['E_mail'] ."<br>";
					}
				if (!($azienda['Web'] == ""))
					{
					 echo "Web ".$azienda['Web'] ."<br>";
					}
				if (!($azienda['PI'] == ""))
					{
					 echo "P. Iva ".$azienda['PI'] ."<br>";
					}
				if (!($azienda['CF'] == ""))
					{
					 echo "Cod. Fisc. ".$azienda['CF'] ."<br>";
					}

					
			?>
			  </span>
				

		</td>

  </tr>


</table>
	<table width="97%" cellpadding="10">
	<tr align="left">
	  <td width="4%" align="left" valign="top">&nbsp;</td>
	<td width="40%" align="left" valign="top"><div align="left">
	  <p align="left"><b><br>

        </b></p>
	  </div></td>
	<td width="16%" >&nbsp;</td>
	<td width="36%" bgcolor="#99CCFF" ><span class="style1">Spett.le<br>
        <b><?print $cliente['Ragione_Sociale']?> <br>
        <? Print $cliente["Indirizzo"] ?> <br>
        <? Print $cliente["CAP"] ?> <? Print $cliente["Citta"] ?> <? Print $cliente["Provincia"] ?> <br>
PI <? Print $cliente["PI"] ?> <br>
CF <? Print $cliente["CF"] ?>

        </b></span></td>
	<td width="4%" >
				<p align="left"><span class="style1"></span> </p>
	  </td>
	</tr>
	</table>


	<div align="center"></div>
	<table with="100%"  border="0">
		<tr>
			<td width="20%"></td>
			<td >

			<p class="style1">
		  <? print $azienda['Citta'].", ". $data_fattura  ?> </p>		  </td>
		</tr>
	</table>

	

<!-- fine intestazione -->

<!-- inizio corpo fattura -->

<table width="90%" align="center">

	<tr>
	  <td width="54%" class="style1"><u><b>FATTURA N. <? print $session['Prog_Fattura_Annuo'] ."/". strftime("%Y"); ?></b></u> </td>

		<td width="46%" class="style1">&nbsp;</td>

	</tr>

</table>

<table width="95%"  border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#000000" bgcolor="#99CCFF" class="FacetFormTABLE">

 <tr>
   <th width="7%" height="38" class="FacetFieldCaptionTD style1"> Ord.</th>
 
   <th width="10%" class="FacetFieldCaptionTD style1">Data</th>
   <th width="10%" bordercolor="#000000" class="FacetFieldCaptionTD style1">Quantit&aacute;</th>
   <th width="58%" bordercolor="#000000" class="FacetFieldCaptionTD style1">Descrizione</th>
   <th width="8%" class="FacetFieldCaptionTD style1">Prezzo</th>
   
   <th width="7%"  class="FacetFieldCaptionTD style1"> Iva % </th>
 </tr>
</table>
<table width="95%" height="450"  border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#000000" class="FacetFormTABLE">
<tr><td valign="top">
<table width="100%"   border="0" align="center" cellpadding="0" cellspacing="0" valign=top>
		<?php

	// visualizzo l'elenco degli ordini inseriti in fattura
		while ($a_row = dbms_fetch_array($rs_ordini_fattura))
			{
			// per il momento la gestione degli allegati e' rimandata
			$a_row["Allegato"] = "";
			
			print "<tr>";
		
			print "<td width=7% align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["ID_Ordine"]." &nbsp;</td>";
			print "<td width=10% align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["Data_Ordine"]." &nbsp;</td>";
			print"<td width=10% align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["Protocollo"]." &nbsp;</td><td width=56%            align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["Oggetto"]." &nbsp;</td>";
			print "<td width=8% align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["Prezzo"]." &nbsp;</td>";
			print "<td width=7% align=\"center\" valign=\"top\" class=\"FacetDataTD\">".$a_row["Iva"]." &nbsp;</td>";
			print "</tr>";
			}   

	
		?>
</table>
</td>
</tr>
</table>
<div align="center">  
  <table width="95%" height="53" class="FacetFormTABLE" border="0" cellpadding="3" cellspacing="1">
    <tr>
      <td width="25%" align="center" valign="top" bgcolor="#99CCFF"><div align="center" class="style1">
        <p><strong>Totale Imponibile</strong></p>
        <p>&euro; <? print formatEuro($form['Imponibile'])?></p>
      </div></td>
      <td width="22%" align="center" valign="top" bgcolor="#99CCFF"><p class="style1"><strong>Totale Imposta </strong></p>
      <p class="style1">&euro; <? print formatEuro($form['Iva'])?></p></td>
      <td width="14%" align="center" valign="top" bgcolor="#99CCFF" class="style1"><p><strong>Ritenuta 4% </strong></p>
      <p>&euro; <? print formatEuro($form['Ritenuta'])?></p></td>
      <td width="39%" align="center" valign="top" bgcolor="#99CCFF"><p class="style1"><strong>Totale Fattura </strong></p>
      <p class="style1">&euro; <? print formatEuro($form['Totale'])?></p></td>
    </tr>
  </table>
 <? $form['Totimp'] = $form['Totale']-$form['Ritenuta']; ?>
  <table width="95%" height="53" class="FacetFormTABLE" border="2" cellpadding="2" cellspacing="0" bordercolor="#FFFFFF">
    <tr>
      <td width="31%" align="center" valign="top" bgcolor="#99CCFF"><p class="style1"><strong>Scadenza Fattura</strong> <? print ucwords($data_scadenza) ?></p>
      <p class="style1"><strong>Pagamento:</strong> <? print $session['Tipo_Pagamento'] ?></p></td>
      <td width="31%" align="center" valign="top" bgcolor="#99CCFF"><p class="style1">
        <?
		 if (!$session['Note'] == "")
		 	{
		 	print " ". $session["Note"];
		 	}
		 ?>
      </p>      </td>
      <td width="26%" align="center" valign="top" bgcolor="#99CCFF"><p class="style3">Totale Netto Fattura </p>
      <p class="style3"> &euro; <? echo formatEuro($form['Totale']- $form['Ritenuta']) ?> </p></td>
    </tr>
  </table>
</div>
<br>
<table border="0" cellpadding="3" cellspacing="1" class="FacetFormTABLE" align="center" width = "90%">

<form method="post" action="<? print $PHP_SELF ?>">
<!-- flag di invio del modulo -->
<input type="Hidden" name="actionflag" value="Insert">
<input type="Hidden" name="ID_Cliente" value="<? print $session['ID_Cliente'] ?>">
<input type="Hidden" name="form[Prog_Fattura_Annuo] " value="<? print $session['Prog_Fattura_Annuo'] ?>">
<input type="Hidden" name="form[Imponibile]" value="<? print $form['Imponibile'] ?>">
<input type="Hidden" name="form[Iva]" value="<? print $form['Iva'] ?>">
<input type="Hidden" name="form[Totale]" value="<? print $form['Totale'] ?>">
<input type="Hidden" name="form[Ritenuta]" value="<? print $form['Ritenuta'] ?>">
<input type="Hidden" name="form[Totimp]" value="<? print $form['Totimp'] ?>">
<input type="Hidden" name="form[salvrite]" value="<? print $session['salvrite'] ?>">
<input type="Hidden" name="form[PI]" value="<? print $cliente['PI'] ?>">
<input type="Hidden" name="form[CF]" value="<? print $cliente['CF'] ?>">
<input type="Hidden" name="form[Ragione_Sociale]" value="<? print $session['Ragione_Sociale']?>">
<input type="Hidden" name="form[Descrizione]" value="<? print $session['Descrizione']?>">
<input type="Hidden" name="form[Note]" value="<? print $session['Note']?>">

<tr> 
 <td colspan="2" align="right" nowrap class="FacetFooterTD">
      <!-- BEGIN Button Insert --><input name="Insert" type="submit" value="Salva Fattura" class="FacetButton"><!-- END Button Insert -->
 </td>
 </form>
 </tr> 

 
 <tr>
 <td colspan="2" align="right" nowrap class="FacetFooterTD">
	<form action="Admin_Anteprima_Fattura.php" method="POST"> 
		<input type="Hidden" name="actionflag" value="Annulla">
	    <input name="Insert" type="submit" value="Annulla" class="FacetButton">
	</form>
 </td>

 </tr> 

</table>
  </form>






</body>

</html>

