/********************************************************************************
* Confronta i dati di tutti o di un fornitore rispetto ai dati dell'anno precedente
*********************************************************************************/
include ("../common/public.php") ;
// print_r($_GET + $_POST) ; exit ;
$nomemese = Array("", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre") ;
list($giorno, $mese) = explode("/", $gime) ;
$mesevis = $nomemese[ltrim($mese,"0")] ;
$where_for = $where_cli = "1=1" ;
/********************************************
* mi recupero gli id e i nomi dei fornitori
********************************************/
$idFor = $id_for ;
$nomiFor = $nomi_for ;
$id_for = substr($id_for, 0, -1);
$nomi_for = substr($nomi_for, 0, -1);
if ($id_for == 0) // HO SCELTO TUTTI
{
$where_for = "F.IdFornitori like ('%')" ;
}
else
{
$where_for = "F.IdFornitori IN (" . str_replace("£", ",", $id_for) . ")" ;
$in_nomi_for = str_replace("£", ", ", $nomi_for) ;
}
/******************************************************************************
* cerco di capire che tipo di operazione č stata richiesta
******************************************************************************/
if ($htipo == 1)
{
if ($id_for == 0) // TUTTI
{
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per Tutti i Fornitori" ;
}
else
{
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno" ;
}
}
elseif ($htipo == 2 )
{
list($id_cliente, $nome_cliente) = explode("^", stripslashes($cliente)) ;
$where_cli = "O.idcliente = $id_cliente" ;
if ($id_for == 0) // TUTTI
{
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per Tutti i Fornitori
verso il Cliente $nome_cliente" ;
}
else
{
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno
verso il Cliente $nome_cliente" ;
}
}
/*****************************************************************************
* Devo calcolare qui quanti sono ifornitori
******************************************************************************/
for ($an = ($anno - 1) ; $an <= $anno; $an ++)
{
/**************************************
* Mi ricavo gli id di tutti i fornitori
***************************************/
$db->query("
select
F.*
from
fornitori F
where
$where_for
order by
nome
") ;
while ($db->next_record())
$fn[$db->f('IdFornitori')] = $db->f('Nome') ;
}
asort($fn) ;
/*********************************************************************************************
* cerco di eseguire la query una sola volta e di ricavarmi tutti i valori che mi servono
* A questo punto ho gią l'array dei fornitori
*********************************************************************************************/
unset($valori) ;
for ($an = ($anno - 1) ; $an <= $anno; $an ++)
{
$dataordine = MySqlDate("$gime/$an") ;
$dbt = new FC_SQL ;
$dbord = new FC_SQL ;
@reset($fn) ;
foreach($fn as $id_fn => $nome_fn)
{
$valori[$nome_fn]['ID_FOR'] = $id_fn ;
$valori[$nome_fn]['NUMORD'][$an] = 0 ;
$valori[$nome_fn]['VENDUTO'][$an] = 0 ;
$valori[$nome_fn]['FATT'][$an] = 0 ;
$totforn = 0 ;
$totfatt = 0 ;
$qord = "
select
O.*,
(TO_DAYS('$dataordine') - TO_DAYS(O.DataSpedFattura)) as DIFFGG
from
ordini O
where
O.Anno = $an and
O.idfornitore = $id_fn and
O.dataordine <= '$dataordine' and
$where_cli
" ;
debug (0, $qord) ;
$dbord->query($qord) ;
while ($dbord->next_record())
{
$valori[$nome_fn]['NUMORD'][$an] += 1 ;
$totordine = 0 ;
$impfatt = $dbord->f("ImportoFattura") ;
$datasf = $dbord->f("DataSpedFattura") ;
$diffgg = $dbord->f("DIFFGG") ;
$sco1 = $dbord->f("Sconto1") ;
$sco2 = $dbord->f("Sconto2") ;
$sco3 = $dbord->f("Sconto3") ;
$idordine = $dbord->f("IdOrdini") ;
$importoNC = $dbord->f("ImportoNC") ;
if ($importoNC > 0)
$valNC = ($importoNC / 1.2) ;
else
$valNC = 0 ;
if ($id_fn != $idsarzi)
$query = "
select
*
from
dettagli D,
prodotti P
where
P.Anno = $an and
D.Anno = $an and
D.idordine = $idordine and
P.idprodotti = D.idprodotto " ;
else
$query = "select * from dettagli_$an, sarzi_$an where dettagli_$an.idordine = $idordine and dettagli_$an.idprodotto = CONCAT('SA', idprodotti)" ;
debug (0, $query) ;
$dbt->query($query) ;
while ($dbt->next_record())
{
if ($dbt->f('PrezzoForzato') > 0)
$prezzoDaConsiderare = $dbt->f('PrezzoForzato') ;
else
$prezzoDaConsiderare = $dbt->f('PrezzoUnitario') ;
$impparz = $dbt->f("NumCartoni") * $dbt->f("ConfezioniDa") * $prezzoDaConsiderare ;
if ($dbt->f("ScontoPrd") != "")
$impparz = CalcolaScontoProdotto($impparz, $dbt->f("ScontoPrd")) ;
$totordine += $impparz ;
}
$sconto1 = ($totordine * $sco1 / 100) ;
$ammpro1 = $totordine - $sconto1 ;
$sconto2 = ($ammpro1 * $sco2 / 100) ;
$ammpro2 = $ammpro1 - $sconto2 - $valNC;
$sconto = $sconto1 + $sconto2 ;
$totordine = $totordine - $sconto - $valNC;
$totforn += $totordine ;
if ($impfatt > 0 and $diffgg >= 0 and $datasf != "0000-00-00")
$totfatt += $totordine ;
}
$valori[$nome_fn]['VENDUTO'][$an] += $totforn ;
if ($totfatt > 0)
$valori[$nome_fn]['FATT'][$an] += $totfatt ;
}
}
@reset($fn) ;
$annop = ($anno - 1) ;
$arrParGen = array() ;
$arrParGen = RecuperaParametriGenerali($arrParGen, $tparametri) ;
$nome = $arrParGen['NomeAgenzia'] ;
$sede = "Sede operativa: " . $arrParGen['IndirizzoAgenzia'] ;
$datisede = "Telefono: " . $arrParGen['TelefonoAgenzia'] .
" Fax: " . $arrParGen['FaxAgenzia'] .
" -- P.I. " . $arrParGen['PartitaIvaAgenzia'] ;
$emailsede = "Email: " . $arrParGen['MailAgenzia'] ;
?>
![]() |
echo $sede ?> echo $datisede ?> echo $emailsede ?> |
||||
| echo $titolo ?> | ||||||||
| al echo Date("d/m/Y") ?> | ||||||||
| Fornitore: | echo htmlspecialchars($nome_fn) ?> | |||||||
| Numero Ordini | Venduto | Fatturato | ||||||
| echo $annop ?> | echo $anno ?> | Differenza | echo $annop ?> | echo $anno ?> | Differenza | echo $annop ?> | echo $anno ?> | Differenza |
| echo $arr_valori['NUMORD'][$annop] ?> | echo $arr_valori['NUMORD'][$anno] ?> | echo "$diffno ($diffnoper%)" ?> |
echo nfp($arr_valori['VENDUTO'][$annop]) ?> | echo nfp($arr_valori['VENDUTO'][$anno]) ?> | echo nfp($diffve) . " (" . nfp($diffveper) . "%)" ?> |
echo nfp($arr_valori['FATT'][$annop]) ?> | echo nfp($arr_valori['FATT'][$anno]) ?> | echo nfp($difffa) . " (" . nfp($difffaper) . "%)" ?> |