Score : Correction VENTE et DATEp

This commit is contained in:
Michael RICOIS 2014-12-04 15:42:49 +00:00
parent d9dd759cb7
commit f6e0d6cad8

View File

@ -7,7 +7,7 @@ require_once 'Metier/partenaires/classMLiens2.php';
require_once 'Metier/scores/classMSolvabilite.php';
require_once 'Metier/scores/classMRatios.php';
define('INDISCORE_DEBUG', false);
define('INDISCORE_DEBUG', true);
/**
* Return the history of previous stored IndiScores on the companies
@ -239,8 +239,8 @@ function formatValeur($variable, $longeur=0, $fonction='')
{
$classWdate = new WDate();
$valeur=strtr($variable, array('{'=>'','}'=>''));
$nomVar=strtr($valeur, array('$'=>''));
$valeur = strtr($variable, array('{'=>'','}'=>''));
$nomVar = strtr($valeur, array('$'=>''));
//@todo : Delete
global $tabVariables, $$nomVar;
@ -273,16 +273,16 @@ function formatValeur($variable, $longeur=0, $fonction='')
}
}
}
elseif (preg_match('/DATE$/',$nomVar))
elseif (preg_match('/DATE$/', $nomVar))
{
$strTmp=eval("return $valeur;");
return preg_replace('/00\//','01/',$classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
$strTmp = eval("return $valeur;");
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
}
elseif (preg_match('/DATEp$/',$nomVar))
elseif (preg_match('/DATEp[0-9]{0,}$/', $nomVar))
{
global $DATEp;
$strTmp=eval("return $valeur;");
return preg_replace('/00\//','01/',$classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
}
elseif (preg_match('/MMAA$/', $nomVar))
{
@ -290,17 +290,17 @@ function formatValeur($variable, $longeur=0, $fonction='')
$strTmp=eval("return $valeur;");
return $classWdate->dateT('Y-m','M Y', $strTmp);
}
elseif (preg_match('/_MT$/',$nomVar))
elseif (preg_match('/_MT$/', $nomVar))
{
$strTmp=eval("return $valeur;");
return number_format($strTmp,2,',',' ').' €';
}
elseif (preg_match('/_NB$/',$nomVar))
elseif (preg_match('/_NB$/', $nomVar))
{
$strTmp=eval("return $valeur;");
return number_format($strTmp,0,',',' ');
}
elseif (preg_match('/_EU$/',$nomVar))
elseif (preg_match('/_EU$/', $nomVar))
{
$strTmp=eval("return $valeur;");
if ($strTmp>=0 && $strTmp<10 || $strTmp>-10 && $strTmp<=0)
@ -312,7 +312,7 @@ function formatValeur($variable, $longeur=0, $fonction='')
else
return number_format($strTmp/1000,0,',',' ').'&nbsp;K&euro;';
}
elseif (preg_match('/_POURC$/',$nomVar))
elseif (preg_match('/_POURC$/', $nomVar))
{
$strTmp=eval("return $valeur;");
if ($strTmp>=10 || $strTmp<=-10)
@ -322,70 +322,70 @@ function formatValeur($variable, $longeur=0, $fonction='')
else
return number_format($strTmp,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/CAPITAL$/',$nomVar))
elseif (preg_match('/CAPITAL$/', $nomVar))
{
global $CAPITAL;
return number_format($CAPITAL,0,',', ' ').' &euro;';
}
elseif (preg_match('/CAPITAL_PRE$/',$nomVar))
elseif (preg_match('/CAPITAL_PRE$/', $nomVar))
{
global $CAPITAL_PRE;
return number_format($CAPITAL_PRE,0,',',' ').'&nbsp;&euro;';
}
elseif (preg_match('/CAPITAL_MTACTION$/',$nomVar))
elseif (preg_match('/CAPITAL_MTACTION$/', $nomVar))
{
global $CAPITAL_MTACTION;
return number_format($CAPITAL_MTACTION,0,',',' ').'&nbsp;&euro;';
}
elseif (preg_match('/CAPITAL_NBACTION$/',$nomVar))
elseif (preg_match('/CAPITAL_NBACTION$/', $nomVar))
{
global $CAPITAL_NBACTION;
return number_format($CAPITAL_NBACTION,0,',',' ');
}
elseif (preg_match('/^CAESTIME$/',$nomVar))
elseif (preg_match('/^CAESTIME$/', $nomVar))
{
global $CAESTIME;
return number_format($CAESTIME/1000,0,',',' ').'&nbsp;k&euro;';
}
elseif (preg_match('/^CABIOUES$/',$nomVar))
elseif (preg_match('/^CABIOUES$/', $nomVar))
{
global $CABIOUES;
return number_format($CABIOUES/1000,0,',',' ').'&nbsp;k&euro;';
}
elseif (preg_match('/DIMMAT$/',$nomVar))
elseif (preg_match('/DIMMAT$/', $nomVar))
{
global $DIMMAT;
return preg_replace('/00\//','01/',$classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DIMMAT),0,8)));
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DIMMAT),0,8)));
}
elseif (preg_match('/DCREN$/',$nomVar))
{
return preg_replace('/00\//','01/',$classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DCREN),0,8)));
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DCREN),0,8)));
}
elseif (preg_match('/MARCHEVOL$/',$nomVar))
elseif (preg_match('/MARCHEVOL$/', $nomVar))
{
global $MARCHEVOL;
if (abs($MARCHEVOL)>=5) return round($MARCHEVOL).' %';
else return number_format($MARCHEVOL,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPART$/',$nomVar))
elseif (preg_match('/MARCHEPART$/', $nomVar))
{
global $MARCHEPART;
if (abs($MARCHEPART)>=5) return round($MARCHEPART).' %';
else return number_format($MARCHEPART,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPARTp$/',$nomVar))
elseif (preg_match('/MARCHEPARTp$/', $nomVar))
{
global $MARCHEPARTp;
if (abs($MARCHEPARTp)>=5) return round($MARCHEPARTp).' %';
else return number_format($MARCHEPARTp,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPARTEVOL$/',$nomVar))
elseif (preg_match('/MARCHEPARTEVOL$/', $nomVar))
{
global $MARCHEPARTEVOL;
if (abs($MARCHEPARTEVOL)>=5) return round($MARCHEPARTEVOL).' %';
else return number_format($MARCHEPARTEVOL,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHE$/',$nomVar))
elseif (preg_match('/MARCHE$/', $nomVar))
{
global $MARCHE;
if ($MARCHE<10000) return number_format($MARCHE,0,',',' ').'&nbsp;&euro;';
@ -393,7 +393,7 @@ function formatValeur($variable, $longeur=0, $fonction='')
elseif ($MARCHE<1000000000) return number_format($MARCHE/1000000,0,',',' ').'&nbsp;M&euro;';
else return number_format($MARCHE/1000000000,0,',',' ').' milliards d\'&euro;';
}
elseif (preg_match('/MARCHEp$/',$nomVar))
elseif (preg_match('/MARCHEp$/', $nomVar))
{
global $MARCHEp;
if ($MARCHEp<10000) return number_format($MARCHEp,0,',',' ').'&nbsp;&euro;';
@ -401,73 +401,73 @@ function formatValeur($variable, $longeur=0, $fonction='')
elseif ($MARCHEp<1000000000)return number_format($MARCHEp/1000000,0,',',' ').'&nbsp;M&euro;';
else return number_format($MARCHEp/1000000000,0,',',' ').' milliards d\'&euro;';
}
elseif (preg_match('/^CA_Y\[(.*)\]/U',$nomVar, $matches2))
elseif (preg_match('/^CA_Y\[(.*)\]/U', $nomVar, $matches2))
{
global $CA_Y;
return number_format($CA_Y[$matches2[1]]/1000,0,',',' ').' K&euro;';
}
elseif (preg_match('/^RCAI_Y\[(.*)\]/U',$nomVar, $matches2))
elseif (preg_match('/^RCAI_Y\[(.*)\]/U', $nomVar, $matches2))
{
global $RCAI_Y;
return number_format($RCAI_Y[$matches2[1]]/1000,0,',',' ').' K&euro;';
}
elseif (preg_match('/(_COEF|_TAUX)$/',$nomVar))
elseif (preg_match('/(_COEF|_TAUX)$/', $nomVar))
{
$strTmp=eval("return $valeur;");
return number_format($strTmp,2,',','').'&nbsp;%';
}
elseif (preg_match('/^SIREN$/',$nomVar))
elseif (preg_match('/^SIREN$/', $nomVar))
{
global $SIREN;
return sprintf("%09s", $SIREN);
}
elseif (preg_match('/^SIRET$/',$nomVar))
elseif (preg_match('/^SIRET$/', $nomVar))
{
global $SIRET;
return sprintf("%09s", substr($SIRET,0,9)).chr(160).substr($SIRET,-5);
}
elseif (preg_match('/^SIRENMERE$/',$nomVar))
elseif (preg_match('/^SIRENMERE$/', $nomVar))
{
global $SIRENMERE;
return sprintf("%09s", $SIRENMERE);
}
elseif (preg_match('/^SIRETMERE$/',$nomVar))
elseif (preg_match('/^SIRETMERE$/', $nomVar))
{
global $SIRETMERE;
return sprintf("%09s", substr($SIRETMERE,0,9)).chr(160).substr($SIRETMERE,-5);
}
elseif (preg_match('/^SIRENFILLE$/',$nomVar))
elseif (preg_match('/^SIRENFILLE$/', $nomVar))
{
global $SIRENFILLE;
return sprintf("%09s", $SIRENFILLE);
}
elseif (preg_match('/^SIRETFILLE$/',$nomVar))
elseif (preg_match('/^SIRETFILLE$/', $nomVar))
{
global $SIRETFILLE;
return sprintf("%09s", substr($SIRETFILLE,0,9)).chr(160).substr($SIRETFILLE,-5);
}
elseif (preg_match('/^TVAINTRA$/',$nomVar))
elseif (preg_match('/^TVAINTRA$/', $nomVar))
{
global $TVAINTRA;
return substr($TVAINTRA,0,2).' '.substr($TVAINTRA,2,2).' '.substr($TVAINTRA,4);
}
elseif (preg_match('/^DELAIPAY$/',$nomVar))
elseif (preg_match('/^DELAIPAY$/', $nomVar))
{
global $DELAIPAY;
return number_format($DELAIPAY,0,',',' ').' jours';
}
elseif (preg_match('/^DELAIPAYp$/',$nomVar))
elseif (preg_match('/^DELAIPAYp$/', $nomVar))
{
global $DELAIPAYp;
return number_format($DELAIPAYp,0,',',' ').' jours';
}
elseif (preg_match('/^SCOREDEFTAUX$/',$nomVar))
elseif (preg_match('/^SCOREDEFTAUX$/', $nomVar))
{
global $SCOREDEFTAUX;
if ($SCOREDEFTAUX>=5) return round($SCOREDEFTAUX).' %';
else return number_format($SCOREDEFTAUX,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/BILANANNEE$/',$nomVar))
elseif (preg_match('/BILANANNEE$/', $nomVar))
{
global $BILANANNEE;
return $BILANANNEE;
@ -1156,8 +1156,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$nbMoisBilCumul+=$nmp;
}
$BILANDATEp2 =$tabBilan[2]['DATE_CLOTURE'];
$BILANANNEEp2=substr($BILANDATEp2,0,4)*1;
$BILANDATEp2 = $tabBilan[2]['DATE_CLOTURE'];
$BILANANNEEp2 = substr($BILANDATEp2,0,4)*1;
$nmp2=$tabBilan[2]['DUREE_MOIS'];
if ($BILANANNEEp2>0) {
$BILANp2=1;
@ -1165,7 +1165,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$nbMoisBilCumul+=$nmp2;
}
$BILANDATEp3 =$tabBilan[3]['DATE_CLOTURE'];
$BILANDATEp3 = $tabBilan[3]['DATE_CLOTURE'];
$BILANANNEEp3=substr($BILANDATEp3,0,4)*1;
$nmp3=$tabBilan[3]['DUREE_MOIS'];
if ($BILANANNEEp3>0) {
@ -3194,17 +3194,17 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
FROM (
SELECT v.id, v.VenteMt
FROM scores_ventes v
WHERE v.nafEt LIKE '$APEETAB'
WHERE v.nafEn LIKE '$APEENT'
AND v.codeCommune LIKE '$codeCommuneInsee'
AND v.Bodacc_Date_Parution>='$ya2ans'
AND v.VenteMt>1 AND v.VenteDev='EUR'
AND v.VenteMt>1 AND v.VenteDev='EUR' AND v.tca=".$tabIdentite['TrancheCA']." AND v.teffEn=".$tabIdentite['EffEnTr']."
GROUP BY v.id)b");
if (count($ret)>0) {
while($ret=$iDb->fetch(MYSQL_ASSOC)) {
$VENTEMAX_MT= $VENTEMAX_VILLE_MT=$ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_VILLE_MT=$ret['vtMoy'];
$VENTEMIN_MT= $VENTEMIN_VILLE_MT=$ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_NB= $VENTE_VILLE_NB=$ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
$VENTEMAX_MT = $VENTEMAX_VILLE_MT = $VENTEMAX_VILLE_EU = $ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_VILLE_MT = $VENTEMOY_VILLE_EU = $ret['vtMoy'];
$VENTEMIN_MT = $VENTEMIN_VILLE_MT = $VENTEMIN_VILLE_EU = $ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_NB = $VENTE_VILLE_NB = $ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
}
}
// Par département
@ -3214,31 +3214,31 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
FROM (
SELECT v.id, v.VenteMt
FROM scores_ventes v
WHERE v.nafEt LIKE '$APEETAB'
WHERE v.nafEn LIKE '$APEENT'
AND v.codeCommune LIKE '".$tabIdentite['Dept']."%'
AND v.Bodacc_Date_Parution>='$ya2ans'
AND v.VenteMt>1 AND v.VenteDev='EUR'
AND v.VenteMt>1 AND v.VenteDev='EUR' AND v.tca=".$tabIdentite['TrancheCA']." AND v.teffEn=".$tabIdentite['EffEnTr']."
GROUP BY v.id)b");
while($ret=$iDb->fetch(MYSQL_ASSOC)) {
$VENTEMAX_DEP_MT=$ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_DEP_MT=$ret['vtMoy'];
$VENTEMIN_DEP_MT=$ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_DEP_NB=$ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
$VENTEMAX_DEP_MT = $VENTEMAX_DEP_EU = $ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_DEP_MT = $VENTEMOY_DEP_EU = $ret['vtMoy'];
$VENTEMIN_DEP_MT = $VENTEMIN_DEP_EU = $ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_DEP_NB = $ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
}
// France entière
$ret=$iDb->query("SELECT MIN(b.VenteMt) AS vtMin, AVG(b.VenteMt) AS vtMoy, MAX(b.VenteMt) AS vtMax, COUNT(b.id) AS vtNb
FROM (
SELECT v.id, v.VenteMt
FROM scores_ventes v
WHERE v.nafEt LIKE '$APEETAB'
WHERE v.nafEn LIKE '$APEENT'
AND v.Bodacc_Date_Parution>='$ya2ans'
AND v.VenteMt>1 AND v.VenteDev='EUR'
AND v.VenteMt>1 AND v.VenteDev='EUR' AND v.tca=".$tabIdentite['TrancheCA']." AND v.teffEn=".$tabIdentite['EffEnTr']."
GROUP BY v.id)b");
while($ret=$iDb->fetch(MYSQL_ASSOC)) {
$VENTEMAX_FRA_MT=$ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_FRA_MT=$ret['vtMoy'];
$VENTEMIN_FRA_MT=$ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_FRA_NB=$ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
$VENTEMAX_FRA_MT = $VENTEMAX_FRA_EU = $ret['vtMax']; // Plus grand montant de vente annonce VC niveau "ville"
$VENTEMOY_FRA_MT = $VENTEMOY_FRA_EU = $ret['vtMoy'];
$VENTEMIN_FRA_MT = $VENTEMIN_FRA_EU = $ret['vtMin']; // Plus petit montant de vente annonce VC niveau "ville"
$VENTE_FRA_NB = $ret['vtNb']; // Nombre de ventes dans le niveau statistique "ville" dans les 24 derniers mois
}
$timer['ventes']=microtime(true);
@ -3382,10 +3382,12 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$tabTmp=$iDb->select('jo.tabNafValo', 'naf5, MINI, MAXI, TYPE, LENGTH(naf5) AS naf5len',
"naf5 LIKE '$naf2%' OR naf5 LIKE '$naf3%' OR naf5 LIKE '$naf4%' OR naf5='$APEENT' ORDER BY naf5len DESC LIMIT 0,1", INDISCORE_DEBUG, MYSQL_ASSOC);
// On prend le 1er secteur trouvé le + précis
if (count($tabTmp) > 0) {
$tabTmp=$tabTmp[0];
$VALCOEFMINCA=$tabTmp['MINI'];
$VALCOEFMAXCA=$tabTmp['MAXI'];
}
}
//Chargement des phrases de commentaires - @todo : Mettre en cache
$tabCommentaires = $tabTriAff = array();
@ -3423,15 +3425,13 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$commentaires=preg_replace('/\[0+/', '[', $commentaires);
if(INDISCORE_DEBUG) {
$fp=fopen(LOG_PATH.'/debugFmt.log', 'a');
fwrite($fp, EOL.date("Y/m/d H:i:s")." - formule 0=$idx : $commentaires".EOL);
file_put_contents(LOG_PATH.'/debugFmt.log', date("Y/m/d H:i:s")." - formule 0=$idx : $commentaires\n", FILE_APPEND);
if ( preg_match_all('/(\{.*\})/Us', $commentaires, $tabTmp) ) {
foreach ($tabTmp[1] as $valeur) {
$valeur2=strtr($valeur, array('{'=>'', '}'=>''));
fwrite($fp, date("Y/m/d H:i:s")." - formule A=$idx : $valeur".EOL);
file_put_contents(LOG_PATH.'/debugFmt.log', date("Y/m/d H:i:s")." - formule A=$idx : $valeur\n", FILE_APPEND);
}
}
fclose($fp);
}
$strCommentaire=strtr(preg_replace_callback('/(\{.*\})/U', 'format', $commentaires), array('"'=>'\''));