171 lines
5.5 KiB
PHP
171 lines
5.5 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
error_reporting(E_ALL ^ E_NOTICE);
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
|
Programme automatique de consolidation des annonces Bodacc.
|
|
|
|
Options :
|
|
-f Récupération des informations dirigeants en IG/FP*
|
|
-i:XXX Reprendre à la ligne XXX
|
|
|
|
(*) Options non encore opérationnelles !
|
|
";
|
|
$semiManuel=$sansPropo=$toutes=$index=false;
|
|
|
|
$mInsee=new MInsee();
|
|
|
|
$argv=$_SERVER['argv'];
|
|
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
|
|
else {
|
|
for ($i=1; isset($argv[$i]); $i++) {
|
|
if (substr($argv[$i],0,1)=='-') {
|
|
switch (substr($argv[$i],1,1)) {
|
|
case 's':
|
|
$semiManuel=true;
|
|
break;
|
|
case 'p':
|
|
$sansPropo=true;
|
|
break;
|
|
case 'a':
|
|
$toutes=true;
|
|
break;
|
|
case 'i':
|
|
$index=trim(substr($argv[$i],3));
|
|
break;
|
|
case '-':
|
|
case '?':
|
|
die($strInfoScript);
|
|
break;
|
|
default:
|
|
die('Option '. $argv[$i] . " inconnue !\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de post traitement des annonces BODACC...".EOL;
|
|
$iDb=new WDB('jo');
|
|
$iDbInsee=new WDB('insee');
|
|
/*
|
|
$nbPP=$iDbInsee->select('identite', 'SIREN, NOM, CIVILITE, DIR_IDEN, DIR_DATEN, DIR_LIEUN', "(CJ BETWEEN 10 AND 19 OR CJ BETWEEN 1000 AND 1999) AND DIR_IDEN <> '' AND (DIR_DATEN<>0 OR DIR_LIEUN <> '') GROUP BY SIREN",false,MYSQL_ASSOC,true);
|
|
$dateInsert=date('YmdHis');
|
|
while ($tab=$iDbInsee->fetch(MYSQL_ASSOC)) {
|
|
$siren=$tab['SIREN']*1;
|
|
$nom=$prenom=$naissNom='';
|
|
if ($tab['CIVILITE']==1) $civ='M';
|
|
elseif ($tab['CIVILITE']==2) { $civ='MME'; $naissNom=strtr($tab['NOM'],'/*',' '); }
|
|
else $civ='';
|
|
|
|
$tabId=explode(' ', $tab['DIR_IDEN']);
|
|
foreach ($tabId as $mot) {
|
|
if (strtoupper($mot)==$mot) {
|
|
$nom.=' '.$mot;
|
|
$naissNom=str_ireplace($mot,'',$naissNom);
|
|
}
|
|
else {
|
|
$prenom.=' '.$mot;
|
|
$naissNom=str_ireplace($mot,'',$naissNom);
|
|
}
|
|
}
|
|
$nom=trim($nom);
|
|
$prenom=trim($prenom);
|
|
$naissNom=strtoupper(trim($naissNom));
|
|
$naissDate=$tab['DIR_DATEN'];
|
|
$naissLieu=trim($tab['DIR_LIEUN']);
|
|
|
|
echo $siren.' '.trim($tab['DIR_IDEN'])."\t:\t$civ Nom='$nom', Prenom='$prenom', Usage='$naissNom' né le $naissDate à $naissLieu\t";
|
|
//echo "?";
|
|
//$saisie = trim(strtoupper(fgets(STDIN)));
|
|
|
|
//$civ='M', 'MME', 'MLLE')
|
|
$tabUpdate=array( 'siren'=>$siren,
|
|
'raisonSociale'=>strtr($tab['NOM'],'/*',' '),
|
|
'civilite'=>$civ,
|
|
'nom'=>$nom,
|
|
'prenom'=>$prenom,
|
|
'naissance_nom'=>$naissNom,
|
|
'naissance_date'=>$naissDate,
|
|
'naissance_lieu'=>$naissLieu,
|
|
'fonction_code'=>1050,
|
|
'fonction_lib'=>'Personne physique',
|
|
'actif'=>1,
|
|
'dateInsert'=>$dateInsert);
|
|
if (!$iDb->insert('rncs_dirigeants', $tabUpdate))
|
|
echo "ERREUR !!!\n";
|
|
else
|
|
echo "OK\n";
|
|
//die();
|
|
}
|
|
*/
|
|
|
|
$client = new SoapClient(null, array( 'trace' => 1,
|
|
'soap_version' => SOAP_1_1,
|
|
'location' => 'http://localhost/ws/',
|
|
'uri' => 'http://localhost/',
|
|
'login' => 'ylenaour',
|
|
'password' => 'bzh4231*'));
|
|
|
|
// Faire tourner en auto ce programme pour l'ensemble des annonces Bodacc à compter du 9 juin 2008
|
|
|
|
//$nbBod=$iDb->select('bodacc_detail d LEFT JOIN rncs_dirigeants r ON d.siren=r.siren', 'd.siren, Bodacc_Date_Parution, typeEven, d.raisonSociale, dateJugement',"d.siren>1000 AND
|
|
/*siren between 490000001 AND 500000000 AND */
|
|
//r.siren IS NULL AND
|
|
//Bodacc_Date_Parution>='2008-10-08' AND (
|
|
// typeEven LIKE '%1500%' OR typeEven LIKE '%1501%' OR typeEven LIKE '%1502%' OR typeEven LIKE '%1503%' OR /* CIA */
|
|
// typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR /* IG FP */
|
|
// typeEven LIKE '%2202%' OR typeEven LIKE '%2203%' OR typeEven LIKE '%2204%' or typeEven LIKE '%2210%' /* DISSOLUTION */
|
|
// )
|
|
//GROUP BY d.siren
|
|
//ORDER BY Bodacc_Date_Parution ASC
|
|
//", true, MYSQL_ASSOC, true);
|
|
|
|
$nbBod=$iDb->select('rncs_requetes', 'siren', "siren>1000 AND type='QINF' AND presta=12001 AND strXml NOT LIKE '%Erreur base%'", true, MYSQL_ASSOC, true);
|
|
|
|
// 1503 : Cloture de la procedure pour insuffisance d'actif
|
|
$rec=0;
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL;
|
|
while ($tab=$iDb->fetch(MYSQL_ASSOC)) {
|
|
/*$tab2=file('/mnt/samba/partage/production/igfp.csv');
|
|
/*shuffle($tab2);
|
|
file_put_contents('/mnt/samba/partage/production/igfp2.csv',implode('', $tab2),FILE_APPEND);*
|
|
$nbBod=count($tab2);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL;
|
|
foreach ($tab2 as $tab) {*/
|
|
|
|
$rec++;
|
|
$siren=$tab['siren']*1;
|
|
/*if ($siren<>417512753) continue;
|
|
else die('Rec='.$rec."\n");*/
|
|
if ($rec<=$index) continue;
|
|
|
|
$even=@$tab['typeEven'];
|
|
$rs=@$tab['raisonSociale'];
|
|
$dateJuge=@$tab['dateJugement'];
|
|
|
|
//print_r($tab);
|
|
$tdeb=microtime(true);
|
|
$O = $client->getDirigeants($siren, false);
|
|
$tfin=microtime(true);
|
|
$duree=$tfin-$tdeb;
|
|
$dirs=$O['result'];
|
|
$nbDirs=count($dirs);
|
|
|
|
echo date ('Y/m/d - H:i:s')." - $rec : Siren $siren, $rs, $even le $dateJuge : $nbDirs dirigeants ($duree)".EOL;
|
|
if ($nbDirs>0) print_r($dirs);
|
|
if ($duree>1){
|
|
echo '...'.EOL;
|
|
//randsleep(7, 21);//,59);
|
|
//randsleep(21,59);
|
|
//randsleep(31,190);
|
|
}
|
|
|
|
}
|
|
|
|
echo date('Y/m/d - H:i:s') ." - FIN du programme de post traitement des annonces BODACC.".EOL;
|
|
die();
|
|
|
|
?>
|