<?
include("dblib.inc");
include("clublib.inc");
checkAdmin();
$message = "";
if (isset($actionflag))
{
// nella generazione delle fatture il progressivo annuo si resetta quando cambia l'anno di riferimento.
// il sistema quindi inserisce il progressivo in un campo incrementale controllando l'anno:
// quando cambia l'anno della data emissione fattura, il progressivo riparte da 1
// questo metodo comporta un controllo aggiuntivo sul progressivo, ovvero non deve essere inserito un
// progressivo in tabella se l'ultimo progressivo inserito ha una data successiva alla data fattura attuale.
// Ha come vantaggio la possibilita' di non dover azzerare i contatori o rimuovere le fatture dell'anno
// precedente ad inizio anno, consentendo una maggior continuita' fra gli esercizi.
// controllo che i dati della fattura siano giusti, quindi passo all'anteprima
// controllo che l'imponibile non sia 0
if ($form['Prog_Fattura_Annuo'] == "")
{
$message = "Non hai Inserito il numero fattura!<br>";
}
if ($form['Imponibile'] == 0)
{
$message = "L'imponibile della fattura non può essere nullo!<br>";
}
// controllo che sia inserito il tipo pagamento
if ($form['Tipo_Pagamento'] == "")
{
$message .= "Devi selezionare un metodo di pagamento!<br>";
}
// controllo che siano inserite e corrette le date fattura e scadenza fattura
if (!checkdate( $mese, $giorno, $anno))
$message .= "La data fattura $giorno-$mese-$anno non è corretta! <br>";
if ( !checkdate( $mese_scadenza, $giorno_scadenza, $anno_scadenza))
$message .= "La data scadenza fattura $giorno_scadenza-$mese_scadenza-$anno_scadenza non è corretta! <br>";
// controllo che la scadenza non sia inferiore alla data
$ts_data_fattura = mktime(0,0,0,$mese,$giorno,$anno);
$ts_data_scadenza = mktime(0,0,0,$mese_scadenza,$giorno_scadenza,$anno_scadenza);
if ( $ts_data_fattura > $ts_data_scadenza )
$message .= "La data scadenza fattura non può essere inferiore alla data fattura !<br>";
// controllo che l'ultima fattura inserita non abbia data successiva alla presente
$rs_ultima_fattura = dynQuery("*", $invoices_table, 1, "ID_Fattura Desc" );
$ultima_fattura = dbms_fetch_array($rs_ultima_fattura);
if ($ultima_fattura)
$ts_ultima_fattura = strtotime ($ultima_fattura['Data_Fattura']);
else $ts_ultima_fattura = 0; // se e' la prima fattura metto il time stamp a 0
if ( $ts_data_fattura < $ts_ultima_fattura )
$message .= "La data dell'ultima fattura emessa (".strftime("%d %B %Y", $ts_ultima_fattura).") non può essere superiore alla data fattura !<br>";
// se tutto ok, procedo con la visualizzazione dell'anteprima
if ($message == "")
{
// trasformo i parametri da passare in var di sessione
$session['Tipo_Pagamento'] = $form['Tipo_Pagamento'];
$session['Ragione_Sociale'] = $form['Ragione_Sociale'];
$session['PI'] = $form['PI'];
$session['CF'] = $form['CF'];
$session['ID_Banca'] = $form['ID_Banca'];
$session['ts_data_fattura'] = $ts_data_fattura;
$session['ts_data_scadenza'] = $ts_data_scadenza;
$session['Descrizione'] = $form['Descrizione'];
$session['Causale'] = $form['Causale'];
$session['salvrite'] = $form['salvrite'];
$session['Prog_Fattura_Annuo'] = $form['Prog_Fattura_Annuo'];
$session['ora_ddt'] = $form['ora_ddt'];
$session['per_dest'] = $form['per_dest'];
$session['ind_dest'] = $form['ind_dest'];
$session['citt_dest'] = $form['citt_dest'];
$session['aspet_ben'] = $form['aspet_ben'];
$session['num_colli'] = $form['num_colli'];
$session['tip_sped'] = $form['tip_sped'];
$session['vett_sped'] = $form['vett_sped'];
$session['Note'] = $form['Note'];
header ("Location: Admin_Anteprima_Fattura_Mese.php");
exit;
}
}
if (isset($ID_Ordine)) // aggiunta / rimozione dell'ordine in fattura
{
// recupero tutti i dati dell'ordine
$ordine = getRow($orders_table, "ID_Ordine", $ID_Ordine);
$ordine = array_merge($ordine, getRow($customers_table, "ID_Cliente", $session['ID_Cliente']));
// cambio status
if ($ordine['Status'] == 'INSERITODDT')
{
$ordine['Status'] = "IN PAGAMENTO";
}
else
{
$ordine['Status'] = "INSERITODDT";
}
$result = orderUpdate($ID_Ordine, $session['ID_Cliente'], $ordine['Protocollo'], $ordine['Oggetto'], $ordine['ID_Fattura'], $ordine['Data_Ordine'], $ordine['Data_Scadenza'], $ordine['Tipo_Pagamento'], $ordine['Prezzo'], $ordine['Iva'], $ordine['Ragione_Sociale'], $ordine['Cognome'], $ordine['Nome'], $ordine['PI'], $ordine['CF'], $ordine['Indirizzo'], $ordine['Citta'], $ordine['CAP'], $ordine['Provincia'], $ordine['Telefono'], $ordine['Fax'], $ordine['E_mail'], $ordine['Status']);
}
if (!isset($actionflag) || !($message == ""))
{
// recupero i dati del cliente
$cliente = getRow($customers_table, "ID_Cliente", $session['ID_Cliente']);
// relativi ordini non ancora fatturati
$rs_DDT = dynQuery ('*', $DDT_table, "ID_Cliente = $session[ID_Cliente] and Status <> 'FATTURATO' and Status <> 'INSERITODDT' and Status <> 'CONFERMATO' and Scadenza = '$session[Data_Scadenza]'" );
// e gli ordini inseriti in fattura
$rs_DDT_fattura = dynQuery ('*', $DDT_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITODDT' and Scadenza = '$session[Data_Scadenza]'" );
// inizializzo le note
if (!isset($form['Note']))
$form['Note'] = "";
// il tipo pagamento
if (!isset($form['Tipo_Pagamento']))
$form['Tipo_Pagamento'] = "";
if (!isset($form['ID_Banca']))
$form['ID_Banca'] = "";
// calcolo l'imponibile, iva e totale
$form['Imponibile'] = 0;
$form['Iva'] = 0;
$form['Totale'] = 0;
while ($a_row = dbms_fetch_array($rs_DDT_fattura))
{
$form['Iva'] = $form['Iva'] + $a_row['Iva'];
$form['Imponibile'] = $form['Imponibile'] + $a_row['Imponibile'] ;
$form['Totale'] = $form['Totale'] + $a_row['Totale'];
}
$form['Totale'] = number_format($form['Totale'], 2, '.', '');
$form['Iva'] = number_format($form['Iva'], 2, '.', '');
$form['Imponibile'] = number_format($form['Imponibile'], 2, '.', '');
// ripristino l'array
$rs_DDT_fattura = dynQuery ('*', $DDT_table, "ID_Cliente = $session[ID_Cliente] and Status = 'INSERITODDT' and Scadenza = '$session[Data_Scadenza]'" );
// se e' il primo caricamento inizializzo le vars
if ($message == "")
{
$giorno = "";
$mese = "";
$anno = "";
$giorno_scadenza = "";
$mese_scadenza = "";
$anno_scadenza = "";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Composizione Fattura Mese</title>
<link rel="stylesheet" type="text/css" href="Themes/Facet/Style.css">
<style type="text/css">
<!--
.style1 {color: #FF0000}
-->
</style>
</head>
<body bgcolor="#FFFFFF" link="#504C43" alink="#000000" vlink="#504C43" text="#000000">
<?
include("Header.php");
?>
<div align="center"> DDT del mese
</div>
<table border="0" cellpadding="3" cellspacing="1" class="FacetFormTABLE" align="center" width = "90%">
<tr>
<th class="FacetFieldCaptionTD">DDT N. </th>
<th class="FacetFieldCaptionTD">Cliente </th>
<th class="FacetFieldCaptionTD">Data </th>
<th class="FacetFieldCaptionTD">Status </th>
</tr>
<?php
// visualizzo l'elenco degli ordini inseriti in fattura
while ($a_row = dbms_fetch_array($rs_DDT_fattura))
{
// per il momento la gestione degli allegati e' rimandata
print "<tr>";
print "<td class=\"FacetDataTD\">".$a_row["Prog_DDT_Annuo"]." </td>";
print "<td class=\"FacetDataTD\">".$a_row["Ragione_Sociale"]." ".$a_row["Cognome"]." </td><td class=\"FacetDataTD\">".$a_row["Data_DDT"]." </td>";
print "<td class=\"FacetDataTD\">".$a_row["Status"]." </td>";
print "</tr>";
}
?>
</table>
<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="Anteprima">
<input type="Hidden" name="ID_Cliente" value="<? print $session['ID_Cliente'] ?>">
<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[PI]" value="<? print $cliente['PI'] ?>">
<input type="Hidden" name="form[CF]" value="<? print $cliente['CF'] ?>">
<input type="Hidden" name="form[Ragione_Sociale]" value="<? print $cliente['Ragione_Sociale']?>">
<!-- BEGIN Error -->
<tr>
<td colspan="2" class="FacetDataTD">
<?php
if (! $message == "")
{
print "$message";
}
?>
<span class="style1">**</span> Inserire solo se luogo di destinazione diverso.</td>
</tr>
<!-- END Error -->
<tr>
<td class="FacetFieldCaptionTD">Numero Fattura </td>
<td class="FacetDataTD"><input name="form[Prog_Fattura_Annuo]" type="text" size="6" maxlength="6"></td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Ragione Sociale </td>
<td class="FacetDataTD"><input type="text" name="form[Ragione_Sociale]" disabled value="<?php print $cliente['Ragione_Sociale']?>" maxlength="100" size="50" class="FacetInput"> </td>
</tr>
<input type="hidden" name="form[Descrizione]" value="<?php print $cliente['Cognome']?>">
<tr>
<td class="FacetFieldCaptionTD">Data Fattura</td> </td>
<td class="FacetDataTD">
<?
// inserisco il select box per il campo data
$select_data = new selectDate("giorno", "mese", "anno");
$select_data -> daySelected($giorno);
$select_data -> monthSelected($mese);
$select_data -> yearSelected($anno);
$select_data -> output();
?>
</td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Imponibile </td><td class="FacetDataTD"><input type="text" name=form[Imponibile] disabled value="<? print $form['Imponibile']?>" maxlength="100" size="50" class="FacetInput"> </td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Iva </td><td class="FacetDataTD"><input type="text" name=form[Iva] disabled value="<? print $form['Iva'] ?>" maxlength="100" size="50" class="FacetInput"> </td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Totale </td><td class="FacetDataTD"><input type="text" name=form[Totale] disabled value="<? print $form['Totale'] ?>" maxlength="100" size="50" class="FacetInput"> </td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Ritenuta</td>
<td class="FacetDataTD"><input name="form[salvrite]" type="text" id="salrit" size="4" maxlength="4"></td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Tipo Pagamento * </td>
<td class="FacetDataTD">
<?
// inserisco il select box per il campo tipo pagamento
$select_pagamento = new selectPagamento();
$select_pagamento -> addSelectName("form[Tipo_Pagamento]");
$select_pagamento -> addSelected($form["Tipo_Pagamento"]);
$select_pagamento -> output();
?>
</td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Banca</td> </td>
<td class="FacetDataTD">
<?
$selectBank = new selectBank("form[ID_Banca]");
$selectBank -> addSelected($form['ID_Banca']);
$selectBank -> output();
?>
</td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Scadenza Fattura</td> </td>
<td class="FacetDataTD">
<?
// inserisco il select box per il campo data
$select_data = new selectDate("giorno_scadenza", "mese_scadenza", "anno_scadenza");
$select_data -> daySelected($giorno_scadenza);
$select_data -> monthSelected($mese_scadenza);
$select_data -> yearSelected($anno_scadenza);
$select_data -> output();
?>
</td>
</tr>
<tr>
<td class="FacetFieldCaptionTD">Note </td><td class="FacetDataTD"><textarea name="form[Note]" cols="40" rows="5" class="FacetInput"><? echo " Banca : "; ?></textarea></td>
</tr>
<tr>
<td colspan="2" align="right" nowrap class="FacetFooterTD">
<!-- BEGIN Button Insert --><input name="Insert" type="submit" value="Anteprima Fattura" class="FacetButton"><!-- END Button Insert -->
</td>
</form>
</table>
</body>
</html>