198 lines
6.1 KiB
PHP
198 lines
6.1 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
function wsLog() {}
|
|
|
|
include_once(FWK_PATH.'common/chiffres.php');
|
|
include_once(FWK_PATH.'common/dates.php');
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
include_once(INCLUDE_PATH.'scores/classMRegression.php');
|
|
include_once('/var/www/html/ws2/WsEntreprise.php');
|
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|
/*
|
|
for ($i=1; $i<=200; $i++) {
|
|
$date=date('H:i:s');
|
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Mesage de test n°$i - $date", "Bonjour,
|
|
Voici le mail n°$i.
|
|
|
|
Cordialement,
|
|
YLN");//, '', array('kbis'=>'/tmp/kbis-518453394.pdf'));
|
|
}
|
|
|
|
die();
|
|
*/
|
|
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
|
|
Génération du cache des variables courantes si nécessaire.
|
|
|
|
Options :
|
|
-d Mode debug (Verbosité au maximum)
|
|
-f Forcer la re-Génération du cache
|
|
";
|
|
|
|
$modeDebug=$modeGeneration=false;
|
|
$argv=$_SERVER['argv'];
|
|
|
|
for ($i=1,$j=0; isset($argv[$i]); $i++) {
|
|
if (substr($argv[$i],0,1)=='-') {
|
|
switch (substr($argv[$i],1,1)) {
|
|
case 'd': $modeDebug=true; break;
|
|
case 'f': $modeGeneration=true; break;
|
|
case '-':
|
|
case '?': die($strInfoScript); break;
|
|
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
|
|
}
|
|
}// else $tabFichLigneCmd[]=$argv[$i];
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$iDb=new WDB();
|
|
|
|
global $tabVariables;
|
|
$tdeb=microtime(true);
|
|
if (!$modeGeneration &&
|
|
file_exists('/var/www/html/ws2/data/tables/tables.bin') &&
|
|
file_exists('/var/www/html/ws2/data/tables/tables.ini') &&
|
|
filemtime('/var/www/html/ws2/data/tables/tables.bin')>filemtime("/var/www/html/ws2/data/tables/tables.ini")) {
|
|
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Lecture du cache...".EOL;
|
|
$tabVariables=unserialize(file_get_contents('/var/www/html/ws2/data/tables/tables.bin'));
|
|
$nb=count($tabVariables);
|
|
$duree=round((microtime(true)-$tdeb)*1000,1);
|
|
if ($modeDebug) {
|
|
$tailleM=round(memory_get_usage(true)/1024,1);
|
|
$tailleF=round(filesize('/var/www/html/ws2/data/tables/tables.bin')/1024,1);
|
|
$strFin=" (bin=$tailleF Ko, mem=$tailleM Ko).";
|
|
} else
|
|
$strFin='.';
|
|
echo date('Y/m/d - H:i:s') ." - Lecture du cache en $duree ms : $nb variables$strFin".EOL;
|
|
} else {
|
|
// Analyse avec les sections
|
|
$ini_array = parse_ini_file("/var/www/html/ws2/data/tables/tables.ini", TRUE);
|
|
$tabVariables=array();
|
|
foreach ($ini_array as $idVar => $tabVar) {
|
|
|
|
$idVar=strtoupper($idVar); // Nom= de la variable
|
|
$source=trim(strtoupper($tabVar['source']));
|
|
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - [$idVar] Source='$source'...".EOL;
|
|
|
|
switch ($source) {
|
|
case 'SQL':
|
|
if (!isset($tabVar['sql'])) die("ERREUR : Requête SQL non définie pour [$idVar]");
|
|
|
|
$nbRecords=$iDb->query($tabVar['sql']);
|
|
if ($iDb->getLastErrorNum()>0) die("ERREUR : Requête SQL non fonctionnelle pour [$idVar] (".$iDb->getLastError().')');
|
|
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - [$idVar] Source='$source' SQL: $nbRecords enregistrements...".EOL;
|
|
while ($ret=$iDb->fetch(MYSQL_ASSOC)) {
|
|
// Traitement de la zone libelle
|
|
if (strtoupper($ret['libelleCase'])=='MAJ')
|
|
$libelle=trim(ucfirst(strtolower($ret['libelle'])));
|
|
else
|
|
$libelle=trim($ret['libelle']);
|
|
|
|
// Traitement de la zone article
|
|
$article=trim($ret['article']);
|
|
if ($article=='') {
|
|
if (isset($tabVar['articles']) && strtolower($tabVar['articles'])=='auto') {
|
|
if (preg_match('/^(a|e|i|o|u|y)/i', $libelle))
|
|
$article='d\''.$libelle;
|
|
else
|
|
$article='de '.$libelle;
|
|
} else
|
|
$article=$libelle;
|
|
} elseif (preg_match('/^(.*)\$/', $article, $matches)) // en $
|
|
{ $article=trim(preg_replace('/ +/',' ', $matches[1].' '.$libelle));
|
|
$article=strtr($article, array("' "=>"'"));
|
|
}
|
|
$tabVariables[$idVar][trim($ret['code'])]=array('lib'=>$libelle,
|
|
'art'=>$article,
|
|
);
|
|
}
|
|
break;
|
|
default: // si <> de blanc, recopie de tableau existant
|
|
if ($source=='') die("ERREUR : Source non renseignée pour [$idVar]");
|
|
if (!isset($tabVariables[$source])) die("ERREUR : Source '$source' inexistante pour [$idVar]");
|
|
$tabVariables[$idVar]=$tabVariables[$source];
|
|
break;
|
|
}
|
|
}
|
|
$nb=count($tabVariables);
|
|
$duree=round((microtime(true)-$tdeb)*1000,1);
|
|
echo date('Y/m/d - H:i:s') ." - Génération du cache en $duree ms : $nb variables.".EOL;
|
|
if ($modeDebug) {
|
|
$tailleM=round(memory_get_usage(true)/1024,1);
|
|
$tailleF=round(filesize('/var/www/html/ws2/data/tables/tables.bin')/1024,1);
|
|
$strFin=" (bin=$tailleF Ko, mem=$tailleM Ko).";
|
|
} else
|
|
$strFin='.';
|
|
if (file_put_contents('/var/www/html/ws2/data/tables/tables.bin',serialize($tabVariables)))
|
|
echo date('Y/m/d - H:i:s') ." - Cache des tables associées généré$strFin".EOL;
|
|
}
|
|
//print_r($tabVariables);
|
|
die();
|
|
|
|
|
|
$R[6]=555;
|
|
|
|
$var='R[6]';
|
|
|
|
echo "'${${$var}}'";
|
|
die();
|
|
|
|
if (1==1 && 2==3 && (3==3 || 5==5 ))
|
|
echo 'Vrai';
|
|
else
|
|
echo 'Faux';
|
|
echo EOL;
|
|
die();
|
|
$siren=391032455;
|
|
//572014199;
|
|
//552144503;
|
|
|
|
$iWs=new WsEntreprise();
|
|
|
|
$tabRatios=@$iWs->getRatios($siren);
|
|
//print_r($tabRatios);
|
|
$iMax=count($tabRatios['result']['RatiosEntrep'])-1;
|
|
|
|
$r=$a=array();
|
|
for ($i=$iMax;$i>=0;$i--)
|
|
$r[]=$tabRatios['result']['RatiosEntrep'][$i]['r6']/1000;
|
|
|
|
for ($i=$iMax;$i>=0;$i--)
|
|
$a[]=substr($tabRatios['result']['BilansInfos'][$i]['dateCloture'],0,4)*1;
|
|
|
|
$y3=$r;//array(150, 155, 160, 165 ,170 ,175 ,180 ,185 ,190);
|
|
$x3=$a;//array(2000,2001,2002,2003,2004,2005,2006,2007,2008);
|
|
/*
|
|
|
|
$y3=array(150, 155, 160, 165 ,170 ,175 ,180 ,185 ,190);
|
|
$x3=array(2000,2001,2002,2003,2004,2005,2006,2007,2008);
|
|
*/
|
|
|
|
print("Années :".EOL);
|
|
print_r($a);
|
|
print("CA :".EOL);
|
|
print_r($r);
|
|
|
|
$oReg= new Regression($y3,$x3);
|
|
|
|
for ($i=0; $i<5; $i++) {
|
|
print("Meth $i".EOL);
|
|
print_r($oReg->OptMV($i));
|
|
|
|
print("Meth OPT".EOL);
|
|
print_r($oReg->GetOpt());
|
|
|
|
$an=3;
|
|
print("Projection à $an:".EOL);
|
|
print_r($oReg->GetProjection($an));
|
|
|
|
echo "Taux de Progression de ".$oReg->TauxProgression($an).EOL;
|
|
}
|
|
|
|
?>
|