/**************************************************************
* comp_prodotti_sarzi
* cerca di eseguire un confronto dei prodotti venduti per SARZI
* rispetto all'anno prima e al giorno scelto
**************************************************************/
include ("../common/public.php") ;
$nomemese = Array("", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre") ;
list($giorno, $mese) = split("/", $gime) ;
$mesevis = $nomemese[ltrim($mese,"0")] ;
$dbp = new FC_SQL ;
$valori = array() ;
$anno_prec = ($anno - 1) ;
$dataordine = MySqlDate("$gime/$anno_prec") ;
list($azienda, $nome_fn) = split("\^", stripslashes($azienda)) ;
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mesevis per i prodotti del Fornitore
$nome_fn" ;
/*
* mi ricavo il nome dell'azienda per andare a recuperare nell'anno prima
* la stessa azienda
*/
$q = "
select
A.IdFornitori as ID_ANNO_PRIMA,
A.nome as NOME_ANNO_PRIMA,
B.nome as NOME_ANNO
from
fornitori_$anno_prec A,
fornitori_$anno B
where
B.IdFornitori = $azienda and
B.Nome = A.Nome
" ;
$db->query($q) ;
if ( $db->num_rows() > 0 )
{
/*
* i nomi dell'azienda nelle due annate coincidono
*/
while ($db->next_record())
{
$id_a_p = $db->f("ID_ANNO_PRIMA") ;
$nome_a_p = $db->f("NOME_ANNO_PRIMA") ;
$nome_a = $db->f("NOME_ANNO") ;
/*
* recupero i prodotti dell'anno precedente
*/
$query = "
SELECT
A.IdOrdine,
A.IdProdotto,
SUBSTRING(A.IdProdotto, 3) AS IdProSarzi,
(A.NumCartoni * A.ConfezioniDa) AS NumBottPerOrdine,
(B.PrezzoUnitario * A.NumCartoni * A.ConfezioniDa) AS EuroPerOrdine,
B.Nome,
B.Nome,
SUBSTRING(B.Nome, 1, 6) AS CodSarzi,
C.DataOrdine,
C.DataSpedFattura,
(TO_DAYS('$dataordine') - TO_DAYS(C.DataSpedFattura)) as DIFFGG
FROM
dettagli_$anno_prec A,
sarzi_$anno_prec B,
ordini_$anno_prec C
WHERE
A.IdProdotto LIKE 'SA%' AND
B.IdProdotti = SUBSTRING( A.IdProdotto, 3) AND
A.IdOrdine = C.IdOrdini AND
C.dataordine <= '$dataordine'
ORDER BY
B.Nome ASC
" ;
$dbp->query($query) ;
while ($dbp->next_record())
{
$n_p = trim(stripslashes($dbp->f("Nome"))) ;
$nome_pro = $dbp->f("CodSarzi") ;
$num_bott = $dbp->f("NumBottPerOrdine") ;
$data_ordine = $dbp->f("DataOrdine") ;
$data_sped_fatt = $dbp->f("DataSpedFattura") ;
$diffgg = $dbp->f("DIFFGG") ;
$tot_per_ordine = $dbp->f("EuroPerOrdine") ;
if (! array_key_exists($nome_pro, $valori))
{
$pro_nome[] = $n_p ;
$valori[$nome_pro] = array("$anno_prec" => array ('nome' => $n_p ,
'num_bott_vend' => 0,
'num_bott_fatt' => 0,
'in_cifre_vend' => 0,
'in_cifre_fatt' => 0),
"$anno" => array ('nome' => '',
'num_bott_vend' => 0,
'num_bott_fatt' => 0,
'in_cifre_vend' => 0,
'in_cifre_fatt' => 0)) ;
}
$valori[$nome_pro]["$anno_prec"]['num_bott_vend'] += $num_bott ;
$valori[$nome_pro]["$anno_prec"]['in_cifre_vend'] += $tot_per_ordine ;
/*
* se diffgg è negativo allora vuol dire che la data di fatturazione
* è superiore alla data dell'anno prima in cui sto facendo il confronto
*/
if ($diffgg >= 0)
{
$valori[$nome_pro]["$anno_prec"]['num_bott_fatt'] += $num_bott ;
$valori[$nome_pro]["$anno_prec"]['in_cifre_fatt'] += $tot_per_ordine ;
}
}
/*
* recupero i prodotti per l'anno in corso
*/
$dataordine = MySqlDate("$gime/$anno") ;
$query = "
SELECT
A.IdOrdine,
A.IdProdotto,
SUBSTRING(A.IdProdotto, 3) AS IdProSarzi,
(A.NumCartoni * A.ConfezioniDa) AS NumBottPerOrdine,
(B.PrezzoUnitario * A.NumCartoni * A.ConfezioniDa) AS EuroPerOrdine,
B.Nome,
SUBSTRING(B.Nome, 1, 6) AS CodSarzi,
C.DataOrdine,
C.DataSpedFattura,
(TO_DAYS('$dataordine') - TO_DAYS(C.DataSpedFattura)) as DIFFGG
FROM
dettagli_$anno A,
sarzi_$anno B,
ordini_$anno C
WHERE
A.IdProdotto LIKE 'SA%' AND
B.IdProdotti = SUBSTRING( A.IdProdotto, 3) AND
A.IdOrdine = C.IdOrdini AND
C.dataordine <= '$dataordine'
ORDER BY
B.Nome ASC
" ;
$dbp->query($query) ;
while ($dbp->next_record())
{
$n_p = trim(stripslashes($dbp->f("Nome"))) ;
$nome_pro = $dbp->f("CodSarzi") ;
$num_bott = $dbp->f("NumBottPerOrdine") ;
$data_ordine = $dbp->f("DataOrdine") ;
$data_sped_fatt = $dbp->f("DataSpedFattura") ;
$diffgg = $dbp->f("DIFFGG") ;
$tot_per_ordine = $dbp->f("EuroPerOrdine") ;
if (! array_key_exists($nome_pro, $valori))
{
$valori[$nome_pro] = array("$anno_prec" => array ('nome' => '',
'num_bott_vend' => 0,
'num_bott_fatt' => 0,
'in_cifre_vend' => 0,
'in_cifre_fatt' => 0),
"$anno" => array ('nome' => $n_p,
'num_bott_vend' => 0,
'num_bott_fatt' => 0,
'in_cifre_vend' => 0,
'in_cifre_fatt' => 0)) ;
}
$valori[$nome_pro]["$anno"]['nome'] = $n_p ;
$valori[$nome_pro]["$anno"]['num_bott_vend'] += $num_bott ;
$valori[$nome_pro]["$anno"]['in_cifre_vend'] += $tot_per_ordine ;
/*
* se diffgg è negativo allora vuol dire che la data di fatturazione
* è superiore alla data dell'anno prima in cui sto facendo il confronto
*/
if ($diffgg >= 0)
{
$valori[$nome_pro]["$anno"]['num_bott_fatt'] += $num_bott ;
$valori[$nome_pro]["$anno"]['in_cifre_fatt'] += $tot_per_ordine ;
}
}
}
ksort($valori) ;
@reset($valori) ;
?>
![]() |
echo $titolo ?> | ||||||
| VENDUTO | FATTURATO | ||||||
| echo $anno_prec ?> | echo $anno ?> | Differenza | echo $anno_prec ?> | echo $anno ?> | Differenza | ||
| echo $nome_vis ?> | Num Bott | echo $arr_anni[$anno_prec]['num_bott_vend'] ?> | echo $arr_anni[$anno]['num_bott_vend'] ?> | echo $arr_anni[$anno]['num_bott_vend'] - $arr_anni[$anno_prec]['num_bott_vend'] ?> | echo $arr_anni[$anno_prec]['num_bott_fatt'] ?> | echo $arr_anni[$anno]['num_bott_fatt'] ?> | echo $arr_anni[$anno]['num_bott_fatt'] - $arr_anni[$anno_prec]['num_bott_fatt'] ?> |
| In Cifre | echo nfe($arr_anni[$anno_prec]['in_cifre_vend']) ?> | echo nfe($arr_anni[$anno]['in_cifre_vend']) ?> | echo nfe($arr_anni[$anno]['in_cifre_vend'] - $arr_anni[$anno_prec]['in_cifre_vend']) ?> | echo nfe($arr_anni[$anno_prec]['in_cifre_fatt']) ?> | echo nfe($arr_anni[$anno]['in_cifre_fatt']) ?> | echo nfe($arr_anni[$anno]['in_cifre_fatt'] - $arr_anni[$anno_prec]['in_cifre_fatt']) ?> | |