/*******************************************************************************************************
* controllo per ogni agente quant'è la cifra enasarco che gli è stata versata nell'anno solare.
* Da considerare che ci possono essere delle provvigioni che si riferiscono all'anno solare precedente.
* Per questo bisogna considerare il campo AnnoCompetenza. Allora il calcolo viene effettuato considerando
* anche le provvigioni dell'anno prima (rispetto all'anno selezionato)
* VERSIONE 3.0 READY
********************************************************************************************************/
include ("../common/public.php") ;
$dbtmp = new FC_SQL ;
?>
New Document
/******************************************************************************
* se l'anno in corso è minore del 2008, allora si visualizza il messaggio che
* la funzione non è disponibile
*******************************************************************************/
if ($anno < 2008)
{
?>
- Funzione non disponibile per l'anno scelto
exit ;
}
$annoP = $anno - 1 ;
$arrVal = array() ;
$arrMaxEna = array() ;
$arrAnni = array() ;
$arrMaxEnaVis = array() ;
$arrMaxEnaMonoVis = array() ;
$arrMaxEnaMono = array() ;
$query = "
select
PA.*,
A.idagenti as IdAgente,
A.TipoMandato as TipoMandato,
A.Nome as NomeAgente
from
provvigioniAgenti PA
inner join agenti A on A.idagenti = PA.idAgente
where
PA.Anno = $anno and
PA.AnnoCompetenza = '$anno' or PA.AnnoCompetenza='$annoP'
union
select
PA.*,
A.idagenti as IdAgente,
A.TipoMandato as TipoMandato,
A.Nome as NomeAgente
from
provvigioniAgenti PA
inner join agenti A on A.idagenti = PA.IdAgente
where
PA.Anno = $annoP and
PA.AnnoCompetenza='$annoP'
order by
NomeAgente,
AnnoCompetenza ASC
" ;
debug (0, $query) ;
list($n, $d) = $db->RecuperaDati($query) ;
$totRecord = $n ;
for ($i=0; $i<$n; $i++)
{
$nomeAgente = $d['NomeAgente'][$i] ;
$tipoMandato = $d['TipoMandato'][$i] ;
$idAgente = $d['IdAgente'][$i] ;
$annoC = $d['AnnoCompetenza'][$i] ;
$calcEna = $d['Enasarco'][$i] ;
$sommaEna = $d['SommaLireEna'][$i] ;
$cifraEna = $d['CifraEna'][$i] ;
$ammEnasarco = 0 ;
if (!array_key_exists($nomeAgente, $arrVal))
$arrVal[$nomeAgente] = array() ;
/********************************************
* In ogni caso questa query la devo fare qui
********************************************/
$qena = "
select
*
from
ParametriGenerali PG
where
PG.Anno = $annoC
" ;
list($nena, $dena) = $dbtmp->RecuperaDati($qena) ;
$arrMaxEnaVis[$annoC] = $dena['MaxAgentePluri'][0] ;
$arrMaxEna[$annoC] = NumToSql($dena['MaxAgentePluri'][0]) ;
$arrMaxEnaMonoVis[$annoC] = $dena['MaxAgenteMono'][0] ;
$arrMaxEnaMono[$annoC] = NumToSql($dena['MaxAgenteMono'][0]) ;
$perEnasarco = NumToSql($dena['PercEnasarco'][0]) ;
if (! in_array($annoC, $arrAnni))
$arrAnni[] = $annoC ;
/*************************************************
* prima 03.05.2011
if ($sommaEna > 0)
{
if ($calcEna == 1)
$ammEnasarco = round(($sommaEna * $perEnasarco) / 100, 2) ;
else
$ammEnasarco = 0 ;
}
else if ($cifraEna > 0)
$ammEnasarco = $cifraEna ;
* adesso:
***************************************************/
if ($calcEna == 1)
{
if ($cifraEna > 0)
$ammEnasarco = $cifraEna ;
else
$ammEnasarco = round(((float)$sommaEna * (float)$perEnasarco) / 100, 2) ;
}
else
$ammEnasarco = 0 ;
// fine 03.05.2011
$arrVal[$nomeAgente][$annoC]['IdAgente'] = $idAgente ;
$arrVal[$nomeAgente][$annoC]['TipoMandato'] = $tipoMandato ;
$arrVal[$nomeAgente][$annoC]['TotaleEnasarco'] += $ammEnasarco ;
$arrVal[$nomeAgente][$annoC]['TotaleProvvigioni'] ++ ;
}
@asort($arrAnni) ;
@asort($arrMaxEnaVis) ;
@asort($arrMaxEna) ;
@asort($arrMaxEnaMonoVis) ;
@asort($arrMaxEnaMono) ;
$str = "" ;
@reset($arrVal) ;
foreach($arrVal as $nAgente => $arrValAnni)
// while(list($nAgente, $arrValAnni) = each($arrVal))
{
$str .= "" ;
$str .= "" . htmlspecialchars("" . stripslashes($nAgente) . " ") . " | | | | | " ;
$str .= "
" ;
@reset($arrAnni) ;
foreach($arrAnni as $xx => $an)
// while (list(, $an) = each($arrAnni))
{
if (array_key_exists($an, $arrValAnni))
{
$idAgente = $arrValAnni[$an]['IdAgente'] ;
$tipoMandato = $arrValAnni[$an]['TipoMandato'] ;
$amm = $arrValAnni[$an]['TotaleEnasarco'] ;
$numProvv = $arrValAnni[$an]['TotaleProvvigioni'] ;
}
else
{
$idAgente = 0 ;
$tipoMandato = -1 ;
$amm = 0 ;
$numProvv = 0 ;
}
$str .= "" ;
$str .= " | " ;
$str .= "$an | " ;
$str .= "". $numProvv ." | " ;
$str .= "" . nfe($amm) . " | " ;
if ($tipoMandato == 0) // Monomandatario
{
$str .= "" . $arrMaxEnaMonoVis[$an] . " | " ;
$str .= "" . nfe($amm - $arrMaxEnaMono[$an]) . " | " ;
}
else if ($tipoMandato == 1) // Plurimandatario
{
$str .= "" . $arrMaxEnaVis[$an] . " | " ;
$str .= "" . nfe($amm - $arrMaxEna[$an]) . " | " ;
}
else
{
$str .= " | " ;
$str .= " | " ;
}
$str .= "
" ;
}
$str .= "" ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "" . htmlspecialchars(" ") . " | " ;
$str .= "
" ;
}
$str .= " " ;
$header = "Nome Agente,Anno,Numero Provv.,Enasarco Versata,Massimale Enasarco,Differenza" ;
$strSort = "na,na,na,na,na,na" ;
$iniWP = "30,10,10,15,15,15" ;
$setColType = "ro,ro,ro,ro,ro,ro" ;
$setColAlign = "right,center,center,right,right,right" ;
$titolo = "Controllo Versamenti Enasarco anno solare: $anno " ;
?>
if ($totRecord > 0) : ?>
else : ?>
endif ?>
echo $titolo ?>
if ($totRecord > 0) : ?>
Il controllo viene effettuato sulle provvigioni relative all'anno echo $annoP ?> e all'anno echo $anno ?> - Clicca sulla riga relativa all'anno per i dettagli
else : ?>
- Non ci sono attualmente provvigioni su cui effettuare il controllo
endif ?>