Correction et formattage

This commit is contained in:
Michael RICOIS 2015-09-21 08:24:59 +00:00
parent 6af68048fb
commit 71a749262b

View File

@ -553,6 +553,36 @@ function format($matches)
return $strRetour.' '.$strUnite;
}
/**
* Taux de tva
* @param string $date AAAAMM
* @return double
*/
function getTxTva($date)
{
$tabTxTva = include __DIR__ . '/Data/Tva.php';
foreach ($tabTxTva as $ym => $v) {
if ($ym > $date) {
break;
}
$tva = $v;
}
return $tva;
}
/**
* Donne le taux de rendement des actions pour une année donnée
* @param unknown $annee
* @return unknown
*/
function getTxRendement($annee)
{
$tabTxRendObli = include __DIR__ . '/Data/RendObli.php';
if ( isset($tabTxRendObli[$annee]) ) {
return $tabTxRendObli[$annee];
}
}
/**
*
* @param unknown $valeur
@ -633,7 +663,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
return false;
}
$tva = $this->getTxTva(date('Ym'));
$tva = getTxTva(date('Ym'));
if ( !in_array($type, array('scores', 'valo')) ) {
$type = 'scores';
@ -1709,10 +1739,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
case 1312: // Liquidation Judiciaire avec continuation d'exploitation
case 1313: // Liquidation Judiciaire sans remise des accessoires
case 1417: // Jugement d'extension de liquidation judiciaire
// Annonce de liquidation judiciaire
$ANNONCELJ=true;
// Date de l'annonce LJ
$ANNONCELJDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
@ -1845,13 +1873,10 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$PLANMODIF=true;
$ANNONCEPLANMODIFDATE=$ANNONCEDATE=$procol['dateJugement'];
break;
case 1411: // Arrêt du plan de cession
case 1414: // Arrêt du plan de redressement
$ANNONCEPLANFINDATE=$procol['dateFinObservation'];
if (substr($ANNONCEPLANFINDATE,0,4)*1==0) $ANNONCEPLANFINDATE='';
/** @todo $ANNONCEPLANDUREE='';
**/
case 1412: // Arrêt du plan de cession partielle
case 1413: // Arrêt du plan de continuation
case 1101: // Jugement arrêtant plan de sauvegarde
@ -1861,7 +1886,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
elseif ($even['CodeEven']*1==1413) $ANNONCEPLAN='continuation';
elseif ($even['CodeEven']*1==1414) $ANNONCEPLAN='redressement';
elseif ($even['CodeEven']*1==1101) $ANNONCEPLAN='sauvegarde';
// Date de l'annonce de plan
$ANNONCEPLANDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
@ -2534,37 +2558,44 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$nivRisquePaiement=$infoFacto[0]['risque'];
$MODIFPAIDATE=$infoFacto[0]['DateEven'];
switch ($infoFacto[0]['CodeRisque']) {
case 'OK': $COTEOK=true;
$COTEOK_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
if ($noteSolvabilite>=40 && $noteSolvabilite<=45) $noteSolvabilite+=5;
$CSFACTO=0;
break;
case 'IP': $IMPAYE=true;
$IMPAYE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='I';
$profilPayeur=5;
break;
case 'PR': $PRIVILEGES=true;
$PRIVILEGES_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='P';
$profilPayeur=5;
break;
case 'RG': $RISQUEGROUPE=true;
$RISQUEGROUPE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO=24; $SCOREDIRI-=10;
break;
case 'DEF': $DEFAUT=true;
$DEFAUT_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='D';
break;
case 'LC': $LCASSUR=true;
$LCASSUR_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='T';
break;
case 'KO': $noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
$CSFACTO=50;
$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
break;
case 'OK':
$COTEOK=true;
$COTEOK_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
if ($noteSolvabilite>=40 && $noteSolvabilite<=45) $noteSolvabilite+=5;
$CSFACTO=0;
break;
case 'IP':
$IMPAYE=true;
$IMPAYE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='I';
$profilPayeur=5;
break;
case 'PR':
$PRIVILEGES=true;
$PRIVILEGES_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='P';
$profilPayeur=5;
break;
case 'RG':
$RISQUEGROUPE=true;
$RISQUEGROUPE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO=24; $SCOREDIRI-=10;
break;
case 'DEF':
$DEFAUT=true;
$DEFAUT_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='D';
break;
case 'LC':
$LCASSUR=true;
$LCASSUR_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='T';
break;
case 'KO':
$noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
$CSFACTO=50;
$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
break;
default:
if ($iFacto->risqueImpaye) {
$RISQUEIMPAYE_MMAA=$iFacto->risqueImpayeMois;
@ -2834,8 +2865,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
else $plafond=15000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
/** Plafond si encours estimé
**/
// Plafond si encours estimé
if ($noteSolvabilite<50) $plafondEstime=$plafond/10;
else $plafondEstime=$plafond/25;
if ($encoursEstime>$plafondEstime) $encoursEstime=$plafondEstime;
@ -2872,17 +2902,15 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ($ENCOURS==0 &&
!$IMPAYE && !$PRIVILEGES && !$RISQUEGROUPE && !$DEFAUT &&
!$LCASSUR && $CSFACTO<>50 && !$RISQUEIMPAYE) {
//if ($FJUR2==16) $ENCOURS=4000; // CA estimé par défaut pour agriculteur : 150000
//else
$ENCOURS=$CAESTIME/36;
if ($noteSolvabilite>=50 && $AGE>=120) $plafond=7000;
elseif ($noteSolvabilite>=45 && $AGE>=60) $plafond=5000;
elseif ($noteSolvabilite>=45 && $AGE>=36) $plafond=3000;
elseif ($noteSolvabilite>=55) $plafond=2000;
if ( $DELAIPAY>$DELAIPAYp && $DELAIPAYp>0 && $DELAIPAY<=90 )
$plafond=$plafond/2;
elseif ($DELAIPAY>90) $plafond=0;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
$ENCOURS=$CAESTIME/36;
if ($noteSolvabilite>=50 && $AGE>=120) $plafond=7000;
elseif ($noteSolvabilite>=45 && $AGE>=60) $plafond=5000;
elseif ($noteSolvabilite>=45 && $AGE>=36) $plafond=3000;
elseif ($noteSolvabilite>=55) $plafond=2000;
if ( $DELAIPAY>$DELAIPAYp && $DELAIPAYp>0 && $DELAIPAY<=90 )
$plafond=$plafond/2;
elseif ($DELAIPAY>90) $plafond=0;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
}
break;
case 18: // Associé Gérant de société
@ -2911,15 +2939,14 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ($classWdate->nbMoisEntre($BILANDATE,date('Ymd'))>=30) $BILANMANQUE=true;
else $BILANMANQUE=false;
$ENCOURS=$CAESTIME/72;
if ($noteSolvabilite>=40 && $ENCOURS<5000) $ENCOURS=5000;
if ($noteSolvabilite> 65) $plafond=200000;
elseif ($noteSolvabilite> 60) $plafond=150000;
elseif ($noteSolvabilite> 55) $plafond=100000;
elseif ($noteSolvabilite>=50) $plafond=50000;
elseif ($noteSolvabilite>=45) $plafond=10000;
else $plafond=5000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : ASSOCIATION", print_r($tabTmp,true)."$EFFECTIF=$EFFECTIF\n$CAESTIME=$caSecteur*$EFFECTIF ($efftr)");
if ($noteSolvabilite>=40 && $ENCOURS<5000) $ENCOURS=5000;
if ($noteSolvabilite> 65) $plafond=200000;
elseif ($noteSolvabilite> 60) $plafond=150000;
elseif ($noteSolvabilite> 55) $plafond=100000;
elseif ($noteSolvabilite>=50) $plafond=50000;
elseif ($noteSolvabilite>=45) $plafond=10000;
else $plafond=5000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
$libEncours='Il est préférable de demander un enquête commerciale sur les organisations, associations et fondations.';
} else {
$ENCOURSCALC=$ENCOURS;
@ -3477,10 +3504,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ( $type == 'valo' ) {
$TAUXRA=$tabTxRendObli;
$tabTxRendObli = getTxRendement(date('Y'));
$TAUXRA = $tabTxRendObli;
/** Tableau des taux de rendement **/
$tabTmp=$tabTxRendObli;
$tabTmp = $tabTxRendObli;
krsort($tabTmp);
foreach ($tabTmp as $iTmp=>$tabTmp2) {
if ($iTmp==0) { $tmpTxN=$tabTmp2; }
@ -3871,8 +3899,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
debugLog('W', 'Erreur lors de la MAJ du score en surveillance pour '. $tabIdentite['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
}
}
else
{
else {
//Calcul de l'effectif réel
$EffectifEn = $tabIdentite['Effectif'];
$bilanAgeMax = 3 * 12; //Age maximum du dernier bilan en mois