include ("../common/public.php") ;
// print_r($_POST) ; // exit ;
/***********************************************************************************************
* l'id del fornitore di cui calcolare il dettaglio delle aziende collegate viene passato come
* parametro
***********************************************************************************************/
$dbor = new FC_SQL ;
$dbt = new FC_SQL ;
$totfornitori = 0 ;
$q = "
select
F.nome as NomeFornitore,
F.IdFornitori,
F.Provvigione,
A.IdAziende,
A.Nome
from
$tfornitori F
left join relfornitoriaziende RFA on RFA.idfornitore = F.idfornitori
left join $taziende A on A.idaziende = RFA.idazienda
where
F.idfornitori = $idfornitore and
RFA.Anno = '$anno'
order by
A.Nome
" ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
$idazienda = $d['IdAziende'][$i] ;
$nomeazienda = $d['Nome'][$i] ;
$totfornitori ++ ;
$totazienda = 0 ;
$totproforn = 0 ;
$nomefornitore = $d['NomeFornitore'][$i] ;
$idfor = $d["IdFornitori"][$i] ;
$provvigione = $d["Provvigione"][$i] ;
$arrIdOrdiniNc = array() ;
$qord = "
select
O.*,
D.*,
P.*
from
$tordini O
inner join $tdettagli D on D.idordine = O.idordini
inner join $tprodotti P on P.idprodotti = D.idprodotto and P.aziendacollegata = $idazienda
where
O.idfornitore = $idfor and
O.importofattura > 0
order by
O.idordini
" ;
list($nord, $dbord) = $dbor->RecuperaDati($qord) ;
for ($j=0; $j<$nord; $j++)
{
$totordine = 0 ;
$sco1 = $dbord["Sconto1"][$j] ;
$sco2 = $dbord["Sconto2"][$j] ;
$sco3 = $dbord["Sconto3"][$j] ;
$idordine = $dbord["IdOrdini"][$j] ;
/*********************************************************************
* cosa bisogna fare della nota di credito? Viene assegnata alla prima
* azienda collegata trovata
**********************************************************************/
$importoNC = $dbord["ImportoNC"][$j] ;
if ($importoNC > 0 and !in_array($idordine, $arrIdOrdiniNc))
{
$totValNC += ($importoNC / 1.2) ;
$arrIdOrdiniNc[] = $idordine ;
}
$valNC = 0 ;
$impparz = $dbord["NumCartoni"][$j] * $dbord["ConfezioniDa"][$j] * $dbord["PrezzoUnitario"][$j] ;
if ($dbord["ScontoPrd"][$j] != "")
$impparz = CalcolaScontoProdotto($impparz, $dbord["ScontoPrd"][$j]) ;
// PRIMA $totordine += $impparz ;
$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
*************************************************************/
$totproordine = ($ammpro2 * $provvigione / 100) ;
$sconto = $sconto1 + $sconto2 ;
$totordine = $totordine - $sconto - $valNC;
$totazienda += $totordine ;
$totproforn += $totproordine ;
debug (0, "TOT AZIENDA = $totazienda") ;
}
$gtotal += $totazienda ;
$gtotalpro += $totproforn ;
$item[0][] = htmlspecialchars($nomeazienda) ;
$item[1][] = $totazienda ;
$item[2][] = $provvigione ;
$item[3][] = $totproforn ;
$item[4][] = $idfor ;
}
/******************************************************************************************
* alla prima azienda tolgo eventualmente le note di credito e quindi adeguo i vari totali
******************************************************************************************/
if ($totValNC > 0)
{
$pp = ($totValNC * $item[2][0] / 100) ;
$item[0][0] .= " (*)" ;
$item[1][0] -= $totValNC ;
$item[3][0] -= $pp ;
$gtotal -= $totValNC ;
$gtotalpro -= $pp ;
}
$str = "
| Venduto | Fatturato |