/********************************************************************************
* Confronta i dati di tutti o di un agente rispetto ai dati dell'anno precedente
*********************************************************************************/
include ("../common/public.php") ;
// print_r($_GET + $_POST) ;
debug (0, "PROFILO = $profilo") ;
$nomemese = Array("", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre") ;
list($giorno, $mese) = explode("/", $gime) ;
$mese = $nomemese[ltrim($mese,"0")] ;
list($idag, $nome_agente) = explode("^", $agente) ;
if ($idag == 0)
{
if ($profilo < 3)
$where = "1" ;
else
$where = " idagenti != 4
and idagenti != 5
" ;
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mese per Tutti gli agenti" ;
}
else
{
$where = "A.idagenti = $idag" ;
$titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mese per l'agente $nome_agente" ;
}
debug (0, "AGENTE = $nome_agente ; HCONFRONTI = $hconfronti ; CLIENTE = $nome_cliente ; FORNITORE = $nome_forni") ;
$arrAgenti = array() ;
$arrVal = array() ;
/***********************
* partiamo dai totali
***********************/
$dataordineAnno = MySqlDate("$gime/$anno") ;
$annoP = $anno - 1 ;
$dataordineAnnoP = MySqlDate("$gime/$annoP") ;
for ($an = $anno ; $an >= $anno - 1; $an --)
{
$dataordine = MySqlDate("$gime/$an") ;
$query = "
select
A.idagenti,
A.nome,
count(O.idordini) as tot
from
agenti A
left join ordini O on O.idagente = A.idagenti and
O.anno = $an
where
O.dataordine <= '$dataordine' and
$where
group by
A.idagenti,
A.nome
order by
A.nome
" ;
list($n, $d) = $db->RecuperaDati($query) ;
for ($i=0; $i<$n; $i++)
{
$idagente = $d['idagenti'][$i] ;
$nomeagente = $d['nome'][$i] ;
$qualeAnno = $d['Anno'][$i] ;
if (! array_key_exists($idagente, $arrAgenti))
{
$arrAgenti[$idagente] = $nomeagente ;
$arrVal[$idagente]['NUMORDINI'][$anno] = 0 ;
$arrVal[$idagente]['NUMORDINI'][($anno - 1)] = 0 ;
$arrVal[$idagente]['VENDUTO'][$anno] = 0 ;
$arrVal[$idagente]['VENDUTO'][($anno - 1)] = 0 ;
$arrVal[$idagente]['FATTURATO'][$anno] = 0 ;
$arrVal[$idagente]['FATTURATO'][($anno - 1)] = 0 ;
}
$arrVal[$idagente]['NUMORDINI'][$an] = $d['tot'][$i] ;
}
}
/**********************
* calcoliamo i totali
**********************/
for ($an = $anno ; $an >= $anno - 1; $an --)
{
$dataordine = MySqlDate("$gime/$an") ;
$dataspedfatt = str_replace("/", "-", $dataordine) ;
$dbt = new FC_SQL ;
$dbord = new FC_SQL ;
@reset($arrAgenti) ;
foreach($arrAgenti as $id_agente => $nome_agente)
{
$totforn = 0 ;
$totfornFatt = 0 ;
$totproforn = 0 ;
$qord = "
select
*,
case
when (ImportoNC > 0) then (ImportoNC / 1.2)
else 0
end as valNC
from
ordini
where
Anno = $an and
idagente = $id_agente and
dataordine <= '$dataordine'
" ;
list($n, $d) = $dbord->RecuperaDati($qord) ;
for ($i=0; $i<$n; $i++)
{
$totordine = 0 ;
$sco1 = $d['Sconto1'][$i] ;
$sco2 = $d['Sconto2'][$i] ;
$sco3 = $d['Sconto3'][$i] ;
$idordine = $d['IdOrdini'][$i] ;
$valNC = $d['valNC'][$i] ;
$idfor = $d['IdFornitore'][$i] ;
$impFatt = $d['ImportoFattura'][$i] ;
$dataSpedFatt = $d['DataSpedFattura'][$i] ;
if ($idfor != $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)" ;
list($nn, $dd) = $dbt->RecuperaDati($query) ;
for ($ii=0; $ii<$nn; $ii++)
{
$impparz = $dd['NumCartoni'][$ii] * $dd['ConfezioniDa'][$ii] * $dd['PrezzoUnitario'][$ii] ;
if ($dd['ScontoPrd'][$ii] != "")
$impparz = CalcolaScontoProdotto($impparz, $dd['ScontoPrd'][$ii]) ;
$totordine += $impparz ;
}
$sconto1 = ($totordine * $sco1 / 100) ;
$ammpro1 = $totordine - $sconto1 ;
$sconto2 = ($ammpro1 * $sco2 / 100) ;
$ammpro2 = $ammpro1 - $sconto2 - $valNC;
/****************************************************************************************************************
* Calcolo a questo punto l'ammontare delle provvigioni per questo ordine dopo aver sottratto dall'imponibile gli
* eventuali 2 sconti forniti dal fornitore e l'eventuale ammontare della nota di credito. Idem per il fatturato
*****************************************************************************************************************/
$provvigione = $arrProvv[$an][$idfor][$id_agente] ;
$totproordine = ($ammpro2 * $provvigione / 100) ;
$sconto = $sconto1 + $sconto2 ;
$totordine = $totordine - $sconto - $valNC;
$totforn += $totordine ;
$totproforn += $totproordine ;
if ($impFatt > 0 and $dataSpedFatt <= $dataspedfatt)
$totfornFatt += $totordine ;
}
$arrVal[$id_agente]['FATTURATO'][$an] += $totfornFatt ;
$arrVal[$id_agente]['VENDUTO'][$an] += $totforn ;
}
}
$str = "