batch/old/setCacheTables.php
2013-06-19 08:24:49 +00:00

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;
}
?>