Update from old server

This commit is contained in:
Michael RICOIS 2013-06-19 08:24:49 +00:00
parent 63d61c3e64
commit 67fd161783
194 changed files with 26614 additions and 12493 deletions

815
1.1/old/base64decode.php Normal file
View File

@ -0,0 +1,815 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
$b64=file_get_contents('/var/www/batch/1234.pdf');
echo base64_decode($b64);
die();
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(FWK_PATH.'mail/sendMail.php');
error_reporting(E_ALL ^ E_NOTICE);
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Sirenage automatique des annonces Bodacc pas encore sirenées.
Options :
-s Sirenage semi-automatique (Ligne de prompt pour les entreprises non sirenées)
-p Sirenage de toutes les annonces sans propositions (en vu du traitement manuel)
-a Re-sirenage de toutes les annonces Bodacc non sirenées !
-i:XXX Reprise à partir du numéro d'annonce XXX
-m Ne pas envoyer l'email d'Information à l'équipe de production
-n Ne pas limiter le nombre d'entités à sirener.
";
$semiManuel=$sansPropo=$toutes=$index=$noLimit=false;
$envoyerMail=true;
$mInsee=new MInsee();
$iBodacc=new MBodacc();
$iDb2=new WDB('jo');
$tabCycles=array();
$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 'm':
$envoyerMail=false;
break;
case 'p':
$sansPropo=true;
break;
case 'a':
$toutes=true;
break;
case 'n':
$noLimit=true;
break;
case 'i':
$index=trim(substr($argv[$i],3));
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
} else $tabCycles[]=$argv[$i];
}
}
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de SIRENAGE...".EOL;
$pertinence=false;
$nbRep=30;
$siege=0;
$tabTables=array(
/* array('db'=>'sugarcrm', 'table2'=>'accounts', 'champRS'=>'name',
'champAdresse'=>'billing_address_street',
'champCP'=>'billing_address_postalcode',
'champVille'=>'billing_address_city',
'champSiren'=>'ticker_symbol',
'champSirenValide'=>'(ticker_symbol<30000 OR ticker_symbol IS NULL)AND deleted')*/
array( // Base 0
'db'=>'jo',
// Table à sirener
'table1'=>'bodacc_detail',
// Jointure
'table2'=>"bodacc_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='bodacc_detail'",
// Champs
'champRS'=>'raisonSociale',
'champAdresse'=>"CONCAT_WS(' ', adrNum,adrLibVoie)",
'champCP'=>'codePostal',
'champVille'=>'ville',
'champSiren'=>'b.siren',
'champNic'=>'nic',
'champSirenValide'=>'sirenValide',
'champNicValide'=>'nicValide'),
array( // Base 1
'db'=>'jo',
// Table à sirener
'table1'=>'annonces',
// Jointure
'table2'=>"annonces b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='annonces'",
// Champs
'champRS'=>'raisonSociale',
'champAdresse'=>'adresse',
'champCP'=>'codePostal',
'champVille'=>'ville',
'champSiren'=>'b.siren',
//'champNic'=>'nic',
'champSirenValide'=>'sirenValide'),
array( // Base 2
'db'=>'jo',
// Table à sirener
'table1'=>'sirenage_clients',
// Jointure
'table2'=>"sirenage_clients b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='sirenage_clients'",
// Champs
'champRS'=>'nom',
'champAdresse'=>"TRIM(CONCAT_WS(' ', adresse1,adresse2,adresse3))",
'champCP'=>'cp',
'champVille'=>'ville',
'champSiren'=>'b.siren',
'champNic'=>'b.nic',
'champSirenValide'=>'sirenValide',
'champNicValide'=>'nicValide'),
array( // Base 3
'db'=>'jo',
// Table à sirener
'table1'=>'asso',
// Jointure
'table2'=>"asso b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren AND s.idTable='asso'",
// Champs
'champRS'=>'Assoc_Nom',
'champAdresse'=>'Assoc_Adresse',
'champCP'=>'NULL',
'champVille'=>'NULL',
'champSiren'=>'b.siren',
'champNic'=>'nic',
'champSirenValide'=>'sirenValide',
'champNicValide'=>'nicValide'),
array( // Base 4
'db'=>'jo',
// Table à sirener
'table1'=>'rncs_dirigeants',
// Jointure
'table2'=>"rncs_dirigeants b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.dirSiren AND s.idTable='rncs_dirigeants'",
// Champs
'champRS'=>'dirRS',
'champAdresse'=>'NULL',
'champCP'=>'NULL',
'champVille'=>'NULL',
'champSiren'=>'b.dirSiren',
//'champNic'=>'nic',
'champSirenValide'=>"b.typeDir='PM' AND b.dirSiren",
//'champNicValide'=>'nicValide',
),
array( // Base 5
'db'=>'jo',
// Table à sirener
'table1'=>'boamp_lots',
// Jointure
'table2'=>"boamp_lots b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='boamp_lots'",
// Champs
'champRS'=>'nom',
'champAdresse'=>'adresse',
'champCP'=>'cp',
'champVille'=>'ville',
'champSiren'=>'b.siren',
//'champNic'=>'b.nic',
'champSirenValide'=>"(Boamp_Code='BOMP C' OR Boamp_Rubrique IN('9','94')) AND sansSuite=0 AND (nom<>'' OR adresse<>'' OR cp<>'' OR ville<>'') AND nom NOT LIKE '%INFRUCTUEU%' AND b.sirenValide",
//'champNicValide'=>'nicValide',
),
array( // Base 6
'db'=>'jo',
// Table à sirener
'table1'=>'boamp_detail',
// Jointure
'table2'=>"boamp_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='boamp_detail'",
// Champs
'champRS'=>'raisonSociale',
'champAdresse'=>'adresse',
'champCP'=>'cp',
'champVille'=>'ville',
'champSiren'=>'b.siren',
//'champNic'=>'b.nic',
'champSirenValide'=>"(raisonSociale<>'' OR adresse<>'' OR cp<>'' OR ville<>'') AND b.sirenValide",
//'champNicValide'=>'nicValide',
),
array( // Base 7
'db'=>'jo',
// Table à sirener
'table1'=>'tourisme',
// Jointure
'table2'=>"tourisme b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='tourisme'",
// Champs
'champRS'=>'nom',
'champAdresse'=>'adresse',
'champCP'=>'adrCp',
'champVille'=>'adrVille',
'champSiren'=>'b.siren',
'champNic'=>'b.nic',
'champSirenValide'=>"b.sirenValide",
'champNicValide'=>'b.nicValide',
),
array( // Base 8
'db'=>'sdv1',
// Table à sirener
'table1'=>'fedLiens',
// Jointure
'table2'=>"fedLiens b LEFT JOIN bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren2 AND s.idTable='fedLiens'",
// Champs
'champRS'=>'RS',
'champAdresse'=>'adresse_libvoie',
'champCP'=>'adresse_cp',
'champVille'=>'adresse_ville',
'champSiren'=>'b.siren2',
//'champNic'=>'nic',
'champSirenValide'=>"b.PpPm='PM' AND b.siren2",
//'champNicValide'=>'nicValide',
),
array( // Base 9
'db'=>'bopi',
// Table à sirener
'table1'=>'marques',
// Jointure
'table2'=>"bopi.marques b LEFT JOIN jo.bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.sirenDeposant AND s.idTable='marques'",
// Champs
'champRS'=>'deposantMarque',
'champAdresse'=>"CONCAT_WS(' ',deposant_AdrNum,deposant_AdrTypVoie,deposant_AdrLibVoie,deposant_AdrComp)",
'champCP'=>'deposant_AdrCP',
'champVille'=>'deposant_AdrVille',
'champSiren'=>'b.sirenDeposant',
//'champNic'=>'nic',
'champSirenValide'=>"b.sirenValide",
//'champNicValide'=>'nicValide',
),/*
array( // Base 10 - Ce siren tout le temp !!!
'db'=>'sdv1',
// Table à sirener
'table1'=>'tabCNCC',
// Jointure
'table2'=>"sdv1.tabCNCC b LEFT JOIN jo.bodacc_sirenage s ON s.idAnn=b.id AND s.siren=b.siren AND s.idTable='tabCNCC'",
// Champs
'champRS'=>'nom',
'champAdresse'=>"CONCAT_WS(' ',adresse,adresse2)",
'champCP'=>'cp',
'champVille'=>'ville',
'champSiren'=>'b.siren',
'champNic'=>'nic',
'champSirenValide'=>"sirenValide",
'champNicValide'=>'nicValide',
), */
);
//$iDb2=new WDB('modelisation');
foreach ($tabTables as $i=>$table) { // On boucle sur chaque table
if (count($tabCycles)>0 && !in_array($i, $tabCycles)) continue;
$iDb=new WDB($table['db']);
$tableDB=$table['table2'];
if ($iDb === false) die('Could not select database: ' . $iDb->getLastError());
if (!$sansPropo) $strOptions=" AND s.idAnn IS NULL AND s.siren IS NULL ";
else $strOptions="";
//if ($toutes) { $tableDB=$table['table1'].' b'; $strOptions=''; }
if ($index) $strOptions.=' AND b.id>='.$index;
//if ($index) $strOptions.=' AND id>='.$index;
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, nomCommercial, enseigne, sigle, adrNum, adrSiegeNum, '.$table['champAdresse'].' as Adr, CONCAT_WS(adrNum," ",adrLibVoie) as AdrSiege, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, codePostalSiege, villeSiege, Rubrique_Bodacc, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Tribunal_Code, dateJugement, DATE_FORMAT(dateJugement, \'%w\') as jourJugement, DATE_FORMAT(dateJugement, \'%d\') as jjJugement';
//if ($i==0)
// $strOptions.=" OR b.typeEven LIKE '%1515%' ";//OR b.typeEven LIKE '%1517%' OR b.typeEven LIKE '%1520%' OR b.typeEven LIKE '%1999%'
// codeEven==1515 || $codeEven==1517 || $codeEven==1520 ||$codeEven==1999))
if ($i==1)
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
"" AS Rubrique_Bodacc, parutionNum AS Bodacc_Num, dateSource AS Bodacc_Date_Parution, idAnnonce AS Num_Annonce, tribunal AS Tribunal_Code,
dateJugement, DATE_FORMAT(dateJugement, \'%w\') as jourJugement, DATE_FORMAT(dateJugement, \'%d\') as jjJugement';
elseif ($i==2)
$fields='id, '.$table['champSiren'].' as sir, '.$table['champNic'].' as nic, '.$table['champRS'].' as RS, enseigne, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
telephone, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, "" AS Bodacc_Date_Parution, "" AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
elseif ($i==3) {
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, "" AS enseigne, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville,
Type_Annonce AS Rubrique_Bodacc, Num_Parution AS Bodacc_Num, Date_Parution AS Bodacc_Date_Parution, Num_Annonce, Sous_Prefecture AS Tribunal_Code,
Assoc_Date_Declaration2 AS dateJugement, "" as jourJugement, "" as jjJugement';
$strOptions.="";
}
elseif ($i==4)
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, "" AS enseigne, "" as Adr, "" as CP, "" as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, flux AS Bodacc_Date_Parution, 0 AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
elseif ($i==5)
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, Boamp_Rubrique AS Rubrique_Bodacc, "" AS Bodacc_Num, Boamp_Date_Parution AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
elseif ($i==6)
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, Boamp_Rubrique AS Rubrique_Bodacc, "" AS Bodacc_Num, Boamp_Date_Parution AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
elseif ($i==7) {
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, typeClasse AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
} elseif ($i==9) {
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
} elseif ($i==10) {
$fields='id, '.$table['champSiren'].' as sir, '.$table['champRS'].' as RS, '.$table['champAdresse'].' as Adr, '.$table['champCP'].' as CP, '.$table['champVille'].' as ville, "" AS Rubrique_Bodacc, "" AS Bodacc_Num, b.dateInsert AS Bodacc_Date_Parution, s.idAnn AS Num_Annonce, "" AS Tribunal_Code,
"" AS dateJugement, "" as jourJugement, "" as jjJugement';
$strOptions=" AND cp IS NOT NULL ";
}
$where=$table['champSirenValide']."=0 ";
if ($i<>2 && $i<>4 && $i<>7 && $i<>9 && $i<>10) {
$where.=" AND idSuppr=0";
}
if ($noLimit)
$strOptions.=" ORDER BY id DESC";
else
$strOptions.=" /*AND id>768245*/ ORDER BY id ASC LIMIT 0,5000";
$where.=" $strOptions ";
echo date('Y/m/d - H:i:s') ." - REQUETE SQL = SELECT $fields FROM $tableDB WHERE $where;".EOL;
//$listeNonSirene=$iDb->select($tableDB, $fields, $where, true, MYSQL_ASSOC);
$nbNonSirene=$iDb->select($tableDB, $fields, $where, true, MYSQL_ASSOC, true);
//echo date('Y/m/d - H:i:s') ." - Nombre d'entitées non SIRENEES : ". count($listeNonSirene) . EOL;
echo date('Y/m/d - H:i:s') ." - Nombre d'entitées non SIRENEES : ".$nbNonSirene . EOL;
$k=0;
//foreach ($listeNonSirene as $k=>$entrep) {
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$lastId=$entrep['id'];
// $listeNonSirene as $k=>$entrep) {
$k++;
//if ($k==1000) die();
/* Vérifier dans la table failure
if (substr($entrep['Rubrique_Bodacc'],0,1)=='A') $codJournal='001';
else $codJournal='200';
$failures=$iDb2->select('failures', 'SIREN, NIC, libann, codevt, codtri, SONOM, SOCOM', "codjou='$codJournal' AND datpar='".str_replace('-','',$entrep['Bodacc_Date_Parution'])."' AND numbod='".$entrep['Bodacc_Num']."' AND numannjou='0".$entrep['Num_Annonce']."' AND SIREN NOT LIKE '000000000' GROUP BY SIREN", true);
if (count($failures)==2) {
/** Si plus de 1 siren, il faut vérifier suivant le type de l'annonce à quelle entreprise rattacher le siren manquant
$tabSirF=array();
foreach ($failures as $sirenf)
$tabSirF[]=$sirenf['SIREN'];
$strTabSir=implode(',',$tabSir);
$tabTmp=$iDb->select('bodacc_detail','id, siren, sirenValide', 'id='. $entrep['id'].' ORDER BY sirenValide ASC', true);// ." AND siren NOT IN ($strTabSir)", true);
$tabSir=array();
foreach ($tabTmp as $sirenf)
$tabSir[]=$sirenf['siren'];
/*echo "Failures:\n";
print_r($failures);
echo "S&D:\n";
print_r($tabTmp);
echo "Diff:\n";
$tabTmp2=array_diff($tabSirF,$tabSir);
$siren=$tabTmp2[0]; // Valeur du Siren à prendre pour la mise à jour
$sir=$tabTmp[0]['siren']; // Sir à mettre à jour
//$nom=$entrep['SONOM'];
//$vil=$entrep['SOCOM'];
echo "Trouvé = $siren !\n";
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>2), 'id='.$entrep['id'].' AND siren='.$sir, true) or die($iDb->getLastError());
//die();
// On efface l'information de la table A sirener au cas où !
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$sir);
} elseif (count($failures)==1) {
echo "Une seule correspondance failures:\n";
print_r($failures);
$siren=$failures[0]['SIREN']; // Valeur du Siren à prendre pour la mise à jour
//$sir=$tabTmp[0]['siren']; // Sir à mettre à jour
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>2), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true);// or die($iDb->getLastError());
// On efface l'information de la table A sirener au cas où !
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']);
//die();
/*} elseif (count($failures)>2) {
echo "Plus de 2 correspondance failures:\n";
print_r($failures);
die();
} else { // Pas trouvé dans failures
**/
$raisonSociale=preg_replace("/,(.*)\)/",'',$entrep['RS']);
if ($i==5 || $i==6)
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.$raisonSociale.' ',array(' VILLE '=>' COMMUNE ',
' CONSEIL GENERAL '=>' DEPARTEMENT ',
))));
/* $raisonSociale=strtoupper(strtr($raisonSociale, '/(),-\\\'":',' '));
$raisonSociale=preg_replace('/[^0-9A-Z]/', ' ', strtr($raisonSociale, 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
$raisonSociale=preg_replace("/GERANT (.*)/",'', $raisonSociale);
$raisonSociale=preg_replace("/^(MLLE |MELLE |MLE |MME |ME |M |MR )/",'', $raisonSociale);
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.$raisonSociale.' ',
array(' NEE '=>' ', ' DIVORCEE '=>' ', ' DENOMINATION '=>' ',' D NOMINATION '=>' ', ' NOM D USAGE '=>' ', ' ASSOCIATION '=>' ',' CLUB '=>' ', ' SUCCESSION '=>' ', ' CONJOINT '=>' ', ' COLLABORATEUR '=>' ', ' VEUVE '=>' ', // FEU
' S E L A R L '=>' ', ' S A R L '=>' ', ' S A S '=>' ', ' S A '=>' ', ' S C I '=>' ', ' S N C '=>' ', ' S C P '=>' ', ' S C E A '=>' ', ' S C A '=>' ', ' E U R L '=>' ', ' E A R L '=>' ', ' E A R '=>' ', ' E A '=>' ', ' S C '=>' ',
' SELARL '=>' ', ' SARL '=>' ', ' SAS '=>' ', ' SA '=>' ', ' SCI '=>' ', ' SNC '=>' ', ' SCP '=>' ', ' SCEA '=>' ', ' SCA '=>' ', ' EURL '=>' ',
' EARL '=>' ', ' EAR '=>' ', ' EA '=>' ',' SC '=>' ',
' DE '=>' ',' ET '=>' ',' LA '=>' ',' DU '=>'', ' DES '=>' ', ' L '=>' ', ' SOCIETE '=>' ', ' MONSIEUR '=>' ', ' MADAME '=>' ', ' STE '=>' ', ' CIVILE '=>' ', ' IMMOBILIERE '=>' ',' LIQUIDATION '=>' ', ' DISSOLUTION '=>' ',
))));*/
if ($entrep['CP']<>0) {
$adresse=preg_replace('/[^0-9A-Z]/', ' ', strtr($entrep['Adr'], 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$adresse.' ',
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
$codePostal=$entrep['CP'];
$ville=trim(strtr($entrep['ville'], '/(),',' '));
} else {
$adresse=preg_replace('/[^0-9A-Z]/', ' ', strtr($entrep['AdrSiege'], 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ?', 'aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUYY'));
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$adresse.' ',
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
$codePostal=$entrep['codePostalSiege'];
$ville=trim(strtr($entrep['villeSiege'], '/(),',' '));
}
if ($i==3) {
$strAdresse=$entrep['Adr'];
$tabAdresse=$mInsee->structureVoie($entrep['Adr']);
$adresse=trim(preg_replace("/ +/",' ', strtr(' '.$tabAdresse['libVoie'].' '.$tabAdresse['adrComp0'].' ',
array(' DE '=>' ',' LA '=>' ',' L '=>' ',' BIS '=>' ', ' DU '=>'', ' DES '=>' ',' LES '=>' ', ' A '=>' '))));
$codePostal=$tabAdresse['cp'];
$ville=$tabAdresse['ville'];
// print_r($tabAdresse);
// die();
}
if ($i==2 && $entrep['sir']>1000 && $entrep['nic']>9) {
$sirC=$entrep['sir'];
$nicC=$entrep['nic'];
$tabTmp=$mInsee->getIdentiteLight($sirC, $nicC);
//print_r($tabTmp);
// Entreprise recherchée !
$raisonSociale=strtoupper($entrep['RS']);
$adresse=strtoupper($entrep['Adr']);
$codePostal=strtoupper($entrep['CP']);
$ville=strtoupper($entrep['ville']);
$telephone=strtr(@$entrep['telephone'],array('.'=>'',','=>'',';'=>'','-'=>'','/'=>'','+33'=>'','0033'=>'','('=>'',')'=>'',' '=>''));
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE cli : $sirC $nicC - $raisonSociale, $adresse, $codePostal $ville ($telephone)".EOL;
// Entreprise lue (trouvée)
$raisonSocialeLu=strtoupper($tabTmp['Nom']);
$adresseLu=strtoupper($tabTmp['Adresse']);
$codePostalLu=$tabTmp['CP'];
$villeLu=strtoupper($tabTmp['Ville']);
$sirL=$tabTmp['Siren'];
$nicL=$tabTmp['Nic'];
$telephoneLu=$tabTmp['Tel'];
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : TROUVEE cli : $sirL $nicL - $raisonSocialeLu, $adresseLu, $codePostalLu $villeLu ($telephoneLu)".EOL;
$len=strlen($raisonSociale.$adresse.$codePostal.$ville);
$lenLu=strlen($raisonSocialeLu.$adresseLu.$codePostalLu.$villeLu);
$levRS=levenshtein($raisonSociale,$raisonSocialeLu);
$levAdr=levenshtein($adresse,$adresseLu);
$levCP=levenshtein($codePostal,$codePostalLu);
$levVille=levenshtein($ville,$villeLu);
$levTotal=$levRS+$levAdr+$levCP+$levVille;
$len1=($lenLu+$len)/2;
$ratio1=$levTotal/$len1*1.0;
$ratio2=$len1/$levTotal;
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité $levTotal, $len1 => $ratio1, $ratio2 : ";
if ($ratio1<0.4 && $table['table1']=='sirenage_clients') {
$tabUpdate=array( 'siren'=>$sirL,
'nic'=>$nicL);
$tabUpdate[$table['champSirenValide']]=1;
$tabUpdate[$table['champNicValide']]=1;
$iDb->update($table['table1'], $tabUpdate,
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL);
echo 'VALIDE'.EOL;
continue;
}
echo 'non validé'.EOL;
if ($telephone<>'') {
$tabTmp=$mInsee->getEtablissementsParId('TEL', $telephone, $deb, $nbRep, $maxRep);
$tabTrouve=$tabTmp['reponses'];
if ($tabTmp[nbReponses]>0) {
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité TELEPHONE => $ratio1, $ratio2 : ";
if ($tabTmp[nbReponses]==1 && $tabTrouve[0]['Siren']==$sirC) {
$tabTrouv=$tabTrouve[0];
$tabUpdate=array( 'siren'=>$sirC,
/*'nic'=>$nicL*/);
$tabUpdate[$table['champSirenValide']]=1;
$tabUpdate[$table['champNicValide']]=1;
$iDb->update($table['table1'], $tabUpdate,
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL);
echo 'VALIDE'.EOL;
continue;
}
echo 'non validé'.EOL;
}
}
}
$deb=0;$nbRep=20;$maxRep=20;$actif='';
$tabTmp=$mInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
/** On recherche au nom Commercial **/
/* if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
/** On recherche à l'enseigne **/
/* if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
/** On recherche au sigle **/
/* if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
/** On présume que le code postal n'est pas bon **/
/* if (count($tabTrouve)==0) {
$tabTmp=$mInsee->rechercheEtab($raisonSociale, $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et nom Commercial
if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et à l'enseigne
if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et au sigle
if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
/**
** On présume que le numéro dans la rue est faux
**/
/* if (count($tabTrouve)==0) {
$tabTmp=$mInsee->rechercheEtab($raisonSociale, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et nom Commercial
if (count($tabTrouve)==0 && trim($entrep['nomCommercial'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['nomCommercial'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et à l'enseigne
if (count($tabTrouve)==0 && trim($entrep['enseigne'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['enseigne'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// et au sigle
if (count($tabTrouve)==0 && trim($entrep['sigle'])<>'') {
$tabTmp=$mInsee->rechercheEtab($entrep['sigle'], trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
// Recherche par le dernier mot de la RS
if (count($tabTrouve)==0) {
$tabMot=explode(' ', $raisonSociale);
$rsFin=end($tabMot);
$rsDeb=end($tabMot);
if (strlen($motFin)>3)
$tabTmp=$mInsee->rechercheEtab($rsFin, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
elseif (strlen($motDeb)>3)
$tabTmp=$mInsee->rechercheEtab($rsDeb, trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))), $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
if (count($tabTrouve)==0) {
$tabMot=explode(' ', trim(strtoupper(preg_replace("/[0-9]{1,4} /i",' ',strtr($adresse, '/(),-',' ')))));
$adrFin=end($tabMot);
if (strlen($adrFin)>3) {
$tabTmp=$mInsee->rechercheEtab($rsFin, $adrFin, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
}
if (count($tabTrouve)==0) {
$tabMot=explode(' ', $ville);
$vilFin=end($tabMot);
if (strlen($vilFin)>3) {
$tabTmp=$mInsee->rechercheEtab($rsFin, $adrFin, '', $vilFin, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
}
}
/** Si l'adresse est "exhaustive", on cherche sans la raison sociale **/
/* if (count($tabTrouve)==0 && ($entrep['adrNum']<>0 || $entrep['adrSiegeNum']<>0)) {
$tabTmp=$mInsee->rechercheEtab('', $adresse, $codePostal, '', $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
/** Si l'adresse est "exhaustive", on cherche sans la raison sociale **/
/* if (count($tabTrouve)==0 && ($entrep['adrNum']<>0 || $entrep['adrSiegeNum']<>0)) {
$tabTmp=$mInsee->rechercheEtab('', $adresse, '', $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=$tabTmp['reponses'];
}
*/
//$adresse=trim(strtoupper(preg_replace("/[0-9]{1,4}( rue | avenue | boulevard )/i",'',strtr($entrep['Adr'], '/(),-',' '))));
//$ville=trim(strtr($entrep['Ville'], '/(),',' '));
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE DE ". $entrep['id'].', '.$entrep['sir'].' : '.$raisonSociale.', '.$adresse.', '.$codePostal.' '.$ville.' ('.count($tabTrouve). " réponses)".EOL;
$tabAnn=$iDb2->select('bodacc', 'annonce', 'id='.$entrep['id']);
$annonce=$tabAnn[0][0];
//die($annonce);
if ($i==3) {
$tabTrouve2=array();
if (is_array($tabTrouve) && count($tabTrouve)>0)
foreach ($tabTrouve as $iT=>$tabTrouveT)
if ($tabTrouveT['FJ']>=9100 && $tabTrouveT['FJ']<=9300 &&
$tabTrouveT['Siret']>=1000) $tabTrouve2[]=$tabTrouveT;
$tabTrouve=$tabTrouve2;
}
if (count($tabTrouve)==1) {
$entrepT=$tabTrouve[0];
$siren=substr($entrepT['Siret'],0,9);
$nic=substr($entrepT['Siret'],9,5);
// Entreprise recherchée !
$raisonSociale=strtoupper($entrep['RS']);
$adresse=strtoupper($entrep['Adr']);
$codePostal=strtoupper($entrep['CP']);
$ville=strtoupper($entrep['ville']);
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : RECHERCHE : $raisonSociale, $adresse, $codePostal $ville".EOL;
// Entreprise lue (trouvée)
$raisonSocialeLu=strtoupper($entrepT['Nom']);
$adresseLu=strtoupper($entrepT['Adresse']);
$codePostalLu=$entrepT['CP'];
$villeLu=strtoupper($entrepT['Ville']);
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : TROUVEE : $raisonSocialeLu, $adresseLu, $codePostalLu $villeLu".EOL;
//die(print_r($entrep));
$len=strlen($raisonSociale.$adresse.$codePostal.$ville);
$lenLu=strlen($raisonSocialeLu.$adresseLu.$codePostalLu.$villeLu);
$levRS=levenshtein($raisonSociale,$raisonSocialeLu);
$levAdr=levenshtein($adresse,$adresseLu);
$levCP=levenshtein($codePostal,$codePostalLu);
$levVille=levenshtein($ville,$villeLu);
$levTotal=$levRS+$levAdr+$levCP+$levVille;
$len1=($lenLu+$len)/2;
$ratio1=$levTotal/$len1*1.0;
$ratio2=$len1/$levTotal;
echo "$siren $nic\n";
//print_r($entrepT);//die();
/*if ($table['db']<>'jo')
$iDb->update($tableDB, array($table['champSiren']=>$siren), "id='".$entrep['id']."'", true) or die($iDb->getLastError());
else*/
//print_r($tabTmp);
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : 1 seule possibilité $levTotal, $len1 => $ratio1, $ratio2 : ";
if (($ratio1<0.4 && $table['table1']=='sirenage_clients') ||
($ratio1<0.3 && $table['table1']=='asso' && $siren>1000) ||
($ratio1<0.4 && $table['table1']=='boamp_lots' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
($ratio1<0.4 && $table['table1']=='boamp_detail' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
($ratio1<0.4 && $table['table1']=='marques' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'') ||
($ratio1<0.3 && $table['table1']=='tabCNCC' && $siren>1000 && $raisonSociale<>'' && $adresse<>'' && $codePostal>0 && $ville<>'')
) {
//print_r($entrepT);die();
// Si bon rapprochement, on ne demande pas de confirmation !
if ($table['table1']=='boamp_lots' || $table['table1']=='boamp_detail') {
$tabUpdate=array( 'siren'=>$siren,
'nic'=>$nic);
$tabUpdate['sirenValide']=1;
$tabUpdate['nicValide']=1;
} elseif ($table['table1']=='marques') {
$tabUpdate=array( 'sirenDeposant'=>$siren,
'sirenValide'=>4);
} else {
$tabUpdate=array( 'siren'=>$siren,
'nic'=>$nic);
$tabUpdate[$table['champSirenValide']]=1;
$tabUpdate[$table['champNicValide']]=1;
}
$iDb->update($table['table1'], $tabUpdate,
"id='".$entrep['id']."'", false, 0, true) or die('ERREUR 1'.$iDb->getLastError().EOL.print_r($tabUpdate,1).EOL.$table['table1']);
echo 'VALIDE'.EOL;
continue;
}
echo 'non validé'.EOL;
//fgets(STDIN);
if (trim($siren)<>'') {
/* $tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true);
if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren
//$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true);
} else
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die('ERREUR : '.$iDb->getLastError());
// On efface l'information de la table A sirener au cas où !
//$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die('ERREUR : '.$iDb->getLastError());
*/
$tabInsert=array( 'idAnn'=>$entrep['id'],
'idTable'=>$table['table1'],
'siren'=>$entrep['sir'],
'siretProposes'=>$siren,
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
);
if ($iDb2->insert('bodacc_sirenage', $tabInsert, false, true))
$iDb2->update('bodacc_sirenage', array('siretProposes'=>$siren), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'", false, 0, true) or die('ERREUR 2 : '.$iDb->getLastError().EOL.print_r($tabInsert, true).EOL.'idAnn='.$entrep['id']." AND siren=".$entrep['sir']." AND idTable='".$table['table1']."'");
}
} elseif (count($tabTrouve)==0) {
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : Pas de réponse !".EOL;
$tabInsert=array( 'idAnn'=>$entrep['id'],
'idTable'=>$table['table1'],
'siren'=>$entrep['sir'],
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
);
if (!$iDb2->insert('bodacc_sirenage', $tabInsert, false, true))
$iDb2->update('bodacc_sirenage', array('siretProposes'=>''), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'", false, 0, true) or die('ERREUR 3 : '.$iDb->getLastError().EOL);
} else { // Plusieurs siren possibles
// print_r($tabTrouve);
// die();
//echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : Plusieurs siren possibles".EOL;
$siren1=substr($tabTrouve[0]['Siret'],0,9);
$nic1=substr($tabTrouve[0]['Siret'],9,5);
$sirenDiff=$sirenNomIdem=$sirenAdrIdem=false;
$tabSiren=array(0=>0);
$tabSiret=array();
foreach ($tabTrouve as $j=>$entrepT) {
if($j==0) echo date('Y/m/d - H:i:s') ." - PROBABLES :".EOL;
$siren=substr($entrepT['Siret'],0,9);
$nic=substr($entrepT['Siret'],9,5);
$tabSiren[]=$siren;
$nomT=strtr($entrep['RS'], '/(),-',' ');
$adresseT=trim(strtoupper(preg_replace("/[0-9]{1,4}(.*)( R | AV | RUE | AVENUE | BD | BOULEVARD )/i",'',strtr($entrepT['Adresse'], '/(),-',' '))));
if (levenshtein($raisonSociale,$nomT)>2) $sirenNomIdem=$siren;
if ($siren<>$siren1) $sirenDiff=true;
if (levenshtein($adresse,$adresseT)<2) $sirenAdrIdem=$siren;
$num=$j+1;
echo "$num. $siren $nic, ". $entrepT['Nom'].', '.$entrepT['Nom2'].', '.$entrepT['Enseigne'].', '.$entrepT['Adresse'].', '.$entrepT['CP'].', '.$entrepT['Ville']."\n";
$tabSiret[]=$entrepT['Siret'].'-'.$entrepT['Pertinence'];
}
echo date('Y/m/d - H:i:s') ." - $k/$nbNonSirene : ".count($tabTrouve)." possibilités :\n";
$tabInsert=array( 'idAnn'=>$entrep['id'],
'idTable'=>$table['table1'],
'siren'=>$entrep['sir'],
'siretProposes'=>implode(';',$tabSiret),
'droitLocal'=>$iBodacc->isAudienceCivile($entrep['Tribunal_Code'], $entrep['dateJugement'], $entrep['jourJugement'], $entrep['jjJugement'], $annonce),
);
//fgets(STDIN);
// if ($sirenDiff==false) {
// Tous les SIREN sont identiques, l'entreprise ttouvée est la bonne !
// echo "$num. Siren trouvé = $siren (tous les Sirens sont identiques) !\n";
// $iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>4, $table['champNicValide']=>0), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die('ERREUR : '.$iDb->getLastError());
// // On efface l'information de la table A sirener au cas où !
// $iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die('ERREUR : '.$iDb->getLastError());
// } else {
// /** On insère en base toutes les multipropositions pour le sirenage manuel */
if ($iDb2->insert('bodacc_sirenage', $tabInsert, false, true)) {
$tabUpdate=array('siretProposes'=>implode(';',$tabSiret));
$strUpdate='idAnn='.$entrep['id'].' AND siren='.$entrep['sir']." AND idTable='".$table['table1']."'";
// print_r($tabUpdate);
// echo $strUpdate.EOL;
$iDb2->update('bodacc_sirenage', $tabUpdate, $strUpdate, false, 0, true) or die('ERREUR 4 : '.$iDb->getLastError());
}
// }
//, 'id='.$entrep['id'].' AND '. $table['champSiren'] .'='.$entrep['sir'], true) or die(mysql_error());
/*elseif ($sirenNomIdem!=false) {
echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n";
if ($table['db']<>'jo')
$iDb->update($tableDB, array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else
$iDb->update($tableDB, array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error());
} elseif ($sirenAdrIdem!=false) {
echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n";
if ($table['db']<>'jo')
$iDb->update($tableDB, array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else
$iDb->update($tableDB, array($table['champSiren']=>$sirenAdrIdem, $table['champSirenValide']=>6), 'id='.$entrep['id'], true) or die(mysql_error());
} else
{ //if ($semiManuel==true);
$saisie='';
while($semiManuel==true && $saisie=='') {
echo "Veuillez saisir le numéro qui identifie la bonne entreprise (0 si pas de réponse) : ";
$saisie = trim(fgets(STDIN));
if ($saisie==0) break;
elseif ($saisie>0 && $saisie<=$j+1) {
$sir=$tabSiren[$saisie];
if ($table['db']<>'jo')
$iDb->update($tableDB, array($table['champSiren']=>$sir), "id='".$entrep['id']."'", true) or die(mysql_error());
else
$iDb->update($tableDB, array($table['champSiren']=>$sir, $table['champSirenValide']=>2),
'id='.$entrep['id'], true) or die(mysql_error());
break;
}
else $saisie='';
}
}*/
}
echo "\n";
}
// $nbSirenage=count($listeNonSirene);
if ($nbNonSirene>9 && $envoyerMail) {
// On n'envoie pas de mails pour le sirenage de l'historique boamp
if ($table['table1']=='boamp_lots' && $lastId7<768245) continue;
/** Envoi d'un email aux Equipes de production pour le sirenage **/
$message="Il y a $nbNonSirene nouveaux rapprochements '".$table['table1']."' à faire.";
sendMail('production@scores-decisions.com', 'jal42@scores-decisions.com', 'Nouvelles entreprises disponibles pour le sirenage.', $message);
}
//}
unset($iDb); // A cause du changement possible de Base de Données
}
echo date('Y/m/d - H:i:s') ." - FIN du programme de SIRENAGE des annonces mal sirenés du BODACC.".EOL;
die();
?>

View File

@ -18,13 +18,16 @@ Options :
-i:XXX Reprendre à la ligne XXX -i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache -c Mettre à jour le cache
-d:SSAAMMJJhhiiss Forcer la date de dernière MAJ à ... -d:SSAAMMJJhhiiss Forcer la date de dernière MAJ à ...
-m:SSAA Recalculer tous les ratios de l'année SSAA
-r:XXX,YYY,... Limiter le calcul au ratios suivant : séparateur virgule
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
$iDeb=0; $iDeb=0;
$updateCache=false; $updateCache=$millesime=$ratio=$modeVerbose=false;
$tabRatiosToCalc=array();
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -37,6 +40,16 @@ for ($i=1; isset($argv[$i]); $i++) {
case 'd': case 'd':
$dateDeb=substr($argv[$i],3)*1; $dateDeb=substr($argv[$i],3)*1;
break; break;
case 'm':
$millesime=substr($argv[$i],3)*1;
break;
case 'r':
$ratio=true;
$tabRatiosToCalc=explode(',',substr($argv[$i],3));
break;
case 'v':
$modeVerbose=true;
break;
case 'c': case 'c':
$updateCache=true; $updateCache=true;
break; break;
@ -96,6 +109,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$lastUpdate=$tabLast[0]['lastInsert']; $lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate']; if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
if ($dateDeb>20000101123000) $lastUpdate=$dateDeb; if ($dateDeb>20000101123000) $lastUpdate=$dateDeb;
$lastDateUpdate=strtr($lastUpdate,array(' '=>'',':'=>'','-'=>''));
echo(date('Y/m/d - H:i:s') ." - La dernière mise à jour des ratios secteurs date du $lastUpdate...".EOL); echo(date('Y/m/d - H:i:s') ." - La dernière mise à jour des ratios secteurs date du $lastUpdate...".EOL);
@ -107,33 +121,49 @@ for ($i=1; isset($argv[$i]); $i++) {
/** On met en table temporaire les siren en cas de plantage du script **/ /** On met en table temporaire les siren en cas de plantage du script **/
$modeSuite=false; $modeSuite=false;
// Date du dernier bilan inseré if ($millesime) {
$tabLast=$iDb->select( 'bilans', // Liste des derniers Bilans insérés depuis le dernier calcul des ratios
'MAX(dateInsert) AS lastDateInsert', $nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateExercice BETWEEN $milles"."0101 AND $millesime"."1231 AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
"siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','A','B') ORDER BY dateInsert DESC"); echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec des bilans millésimes $millesime pour calcul des ratios secteurs...".EOL;
$lastDateBilan=strtr($tabLast[0]['lastDateInsert'],array(' '=>'',':'=>'','-'=>'')); //die();
echo(date('Y/m/d - H:i:s') ." - Le dernier bilan inséré en base date du $lastDateBilan...".EOL); } else {
// Date du dernier bilan inseré
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios $tabLast=$iDb->select( 'bilans',
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true); 'MAX(dateInsert) AS lastDateInsert',
$lastDate=strtr($lastUpdate,array(' '=>'',':'=>'','-'=>'')); "siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC");
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec nouveaux bilans pour calcul des ratios secteurs...".EOL; $lastDateBilan=strtr($tabLast[0]['lastDateInsert'],array(' '=>'',':'=>'','-'=>''));
echo(date('Y/m/d - H:i:s') ." - Le dernier bilan inséré en base date du $lastDateBilan...".EOL);
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec nouveaux bilans pour calcul des ratios secteurs...".EOL;
}
$iDb2->query('DROP TABLE IF EXISTS ratios_tmp;'); $iDb2->query('DROP TABLE IF EXISTS ratios_tmp;');
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL; if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
$strSQL="CREATE TABLE IF NOT EXISTS ratios_tmp ( siren int(9) unsigned zerofill NOT NULL, lastUpdate bigint(14) unsigned zerofill NOT NULL, lastBilan bigint(14) unsigned zerofill NOT NULL, PRIMARY KEY(siren) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;"; $strSQL="CREATE TABLE IF NOT EXISTS ratios_tmp (
siren int(9) unsigned zerofill NOT NULL,
lastUpdate bigint(14) unsigned zerofill NOT NULL COMMENT 'Date de dernière mise à jour de la table ratio',
lastBilan bigint(14) unsigned zerofill NOT NULL COMMENT 'Dernier bilan enregistré dans la table bilan',
millesime year(4) unsigned NULL DEFAULT NULL COMMENT 'Paramètre millesime si défini',
PRIMARY KEY(siren)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='TEMP - Liste des bilans dont il faut calculer les ratios';";
$iDb2->query($strSQL); $iDb2->query($strSQL);
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL; if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$iDb2->insert('ratios_tmp', array('siren'=>$entrep['siren'], 'lastUpdate'=>$lastDate, 'lastBilan'=>$lastDateBilan)); if (!$millesime) $millesimeDb='NULL'; else $millesimeDb=$millesime;
$iDb2->insert('ratios_tmp', array( 'siren' =>$entrep['siren'],
'lastUpdate'=>$lastDateUpdate, // Date de dernière mise à jour de la table ratio
'lastBilan' =>$lastDateBilan, // Dernier bilan enregistré dans la table bilan
'millesime' =>$millesimeDb)); // On enregistre le paramètre millesime
} }
echo date('Y/m/d - H:i:s') ." - Les éléments ont été mis en table temporaire en cas de reprise sur erreur !".EOL; echo date('Y/m/d - H:i:s') ." - Les éléments ont été mis en table temporaire en cas de reprise sur erreur !".EOL;
$nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate, lastBilan', "1", false, MYSQL_ASSOC, true); $nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate, lastBilan, millesime', "1", false, MYSQL_ASSOC, true);
} }
$k=0; // Compteur d'entreprises $k=0; // Compteur d'entreprises
$b=0; // Compteur total de bilans $b=0; // Compteur total de bilans
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if ($modeSuite && $k==0) $lastDate=$entrep['lastUpdate']; if ($modeSuite && $k==0) $lastDateUpdate=$entrep['lastUpdate'];
$millesime=$entrep['millesime'];
$k++; $k++;
if ($k<$iDeb) continue; if ($k<$iDeb) continue;
@ -158,52 +188,68 @@ for ($i=1; isset($argv[$i]); $i++) {
$nbBilansTot=count($tabBilans); $nbBilansTot=count($tabBilans);
$tabBilans2=array(); $tabBilans2=array();
foreach ($tabBilans as $mil=>$infosBilan) { foreach ($tabBilans as $mil=>$infosBilan) {
/** On vérifie s'il n'y a pas de Bilans vides **/ /** On vérifie s'il n'y a pas de Bilan vide **/
if ($infosBilan['dureeExercice']==0) { if ($infosBilan['dureeExercice']==0) {
print_r($infosBilan); if ($modeVerbose) {
echo date('Y/m/d - H:i:s') ." - Erreur : Bilans vide en base pour le siren $siren !".EOL; print_r($infosBilan);
echo date('Y/m/d - H:i:s') ." - Erreur : Bilans vide en base pour le siren $siren !".EOL;
}
$iDb2->delete('ratios_tmp', "siren=$siren");
continue(2); continue(2);
} }
/** On ne garde que les Bilans dont la date de provenance est > à la date de dernière Mise à jour /** On ne garde que les Bilans dont la date de provenance est > à la date de dernière Mise à jour
** car les ratios secteurs des autres bilans on déjà été calculés ! **/ ** car les ratios secteurs des autres bilans on déjà été calculés ! **/
if ($infosBilan['dateInsert']>=$lastDate) if ($millesime && $infosBilan['millesime']==$millesime)
//echo "APRES ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime'].EOL;
$tabBilans2[$mil]=$infosBilan; $tabBilans2[$mil]=$infosBilan;
elseif (!$millesime && $infosBilan['dateInsert']>=$lastDateUpdate)
$tabBilans2[$mil]=$infosBilan;
/*else
echo "DALLE ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime']." ### QUE DALLE !!!!".EOL;*/
} }
$nbBilans=count($tabBilans2); $nbBilans=count($tabBilans2);
$tabBilan=$tabBil=array(); $tabBilan=$tabBil=array();
if ($nbBilans==0) { if ($nbBilans==0) {
print_r($tabBilans2); if ($modeVerbose) {
echo date('Y/m/d - H:i:s') ." - Erreur : Aucun nouveau bilan en base pour le siren $siren sur les $nbBilansTot bilans !".EOL; print_r($tabBilans2);
print_r($tabBilans); echo date('Y/m/d - H:i:s') ." - Erreur : Aucun nouveau bilan en base pour le siren $siren sur les $nbBilansTot bilans !".EOL;
//die(); print_r($tabBilans);
}
$iDb2->delete('ratios_tmp', "siren=$siren");
continue; continue;
} }
$tabRatios=@calculRatios($tabBilans2, $tabIdentite, false); $tabRatios=@calculRatios($tabBilans2, $tabIdentite, false, 999);
if (strlen($naf)>4) $naf5=$naf; else $naf4=$naf; if (strlen($naf)>4) $naf5=$naf; else $naf4=$naf;
if ($tabBilan[0]['CONSOLIDE']=='A') $naf4='ASSU'; if ($tabBilan[0]['CONSOLIDE']=='A') $naf4='ASSU';
elseif ($tabBilan[0]['CONSOLIDE']=='B') $naf4='BANQ'; elseif ($tabBilan[0]['CONSOLIDE']=='B') $naf4='BANQ';
if ($naf4=='ASSU' || $naf4=='BANQ') { if ($modeVerbose && ($naf4=='ASSU' || $naf4=='BANQ')) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Calcul des ratios : Attention bilan de Banque ou Assurance", "Siren $siren, bilan $naf4".EOL.print_r($tabBilans)); //sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Calcul des ratios : Attention bilan de e", "Siren $siren, bilan $naf4".EOL.print_r($tabBilans));
echo "Bilan '$naf4' pour le siren $siren et l'année $annee !".EOL;
} }
foreach ($tabFormules as $f=>$formule) { foreach ($tabFormules as $f=>$formule) {
foreach ($tabRatios as $i=>$R) { foreach ($tabRatios as $i=>$R) {
if ($f==0) $b++;
$id=$formule['id']; $id=$formule['id'];
// Si on demande seulement le calcul d'un ratio alors on vérifie le numéro du ratio
if ($ratio && !in_array($id, $tabRatiosToCalc)) continue;
if ($f==0) $b++;
// Si on n'est pas une banque/assurance, on ne calcul pas les ratios 700 à 799 // Si on n'est pas une banque/assurance, on ne calcul pas les ratios 700 à 799
if ($naf4<>'ASSU' && $naf4<>'BANQ' && $id>=700 && $id<800) if ($naf4<>'ASSU' && $naf4<>'BANQ' && $id>=700 && $id<800)
continue; continue;
$annee=substr($tabBilan[$i]['DATE_CLOTURE'],0,4); $annee=substr($tabBilan[$i]['DATE_CLOTURE'],0,4);
// Si on demande seulement le calcul d'un millésime alors on vérifie la date du bilan
if ($millesime && $annee<>$millesime) continue;
if ($R[$id]==='NS' || $R[$id]===false ) if ($R[$id]==='NS' || $R[$id]===false ) {
//echo "Le ratio n°$id est non significatif (".$R[$id].") pour le siren $siren et l'année $annee !".EOL; if ($modeVebose) echo "Le ratio n°$id est non significatif (".$R[$id].") pour le siren $siren et l'année $annee !".EOL;
continue; continue;
}
/** Si c'est un ratio EUR, on le passe en K€ **/ /** Si c'est un ratio EUR, on le passe en K€ **/
if ($formule['unite']=='EUR') $mt=$R[$id]/1000; if ($formule['unite']=='EUR') $mt=$R[$id]/1000;
@ -211,10 +257,10 @@ for ($i=1; isset($argv[$i]); $i++) {
/** On vérifie les bornes MIN et MAX **/ /** On vérifie les bornes MIN et MAX **/
if ($formule['min']<>'' && $mt<$formule['min']) { if ($formule['min']<>'' && $mt<$formule['min']) {
echo "Ratio n°$id, borne Mini non nulle (".$formule['min'].") et le montant est inférieur : $mt<".$formule['min']." pour le siren $siren et l'année $annee".EOL; if ($modeVerbose) echo "Ratio n°$id, borne Mini non nulle (".$formule['min'].") et le montant est inférieur : $mt<".$formule['min']." pour le siren $siren et l'année $annee".EOL;
continue; continue;
} elseif ($formule['max']<>'' && $mt>$formule['max']) { } elseif ($formule['max']<>'' && $mt>$formule['max']) {
echo "Ratio n°$id, borne Maxi non nulle (".$formule['max'].") et le montant est supérieur : $mt>".$formule['max']." pour le siren $siren et l'année $annee".EOL; if ($modeVerbose) echo "Ratio n°$id, borne Maxi non nulle (".$formule['max'].") et le montant est supérieur : $mt>".$formule['max']." pour le siren $siren et l'année $annee".EOL;
continue; continue;
} //else } //else
//echo "Ratio n°$id compris entre bornes ".$formule['min']." < $mt < ".$formule['max']." pour le siren $siren et l'année $annee".EOL; //echo "Ratio n°$id compris entre bornes ".$formule['min']." < $mt < ".$formule['max']." pour le siren $siren et l'année $annee".EOL;

315
1.1/old/calculRatios2.php Normal file
View File

@ -0,0 +1,315 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
error_reporting(E_ALL & ~E_NOTICE);
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.'partenaires/classMGreffes.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Calcul des ratios de toute la base entreprise S&D.
Options :
-t Calculer tous les ratios (*)
-i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache
-d:SSAAMMJJhhiiss Forcer la date de dernière MAJ à ...
-m:SSAA Recalculer tous les ratios de l'année SSAA
-r:XXX,YYY,... Limiter le calcul au ratios suivant : séparateur virgule
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers
*/
$iDeb=0;
$updateCache=$millesime=$ratio=$modeVerbose=false;
$tabRatiosToCalc=array();
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (strtolower(substr($argv[$i],1,1))) {
case 't':
break;
case 'i':
$iDeb=substr($argv[$i],3)*1;
break;
case 'd':
$dateDeb=substr($argv[$i],3)*1;
break;
case 'm':
$millesime=substr($argv[$i],3)*1;
break;
case 'r':
$ratio=true;
$tabRatiosToCalc=explode(',',substr($argv[$i],3));
break;
case 'v':
$modeVerbose=true;
break;
case 'c':
$updateCache=true;
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . ' inconnue !'.EOL);
break;
}
}
}
//$iDbI=new WDB('insee');
$iDb=new WDB('jo');
$iDb2=new WDB('jo');
$iInsee=new MInsee();
if ($updateCache) {
include_once(INCLUDE_PATH.'scores/classMRatios.php');
if (genereCacheRatios())
echo date('Y/m/d - H:i:s') ." - Le cache des ratios a été généré avec succès !".EOL;
else
echo date('Y/m/d - H:i:s') ." - Erreur lors de la génération du cache des ratios !".EOL;
die();
}
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de calcul des ratios...".EOL;
$tabLast=$iDb->select( 'ratios_formules',
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
'1');
$lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
/** On vérifie la présence du cache de calcul des ratios **/
if (!file_exists(INCLUDE_PATH.'tmp/configMRatios.php'))
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'existe pas !".EOL);
/** On vérifie qu'il n'y a pas de nouvelles formules à mettre dans le cache de calcul des ratios **/
elseif (strtr($lastUpdate, array(':'=>'','-'=>'', ' '=>''))>date('YmdHis',filectime(INCLUDE_PATH.'tmp/configMRatios.php'))) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "ERREUR FATALE, le cache ratio n'est pas à jour !", date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (nouvelles formules ?). Relancer à l'option -c !");
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (nouvelles formules ?). Relancer à l'option -c !".EOL);
}
/** On vérifie que le programme de MAJ du cache n'a pas été modifié **/
elseif (date('YmdHis',filectime(INCLUDE_PATH.'scores/classMRatios.php'))>date('YmdHis',filectime(INCLUDE_PATH.'tmp/configMRatios.php'))) // Le fichier de cache est déprécié
die(date('Y/m/d - H:i:s') ." - ERREUR FATALE : Le cache des calculs de ratio n'est pas à jour (programme modifié). Relancer à l'option -c !".EOL);
include_once(INCLUDE_PATH.'tmp/configMRatios.php');
echo date('Y/m/d - H:i:s') ." - Formules de calcul des ratios déjà en cache.".EOL;
/** Recherche de la dernière mise à jour des ratios secteurs **/
$tabLast=$iDb->select( 'ratios_secteurs',
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
'1');
$lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
if ($dateDeb>20000101123000) $lastUpdate=$dateDeb;
$lastDateUpdate=strtr($lastUpdate,array(' '=>'',':'=>'','-'=>''));
echo(date('Y/m/d - H:i:s') ." - La dernière mise à jour des ratios secteurs date du $lastUpdate...".EOL);
$nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate', "1", false, MYSQL_ASSOC, true);
if ($nbRows>0) {
$modeSuite=true;
echo date('Y/m/d - H:i:s') ." - Il reste $nbRows entreprises pour lesquels il faut mettre à jour les ratios secteurs...".EOL;
} else {
/** On met en table temporaire les siren en cas de plantage du script **/
$modeSuite=false;
if ($millesime) {
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateExercice BETWEEN $milles"."0101 AND $millesime"."1231 AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec des bilans millésimes $millesime pour calcul des ratios secteurs...".EOL;
//die();
} else {
// Date du dernier bilan inseré
$tabLast=$iDb->select( 'bilans',
'MAX(dateInsert) AS lastDateInsert',
"siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','S','',' ','A','B') ORDER BY dateInsert DESC");
$lastDateBilan=strtr($tabLast[0]['lastDateInsert'],array(' '=>'',':'=>'','-'=>''));
echo(date('Y/m/d - H:i:s') ." - Le dernier bilan inséré en base date du $lastDateBilan...".EOL);
// Liste des derniers Bilans insérés depuis le dernier calcul des ratios
$nbRows=$iDb->select( 'bilans', 'DISTINCT siren', "siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','A','B') ORDER BY dateInsert DESC", false, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec nouveaux bilans pour calcul des ratios secteurs...".EOL;
}
$iDb2->query('DROP TABLE IF EXISTS ratios_tmp;');
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
$strSQL="CREATE TABLE IF NOT EXISTS ratios_tmp (
siren int(9) unsigned zerofill NOT NULL,
lastUpdate bigint(14) unsigned zerofill NOT NULL COMMENT 'Date de dernière mise à jour de la table ratio',
lastBilan bigint(14) unsigned zerofill NOT NULL COMMENT 'Dernier bilan enregistré dans la table bilan',
millesime year(4) unsigned NULL DEFAULT NULL COMMENT 'Paramètre millesime si défini',
PRIMARY KEY(siren)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='TABLE TEMPORAIRE - Liste des bilans dont il faut calculer les ratios';";
$iDb2->query($strSQL);
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la création de la table temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if (!$millesime) $millesimeDb='NULL'; else $millesimeDb=$millesime;
$iDb2->insert('ratios_tmp', array( 'siren' =>$entrep['siren'],
'lastUpdate'=>$lastDateUpdate, // Date de dernière mise à jour de la table ratio
'lastBilan' =>$lastDateBilan, // Dernier bilan enregistré dans la table bilan
'millesime' =>$millesimeDb)); // On enregistre le paramètre millesime
}
echo date('Y/m/d - H:i:s') ." - Les éléments ont été mis en table temporaire en cas de reprise sur erreur !".EOL;
$nbRows=$iDb->select( 'ratios_tmp', 'siren, lastUpdate, lastBilan, millesime', "1", false, MYSQL_ASSOC, true);
}
$k=0; // Compteur d'entreprises
$b=0; // Compteur total de bilans
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if ($modeSuite && $k==0) $lastDateUpdate=$entrep['lastUpdate'];
$millesime=$entrep['millesime'];
$k++;
if ($k<$iDeb) continue;
$siren=$entrep['siren'];
if ($siren<100) continue;
// else echo "$siren\n";
$naf4=$naf5='';
unset($mBil);
$mBil=new MBilans($siren);
/** Récupération des informations Identitaires **/
$tabIdentite=@$iInsee->getIdentiteLight($siren);
$naf=$tabIdentite['NafEnt'];
$nafLib=$tabIdentite['NafEntLib'];
$efftr=$tabIdentite['Effectif'];
$fj=$tabIdentite['FJ'];
/** On Recherche le dernier Bilan mis à jour **/
$tabBilans=$mBil->listeBilans();
$nbBilansTot=count($tabBilans);
$tabBilans2=array();
foreach ($tabBilans as $mil=>$infosBilan) {
/** On vérifie s'il n'y a pas de Bilan vide **/
if ($infosBilan['dureeExercice']==0) {
if ($modeVerbose) {
print_r($infosBilan);
echo date('Y/m/d - H:i:s') ." - Erreur : Bilans vide en base pour le siren $siren !".EOL;
}
$iDb2->delete('ratios_tmp', "siren=$siren");
continue(2);
}
/** On ne garde que les Bilans dont la date de provenance est > à la date de dernière Mise à jour
** car les ratios secteurs des autres bilans on déjà été calculés ! **/
if ($millesime && $infosBilan['millesime']==$millesime) {
//echo "APRES ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime'].EOL;
$tabBilans2[$mil]=$infosBilan;
}
elseif (!$millesime && $infosBilan['dateInsert']>=$lastDateUpdate)
$tabBilans2[$mil]=$infosBilan;
/*else
echo "DALLE ### $siren : $nbBilansTot bilans, $millesime = ".$infosBilan['millesime']." ### QUE DALLE !!!!".EOL;*/
}
$nbBilans=count($tabBilans2);
$tabBilan=$tabBil=array();
if ($nbBilans==0) {
if ($modeVerbose) {
print_r($tabBilans2);
echo date('Y/m/d - H:i:s') ." - Erreur : Aucun nouveau bilan en base pour le siren $siren sur les $nbBilansTot bilans !".EOL;
print_r($tabBilans);
}
$iDb2->delete('ratios_tmp', "siren=$siren");
continue;
}
$tabRatios=@calculRatios($tabBilans2, $tabIdentite, false, 999);
if (strlen($naf)>4) $naf5=$naf; else $naf4=$naf;
if ($tabBilan[0]['CONSOLIDE']=='A') $naf4='ASSU';
elseif ($tabBilan[0]['CONSOLIDE']=='B') $naf4='BANQ';
if ($modeVerbose && ($naf4=='ASSU' || $naf4=='BANQ')) {
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Calcul des ratios : Attention bilan de e", "Siren $siren, bilan $naf4".EOL.print_r($tabBilans));
echo "Bilan '$naf4' pour le siren $siren et l'année $annee !".EOL;
}
foreach ($tabFormules as $f=>$formule) {
foreach ($tabRatios as $i=>$R) {
$id=$formule['id'];
// Si on demande seulement le calcul d'un ratio alors on vérifie le numéro du ratio
if ($ratio && !in_array($id, $tabRatiosToCalc)) continue;
if ($f==0) $b++;
// Si on n'est pas une banque/assurance, on ne calcul pas les ratios 700 à 799
if ($naf4<>'ASSU' && $naf4<>'BANQ' && $id>=700 && $id<800)
continue;
$annee=substr($tabBilan[$i]['DATE_CLOTURE'],0,4);
// Si on demande seulement le calcul d'un millésime alors on vérifie la date du bilan
if ($millesime && $annee<>$millesime) continue;
if ($R[$id]==='NS' || $R[$id]===false ) {
if ($modeVebose) echo "Le ratio n°$id est non significatif (".$R[$id].") pour le siren $siren et l'année $annee !".EOL;
continue;
}
/** Si c'est un ratio EUR, on le passe en K€ **/
if ($formule['unite']=='EUR') $mt=$R[$id]/1000;
else $mt=$R[$id];
/** On vérifie les bornes MIN et MAX **/
if ($formule['min']<>'' && $mt<$formule['min']) {
if ($modeVerbose) echo "Ratio n°$id, borne Mini non nulle (".$formule['min'].") et le montant est inférieur : $mt<".$formule['min']." pour le siren $siren et l'année $annee".EOL;
continue;
} elseif ($formule['max']<>'' && $mt>$formule['max']) {
if ($modeVerbose) echo "Ratio n°$id, borne Maxi non nulle (".$formule['max'].") et le montant est supérieur : $mt>".$formule['max']." pour le siren $siren et l'année $annee".EOL;
continue;
} //else
//echo "Ratio n°$id compris entre bornes ".$formule['min']." < $mt < ".$formule['max']." pour le siren $siren et l'année $annee".EOL;
/** Lecture des chiffres existants dans la table ratios_secteurs **/
$tabTmp=$iDb2->select( 'ratios_secteurs',
'montant, nombre, id, naf4, naf5, annee',
"id=$id AND naf4='$naf4' AND naf5='$naf5' AND annee=$annee",
false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$mt2=$mt+$tabTmp[0]['montant'];
$nb2=$tabTmp[0]['nombre'] + 1;
} else {
$mt2=$mt;
$nb2=1;
}
$tabUpdate=array( 'montant' => $mt2,
'nombre' => $nb2,
);
if (!$iDb2->update('ratios_secteurs', $tabUpdate, "id=$id AND naf4='$naf4' AND naf5='$naf5' AND annee=$annee") || $iDb2->getAffectedRows()==0 ) { // getAffectedRows ajouté le 14 mai 2009
$tabInsert=array_merge($tabUpdate, array( 'id'=>$id,
'naf4'=>$naf4,
'naf5'=>$naf5,
'annee'=>$annee,
'dateInsert'=>$lastDateBilan,
));
if (!$iDb2->insert('ratios_secteurs', $tabInsert) && mysql_errno()<>1062) {
$pct=round(($k/$nbRows)*100,2);
echo date('Y/m/d - H:i:s') ." - $k entreprises ($pct %) dont les ratios ont été calculés pour un total de $b bilans ($siren)...".EOL;
echo date('Y/m/d - H:i:s') .' - ERREUR SQL n°'.mysql_errno().' : '.mysql_error().EOL;
die();
}
}
if ($k%1000==0 && $f==0 && $i==0) {
$pct=round(($k/$nbRows)*100,2);
echo date('Y/m/d - H:i:s') ." - $k entreprises ($pct %) dont les ratios ont été calculés pour un total de $b bilans ($siren)...".EOL;
}
}
}
$iDb2->delete('ratios_tmp', "siren=$siren");
if (mysql_errno()>0) echo date('Y/m/d - H:i:s') .' - ERREUR SQL lors de la suppression des informations temporaires, n°'.mysql_errno().' : '.mysql_error().EOL;
}
echo date('Y/m/d - H:i:s') ." - Les ratios ont été mis à jour ; suppression des informations temporaires.".EOL;
$iDb2->query('DROP TABLE IF EXISTS jo.ratios_tmp;');
die(date('Y/m/d - H:i:s') ." - Fin du programme.".EOL);
?>

View File

@ -14,11 +14,11 @@ Calcul des ratios de toute la base entreprise S&D.
Options : Options :
-t Calculer tous les ratios (*) -t Calculer tous les ratios (*)
-i:XXX Reprendre à la ligne XXX -i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache -c Mettre à jour le cache
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
$iDeb=0; $iDeb=0;
@ -65,21 +65,21 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabFormule['f'.$id]['min']=$formule['borneMin']; $tabFormule['f'.$id]['min']=$formule['borneMin'];
$tabFormule['f'.$id]['max']=$formule['borneMax']; $tabFormule['f'.$id]['max']=$formule['borneMax'];
} }
echo date('Y/m/d - H:i:s') ." - Formules mises en mémoire ...".EOL; echo date('Y/m/d - H:i:s') ." - Formules mises en mémoire ...".EOL;
//print_r($tabFormule);die(); //print_r($tabFormule);die();
for ($iDeb=0; $iDeb<=$iFin*$limit; $iDeb+=$limit) { for ($iDeb=0; $iDeb<=$iFin*$limit; $iDeb+=$limit) {
$nbRows=$iDb->select( 'ratios_test2', 'siren, id, naf4, naf5, millesime, montant', "1 LIMIT $iDeb,$limit", false, MYSQL_ASSOC, true); $nbRows=$iDb->select( 'ratios_test2', 'siren, id, naf4, naf5, millesime, montant', "1 LIMIT $iDeb,$limit", false, MYSQL_ASSOC, true);
$iDebAff=$iDeb/$limit; $iDebAff=$iDeb/$limit;
echo date('Y/m/d - H:i:s') ." - Tranche de ratios n°$iDebAff/$iFin...".EOL; echo date('Y/m/d - H:i:s') ." - Tranche de ratios n°$iDebAff/$iFin...".EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if ($tabFormule['f'.$entrep['id']]['unite']=='EUR') $mt=$entrep['montant']/1000; if ($tabFormule['f'.$entrep['id']]['unite']=='EUR') $mt=$entrep['montant']/1000;
else $mt=$entrep['montant']; else $mt=$entrep['montant'];
if ($tabFormule['f'.$entrep['id']]['min']!==NULL && $mt<$tabFormule['f'.$entrep['id']]['min']) { if ($tabFormule['f'.$entrep['id']]['min']!==NULL && $mt<$tabFormule['f'.$entrep['id']]['min']) {
//echo 'Borne Mini non nulle ('.$tabFormule['f'.$entrep['id']]['min'].") et le montant est inférieur : $mt<".$tabFormule['f'.$entrep['id']]['min']."!\n"; //echo 'Borne Mini non nulle ('.$tabFormule['f'.$entrep['id']]['min'].") et le montant est inférieur : $mt<".$tabFormule['f'.$entrep['id']]['min']."!\n";
continue; continue;
} elseif ($tabFormule['f'.$entrep['id']]['max']!==NULL && $mt>$tabFormule['f'.$entrep['id']]['max']) { } elseif ($tabFormule['f'.$entrep['id']]['max']!==NULL && $mt>$tabFormule['f'.$entrep['id']]['max']) {
//echo 'Borne Maxi non nulle ('.$tabFormule['f'.$entrep['id']]['max'].") et le montant est supéreiur : $mt>".$tabFormule['f'.$entrep['id']]['max']."!\n"; //echo 'Borne Maxi non nulle ('.$tabFormule['f'.$entrep['id']]['max'].") et le montant est supéreiur : $mt>".$tabFormule['f'.$entrep['id']]['max']."!\n";
continue; continue;
} /*else } /*else
echo 'Ratio compris entre bornes '.$tabFormule['f'.$entrep['id']]['min']." < $mt < ".$tabFormule['f'.$entrep['id']]['max'].".\n"; echo 'Ratio compris entre bornes '.$tabFormule['f'.$entrep['id']]['min']." < $mt < ".$tabFormule['f'.$entrep['id']]['max'].".\n";
@ -102,7 +102,7 @@ for ($i=1; isset($argv[$i]); $i++) {
'dateInsert'=> $dateInsert, 'dateInsert'=> $dateInsert,
); );
if (!$iDb->insert('ratios_secteurs', $tabInsert)) { if (!$iDb->insert('ratios_secteurs', $tabInsert)) {
echo date('Y/m/d - H:i:s') ." - Erreur MySQL N°".mysql_errno().' : '.mysql_error().EOL; echo date('Y/m/d - H:i:s') ." - Erreur MySQL N°".mysql_errno().' : '.mysql_error().EOL;
print_r($tabInsert); print_r($tabInsert);
} }
} }

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php'); include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné. Calcul des redevances INSEE pour un mois donné.
Options : Options :
-v Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent) -m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX -c:XXX Limiter au client XXX
-t Table de test -t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
} }
$nbUsers=count($tabUser); $nbUsers=count($tabUser);
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/ /** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
$iClient=0; $iClient=0;
foreach ($tabClient as $idClient=>$nomClient) { foreach ($tabClient as $idClient=>$nomClient) {
$iClient++; $iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false); $iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false);
} }
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/ /** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/ /** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/
$iClient=0; $iClient=0;

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php'); include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné. Calcul des redevances INSEE pour un mois donné.
Options : Options :
-v Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent) -m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX -c:XXX Limiter au client XXX
-t Table de test -t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
} }
$nbUsers=count($tabUser); $nbUsers=count($tabUser);
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/ /** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
$iClient=0; $iClient=0;
foreach ($tabClient as $idClient=>$nomClient) { foreach ($tabClient as $idClient=>$nomClient) {
$iClient++; $iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false); $iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false);
} }
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/ /** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/ /** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/
$iClient=0; $iClient=0;

View File

@ -52,13 +52,13 @@ Scorer toute la base entreprise S&D.
Options : Options :
-t Calculer tous les scores (*) -t Calculer tous les scores (*)
-v Mode bavard ou debug -v Mode bavard ou debug
-r Recalculer tous les scores avec indiscore>0 et un encours à 0 ! -r Recalculer tous les scores avec indiscore>0 et un encours à 0 !
-a Calculer tous les anciens ou nouveaux scores -a Calculer tous les anciens ou nouveaux scores
-l Lister les déclencheurs existants pour le recalcul des scores -l Lister les déclencheurs existants pour le recalcul des scores
-d:XXX Lancer le calcul des scores pour le déclencheur XXX -d:XXX Lancer le calcul des scores pour le déclencheur XXX
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
@ -121,7 +121,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$strSelect="s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, s.dateUpdate, s.cs, s.csMoisMaj, s.csMoisFin"; $strSelect="s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, s.dateUpdate, s.cs, s.csMoisMaj, s.csMoisFin";
$tabQueries=array( $tabQueries=array(
/* Bilans Asso déposé(s) */ /* Bilans Asso déposé(s) */
'bilansasso'=> "SELECT $strSelect, 'bilansasso' as source FROM scores_surveillance s, asso_bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren", 'bilansasso'=> "SELECT $strSelect, 'bilansasso' as source FROM scores_surveillance s, asso_bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
//asso_bilans', 'dateCloture, dateCloture*1 as dateClotureNum', "siren=$siren ORDER BY DESC LIMIT 0,5", true, MYSQL_ASSOC); //asso_bilans', 'dateCloture, dateCloture*1 as dateClotureNum', "siren=$siren ORDER BY DESC LIMIT 0,5", true, MYSQL_ASSOC);
/* Privileges Infogreffe */ /* Privileges Infogreffe */
@ -132,7 +132,7 @@ $tabQueries=array(
'impayes'=> "SELECT $strSelect, 'impayes' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='I' AND s.procol NOT IN('P') GROUP BY siren", 'impayes'=> "SELECT $strSelect, 'impayes' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='I' AND s.procol NOT IN('P') GROUP BY siren",
/* Ajout d'un nouveau score */ /* Ajout d'un nouveau score */
'ajout'=> "SELECT $strSelect, 'ajout' AS source FROM scores_surveillance s WHERE s.siren>1000 AND ((DATEDIFF(NOW(),s.indiScoreDate) IS NULL AND s.dateUpdate<DATE(NOW()) OR s.indiScoreDate=0)) GROUP BY siren", 'ajout'=> "SELECT $strSelect, 'ajout' AS source FROM scores_surveillance s WHERE s.siren>1000 AND ((DATEDIFF(NOW(),s.indiScoreDate) IS NULL AND s.dateUpdate<DATE(NOW()) OR s.indiScoreDate=0)) GROUP BY siren",
/* IndiScores demandés ce jour */ /* IndiScores demandés ce jour */
'jour'=> "SELECT $strSelect, 'jour' AS source FROM scores_surveillance s, sdv1.`logs` l WHERE l.siren>1000 AND s.siren=l.siren AND l.page='indiscore' AND l.dateHeure>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren", 'jour'=> "SELECT $strSelect, 'jour' AS source FROM scores_surveillance s, sdv1.`logs` l WHERE l.siren>1000 AND s.siren=l.siren AND l.page='indiscore' AND l.dateHeure>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
/* Dirigeants */ /* Dirigeants */
'dirigeants'=> "SELECT $strSelect, 'dirigeants' AS source FROM scores_surveillance s, rncs_dirigeants d WHERE d.siren>1000 AND s.siren = d.siren AND (d.dateInsert>s.dateUpdate OR d.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren", 'dirigeants'=> "SELECT $strSelect, 'dirigeants' AS source FROM scores_surveillance s, rncs_dirigeants d WHERE d.siren>1000 AND s.siren = d.siren AND (d.dateInsert>s.dateUpdate OR d.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
@ -146,7 +146,7 @@ $tabQueries=array(
'collecte'=> "SELECT $strSelect, 'collecte' as source FROM scores_surveillance s, annonces b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') /*AND b.typeEven NOT IN(3200)*/ GROUP BY siren", 'collecte'=> "SELECT $strSelect, 'collecte' as source FROM scores_surveillance s, annonces b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') /*AND b.typeEven NOT IN(3200)*/ GROUP BY siren",
/* Bilans en base */ /* Bilans en base */
'bilans1'=> "SELECT $strSelect, 'bilans1' as source FROM scores_surveillance s, bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND (DATEDIFF(b.dateExercice,s.dateBilan)>1 OR DATEDIFF(b.dateExercice,s.dateBilan) IS NULL) AND s.procol NOT IN('P') GROUP BY siren", 'bilans1'=> "SELECT $strSelect, 'bilans1' as source FROM scores_surveillance s, bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND (DATEDIFF(b.dateExercice,s.dateBilan)>1 OR DATEDIFF(b.dateExercice,s.dateBilan) IS NULL) AND s.procol NOT IN('P') GROUP BY siren",
/* Défaut divers Facto (D:Défaut, 24:Groupe en diff, 31:Cessation Annoncée, 50:Terrorisme)*/ /* Défaut divers Facto (D:Défaut, 24:Groupe en diff, 31:Cessation Annoncée, 50:Terrorisme)*/
'defaut'=> "SELECT $strSelect, 'defaut' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs IN ('D','24','31','50') AND s.procol NOT IN('P') GROUP BY siren", 'defaut'=> "SELECT $strSelect, 'defaut' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs IN ('D','24','31','50') AND s.procol NOT IN('P') GROUP BY siren",
/* RAS Facto */ /* RAS Facto */
'regulier'=> "SELECT $strSelect, 'regulier' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='00' AND s.procol NOT IN('P') GROUP BY siren", 'regulier'=> "SELECT $strSelect, 'regulier' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='00' AND s.procol NOT IN('P') GROUP BY siren",
@ -157,7 +157,7 @@ $tabQueries=array(
/** @todo A revoir /** @todo A revoir
**/ **/
/* Bilans déposés */ /* Bilans déposés */
// 'bilans2'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'bilans2' as source, s.dateUpdate FROM scores_surveillance s, bilans_deposes b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren", // 'bilans2'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'bilans2' as source, s.dateUpdate FROM scores_surveillance s, bilans_deposes b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
/* Liens fianciers */ /* Liens fianciers */
// 'liens'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'liens' as source, s.dateUpdate FROM scores_surveillance s, liens l WHERE l.siren>1000 AND (s.siren=l.Siren1 OR s.siren=l.Siren2) AND (l.dateInsert>s.dateUpdate OR l.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren", // 'liens'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'liens' as source, s.dateUpdate FROM scores_surveillance s, liens l WHERE l.siren>1000 AND (s.siren=l.Siren1 OR s.siren=l.Siren2) AND (l.dateInsert>s.dateUpdate OR l.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
@ -175,13 +175,13 @@ if ($listeDeclencheur) {
echo "\t- $key".EOL; echo "\t- $key".EOL;
die(); die();
} }
echo date('Y/m/d - H:i:s') ." - Recherche des scores susceptibles d'avoir changés par déclencheur...".EOL; echo date('Y/m/d - H:i:s') ." - Recherche des scores susceptibles d'avoir changés par déclencheur...".EOL;
$nbScoresSans=$nbScoresModif=$nbScoresNouv=$nbScoresProcol=$iRow=$nbRowsTot=0; $nbScoresSans=$nbScoresModif=$nbScoresNouv=$nbScoresProcol=$iRow=$nbRowsTot=0;
foreach ($tabQueries as $declencheur=>$query) { foreach ($tabQueries as $declencheur=>$query) {
if ($forceDeclencheur && $declencheur<>$forceDeclencheur) continue; if ($forceDeclencheur && $declencheur<>$forceDeclencheur) continue;
echo date('Y/m/d - H:i:s') ." - Recherche par le déclencheur '$declencheur'..."; echo date('Y/m/d - H:i:s') ." - Recherche par le déclencheur '$declencheur'...";
$res=$iDb->query($query); $res=$iDb->query($query);
echo mysql_error().EOL; echo mysql_error().EOL;
@ -189,7 +189,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbRowsTot+=$nbRows; $nbRowsTot+=$nbRows;
@$tabNbRows[$declencheur]++; @$tabNbRows[$declencheur]++;
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows scores à recalculer par '$declencheur'...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows scores à recalculer par '$declencheur'...".EOL;
//die(); //die();
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$iRow++; $iRow++;
@ -205,7 +205,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbModifs = ($entrep['nbModifs']*1)+1; $nbModifs = ($entrep['nbModifs']*1)+1;
if ($procol=='P') { if ($procol=='P') {
$nbScoresProcol++; $nbScoresProcol++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScorePre / 100 ($encoursPre EUR) inchangé depuis $dateScore (Source=$sourceModif) car ProCol.".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScorePre / 100 ($encoursPre EUR) inchangé depuis $dateScore (Source=$sourceModif) car ProCol.".EOL;
continue; continue;
} }
//echo date('Y/m/d - H:i:s') ." - Siren $siren : AVANT SCORE".EOL; //echo date('Y/m/d - H:i:s') ." - Siren $siren : AVANT SCORE".EOL;
@ -226,14 +226,14 @@ foreach ($tabQueries as $declencheur=>$query) {
$encours ==$encoursPre && $encours ==$encoursPre &&
$dateScore<>0 ) { $dateScore<>0 ) {
$nbScoresSans++; $nbScoresSans++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore / 100 ($encours EUR) inchangé depuis $dateScore (Source=$sourceModif).".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore / 100 ($encours EUR) inchangé depuis $dateScore (Source=$sourceModif).".EOL;
$tabUpdate2=array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs); $tabUpdate2=array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs);
if (!$iDb2->update('scores_surveillance', $tabUpdate2, "siren=$siren")) { if (!$iDb2->update('scores_surveillance', $tabUpdate2, "siren=$siren")) {
print_r($tabUpdate2); print_r($tabUpdate2);
die("Erreur SQL sur la mise à jour de la date de dernière vérif du score pour le siren $siren"); die("Erreur SQL sur la mise à jour de la date de dernière vérif du score pour le siren $siren");
} }
/*print_r($tabUpdate2); /*print_r($tabUpdate2);
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL; echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
*/ */
} else { } else {
if ($dateScore==0) { if ($dateScore==0) {
@ -310,7 +310,7 @@ foreach ($tabQueries as $declencheur=>$query) {
if (!$iDb2->update('scores_surveillance', $tabUpdate, "siren=$siren")) { if (!$iDb2->update('scores_surveillance', $tabUpdate, "siren=$siren")) {
print_r($tabUpdate); print_r($tabUpdate);
echo mysql_error().EOL; echo mysql_error().EOL;
die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur la mise à jour du score pour le siren $siren".EOL); die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur la mise à jour du score pour le siren $siren".EOL);
} }
// Historisation du score // Historisation du score
if (!$iDbHisto->insert('scores_surveillance', $tabUpdate)) { if (!$iDbHisto->insert('scores_surveillance', $tabUpdate)) {
@ -322,10 +322,10 @@ foreach ($tabQueries as $declencheur=>$query) {
if (date('Hi')*1>=430 && date('Hi')*1<=700) break 2; if (date('Hi')*1>=430 && date('Hi')*1<=700) break 2;
} }
} }
$message =date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés .................. $nbScoresSans / $nbRowsTot.".EOL; $message =date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés .................. $nbScoresSans / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés car procol ....... $nbScoresProcol / $nbRowsTot.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés car procol ....... $nbScoresProcol / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Nombre de scores ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL;
foreach($tabNbRows as $declencheur=>$nbTot) { foreach($tabNbRows as $declencheur=>$nbTot) {
$nbModifs=$tabNbScoresModif[$declencheur]*1; $nbModifs=$tabNbScoresModif[$declencheur]*1;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de modifs par '$declencheur'\t...... $nbModifs / $nbTot.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Nombre de modifs par '$declencheur'\t...... $nbModifs / $nbTot.".EOL;

View File

@ -16,13 +16,13 @@ include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php'); include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Mise à jour quotidienne des scores secteurs / profils entreprise S&D. Mise à jour quotidienne des scores secteurs / profils entreprise S&D.
Options : Options :
-d:SSAAMMJJ Initialiser tous les scores secteurs depuis SSAAMMJJ -d:SSAAMMJJ Initialiser tous les scores secteurs depuis SSAAMMJJ
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ -f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois) -p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois) -s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
-v Mode bavard -v Mode bavard
"; ";
@ -72,27 +72,27 @@ function getNaf5($naf4ou5) {
return $tabTmp[0]['nafOut']; return $tabTmp[0]['nafOut'];
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
/** Recherche de la dernière date de MAJ /** Recherche de la dernière date de MAJ
**/ **/
if (!$dateDeb) { if (!$dateDeb) {
echo date ('Y/m/d - H:i:s')." - Préparation des procédures à vérifier.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des procédures à vérifier.".EOL;
$tabLast=$iDb->select( 'scores_secteurs', $tabLast=$iDb->select( 'scores_secteurs',
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert', 'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
'1'); '1');
$lastUpdate=$tabLast[0]['lastInsert']; $lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate']; if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
echo date('Y/m/d - H:i:s') ." - La dernière vérification des procédures date de $lastUpdate !".EOL; echo date('Y/m/d - H:i:s') ." - La dernière vérification des procédures date de $lastUpdate !".EOL;
} else { } else {
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00'; $lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
if ($dateFin) { if ($dateFin) {
$strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR $strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR
dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) "; dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) ";
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs du $lastUpdate au $dateFin !".EOL; echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs du $lastUpdate au $dateFin !".EOL;
} else { } else {
$strDateFin=''; $strDateFin='';
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs depuis le $lastUpdate !".EOL; echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs depuis le $lastUpdate !".EOL;
} }
} }
@ -101,7 +101,7 @@ if (!$dateDeb) {
**/ **/
if (DAY*1==1 || $initStatSecteur) { if (DAY*1==1 || $initStatSecteur) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs mensuelles.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs mensuelles.".EOL;
$fields='ape_entrep, COUNT(*) AS nbEntrep'; $fields='ape_entrep, COUNT(*) AS nbEntrep';
$where="source=2 AND actif=1 AND siege=1 GROUP BY ape_entrep ORDER BY ape_entrep ASC"; $where="source=2 AND actif=1 AND siege=1 GROUP BY ape_entrep ORDER BY ape_entrep ASC";
@ -111,7 +111,7 @@ if (DAY*1==1 || $initStatSecteur) {
$tabTmp=$iDb->select('etablissements', $fields, $where, false, MYSQL_ASSOC); $tabTmp=$iDb->select('etablissements', $fields, $where, false, MYSQL_ASSOC);
$nbApe=count($tabTmp); $nbApe=count($tabTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbApe stats secteurs mensuelles à initialiser...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbApe stats secteurs mensuelles à initialiser...".EOL;
$annee=YEAR; $annee=YEAR;
$mois=MONTH; $mois=MONTH;
@ -132,18 +132,18 @@ if (DAY*1==1 || $initStatSecteur) {
} }
} }
echo date ('Y/m/d - H:i:s')." - $nbInsert secteurs initialisées et $nbUpdate mis à jour.".EOL; echo date ('Y/m/d - H:i:s')." - $nbInsert secteurs initialisées et $nbUpdate mis à jour.".EOL;
} }
if (DAY*1==1 || $initStatProfil) { if (DAY*1==1 || $initStatProfil) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats profils mensuelles.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des stats profils mensuelles.".EOL;
/** Initialisation des scores profils **/ /** Initialisation des scores profils **/
//$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, SUBSTRING(CJ,1,2) as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep', //$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, SUBSTRING(CJ,1,2) as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, CJ as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep', $nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, CJ as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
"SIEGE=1 AND ACTIF=1 GROUP BY APE_ENT, dep, FJur, anneeCrea, TCA", false, MYSQL_ASSOC, true); "SIEGE=1 AND ACTIF=1 GROUP BY APE_ENT, dep, FJur, anneeCrea, TCA", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbPro stats profils mensuelles à initialiser...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbPro stats profils mensuelles à initialiser...".EOL;
$annee=YEAR; $annee=YEAR;
$mois=MONTH; $mois=MONTH;
$nbInsert=$nbUpdate=0; $nbInsert=$nbUpdate=0;
@ -173,16 +173,16 @@ if (DAY*1==1 || $initStatProfil) {
$nbUpdate++; $nbUpdate++;
} }
} }
echo date ('Y/m/d - H:i:s')." - $nbInsert profils initialisées et $nbUpdate mis à jour.".EOL; echo date ('Y/m/d - H:i:s')." - $nbInsert profils initialisées et $nbUpdate mis à jour.".EOL;
} }
if (!$initStatProfil && !$initStatSecteur) { if (!$initStatProfil && !$initStatSecteur) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les interdictions quotidiennes.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les interdictions quotidiennes.".EOL;
$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0; $nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
/** Mise à jour des Jugements FP IG **/ /** Mise à jour des Jugements FP IG **/
$nbAnnonces=$iDb->select( $nbAnnonces=$iDb->select(
'bodacc_detail', 'bodacc_detail',
'siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert, dateUpdate', 'siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert, dateUpdate',
@ -191,7 +191,7 @@ $nbAnnonces=$iDb->select(
(typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%') (typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%')
ORDER BY dateSource ASC;", ORDER BY dateSource ASC;",
false, MYSQL_ASSOC, true); false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'interdictions à vérifier...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'interdictions à vérifier...".EOL;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$annonce['siren']; $siren=$annonce['siren'];
$typeEven=$annonce['typeEven']; $typeEven=$annonce['typeEven'];
@ -213,7 +213,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$trEff=$tabIdentite['EffEnTr']; $trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA']; $trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/ /** Mise à jour des scores secteurs **/
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert "; if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
$tabTmp=$iDb2->select( 'scores_secteurs', $tabTmp=$iDb2->select( 'scores_secteurs',
'nbInter, nbEntrep, annee, mois', 'nbInter, nbEntrep, annee, mois',
@ -239,7 +239,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
} }
if ($modeDebug) echo EOL; if ($modeDebug) echo EOL;
/** Mise à jour des scores profils **/ /** Mise à jour des scores profils **/
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert "; if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
$tabTmp=$iDb2->select( 'scores_profils', $tabTmp=$iDb2->select( 'scores_profils',
'nbInter, nbEntrep, annee, mois', 'nbInter, nbEntrep, annee, mois',
@ -270,7 +270,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
} }
if ($modeDebug) echo EOL; if ($modeDebug) echo EOL;
} }
echo date ('Y/m/d - H:i:s')." - Interdictions : $nbAnnonces annonces vérifiées.".EOL; echo date ('Y/m/d - H:i:s')." - Interdictions : $nbAnnonces annonces vérifiées.".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ.".EOL; echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ.".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ.".EOL; echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ.".EOL;
@ -281,69 +281,69 @@ echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les inter
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les Procédures quotidiennes.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0; $nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
/** Initialisation des scores secteurs **/ /** Initialisation des scores secteurs **/
$query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND ( typeEven LIKE '%1100%' OR typeEven LIKE '%1101%' OR typeEven LIKE '%1200%' OR typeEven LIKE '%1201%' OR typeEven LIKE '%1202%' OR typeEven LIKE '%1207%' OR typeEven LIKE '%1209%' OR typeEven LIKE '%1210%' OR typeEven LIKE '%1211%' OR typeEven LIKE '%1212%' OR typeEven LIKE '%1214%' OR typeEven LIKE '%1216%' OR typeEven LIKE '%1300%' OR typeEven LIKE '%1301%' OR typeEven LIKE '%1302%' OR typeEven LIKE '%1303%' OR typeEven LIKE '%1304%' OR typeEven LIKE '%1305%' OR typeEven LIKE '%1306%' OR typeEven LIKE '%1307%' OR typeEven LIKE '%1308%' OR typeEven LIKE '%1309%' OR typeEven LIKE '%1310%' OR typeEven LIKE '%1311%' OR typeEven LIKE '%1312%' OR typeEven LIKE '%1313%' OR typeEven LIKE '%1410%' OR typeEven LIKE '%1415%' OR typeEven LIKE '%1416%' OR typeEven LIKE '%1417%' OR typeEven LIKE '%1418%' OR typeEven LIKE '%1419%' OR typeEven LIKE '%1507%' OR typeEven LIKE '%1515%' OR typeEven LIKE '%1540%' OR typeEven LIKE '%1541%' OR typeEven LIKE '%1542%' OR typeEven LIKE '%1543%' OR typeEven LIKE '%1544%' OR typeEven LIKE '%1545%' OR typeEven LIKE '%1546%' OR typeEven LIKE '%1550%' OR typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1602%' OR typeEven LIKE '%1603%' OR typeEven LIKE '%1604%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR typeEven LIKE '%1999%' )) $query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND ( typeEven LIKE '%1100%' OR typeEven LIKE '%1101%' OR typeEven LIKE '%1200%' OR typeEven LIKE '%1201%' OR typeEven LIKE '%1202%' OR typeEven LIKE '%1207%' OR typeEven LIKE '%1209%' OR typeEven LIKE '%1210%' OR typeEven LIKE '%1211%' OR typeEven LIKE '%1212%' OR typeEven LIKE '%1214%' OR typeEven LIKE '%1216%' OR typeEven LIKE '%1300%' OR typeEven LIKE '%1301%' OR typeEven LIKE '%1302%' OR typeEven LIKE '%1303%' OR typeEven LIKE '%1304%' OR typeEven LIKE '%1305%' OR typeEven LIKE '%1306%' OR typeEven LIKE '%1307%' OR typeEven LIKE '%1308%' OR typeEven LIKE '%1309%' OR typeEven LIKE '%1310%' OR typeEven LIKE '%1311%' OR typeEven LIKE '%1312%' OR typeEven LIKE '%1313%' OR typeEven LIKE '%1410%' OR typeEven LIKE '%1415%' OR typeEven LIKE '%1416%' OR typeEven LIKE '%1417%' OR typeEven LIKE '%1418%' OR typeEven LIKE '%1419%' OR typeEven LIKE '%1507%' OR typeEven LIKE '%1515%' OR typeEven LIKE '%1540%' OR typeEven LIKE '%1541%' OR typeEven LIKE '%1542%' OR typeEven LIKE '%1543%' OR typeEven LIKE '%1544%' OR typeEven LIKE '%1545%' OR typeEven LIKE '%1546%' OR typeEven LIKE '%1550%' OR typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1602%' OR typeEven LIKE '%1603%' OR typeEven LIKE '%1604%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR typeEven LIKE '%1999%' ))
UNION UNION
(SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND typeEven IN (1100,/*Ouverture sauvegarde*/ (SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND typeEven IN (1100,/*Ouverture sauvegarde*/
1101,/*Jugement arrêtant plan de sauvegarde*/ 1101,/*Jugement arrêtant plan de sauvegarde*/
1200,/*Redressement Judiciaire*/ 1200,/*Redressement Judiciaire*/
1201,/*Conversion sauvegarde en Redressement Judiciaire*/ 1201,/*Conversion sauvegarde en Redressement Judiciaire*/
1202,/*Renouvellement de la période d'observation*/ 1202,/*Renouvellement de la période d'observation*/
1207,/*Règlements amiables*/ 1207,/*Règlements amiables*/
1209,/*Règlement judiciaire*/ 1209,/*Règlement judiciaire*/
1210,/*Production de titres et créances*/ 1210,/*Production de titres et créances*/
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/ 1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/ 1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/ 1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
1216,/*Autre avis de dépôt*/ 1216,/*Autre avis de dépôt*/
1300,/*Conversion Redressement Judiciaire en Liquidation Judiciaire*/ 1300,/*Conversion Redressement Judiciaire en Liquidation Judiciaire*/
1301,/*Ouverture Liquidation Judiciaire*/ 1301,/*Ouverture Liquidation Judiciaire*/
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/ 1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/ 1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
1304,/*Réouverture Liquidation Judiciaire*/ 1304,/*Réouverture Liquidation Judiciaire*/
1305,/*Liquidation Judiciaire*/ 1305,/*Liquidation Judiciaire*/
1306,/*Liquidation Judiciaire simplifiée*/ 1306,/*Liquidation Judiciaire simplifiée*/
1307,/*Conversion sauvegarde en Liquidation Judiciaire*/ 1307,/*Conversion sauvegarde en Liquidation Judiciaire*/
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/ 1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/ 1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
1310,/*Procédure d'insolvabilité européenne*/ 1310,/*Procédure d'insolvabilité européenne*/
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/ 1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
1312,/*Liquidation Judiciaire avec continuation d'exploitation*/ 1312,/*Liquidation Judiciaire avec continuation d'exploitation*/
1313,/*Liquidation Judiciaire sans remise des accessoires*/ 1313,/*Liquidation Judiciaire sans remise des accessoires*/
1410,/*Suite règlement/liquidation*/ 1410,/*Suite règlement/liquidation*/
1415,/*Prolongement du plan cession*/ 1415,/*Prolongement du plan cession*/
1416,/*Jugement constatant la bonne exécution du plan*/ 1416,/*Jugement constatant la bonne exécution du plan*/
1417,/*Jugement d'extension de liquidation judiciaire*/ 1417,/*Jugement d'extension de liquidation judiciaire*/
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/ 1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
1419,/*Jugement d'extension d'une procédure de sauvegarde*/ 1419,/*Jugement d'extension d'une procédure de sauvegarde*/
1507,/*Extrait d'arrêt de la cour d'appel*/ 1507,/*Extrait d'arrêt de la cour d'appel*/
1515,/*Arrêt divers*/ 1515,/*Arrêt divers*/
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/ 1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
1541,/*Rétractation de prononcé de liquidation judiciaire sur tierce opposition*/ 1541,/*Rétractation de prononcé de liquidation judiciaire sur tierce opposition*/
1542,/*Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition*/ 1542,/*Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition*/
1543,/*Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition*/ 1543,/*Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition*/
1544,/*Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition*/ 1544,/*Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition*/
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/ 1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
1546,/*Autre rétractation sur tierce opposition*/ 1546,/*Autre rétractation sur tierce opposition*/
1550,/*Jugement d'homologation de l'accord*/ 1550,/*Jugement d'homologation de l'accord*/
1600,/*Faillite personnelle*/ 1600,/*Faillite personnelle*/
1601,/*Interdiction de gérer*/ 1601,/*Interdiction de gérer*/
1602,/*Jugement de réhabilitation*/ 1602,/*Jugement de réhabilitation*/
1603,/*Liquidation de biens*/ 1603,/*Liquidation de biens*/
1604,/*Banqueroute 1604,/*Banqueroute
1605,/*Jugement autorisant la reprise des poursuites individuelles*/ 1605,/*Jugement autorisant la reprise des poursuites individuelles*/
1610,/*Faillite personnelle (Loi de 1985)*/ 1610,/*Faillite personnelle (Loi de 1985)*/
1611,/*Interdiction de gérer (Loi de 1985)*/ 1611,/*Interdiction de gérer (Loi de 1985)*/
1999 /*Autre procédure collective*/ ) 1999 /*Autre procédure collective*/ )
) ORDER BY dateSource ASC;"; ) ORDER BY dateSource ASC;";
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
$res=$iDb->query($query); $res=$iDb->query($query);
$nbAnnonces=mysql_num_rows($res); $nbAnnonces=mysql_num_rows($res);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'ouverture à vérifier...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'ouverture à vérifier...".EOL;
$sirenPre=false; $sirenPre=false;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -396,7 +396,7 @@ $nbProcol=mysql_num_rows($res2);
$trEff=$tabIdentite['EffEnTr']; $trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA']; $trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/ /** Mise à jour des scores secteurs **/
$tabTmp=$iDb2->select( 'scores_secteurs', $tabTmp=$iDb2->select( 'scores_secteurs',
'nbProcol, nbEntrep, annee, mois', 'nbProcol, nbEntrep, annee, mois',
"naf5='$naf' AND annee=$annee AND mois=$mois", "naf5='$naf' AND annee=$annee AND mois=$mois",
@ -421,7 +421,7 @@ $nbProcol=mysql_num_rows($res2);
} }
if ($modeDebug) echo EOL; if ($modeDebug) echo EOL;
/** Mise à jour des scores profils **/ /** Mise à jour des scores profils **/
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE "; if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE ";
$tabTmp=$iDb2->select( 'scores_profils', $tabTmp=$iDb2->select( 'scores_profils',
@ -460,12 +460,12 @@ $nbProcol=mysql_num_rows($res2);
$sirenPre=$siren; $sirenPre=$siren;
} }
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL; echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL; echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL; echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL; echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
} }

View File

@ -16,13 +16,13 @@ include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php'); include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Mise à jour quotidienne des statistiques de ventes de fonds de commerce Mise à jour quotidienne des statistiques de ventes de fonds de commerce
Options : Options :
-d:SSAAMMJJ Initialiser toutes les stats depuis SSAAMMJJ -d:SSAAMMJJ Initialiser toutes les stats depuis SSAAMMJJ
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ -f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois) -p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois) -s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
-v Mode bavard -v Mode bavard
"; ";
@ -72,33 +72,33 @@ function getNaf5($naf4ou5) {
return $tabTmp[0]['nafOut']; return $tabTmp[0]['nafOut'];
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
/** Recherche de la dernière date de MAJ /** Recherche de la dernière date de MAJ
**/ **/
if (!$dateDeb) { if (!$dateDeb) {
echo date ('Y/m/d - H:i:s')." - Préparation des statistiques à réaliser.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des statistiques à réaliser.".EOL;
$tabLast=$iDb->select( 'stats_ventes', $tabLast=$iDb->select( 'stats_ventes',
'max(dateInsert) AS lastInsert', 'max(dateInsert) AS lastInsert',
'1'); '1');
$lastUpdate=$tabLast[0]['lastInsert']; $lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate']; if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
echo date('Y/m/d - H:i:s') ." - La dernière mise à jour des stats date de $lastUpdate !".EOL; echo date('Y/m/d - H:i:s') ." - La dernière mise à jour des stats date de $lastUpdate !".EOL;
} else { } else {
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00'; $lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
if ($dateFin) { if ($dateFin) {
$strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR $strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR
dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) "; dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) ";
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats du $lastUpdate au $dateFin !".EOL; echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats du $lastUpdate au $dateFin !".EOL;
} else { } else {
$strDateFin=''; $strDateFin='';
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats depuis le $lastUpdate !".EOL; echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats depuis le $lastUpdate !".EOL;
} }
} }
//if (!$initStatProfil && !$initStatSecteur) { //if (!$initStatProfil && !$initStatSecteur) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats les ventes quotidiennes.".EOL; echo date ('Y/m/d - H:i:s')." - Préparation des stats les ventes quotidiennes.".EOL;
//$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0; //$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
/** Initialisation des scores secteurs **/ /** Initialisation des scores secteurs **/
@ -107,33 +107,33 @@ $query="
typeEven, raisonSociale, adresse, codePostal, ville, Tribunal_Code AS tribunal, VenteMt AS montant, bienAcqui AS complement, 'bodacc' AS source typeEven, raisonSociale, adresse, codePostal, ville, Tribunal_Code AS tribunal, VenteMt AS montant, bienAcqui AS complement, 'bodacc' AS source
FROM bodacc_detail FROM bodacc_detail
WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND ( WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (
typeEven LIKE '%5500%' /* Entreprise réalisant la vente */ typeEven LIKE '%5500%' /* Entreprise réalisant la vente */
OR typeEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */ OR typeEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */
OR typeEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */ OR typeEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */
OR typeEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */ OR typeEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */
OR typeEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */ OR typeEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR typeEven LIKE '%5600%' /* Entreprise Précédent exploitant */ OR typeEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR typeEven LIKE '%5650%' /* Entreprise indemnisée */ OR typeEven LIKE '%5650%' /* Entreprise indemnisée */
OR typeEven LIKE '%5900%' /* Autre achat, apport, attribution */ OR typeEven LIKE '%5900%' /* Autre achat, apport, attribution */
OR typeEven LIKE '%5999%' /* Ventes/Cessions */ ) ) OR typeEven LIKE '%5999%' /* Ventes/Cessions */ ) )
UNION UNION
(SELECT siren, sirenValide, 00000 AS nic, 0 AS nicValide, typeEven, dateJugement, dateSource, dateInsert, (SELECT siren, sirenValide, 00000 AS nic, 0 AS nicValide, typeEven, dateJugement, dateSource, dateInsert,
CONCAT(typeEven,';',strEven) as codeEven, raisonSociale, adresse, codePostal, ville, tribunal, montant, complement, 'collecte' AS source CONCAT(typeEven,';',strEven) as codeEven, raisonSociale, adresse, codePostal, ville, tribunal, montant, complement, 'collecte' AS source
FROM annonces FROM annonces
WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (typeEven BETWEEN 5500 AND 5650 OR strEven LIKE '%5500%' /* Entreprise réalisant la vente */ WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (typeEven BETWEEN 5500 AND 5650 OR strEven LIKE '%5500%' /* Entreprise réalisant la vente */
OR strEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */ OR strEven LIKE '%5501%' /* Entreprise réalisant la vente : Ancien propriétaire et ancien exploitant */
OR strEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */ OR strEven LIKE '%5502%' /* Entreprise réalisant la vente : Ancien propriétaire en indivision */
OR strEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */ OR strEven LIKE '%5503%' /* Entreprise réalisant la vente : Ancien propriétaire */
OR strEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */ OR strEven LIKE '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR strEven LIKE '%5600%' /* Entreprise Précédent exploitant */ OR strEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR strEven LIKE '%5650%' /* Entreprise indemnisée */) OR strEven LIKE '%5650%' /* Entreprise indemnisée */)
) )
ORDER BY dateSource ASC;"; ORDER BY dateSource ASC;";
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
$res=$iDb->query($query); $res=$iDb->query($query);
$nbAnnonces=mysql_num_rows($res); $nbAnnonces=mysql_num_rows($res);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces de ventes à vérifier...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces de ventes à vérifier...".EOL;
$sirenPre=false; $sirenPre=false;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -151,7 +151,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
if ($nic==0) { if ($nic==0) {
if ($source=='collecte') { if ($source=='collecte') {
if (preg_match('/tablissement concern.*\((\d{5,5})\)(.*)$/Ui', $annonce['complement'], $matches)) { if (preg_match('/tablissement concern.*\((\d{5,5})\)(.*)$/Ui', $annonce['complement'], $matches)) {
if (preg_match('/\((\d{5,5})\)/Ui',$matches[2])) die('Plusieurs établissements vendus !'); if (preg_match('/\((\d{5,5})\)/Ui',$matches[2])) die('Plusieurs établissements vendus !');
$nic=$matches[1]; $nic=$matches[1];
} }
} }
@ -221,7 +221,7 @@ $nbProcol=mysql_num_rows($res2);
$trEff=$tabIdentite['EffEnTr']; $trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA']; $trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs ** /** Mise à jour des scores secteurs **
$tabTmp=$iDb2->select( 'scores_secteurs', $tabTmp=$iDb2->select( 'scores_secteurs',
'nbProcol, nbEntrep, annee, mois', 'nbProcol, nbEntrep, annee, mois',
"naf5='$naf' AND annee=$annee AND mois=$mois", "naf5='$naf' AND annee=$annee AND mois=$mois",
@ -246,7 +246,7 @@ $nbProcol=mysql_num_rows($res2);
} }
if ($modeDebug) echo EOL; if ($modeDebug) echo EOL;
/** Mise à jour des scores profils ** /** Mise à jour des scores profils **
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE "; if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE ";
$tabTmp=$iDb2->select( 'scores_profils', $tabTmp=$iDb2->select( 'scores_profils',
@ -285,14 +285,14 @@ $nbProcol=mysql_num_rows($res2);
$sirenPre=$siren; $sirenPre=$siren;
} }
print_r($nbSrc); print_r($nbSrc);
die("$nbNic0 nic non trouvés sur $nbAnnonces".EOL); die("$nbNic0 nic non trouvés sur $nbAnnonces".EOL);
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL; echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL; echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL; echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL; echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
echo date ('Y/m/d - H:i:s')." - Fin du traitement.".EOL; echo date ('Y/m/d - H:i:s')." - Fin du traitement.".EOL;

View File

@ -4,8 +4,8 @@
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
/** @todo Si MAJ en annule et remplace prévoir les manips SQL suivantes : /** @todo Si MAJ en annule et remplace prévoir les manips SQL suivantes :
** Création d'une table insee.tmp sans aucun index ** Création d'une table insee.tmp sans aucun index
** A la fin du chargement construire les index ** A la fin du chargement construire les index
** Si pas d'erreur : ** Si pas d'erreur :
** 1. detruire insee ** 1. detruire insee
@ -20,17 +20,17 @@ error_reporting(E_ALL ^ E_NOTICE);
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) die('Usage : '.basename($argv[0]). " [OPTION]... FICHIER if ($_SERVER['argc']==1) die('Usage : '.basename($argv[0]). " [OPTION]... FICHIER
Charger un fichier CSV dans une base de données avec création de la table qui aura le nom du fichier chargé.. Charger un fichier CSV dans une base de données avec création de la table qui aura le nom du fichier chargé..
Options disponibles: Options disponibles:
Les arguments obligatoires pour les options de formes longues le sont aussi Les arguments obligatoires pour les options de formes longues le sont aussi
pour les options de formes courtes. pour les options de formes courtes.
-s=CHAR séparateur de champs (virgule, point-virgule*, /t=tabulation, etc...) -s=CHAR séparateur de champs (virgule, point-virgule*, /t=tabulation, etc...)
-c=CHAR caractère encadrant les zones alphanumériques (inopérationnel) -c=CHAR caractère encadrant les zones alphanumériques (inopérationnel)
(*): Valeurs par défaut ! (*): Valeurs par défaut !
"); ");
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -51,23 +51,23 @@ pour les options de formes courtes.
if ($separator=='/t') { if ($separator=='/t') {
$separator="\t"; $separator="\t";
echo "séparateur = tabulation\n"; echo "séparateur = tabulation\n";
} elseif (!isset($separator) || $separator=='') { } elseif (!isset($separator) || $separator=='') {
$separator=';'; $separator=';';
echo "séparateur = '$separator'\n"; echo "séparateur = '$separator'\n";
} }
else else
echo "séparateur = '$separator'\n"; echo "séparateur = '$separator'\n";
// Mise à jour de la table PARAM // Mise à jour de la table PARAM
// ----------------------------- // -----------------------------
// 2 - pour la date et l'heure d'exécution du traitement en cours // 2 - pour la date et l'heure d'exécution du traitement en cours
/* $tabDataToUpdate=array('VALEUR'=>DATETIME, /* $tabDataToUpdate=array('VALEUR'=>DATETIME,
'CLE'=>'INSEE_MAJ_ENCOURS'); 'CLE'=>'INSEE_MAJ_ENCOURS');
$iparam->setParamValeur($tabDataToUpdate); $iparam->setParamValeur($tabDataToUpdate);
*/ */
echo date ('Y/m/d - H:i:s') . " - Début du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement".EOL;
flush(); flush();
for ($nbFichiers=0; isset($fichier_csv[$nbFichiers]); $nbFichiers++) for ($nbFichiers=0; isset($fichier_csv[$nbFichiers]); $nbFichiers++)
@ -81,14 +81,14 @@ pour les options de formes courtes.
'HEURE_FIN'=>$heureFin, 'HEURE_FIN'=>$heureFin,
'CODE_RETOUR'=>0, 'CODE_RETOUR'=>0,
'NB_MAIL'=>1, 'NB_MAIL'=>1,
'RESUME_EXEC'=>"Impossible d'ouvrir le fichier n°$nbFichiers à traiter : $nomFichier.");*/ 'RESUME_EXEC'=>"Impossible d'ouvrir le fichier n°$nbFichiers à traiter : $nomFichier.");*/
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
exit(); exit();
} }
$nbLignes=0; $nbLignes=0;
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier ". $fichier_csv[$nbFichiers] ."...".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier ". $fichier_csv[$nbFichiers] ."...".EOL;
flush(); flush();
while (($data = fgetcsv($fp, 3000, $separator)) !== FALSE) while (($data = fgetcsv($fp, 3000, $separator)) !== FALSE)
@ -135,7 +135,7 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
/* /*
if ($nbLignes==1) if ($nbLignes==1)
{ // L'entête contient la structure du fichier { // L'entête contient la structure du fichier
// On compte le nombre de colonnes du fichier // On compte le nombre de colonnes du fichier
$nbColonnes=count($data); $nbColonnes=count($data);
$sql="CREATE TABLE IF NOT EXISTS `$nom_table` ("; $sql="CREATE TABLE IF NOT EXISTS `$nom_table` (";
@ -144,15 +144,15 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
$tabTailles[$i]=0; $tabTailles[$i]=0;
$champ[$i]=$data[$i]; $champ[$i]=$data[$i];
} }
$sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule $sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule
//$sql.="NOM LONGTEXT, PRENOM LONGTEXT, NUSAGE LONGTEXT) TYPE = MYISAM COMMENT = '$comment'"; //$sql.="NOM LONGTEXT, PRENOM LONGTEXT, NUSAGE LONGTEXT) TYPE = MYISAM COMMENT = '$comment'";
$sql.=") TYPE = MYISAM COMMENT = '$comment'"; $sql.=") TYPE = MYISAM COMMENT = '$comment'";
//echo $sql; //echo $sql;
if ($iDb->query($sql)) if ($iDb->query($sql))
echo date ('Y/m/d - H:i:s')." - Création de la table $nom_table OK...".EOL; echo date ('Y/m/d - H:i:s')." - Création de la table $nom_table OK...".EOL;
else { else {
echo $iDb->getLastError().EOL; echo $iDb->getLastError().EOL;
die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $nom_table !".EOL."Requête SQL = $sql".EOL); die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $nom_table !".EOL."Requête SQL = $sql".EOL);
} }
flush(); flush();
continue; continue;
@ -183,14 +183,14 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
//print_r($tabDataToInsert); //print_r($tabDataToInsert);
$ret=$iDb->insert($nom_table, $tabDataToInsert); $ret=$iDb->insert($nom_table, $tabDataToInsert);
if ($ret!=1) { if ($ret!=1) {
echo date ('Y/m/d - H:i:s') . " - ERREUR à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL; echo date ('Y/m/d - H:i:s') . " - ERREUR à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL;
flush(); flush();
} }
unset($tabDataToInsert);*/ unset($tabDataToInsert);*/
} }
fclose ($fp); fclose ($fp);
die(); die();
// On réduit la taille des colonnes au max de chaque champ // On réduit la taille des colonnes au max de chaque champ
for($i=0; $i<$nbColonnes; $i++) for($i=0; $i<$nbColonnes; $i++)
{ {
//$tabTailles[$i]=strlen($data[$i]); //$tabTailles[$i]=strlen($data[$i]);
@ -198,9 +198,9 @@ die();
$sql="ALTER TABLE `$nom_table` CHANGE `".$champ[$i]."` `".$champ[$i]."` VARCHAR(".$tabTailles[$i].") NULL DEFAULT NULL "; $sql="ALTER TABLE `$nom_table` CHANGE `".$champ[$i]."` `".$champ[$i]."` VARCHAR(".$tabTailles[$i].") NULL DEFAULT NULL ";
echo $sql; echo $sql;
if ($iDb->query($sql)) if ($iDb->query($sql))
echo date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL; echo date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL; echo date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL;
flush();} flush();}
} }
echo 'Tailles max / champ:'.EOL; echo 'Tailles max / champ:'.EOL;

View File

@ -36,7 +36,7 @@ echo date ('Y/m/d - H:i:s')." - Chargement de $i siret...".EOL;
$tabSiren=array_unique($tabSirenTmp); $tabSiren=array_unique($tabSirenTmp);
$nb=count($tabSiren); $nb=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - Dédoublonnage des siret : $nb siret".EOL; echo date ('Y/m/d - H:i:s')." - Dédoublonnage des siret : $nb siret".EOL;
sort($tabSiren); sort($tabSiren);
echo date ('Y/m/d - H:i:s')." - Trie des siret OK.".EOL; echo date ('Y/m/d - H:i:s')." - Trie des siret OK.".EOL;

View File

@ -33,10 +33,10 @@ Scorer toute la base entreprise S&D.
Options : Options :
-t Calculer tous les scores (*) -t Calculer tous les scores (*)
-i:XXX Reprendre à la ligne XXX -i:XXX Reprendre à la ligne XXX
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
@ -68,7 +68,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabRows=$iDb->select( 'tmp.siren_surv', 'siren', 'siren>99999 AND siren NOT IN (SELECT siren FROM jo.etablissements) ORDER BY siren_surv.siren DESC', false, MYSQL_ASSOC); $tabRows=$iDb->select( 'tmp.siren_surv', 'siren', 'siren>99999 AND siren NOT IN (SELECT siren FROM jo.etablissements) ORDER BY siren_surv.siren DESC', false, MYSQL_ASSOC);
$nbRows=count($tabRows); $nbRows=count($tabRows);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à scorer...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à scorer...".EOL;
foreach ($tabRows as $k=>$tabSiren) { foreach ($tabRows as $k=>$tabSiren) {
if ($k<$iDeb) continue; if ($k<$iDeb) continue;
@ -77,7 +77,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabRet=@$iWs->searchSiren($siren); $tabRet=@$iWs->searchSiren($siren);
$nbReps=$tabRet['results']['nbReponses']; $nbReps=$tabRet['results']['nbReponses'];
echo date('Y/m/d - H:i:s') ." - Ligne $k, siren $siren : $nbReps entreprise trouvée...".EOL; echo date('Y/m/d - H:i:s') ." - Ligne $k, siren $siren : $nbReps entreprise trouvée...".EOL;
randsleep(1,2); randsleep(1,2);
} }

View File

@ -1,4 +1,4 @@
4399 CJ traitées => 3349 filtrées ! 4399 CJ traitées => 3349 filtrées !
'SOCITRESPONSABILITLIMITE'=>0, // 3710704 'SOCITRESPONSABILITLIMITE'=>0, // 3710704
''=>0, // 1914342 ''=>0, // 1914342
'SARL'=>0, // 3092997 'SARL'=>0, // 3092997

View File

@ -30,7 +30,7 @@ foreach ($tabLigne as $i=>$ligne) {
@$tabCj[$libCj]+=$nbrCj; @$tabCj[$libCj]+=$nbrCj;
} }
$nbCj=count($tabCj); $nbCj=count($tabCj);
echo "$i CJ traitées => $nbCj filtrées !".EOL; echo "$i CJ traitées => $nbCj filtrées !".EOL;
foreach ($tabCj as $libCj=>$nbrCj) foreach ($tabCj as $libCj=>$nbrCj)
echo "'$libCj'=>0,\t// $nbrCj".EOL; echo "'$libCj'=>0,\t// $nbrCj".EOL;
@ -64,16 +64,16 @@ $ferie["Armistice 39-45 "][5] = 8;
$ferie["Toussaint"][11] = 1; $ferie["Toussaint"][11] = 1;
$ferie["Armistice 14-18"][11] = 11; $ferie["Armistice 14-18"][11] = 11;
$ferie["Assomption"][8] = 15; $ferie["Assomption"][8] = 15;
$ferie["Fête du travail "][5] = 1; $ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14; $ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25; $ferie["Noël"][12] = 25;
if ($alsace) if ($alsace)
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25; $ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
// quelques fetes mobiles // quelques fetes mobiles
$lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour); $lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour);
$lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour); $lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour);
$lundi_de_paques['nom'] = "Lundi de Pâques"; $lundi_de_paques['nom'] = "Lundi de Pâques";
$ascencion['mois'] = date( "n", easter_date($an)+39*$jour); $ascencion['mois'] = date( "n", easter_date($an)+39*$jour);
$ascencion['jour'] = date( "j", easter_date($an)+39*$jour); $ascencion['jour'] = date( "j", easter_date($an)+39*$jour);
@ -85,7 +85,7 @@ $vendredi_saint['nom'] = "Vendredi Saint";
$lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour); $lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour);
$lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour); $lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour);
$lundi_de_pentecote['nom'] = "Lundi de Pentecôte"; $lundi_de_pentecote['nom'] = "Lundi de Pentecôte";
$ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour']; $ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour'];
@ -105,20 +105,20 @@ $reponse[$date[$mois]]=$nom;
ksort($reponse); ksort($reponse);
return $reponse; return $reponse;
} }
function tab_jours_feriés($an) { function tab_jours_feriés($an) {
return ferie(range(1,12),$an); return ferie(range(1,12),$an);
} }
$année = date("Y"); $année = date("Y");
$tabFeriers = tab_jours_feriés($année); $tabFeriers = tab_jours_feriés($année);
print_r($tabFeriers); print_r($tabFeriers);
die(); die();
echo "<br>"; echo "<br>";
while (list($mois, $tab) = each ($fériées)) { while (list($mois, $tab) = each ($fériées)) {
while (list($jour, $fete) = each ($tab)) { while (list($jour, $fete) = each ($tab)) {
echo "$jour/$mois/$année => $fete \n<br>"; echo "$jour/$mois/$année => $fete \n<br>";
} }
} }
@ -146,10 +146,10 @@ die();
$tabFormesJuridiques=array( $tabFormesJuridiques=array(
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" , "SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"Societe anonyme cooperative a capital variable" , "Societe anonyme cooperative a capital variable" ,
"Societe a responsabilite limitee" , "Societe a responsabilite limitee" ,
"Sarl membre de la ce ou partie À l'accord sur l'espace Économique europÉen" , "Sarl membre de la ce ou partie À l'accord sur l'espace Économique europÉen" ,
"Soci t par actions simplifi e" , "Soci t par actions simplifi e" ,
"Soci t responsabilit limit e" , "Soci t responsabilit limit e" ,
"Societe civile de personnes" , "Societe civile de personnes" ,
@ -166,14 +166,14 @@ $tabFormesJuridiques=array(
"Societe d'exercice liberal par actions simplifiee - selas" , "Societe d'exercice liberal par actions simplifiee - selas" ,
"Entreprise unipersonnelle a responsabilite limitee" , "Entreprise unipersonnelle a responsabilite limitee" ,
"Soci t en nom collectif" , "Soci t en nom collectif" ,
"SociÉtÉ par actions simplifiÉe unipersonnelle" , "SociÉtÉ par actions simplifiÉe unipersonnelle" ,
"Societe civile de contruction/vente" , "Societe civile de contruction/vente" ,
"Societe anonyme a capital variable" , "Societe anonyme a capital variable" ,
"Societe cooperative de production a responsabilite limitee a capital variable" , "Societe cooperative de production a responsabilite limitee a capital variable" ,
"Cooperative ouvriere de product. a resp. lim." , "Cooperative ouvriere de product. a resp. lim." ,
"SociÉtÉ civile de moyens" , "SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" , "Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" , "SociÉtÉ civile professionnelle" ,
"Societe anonyme d'economie mixte locale" , "Societe anonyme d'economie mixte locale" ,
"Sa a conseil d administration" , "Sa a conseil d administration" ,
"Societe cooperative agricole a capital variable" , "Societe cooperative agricole a capital variable" ,
@ -183,13 +183,13 @@ $tabFormesJuridiques=array(
"Cooperative agricole" , "Cooperative agricole" ,
"Soci t civile" , "Soci t civile" ,
"Soci t civile immobili re" , "Soci t civile immobili re" ,
"SociÉtÉ d'exercice libÉral À responsabilitÉ limitÉe" , "SociÉtÉ d'exercice libÉral À responsabilitÉ limitÉe" ,
"Societe cooperative de production a responsabilite limitee" , "Societe cooperative de production a responsabilite limitee" ,
"Societe cooperative de travailleurs (anonyme)" , "Societe cooperative de travailleurs (anonyme)" ,
"Soci?t? ? responsabilit? limit?e" , "Soci?t? ? responsabilit? limit?e" ,
"Cooperative ouvriere de production (anonyme)" , "Cooperative ouvriere de production (anonyme)" ,
"Sa coop de production a cap variable" , "Sa coop de production a cap variable" ,
"Sa À conseil d'administration" , "Sa À conseil d'administration" ,
"Societe d'interet collectif agricole" , "Societe d'interet collectif agricole" ,
"Societe civile agricole" , "Societe civile agricole" ,
"Societe cooperative de production anonyme a capital variable" , "Societe cooperative de production anonyme a capital variable" ,
@ -200,15 +200,15 @@ $tabFormesJuridiques=array(
"Societe par actions simplifiee a directoire et conseil de surveillance" , "Societe par actions simplifiee a directoire et conseil de surveillance" ,
"Ste coop. prod. a resp. limitee a capital personnel et variable" , "Ste coop. prod. a resp. limitee a capital personnel et variable" ,
"Societe d'actions simplifiee a capital variable" , "Societe d'actions simplifiee a capital variable" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" , "SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" , "Groupement d'intÉrÊt Économique" ,
"Societe d'exercice liberal a responsabilite limitee unipersonnelle%" , "Societe d'exercice liberal a responsabilite limitee unipersonnelle%" ,
"Societe cooperative de production" , "Societe cooperative de production" ,
"Societe cooperative ouvriere de production anonyme a capital variable" , "Societe cooperative ouvriere de production anonyme a capital variable" ,
"Sarl a capital variable" , "Sarl a capital variable" ,
"Societe anonyme d'economie mixte" , "Societe anonyme d'economie mixte" ,
"Societe cooperative anonyme d interet collectif agricole" , "Societe cooperative anonyme d interet collectif agricole" ,
"Sasu sociÉtÉ par actions simplifiÉe À associÉ unique" , "Sasu sociÉtÉ par actions simplifiÉe À associÉ unique" ,
"Societe d'investissements a capital variable (s.i.c.a.v)" , "Societe d'investissements a capital variable (s.i.c.a.v)" ,
"Societe cooperative de production (sarl)" , "Societe cooperative de production (sarl)" ,
"Societe d exercice liberal par actions simplifiees" , "Societe d exercice liberal par actions simplifiees" ,
@ -225,31 +225,31 @@ $tabFormesJuridiques=array(
"Societe civile cooperative de construction" , "Societe civile cooperative de construction" ,
"Sarl de presse" , "Sarl de presse" ,
"Groupememt d interet economique commercial" , "Groupememt d interet economique commercial" ,
"Sa À directoire" , "Sa À directoire" ,
"Societe cooperative de production en a.r.l a capital variable" , "Societe cooperative de production en a.r.l a capital variable" ,
"Societe cooperative interet collectif agricole s.a." , "Societe cooperative interet collectif agricole s.a." ,
"Societe cooperative d'interet collectif anonyme" , "Societe cooperative d'interet collectif anonyme" ,
"Societe cooperative a capital et personnel variables" , "Societe cooperative a capital et personnel variables" ,
"SociÉtÉ coopÉrative À capital variable en la forme sarl" , "SociÉtÉ coopÉrative À capital variable en la forme sarl" ,
"Ste coop de banque a capital var." , "Ste coop de banque a capital var." ,
"Groupement agricole d'exploitation en commun - gaec" , "Groupement agricole d'exploitation en commun - gaec" ,
"SociÉtÉ civile d'exploitation agricole" , "SociÉtÉ civile d'exploitation agricole" ,
"Societe cooperative a capital variable et a responsabilite limitee" , "Societe cooperative a capital variable et a responsabilite limitee" ,
"Societe anonyme cooperative de production d hlm" , "Societe anonyme cooperative de production d hlm" ,
"Societe anonyme cooperative de commercants detaillants" , "Societe anonyme cooperative de commercants detaillants" ,
"SociÉtÉ civile professionnelle de commissaires-priseurs" , "SociÉtÉ civile professionnelle de commissaires-priseurs" ,
"Societe anonyme cooperative de banque populaire" , "Societe anonyme cooperative de banque populaire" ,
"Cooperative de consommation en s.a" , "Cooperative de consommation en s.a" ,
"Sa coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ (sacicap)" , "Sa coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ (sacicap)" ,
"Cooperative de commercants detaillants" , "Cooperative de commercants detaillants" ,
"Societe anonyme cooperative a capital et personnel variable" , "Societe anonyme cooperative a capital et personnel variable" ,
"SociÉtÉ coopÉrative de production À forme sarl." , "SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" , "SociÉtÉ civile immobiliÈre de construction vente" ,
"Ano societe anonyme a directoire et conseil de surveillance" , "Ano societe anonyme a directoire et conseil de surveillance" ,
"Societe par actions simplifiee" , "Societe par actions simplifiee" ,
"Societe cooperative ouvriere de production" , "Societe cooperative ouvriere de production" ,
"Societe civile d exploitation agricole a responsabilite limitee" , "Societe civile d exploitation agricole a responsabilite limitee" ,
"Exploitation agricole À responsabilitÉ limitÉe" , "Exploitation agricole À responsabilitÉ limitÉe" ,
"E.u.r.l." , "E.u.r.l." ,
"Societe d'economie mixte a conseil d'administration" , "Societe d'economie mixte a conseil d'administration" ,
"Groupement europeen d'interet economique" , "Groupement europeen d'interet economique" ,
@ -259,24 +259,24 @@ $tabFormesJuridiques=array(
"Soci t responsabilit limit e coop rative ouvri re de production et de cr dit" , "Soci t responsabilit limit e coop rative ouvri re de production et de cr dit" ,
"Societe cooperative credit capital variable a.r.l." , "Societe cooperative credit capital variable a.r.l." ,
"Societe d'exercice liberal a forme anonyme _ selafa" , "Societe d'exercice liberal a forme anonyme _ selafa" ,
"SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" , "SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" ,
"SociÉtÉ anonyme d'hlm" , "SociÉtÉ anonyme d'hlm" ,
"Societe d interet collectif agricole" , "Societe d interet collectif agricole" ,
"Societe cooperative d'artisan en arl a capital variable" , "Societe cooperative d'artisan en arl a capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" , "SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" , "SociÉtÉ d'investissement À capital variable" ,
"Societe civile d exploitation agricole" , "Societe civile d exploitation agricole" ,
"Societe en nom collectif" , "Societe en nom collectif" ,
"Sarl cooperative ouvriere de production et de credit a capital variable" , "Sarl cooperative ouvriere de production et de credit a capital variable" ,
"SociÉtÉ par actions simplifiÉe À capital variable" , "SociÉtÉ par actions simplifiÉe À capital variable" ,
"SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" , "SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" ,
"S a cooperative d entreprises a capital variable" , "S a cooperative d entreprises a capital variable" ,
"Sa a conseil d&#039;administration" , "Sa a conseil d&#039;administration" ,
"Societe cooperative de credit" , "Societe cooperative de credit" ,
"Societe de presse" , "Societe de presse" ,
"Societe anonyme a participation ouvriere" , "Societe anonyme a participation ouvriere" ,
"Groupement d interet economique commercial" , "Groupement d interet economique commercial" ,
"SociÉtÉ anonyme d'Économie mixte À conseil d'administration" , "SociÉtÉ anonyme d'Économie mixte À conseil d'administration" ,
"Ste d'exercice liberal a responsabilite limitee unipersonnel" , "Ste d'exercice liberal a responsabilite limitee unipersonnel" ,
"Societe cooperative d interet collectif a responsabilite limitee" , "Societe cooperative d interet collectif a responsabilite limitee" ,
"Sa d'economie mixte a conseil administratif" , "Sa d'economie mixte a conseil administratif" ,
@ -295,11 +295,11 @@ $tabFormesJuridiques=array(
"Cooperative agricole a capital variable" , "Cooperative agricole a capital variable" ,
"Societe cooperative de production en a.r.l. a capital variable" , "Societe cooperative de production en a.r.l. a capital variable" ,
"Societe anonyme a capital et personnel variables" , "Societe anonyme a capital et personnel variables" ,
"SociÉtÉ anonyme À conseil d'administration" , "SociÉtÉ anonyme À conseil d'administration" ,
"Sa coop. ouvriere de production capital et personnel variables" , "Sa coop. ouvriere de production capital et personnel variables" ,
"Union de societes cooperatives a directoire" , "Union de societes cooperatives a directoire" ,
"Societe d'exercice liber. forme anonyme" , "Societe d'exercice liber. forme anonyme" ,
"Sarl d'intÉrÊt collectif et agricole À capital variable" , "Sarl d'intÉrÊt collectif et agricole À capital variable" ,
"Sarl cooperative a capital variable" , "Sarl cooperative a capital variable" ,
"Sa coop rative ouvri re de prod et cr dit conseil d adm capital variable" , "Sa coop rative ouvri re de prod et cr dit conseil d adm capital variable" ,
"Banque cooperative regie par la loi n.99-532 du 25.06.1999" , "Banque cooperative regie par la loi n.99-532 du 25.06.1999" ,
@ -311,9 +311,9 @@ $tabFormesJuridiques=array(
"Ste cooperative de banque populaire" , "Ste cooperative de banque populaire" ,
"Societe cooperative de consommation anonyme" , "Societe cooperative de consommation anonyme" ,
"Societe anonyme d hlm" , "Societe anonyme d hlm" ,
"SociÉtÉ coopÉrative de travailleurs À forme sarl" , "SociÉtÉ coopÉrative de travailleurs À forme sarl" ,
"Cooperative d'interet collectif a conseil d'administration" , "Cooperative d'interet collectif a conseil d'administration" ,
"SociÉtÉ de placement À prÉpondÉrance immobiliÈre À capital variable" , "SociÉtÉ de placement À prÉpondÉrance immobiliÈre À capital variable" ,
"Societe cooperative a capital variable" , "Societe cooperative a capital variable" ,
"Etablissement public national" , "Etablissement public national" ,
"Sica anonyme a directoire et conseil de surveillance" , "Sica anonyme a directoire et conseil de surveillance" ,
@ -327,14 +327,14 @@ $tabFormesJuridiques=array(
"Sarl sous forme de eurl" , "Sarl sous forme de eurl" ,
"Ano societe anonyme cooperative a capital variable a directoire" , "Ano societe anonyme cooperative a capital variable a directoire" ,
"Cooperative artisanale en s.a.r.l" , "Cooperative artisanale en s.a.r.l" ,
"SociÉtÉ civile professionnelle d'avocats" , "SociÉtÉ civile professionnelle d'avocats" ,
"Ste cooperative artisanale resp.lim.capital variable" , "Ste cooperative artisanale resp.lim.capital variable" ,
"Societe anonyme capital fixe coop. de banque" , "Societe anonyme capital fixe coop. de banque" ,
"Societe cooperative de banque populaire a capital variable" , "Societe cooperative de banque populaire a capital variable" ,
"Cooperative ouvriere de production en s.a.r.l." , "Cooperative ouvriere de production en s.a.r.l." ,
"Societe cooperative ouvriere de production a.s.a" , "Societe cooperative ouvriere de production a.s.a" ,
"SociÉtÉ coopÉrative de production À forme anonyme À capital variable" , "SociÉtÉ coopÉrative de production À forme anonyme À capital variable" ,
"Sa coopÉrative ouvriÈre de prod. et crÉdit À conseil d'adm. À capital variable" , "Sa coopÉrative ouvriÈre de prod. et crÉdit À conseil d'adm. À capital variable" ,
"Banque cooperative" , "Banque cooperative" ,
"Sarl membre de la ce ou partie l accord sur l espace conomique europ en" , "Sarl membre de la ce ou partie l accord sur l espace conomique europ en" ,
"Sascop" , "Sascop" ,
@ -345,17 +345,17 @@ $tabFormesJuridiques=array(
"Ste d'investissements a capital variable a conseil -sicav-" , "Ste d'investissements a capital variable a conseil -sicav-" ,
"Societe civile en construction vente (loi de 1971) titre1" , "Societe civile en construction vente (loi de 1971) titre1" ,
"Societe cooperative artisanale a resp. limitee et a capital variable" , "Societe cooperative artisanale a resp. limitee et a capital variable" ,
"SociÉtÉ anonyme coopÉrative de consommation À conseil d'administration" , "SociÉtÉ anonyme coopÉrative de consommation À conseil d'administration" ,
"Ville de" , "Ville de" ,
"Societe anonyme de presse" , "Societe anonyme de presse" ,
"Association loi 1901 Émettant des obligations" , "Association loi 1901 Émettant des obligations" ,
"Societe civile professionnelle de notaires" , "Societe civile professionnelle de notaires" ,
"Societe civile immobiliere d attribution" , "Societe civile immobiliere d attribution" ,
"Societe civile professionnelle de chirurgien-dentistes" , "Societe civile professionnelle de chirurgien-dentistes" ,
"Ste cooperative d'interet collectif a responsabilite limitee a capital variable" , "Ste cooperative d'interet collectif a responsabilite limitee a capital variable" ,
"Arl societe a associe unique" , "Arl societe a associe unique" ,
"Soci?t? par actions simplifi?e" , "Soci?t? par actions simplifi?e" ,
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sarl" , "SociÉtÉ coopÉrative ouvriÈre de production en la forme sarl" ,
"Soci t responsabilit limit e coop rative capital variable" , "Soci t responsabilit limit e coop rative capital variable" ,
"Societe anonyme de consom a capital variable" , "Societe anonyme de consom a capital variable" ,
"Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" , "Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" ,
@ -372,25 +372,25 @@ $tabFormesJuridiques=array(
"Societe anonyme cooperative a directoire" , "Societe anonyme cooperative a directoire" ,
"Cooperative professionnelle" , "Cooperative professionnelle" ,
"S.a cooperative d'entreprises a capital variable" , "S.a cooperative d'entreprises a capital variable" ,
"SociÉtÉ ÉtrangÈre immatriculÉe au rcs" , "SociÉtÉ ÉtrangÈre immatriculÉe au rcs" ,
"Soci?t? ? responsabilit? limit?e ? associ? unique" , "Soci?t? ? responsabilit? limit?e ? associ? unique" ,
"SociÉtÉ civile professionnelle d'huissiers de justice" , "SociÉtÉ civile professionnelle d'huissiers de justice" ,
"Soci t responsabilit limit e associ unique" , "Soci t responsabilit limit e associ unique" ,
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sa" , "SociÉtÉ coopÉrative ouvriÈre de production en la forme sa" ,
"Sa coop de commercants detail a ca" , "Sa coop de commercants detail a ca" ,
"StÉ de participation financiÈre de profession libÉrale À responsabilitÉ limitÉe" , "StÉ de participation financiÈre de profession libÉrale À responsabilitÉ limitÉe" ,
"Societe cooperative maritime" , "Societe cooperative maritime" ,
"Autres formes juridiques" , "Autres formes juridiques" ,
"Societe civile immobiliere de construction / vente" , "Societe civile immobiliere de construction / vente" ,
"Banque coopÉrative rÉgie par la loi n°99-532 du 25 juin 1999" , "Banque coopÉrative rÉgie par la loi n°99-532 du 25 juin 1999" ,
"SociÉtÉ coopÉrative exploitÉe sous forme de sarl" , "SociÉtÉ coopÉrative exploitÉe sous forme de sarl" ,
"Sarl associe unique" , "Sarl associe unique" ,
"Institution regie - articles l141-1 et suivants du code monetaire et financier" , "Institution regie - articles l141-1 et suivants du code monetaire et financier" ,
"Societe de droit anglais" , "Societe de droit anglais" ,
"Societe cooperative de consommation anonyme a capital variable" , "Societe cooperative de consommation anonyme a capital variable" ,
"Union de cooperative" , "Union de cooperative" ,
"Societe en commandite simple a capital variable" , "Societe en commandite simple a capital variable" ,
"StÉ coop de crÉdit À capital variable et À responsabilitÉ statutairement limitÉe" , "StÉ coop de crÉdit À capital variable et À responsabilitÉ statutairement limitÉe" ,
"Societe par actions" , "Societe par actions" ,
"Societe cooperative artisanale a responsabilite limitee" , "Societe cooperative artisanale a responsabilite limitee" ,
"Societe civile professionnelle de medecins" , "Societe civile professionnelle de medecins" ,
@ -404,28 +404,28 @@ $tabFormesJuridiques=array(
"Ste anonyme a directoire et conseil d'orientation & surveillance" , "Ste anonyme a directoire et conseil d'orientation & surveillance" ,
"Sarl unipersonnelle sportive" , "Sarl unipersonnelle sportive" ,
"Scop a responsabilite limitee et a capital variable" , "Scop a responsabilite limitee et a capital variable" ,
"SociÉtÉ À responsabilitÉ limitÉe unipersonnelle À capital variable" , "SociÉtÉ À responsabilitÉ limitÉe unipersonnelle À capital variable" ,
"Sarl a capital et personnel variable" , "Sarl a capital et personnel variable" ,
"Societe d exploitation agricole a responsabilite limitee" , "Societe d exploitation agricole a responsabilite limitee" ,
"Sarl - eurl a capital variable" , "Sarl - eurl a capital variable" ,
"StÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" , "StÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Ste anonyme cooperative a capital variable" , "Ste anonyme cooperative a capital variable" ,
"Etablissement de credit a but non lucratif" , "Etablissement de credit a but non lucratif" ,
"Societe cooperative de travailleurs (sarl)" , "Societe cooperative de travailleurs (sarl)" ,
"E.a.r.l." , "E.a.r.l." ,
"Societe d assurance" , "Societe d assurance" ,
"Regie municipale" , "Regie municipale" ,
"Coop. de crÉdit À responsabilitÉ statutairement limitÉe et À capital variable" , "Coop. de crÉdit À responsabilitÉ statutairement limitÉe et À capital variable" ,
"Societe" , "Societe" ,
"Sarl non membre de la ce ou non partie À l'accord sur l'espace Économique eur." , "Sarl non membre de la ce ou non partie À l'accord sur l'espace Économique eur." ,
"Cooperative a capital variable en a r l " , "Cooperative a capital variable en a r l " ,
"Societe anonyme a directoire et conseil de surveillance" , "Societe anonyme a directoire et conseil de surveillance" ,
"Cooperative ouvriere de production (sa)" , "Cooperative ouvriere de production (sa)" ,
"Societe civile d'attribution" , "Societe civile d'attribution" ,
"Societe civile de portefeuille" , "Societe civile de portefeuille" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ" , "SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ" ,
"Affaire personnelle artisan" , "Affaire personnelle artisan" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" , "Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Societe civile immobiliere a capital variable" , "Societe civile immobiliere a capital variable" ,
"S a r l de presse" , "S a r l de presse" ,
"Sarl d'architecture" , "Sarl d'architecture" ,
@ -510,16 +510,16 @@ $tab = array( 'toto.com',
'nono.net', 'nono.net',
'dodo.com', 'dodo.com',
); );
// Récupération des résultats // Récupération des résultats
$output = false; $output = false;
// Exécution // Exécution
if($tab){ if($tab){
foreach($tab as $host){ foreach($tab as $host){
list($domain, $tdl) = split(".", $host, 2); // le 2 permet de s'arreter après le 1er point ce qui permet d'avoir des extenssion du type .com.fr list($domain, $tdl) = split(".", $host, 2); // le 2 permet de s'arreter après le 1er point ce qui permet d'avoir des extenssion du type .com.fr
$output[$host] = simpleWhois($domain, $tdl); $output[$host] = simpleWhois($domain, $tdl);
} }
} }
// Affichage "brut" des données traitées // Affichage "brut" des données traitées
if($output){ if($output){
print_r($output); print_r($output);
} }

View File

@ -3,18 +3,18 @@
include_once(INCLUDE_PATH.'insee/classMInsee.php'); include_once(INCLUDE_PATH.'insee/classMInsee.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Sirenage automatique des annonces Bodacc pas encore sirenées. Sirenage automatique des annonces Bodacc pas encore sirenées.
Options : Options :
-s Sirenage semi-automatique (Ligne de prompt pour les entreprises non sirenées) -s Sirenage semi-automatique (Ligne de prompt pour les entreprises non sirenées)
-p Sirenage de toutes les annonces sans propositions (en vu du traitement manuel) -p Sirenage de toutes les annonces sans propositions (en vu du traitement manuel)
-a Re-sirenage de toutes les annonces Bodacc non sirenées ! -a Re-sirenage de toutes les annonces Bodacc non sirenées !
-i:XXX Reprise à partir du numéro d'annonce XXX -i:XXX Reprise à partir du numéro d'annonce XXX
"; ";
$semiManuel=$sansPropo=$toutes=$index=false; $semiManuel=$sansPropo=$toutes=$index=false;
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
else { else {
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -48,7 +48,7 @@ else {
$iDb=new WDB('tmp'); $iDb=new WDB('tmp');
$iInsee=new MInsee(); $iInsee=new MInsee();
$listeNonSirene=$iDb->select('mederic', 'ID_CLIENT, REF, RAISON_SOCIALE, ENSEIGNE2, SIGLE2, ADRESSE, CP, VILLE', 'SIREN=0', true); $listeNonSirene=$iDb->select('mederic', 'ID_CLIENT, REF, RAISON_SOCIALE, ENSEIGNE2, SIGLE2, ADRESSE, CP, VILLE', 'SIREN=0', true);
echo date('Y/m/d - H:i:s') ." - Nombre d'entreprises à traiter : ".count($listeNonSirene). EOL; echo date('Y/m/d - H:i:s') ." - Nombre d'entreprises à traiter : ".count($listeNonSirene). EOL;
foreach ($listeNonSirene as $k=>$entrep) { foreach ($listeNonSirene as $k=>$entrep) {
$siege='';$actif='';$deb=0;$nbRep=20;$maxRep=20;$pertinence=false; $siege='';$actif='';$deb=0;$nbRep=20;$maxRep=20;$pertinence=false;
$avecSiren=true; $avecSiren=true;
@ -62,7 +62,7 @@ else {
//print_r($tabEtabs); //print_r($tabEtabs);
//die(); //die();
$tabSiren=array(); $tabSiren=array();
//echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... "; //echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... ";
foreach ($tabEtabs['reponses'] as $i=>$etab) { foreach ($tabEtabs['reponses'] as $i=>$etab) {
$tabSiren[]=$etab['Siren']; $tabSiren[]=$etab['Siren'];
@ -78,14 +78,14 @@ else {
$sigle = $etab['Tel']; // 00000000 $sigle = $etab['Tel']; // 00000000
$sigle = $etab['Fax']; // 00000000 $sigle = $etab['Fax']; // 00000000
$sigle = $etab['FJ']; // 1500 $sigle = $etab['FJ']; // 1500
$sigle = $etab['FJLib']; // Profession libérale $sigle = $etab['FJLib']; // Profession libérale
$siren = $etab['Siren']; // 408472603 $siren = $etab['Siren']; // 408472603
$nic = $etab['Nic']; // 00039 $nic = $etab['Nic']; // 00039
$actif = $etab['Actif']; // 0 $actif = $etab['Actif']; // 0
*/ */
} }
$tabUnique=array_unique($tabSiren); $tabUnique=array_unique($tabSiren);
//echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... "; //echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... ";
if (count($tabUnique)==1) { if (count($tabUnique)==1) {
echo '1;'.$entrep['REF'].';'.$tabUnique[0].';'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL; echo '1;'.$entrep['REF'].';'.$tabUnique[0].';'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL;
} else { } else {
@ -103,15 +103,15 @@ else {
else else
if (trim($siren)<>'') { if (trim($siren)<>'') {
$tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true); $tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true);
if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren
//$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true); //$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true);
} else } else
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError()); $iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError());
// On efface l'information de la table A sirener au cas où ! // On efface l'information de la table A sirener au cas où !
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError()); $iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
} }
} elseif (count($tabTrouve)==0) { } elseif (count($tabTrouve)==0) {
echo " Pas de réponse !\n"; echo " Pas de réponse !\n";
$tabInsert=array( 'idAnn'=>$entrep['id'], $tabInsert=array( 'idAnn'=>$entrep['id'],
'siren'=>$entrep['sir']); 'siren'=>$entrep['sir']);
if (!$iDb->insert('bodacc_sirenage', $tabInsert)) if (!$iDb->insert('bodacc_sirenage', $tabInsert))
@ -139,13 +139,13 @@ else {
} }
if ($sirenDiff==false) { if ($sirenDiff==false) {
// Tous les SIREN sont identiques, l'entreprise ttouvée est la bonne ! // Tous les SIREN sont identiques, l'entreprise ttouvée est la bonne !
echo "$num. Siren trouvé = $siren (tous les Sirens sont identiques) !\n"; echo "$num. Siren trouvé = $siren (tous les Sirens sont identiques) !\n";
$iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>4, $table['champNicValide']=>0), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError()); $iDb->update('bodacc_detail', array('siren'=>$siren, $table['champSirenValide']=>4, $table['champNicValide']=>0), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError());
// On efface l'information de la table A sirener au cas où ! // On efface l'information de la table A sirener au cas où !
$iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError()); $iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError());
} else { } else {
/** On insère en base toutes les multipropositions pour le sirenage manuel /** On insère en base toutes les multipropositions pour le sirenage manuel
$tabInsert=array( 'idAnn'=>$entrep['id'], $tabInsert=array( 'idAnn'=>$entrep['id'],
'siren'=>$entrep['sir'], 'siren'=>$entrep['sir'],
'siretProposes'=>implode(';',$tabSiret)); 'siretProposes'=>implode(';',$tabSiret));
@ -155,13 +155,13 @@ else {
//, 'id='.$entrep['id'].' AND '. $table['champSiren'] .'='.$entrep['sir'], true) or die(mysql_error()); //, 'id='.$entrep['id'].' AND '. $table['champSiren'] .'='.$entrep['sir'], true) or die(mysql_error());
/*elseif ($sirenNomIdem!=false) { /*elseif ($sirenNomIdem!=false) {
echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n"; echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n";
if ($table['db']<>'jo') if ($table['db']<>'jo')
$iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error()); $iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else else
$iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error()); $iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error());
} elseif ($sirenAdrIdem!=false) { } elseif ($sirenAdrIdem!=false) {
echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n"; echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n";
if ($table['db']<>'jo') if ($table['db']<>'jo')
$iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error()); $iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else else
@ -170,7 +170,7 @@ else {
{ //if ($semiManuel==true); { //if ($semiManuel==true);
$saisie=''; $saisie='';
while($semiManuel==true && $saisie=='') { while($semiManuel==true && $saisie=='') {
echo "Veuillez saisir le numéro qui identifie la bonne entreprise (0 si pas de réponse) : "; echo "Veuillez saisir le numéro qui identifie la bonne entreprise (0 si pas de réponse) : ";
$saisie = trim(fgets(STDIN)); $saisie = trim(fgets(STDIN));
if ($saisie==0) break; if ($saisie==0) break;
elseif ($saisie>0 && $saisie<=$j+1) { elseif ($saisie>0 && $saisie<=$j+1) {

View File

@ -7,17 +7,17 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Programme automatique de consolidation des annonces Bodacc. Programme automatique de consolidation des annonces Bodacc.
Options : Options :
-f Récupération des informations dirigeants en IG/FP* -f Récupération des informations dirigeants en IG/FP*
-i:XXX Reprendre à la ligne XXX -i:XXX Reprendre à la ligne XXX
(*) Options non encore opérationnelles ! (*) Options non encore opérationnelles !
"; ";
$semiManuel=$sansPropo=$toutes=$index=false; $semiManuel=$sansPropo=$toutes=$index=false;
$mInsee=new MInsee(); $mInsee=new MInsee();
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
else { else {
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -76,7 +76,7 @@ while ($tab=$iDbInsee->fetch(MYSQL_ASSOC)) {
$naissDate=$tab['DIR_DATEN']; $naissDate=$tab['DIR_DATEN'];
$naissLieu=trim($tab['DIR_LIEUN']); $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 $siren.' '.trim($tab['DIR_IDEN'])."\t:\t$civ Nom='$nom', Prenom='$prenom', Usage='$naissNom' né le $naissDate à $naissLieu\t";
//echo "?"; //echo "?";
//$saisie = trim(strtoupper(fgets(STDIN))); //$saisie = trim(strtoupper(fgets(STDIN)));
@ -108,7 +108,7 @@ $client = new SoapClient(null, array( 'trace' => 1,
'login' => 'ylenaour', 'login' => 'ylenaour',
'password' => 'bzh4231*')); 'password' => 'bzh4231*'));
// Faire tourner en auto ce programme pour l'ensemble des annonces Bodacc à compter du 9 juin 2008 // 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 //$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 */ /*siren between 490000001 AND 500000000 AND */
@ -126,13 +126,13 @@ $nbBod=$iDb->select('rncs_requetes', 'siren', "siren>1000 AND type='QINF' AND pr
// 1503 : Cloture de la procedure pour insuffisance d'actif // 1503 : Cloture de la procedure pour insuffisance d'actif
$rec=0; $rec=0;
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL; 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)) { while ($tab=$iDb->fetch(MYSQL_ASSOC)) {
/*$tab2=file('/mnt/samba/partage/production/igfp.csv'); /*$tab2=file('/mnt/samba/partage/production/igfp.csv');
/*shuffle($tab2); /*shuffle($tab2);
file_put_contents('/mnt/samba/partage/production/igfp2.csv',implode('', $tab2),FILE_APPEND);* file_put_contents('/mnt/samba/partage/production/igfp2.csv',implode('', $tab2),FILE_APPEND);*
$nbBod=count($tab2); $nbBod=count($tab2);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBod dirigeants en IG/FP à mettre à jour...".EOL;
foreach ($tab2 as $tab) {*/ foreach ($tab2 as $tab) {*/
$rec++; $rec++;

View File

@ -22,7 +22,7 @@ $nbInsertAsso=$nbInsertRncs1=$nbInsertRncs2=$nbInsertBod=$nbConjoints=$nbInsertB
$table='etablissements_tmp'; $table='etablissements_tmp';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolide la table des dirigeants d'entreprises à partir des dernières mises à jours des différentes sources. Consolide la table des dirigeants d'entreprises à partir des dernières mises à jours des différentes sources.
Sans aucune options, consolide toutes les sources. Sans aucune options, consolide toutes les sources.
Options : Options :
@ -63,18 +63,18 @@ if ($_SERVER['argc']>1)
if (file_exists(REP_TEMP.'stockInsee.lock')) { if (file_exists(REP_TEMP.'stockInsee.lock')) {
$message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"'; $message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"';
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Consolidation des dirigeants non traitée car trimestriel en cours', $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Consolidation des dirigeants non traitée car trimestriel en cours', $message);
die(); die();
} }
/** Par défaut, on consolide toutes les sources **/ /** Par défaut, on consolide toutes les sources **/
if ($all) { if ($all) {
$baseInpi=$baseBodacc=$baseBodaccHisto=true; $baseInpi=$baseBodacc=$baseBodaccHisto=true;
} }
$iDb=new WDB('jo'); $iDb=new WDB('jo');
echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table dirigeants.".EOL; echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table dirigeants.".EOL;
if (!$iDb->query("DROP TABLE IF EXISTS jo.dirigeants_tmp;")) if (!$iDb->query("DROP TABLE IF EXISTS jo.dirigeants_tmp;"))
die($iDb->getLastError()); die($iDb->getLastError());
@ -105,11 +105,11 @@ die($iDb->getLastError());
$strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des dirigeants.".EOL; $strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des dirigeants.".EOL;
if ($baseInpi) { if ($baseInpi) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table dirigeants depuis le RNCS.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table dirigeants depuis le RNCS.".EOL;
$retTmp=$iDb->select('jo.rncs_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.rncs_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le RNCS...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le RNCS...".EOL;
if(!$iDb->query("INSERT IGNORE INTO jo.dirigeants_tmp SELECT 0 AS id, 5 AS source, id AS source_id, siren, adr_dep, if(!$iDb->query("INSERT IGNORE INTO jo.dirigeants_tmp SELECT 0 AS id, 5 AS source, id AS source_id, siren, adr_dep,
typeDir, dirSiren, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, typeDir, dirSiren, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu,
@ -119,14 +119,14 @@ if ($baseInpi) {
$retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL;
} }
if ($baseBodacc) { if ($baseBodacc) {
$retTmp=$iDb->select('jo.bodacc_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.bodacc_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc...".EOL;
if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp
SELECT NULL AS id, 1 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif SELECT NULL AS id, 1 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif
@ -135,14 +135,14 @@ if ($baseBodacc) {
$retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL;
} }
if ($baseBodaccHisto) { if ($baseBodaccHisto) {
$retTmp=$iDb->select('jo.bodacc_dirigeants_histo', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.bodacc_dirigeants_histo', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc Histo...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc Histo...".EOL;
if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp
SELECT NULL AS id, 6 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif SELECT NULL AS id, 6 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif
@ -151,8 +151,8 @@ if ($baseBodaccHisto) {
$retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=6', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=6', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL;
} }
echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Dirigeants".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Dirigeants".EOL;

View File

@ -15,15 +15,15 @@ include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$all=true; $all=true;
$joAsso=$joBodacc=$baseInsee=$baseInpi=$reset=$pageRankOnly=$iGreffe=false; $joAsso=$joBodacc=$baseInsee=$baseInpi=$reset=$pageRankOnly=$iGreffe=$iLiens=false;
// Compteurs // Compteurs
$nbInsertAsso=$nbInsertRncs1=$nbInsertRncs2=$nbInsertBod=$nbConjoints=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=0; $nbInsertAsso=$nbInsertRncs1=$nbInsertRncs2=$nbInsertBod=$nbConjoints=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=$nbInsertLiens=0;
$table='etablissements_tmp'; $table='etablissements_tmp';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources. Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources.
Sans aucune options, consolide toutes les sources dernièrement mises à jour. Sans aucune options, consolide toutes les sources dernièrement mises à jour.
Options : Options :
-a Consolider seulement le JO association. -a Consolider seulement le JO association.
@ -31,10 +31,11 @@ Options :
-i Consolider les infos SIRENE (Insee) -i Consolider les infos SIRENE (Insee)
-n Consolider les infos RNCS (Inpi) -n Consolider les infos RNCS (Inpi)
-g Consolider les entreprises en provenance des Greffes -g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques -l Consolider les entreprises issues de la base Liens
-r Reconstruire complètement la base -m Mettre à jour les données sur les marques
-r Reconstruire complètement la base
-p traiter uniquement la construction du 'page rank' -p traiter uniquement la construction du 'page rank'
-t:XXX Mettre à jour la table XXX -t:XXX Mettre à jour la table XXX
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -43,46 +44,19 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) { switch (substr($argv[$i],1,1)) {
case 'a': case 'a': $all=false; $joAsso=true; break;
$all=false; case 'g': $all=false; $iGreffe=true; break;
$joAsso=true; case 'l': $all=false; $iLiens=true; break;
break; case 'm': $all=false; $iMarques=true; break;
case 'g': case 'b': $all=false; $joBodacc=true; break;
$all=false; case 'i': $all=false; $baseInsee=true; break;
$iGreffe=true; case 'n': $all=false; $baseInpi=true; break;
break; case 'r': $reset=true; break;
case 'm': case 'p': $pageRankOnly=true; break;
$all=false; case 't': $table=strtolower(substr($argv[$i],3)); break;
$iMarques=true; case '-':
break; case '?': die($strInfoScript); break;
case 'b': default: die('Option '. $argv[$i] . " inconnue !\n"); break;
$all=false;
$joBodacc=true;
break;
case 'i':
$all=false;
$baseInsee=true;
break;
case 'n':
$all=false;
$baseInpi=true;
break;
case 'r':
$reset=true;
break;
case 'p':
$pageRankOnly=true;
break;
case 't':
$table=strtolower(substr($argv[$i],3));
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
} }
} }
} }
@ -90,13 +64,13 @@ if ($_SERVER['argc']>1)
if (file_exists(REP_TEMP.'stockInsee.lock')) { if (file_exists(REP_TEMP.'stockInsee.lock')) {
$message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"'; $message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"';
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Consolidation des établissements non traitée car trimestriel en cours', $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Consolidation des établissements non traitée car trimestriel en cours', $message);
die(); die();
} }
/** Par défaut, on consolide toutes les sources **/ /** Par défaut, on consolide toutes les sources **/
if ($all) { if ($all) {
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iMarques=true; $joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iLiens=$iMarques=true;
} }
$iDb=new WDB('jo'); $iDb=new WDB('jo');
@ -138,11 +112,11 @@ function getCodePrefectures($strPrefecture, $dep=0) {
return ''; return '';
} }
// Début Test // Début Test
/* /*
$retTmp=$iDb->select('asso', 'Sous_Prefecture, Departement, COUNT(*) AS nb', '1 GROUP BY Sous_Prefecture ORDER BY nb DESC', false, MYSQL_ASSOC); $retTmp=$iDb->select('asso', 'Sous_Prefecture, Departement, COUNT(*) AS nb', '1 GROUP BY Sous_Prefecture ORDER BY nb DESC', false, MYSQL_ASSOC);
$nbEtab=count($retTmp); $nbEtab=count($retTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab prefectures différentes à identifier.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab prefectures différentes à identifier.".EOL;
foreach ($retTmp as $i=>$tabTmp) { foreach ($retTmp as $i=>$tabTmp) {
$nb=$tabTmp['nb']*1; $nb=$tabTmp['nb']*1;
$dep=$tabTmp['Departement']*1; $dep=$tabTmp['Departement']*1;
@ -164,7 +138,7 @@ $iInsee=new MInsee();
//if (0==1) { //if (0==1) {
echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL; echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL;
if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;")) if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;"))
die($iDb->getLastError()); die($iDb->getLastError());
@ -218,7 +192,7 @@ if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
die($iDb->getLastError()); die($iDb->getLastError());
$strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des établissements.".EOL; $strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des établissements.".EOL;
if ($baseInsee) { if ($baseInsee) {
/*$dateInsert=date('YmdHis'); /*$dateInsert=date('YmdHis');
if (!$reset) { if (!$reset) {
@ -228,11 +202,11 @@ if ($baseInsee) {
$last_id=0; $last_id=0;
$iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true); $iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true);
}*/ }*/
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL;
$retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL;
/*$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif, /*$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif,
SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num, SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num,
@ -260,13 +234,13 @@ TCA as tca, TCAEXP as tcaexp, IF(TEFF_ENT='NN', NULL, TEFF_ENT*1) AS teff_entrep
0 as dateUpdate FROM insee.identite i LEFT JOIN jo.rncs_entrep e ON i.siren=e.siren"); 0 as dateUpdate FROM insee.identite i LEFT JOIN jo.rncs_entrep e ON i.siren=e.siren");
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
/*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/ /*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/
/* $hier=date('YmdHis'); /* $hier=date('YmdHis');
$nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true); $nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL;
while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) { while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'source'=>2, $tabEtab=array( 'source'=>2,
@ -305,7 +279,7 @@ if ($baseInpi) {
$last_id=0; $last_id=0;
// include ... // include ...
//$iGeffes=new MGreffes(); //$iGeffes=new MGreffes();
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS entreprises.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS entreprises.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -315,7 +289,7 @@ if ($baseInpi) {
'g.siren, g.raisonSociale, g.nom, g.prenom, g.nomUsage, g.sigle, g.naf, g.cj, g.capitalMontant, g.capitalDevIso, g.dateImma, g.dateRad, g.dateFer, g.numGreffe, g.actif, g.triCode, g.numRC2, g.dateInsert', 'g.siren, g.raisonSociale, g.nom, g.prenom, g.nomUsage, g.sigle, g.naf, g.cj, g.capitalMontant, g.capitalDevIso, g.dateImma, g.dateRad, g.dateFer, g.numGreffe, g.actif, g.triCode, g.numRC2, g.dateInsert',
"e.siren IS NULL", false,MYSQL_ASSOC,true); "e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance du RNCS dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance du RNCS dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabEntrep=$iDb->fetch(MYSQL_ASSOC)) { while ($tabEntrep=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$tabEntrep['siren']; $siren=$tabEntrep['siren'];
@ -399,18 +373,18 @@ if ($baseInpi) {
$nbInsertRncs1++; $nbInsertRncs1++;
} }
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS établissements.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS établissements.".EOL;
$nbBodS=$iDb->select('rncs_etab g LEFT JOIN etablissements_tmp e ON g.siren=e.siren AND g.nic = e.nic', $nbBodS=$iDb->select('rncs_etab g LEFT JOIN etablissements_tmp e ON g.siren=e.siren AND g.nic = e.nic',
'g.id, g.siren, g.nic, g.siege, g.actif, g.enseigne, g.nomCommercial, g.adrNumVoie, g.adrIndRep, g.adrLibVoie, g.adrTypeVoie, g.adrVoie, g.cp, g.commune, g.adrComp, g.adresse1, g.adresse2, g.adresse3, g.naf, g.dateFermeture, g.flux, g.dateInsert', 'g.id, g.siren, g.nic, g.siege, g.actif, g.enseigne, g.nomCommercial, g.adrNumVoie, g.adrIndRep, g.adrLibVoie, g.adrTypeVoie, g.adrVoie, g.cp, g.commune, g.adrComp, g.adresse1, g.adresse2, g.adresse3, g.naf, g.dateFermeture, g.flux, g.dateInsert',
"e.nic IS NULL", false,MYSQL_ASSOC,true); "e.nic IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS établissements en provenance du RNCS dont le siret est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS établissements en provenance du RNCS dont le siret est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabEt=$iDb->fetch(MYSQL_ASSOC)) { while ($tabEt=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$tabEt['siren']; $siren=$tabEt['siren'];
@ -461,13 +435,13 @@ if ($baseInpi) {
} else } else
$nbInsertRncs2++; $nbInsertRncs2++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL;
} }
if ($joBodacc) { if ($joBodacc) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
@ -476,7 +450,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
//$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true); //$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true);
$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL AND d.dateSuppr=0", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL AND d.dateSuppr=0", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute // Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -597,8 +571,8 @@ if ($joBodacc) {
} else } else
$nbInsertBod++; $nbInsertBod++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -608,7 +582,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
//$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true); //$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true);
$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000 AND d.dateSuppr=0", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000 AND d.dateSuppr=0", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
//if ($tabBodacc['siren']<>0) //if ($tabBodacc['siren']<>0)
@ -746,10 +720,10 @@ if ($joBodacc) {
} else } else
$nbInsertBodNS++; $nbInsertBodNS++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
/* /*
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -759,7 +733,7 @@ if ($joBodacc) {
} else $last_id=0; } else $last_id=0;
$nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true); $nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true);
// //
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
if ($tabBodacc['siren']<>0) if ($tabBodacc['siren']<>0)
@ -818,11 +792,11 @@ if ($joAsso) {
$tabThemes=array(); $tabThemes=array();
$retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC); $retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC);
$nbThemes=count($retTmp); $nbThemes=count($retTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbThemes thèmes d'activité associations avec correspondances NAF.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbThemes thèmes d'activité associations avec correspondances NAF.".EOL;
foreach ($retTmp as $i=>$tabTmp) foreach ($retTmp as $i=>$tabTmp)
$tabThemes['_'.$tabTmp['theme']]=$tabTmp['naf']; $tabThemes['_'.$tabTmp['theme']]=$tabTmp['naf'];
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true); $tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
@ -831,28 +805,28 @@ if ($joAsso) {
//$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true); //$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100 AND dateSuppr=0", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100 AND dateSuppr=0", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
/* /*
9110 Syndicat de copropriété 9110 Syndicat de copropriété
9210 Association non déclarée 9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique" 9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire 9222 Association intermédiaire
9223 Groupement d'employeurs 9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique 9230 Association déclarée reconnue d'utilité publique
9240 Congrégation 9240 Congrégation
*/ */
/** Initialisation des valeurs par défaut /** Initialisation des valeurs par défaut
**/ **/
$naf=''; $naf='';
$actif=1; $actif=1;
$cj=9220; // Association déclarée $cj=9220; // Association déclarée
// $tabEven=array(); // $tabEven=array();
if ($tabAsso['typeAsso']=='ASL') { if ($tabAsso['typeAsso']=='ASL') {
//if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) { //if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
$cj=9150; // ASL $cj=9150; // ASL
$naf='8110Z'; // Activités combinées de soutien lié aux bâtiments $naf='8110Z'; // Activités combinées de soutien lié aux bâtiments
} }
elseif ($tabAsso['typeAsso']=='FON') elseif ($tabAsso['typeAsso']=='FON')
//elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce'])) //elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
@ -861,10 +835,20 @@ if ($joAsso) {
$cj=9900; // Autre personne morale de droit prive $cj=9900; // Autre personne morale de droit prive
$naf='6832A'; // Administration d'immeubles et autres biens immobiliers $naf='6832A'; // Administration d'immeubles et autres biens immobiliers
} }
elseif ($tabAsso['typeAsso']=='ASS' && (preg_match('/GROUPEMENT.{1,5}EMPLOYEUR/i', $tabAsso['Assoc_Nom']) ||
preg_match('/GROUPEMENT.{1,5}EMPLOYEUR/i', $tabAsso['Assoc_ANom']))) {
$cj=9223; // Groupement d'employeur
$naf='7830Z'; // Autre mise à disposition de ressources humaines
}
elseif ($tabAsso['typeAsso']=='ASS' && (preg_match('/ASSOCIATION.{1,5}INTERMEDIAIRE/i', $tabAsso['Assoc_Nom']) ||
preg_match('/ASSOCIATION.{1,5}INTERMEDIAIRE/i', $tabAsso['Assoc_ANom']))) {
$cj=9222; // Association intermédiaire
$naf='8810C'; // Aide par le travail
}
elseif ($tabAsso['typeAsso']=='ASS' && ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68)) elseif ($tabAsso['typeAsso']=='ASS' && ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68))
$cj=9260; // Association de droit local $cj=9260; // Association de droit local
if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) { if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) {
$actif=0; $actif=0;
// $tabEven[]=8000; // $tabEven[]=8000;
} }
@ -878,13 +862,13 @@ if ($joAsso) {
if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'') if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'')
$tabEven[]=8010; // Changement de nom $tabEven[]=8010; // Changement de nom
if (trim($tabAsso['Assoc_NAdresse'])<>'') if (trim($tabAsso['Assoc_NAdresse'])<>'')
$tabEven[]=8011; // Déménagement $tabEven[]=8011; // Déménagement
if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'') if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'')
$tabEven[]=8020; // Modification de l'objet social $tabEven[]=8020; // Modification de l'objet social
if (trim($tabAsso['Assoc_Fusion'])<>'') if (trim($tabAsso['Assoc_Fusion'])<>'')
$tabEven[]=8030; // Fusion $tabEven[]=8030; // Fusion
/* /*
8021 Additif à l'objet social 8021 Additif à l'objet social
8025 Modification statutaire 8025 Modification statutaire
8080 Suspension d'association 8080 Suspension d'association
* *
@ -897,29 +881,29 @@ if ($joAsso) {
} }
elseif ($tabAsso['Activite']<>'') { elseif ($tabAsso['Activite']<>'') {
if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015 if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015
$naf='9319Z';//'926C'; // Autres activités sportives $naf='9319Z';//'926C'; // Autres activités sportives
elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004 elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004
$naf='9491Z';//913A'; // Organisations religieuses $naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003 elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a. $naf='6399Z'; // Autres services d'information n.c.a.
elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012 elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012
$naf='9492Z'; // Activités des organisations politiques $naf='9492Z'; // Activités des organisations politiques
elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008 elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008
$naf='8559B'; $naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014 elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale $naf='8899B';//853K'; // Autres formes d'action sociale
elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010 elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010
$naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles $naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles
elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005
$naf='9329Z'; // Autres activités récréatives et de loisirs $naf='9329Z'; // Autres activités récréatives et de loisirs
elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005
$naf='9003B'; // Autre création artistique $naf='9003B'; // Autre création artistique
} }
} }
if ($naf=='') $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire if ($naf=='') $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
/** L'adresse est elle structurée en base ? /** L'adresse est elle structurée en base ?
**/ **/
if (trim($tabAsso['Assoc_AdrLibVoie'])<>'' || trim($tabAsso['Assoc_AdrCP'])<>'') { if (trim($tabAsso['Assoc_AdrLibVoie'])<>'' || trim($tabAsso['Assoc_AdrCP'])<>'') {
$adr=array( 'num'=>$tabAsso['Assoc_AdrNum'], $adr=array( 'num'=>$tabAsso['Assoc_AdrNum'],
@ -941,7 +925,7 @@ if ($joAsso) {
} }
if ($updateAdr) { if ($updateAdr) {
// On enregistre l'adresse structurée en base // On enregistre l'adresse structurée en base
$adrComp=strtoupper(@$adr['adrComp0']); $adrComp=strtoupper(@$adr['adrComp0']);
if (@$adr['adrComp1']<>'') if (@$adr['adrComp1']<>'')
$adrComp.=' '.strtoupper(@$adr['adrComp1']); $adrComp.=' '.strtoupper(@$adr['adrComp1']);
@ -955,7 +939,7 @@ if ($joAsso) {
'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']); 'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']);
} }
/*if (trim($tabAsso['codEven'])=='' && count($tabEven)>0) { /*if (trim($tabAsso['codEven'])=='' && count($tabEven)>0) {
// On enregistre les codes évènements // On enregistre les codes évènements
$iDb2->update('asso', array('codEven'=>@implode(';', $tabEven)), 'id='.$tabAsso['id']); $iDb2->update('asso', array('codEven'=>@implode(';', $tabEven)), 'id='.$tabAsso['id']);
}*/ }*/
@ -976,11 +960,11 @@ if ($joAsso) {
$dep=floor(@$adr['cp']/1000); $dep=floor(@$adr['cp']/1000);
if ($dep>96) $dep=floor(@$adr['cp']/100); if ($dep>96) $dep=floor(@$adr['cp']/100);
} }
/** Recherche du code tribunal de la préfecture si manquant **/ /** Recherche du code tribunal de la préfecture si manquant **/
$codTribunal=$tabAsso['codTribunal']; $codTribunal=$tabAsso['codTribunal'];
if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) { if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) {
$codTribunal=getCodePrefectures($tabAsso['Sous_Prefecture'], $dep); $codTribunal=getCodePrefectures($tabAsso['Sous_Prefecture'], $dep);
// On met à jour le tribunal dans la table 'asso' // On met à jour le tribunal dans la table 'asso'
$iDb2->update('asso', array('codTribunal'=>$codTribunal), 'id='.$tabAsso['id']); $iDb2->update('asso', array('codTribunal'=>$codTribunal), 'id='.$tabAsso['id']);
} }
$tabEtab=array( 'source'=>3, $tabEtab=array( 'source'=>3,
@ -1021,20 +1005,20 @@ if ($joAsso) {
} else } else
$nbInsertAsso++; $nbInsertAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$last_id=0; $last_id=0;
//$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true); //$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true);
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100 AND dateSuppr=0", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100 AND dateSuppr=0", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture $tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
'autre_id'=>$tabAsso['Waldec'], 'autre_id'=>$tabAsso['Waldec'],
'identite_pre'=>$tabAsso['Assoc_Nom'], 'identite_pre'=>$tabAsso['Assoc_Nom'],
); );
@ -1045,19 +1029,19 @@ if ($joAsso) {
} else } else
$nbUpdateAsso++; $nbUpdateAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
} }
if ($iGreffe) { if ($iGreffe) {
$iRncs=new MRncs(); $iRncs=new MRncs();
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']); $adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -1109,36 +1093,108 @@ if ($iGreffe) {
} else } else
$nbInsertGreffes++; $nbInsertGreffes++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
} }
if ($iLiens) {
$iRncs=new MRncs();
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Liens Financiers.".EOL;
$dateInsert=date('YmdHis');
$nbBodS=$iDb->select('liensRef l LEFT JOIN tabPays p ON l.adresse_pays=p.codPays3', 'l.id, l.siren, l.sirenValide, l.source, l.actif, l.PpPm, l.RS, l.sigle, l.civilite, l.nom, l.prenom, l.nom_usage, l.naissance_date, l.naissance_dept_pays, l.naissance_lieu, l.nat, l.adresse_num, l.adresse_btq, l.adresse_codvoie, l.adresse_libvoie, l.adresse_comp, l.adresse_cp, l.adresse_ville, l.adresse_pays, l.tel, l.fax, l.web, l.email, l.dateSaisie, l.cj, l.ape, l.categorie, l.capital, l.deviseCapital, l.dateCapital, l.nbActions, l.dateNbActions, l.idLoc1Type, l.idLoc1Num, l.idLoc2Type, l.idLoc2Num, l.idLoc3Type, l.idLoc3Num, l.bilMillesime, l.bilDev, l.bilFL, l.bilHN, l.bilFPr, l.bilEE, l.grpTop, l.grpNom, l.dateInsert, p.codePaysInsee, p.libPays', "l.siren<1000 AND l.dateSuppr=0", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance de la base Liens absentes de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
// l.id, l.siren, l.sirenValide, l.source, l., l.naissance_date, l.naissance_dept_pays,
// l.naissance_lieu, l.nat, l., l., l., l., l., l., l., l.adresse_pays,
// l.web, l.email, l.dateSaisie, l.categorie, l.dateCapital, l.nbActions, l.dateNbActions, l.idLoc1Type,
// l.idLoc2Type, l.idLoc2Num, l.idLoc3Type, l.idLoc3Num, l.bilMillesime, l.bilDev, l.bilFL, l.bilHN, l.bilFPr, l.bilEE, l.grpTop, l.grpNom, l.dateInsert
if ($tabBodacc['PpPm']=='PM') {
$raisonSociale=$tabBodacc['RS'];
} else {
$raisonSociale=trim($tabBodacc['civilite'].' '.strtoupper($tabBodacc['nom']).' '.$tabBodacc['prenom']);
if ($tabBodacc['cj']*1==0) $cj=1900;
else $cj=$tabBodacc['cj'];
}
if ($tabBodacc['adresse_pays']<>'' && $tabBodacc['adresse_pays']<>'FRA') {
$dep=99;
$com=$tabBodacc['codePaysInsee'];
} else {
$dep=floor($tabBodacc['adresse_cp']/1000);
if ($dep>96) $dep=floor($tabBodacc['adresse_cp']/100);
$com='';
}
$tabEtab=array( 'source'=>6,
'source_id'=>$tabBodacc['id'],
'siren'=>$tabBodacc['siren'],
'nic'=>0,
'triCode'=>'',
'autre_id'=>$tabBodacc['idLoc1Num'],
'siege'=>1,
'actif'=>$tabBodacc['actif'],
'raisonSociale'=>$raisonSociale,
'enseigne'=>'',//
'sigle'=>$tabBodacc['sigle'],
'identite_pre'=>$tabBodacc['nom_usage'],
'adr_num'=>$tabBodacc['adresse_num'],
'adr_btq'=>$tabBodacc['adresse_btq'],
'adr_typeVoie'=>$tabBodacc['adresse_codvoie'],
'adr_libVoie'=>$tabBodacc['adresse_libvoie'],
'adr_comp'=>$tabBodacc['adresse_comp'],
'adr_cp'=>$tabBodacc['adresse_cp'],
'adr_ville'=>strtoupper($tabBodacc['adresse_ville']),
'adr_dep'=>$dep,
'adr_com'=>$com,
'tel'=>$tabBodacc['tel'],
'fax'=>$tabBodacc['fax'],
'cj'=>$tabBodacc['cj'],
'capital'=>$tabBodacc['capital'],
'capitalDev'=>$tabBodacc['deviseCapital'],
'capitalSrc'=>6,
'ape_etab'=>$tabBodacc['ape'],
'ape_entrep'=>$tabBodacc['ape'],
'dateInsert'=>$dateInsert,
);
$ret=$iDb->insert('etablissements_tmp',$tabEtab);
if (!$ret && mysql_errno()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations Liens sur le siren ". $tabBodacc['siren'] .' : '. $raisonSociale .' ('. $tabBodacc['id'].') !'.EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
} else
$nbInsertLiens++;
}
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertLiens établissements Liens consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertLiens établissements Liens consolidés.".EOL;
}
if ($iMarques) { if ($iMarques) {
echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL;
$nbMarques=$iDb->select('bopi.marques', 'sirenDeposant AS Siren, nomMarque AS Marques', 'sirenDeposant>1000 AND sirenValide>0 ORDER BY Siren ASC', false,MYSQL_ASSOC,true); $nbMarques=$iDb->select('bopi.marques', 'sirenDeposant AS Siren, nomMarque AS Marques', 'sirenDeposant>1000 AND sirenValide>0 ORDER BY Siren ASC', false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL;
$sirenPre=false; $sirenPre=false;
$strMarques=''; $strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) { while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren']; $siren =$tabMarques['Siren'];
$strMarques.=' '.$tabMarques['Marques'];
if ($sirenPre<>$siren && $sirenPre<>false) { if ($sirenPre<>$siren && $sirenPre<>false) {
/** Il faut mettre à jour l'ensemble des marques pour ce siren **/ /** Il faut mettre à jour l'ensemble des marques pour ce siren **/
$tabUpdate=array( 'marques'=>trim($strMarques)); $tabUpdate=array( 'marques'=>trim($strMarques));
$ret=$iDb->update($table,$tabUpdate, "siren=$siren"); $ret=$iDb->update($table,$tabUpdate, "siren=$sirenPre");
if (!$ret) { if (!$ret) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations MARQUES sur le siren $siren impossible ($strMarques) !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations MARQUES sur le siren $sirenPre impossible ($strMarques) !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error(); echo date ('Y/m/d - H:i:s'). mysql_error();
} else $nbInsertMarques++; } else $nbInsertMarques++;
$strMarques=''; $strMarques='';
} }
$strMarques.=' '.$tabMarques['Marques'];
$sirenPre=$siren; $sirenPre=$siren;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
} }
if ($table<>'etablissements_tmp') { if ($table<>'etablissements_tmp') {
@ -1147,16 +1203,16 @@ if ($table<>'etablissements_tmp') {
} }
} else { } else {
echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL; echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL;
$tab=array( 'rang'=>0 ); $tab=array( 'rang'=>0 );
$iDb->update('etablissements', $tab, 'siren=0'); $iDb->update('etablissements', $tab, 'siren=0');
} }
echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL;
/*$iDbRanks=new WDB('sdv1'); /*$iDbRanks=new WDB('sdv1');
$nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren HAVING `rang`>5 ORDER BY `rang` DESC", false,MYSQL_ASSOC,true); $nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren HAVING `rang`>5 ORDER BY `rang` DESC", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL;
$rangPre=-1; $rangPre=-1;
$tabSiren=array();*/ $tabSiren=array();*/
if ($pageRankOnly) $tableEtab='etablissements'; if ($pageRankOnly) $tableEtab='etablissements';
@ -1165,19 +1221,19 @@ else $tableEtab='etablissements_tmp';
$iDb->query("UPDATE $tableEtab, rangSiren $iDb->query("UPDATE $tableEtab, rangSiren
SET $tableEtab.rang=rangSiren.rang SET $tableEtab.rang=rangSiren.rang
WHERE $tableEtab.siren=rangSiren.siren AND rangSiren.rang>5;"); WHERE $tableEtab.siren=rangSiren.siren AND rangSiren.rang>5;");
echo date ('Y/m/d - H:i:s')." - Fin de la mise à jour du ranking pour la table $tableEtab : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - Fin de la mise à jour du ranking pour la table $tableEtab : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
/* /*
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) { while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if ($tabRank['rang']<>$rangPre && $rangPre<>-1) { if ($tabRank['rang']<>$rangPre && $rangPre<>-1) {
// On met à jour le Rang précédent // On met à jour le Rang précédent
$tab=array( 'rang'=>$rangPre ); $tab=array( 'rang'=>$rangPre );
$strSiren=implode(',',$tabSiren); $strSiren=implode(',',$tabSiren);
if (count($tabSiren)==1) { if (count($tabSiren)==1) {
$iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]); $iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]);
} else { } else {
if (!$iDb->update($tableEtab, $tab, "siren IN ($strSiren)")) if (!$iDb->update($tableEtab, $tab, "siren IN ($strSiren)"))
echo "Erreur SQL sur ".count($tabSiren)." sirens à MAJ : ".mysql_error().EOL; echo "Erreur SQL sur ".count($tabSiren)." sirens à MAJ : ".mysql_error().EOL;
} }
$tabSiren=array(); $tabSiren=array();
} }
@ -1188,11 +1244,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) { if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL; echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$iDb->query("DROP TABLE jo.etablissements_old;"); $iDb->query("DROP TABLE jo.etablissements_old;");
echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;"); //$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;");
//echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;"); //$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;");
//echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
} }
echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
@ -1202,6 +1258,6 @@ $strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Et
if ($nb>0) die(0); if ($nb>0) die(0);
else die(1);*/ else die(1);*/
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Consolidation des établissements', $strMailInfo); sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', 'Consolidation des établissements', $strMailInfo);
die(); die();
?> ?>

View File

@ -18,16 +18,16 @@ $joAsso=$joBodacc=$baseInsee=$reset=$pageRankOnly=$iGreffe=false;
$nbInsertAsso=$nbInsertBod=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=0; $nbInsertAsso=$nbInsertBod=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=0;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources. Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources.
Sans aucune options, consolide toutes les sources dernièrement mises à jour. Sans aucune options, consolide toutes les sources dernièrement mises à jour.
Options : Options :
-a Consolider seulement le JO association. -a Consolider seulement le JO association.
-b Consolider seulement le Bodacc -b Consolider seulement le Bodacc
-i Consolider les infos INSEE -i Consolider les infos INSEE
-g Consolider les entreprises en provenance des Greffes -g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques -m Mettre à jour les données sur les marques
-r Reconstruire complètement la base -r Reconstruire complètement la base
-p traiter uniquement la construction du 'page rank' -p traiter uniquement la construction du 'page rank'
"; ";
@ -75,7 +75,7 @@ if ($_SERVER['argc']>1)
} }
} }
/** Par défaut, on consolide toutes les sources **/ /** Par défaut, on consolide toutes les sources **/
if ($all) { if ($all) {
$joAsso=$joBodacc=$baseInsee=$iGreffe=$iMarques=true; $joAsso=$joBodacc=$baseInsee=$iGreffe=$iMarques=true;
} }
@ -91,7 +91,7 @@ $iInsee=new MInsee();
//if (0==1) { //if (0==1) {
echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL; echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL;
if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;")) if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;"))
die($iDb->getLastError()); die($iDb->getLastError());
@ -144,11 +144,11 @@ if ($baseInsee) {
$last_id=0; $last_id=0;
$iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true); $iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true);
}*/ }*/
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL;
$retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL;
$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif, $iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif,
SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num, SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num,
@ -159,11 +159,11 @@ if ($baseInsee) {
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
/* $hier=date('YmdHis'); /* $hier=date('YmdHis');
$nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true); $nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL;
while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) { while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'source'=>2, $tabEtab=array( 'source'=>2,
@ -199,7 +199,7 @@ if ($baseInsee) {
} }
if ($joBodacc) { if ($joBodacc) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
@ -208,7 +208,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute // Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -324,7 +324,7 @@ if ($joBodacc) {
} else } else
$nbInsertBod++; $nbInsertBod++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
@ -333,7 +333,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
//if ($tabBodacc['siren']<>0) //if ($tabBodacc['siren']<>0)
@ -452,7 +452,7 @@ if ($joBodacc) {
} else } else
$nbInsertBodNS++; $nbInsertBodNS++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
/* /*
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -462,7 +462,7 @@ if ($joBodacc) {
} else $last_id=0; } else $last_id=0;
$nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true); $nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true);
// //
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
if ($tabBodacc['siren']<>0) if ($tabBodacc['siren']<>0)
@ -518,7 +518,7 @@ if ($joBodacc) {
} }
if ($joAsso) { if ($joAsso) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true); $tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
@ -526,59 +526,59 @@ if ($joAsso) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
/* /*
9110 Syndicat de copropriété 9110 Syndicat de copropriété
9210 Association non déclarée 9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique" 9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire 9222 Association intermédiaire
9223 Groupement d'employeurs 9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique 9230 Association déclarée reconnue d'utilité publique
9240 Congrégation 9240 Congrégation
*/ */
/** Initialisation des valeurs par défaut /** Initialisation des valeurs par défaut
**/ **/
$naf=''; $naf='';
$actif=1; $actif=1;
$cj=9220; // Association déclarée $cj=9220; // Association déclarée
if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) { if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
$cj=9150; // ASL $cj=9150; // ASL
$naf='8110Z'; // Activités combinées de soutien lié aux bâtiments $naf='8110Z'; // Activités combinées de soutien lié aux bâtiments
} }
elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce'])) elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
$cj=9300; // FONDATION $cj=9300; // FONDATION
elseif ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68) elseif ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68)
$cj=9260; // Association de droit local $cj=9260; // Association de droit local
if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce']))
$actif=0; $actif=0;
elseif (preg_match('/Dissolution/i', $tabAsso['Type_Annonce']) && !preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) elseif (preg_match('/Dissolution/i', $tabAsso['Type_Annonce']) && !preg_match('/Annulation/i', $tabAsso['Type_Annonce']))
$actif=0; $actif=0;
if ($naf=='') { if ($naf=='') {
if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015 if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015
$naf='9319Z';//'926C'; // Autres activités sportives $naf='9319Z';//'926C'; // Autres activités sportives
elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004 elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004
$naf='9491Z';//913A'; // Organisations religieuses $naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003 elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a. $naf='6399Z'; // Autres services d'information n.c.a.
elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012 elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012
$naf='9492Z'; // Activités des organisations politiques $naf='9492Z'; // Activités des organisations politiques
elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008 elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008
$naf='8559B'; $naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014 elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale $naf='8899B';//853K'; // Autres formes d'action sociale
elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010 elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010
$naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles $naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles
elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005
$naf='9329Z'; // Autres activités récréatives et de loisirs $naf='9329Z'; // Autres activités récréatives et de loisirs
elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005
$naf='9003B'; // Autre création artistique $naf='9003B'; // Autre création artistique
else else
$naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
} }
if ($tabAsso['Assoc_NAdresse']<>'') if ($tabAsso['Assoc_NAdresse']<>'')
@ -604,7 +604,7 @@ if ($joAsso) {
'source_id'=>$tabAsso['id'], 'source_id'=>$tabAsso['id'],
'siren'=>$tabAsso['siren'], 'siren'=>$tabAsso['siren'],
'nic'=>$tabAsso['nic'], 'nic'=>$tabAsso['nic'],
'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
'autre_id'=>$tabAsso['Waldec'], 'autre_id'=>$tabAsso['Waldec'],
'siege'=>1, 'siege'=>1,
'actif'=>$actif, 'actif'=>$actif,
@ -635,18 +635,18 @@ if ($joAsso) {
} else } else
$nbInsertAsso++; $nbInsertAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$last_id=0; $last_id=0;
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture $tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
'autre_id'=>$tabAsso['Waldec'], 'autre_id'=>$tabAsso['Waldec'],
'identite_pre'=>$tabAsso['Assoc_Nom'], 'identite_pre'=>$tabAsso['Assoc_Nom'],
); );
@ -657,17 +657,17 @@ if ($joAsso) {
} else } else
$nbUpdateAsso++; $nbUpdateAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
} }
if ($iGreffe) { if ($iGreffe) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']); $adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -707,23 +707,23 @@ if ($iGreffe) {
} else } else
$nbInsertGreffes++; $nbInsertGreffes++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
} }
if ($iMarques) { if ($iMarques) {
echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL;
$nbMarques=$iDb->select('marques', 'Siren, Marques', '1 ORDER BY Siren ASC', false,MYSQL_ASSOC,true); $nbMarques=$iDb->select('marques', 'Siren, Marques', '1 ORDER BY Siren ASC', false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL;
$sirenPre=false; $sirenPre=false;
$strMarques=''; $strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) { while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren']; $siren =$tabMarques['Siren'];
$strMarques.=$tabMarques['Marques']; $strMarques.=$tabMarques['Marques'];
if ($sirenPre<>$siren && $sirenPre<>false) { if ($sirenPre<>$siren && $sirenPre<>false) {
/** Il faut mettre à jour l'ensemble des marques pour ce siren **/ /** Il faut mettre à jour l'ensemble des marques pour ce siren **/
$tabUpdate=array( 'marques'=>$strMarques ); $tabUpdate=array( 'marques'=>$strMarques );
$ret=$iDb->update('etablissements_tmp',$tabUpdate, "siren=$siren"); $ret=$iDb->update('etablissements_tmp',$tabUpdate, "siren=$siren");
if (!$ret) { if (!$ret) {
@ -734,22 +734,22 @@ if ($iMarques) {
} }
$sirenPre=$siren; $sirenPre=$siren;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
} }
} else { } else {
echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL; echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL;
$tab=array( 'rang'=>0 ); $tab=array( 'rang'=>0 );
$iDb->update('etablissements', $tab, 'siren=0'); $iDb->update('etablissements', $tab, 'siren=0');
} }
echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL;
$iDbRanks=new WDB('sdv1'); $iDbRanks=new WDB('sdv1');
$nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren ORDER BY `rang` DESC", false,MYSQL_ASSOC,true); $nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren ORDER BY `rang` DESC", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL;
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) { while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
$tab=array( 'rang'=>$tabRank['rang'] ); $tab=array( 'rang'=>$tabRank['rang'] );
if ($pageRankOnly) $tableEtab='etablissements'; if ($pageRankOnly) $tableEtab='etablissements';
@ -760,11 +760,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) { if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL; echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$iDb->query("DROP TABLE jo.etablissements_old;"); $iDb->query("DROP TABLE jo.etablissements_old;");
echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;"); //$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;");
//echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;"); //$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;");
//echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
} }
echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
//echo date ('Y/m/d - H:i:s')." - Lancement de la commande : indexer --all --config /usr/local/etc/sphinx.conf --rotate".EOL; //echo date ('Y/m/d - H:i:s')." - Lancement de la commande : indexer --all --config /usr/local/etc/sphinx.conf --rotate".EOL;

View File

@ -22,8 +22,8 @@ $nbInsertAsso=$nbInsertRncs1=$nbInsertRncs2=$nbInsertBod=$nbConjoints=$nbInsertB
$table='etablissements_tmp'; $table='etablissements_tmp';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources. Consolide la table des établissement et des entreprises à partir des dernières mises à jours des différentes sources.
Sans aucune options, consolide toutes les sources dernièrement mises à jour. Sans aucune options, consolide toutes les sources dernièrement mises à jour.
Options : Options :
-a Consolider seulement le JO association. -a Consolider seulement le JO association.
@ -31,10 +31,10 @@ Options :
-i Consolider les infos SIRENE (Insee) -i Consolider les infos SIRENE (Insee)
-n Consolider les infos RNCS (Inpi) -n Consolider les infos RNCS (Inpi)
-g Consolider les entreprises en provenance des Greffes -g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques -m Mettre à jour les données sur les marques
-r Reconstruire complètement la base -r Reconstruire complètement la base
-p traiter uniquement la construction du 'page rank' -p traiter uniquement la construction du 'page rank'
-t:XXX Mettre à jour la table XXX -t:XXX Mettre à jour la table XXX
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -88,7 +88,7 @@ if ($_SERVER['argc']>1)
} }
} }
/** Par défaut, on consolide toutes les sources **/ /** Par défaut, on consolide toutes les sources **/
if ($all) { if ($all) {
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iMarques=true; $joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iMarques=true;
} }
@ -132,11 +132,11 @@ function getCodePrefectures($strPrefecture, $dep=0) {
return ''; return '';
} }
// Début Test // Début Test
/* /*
$retTmp=$iDb->select('asso', 'Sous_Prefecture, Departement, COUNT(*) AS nb', '1 GROUP BY Sous_Prefecture ORDER BY nb DESC', false, MYSQL_ASSOC); $retTmp=$iDb->select('asso', 'Sous_Prefecture, Departement, COUNT(*) AS nb', '1 GROUP BY Sous_Prefecture ORDER BY nb DESC', false, MYSQL_ASSOC);
$nbEtab=count($retTmp); $nbEtab=count($retTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab prefectures différentes à identifier.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab prefectures différentes à identifier.".EOL;
foreach ($retTmp as $i=>$tabTmp) { foreach ($retTmp as $i=>$tabTmp) {
$nb=$tabTmp['nb']*1; $nb=$tabTmp['nb']*1;
$dep=$tabTmp['Departement']*1; $dep=$tabTmp['Departement']*1;
@ -158,7 +158,7 @@ $iInsee=new MInsee();
//if (0==1) { //if (0==1) {
echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL; echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table établissements.".EOL;
if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;")) if (!$iDb->query("DROP TABLE IF EXISTS jo.etablissements_tmp;"))
die($iDb->getLastError()); die($iDb->getLastError());
@ -212,7 +212,7 @@ if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true)) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
die($iDb->getLastError()); die($iDb->getLastError());
$strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des établissements.".EOL; $strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des établissements.".EOL;
if ($baseInsee) { if ($baseInsee) {
/*$dateInsert=date('YmdHis'); /*$dateInsert=date('YmdHis');
if (!$reset) { if (!$reset) {
@ -222,11 +222,11 @@ if ($baseInsee) {
$last_id=0; $last_id=0;
$iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true); $iDb->query('DELETE FROM etablissements_tmp WHERE source=2', true);
}*/ }*/
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis l'Insee.".EOL;
$retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('insee.identite', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements à consolider depuis l'Insee...".EOL;
/*$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif, /*$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, '' AS triCode, NUMRC AS autre_id, SIREN AS siren, NIC AS nic, ACTIF%10 as actif,
SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num, SIEGE as siege, NOM as raisonSociale, ENSEIGNE AS enseigne, SIGLE AS sigle, CONCAT(IDENTITE_PRE, ' ',NOM2) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num,
@ -254,13 +254,13 @@ TCA as tca, TCAEXP as tcaexp, TEFF_ENT*1 as teff_entrep, TEFF_ET*1 as teff_etab
0 as dateUpdate FROM insee.identite i LEFT JOIN jo.rncs_entrep e ON i.siren=e.siren"); 0 as dateUpdate FROM insee.identite i LEFT JOIN jo.rncs_entrep e ON i.siren=e.siren");
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab']; $nbEtab=$retTmp[0]['nbEtab'];
echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab établissements Insee consolidés.".EOL;
/*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/ /*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/
/* $hier=date('YmdHis'); /* $hier=date('YmdHis');
$nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true); $nbAsso=$iDbInsee->select('identite', 'id, SIREN, NIC, NUMRC, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_COMP, ADR_CP, ADR_LIBCOM, ADR_DEP, TEL, FAX, CJ, APE_ETAB, APE_ENT', "id>$last_id OR dateUpdate>$hier", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso fiches INSEE à consolider depuis $last_id...".EOL;
while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) { while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'source'=>2, $tabEtab=array( 'source'=>2,
@ -299,7 +299,7 @@ if ($baseInpi) {
$last_id=0; $last_id=0;
// include ... // include ...
//$iGeffes=new MGreffes(); //$iGeffes=new MGreffes();
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS entreprises.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS entreprises.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -309,7 +309,7 @@ if ($baseInpi) {
'g.siren, g.raisonSociale, g.nom, g.prenom, g.nomUsage, g.sigle, g.naf, g.cj, g.capitalMontant, g.capitalDevIso, g.dateImma, g.dateRad, g.dateFer, g.numGreffe, g.actif, g.triCode, g.numRC2, g.dateInsert', 'g.siren, g.raisonSociale, g.nom, g.prenom, g.nomUsage, g.sigle, g.naf, g.cj, g.capitalMontant, g.capitalDevIso, g.dateImma, g.dateRad, g.dateFer, g.numGreffe, g.actif, g.triCode, g.numRC2, g.dateInsert',
"e.siren IS NULL", false,MYSQL_ASSOC,true); "e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance du RNCS dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance du RNCS dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabEntrep=$iDb->fetch(MYSQL_ASSOC)) { while ($tabEntrep=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$tabEntrep['siren']; $siren=$tabEntrep['siren'];
@ -393,18 +393,18 @@ if ($baseInpi) {
$nbInsertRncs1++; $nbInsertRncs1++;
} }
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs1 entreprises/établissements RNCS consolidés.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS établissements.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le RNCS établissements.".EOL;
$nbBodS=$iDb->select('rncs_etab g LEFT JOIN etablissements_tmp e ON g.siren=e.siren AND g.nic = e.nic', $nbBodS=$iDb->select('rncs_etab g LEFT JOIN etablissements_tmp e ON g.siren=e.siren AND g.nic = e.nic',
'g.id, g.siren, g.nic, g.siege, g.actif, g.enseigne, g.nomCommercial, g.adrNumVoie, g.adrIndRep, g.adrLibVoie, g.adrTypeVoie, g.adrVoie, g.cp, g.commune, g.adrComp, g.adresse1, g.adresse2, g.adresse3, g.naf, g.dateFermeture, g.flux, g.dateInsert', 'g.id, g.siren, g.nic, g.siege, g.actif, g.enseigne, g.nomCommercial, g.adrNumVoie, g.adrIndRep, g.adrLibVoie, g.adrTypeVoie, g.adrVoie, g.cp, g.commune, g.adrComp, g.adresse1, g.adresse2, g.adresse3, g.naf, g.dateFermeture, g.flux, g.dateInsert',
"e.nic IS NULL", false,MYSQL_ASSOC,true); "e.nic IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS établissements en provenance du RNCS dont le siret est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS établissements en provenance du RNCS dont le siret est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabEt=$iDb->fetch(MYSQL_ASSOC)) { while ($tabEt=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$tabEt['siren']; $siren=$tabEt['siren'];
@ -455,13 +455,13 @@ if ($baseInpi) {
} else } else
$nbInsertRncs2++; $nbInsertRncs2++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertRncs2 établissements RNCS consolidés.".EOL;
} }
if ($joBodacc) { if ($joBodacc) {
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
@ -470,7 +470,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d LEFT JOIN etablissements_tmp e ON d.siren = e.siren', 'd.id, d.typeEven, d.siren, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren>1000 AND e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute // Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -591,8 +591,8 @@ if ($joBodacc) {
} else } else
$nbInsertBod++; $nbInsertBod++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBod établissements Bodacc consolidés.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -602,7 +602,7 @@ if ($joBodacc) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('bodacc_detail d', 'd.id, d.typeEven, d.siren, d.sirenValide, d.nic, d.Bodacc_Date_Parution, d.Tribunal_Code, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.RC, d.raisonSociale, d.nomCommercial, d.sigle, d.enseigne, d.FJ, d.Capital, d.CapitalDev, d.adrSiegeNum, d.adrSiegeIndRep, d.adrSiegeTypVoie, d.adrSiegeLibVoie, d.adrSiegeComp1, d.adrSiegeComp2, d.codePostalSiege, d.villeSiege, d.adrNum, d.adrIndRep, d.adrTypVoie, d.adrLibVoie, d.adrComp1, d.adrComp2, d.codePostal, d.ville, d.activite', "d.siren<=1000", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS annonces BODACC non sirenées à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
//if ($tabBodacc['siren']<>0) //if ($tabBodacc['siren']<>0)
@ -739,10 +739,10 @@ if ($joBodacc) {
} else } else
$nbInsertBodNS++; $nbInsertBodNS++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbConjoints conjoints Bodacc consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertBodNS établissements Bodacc NS consolidés.".EOL;
/* /*
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
@ -752,7 +752,7 @@ if ($joBodacc) {
} else $last_id=0; } else $last_id=0;
$nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true); $nbBodE=$iDb->select('bodacc_detail', 'id, typeEven, siren, nic, Bodacc_Date_Parution, Tribunal_Code, Rubrique_Bodacc, Rubrique, typeAnnonce, RC, raisonSociale, nomCommercial, enseigne, FJ, Capital, CapitalDev, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, activite', "adresse<>'' AND id>$last_id", false,MYSQL_ASSOC,true);
// //
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodE annonces BODACC établissement à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
if ($tabBodacc['siren']<>0) if ($tabBodacc['siren']<>0)
@ -811,11 +811,11 @@ if ($joAsso) {
$tabThemes=array(); $tabThemes=array();
$retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC); $retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC);
$nbThemes=count($retTmp); $nbThemes=count($retTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbThemes thèmes d'activité associations avec correspondances NAF.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbThemes thèmes d'activité associations avec correspondances NAF.".EOL;
foreach ($retTmp as $i=>$tabTmp) foreach ($retTmp as $i=>$tabTmp)
$tabThemes['_'.$tabTmp['theme']]=$tabTmp['naf']; $tabThemes['_'.$tabTmp['theme']]=$tabTmp['naf'];
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/* if (!$reset) { /* if (!$reset) {
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true); $tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
@ -823,28 +823,28 @@ if ($joAsso) {
} else*/ $last_id=0; } else*/ $last_id=0;
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à consolider depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
/* /*
9110 Syndicat de copropriété 9110 Syndicat de copropriété
9210 Association non déclarée 9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique" 9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire 9222 Association intermédiaire
9223 Groupement d'employeurs 9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique 9230 Association déclarée reconnue d'utilité publique
9240 Congrégation 9240 Congrégation
*/ */
/** Initialisation des valeurs par défaut /** Initialisation des valeurs par défaut
**/ **/
$naf=''; $naf='';
$actif=1; $actif=1;
$cj=9220; // Association déclarée $cj=9220; // Association déclarée
// $tabEven=array(); // $tabEven=array();
if ($tabAsso['typeAsso']=='ASL') { if ($tabAsso['typeAsso']=='ASL') {
//if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) { //if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
$cj=9150; // ASL $cj=9150; // ASL
$naf='8110Z'; // Activités combinées de soutien lié aux bâtiments $naf='8110Z'; // Activités combinées de soutien lié aux bâtiments
} }
elseif ($tabAsso['typeAsso']=='FON') elseif ($tabAsso['typeAsso']=='FON')
//elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce'])) //elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
@ -856,7 +856,7 @@ if ($joAsso) {
elseif ($tabAsso['typeAsso']=='ASS' && ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68)) elseif ($tabAsso['typeAsso']=='ASS' && ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68))
$cj=9260; // Association de droit local $cj=9260; // Association de droit local
if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) { if (preg_match('/cr(é|e)ation/i', $tabAsso['Type_Annonce']) && preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) {
$actif=0; $actif=0;
// $tabEven[]=8000; // $tabEven[]=8000;
} }
@ -870,13 +870,13 @@ if ($joAsso) {
if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'') if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'')
$tabEven[]=8010; // Changement de nom $tabEven[]=8010; // Changement de nom
if (trim($tabAsso['Assoc_NAdresse'])<>'') if (trim($tabAsso['Assoc_NAdresse'])<>'')
$tabEven[]=8011; // Déménagement $tabEven[]=8011; // Déménagement
if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'') if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'')
$tabEven[]=8020; // Modification de l'objet social $tabEven[]=8020; // Modification de l'objet social
if (trim($tabAsso['Assoc_Fusion'])<>'') if (trim($tabAsso['Assoc_Fusion'])<>'')
$tabEven[]=8030; // Fusion $tabEven[]=8030; // Fusion
/* /*
8021 Additif à l'objet social 8021 Additif à l'objet social
8025 Modification statutaire 8025 Modification statutaire
8080 Suspension d'association 8080 Suspension d'association
* *
@ -889,29 +889,29 @@ if ($joAsso) {
} }
elseif ($tabAsso['Activite']<>'') { elseif ($tabAsso['Activite']<>'') {
if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015 if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015
$naf='9319Z';//'926C'; // Autres activités sportives $naf='9319Z';//'926C'; // Autres activités sportives
elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004 elseif (preg_match('/(culte|religieu)/i', $tabAsso['Activite'])) // 0004
$naf='9491Z';//913A'; // Organisations religieuses $naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003 elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a. $naf='6399Z'; // Autres services d'information n.c.a.
elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012 elseif (preg_match('/Politique/i', $tabAsso['Activite'])) // 0012
$naf='9492Z'; // Activités des organisations politiques $naf='9492Z'; // Activités des organisations politiques
elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008 elseif (preg_match('/(Enseignement|Education|formation)/i', $tabAsso['Activite'])) // 0008
$naf='8559B'; $naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014 elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale $naf='8899B';//853K'; // Autres formes d'action sociale
elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010 elseif (preg_match('/(Recherche|Technique)/i', $tabAsso['Activite'])) // 0010
$naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles $naf='7219Z'; // Recherche-développement en autres sciences physiques et naturelles
elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005
$naf='9329Z'; // Autres activités récréatives et de loisirs $naf='9329Z'; // Autres activités récréatives et de loisirs
elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005 elseif (preg_match('/Art/i', $tabAsso['Activite'])) // 0005
$naf='9003B'; // Autre création artistique $naf='9003B'; // Autre création artistique
} }
} }
if ($naf=='') $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire if ($naf=='') $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
/** L'adresse est elle structurée en base ? /** L'adresse est elle structurée en base ?
**/ **/
if (trim($tabAsso['Assoc_AdrLibVoie'])<>'' || trim($tabAsso['Assoc_AdrCP'])<>'') { if (trim($tabAsso['Assoc_AdrLibVoie'])<>'' || trim($tabAsso['Assoc_AdrCP'])<>'') {
$adr=array( 'num'=>$tabAsso['Assoc_AdrNum'], $adr=array( 'num'=>$tabAsso['Assoc_AdrNum'],
@ -933,7 +933,7 @@ if ($joAsso) {
} }
if ($updateAdr) { if ($updateAdr) {
// On enregistre l'adresse structurée en base // On enregistre l'adresse structurée en base
$adrComp=strtoupper(@$adr['adrComp0']); $adrComp=strtoupper(@$adr['adrComp0']);
if (@$adr['adrComp1']<>'') if (@$adr['adrComp1']<>'')
$adrComp.=' '.strtoupper(@$adr['adrComp1']); $adrComp.=' '.strtoupper(@$adr['adrComp1']);
@ -947,7 +947,7 @@ if ($joAsso) {
'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']); 'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']);
} }
/*if (trim($tabAsso['codEven'])=='' && count($tabEven)>0) { /*if (trim($tabAsso['codEven'])=='' && count($tabEven)>0) {
// On enregistre les codes évènements // On enregistre les codes évènements
$iDb2->update('asso', array('codEven'=>@implode(';', $tabEven)), 'id='.$tabAsso['id']); $iDb2->update('asso', array('codEven'=>@implode(';', $tabEven)), 'id='.$tabAsso['id']);
}*/ }*/
@ -968,11 +968,11 @@ if ($joAsso) {
$dep=floor(@$adr['cp']/1000); $dep=floor(@$adr['cp']/1000);
if ($dep>96) $dep=floor(@$adr['cp']/100); if ($dep>96) $dep=floor(@$adr['cp']/100);
} }
/** Recherche du code tribunal de la préfecture si manquant **/ /** Recherche du code tribunal de la préfecture si manquant **/
$codTribunal=$tabAsso['codTribunal']; $codTribunal=$tabAsso['codTribunal'];
if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) { if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) {
$codTribunal=getCodePrefectures($tabAsso['Sous_Prefecture'], $dep); $codTribunal=getCodePrefectures($tabAsso['Sous_Prefecture'], $dep);
// On met à jour le tribunal dans la table 'asso' // On met à jour le tribunal dans la table 'asso'
$iDb2->update('asso', array('codTribunal'=>$codTribunal), 'id='.$tabAsso['id']); $iDb2->update('asso', array('codTribunal'=>$codTribunal), 'id='.$tabAsso['id']);
} }
$tabEtab=array( 'source'=>3, $tabEtab=array( 'source'=>3,
@ -1013,19 +1013,19 @@ if ($joAsso) {
} else } else
$nbInsertAsso++; $nbInsertAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertAsso établissements Associations consolidés.".EOL;
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le JO Association Sirené (Waldec, etc...)".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$last_id=0; $last_id=0;
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true); $nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, Type_Annonce, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration2, dateInsert', "id>$last_id AND siren>100", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbAsso annonces ASSOCIATIONS à mettre à jour depuis $last_id...".EOL;
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) { while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
$tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture $tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
'autre_id'=>$tabAsso['Waldec'], 'autre_id'=>$tabAsso['Waldec'],
'identite_pre'=>$tabAsso['Assoc_Nom'], 'identite_pre'=>$tabAsso['Assoc_Nom'],
); );
@ -1036,19 +1036,19 @@ if ($joAsso) {
} else } else
$nbUpdateAsso++; $nbUpdateAsso++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbUpdateAsso établissements Associations avec SIREN consolidés.".EOL;
} }
if ($iGreffe) { if ($iGreffe) {
$iRncs=new MRncs(); $iRncs=new MRncs();
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis les Greffes.".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true); $nbBodS=$iDb->select('greffes_identite g LEFT JOIN etablissements_tmp e ON g.siren = e.siren', 'g.id, g.siren, g.nom, g.adresse, g.cp, g.ville, g.enseigne, g.siege, g.fj, g.fjLib, g.naf, g.nafLib, g.numGreffe, g.libGreffe, g.numRC, g.dateCreation, g.dateRadiation, g.dateInsert', "e.siren IS NULL", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbBodS entreprises en provenance des Greffes dont le siren est absent de l'insee à consolider depuis $last_id...".EOL;
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) { while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']); $adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -1100,24 +1100,24 @@ if ($iGreffe) {
} else } else
$nbInsertGreffes++; $nbInsertGreffes++;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertGreffes établissements Greffes consolidés.".EOL;
} }
if ($iMarques) { if ($iMarques) {
echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour des marques.".EOL;
$nbMarques=$iDb->select('marques', 'Siren, Marques', '1 ORDER BY Siren ASC', false,MYSQL_ASSOC,true); $nbMarques=$iDb->select('marques', 'Siren, Marques', '1 ORDER BY Siren ASC', false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbMarques marques à mettre à jour...".EOL;
$sirenPre=false; $sirenPre=false;
$strMarques=''; $strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) { while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren']; $siren =$tabMarques['Siren'];
$strMarques.=' '.$tabMarques['Marques']; $strMarques.=' '.$tabMarques['Marques'];
if ($sirenPre<>$siren && $sirenPre<>false) { if ($sirenPre<>$siren && $sirenPre<>false) {
/** Il faut mettre à jour l'ensemble des marques pour ce siren **/ /** Il faut mettre à jour l'ensemble des marques pour ce siren **/
$tabUpdate=array( 'marques'=>trim($strMarques)); $tabUpdate=array( 'marques'=>trim($strMarques));
$ret=$iDb->update($table,$tabUpdate, "siren=$siren"); $ret=$iDb->update($table,$tabUpdate, "siren=$siren");
if (!$ret) { if (!$ret) {
@ -1128,8 +1128,8 @@ if ($iMarques) {
} }
$sirenPre=$siren; $sirenPre=$siren;
} }
echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbInsertMarques établissements avec Marques consolidés.".EOL;
} }
if ($table<>'etablissements_tmp') { if ($table<>'etablissements_tmp') {
@ -1138,30 +1138,30 @@ if ($table<>'etablissements_tmp') {
} }
} else { } else {
echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL; echo date ('Y/m/d - H:i:s')." - Remise à 0 de tous les ranks de la table etablissements...".EOL;
$tab=array( 'rang'=>0 ); $tab=array( 'rang'=>0 );
$iDb->update('etablissements', $tab, 'siren=0'); $iDb->update('etablissements', $tab, 'siren=0');
} }
echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL; echo date ('Y/m/d - H:i:s')." - Mise à jour du rank de l'entreprise pour les recherches par nom".EOL;
$iDbRanks=new WDB('sdv1'); $iDbRanks=new WDB('sdv1');
$nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren HAVING `rang`>5 ORDER BY `rang` DESC", false,MYSQL_ASSOC,true); $nbRanks=$iDbRanks->select('`logs`', 'siren, count(*) AS `rang`', "page='identite' AND siren<>0 GROUP BY siren HAVING `rang`>5 ORDER BY `rang` DESC", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbRanks ranks à mettre à jour...".EOL;
$rangPre=-1; $rangPre=-1;
$tabSiren=array(); $tabSiren=array();
if ($pageRankOnly) $tableEtab='etablissements'; if ($pageRankOnly) $tableEtab='etablissements';
else $tableEtab='etablissements_tmp'; else $tableEtab='etablissements_tmp';
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) { while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if ($tabRank['rang']<>$rangPre && $rangPre<>-1) { if ($tabRank['rang']<>$rangPre && $rangPre<>-1) {
// On met à jour le Rang précédent // On met à jour le Rang précédent
$tab=array( 'rang'=>$rangPre ); $tab=array( 'rang'=>$rangPre );
$strSiren=implode(',',$tabSiren); $strSiren=implode(',',$tabSiren);
if (count($tabSiren)==1) { if (count($tabSiren)==1) {
$iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]); $iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]);
} else { } else {
if (!$iDb->update($tableEtab, $tab, "siren IN ($strSiren)")) if (!$iDb->update($tableEtab, $tab, "siren IN ($strSiren)"))
echo "Erreur SQL sur ".count($tabSiren)." sirens à MAJ : ".mysql_error().EOL; echo "Erreur SQL sur ".count($tabSiren)." sirens à MAJ : ".mysql_error().EOL;
} }
$tabSiren=array(); $tabSiren=array();
} }
@ -1172,11 +1172,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) { if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL; echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$iDb->query("DROP TABLE jo.etablissements_old;"); $iDb->query("DROP TABLE jo.etablissements_old;");
echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - Suppression de la table etablissements_old : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;"); //$iDb->query("RENAME TABLE jo.etablissements TO jo.etablissements_old;");
//echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Sauvegarde de l'ancienne table établissements : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
//$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;"); //$iDb->query("RENAME TABLE jo.etablissements_tmp TO jo.etablissements;");
//echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL; //echo date ('Y/m/d - H:i:s')." - Passage en production de la table tmp : Debug erreur n°".mysql_errno().' - '.mysql_error().EOL;
} }
echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Etablissements".EOL;
@ -1186,6 +1186,6 @@ $strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Et
if ($nb>0) die(0); if ($nb>0) die(0);
else die(1);*/ else die(1);*/
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Consolidation des établissements', $strMailInfo); sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Consolidation des établissements', $strMailInfo);
die(); die();
?> ?>

View File

@ -4,17 +4,17 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Reconsolidation de la table des téléphones/fax Reconsolidation de la table des téléphones/fax
Options : Options :
-a Reconsolidation de toute la base des téléphones/fax -a Reconsolidation de toute la base des téléphones/fax
"; ";
$semiManuel=$sansPropo=$toutes=$index=false; $semiManuel=$sansPropo=$toutes=$index=false;
$mInsee=new MInsee(); $mInsee=new MInsee();
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
else { else {
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -43,7 +43,7 @@ else {
} }
} }
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de SIRENAGE des annonces mal sirenés du BODACC...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du programme de SIRENAGE des annonces mal sirenés du BODACC...".EOL;
$pertinence=false; $pertinence=false;
$nbRep=30; $nbRep=30;
@ -74,14 +74,14 @@ $tabTables=array(
); );
$iDbSel=new WDB('jo'); $iDbSel=new WDB('jo');
$iDbMaj=new WDB('insee'); $iDbMaj=new WDB('insee');
echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL; echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL;
$strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) '; $strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) ';
if ($toutes) if ($toutes)
$strDate=''; $strDate='';
$nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true); $nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL;
$nbAvecMaj=$nbSansMaj=$nbErr=0; $nbAvecMaj=$nbSansMaj=$nbErr=0;
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) { while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
$siren=$tabTel['siren']; $siren=$tabTel['siren'];
@ -98,12 +98,12 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax; if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
if (count($tabUpdate)>0) { if (count($tabUpdate)>0) {
$iDbMaj->update('identite',$tabUpdate, "id=$id"); $iDbMaj->update('identite',$tabUpdate, "id=$id");
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL; echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL;
$nbAvecMaj++; $nbAvecMaj++;
} }
else { else {
$nbSansMaj++; $nbSansMaj++;
// echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL; // echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL;
} }
} else { } else {
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL; echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL;
@ -117,6 +117,6 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
} }
echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL;
die(); die();
?> ?>

View File

@ -7,14 +7,14 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolidation des sites Web et Emails disponibles. Consolidation des sites Web et Emails disponibles.
Options : Options :
-a Reconsolidation de toute la base des téléphones/fax -a Reconsolidation de toute la base des téléphones/fax
"; ";
$semiManuel=$sansPropo=$toutes=$index=false; $semiManuel=$sansPropo=$toutes=$index=false;
$mInsee=new MInsee(); $mInsee=new MInsee();
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
else { else {
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -118,14 +118,14 @@ $tabTables=array(
); );
$iDbSel=new WDB('jo'); $iDbSel=new WDB('jo');
$iDbMaj=new WDB('insee'); $iDbMaj=new WDB('insee');
echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL; echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL;
$strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) '; $strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) ';
if ($toutes) if ($toutes)
$strDate=''; $strDate='';
$nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true); $nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL;
$nbAvecMaj=$nbSansMaj=$nbErr=0; $nbAvecMaj=$nbSansMaj=$nbErr=0;
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) { while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
$siren=$tabTel['siren']; $siren=$tabTel['siren'];
@ -142,12 +142,12 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax; if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
if (count($tabUpdate)>0) { if (count($tabUpdate)>0) {
$iDbMaj->update('identite',$tabUpdate, "id=$id"); $iDbMaj->update('identite',$tabUpdate, "id=$id");
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL; echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL;
$nbAvecMaj++; $nbAvecMaj++;
} }
else { else {
$nbSansMaj++; $nbSansMaj++;
// echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL; // echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL;
} }
} else { } else {
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL; echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL;
@ -161,6 +161,6 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
} }
echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL;
die(); die();
?> ?>

View File

@ -10,10 +10,10 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000. Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000.
Options : Options :
-a:123456789 Ajouter le numéro d'abonné BIL 123456789 -a:123456789 Ajouter le numéro d'abonné BIL 123456789
-i:ISCEN Options de la fiche d'identité (I:Identifiant, S:Standard, C:Complète, E:option ext. Insee, N:option Score) -i:ISCEN Options de la fiche d'identité (I:Identifiant, S:Standard, C:Complète, E:option ext. Insee, N:option Score)
-v Mode bavard -v Mode bavard
-f Continuer même si numéro d'abonné n'est pas communiqué ou autre erreur... -f Continuer même si numéro d'abonné n'est pas communiqué ou autre erreur...
"; ";
@ -37,15 +37,15 @@ for ($i=1; isset($argv[$i]); $i++) {
} }
if ($numeroAbonneBil*1==0) { if ($numeroAbonneBil*1==0) {
echo date ('Y/m/d - H:i:s') . " - Numéro d'abonnée BIL manquant !".EOL; echo date ('Y/m/d - H:i:s') . " - Numéro d'abonnée BIL manquant !".EOL;
if (!$forceContinue) die(); if (!$forceContinue) die();
} }
if ($optionsIdBil=='') { if ($optionsIdBil=='') {
echo date ('Y/m/d - H:i:s') . " - Type de fiche identité BIL absente, fiche Identifiant utilisée par défaut !".EOL; echo date ('Y/m/d - H:i:s') . " - Type de fiche identité BIL absente, fiche Identifiant utilisée par défaut !".EOL;
$optionsIdBil='I'; $optionsIdBil='I';
} }
if (count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier S&D à convertir en BIL/SO2000 !".EOL); if (count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier S&D à convertir en BIL/SO2000 !".EOL);
$message=''; $message='';
@ -55,15 +55,15 @@ for ($iFic=0; isset($tabFichLigneCmd[$iFic]); $iFic++)
if (preg_match('/APICIL/',$fichierIn)) { $numeroAbonneBil='019400018'; $optionsIdBil='I'; } if (preg_match('/APICIL/',$fichierIn)) { $numeroAbonneBil='019400018'; $optionsIdBil='I'; }
if (preg_match('/SOFID/',$fichierIn)) { $numeroAbonneBil='000960030'; $optionsIdBil='I'; } if (preg_match('/SOFID/',$fichierIn)) { $numeroAbonneBil='000960030'; $optionsIdBil='I'; }
elseif (preg_match('/METRO/',$fichierIn)) { $numeroAbonneBil='013990040'; $optionsIdBil='IN'; } elseif (preg_match('/METRO/',$fichierIn)) { $numeroAbonneBil='013990040'; $optionsIdBil='IN'; }
echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn début de conversion en BIL/SO2000 (abonné $numeroAbonneBil, options $optionsIdBil) !".EOL; echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn début de conversion en BIL/SO2000 (abonné $numeroAbonneBil, options $optionsIdBil) !".EOL;
$ret=conversionSd2So2000($fichierIn, $numeroAbonneBil, '', $optionsIdBil); $ret=conversionSd2So2000($fichierIn, $numeroAbonneBil, '', $optionsIdBil);
if ($ret===true) if ($ret===true)
echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn converti en BIL/SO2000 (abonné $numeroAbonneBil) !".EOL; echo date('Y/m/d - H:i:s') . " - Fichier S&D $fichierIn converti en BIL/SO2000 (abonné $numeroAbonneBil) !".EOL;
else else
echo date('Y/m/d - H:i:s') . " - ERREUR lors de la conversion du fichier S&D $fichierIn en BIL/SO2000 (abonné $numeroAbonneBil) : $ret !".EOL; echo date('Y/m/d - H:i:s') . " - ERREUR lors de la conversion du fichier S&D $fichierIn en BIL/SO2000 (abonné $numeroAbonneBil) : $ret !".EOL;
} }
//sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID", "Conversion terminée. Penser à déposer le fichier !!!"); //sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID", "Conversion terminée. Penser à déposer le fichier !!!");
echo date ('Y/m/d - H:i:s')." - Fin du traitement !" . EOL; echo date ('Y/m/d - H:i:s')." - Fin du traitement !" . EOL;
die(); die();

View File

@ -5,22 +5,22 @@ define('VERSION_FICHIER_BODACC','0106');
/** /**
* @todo * @todo
* 1. Numéroter toutes les procédures OK * 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc * 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire * 101 Commentaire
* 102 Activite déclaré au Bodacc * 102 Activite déclaré au Bodacc
* 103 texte rectificatif * 103 texte rectificatif
* 104 Annonce complète au format texte * 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC * 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente * 106 Libellé du Périmètre de la vente
* 3. * 3.
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ? Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255 Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9 Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1 Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -91,21 +91,21 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ecrireLignePre=false; $ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$siren ='Siren'; $siren ='Siren';
$nic ='Nic'; $nic ='Nic';
$ref ='Référence'; $ref ='Référence';
$numPar ='Parution'; $numPar ='Parution';
$bodacc ='Bodacc'; $bodacc ='Bodacc';
$datePar='Date parution'; $datePar='Date parution';
$numAnn ='Numéro Annonce'; $numAnn ='Numéro Annonce';
$cor ='Type Annonce'; $cor ='Type Annonce';
$libTri ='Tribunal'; $libTri ='Tribunal';
$numRC ='Numéro RCS'; $numRC ='Numéro RCS';
$raisonS='Raison sociale'; $raisonS='Raison sociale';
$catEven='Chapitre'; $catEven='Chapitre';
$txtEven='Evènement(s)'; $txtEven='Evènement(s)';
$txtAnn ='Texte Annonce'; $txtAnn ='Texte Annonce';
$ligneOut=''; $ligneOut='';
@ -117,21 +117,21 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ligne100++; $ligne100++;
$ligne100tot++; $ligne100tot++;
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic $nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$cor=''; $cor='';
if ($typeAnn<>'I') if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -139,29 +139,29 @@ foreach ($tabFichier as $iFic=>$fichier) {
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$adrEtNum= substr($ligne, 596 , 4 ); // Adresse de l'établissement : Numéro dans la voie $adrEtNum= substr($ligne, 596 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEtVoie= substr($ligne, 606 , 50 ); // Adresse de l'établissement : Libellé de la voie $adrEtVoie= substr($ligne, 606 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEtCp= substr($ligne, 746 , 5 ); // Code Postal de l'établissement $adrEtCp= substr($ligne, 746 , 5 ); // Code Postal de l'établissement
$adrEtVille=substr($ligne, 751 , 45 ); // Ville de l'établissement $adrEtVille=substr($ligne, 751 , 45 ); // Ville de l'établissement
$adrEnNum= substr($ligne, 796 , 4 ); // Adresse de l'établissement : Numéro dans la voie $adrEnNum= substr($ligne, 796 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEnVoie= substr($ligne, 806 , 50 ); // Adresse de l'établissement : Libellé de la voie $adrEnVoie= substr($ligne, 806 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEnCp= substr($ligne, 946 , 5 ); // Code Postal de l'établissement $adrEnCp= substr($ligne, 946 , 5 ); // Code Postal de l'établissement
$adrEnVille=substr($ligne, 951 , 45 ); // Ville de l'établissement $adrEnVille=substr($ligne, 951 , 45 ); // Ville de l'établissement
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
@ -204,13 +204,13 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ligne104tot++; $ligne104tot++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break; break;
case 999: // Ligne ignorée case 999: // Ligne ignorée
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn"; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
$ligne999++; $ligne999++;
$ligne999tot++; $ligne999tot++;
$ecrireLignePre=true; $ecrireLignePre=true;
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
if ($ecrireLignePre) if ($ecrireLignePre)
@ -226,7 +226,7 @@ foreach ($tabFichier as $iFic=>$fichier) {
//die(); //die();
} }
if ($tabEt['nbReponsesTotal']==1) { if ($tabEt['nbReponsesTotal']==1) {
// 1 seul établissement connu : on le valide en auto @todo : Vérifier adresser // 1 seul établissement connu : on le valide en auto @todo : Vérifier adresser
$nic=$tabEt['reponses'][0]['Nic']; $nic=$tabEt['reponses'][0]['Nic'];
} elseif ($tabEt['nbReponsesTotal']==0) { } elseif ($tabEt['nbReponsesTotal']==0) {
continue; continue;
@ -256,7 +256,7 @@ foreach ($tabFichier as $iFic=>$fichier) {
} }
if ($ajoutNic) echo EOL; if ($ajoutNic) echo EOL;
fclose($fp); fclose($fp);
if ($verbose) echo date ('Y/m/d - H:i:s')." - Conversion terminée de $fichier ($ligne100 annonces)" . EOL; if ($verbose) echo date ('Y/m/d - H:i:s')." - Conversion terminée de $fichier ($ligne100 annonces)" . EOL;
elseif ($sortieCSV) { elseif ($sortieCSV) {
echo "$fichier;$ligne100;"; echo "$fichier;$ligne100;";
foreach ($ligne100chap as $chap=>$nb) echo "$nb;"; foreach ($ligne100chap as $chap=>$nb) echo "$nb;";
@ -271,7 +271,7 @@ if ($sortieCSV) {
foreach ($procoltot as $chap=>$nb) echo "$nb;"; foreach ($procoltot as $chap=>$nb) echo "$nb;";
echo EOL; echo EOL;
} else } else
echo date ('Y/m/d - H:i:s')." - Conversion terminée : $iFic fichiers, $ligne001tot entêtes, $ligne100tot annonces, $ligne104tot lignes de texte, $ligne999tot fin de fichier !" . EOL; echo date ('Y/m/d - H:i:s')." - Conversion terminée : $iFic fichiers, $ligne001tot entêtes, $ligne100tot annonces, $ligne104tot lignes de texte, $ligne999tot fin de fichier !" . EOL;
die(); die();

600
1.1/old/convertSdCsv2.php Normal file
View File

@ -0,0 +1,600 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
define('VERSION_FICHIER_BODACC','0106');
/**
* @todo
* 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 3.
* 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
$iBodacc=new MBodacc();
$iInsee=new MInsee();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion de fichier(s) plat(s) multi-structures S&D en fichier(s) CSV.
Options :
-v Mode verbose
-n Ajout des nics A6CMO
-x Formater la sortie standard en CSV pour exploitation
";
$tabFichier=array();
$verbose=false;
$sortieCSV=false;
$ajoutNic=false;
$csvAnn=false;
$csvId=false;
$argv=$_SERVER['argv'];
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'a':
$csvAnn=true;
break;
case 'i':
$csvId=true;
break;
case 'n':
$ajoutNic=true;
break;
case 'v':
$verbose=true;
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
} else $tabFichier[]=$argv[$i];
}
if (count($tabFichier)<1)
die($strInfoScript);
if (!$csvAnn && !$csvId) $csvAnn=true;
$ligne001tot=$ligne100tot=$ligne104tot=$ligne200tot=$ligne999tot=0;
$ligne100chaptot=array('comptes'=>0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0);
$procoltot=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0);
foreach ($tabFichier as $iFic=>$fichier) {
$ligne001=$ligne100=$ligne104=$ligne200=$ligne999=0;
$ligne100chap=array('comptes'=>0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0);
$procol=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0);
$tabLignes=file($fichier);
$fp=fopen($fichier.'.csv', 'w');
foreach ($tabLignes as $i=>$ligne) {
$ligne=strtr($ligne,';',' ');
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// if ($csvAnn && !$csvId)
// Ecriture de l'entête
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$txtAnn ='Texte Annonce';
$codeTri ='Code Tribunal';
$actifEt ='Etab. Actif';
$siege ='Siège';
$nomCom ='Nom Commercial';
$enseigne ='Enseigne';
$sigle ='Sigle';
$adrEtNum ='Adresse Num';
$adrEtBtq ='Adresse Btq';
$adrEtTypV ='Adresse Type Voie';
$adrEtVoie ='Adresse Lib Voie';
$adrEtComp ='Complèment adresse';
$adrEtDisp ='Adresse Distribution Spéciale';
$adrEtCp ='Adresse CP';
$adrEtVille ='Adresse Ville';
$adrEtPays ='Adresse Pays';
$capital ='Capital';
$capitalDev ='';
$cj ='Forme Juridique';
$civilite ='Civilité';
$nbEtab ='Nb Etab';
$dateMaj ='Date MAJ';
$sitJur ='Situation Juridique';
$depCom ='Code Commune';
$rivoli ='Fantoir';
$iris ='IRIS';
$ilot ='Ilot';
$indDom ='Domiciliation';
$tel ='Téléphone';
$fax ='Fax';
$web ='Web';
$mail ='Mail';
$auxil ='Auxiliarité';
$saisonat ='Saisonnalité';
$activnat ='Nature Activité';
$origine ='Origine création';
$typexploit ='Type Exploitation';
$lieuact ='Lieu Activité';
$actisurf ='Type magasin';
$prodpart ='ProdPart';
$arronet ='Arrondissemeent';
$ctonet ='Canton';
$tcd ='Tranche commune';
$zemet ='Zone Emploi';
$du ='Dépt Unité Urbaine';
$tu ='Taille Unité Urbaine';
$uu ='Numéro Unité Urbaine';
$dcret ='Date création étab.';
$apet ='NAF étab.';
$nacet ='NACE étab';
$dapet ='Année NAF étab';
$effet ='Effectif étab.';
$teffet ='Tranche Eff. ét.';
$defet ='Année effectif étab.';
$modet ='Modalité APE étab.';
$explet ='Etab. exploitant';
$rpet ='Région étab.';
$dreactet ='Date réactivation étab.';
$dateferet ='Date fermeture étab.';
$eaeant ='Année EAE';
$eaeapet ='APE1 EAE';
$eaesec1t ='APE2 EAE';
$eaesec2t ='APE3 EAE';
$dcren ='Date création ent.';
$apen ='NAF ent.';
$nacen ='NACE ent.';
$dapen ='Année NAF ent.';
$effen ='Effectif ent.';
$teffen ='Tranche Eff. ent';
$defen ='Année effectif ent.';
$moden ='Modalité APE ent.';
$explen ='Ent. exploitante';
$rpen ='Région ent.';
$dreacten ='Date réactivation ent.';
$dateferen ='Date fermeture ent.';
$dateImma ='Date Immatriculation';
$dateRad ='Date Radiation';
$tca ='Tranche CA';
$tcaExp ='Tranche CA Exp.';
$zus ='ZUS';
$zru ='ZRU';
$zfu ='ZFU';
$cucs ='CUCS';
$afr ='AFR';
$zrr ='ZRR';
$tva ='TVA';
$isin ='ISIN';
$dir1nom ='Dirigeant 1 nom';
$dir1prenom ='Dirigeant 1 prénom';
$dir1cfct ='Dirigeant 1 code Fct';
$dir2nom ='Dirigeant 2 nom';
$dir2prenom ='Dirigeant 2 prénom';
$dir2cfct ='Dirigeant 2 code Fct';
$bilanClot ='Date dernier bilan';
$bilanDuree ='Durée bilan';
$bilanCA ='Dernier CA';
$bilanRES ='Dernier Résultat';
$ligneOut='';
$ligne001++;
$ligne001tot++;
break;
case 200: // Structure Identité
if (!$csvId) break;
$ligneOut ="$siren;$nic;$codeTri;$libTri;$numRC;$actifEt;$siege;$raisonS;$nomCom;$enseigne;$sigle;";
$ligneOut.="$adrEtNum;$adrEtBtq;$adrEtTypV;$adrEtVoie;$adrEtComp;$adrEtDisp;$adrEtCp;$adrEtVille;$adrEtPays;";
$ligneOut.="$capital $capitalDev;$cj;$civilite;$nbEtab;$dateMaj;$sitJur;$depCom;$rivoli;$iris;$ilot;$indDom;";
$ligneOut.="$tel;$fax;$web;$mail;$auxil;$saisonat;$activnat;$origine;$typexploit;$lieuact;$actisurf;$prodpart;";
$ligneOut.="$arronet;$ctonet;$tcd;$zemet;$du;$tu;$uu;$dcret;$apet;$nacet;$dapet;$effet;$teffet;";
$ligneOut.="$defet;$modet;$explet;$rpet;$dreactet;$dateferet;$eaeant;$eaeapet;$eaesec1t;$eaesec2t;";
$ligneOut.="$dcren;$apen;$nacen;$dapen;$effen;$teffen;$moden;$explen;$rpen;$dreacten;$dateferen;$dateImma;$dateRad;$tca;$tcaExp;";
$ligneOut.="$zus;$zru;$zfu;$cucs;$afr;$zrr;$tva;$isin;$dir1nom;$dir1prenom;$dir1cfct;$dir2nom;$dir2prenom;$dir2cfct;";
$ligneOut.="$bilanClot;$bilanDuree;$bilanCA;$bilanRES";
$ligne200++;
$ligne200tot++;
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise
$nic = trim(substr($ligne, 22, 5 )); // Nic de l'établissement
/*
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
*/
$codeTri=trim(substr($ligne, 41 , 6 )); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=@$iBodacc->getTribunalNom($codeTri);
$adrEtNum= trim(substr($ligne, 513 , 4)); // Adresse de l'établissement : Numéro dans la voie
$adrEtBtq= trim(substr($ligne, 517 , 1 )); // ADR_BTQ Indicateur de répétition (Bis, Ter, etc...)
$adrEtTypV= trim(substr($ligne, 518 , 4 )); // ADR_TYPVOIE Type de voie
$adrEtVoie= trim(substr($ligne, 522 , 32 )); // Adresse de l'établissement : Libellé de la voie
$adrEtComp= trim(substr($ligne, 591 , 38 )); // ADR_COMP Complément d'adresse
$adrEtDisp = trim(substr($ligne, 629 , 38 )); // ADR_DISTSP Distribution spéciale
$adrEtCp= trim(substr($ligne, 586 , 5 )); // Code Postal de l'établissement
$adrEtVille=trim(substr($ligne, 554 , 32 )); // Ville de l'établissement
$adrEtPays = trim(substr($ligne, 667 , 38 )); // PAYS Pays
$numRC = trim(substr($ligne, 31 , 10 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 73 , 160 )); // Raison sociale de l'entreprise
/* $siren = substr($ligne, 3 , 10 ); // ID Numéro unique d'identification interne d'un établissement S&D
$siren = substr($ligne, 27 , 3 ); // SOURCE Source de la fiche d'identité
$siren = substr($ligne, 30 , 1 ); // SIRETVALIDE Siren/siret valide
*/
$dateMaj= substr($ligne, 47 , 8 ); // DATEMAJ Date de la dernière mise à jour dans la base S&D
$actifEt = substr($ligne, 55 , 1 ); // ACTIF Établissement juridiquement actif
// $siren = substr($ligne, 56 , 1 ); // ACTIFECO Établissement économiquement actif
$sitJur = trim(substr($ligne, 57 , 2 )); // SITJUR Situation Juridique de l'entreprise
// $siren = substr($ligne, 59 , 3 ); // EVE Dernier événement Insee recensé
$dateEve = substr($ligne, 62 , 8 ); // DATEVE Date du dernier événement Insee recensé
// $siren = substr($ligne, 70 , 2 ); // TYPETAB Type d'établissement concerné par l'événement
$siege = substr($ligne, 72 , 1 ); // SIEGE Établissement siège, secondaire ou principal
$nomCom = trim(substr($ligne, 233 , 160 )); // NOMCOM Nom commercial
$enseigne = trim(substr($ligne, 393 , 80 )); // ENSEIGNE Enseigne de l'établissement
$sigle = trim(substr($ligne, 473 , 40 )); // SIGLE sigle de l'entreprise
$depCom = substr($ligne, 707 , 5 ); // ADR_DEP Département de l'établissement
$rivoli = trim(substr($ligne, 712 , 5 )); // CODEVOIE Code voie de l'établissement
$iris = trim(substr($ligne, 717 , 4 )); // CODEIRIS Code Iris de l'établissement
$ilot = trim(substr($ligne, 721 , 5 )); // CODEILOT Code Ilot de l'établissement
$indDom = trim(substr($ligne, 726 , 1 )); // ADRESSEDOM Indicateur d'adresse de domiciliation
$tel= trim(substr($ligne, 727 , 15 )); // TEL Numéro de téléphone
$fax = trim(substr($ligne, 742 , 15 )); // FAX Numéro de télécopie
$web = trim(substr($ligne, 757 , 80 )); // WEB Site Web
$mail = trim(substr($ligne, 837 , 80 )); // MAIL Adresse Email de contact générique
$auxilt = trim(substr($ligne, 917 , 1 )); // AUXILT Auxiliarité de l'activité de l'établissement
$saisonat= trim(substr($ligne, 918 , 1 )); // SAISONAT Saisonnalité de l'établissement
$activnat= trim(substr($ligne, 919 , 2 )); // ACTIVNAT Nature de l'activité de l'établissement
$origine= trim(substr($ligne, 921 , 2 )); // ORIGINE Origine de la création de l'établissement
$typexploit= trim(substr($ligne, 923 , 2 )); // TYPEXPLOIT Type d'exploitation
$lieuact=trim(substr($ligne, 925 , 2 )); // LIEUACT Lieu de l'activité de l'établissement
$actisurf=trim(substr($ligne, 927 , 2 )); // ACTISURF Type de magasin
$prodpart=trim(substr($ligne, 929 , 1 )); // PRODPART Participation particulière à la production de l'établissement
$arronet=trim(substr($ligne, 930 , 2 )); // ARRONET Arrondissement de l'établissement
$ctonet = trim(substr($ligne, 932 , 3 )); // CTONET Canton
$tcd=trim(substr($ligne, 935 , 2 )); // TCD Tranche de commune détaillée
$zemet= trim(substr($ligne, 937 , 2 )); // ZEMET Zone d'emploi
$du= trim(substr($ligne, 939 , 2 )); // DU Département de l'unité urbaine de localisation
$tu= trim(substr($ligne, 941 , 1 )); // TU Taille de l'unité urbaine
$uu= trim(substr($ligne, 942 , 2 )); // UU Numéro de l'untié urbaine
$dcret = substr($ligne, 944 , 8 ); // DCRET Date de création de l'établissement
$apet = substr($ligne, 952 , 5 ); // APE_ETAB Code activité dans la NAF rév2 de l'établissement
$nacet= trim(substr($ligne, 957 , 5 )); // NACE_ETAB Code activité NACE de l'établissement
$dapet = trim(substr($ligne, 962 , 4 )); // DAPET Année de validité de l'activité principale de l'établissement
$effet = trim(substr($ligne, 966 , 7 ))*1; // EFF_ET Effectif de l'établissement
$teffet = substr($ligne, 973 , 2 ); // TEFF_ET Tranche d'effectif de l'établissement
$defet = trim(substr($ligne, 975 , 4 )); // DEFET Année de mise à jour de l'effectif établissement
$modet = trim(substr($ligne, 979 , 1 )); // MODET Modalité de l'activité pricipale de l'établissement
$explet= trim(substr($ligne, 980 , 1 )); // EXPLET Etablissement exploitant tout ou partie des moyens de production
$rpet = trim(substr($ligne, 981 , 2 )); // RPET Région de localisation de l'établissement
$dreactet = trim(substr($ligne, 983 , 8 )); // DREACTET Date de réactivation de l'établissement
$dateferet = trim(substr($ligne, 991 , 8 )); // DATEFERET Date de fermeture de l'établissement
$eaeant = trim(substr($ligne, 999 , 4 )); // EAEANT Année de validité des rubriques de niveau Etab provenant des EAE*
$eaeapet = trim(substr($ligne, 1003 , 5 )); // EAEAPET Activité principale de l'établissement issue des EAE
$eaesec1t = trim(substr($ligne, 1008 , 5 )); // EAESEC1T Activité secondaire de l'établissement issue des EAE
$eaesec2t = trim(substr($ligne, 1013 , 5 )); // EAESEC2T Autre activité secondaire de l'établissement issue des EAE
$dcren = substr($ligne, 1018 , 8 ); // DCREN Date de création de l'entreprise
$apen = substr($ligne, 1026 , 5 ); // APE_ENT Code activité dans la NAF rév2 de l'entreprise
$nacen = substr($ligne, 1031 , 5 ); // NACE_ENT Code activité NACE de l'entreprise
$dapen = substr($ligne, 1036 , 4 ); // DAPEN Année de validité de l'activité principale de l'entreprise
$effen = trim(substr($ligne, 1040 , 7 ))*1; // EFF_ENT Effectif de l'entreprise
$teffen = substr($ligne, 1047 , 2 ); // TEFF_ENT Tranche d'effectif de l'entreprise
$defen = substr($ligne, 1049 , 4 ); // DEFEN Année de mise à jour de l'effectif entreprise
$moden = substr($ligne, 1053 , 1 ); // MODEN Modalité de l'activité pricipale de l'entreprise
$explen = substr($ligne, 1054 , 1 ); // EXPLEN Entreprise exploitant tout ou partie des moyens de production
$rpen = substr($ligne, 1055 , 2 ); // RPEN Région de localisation du siège de l'entreprise
$dreacten = substr($ligne, 1057 , 8 ); // DREACTEN Date de réactivation de l'entreprise
$dateferen = substr($ligne, 1065 , 8 ); // DATEFEREN Date de fermeture de l'entreprise
$dateImma = substr($ligne, 1073 , 8 ); // DATEIMMAT Date d'immatriculation de l'entreprise au RCS
$dateRad = substr($ligne, 1081 , 8 ); // DATERAD Date de radiation de l'entreprise du RCS
$capital = trim(substr($ligne, 1089 , 15 ))*1; // CAPITAL Montant du capital de l'entreprise
// $siren = substr($ligne, 1104 , 1 ); // CAPITALTYPE Type de capital
$capitalDev= trim(substr($ligne, 1105 , 3 )); // CAPITALDEV Devise du capital
$cj = substr($ligne, 1108 , 4 ); // CJ Catégorie Juridique de l'entreprise
$civilite= trim(substr($ligne, 1112 , 1 )); // CIVILITE Civilité de l'entreprise si Personne Physique
$nbEtab = trim(substr($ligne, 1113 , 4 ))*1; // NBETAB Nombre d'établissements actifs de l'entreprise
$tca= substr($ligne, 1117 , 1 ); // TCA Tranche de chiffre d'affaire
$tcaExp = substr($ligne, 1118 , 1 ); // TCAEXP Tranche de chiffre d'affaire à l'export
/* $siren = substr($ligne, 1119 , 6 ); // APRM Activité principale au registre des métiers
$siren = substr($ligne, 1125 , 1 ); // MONOREG Mono-régionalité de l'entreprise
$siren = substr($ligne, 1126 , 2 ); // REGIMP Principale région d'implantation de l'entreprise
$siren = substr($ligne, 1128 , 1 ); // MONOACT Mono-activité de l'entreprise
$siren = substr($ligne, 1129 , 5 ); // NICSIEGE Nic de l'établissement siège
$siren = substr($ligne, 1134 , 1 ); // RECME Répertoire des Entreprises Contrôlées Majoritairement par lÉtat
$siren = substr($ligne, 1135 , 14 ); // SIRETLIE Siret lié : prédécesseur, successeur, doublon, autre
$siren = substr($ligne, 1149 , 1 ); // SIRETLIETYPE Type de sitet lié
$siren = substr($ligne, 1150 , 5 ); // NICPREC Nic de l'établissement prédécesseur (dans le cadre d'un transfert)
$siren = substr($ligne, 1155 , 5 ); // NICSUIV Nic de l'établissement successeur (dans le cadre d'un transfert)
$siren = substr($ligne, 1160 , 2 ); // insDESTINAT Destination Insee
$siren = substr($ligne, 1162 , 5 ); // insDEPCOMEN Code commune Insee du siège de l'entreprise
$siren = substr($ligne, 1167 , 1 ); // insMNICSIEGE Indicateur de MAJ du NIC SIEGE
$siren = substr($ligne, 1168 , 1 ); // insMNOMEN Indicateur de MAJ de la Raison Sociale
$siren = substr($ligne, 1169 , 1 ); // insMCJ Indicateur de MAJ de la Forme Juridique
$siren = substr($ligne, 1170 , 1 ); // insMAPEN Indicateur de MAJ du NAF entreprise
$siren = substr($ligne, 1171 , 1 ); // insMENSEIGNE Indicateur de MAJ de l'ENSEIGNE
$siren = substr($ligne, 1172 , 1 ); // insMAPET Indicateur de MAJ du NAF établissement
$siren = substr($ligne, 1173 , 1 ); // insMADRESSE Indicateur de MAJ de l'ADRESSE de l'établissement
$siren = substr($ligne, 1174 , 1 ); // insMAUXILT Indicateur de MAJ de l'AUXILIARITE
$siren = substr($ligne, 1175 , 1 ); // insMSIGLE Indicateur de MAJ du SIGLE
$siren = substr($ligne, 1176 , 1 ); // insMEXPLEN Indicateur de MAJ du caractère EXPLOITANT entrep
$siren = substr($ligne, 1177 , 1 ); // insMEXPLET Indicateur de MAJ du caractère EXPLOITANT étab
$siren = substr($ligne, 1178 , 1 ); // ADR_RNVP Type de Prestation RNVP si RNVP
$siren = substr($ligne, 1179 , 38 ); // L1_nomen Ligne 1 : Nom de l'entreprise
$siren = substr($ligne, 1217 , 38 ); // L2_COMP Ligne 2 : Complément de nom
$siren = substr($ligne, 1255 , 38 ); // L3_CADR Ligne 3 : Complément d'adresse
$siren = substr($ligne, 1293 , 38 ); // L4_VOIE Ligne 4 : Adresse
$siren = substr($ligne, 1331 , 38 ); // L5_DISP Ligne 5 : Distribution spéciale
$siren = substr($ligne, 1369 , 38 ); // L6_POST Ligne 6 : Code Postal, commune, etc..
$siren = substr($ligne, 1407 , 38 ); // L7_ETRG Ligne 7 : Pays si étranger
$siren = substr($ligne, 1445 , 4 ); // EAEANN Année de validité des rubriques de niveau ENTREP provenant des EAE*
$siren = substr($ligne, 1449 , 5 ); // EAEAPEN Activité principale de l'entreprise issue des EAE
$siren = substr($ligne, 1454 , 5 ); // inseaesec1n Activité secondaire n°1 de l'entreprise issue des EAE
$siren = substr($ligne, 1459 , 5 ); // inseaesec2n Activité secondaire n°2 de l'entreprise issue des EAE
$siren = substr($ligne, 1464 , 5 ); // inseaesec3n Activité secondaire n°3 de l'entreprise issue des EAE
$siren = substr($ligne, 1469 , 5 ); // inseaesec4n Activité secondaire n°4 de l'entreprise issue des EAE
$siren = substr($ligne, 1474 , 12 ); // GPSX Latitude en ° et décimales de ° (format WGS1984)
$siren = substr($ligne, 1486 , 12 ); // GPSY Longitude en ° et décimales de ° (format WGS1984)
$siren = substr($ligne, 1498 , 1 ); // GPSP Niveau de précision du géocodage (de 0 à 9)
*/
$zus = trim(substr($ligne, 1499 , 10 )); // ZUS Identifiant de la Zone Urbaine Sensible
$zru = trim(substr($ligne, 1509 , 10 )); // ZRU Identifiant de la Zone de Rénovation Urbaine
$zfu = trim(substr($ligne, 1519 , 10 )); // ZFU Identifiant de la Zone Franche Urbaine
$cucs = trim(substr($ligne, 1529 , 10 )); // CUCS Identifiant de la Zone Contrat Urbain de Cohésion Social
$afr = trim(substr($ligne, 1539 , 10 )); // AFR Identifiant de la Zone AFR
$zrr = trim(substr($ligne, 1549 , 10 )); // ZRR Identifiant de la ZRR
$tva = trim(substr($ligne, 1559 , 15 )); // TVA Numéro de TVA Intracommunataire
$tvaValide = substr($ligne, 1574 , 1 ); // TVAVALIDE Numéro de TVA validé
// $siren = substr($ligne, 1575 , 1 ); // ANCIENSIEGE Ancien siège
$isin= trim(substr($ligne, 1576 , 12 )); // CODEISIN Code ISIN de l'entreprise si cotation en bourse
$dir1nom = trim(substr($ligne, 1588 , 40 )); // PPDIR1NOM Nom du principal dirigeant
$dir1prenom = trim(substr($ligne, 1628 , 30 )); // PPDIR1PRENOM Prénom du principal dirigeant
/* $siren = substr($ligne, 1658 , 40 ); // PPDIR1NNAISS Nom de naissance du ppl dirigeant
$siren = substr($ligne, 1698 , 8 ); // PPDIR1DNAISS Date de naissance
$siren = substr($ligne, 1706 , 35 ); // PPDIR1LNAISS Lieu de Naissance
*/
$dir1cfct= substr($ligne, 1741 , 4 ); // PPDIR1FONC Code Fonction
// $siren = substr($ligne, 1745 , 8 ); // PPDIR1MAJ Date de MAJ du ppl dirigeant
$dir2nom= trim(substr($ligne, 1753 , 40 )); // PPDIR2NOM Nom du seconde principal dirigeant
$dir2prenom = trim(substr($ligne, 1793 , 30 )); // PPDIR2PRENOM Prénom du 2ème principal dirigeant
/* $siren = substr($ligne, 1823 , 40 ); // PPDIR2NNAISS Nom de naissance du 2ème ppl dirigeant
$siren = substr($ligne, 1863 , 8 ); // PPDIR2DNAISS Date de naissance du 2ème ppl dirigeant
$siren = substr($ligne, 1871 , 35 ); // PPDIR2LNAISS Lieu de Naissance du 2ème ppl dirigeant
*/
$dir2cfct = substr($ligne, 1906 , 4 ); // PPDIR2FONC Code Fonction du 2ème ppl dirigeant
// $siren = substr($ligne, 1910 , 8 ); // PPDIR2MAJ Date de MAJ du 2ème ppl dirigeant
$bilanClot= trim(substr($ligne, 1918 , 8 ))*1; // BILANCLOT Date de dernière clôture de bilan disponible
$bilanDuree = trim(substr($ligne, 1926 , 2 ))*1; // BILANDUREE Durée du dernier exercice disponible
$bilanCA= trim(substr($ligne, 1928 , 15 ))*1; // BILANCA Chiffre d'affaires au dernier bilan disponible
$bilanRES = trim(substr($ligne, 1943 , 15 ))*1; // BILANRES Résultat au dernier bilan disponible
// $siren = substr($ligne, 1958 , 41 ); // FILLER1 Zone libre
$ecrireLignePre=true;
break;
case 100: // Structure Bodacc
$ligne100++;
$ligne100tot++;
if (!$csvAnn) break;
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri);
$adrEtNum= substr($ligne, 596 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEtVoie= substr($ligne, 606 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEtCp= substr($ligne, 746 , 5 ); // Code Postal de l'établissement
$adrEtVille=substr($ligne, 751 , 45 ); // Ville de l'établissement
$adrEnNum= substr($ligne, 796 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEnVoie= substr($ligne, 806 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEnCp= substr($ligne, 946 , 5 ); // Code Postal de l'établissement
$adrEnVille=substr($ligne, 951 , 45 ); // Ville de l'établissement
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven='';
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
$catEven=$iBodacc->getChapitreEvenement($codeEven);
}
else
$txtEven.='';
if ($catEven=='procol') {
switch($codeEven) {
case 1050:
case 1055: $procol['CONC']++; $procoltot['CONC']++; break;
case 1100: $procol['SAUV']++; $procoltot['SAUV']++; break;
case 1200:
case 1201:
case 1211:
case 1212: $procol['RJ']++; $procoltot['RJ']++; break;
case 1300:
case 1301:
case 1302:
case 1303:
case 1304:
case 1305:
case 1306:
case 1307:
case 1311:
case 1312:
case 1313: $procol['LJ']++; $procoltot['LJ']++; break;
default: $procol['SUITE']++; $procoltot['SUITE']++; break;
}
}
@$ligne100chap[$catEven]++;
@$ligne100chaptot[$catEven]++;
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$txtAnn='';
$ecrireLignePre=true;
break;
case 104: // Annonce
$ligne104++;
$ligne104tot++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break;
case 999: // Ligne ignorée
if ($csvId) {
$ligneOut ="$siren;$nic;$codeTri;$libTri;$numRC;$actifEt;$siege;$raisonS;$nomCom;$enseigne;$sigle;";
$ligneOut.="$adrEtNum;$adrEtBtq;$adrEtTypV;$adrEtVoie;$adrEtComp;$adrEtDisp;$adrEtCp;$adrEtVille;$adrEtPays;";
$ligneOut.="$capital $capitalDev;$cj;$civilite;$nbEtab;$dateMaj;$sitJur;$depCom;$rivoli;$iris;$ilot;$indDom;";
$ligneOut.="$tel;$fax;$web;$mail;$auxil;$saisonat;$activnat;$origine;$typexploit;$lieuact;$actisurf;$prodpart;";
$ligneOut.="$arronet;$ctonet;$tcd;$zemet;$du;$tu;$uu;$dcret;$apet;$nacet;$dapet;$effet;$teffet;";
$ligneOut.="$defet;$modet;$explet;$rpet;$dreactet;$dateferet;$eaeant;$eaeapet;$eaesec1t;$eaesec2t;";
$ligneOut.="$dcren;$apen;$nacen;$dapen;$effen;$teffen;$moden;$explen;$rpen;$dreacten;$dateferen;$dateImma;$dateRad;$tca;$tcaExp;";
$ligneOut.="$zus;$zru;$zfu;$cucs;$afr;$zrr;$tva;$isin;$dir1nom;$dir1prenom;$dir1cfct;$dir2nom;$dir2prenom;$dir2cfct;";
$ligneOut.="$bilanClot;$bilanDuree;$bilanCA;$bilanRES";
} elseif ($csvAnn)
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
$ligne999++;
$ligne999tot++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
break;
}
if ($ecrireLignePre)
fwrite($fp, $ligneOut.EOL);
if ($ajoutNic && ($typeLigne==1 || $typeLigne==999 || $catEven=='procol' ||
($catEven<>'comptes' &&
(preg_match('/VITRY.*SEINE/i', $adrEtVille) || preg_match('/VITRY.*SEINE/i', $adrEnVille)))
)) {
// $nic=0;
if ($siren*1>1000) {
$tabEt=$iInsee->getEtablissements($siren, '', 0, 200, 200, 94);
//print_r($tabEt);
//die();
}
if ($tabEt['nbReponsesTotal']==1) {
// 1 seul établissement connu : on le valide en auto @todo : Vérifier adresser
$nic=$tabEt['reponses'][0]['Nic'];
} elseif ($tabEt['nbReponsesTotal']==0) {
continue;
} else {
$nicTrouve=$nbNic=0;
foreach ($tabEt['reponses'] as $iEt=>$tabIdEt) {
$villeRec=$tabIdEt['Ville'];
$numRec=substr($tabIdEt['Adresse'],0,4)*1;
$numDemEt=$adrEtNum*1;
$numDemEn=$adrEnNum*1;
if (($numDemEt==0 && $numDemEn==0) || $numRec==0) continue;
if ($numDemEt==$numRec && preg_match('/VITRY.*SEINE/i', $villeRec)) {
$nicTrouve=$tabIdEt['Nic'];
$nbNic++;
} elseif ($numDemEn==$numRec && preg_match('/VITRY.*SEINE/i', $villeRec)) {
$nicTrouve=$tabIdEt['Nic'];
$nbNic++;
}
}
//if ($nbNic==1) {
$nic=$nicTrouve;
//}
}
echo substr($ligne,0,22).initstr($nic*1,5,'0',ALIGN_RIGHT).substr($ligne,27,2000);
}
}
if ($ajoutNic) echo EOL;
fclose($fp);
if ($verbose) echo date ('Y/m/d - H:i:s')." - Conversion terminée de $fichier ($ligne100 annonces)" . EOL;
elseif ($sortieCSV) {
echo "$fichier;$ligne100;";
foreach ($ligne100chap as $chap=>$nb) echo "$nb;";
foreach ($procol as $chap=>$nb) echo "$nb;";
echo EOL;
}
}
if ($sortieCSV) {
echo "$iFic fichiers;$ligne100tot;";
foreach ($ligne100chaptot as $chap=>$nb) echo "$nb;";
foreach ($procoltot as $chap=>$nb) echo "$nb;";
echo EOL;
} else
echo date ('Y/m/d - H:i:s')." - Conversion terminée : $iFic fichiers, $ligne001tot entêtes, $ligne200tot etab., $ligne100tot annonces, $ligne104tot lignes de texte, $ligne999tot fin de fichier !" . EOL;
die();
?>

View File

@ -0,0 +1,588 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
$tabMailDepot=array(
// Région NORD EST
'ST0B'=>'fb.ne.contentieux@heineken.fr,stephane.bisiaux@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST0C'=>'fb.ne.contentieux@heineken.fr,eric.gerbaud@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST0D'=>'fb.ne.contentieux@heineken.fr,severine.poulain@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST0E'=>'fb.ne.contentieux@heineken.fr,eric.debuyzer@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST0F'=>'fb.ne.contentieux@heineken.fr,sylvain.michoux@france-boissons.fr',
'ST05'=>'fb.ne.contentieux@heineken.fr,dominique.husson@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST06'=>'fb.ne.contentieux@heineken.fr,nathalie.heyer@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST07'=>'fb.ne.contentieux@heineken.fr,annick.guyot@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST08'=>'fb.ne.contentieux@heineken.fr,annick.guyot@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST00'=>'fb.ne.contentieux@heineken.fr,valerie.baechler@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST0A'=>'fb.ne.contentieux@heineken.fr,valerie.baechler@france-boissons.fr,sylvain.michoux@france-boissons.fr',
'ST09'=>'fb.ne.contentieux@heineken.fr,laurence.hassler@france-boissons.fr,sylvain.michoux@france-boissons.fr',
// Région BRETAGNE NORMANDIE
'SJ04'=>'fb.bn.contentieux@heineken.fr,marie-francoise.beneat@france-boissons.fr', //thierry.hacques@france-boissons.fr,linda.bourges fb.bn.contentieux@heineken.fr,thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr
'SJ0A'=>'fb.bn.contentieux@heineken.fr,celine.dorion@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges
'SJ0C'=>'fb.bn.contentieux@heineken.fr,celine.dorion@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr',
'SJ0D'=>'fb.bn.contentieux@heineken.fr,celine.dorion@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr',
'SJ06'=>'fb.bn.contentieux@heineken.fr,angelique.thomas@france-boissons.fr', // thierry.hacques,linda.bourges@france-boissons.fr',
'SJ07'=>'fb.bn.contentieux@heineken.fr,thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr',
'SJ05'=>'fb.bn.contentieux@heineken.fr,genevieve.gales@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr',
'SJ00'=>'fb.bn.contentieux@heineken.fr,nadine.dutheil@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr
'SJ08'=>'fb.bn.contentieux@heineken.fr,nadine.dutheil@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@france-boissons.fr',
'SJ09'=>'fb.bn.contentieux@heineken.fr,denise.gillard@france-boissons.fr', // thierry.hacques@france-boissons.fr,linda.bourges@
// Région ILE DE FRANCE
'NO00'=>'francoise.andre@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO02'=>'francoise.andre@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO04'=>'amandine.vergnaud@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO06'=>'annie.bontemps@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO0E'=>'murielle.pinte@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO0F'=>'laurence.braquehais@france-boissons.fr,ctx-idf@france-boissons.fr',
'NO0G'=>'catherine.simon@france-boissons.fr,ctx-idf@france-boissons.fr',
'PB00'=>'fabrice.amriou@sabertrand.fr,ctx-idf@france-boissons.fr',
'PB01'=>'fabrice.amriou@sabertrand.fr,ctx-idf@france-boissons.fr',
'PB02'=>'fabrice.amriou@sabertrand.fr,ctx-idf@france-boissons.fr',
'PB03'=>'fabrice.amriou@sabertrand.fr,ctx-idf@france-boissons.fr',
// LOIRE SUD OUEST
'BO00'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO01'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO02'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO03'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO04'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO05'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO06'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO07'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO08'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO09'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0B'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0C'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0D'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0E'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0F'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0G'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0H'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0I'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0J'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
'BO0K'=>'fb.lso.contentieux@heineken.fr,sabine.ageon@france-boissons.fr,christian.tesson@france-boissons.fr,martine.desgrippes@france-boissons.fr',
// Région CENTRE RHONE ALPES
'LY05'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,sylvie.lambert@france-boissons.fr',
'LY06'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,sylvie.lambert@france-boissons.fr',
'LY07'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,sylvie.lambert@france-boissons.fr',
'LY08'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,virginie.charbonnier@france-boissons.fr',
'LY0A'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,virginie.charbonnier@france-boissons.fr',
'LY0B'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,virginie.charbonnier@france-boissons.fr',
'LY0C'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,virginie.charbonnier@france-boissons.fr',
'LY0E'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0H'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0I'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0J'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0L'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0M'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0P'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0Q'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0R'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY0V'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr',
'LY00'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,nathalie.rodier@france-boissons.fr,virginie.charbonnier@france-boissons.fr',
// Région SUD EST
'LY0F'=>'fb.cra.contentieux@heineken.fr,CTX-CRA@france-boissons.fr,fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA00'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA01'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA02'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA03'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA04'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0B'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0C'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0D'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0F'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0H'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0I'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0J'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0L'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0M'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MA0T'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
'MO00'=>'fatiha.daifi@france-boissons.fr,fb.sudest.contentieux@heineken.fr',
);
//define('VERSION_FICHIER_BODACC','0106');
define('DIR_RECORDATI_IN','/mnt/samba/partage/production/');
/**
* @todo
* 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 3.
* 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(FWK_PATH.'mail/sendMail.php');
$iBodacc=new MBodacc();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Bouchara-Recordati.
";/*Options :
-d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas incrémenter les numéros de tour (pour les tests).
";*/
$tabFichLigneCmd=$tabFichier=array();
$sortieCSV=true;
$argv=$_SERVER['argv'];
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
} else $tabFichLigneCmd[]=$argv[$i];
}
if (count($tabFichLigneCmd)==0) {
$dh = opendir(DIR_RECORDATI_IN);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt' &&
substr($filename, 0,40)=='surveillanceBodacc_SURBODPRDFTPFBOISSON_')
$tabFichier[] = $filename;
}
sort($tabFichier);
} else $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier France Boisson à traiter !".EOL);
//print_r($tabFichier);
//die();
$ligne001tot=$ligne100tot=$ligne104tot=$ligne999tot=0;
$ligne100chaptot=array('comptes'=>0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0);
$procoltot=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0);
for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
{
$nomFichier =$tabFichier[$iFic];
$ligne001=$ligne100=$ligne104=$ligne999=0;
$ligne100chap=array('comptes'=>0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0);
$procol=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0);
$tabLignes=file(DIR_RECORDATI_IN.$nomFichier);
$message=$tabNbAnn=array();
$lignesCsv=array();
foreach ($tabLignes as $i=>$ligne) {
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$txtAnn ='Texte Annonce';
$ligneOut='';
$ligne001++;
$ligne001tot++;
break;
case 100: // Structure Bodacc
$lignesCsv[$ref1][]="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
// Mail de surveillance
$sirenAff=implode(' ', str_split($siren,3));
$message[$ref1].="Siren : $sirenAff\r\n".'Raison Sociale : '.$raisonS."\r\n";
$message[$ref1].="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'')
$message[$ref1].='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message[$ref1].="Tribunal : $libTri"."\r\n";
$message[$ref1].="\r\n";
$message[$ref1].="$txtEven"."\r\n";
$message[$ref1].="\r\n";
$message[$ref1].=$txtAnn."\r\n";
$message[$ref1].="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
$ligne100++;
$ligne100tot++;
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$ref=explode('-',$ref);
$ref1=$ref[1];
$ref=$ref[0];
if (!isset($message[$ref1 ]) || @$message[$ref1]=='') {
//$fp[$ref1]=fopen(DIR_RECORDATI_IN.$nomFichier."-$ref1.csv", 'w');
//fwrite($fp[$ref1], 'Siren;Nic;Référence;Parution;Bodacc;Date parution;Numéro Annonce;Type Annonce;Tribunal;Numéro RCS;Raison sociale;Chapitre;Evènement(s);Texte Annonce'.EOL);
$message[$ref1]='Bonjour,
Veuillez trouver ci-joint la liste des modifications relatives à votre abonnement Scores & Décisions.
';
}
@$tabNbAnn[$ref1]++;
// die(EOL."$ref1\t$ref2".EOL);
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri);
$adrEtNum= substr($ligne, 596 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEtVoie= substr($ligne, 606 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEtCp= substr($ligne, 746 , 5 ); // Code Postal de l'établissement
$adrEtVille=substr($ligne, 751 , 45 ); // Ville de l'établissement
$adrEnNum= substr($ligne, 796 , 4 ); // Adresse de l'établissement : Numéro dans la voie
$adrEnVoie= substr($ligne, 806 , 50 ); // Adresse de l'établissement : Libellé de la voie
$adrEnCp= substr($ligne, 946 , 5 ); // Code Postal de l'établissement
$adrEnVille=substr($ligne, 951 , 45 ); // Ville de l'établissement
$adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '.
substr($ligne, 600 , 1 ).' '.
substr($ligne, 601 , 5 ).' '.
substr($ligne, 606 , 50 ).' '.
substr($ligne, 656 , 50 ).' '.
substr($ligne, 706 , 40 ).', '.
substr($ligne, 746 , 5 ).' '.
substr($ligne, 751 , 45 )));
$venteDt= WDate::dateT('Ymd','d/m/Y',substr($ligne,1161,8));
$venteMt= substr($ligne, 1169 , 15 );
$venteDev=substr($ligne, 1184 , 3 );
$dateInsert=substr($ligne, 1910 , 8 );
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven='';
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
$catEven=$iBodacc->getChapitreEvenement($codeEven);
}
else
$txtEven.='';
if ($catEven=='procol') {
switch($codeEven) {
case 1050:
case 1055: $procol['CONC']++; $procoltot['CONC']++; break;
case 1100: $procol['SAUV']++; $procoltot['SAUV']++; break;
case 1200:
case 1201:
case 1211:
case 1212: $procol['RJ']++; $procoltot['RJ']++; break;
case 1300:
case 1301:
case 1302:
case 1303:
case 1304:
case 1305:
case 1306:
case 1307:
case 1311:
case 1312:
case 1313: $procol['LJ']++; $procoltot['LJ']++; break;
default: $procol['SUITE']++; $procoltot['SUITE']++; break;
}
}
@$ligne100chap[$catEven]++;
@$ligne100chaptot[$catEven]++;
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$txtAnn='';
break;
case 104: // Annonce
$ligne104++;
$ligne104tot++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break;
case 999: // Ligne ignorée
$lignesCsv[$ref1][]="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
// Mail de surveillance
$sirenAff=implode(' ', str_split($siren,3));
$message[$ref1].="Siren : $sirenAff\r\n".'Raison Sociale : '.$raisonS."\r\n";
$message[$ref1].="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'')
$message[$ref1].='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message[$ref1].="Tribunal : $libTri"."\r\n";
$message[$ref1].="\r\n";
$message[$ref1].="$txtEven"."\r\n";
$message[$ref1].="\r\n";
$message[$ref1].=$txtAnn."\r\n";
$message[$ref1].="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
$ligne999++;
$ligne999tot++;
break;
default: // Ligne non gérée
break;
}
}
print_r($message);
foreach ($message as $ref=>$msg) {
if ($ref<>'') {
// Ecriture des CSV
$fp=fopen(DIR_RECORDATI_IN.$nomFichier."-$ref.csv", 'w');
fwrite($fp, 'Siren;Nic;Référence;Parution;Bodacc;Date parution;Numéro Annonce;Type Annonce;Tribunal;Numéro RCS;Raison sociale;Chapitre;Evènement(s);Texte Annonce'.EOL);
foreach ($lignesCsv[$ref] as $iLigne=>$ligneCsv) {
fwrite($fp, $ligneCsv.EOL);
}
fclose($fp);
copy(DIR_RECORDATI_IN.$nomFichier."-$ref.csv", '/tmp/Sed_FBoissons_'.date('Ymd')."_$ref.csv");
@move(DIR_RECORDATI_IN.$nomFichier."-$ref.csv", '/home/data/clients/france boissons/'.$nomFichier."-$ref.csv");
$tabAttached=array('/tmp/Sed_FBoissons_'.date('Ymd')."_$ref.csv");
// Envoi des mails
if (isset($tabMailDepot[$ref]) && $tabMailDepot[$ref]<>'') {
@sendMail('infoslegales@scores-decisions.com', $tabMailDepot[$ref].',support@scores-decisions.com', "Surveillance Annonces Legales (S&D/FrBoissons $ref)", $msg, '', $tabAttached);
$azerty=0;
}
elseif (!isset($tabMailDepot[$ref]) || $tabMailDepot[$ref]=='') {
$msg="ATTENTION, CE DEPOT N'A PAS DE MAIL RENSEIGNE !".EOL.EOL.$msg;
@sendMail('infoslegales@scores-decisions.com', 'flora.durandeau@france-boissons.fr,support@scores-decisions.com', "Surveillance Annonces Legales (S&D/FrBoissons $ref)", "ATTENTION, CE DEPOT N'A PAS DE MAIL RENSEIGNE !".EOL.EOL.$msg, '', $tabAttached);
$azerty=0;
}
$nbAnnTmp=$tabNbAnn[$ref];
@$nbAnnTot+=$nbAnnTmp;
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales (S&D/FrBoissons $ref)", $msg.EOL.EOL.date('Y/m/d H:i:s').
" - Les $nbAnnTmp annonce(s) ont été envoyés à ".$tabMailDepot[$ref]." (Dépôt n°$ref).", '', $tabAttached);
@$nbDepots++;
@unlink('/tmp/Sed_FBoissons_'.date('Ymd')."_$ref.csv");
}
}
if ($verbose) echo date ('Y/m/d - H:i:s')." - Conversion terminée de $nomFichier ($ligne100 annonces sur $nbDepots dépôts)" . EOL;
elseif ($sortieCSV) {
echo "$nomFichier;$ligne100;";
foreach ($ligne100chap as $chap=>$nb) echo "$nb;";
foreach ($procol as $chap=>$nb) echo "$nb;";
echo EOL;
}
@sendMail('infoslegales@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', "Surveillance Annonces Legales (S&D/FrBoissons)", $msgGlobal.EOL.EOL.date('Y/m/d H:i:s').
" - Les $nbAnnTot/$ligne100tot annonce(s) ont été envoyés aux $nbDepots dépôts.");
if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) {
unlink(DIR_RECORDATI_IN.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
}
}
if ($sortieCSV) {
echo "$iFic fichiers;$ligne100tot;";
foreach ($ligne100chaptot as $chap=>$nb) echo "$nb;";
foreach ($procoltot as $chap=>$nb) echo "$nb;";
echo EOL;
} else
echo date ('Y/m/d - H:i:s')." - Conversion terminée : $iFic fichiers, $ligne001tot entêtes, $ligne100tot annonces, $ligne104tot lignes de texte, $ligne999tot fin de fichier !" . EOL;
die();
/*
$ligneOut="$idannPre;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn";
if ($idannPre<>'Identifiant Annonce') {
$sirenAffV=implode(' ', str_split($sirenV,3));
if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')';
else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n";
$message.="\r\n";
if (trim($raisonSA)<>'') {
$message.="Acheteur : $raisonSA $sirenAffA"."\r\n";
if ($montantVente*1>0)
$message.="Montant de la vente : $montantVente $deviseVente en date du $dateVente."."\r\n";
$message.="\r\n";
}
$message.="$txtEven"."\r\n";
$message.="\r\n";
$message.=$txtAnn."\r\n";
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
}
$sirenA=$raisonSA=$sirenV=$raisonSV=$adresseFond=$montantVente=$deviseVente=$dateVente='';
}
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/m/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '.
substr($ligne, 600 , 1 ).' '.
substr($ligne, 601 , 5 ).' '.
substr($ligne, 606 , 50 ).' '.
substr($ligne, 656 , 50 ).' '.
substr($ligne, 706 , 40 ).', '.
substr($ligne, 746 , 5 ).' '.
substr($ligne, 751 , 45 )));
$venteDt= WDate::dateT('Ymd','d/m/Y',substr($ligne,1161,8));
$venteMt= substr($ligne, 1169 , 15 );
$venteDev=substr($ligne, 1184 , 3 );
$dateInsert=substr($ligne, 1910 , 8 );
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven='';
$inter='Vendeur'; // Par défaut, nous sommes avec un vendeur
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
$catEven=$iBodacc->getChapitreEvenement($codeEven);
if ($codeEven==5700) {
$inter='Acheteur'; // L'interlocuteur est l'acheteur !
$sirenA=$siren;
$raisonSA=$raisonS;
$adresseFond=$adresse;
$montantVente=$venteMt;
$deviseVente=$venteDev;
$dateVente=$venteDt;
}
}
else
$txtEven.='';
if ($inter=='Vendeur') {
$sirenV=$siren;
$raisonSV=$raisonS;
}
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$txtAnn='';
if ($idannPre<>$idann) $ecrireLignePre=true;
else $ecrireLignePre=false;
$idannPre=$idann;
break;
case 104: // Annonce
$ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break;
case 999: // Ligne ignorée
//$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$txtAnn";
$opposition=preg_replace('/.*Oppositions \:/i','', $txtAnn);
$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn";
// $ligneOut="$idann;$siren;$nic;$inter;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn";
if ($idann<>'Identifiant Annonce') {
$sirenAffV=implode(' ', str_split($sirenV,3));
if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')';
else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n";
$message.="\r\n";
if (trim($raisonSA)<>'') {
$message.="Acheteur : $raisonSA $sirenAffA"."\r\n";
if ($montantVente*1>0)
$message.="Montant de la vente : $montantVente $deviseVente en date du $dateVente."."\r\n";
$message.="\r\n";
}
$message.="$txtEven"."\r\n";
$message.="\r\n";
$message.=$txtAnn."\r\n";
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
}
$ligne999++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
break;
}
if ($ecrireLignePre)
fwrite($fp, $ligneOut.EOL);
}
if ($catEven<>'Chapitre') {
//sendMail('infoslegales@scores-decisions.com', 'c.ferault@bouchara-recordati.fr,f.hadjadj@bouchara-recordati.fr,a.mandar@bouchara-recordati.fr', "Surveillance Annonces Legales ($catEven)", $message);
sendMail('infoslegales@scores-decisions.com', '<Yoann Le Naour>ylenaour@scores-decisions.com,<Fabienne Zicarro>fzicaro@scores-decisions.com', "Surveillance Annonces Legales ($catEven)", $message);
}
fclose($fp);
if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) {
unlink(DIR_RECORDATI_IN.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
}
}*/
echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL;
die();
?>

View File

@ -6,22 +6,22 @@ define('DIR_RECORDATI_IN','/mnt/samba/partage/production/');
/** /**
* @todo * @todo
* 1. Numéroter toutes les procédures OK * 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc * 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire * 101 Commentaire
* 102 Activite déclaré au Bodacc * 102 Activite déclaré au Bodacc
* 103 texte rectificatif * 103 texte rectificatif
* 104 Annonce complète au format texte * 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC * 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente * 106 Libellé du Périmètre de la vente
* 3. * 3.
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ? Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255 Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9 Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1 Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -31,13 +31,13 @@ include_once(FWK_PATH.'mail/sendMail.php');
$iBodacc=new MBodacc(); $iBodacc=new MBodacc();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Bouchara-Recordati. Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Bouchara-Recordati.
";/*Options : ";/*Options :
-d Clients en Diffusion Bodacc (par défaut) -d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc -s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script -e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas incrémenter les numéros de tour (pour les tests). -i Ne pas incrémenter les numéros de tour (pour les tests).
";*/ ";*/
$tabFichLigneCmd=$tabFichier=array(); $tabFichLigneCmd=$tabFichier=array();
@ -66,7 +66,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier); sort($tabFichier);
} else $tabFichier=$tabFichLigneCmd; } else $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Recordati à traiter !".EOL); if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Recordati à traiter !".EOL);
//print_r($tabFichier); //print_r($tabFichier);
//die(); //die();
@ -84,22 +84,22 @@ foreach ($tabLignes as $i=>$ligne) {
$ecrireLignePre=false; $ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$idannPre ='Identifiant Annonce'; $idannPre ='Identifiant Annonce';
$siren ='Siren'; $siren ='Siren';
$nic ='Nic'; $nic ='Nic';
$ref ='Référence'; $ref ='Référence';
$numPar ='Parution'; $numPar ='Parution';
$bodacc ='Bodacc'; $bodacc ='Bodacc';
$datePar='Date parution'; $datePar='Date parution';
$numAnn ='Numéro Annonce'; $numAnn ='Numéro Annonce';
$cor ='Type Annonce'; $cor ='Type Annonce';
$libTri ='Tribunal'; $libTri ='Tribunal';
$numRC ='Numéro RCS'; $numRC ='Numéro RCS';
$raisonS='Raison sociale'; $raisonS='Raison sociale';
$catEven='Chapitre'; $catEven='Chapitre';
$txtEven='Evènement(s)'; $txtEven='Evènement(s)';
$txtAnn ='Texte Annonce'; $txtAnn ='Texte Annonce';
$inter ='Acheteur/Vendeur'; $inter ='Acheteur/Vendeur';
$sirenV ='Siren Vendeur'; $sirenV ='Siren Vendeur';
@ -116,7 +116,7 @@ foreach ($tabLignes as $i=>$ligne) {
break; break;
case 100: // Structure Bodacc case 100: // Structure Bodacc
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */ /*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
$ligne100++; $ligne100++;
$idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D $idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D
if ($idannPre<>$idann) { if ($idannPre<>$idann) {
@ -126,7 +126,7 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition=trim($matches[1]); $opposition=trim($matches[1]);
/** Rechercher du montant de la vente /** Rechercher du montant de la vente
**/ **/
if (preg_match("/(?:prix|montant|indémni|indemni|évalu|evalu|éstim|estim)\D{1,15}([0-9\.,\?\s ]*)(?:eur|euro|euros)/i", $txtAnn, $matches)) { if (preg_match("/(?:prix|montant|indémni|indemni|évalu|evalu|éstim|estim)\D{1,15}([0-9\.,\?\s ]*)(?:eur|euro|euros)/i", $txtAnn, $matches)) {
$montantVente=''.trim($matches[1]); $montantVente=''.trim($matches[1]);
echo "Montant de la vente AV: $montantVente\n"; echo "Montant de la vente AV: $montantVente\n";
if (substr($montantVente,-3,1)==',') { if (substr($montantVente,-3,1)==',') {
@ -155,7 +155,7 @@ foreach ($tabLignes as $i=>$ligne) {
} }
if ($catEven=='procol') { if ($catEven=='procol') {
$adresseFond=$adresse; $adresseFond=$adresse;
if (preg_match('/Complément de jugement(?: )\:(.*)$/Uis', $txtAnn, $matches)) if (preg_match('/Complément de jugement(?: )\:(.*)$/Uis', $txtAnn, $matches))
$opposition=trim($matches[1]); $opposition=trim($matches[1]);
else else
$opposition=''; $opposition='';
@ -168,9 +168,9 @@ foreach ($tabLignes as $i=>$ligne) {
if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')'; if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')';
else $sirenAffA=''; else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n"; $message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. "; $message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'') if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n"; $message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n"; $message.="Tribunal : $libTri"."\r\n";
$message.="\r\n"; $message.="\r\n";
if (trim($raisonSA)<>'') { if (trim($raisonSA)<>'') {
@ -186,18 +186,18 @@ foreach ($tabLignes as $i=>$ligne) {
} }
$sirenA=$raisonSA=$sirenV=$raisonSV=$adresseFond=$montantVente=$deviseVente=$dateVente=''; $sirenA=$raisonSA=$sirenV=$raisonSV=$adresseFond=$montantVente=$deviseVente=$dateVente='';
} }
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic $nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/m/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $datePar= WDate::dateT('Ymd','d/m/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '. $adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '.
substr($ligne, 600 , 1 ).' '. substr($ligne, 600 , 1 ).' '.
substr($ligne, 601 , 5 ).' '. substr($ligne, 601 , 5 ).' '.
@ -213,7 +213,7 @@ foreach ($tabLignes as $i=>$ligne) {
$cor=''; $cor='';
if ($typeAnn<>'I') if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -221,22 +221,22 @@ foreach ($tabLignes as $i=>$ligne) {
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
$inter='Vendeur'; // Par défaut, nous sommes avec un vendeur $inter='Vendeur'; // Par défaut, nous sommes avec un vendeur
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', '; $txtEven.=$iBodacc->getEvenement($codeEven).', ';
@ -268,7 +268,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne104++; $ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break; break;
case 999: // Ligne ignorée case 999: // Ligne ignorée
//$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$txtAnn"; //$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$txtAnn";
$opposition=preg_replace('/.*Oppositions \:/i','', $txtAnn); $opposition=preg_replace('/.*Oppositions \:/i','', $txtAnn);
$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn"; $ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn";
@ -278,9 +278,9 @@ foreach ($tabLignes as $i=>$ligne) {
if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')'; if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')';
else $sirenAffA=''; else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n"; $message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. "; $message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'') if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n"; $message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n"; $message.="Tribunal : $libTri"."\r\n";
$message.="\r\n"; $message.="\r\n";
if (trim($raisonSA)<>'') { if (trim($raisonSA)<>'') {
@ -297,7 +297,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne999++; $ligne999++;
$ecrireLignePre=true; $ecrireLignePre=true;
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
if ($ecrireLignePre) if ($ecrireLignePre)
@ -314,10 +314,10 @@ foreach ($tabLignes as $i=>$ligne) {
if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) { if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) {
unlink(DIR_RECORDATI_IN.$nomFichier); unlink(DIR_RECORDATI_IN.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
} }
} }
echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL; echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL;
die(); die();
?> ?>

View File

@ -59,211 +59,211 @@ $tabEvenSolib=array(10=>'CR',
$tabEven2SO=array( // PROCOL $tabEven2SO=array( // PROCOL
1010=>92, // Déclaration de cessation de paiement 1010=>92, // Déclaration de cessation de paiement
1050=>70, // Homologation de la conciliation 1050=>70, // Homologation de la conciliation
1055=>70, // Résolution de la conciliation 1055=>70, // Résolution de la conciliation
1100=>57, // Jugement de sauvegarde 1100=>57, // Jugement de sauvegarde
1101=>58, // Plan de sauvegarde 1101=>58, // Plan de sauvegarde
1200=>52, // Redressement Judiciaire 1200=>52, // Redressement Judiciaire
1201=>52, // Conversion sauvegarde en Redressement Judiciaire 1201=>52, // Conversion sauvegarde en Redressement Judiciaire
1202=>75, // Renouv. Periode Observation 1202=>75, // Renouv. Periode Observation
1203=>78, // Avis de dépot de l'état de collocation 1203=>78, // Avis de dépot de l'état de collocation
1204=>78, // Dépôt des créances 1204=>78, // Dépôt des créances
1205=>78, 1205=>78,
1206=>78, 1206=>78,
1207=>53, // Règlemement amiable 1207=>53, // Règlemement amiable
1208=>78, 1208=>78,
1209=>51, // Règlement Judiciaire 1209=>51, // Règlement Judiciaire
1210=>77, // Production 1210=>77, // Production
1211=>52, // Redressement Judiciaire par extension au(x) gérant(s) 1211=>52, // Redressement Judiciaire par extension au(x) gérant(s)
1212=>69, // Rectif ou Annul.LJ 1212=>69, // Rectif ou Annul.LJ
1214=>78, // Avis de dépôt de l'état des créances (Loi de 1985) 1214=>78, // Avis de dépôt de l'état des créances (Loi de 1985)
1215=>70, // Jugement de désignation des organes de la procédure 1215=>70, // Jugement de désignation des organes de la procédure
1216=>78, // Autre avis de dépôt 1216=>78, // Autre avis de dépôt
1300=>62, // Conversion Redressement Judiciaire en Liquidation 1300=>62, // Conversion Redressement Judiciaire en Liquidation
1301=>62, // Ouverture Liquidation Judiciaire 1301=>62, // Ouverture Liquidation Judiciaire
1302=>66, // Ouverture Liquidation Judiciaire Simplifiée 1302=>66, // Ouverture Liquidation Judiciaire Simplifiée
1303=>62, // Ouverture Liquidation Judiciaire sur résolution 1303=>62, // Ouverture Liquidation Judiciaire sur résolution
1304=>62, // Réouverture Liquidation Judiciaire 1304=>62, // Réouverture Liquidation Judiciaire
1305=>62, // Liquidation Judiciaire 1305=>62, // Liquidation Judiciaire
1306=>66, // Liquidation Judiciaire simplifiée 1306=>66, // Liquidation Judiciaire simplifiée
1307=>62, // Conversion sauvegarde en Liquidation Judiciaire 1307=>62, // Conversion sauvegarde en Liquidation Judiciaire
1308=>62, // Fin du régime de Liquidation Judiciaire Simplifiée 1308=>62, // Fin du régime de Liquidation Judiciaire Simplifiée
1309=>62, // Conversion Liquidation Judiciaire en Liquidation 1309=>62, // Conversion Liquidation Judiciaire en Liquidation
1310=>56, // Procédure d'Insolvabilité Européenne 1310=>56, // Procédure d'Insolvabilité Européenne
1311=>62, // Liquidation Judiciaire par extension au(x) gérants 1311=>62, // Liquidation Judiciaire par extension au(x) gérants
1312=>62, // Liquidation Judiciaire avec continuation d'exploitation 1312=>62, // Liquidation Judiciaire avec continuation d'exploitation
1313=>62, // Liquidation Judiciaire sans remise des accessoires 1313=>62, // Liquidation Judiciaire sans remise des accessoires
1346=>70, // Procédure d'insolvabilité (Règlement 1346/2000 du Conseil Européen) 1346=>70, // Procédure d'insolvabilité (Règlement 1346/2000 du Conseil Européen)
1400=>70, // Nomination d'un administrateur judiciaire 1400=>70, // Nomination d'un administrateur judiciaire
1401=>70, // Nomination d'un mandataire judiciaire 1401=>70, // Nomination d'un mandataire judiciaire
1402=>70, // Nomination d'un représentant des créanciers 1402=>70, // Nomination d'un représentant des créanciers
1403=>70, // Nominnation/Remplacement de commissaire à l'exécution du plan 1403=>70, // Nominnation/Remplacement de commissaire à l'exécution du plan
1404=>70, // Prolongement de la mission du commissaire à l'exécution du plan 1404=>70, // Prolongement de la mission du commissaire à l'exécution du plan
1405=>70, // Nomination d'un juge commissaire 1405=>70, // Nomination d'un juge commissaire
1406=>70, // Changement de SYNDIC 1406=>70, // Changement de SYNDIC
1407=>75, // Modif. de Plan 1407=>75, // Modif. de Plan
1408=>75, // Modification du plan de cession 1408=>75, // Modification du plan de cession
1409=>75, // Modif. de de continuation 1409=>75, // Modif. de de continuation
1410=>75, // Suite de jugement/règlement/liquidation 1410=>75, // Suite de jugement/règlement/liquidation
1411=>75, // Arrêt du plan de cession 1411=>75, // Arrêt du plan de cession
1412=>75, // Arrêt du plan de cession partielle 1412=>75, // Arrêt du plan de cession partielle
1413=>75, // Arrêt du plan de continuation 1413=>75, // Arrêt du plan de continuation
1414=>75, // Arrêt du plan de redressement 1414=>75, // Arrêt du plan de redressement
1415=>75, // Prolongement du plan cession 1415=>75, // Prolongement du plan cession
1416=>75, // Jugement constatant la bonne exécution du plan 1416=>75, // Jugement constatant la bonne exécution du plan
1417=>62, // Jugement d'extension de liquidation judiciaire 1417=>62, // Jugement d'extension de liquidation judiciaire
1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire 1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire
1419=>57, // Jugement d'extension d'une procédure de sauvegarde 1419=>57, // Jugement d'extension d'une procédure de sauvegarde
1420=>70, // Nomination d'un liquidateur judiciaire 1420=>70, // Nomination d'un liquidateur judiciaire
1421=>70, // Jugement prorogeant le plan de redressement 1421=>70, // Jugement prorogeant le plan de redressement
1425=>70, // Plan de cession avec location gérance 1425=>70, // Plan de cession avec location gérance
1430=>70, // Jugement autorisant la poursuite d'activité 1430=>70, // Jugement autorisant la poursuite d'activité
1431=>70, // Jugement de cessation partielle d'activité 1431=>70, // Jugement de cessation partielle d'activité
1435=>70, // Suspension de l'exécution provisoire 1435=>70, // Suspension de l'exécution provisoire
1436=>70, // Suspension provisoire des poursuites 1436=>70, // Suspension provisoire des poursuites
1440=>70, // Jugement accordant un délai pour déposer la liste des créances 1440=>70, // Jugement accordant un délai pour déposer la liste des créances
1445=>70, // Concordat 1445=>70, // Concordat
1450=>92, //Cessation paiement 1450=>92, //Cessation paiement
1455=>70, // Jugement arrêtant le plan d'apurement du passif 1455=>70, // Jugement arrêtant le plan d'apurement du passif
1460=>70, // Homologation du plan 1460=>70, // Homologation du plan
1470=>70, // Fin de mission d'administrateur judiciaire 1470=>70, // Fin de mission d'administrateur judiciaire
1480=>70, // Jugement ordonnant la jonction des procédures 1480=>70, // Jugement ordonnant la jonction des procédures
1500=>79, // Clôture de la procédure 1500=>79, // Clôture de la procédure
1501=>79, // Clôture de la procédure après cession totale 1501=>79, // Clôture de la procédure après cession totale
1502=>76, // Clôture de la procédure pour extinction du passif 1502=>76, // Clôture de la procédure pour extinction du passif
1503=>79, // Cloture insuf.Actif 1503=>79, // Cloture insuf.Actif
1504=>79, // Clôture sauvegarde pour absence de projet de plan 1504=>79, // Clôture sauvegarde pour absence de projet de plan
1505=>74, // Appel de jugement 1505=>74, // Appel de jugement
1506=>59, // Rectif ou Annulation RJ 1506=>59, // Rectif ou Annulation RJ
1507=>74, // Appel de jugement 1507=>74, // Appel de jugement
1508=>70, // Extinction du plan de sauvegarde 1508=>70, // Extinction du plan de sauvegarde
1509=>70, // Extinction du plan de redressement 1509=>70, // Extinction du plan de redressement
1510=>74, // Rejet du plan 1510=>74, // Rejet du plan
1511=>70, // Résolution du plan de cession 1511=>70, // Résolution du plan de cession
1512=>70, // Résolution du plan de continuation 1512=>70, // Résolution du plan de continuation
1513=>70, // Résolution du plan de sauvegarde 1513=>70, // Résolution du plan de sauvegarde
1515=>74, // Arrêt divers 1515=>74, // Arrêt divers
1517=>59, // Rectification d'une erreur matérielle 1517=>59, // Rectification d'une erreur matérielle
1520=>70, // Ordonnance 1520=>70, // Ordonnance
1525=>74, // Appel du ministère public 1525=>74, // Appel du ministère public
1530=>70, // Jugement constatant l'impécuniosité de la procédure de liquidation 1530=>70, // Jugement constatant l'impécuniosité de la procédure de liquidation
1540=>70, // Ordonnance statuant sur les contestations du projet de répartition 1540=>70, // Ordonnance statuant sur les contestations du projet de répartition
1541=>74, // Rétractation de prononcé de liquidation judiciaire sur tierce opposition 1541=>74, // Rétractation de prononcé de liquidation judiciaire sur tierce opposition
1542=>74, // Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition 1542=>74, // Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition
1543=>74, // Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition 1543=>74, // Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition
1544=>74, // Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition 1544=>74, // Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition
1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition 1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition
1546=>74, // Autre rétractation sur tierce opposition 1546=>74, // Autre rétractation sur tierce opposition
1550=>70, // Suites de jugements 1550=>70, // Suites de jugements
1580=>70, // Jugement prononçant la continuation de l'activité par apurement du passif 1580=>70, // Jugement prononçant la continuation de l'activité par apurement du passif
1600=>63, // Faillite personnelle 1600=>63, // Faillite personnelle
1601=>64, // Interdiction de gérer 1601=>64, // Interdiction de gérer
1602=>70, // Jugement de réhabilitation 1602=>70, // Jugement de réhabilitation
1603=>61, // Liquidation de Biens 1603=>61, // Liquidation de Biens
1604=>80, // Banqueroute 1604=>80, // Banqueroute
1605=>70, // Jugement autorisant la reprise des poursuites individuelles 1605=>70, // Jugement autorisant la reprise des poursuites individuelles
1610=>80, // Faillite personnelle (Loi de 1985) 1610=>80, // Faillite personnelle (Loi de 1985)
1611=>80, // Interdiction de gérer (Loi de 1985) 1611=>80, // Interdiction de gérer (Loi de 1985)
1620=>70, // Jugement condamnant le dirigeant en comblement du passif 1620=>70, // Jugement condamnant le dirigeant en comblement du passif
1650=>80, // Rétablissement Personnel 1650=>80, // Rétablissement Personnel
1700=>70, // Décision soumise à publicité 1700=>70, // Décision soumise à publicité
1900=>80, // Interdiction temporaire d'exercice de la profession de CAC 1900=>80, // Interdiction temporaire d'exercice de la profession de CAC
1901=>80, // Radiation de la liste des CAC 1901=>80, // Radiation de la liste des CAC
1999=>70, // Autre procédure collective 1999=>70, // Autre procédure collective
// MMD // MMD
2000=>40, // Mention d'office 2000=>40, // Mention d'office
2100=>39, // Chg.Capital/Cess.apport de parts 2100=>39, // Chg.Capital/Cess.apport de parts
2101=>39, // Chg.Capital/Cess.apport de parts 2101=>39, // Chg.Capital/Cess.apport de parts
2102=>39, // Chg.Capital/Cess.apport de parts 2102=>39, // Chg.Capital/Cess.apport de parts
2200=>40, // Cessation d'activité 2200=>40, // Cessation d'activité
2201=>40, // Cessation d'activité temporaire 2201=>40, // Cessation d'activité temporaire
2202=>41, // Dissolution 2202=>41, // Dissolution
2203=>41, // Dissolution de la société 2203=>41, // Dissolution de la société
2204=>41, // Cessation d'activité avec dissolution 2204=>41, // Cessation d'activité avec dissolution
2205=>40, // Fermeture du fonds 2205=>40, // Fermeture du fonds
2206=>39, // Mise en sommeil de la société 2206=>39, // Mise en sommeil de la société
2207=>39, // Suppression d'une branche d'activité 2207=>39, // Suppression d'une branche d'activité
2208=>39, // Suppression de l'établissement principal 2208=>39, // Suppression de l'établissement principal
2209=>39, // Vente du fonds 2209=>39, // Vente du fonds
2210=>39, // Déclaration de dissolution par l'associé unique. 2210=>39, // Déclaration de dissolution par l'associé unique.
2211=>39, // Clôture de la liquidation 2211=>39, // Clôture de la liquidation
2212=>39, // Liquidation amiable 2212=>39, // Liquidation amiable
2300=>39, // Changement d'Adresse 2300=>39, // Changement d'Adresse
2301=>39, // Modification de l'adresse du siège 2301=>39, // Modification de l'adresse du siège
2302=>39, // Modification de l'enseigne 2302=>39, // Modification de l'enseigne
2303=>39, // Modification de la date de clôture de l'exercice 2303=>39, // Modification de la date de clôture de l'exercice
2304=>39, // Modification de la date de début d'activité 2304=>39, // Modification de la date de début d'activité
2305=>39, // Modification de la dénomination 2305=>39, // Modification de la dénomination
2306=>39, // Modification de la durée de la société 2306=>39, // Modification de la durée de la société
2307=>39, // Modification de la forme juridique 2307=>39, // Modification de la forme juridique
2308=>39, // Modification du nom 2308=>39, // Modification du nom
2309=>39, // Modification du nom commercial 2309=>39, // Modification du nom commercial
2310=>39, // Modification du pseudonyme 2310=>39, // Modification du pseudonyme
2311=>39, // Modification sur l'exploitation 2311=>39, // Modification sur l'exploitation
2312=>39, // Modification(s) diverse(s) 2312=>39, // Modification(s) diverse(s)
2313=>39, // Modification de l'activité 2313=>39, // Modification de l'activité
2314=>39, // Poursuite de l'activité 2314=>39, // Poursuite de l'activité
2315=>39, // Modification de l'administration 2315=>39, // Modification de l'administration
2316=>39, // Mise en activité de la société 2316=>39, // Mise en activité de la société
2317=>39, // Modification du sigle 2317=>39, // Modification du sigle
2318=>39, // Modifications diverses 2318=>39, // Modifications diverses
2319=>39, // Poursuite de l'activité malgré la perte de plus de... 2319=>39, // Poursuite de l'activité malgré la perte de plus de...
2320=>39, // Reconsitution de l'actif net 2320=>39, // Reconsitution de l'actif net
2321=>39, // Reconsitution de la moitié de l'actif net 2321=>39, // Reconsitution de la moitié de l'actif net
2350=>39, // Déclaration des associés (loi du 1er février 2005) 2350=>39, // Déclaration des associés (loi du 1er février 2005)
2401=>39, // Changement de régime matrimonial 2401=>39, // Changement de régime matrimonial
2402=>39, // Changement de régime matrimonial (divorce) 2402=>39, // Changement de régime matrimonial (divorce)
2403=>39, // Changement de régime matrimonial (mariage) 2403=>39, // Changement de régime matrimonial (mariage)
2404=>39, // Changement de régime matrimonial (veuvage) 2404=>39, // Changement de régime matrimonial (veuvage)
2405=>39, // Changement de régime matrimonial (contrat de maria... 2405=>39, // Changement de régime matrimonial (contrat de maria...
2406=>39, // Reprise du fonds par le conjoint 2406=>39, // Reprise du fonds par le conjoint
2407=>39, // Mention du conjoint collaborateur 2407=>39, // Mention du conjoint collaborateur
2408=>39, // Radiation du conjoint collaborateur 2408=>39, // Radiation du conjoint collaborateur
2500=>30, // Confirmation établissement principal ou secondaire 2500=>30, // Confirmation établissement principal ou secondaire
2510=>39, // L'établissement secondaire devient principal 2510=>39, // L'établissement secondaire devient principal
2520=>39, // Extension de l'établissement principal 2520=>39, // Extension de l'établissement principal
2600=>39, // Décès 2600=>39, // Décès
2610=>39, // Décision de l'unique actionnaire 2610=>39, // Décision de l'unique actionnaire
2620=>39, // Transmission universelle du patrimoine 2620=>39, // Transmission universelle du patrimoine
2630=>39, // Donation/Partage 2630=>39, // Donation/Partage
2635=>39, // Cession de parts 2635=>39, // Cession de parts
2639=>39, // Nantissement de parts sociales 2639=>39, // Nantissement de parts sociales
2640=>39, // Changement de domicile personnel 2640=>39, // Changement de domicile personnel
2650=>39, // Changement de nationalité 2650=>39, // Changement de nationalité
2660=>39, // Réalisation de l'apport partiel d'actif 2660=>39, // Réalisation de l'apport partiel d'actif
2661=>39, // Apport partiel 2661=>39, // Apport partiel
2700=>39, // Fusion/Absorption (entitée absorbante) 2700=>39, // Fusion/Absorption (entitée absorbante)
2701=>39, // Fusion/Absorption (Entitée absorbante. Entité abso... 2701=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2702=>39, // Fusion/Absorption (Entitée absorbante. Entité abso... 2702=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2703=>39, // Fusion/Absorption (Entitée absorbante. Entité abso... 2703=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2710=>39, // Projet de fusion (entitée absorbante) 2710=>39, // Projet de fusion (entitée absorbante)
2720=>39, // Fusion/Absorption (entitée absorbée) 2720=>39, // Fusion/Absorption (entitée absorbée)
2721=>39, // Fusion/Absorption (entitée absorbée non identifiée... 2721=>39, // Fusion/Absorption (entitée absorbée non identifiée...
2725=>39, // Fusion/Absorption 2725=>39, // Fusion/Absorption
2726=>39, // Projet de Fusion/Absorption 2726=>39, // Projet de Fusion/Absorption
2730=>39, // Projet de fusion (entitée absorbée) 2730=>39, // Projet de fusion (entitée absorbée)
2740=>39, // Scission 2740=>39, // Scission
2750=>39, // Société participation 2750=>39, // Société participation
2800=>37, // Location gérance reçue 2800=>37, // Location gérance reçue
2840=>38, // Location/Gérance 2840=>38, // Location/Gérance
2850=>38, // Location gérance donnée : Précédent propriétaire e... 2850=>38, // Location gérance donnée : Précédent propriétaire e...
2851=>38, // Location gérance donnée : Précédent propriétaire 2851=>38, // Location gérance donnée : Précédent propriétaire
2860=>38, // Location gérance donnée : Précédent exploitant 2860=>38, // Location gérance donnée : Précédent exploitant
2870=>38, // Location gérance donnée 2870=>38, // Location gérance donnée
2875=>38, // Gérance/Mandat 2875=>38, // Gérance/Mandat
2880=>38, // Renouvellement de location gérance 2880=>38, // Renouvellement de location gérance
2881=>38, // Changement de location gérance 2881=>38, // Changement de location gérance
2885=>42, // Fin de location gérance 2885=>42, // Fin de location gérance
2890=>38, // Location gérance relative à une branche 2890=>38, // Location gérance relative à une branche
2891=>39, // Location gérance relative à un établissement 2891=>39, // Location gérance relative à un établissement
2892=>39, // Location gérance relative à un fond 2892=>39, // Location gérance relative à un fond
2900=>32, // Transfert d'établissement 2900=>32, // Transfert d'établissement
2901=>32, // Transfert de siège 2901=>32, // Transfert de siège
2902=>32, // Transfert du fonds 2902=>32, // Transfert du fonds
2903=>32, // Projet de transfert du siège 2903=>32, // Projet de transfert du siège
2904=>32, // Transfert du siège à l'étranger 2904=>32, // Transfert du siège à l'étranger
2950=>32, // Création de fonds 2950=>32, // Création de fonds
2980=>32, // Transfert entre tribunaux 2980=>32, // Transfert entre tribunaux
// DEPOTS DES COMPTES // DEPOTS DES COMPTES
3100=>91, 3100=>91,
@ -271,94 +271,94 @@ $tabEven2SO=array( // PROCOL
3300=>91, 3300=>91,
3999=>91, 3999=>91,
// CREATIONS // CREATIONS
4000=>10, // Création d'entreprise 4000=>10, // Création d'entreprise
4050=>10, // Création d'entreprise sans activité 4050=>10, // Création d'entreprise sans activité
4100=>10, // Création d'entreprise sans établissement 4100=>10, // Création d'entreprise sans établissement
4200=>17, // Création d'établissement 4200=>17, // Création d'établissement
4250=>17, // Création suite à transfert 4250=>17, // Création suite à transfert
4300=>17, // Création suite à reprise d'activité 4300=>17, // Création suite à reprise d'activité
4350=>10, // Création suite à fin de location-gérance 4350=>10, // Création suite à fin de location-gérance
4355=>10, // Création suite à prise en location-gérance 4355=>10, // Création suite à prise en location-gérance
4360=>10, // Reprise d'activité par suite de la résolution de v 4360=>10, // Reprise d'activité par suite de la résolution de v
4400=>10, // Création suite à changement de FJ 4400=>10, // Création suite à changement de FJ
4410=>10, // Création suite à héritage ou donation 4410=>10, // Création suite à héritage ou donation
4450=>10, // Création suite à reprise par le conjoint 4450=>10, // Création suite à reprise par le conjoint
4500=>17, // Fonds acquis dans le cadre d'une PC 4500=>17, // Fonds acquis dans le cadre d'une PC
4501=>17, // Fonds acquis par achat 4501=>17, // Fonds acquis par achat
4502=>17, // Fonds acquis par apport 4502=>17, // Fonds acquis par apport
4600=>10, // Immatriculation d'une société de droit européen 4600=>10, // Immatriculation d'une société de droit européen
4999=>10, // Création 4999=>10, // Création
// ventes !!! // ventes !!!
5500=>20, // Entreprise réalisant la vente 5500=>20, // Entreprise réalisant la vente
5501=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5501=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5502=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5503=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>20, // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00 5510=>20, // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00 5600=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5650=>20, 5650=>20,
5700=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00 5700=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5999=>20, 5999=>20,
// RADIATIONS // RADIATIONS
6000=>40, //Radiation pour cause de clôture de la liquidation (amiable/simplifié/général) 6000=>40, //Radiation pour cause de clôture de la liquidation (amiable/simplifié/général)
6001=>40, //Radiation pour cause de clôture de la liquidation amiable 6001=>40, //Radiation pour cause de clôture de la liquidation amiable
6002=>40, //Radiation pour cause de clôture de la liquidation judiciaire pour IA 6002=>40, //Radiation pour cause de clôture de la liquidation judiciaire pour IA
6003=>40, //Radiation pour cause de clôture de la liquidation judiciaire 6003=>40, //Radiation pour cause de clôture de la liquidation judiciaire
6004=>40, //Radiation pour cause de clôture de la liquidation judiciaire simplifié 6004=>40, //Radiation pour cause de clôture de la liquidation judiciaire simplifié
6005=>40, //Radiation pour clôture du plan de cession 6005=>40, //Radiation pour clôture du plan de cession
6100=>40, //Radiation pour cause de décès 6100=>40, //Radiation pour cause de décès
6200=>40, //Radiation pour cause de mention d'office 6200=>40, //Radiation pour cause de mention d'office
6201=>40, //Radiation pour cause de cessation d'activité 6201=>40, //Radiation pour cause de cessation d'activité
6300=>40, //Radiation pour cause de non-exercice 6300=>40, //Radiation pour cause de non-exercice
6400=>40, //Radiation pour cause de transfert 6400=>40, //Radiation pour cause de transfert
6500=>40, //Radiation pour cause de jugement de clôture du plan de cession 6500=>40, //Radiation pour cause de jugement de clôture du plan de cession
6600=>40, //Radiation d'un établissement 6600=>40, //Radiation d'un établissement
6700=>40, //Radiation 6700=>40, //Radiation
); );
$tabEven2RO=array( 2305=>'a', $tabEven2RO=array( 2305=>'a',
2308=>'a', // Chg de dénomination(RS,Ens,Sigle) 2308=>'a', // Chg de dénomination(RS,Ens,Sigle)
2309=>'a', // Modification du nom commercial BODB mmd 12 0000-00-00 00:00:00 2309=>'a', // Modification du nom commercial BODB mmd 12 0000-00-00 00:00:00
2310=>'a', // Modification du pseudonyme 2310=>'a', // Modification du pseudonyme
2300=>'b', // Changement d'Adresse 2300=>'b', // Changement d'Adresse
2301=>'b', 2301=>'b',
2900=>'b', // Transfert d'établissement 2900=>'b', // Transfert d'établissement
2901=>'b', // Transfert de siège 2901=>'b', // Transfert de siège
2902=>'b', // Transfert du fonds 2902=>'b', // Transfert du fonds
2903=>'b', // Projet de transfert du siège 2903=>'b', // Projet de transfert du siège
2904=>'b', // Transfert du siège à l'étranger 2904=>'b', // Transfert du siège à l'étranger
2950=>'b', // Création de fonds 2950=>'b', // Création de fonds
2980=>'b', // Transfert entre tribunaux 2980=>'b', // Transfert entre tribunaux
2101=>'c', // Chg.Capital/Cess.apport de parts 2101=>'c', // Chg.Capital/Cess.apport de parts
2315=>'d', // Changement de Dirigeants 2315=>'d', // Changement de Dirigeants
2313=>'e', // Mod Act/obj.soc./Cess./Mise somm. 2313=>'e', // Mod Act/obj.soc./Cess./Mise somm.
2307=>'f', // Changement de Forme juridique 2307=>'f', // Changement de Forme juridique
2318=>'g', // Opération sur Participations 2318=>'g', // Opération sur Participations
2725=>'h', // Fusion Absorption 2725=>'h', // Fusion Absorption
2318=>'i', // Mod.garantie financière/Caution 2318=>'i', // Mod.garantie financière/Caution
2401=>'j', // Changement de régime matrimonial 2401=>'j', // Changement de régime matrimonial
2319=>'k', // Non dissolution anticipée 2319=>'k', // Non dissolution anticipée
2318=>'l', // Non dissolution anticipée 2318=>'l', // Non dissolution anticipée
2318=>'m', // Dissolution anticipée (ou non) 2318=>'m', // Dissolution anticipée (ou non)
2303=>'n', // Mod.date cloture exercice social 2303=>'n', // Mod.date cloture exercice social
5500=>'V', // Entreprise réalisant la vente 5500=>'V', // Entreprise réalisant la vente
5501=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5501=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5502=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00 5503=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00 5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>'V', 5600=>'V',
5650=>'V', 5650=>'V',
5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00 5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
1411=>'F', // Arrêt du plan de cession 1411=>'F', // Arrêt du plan de cession
1408=>'G', // Modification du plan de cession 1408=>'G', // Modification du plan de cession
1409=>'N', // Modification du plan de continuation 1409=>'N', // Modification du plan de continuation
1414=>'M', // Arrêt du plan de redressement 1414=>'M', // Arrêt du plan de redressement
); );
function exporte($txt, $lon, $sep='') { function exporte($txt, $lon, $sep='') {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -367,22 +367,22 @@ function exporte($txt, $lon, $sep='') {
/** /**
* @todo * @todo
* 1. Numéroter toutes les procédures OK * 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc * 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire * 101 Commentaire
* 102 Activite déclaré au Bodacc * 102 Activite déclaré au Bodacc
* 103 texte rectificatif * 103 texte rectificatif
* 104 Annonce complète au format texte * 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC * 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente * 106 Libellé du Périmètre de la vente
* 3. * 3.
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ? Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255 Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9 Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1 Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -398,10 +398,10 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000. Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000.
";/*Options : ";/*Options :
-d Clients en Diffusion Bodacc (par défaut) -d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc -s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script -e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas incrémenter les numéros de tour (pour les tests). -i Ne pas incrémenter les numéros de tour (pour les tests).
";*/ ";*/
$tabFichLigneCmd=array(); $tabFichLigneCmd=array();
@ -443,7 +443,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier); sort($tabFichier);
} else $tabFichier=$tabFichLigneCmd; } else $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Kronenbourg Sofid à traiter !".EOL); if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Kronenbourg Sofid à traiter !".EOL);
$message=''; $message='';
@ -459,15 +459,15 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$dateJ=date('Ymd'); $dateJ=date('Ymd');
$ecrireLignePre=false; $ecrireLignePre=false;
/** Codes/Variables à gérer **/ /** Codes/Variables à gérer **/
$depPar=0; $depPar=0;
$SOSTAE=''; $SOSTAE='';
foreach ($tabLignes as $i=>$ligne) { foreach ($tabLignes as $i=>$ligne) {
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$ligne001++; $ligne001++;
break; break;
case 100: // Structure Bodacc case 100: // Structure Bodacc
@ -479,21 +479,21 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
if($j%16==0) { if($j%16==0) {
// Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$typEnr=9; $typEnr=9;
if ($j==0) $ligneTXT =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ? if ($j==0) $ligneTXT =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
else $ligneTXT.=EOL.initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ? else $ligneTXT.=EOL.initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$ligneTXT.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ? $ligneTXT.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$ligneTXT.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ? $ligneTXT.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$ligneTXT.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ? $ligneTXT.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$ligneTXT.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren $ligneTXT.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$ligneTXT.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic $ligneTXT.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$ligneTXT.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ $ligneTXT.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$ligneTXT.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence $ligneTXT.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence $ligneTXT.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce $ligneTXT.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$ligneTXT.=exporte('TXT', 3); // Structure identité $ligneTXT.=exporte('TXT', 3); // Structure identité
$ligneTXT.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle $ligneTXT.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$ligneTXT.=exporte($ref, 30); // Réf. Client $ligneTXT.=exporte($ref, 30); // Réf. Client
$ligneTXT.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié $ligneTXT.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$ligneTXT.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C $ligneTXT.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$ligneTXT.=exporte($datePar, 8); // Date de parution $ligneTXT.=exporte($datePar, 8); // Date de parution
$ligneTXT.=initstr(0, 5, '0', ALIGN_RIGHT); // Page $ligneTXT.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
@ -513,55 +513,55 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
break; break;
} }
$nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce $nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$tabIdentite=@$iInsee->getIdentiteEntreprise($siren); $tabIdentite=@$iInsee->getIdentiteEntreprise($siren);
$nic = trim(substr($ligne, 22, 5 ))*1; // Nic $nic = trim(substr($ligne, 22, 5 ))*1; // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= substr($ligne, 31 , 8 ); // Date de parution du Bodacc Format AAAAMMJJ $datePar= substr($ligne, 31 , 8 ); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$numRC = trim(substr($ligne,95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne,95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$rs = trim(substr($ligne,104, 150 )); // Raison sociale de l'entreprise $rs = trim(substr($ligne,104, 150 )); // Raison sociale de l'entreprise
$nomCom = trim(substr($ligne,254, 100 )); // Nom Commerciale $nomCom = trim(substr($ligne,254, 100 )); // Nom Commerciale
$ens = trim(substr($ligne,354, 100 )); // Enseigne $ens = trim(substr($ligne,354, 100 )); // Enseigne
$fj = trim(substr($ligne,484, 4 ))*1; // FJ $fj = trim(substr($ligne,484, 4 ))*1; // FJ
$fjLib = trim(substr($ligne,488, 90 )); // FJ libellé $fjLib = trim(substr($ligne,488, 90 )); // FJ libellé
$capMnt = trim(substr($ligne,578, 15 )); // Capital $capMnt = trim(substr($ligne,578, 15 )); // Capital
$capDev = trim(substr($ligne,593, 3 )); // Capital Devise $capDev = trim(substr($ligne,593, 3 )); // Capital Devise
$adrNum = trim(substr($ligne,596, 4 )); // $adrNum = trim(substr($ligne,596, 4 )); //
$adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé $adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé $adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,606, 50 )); // FJ libellé $adrLib = trim(substr($ligne,606, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé $adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé $adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé $adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,751, 45 )); // FJ libellé $adrVil = trim(substr($ligne,751, 45 )); // FJ libellé
if ($adrCP==0) { if ($adrCP==0) {
$adrNum = trim(substr($ligne,796, 4 )); // FJ libellé $adrNum = trim(substr($ligne,796, 4 )); // FJ libellé
$adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé $adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé $adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,806, 50 )); // FJ libellé $adrLib = trim(substr($ligne,806, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé $adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé $adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé $adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,951, 45 )); // FJ libellé $adrVil = trim(substr($ligne,951, 45 )); // FJ libellé
} }
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
@ -573,7 +573,7 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
else else
$txtEven.=''; $txtEven.='';
$txtEven=substr($txtEven,0,strlen($txtEven)-2); $txtEven=substr($txtEven,0,strlen($txtEven)-2);
$dateCess= substr($ligne, 1136, 8 ); // Date de cessat° des paiements $dateCess= substr($ligne, 1136, 8 ); // Date de cessat° des paiements
$dateJuge= substr($ligne, 1144, 8 ); // Date de jugement $dateJuge= substr($ligne, 1144, 8 ); // Date de jugement
$dateEffet=substr($ligne, 1161, 8 ); // Date d'effet $dateEffet=substr($ligne, 1161, 8 ); // Date d'effet
if ($dateEffet*1==0) $dateEffet=$dateJuge; if ($dateEffet*1==0) $dateEffet=$dateJuge;
@ -608,23 +608,23 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$adrVil = $tabIdentite['Ville']; $adrVil = $tabIdentite['Ville'];
} }
$typEnr=1; $typEnr=1;
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ? $DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ? $DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ? $DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ? $DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren $DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic $DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ $DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence $DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence $DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce $DBILS2.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ID', 3); // Structure identité $DBILS2.=exporte('ID', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle $DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client $DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) //($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié $DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte('', 1); // D=Siren douteux $DBILS2.=exporte('', 1); // D=Siren douteux
$DBILS2.=initstr('', 9); // Témoin de MAJ $DBILS2.=initstr('', 9); // Témoin de MAJ
$DBILS2.=exporte($rs, 60); // $DBILS2.=exporte($rs, 60); //
$DBILS2.=exporte(substr($rs,60),30); // $DBILS2.=exporte(substr($rs,60),30); //
$DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide ! $DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide !
@ -635,8 +635,8 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte($adrVil, 32); // $DBILS2.=exporte($adrVil, 32); //
$DBILS2.=initstr($adrCP, 5, '0', ALIGN_RIGHT); // $DBILS2.=initstr($adrCP, 5, '0', ALIGN_RIGHT); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrL2.' '.$adrL3), 30); // $DBILS2.=exporte(preg_replace('/ +/',' ',$adrL2.' '.$adrL3), 30); //
$DBILS2.=exporte($tabIdentite['DateCreaEn'], 8); // Date créa ENT $DBILS2.=exporte($tabIdentite['DateCreaEn'], 8); // Date créa ENT
$DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement $DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement
$DBILS2.=initstr($tabIdentite['FJ'], 4, 0, ALIGN_RIGHT); $DBILS2.=initstr($tabIdentite['FJ'], 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOTSEX, 1); // Sexe M/F $DBILS2.=exporte($SOTSEX, 1); // Sexe M/F
@ -663,17 +663,17 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte('', 6); $DBILS2.=exporte('', 6);
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2 $DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2
$DBILS2.=exporte('', 20); $DBILS2.=exporte('', 20);
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège $DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité $DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab $DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité $DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte('', 39); // Filler C $DBILS2.=exporte('', 39); // Filler C
$ligneID=$DBILS2; $ligneID=$DBILS2;
$ligne100++; $ligne100++;
$cor=''; $cor='';
if ($typeAnn<>'I') if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -681,7 +681,7 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$SOSEQ++; $SOSEQ++;
@ -689,26 +689,26 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
elseif ($bodacc=='B') $SOJAL='200'; elseif ($bodacc=='B') $SOJAL='200';
elseif ($bodacc=='C') $SOJAL='300'; elseif ($bodacc=='C') $SOJAL='300';
else $SOJAL='999'; else $SOJAL='999';
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ? $DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ? $DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ? $DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ? $DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren $DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic $DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ $DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence $DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence $DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=exporte('9', 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce $DBILS2.=exporte('9', 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ANN', 3); // Structure identité $DBILS2.=exporte('ANN', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle $DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client $DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) //($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié $DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C $DBILS2.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$DBILS2.=exporte($datePar, 8); // Date de parution $DBILS2.=exporte($datePar, 8); // Date de parution
$DBILS2.=initstr(0, 5, '0', ALIGN_RIGHT); // Page $DBILS2.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
if ($codeEve=='') { if ($codeEve=='') {
$message.="Code évènement non géré : '$codeEven'".EOL; $message.="Code évènement non géré : '$codeEven'".EOL;
sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID (ERREUR)", $message); sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID (ERREUR)", $message);
die($message); die($message);
} }
@ -721,20 +721,20 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte($numPar, 3); // $DBILS2.=exporte($numPar, 3); //
$DBILS2.=initstr($dateJuge, 8, '0', ALIGN_RIGHT); // Date de jugement $DBILS2.=initstr($dateJuge, 8, '0', ALIGN_RIGHT); // Date de jugement
$DBILS2.=initstr($dateEffet, 8, '0', ALIGN_RIGHT); // Date d'effet $DBILS2.=initstr($dateEffet, 8, '0', ALIGN_RIGHT); // Date d'effet
$DBILS2.=initstr($dateCess, 8, '0', ALIGN_RIGHT); // Date de cessat° des paiements $DBILS2.=initstr($dateCess, 8, '0', ALIGN_RIGHT); // Date de cessat° des paiements
$DBILS2.=exporte($vteDev, 2); // Devise de la vente $DBILS2.=exporte($vteDev, 2); // Devise de la vente
$DBILS2.=initstr($vteMnt, 11, '0', ALIGN_RIGHT); // Montant de la vente $DBILS2.=initstr($vteMnt, 11, '0', ALIGN_RIGHT); // Montant de la vente
$DBILS2.=exporte('', 33); // Particularité $DBILS2.=exporte('', 33); // Particularité
$DBILS2.=exporte('', 4); // Code rubrique du Bodacc A1xx $DBILS2.=exporte('', 4); // Code rubrique du Bodacc A1xx
$DBILS2.=exporte('', 6); // Code lib injecté $DBILS2.=exporte('', 6); // Code lib injecté
$tabJuge=$iRncs->getIntervenants($siren); $tabJuge=$iRncs->getIntervenants($siren);
foreach ($tabJuge as $iDepot=>$depot) { foreach ($tabJuge as $iDepot=>$depot) {
$DBILS2.=exporte('', 5); // Mot clé Nom $DBILS2.=exporte('', 5); // Mot clé Nom
$DBILS2.=exporte('', 1); // Type officier ministeriel $DBILS2.=exporte('', 1); // Type officier ministeriel
$DBILS2.=exporte($depot['admcode'], 7); // Code Bil $DBILS2.=exporte($depot['admcode'], 7); // Code Bil
$DBILS2.=exporte($depot['admnom'], 30); // Nom syndic $DBILS2.=exporte($depot['admnom'], 30); // Nom syndic
$DBILS2.=exporte($depot['admadrNum'], 4); // N° rue $DBILS2.=exporte($depot['admadrNum'], 4); // N° rue
$DBILS2.=exporte($depot['admadrInd'], 1); // Bis $DBILS2.=exporte($depot['admadrInd'], 1); // Bis
$DBILS2.=exporte('', 3); // Type Voie $DBILS2.=exporte('', 3); // Type Voie
$DBILS2.=exporte($depot['admadrVoie'], 33); // Lib Voie $DBILS2.=exporte($depot['admadrVoie'], 33); // Lib Voie
@ -753,7 +753,7 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$ligne104++; $ligne104++;
$txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce $txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
if ($ecrireLignePre) { if ($ecrireLignePre) {
@ -766,21 +766,21 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
// die('FIN PROVISOIRE !'.EOL); // die('FIN PROVISOIRE !'.EOL);
if (bzip2(DIR_SOFID_IN.$nomFichierIn, DIR_SOFID_IN.$nomFichierIn)) { if (bzip2(DIR_SOFID_IN.$nomFichierIn, DIR_SOFID_IN.$nomFichierIn)) {
unlink(DIR_SOFID_IN.$nomFichierIn); unlink(DIR_SOFID_IN.$nomFichierIn);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichierIn vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichierIn vient d'être historisé.".EOL;
} }
if ($ligne100==0) { if ($ligne100==0) {
// Le fichier est vide, on le supprime // Le fichier est vide, on le supprime
unlink(DIR_SOFID_OUT.$nomFichierOut); unlink(DIR_SOFID_OUT.$nomFichierOut);
} else { } else {
// On génère un AR de fin de transmission // On génère un AR de fin de transmission
file_put_contents(DIR_SOFID_OUT.str_replace('.fic','.top',$nomFichierOut),'OK'); file_put_contents(DIR_SOFID_OUT.str_replace('.fic','.top',$nomFichierOut),'OK');
} }
} }
sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID", "Conversion terminée. Penser à déposer le fichier !!!"); sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID", "Conversion terminée. Penser à déposer le fichier !!!");
echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL; echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL;
die(); die();
?> ?>

View File

@ -16,13 +16,13 @@ $iBodacc=new MBodacc();
$iInsee=new MInsee(); $iInsee=new MInsee();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Verdoso. Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Verdoso.
";/*Options : ";/*Options :
-d Clients en Diffusion Bodacc (par défaut) -d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc -s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script -e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas incrémenter les numéros de tour (pour les tests). -i Ne pas incrémenter les numéros de tour (pour les tests).
";*/ ";*/
$tabFichLigneCmd=$tabFichier=array(); $tabFichLigneCmd=$tabFichier=array();
@ -51,7 +51,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier); sort($tabFichier);
} else $tabFichier=$tabFichLigneCmd; } else $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Verdoso à traiter !".EOL); if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) die(date ('Y/m/d - H:i:s') . " - Aucun fichier Verdoso à traiter !".EOL);
//print_r($tabFichier); //print_r($tabFichier);
//die(); //die();
@ -75,28 +75,28 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
/* /*
echo "Fichier Hebdomadaire: $nomFichierHebdo".EOL; echo "Fichier Hebdomadaire: $nomFichierHebdo".EOL;
echo "Il y a $nbLignesDeja ligne(s) dans le fichier à l'ouverture".EOL; echo "Il y a $nbLignesDeja ligne(s) dans le fichier à l'ouverture".EOL;
*/ */
foreach ($tabLignes as $i=>$ligne) { foreach ($tabLignes as $i=>$ligne) {
$ecrireLignePre=false; $ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$idannPre ='Identifiant Annonce'; $idannPre ='Identifiant Annonce';
$siren ='Siren'; $siren ='Siren';
$nic ='Nic'; $nic ='Nic';
$ref ='Référence'; $ref ='Référence';
$numPar ='Parution'; $numPar ='Parution';
$bodacc ='Bodacc'; $bodacc ='Bodacc';
$datePar='Date parution'; $datePar='Date parution';
$numAnn ='Numéro Annonce'; $numAnn ='Numéro Annonce';
$cor ='Type Annonce'; $cor ='Type Annonce';
$libTri ='Tribunal'; $libTri ='Tribunal';
$numRC ='Numéro RCS'; $numRC ='Numéro RCS';
$raisonS='Raison sociale'; $raisonS='Raison sociale';
$catEven='Chapitre'; $catEven='Chapitre';
$txtEven='Evènement(s)'; $txtEven='Evènement(s)';
$txtAnn ='Texte Annonce'; $txtAnn ='Texte Annonce';
$inter ='Acheteur/Vendeur'; $inter ='Acheteur/Vendeur';
$sirenV ='Siren Vendeur'; $sirenV ='Siren Vendeur';
@ -110,17 +110,17 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition='Opposition'; $opposition='Opposition';
$naf='NAF'; $naf='NAF';
$nafLib='Libellé NAF'; $nafLib='Libellé NAF';
$fj='Forme Jur.'; $fj='Forme Jur.';
$fjLib='Libellé Forme Juridique'; $fjLib='Libellé Forme Juridique';
$effectif='Effectif'; $effectif='Effectif';
$typeEf="Type d'effectif"; $typeEf="Type d'effectif";
$dateBilan='Date Bilan'; $dateBilan='Date Bilan';
$ca="Chiffre d'affaire en ME"; $ca="Chiffre d'affaire en ME";
$typeCa='Type CA'; $typeCa='Type CA';
$capital='Capital'; $capital='Capital';
$dept='Dépt. Siège'; $dept='Dépt. Siège';
$annee='Année de Création'; $annee='Année de Création';
$ligneOut="$siren;$datePar;$raisonS;$txtEven;$naf;$nafLib;$fj;$fjLib;$effectif;$typeEf;$dateBilan;$ca;$typeCa;$capital;$dept;$annee;$txtAnn"; $ligneOut="$siren;$datePar;$raisonS;$txtEven;$naf;$nafLib;$fj;$fjLib;$effectif;$typeEf;$dateBilan;$ca;$typeCa;$capital;$dept;$annee;$txtAnn";
if ($nbLignesDeja<2) { if ($nbLignesDeja<2) {
@ -130,7 +130,7 @@ foreach ($tabLignes as $i=>$ligne) {
break; break;
case 100: // Structure Bodacc case 100: // Structure Bodacc
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */ /*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
$ligne100++; $ligne100++;
$idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D $idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D
if ($idannPre<>$idann) { if ($idannPre<>$idann) {
@ -140,7 +140,7 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition=trim($matches[1]); $opposition=trim($matches[1]);
/** Rechercher du montant de la vente /** Rechercher du montant de la vente
**/ **/
if (preg_match("/(?:prix|montant|indémni|indemni|évalu|evalu|éstim|estim)\D{1,15}([0-9\.,\?\s ]*)(?:eur|euro|euros)/i", $txtAnn, $matches)) { if (preg_match("/(?:prix|montant|indémni|indemni|évalu|evalu|éstim|estim)\D{1,15}([0-9\.,\?\s ]*)(?:eur|euro|euros)/i", $txtAnn, $matches)) {
$montantVente=''.trim($matches[1]); $montantVente=''.trim($matches[1]);
echo "Montant de la vente AV: $montantVente\n"; echo "Montant de la vente AV: $montantVente\n";
if (substr($montantVente,-3,1)==',') { if (substr($montantVente,-3,1)==',') {
@ -169,7 +169,7 @@ foreach ($tabLignes as $i=>$ligne) {
} }
if ($catEven=='procol') { if ($catEven=='procol') {
$adresseFond=$adresse; $adresseFond=$adresse;
if (preg_match('/Complément de jugement(?: )\:(.*)$/Uis', $txtAnn, $matches)) if (preg_match('/Complément de jugement(?: )\:(.*)$/Uis', $txtAnn, $matches))
$opposition=trim($matches[1]); $opposition=trim($matches[1]);
else else
$opposition=''; $opposition='';
@ -188,9 +188,9 @@ foreach ($tabLignes as $i=>$ligne) {
else $sirenAffA=''; else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n"; $message.="Siren : $sirenAffV\r\n";
$message.="Raison Sociale : $raisonSV\r\n"; $message.="Raison Sociale : $raisonSV\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. "; $message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'') if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n"; $message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri\r\n"; $message.="Tribunal : $libTri\r\n";
$message.="NAF : $nafLib ($naf)\r\n"; $message.="NAF : $nafLib ($naf)\r\n";
@ -199,16 +199,16 @@ foreach ($tabLignes as $i=>$ligne) {
$message.="Dernier Bilan : $dateBilan\r\n"; $message.="Dernier Bilan : $dateBilan\r\n";
$message.="Chiffre d'Affaire $typeCa: $ca ME\r\n"; $message.="Chiffre d'Affaire $typeCa: $ca ME\r\n";
$message.="Capital : $capital\r\n"; $message.="Capital : $capital\r\n";
$message.="Département : $dept\r\n"; $message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n"; $message.="Année de création : $annee\r\n";
/* /*
[dir1Titre] => Gérant [dir1Titre] => Gérant
[dir1NomPrenom] => TROJMAN Stella [dir1NomPrenom] => TROJMAN Stella
[Activite] => Travaux de revêtement des sols et des murs [Activite] => Travaux de revêtement des sols et des murs
[dir1DateNaiss] => 1941 [dir1DateNaiss] => 1941
@ -235,18 +235,18 @@ foreach ($tabLignes as $i=>$ligne) {
} }
$sirenA=$raisonSA=$sirenV=$raisonSV=$adresseFond=$montantVente=$deviseVente=$dateVente=''; $sirenA=$raisonSA=$sirenV=$raisonSV=$adresseFond=$montantVente=$deviseVente=$dateVente='';
} }
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic $nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/m/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $datePar= WDate::dateT('Ymd','d/m/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '. $adresse= trim(preg_replace('/ +/',' ',substr($ligne, 596 , 4 ).' '.
substr($ligne, 600 , 1 ).' '. substr($ligne, 600 , 1 ).' '.
substr($ligne, 601 , 5 ).' '. substr($ligne, 601 , 5 ).' '.
@ -262,7 +262,7 @@ foreach ($tabLignes as $i=>$ligne) {
$cor=''; $cor='';
if ($typeAnn<>'I') if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -270,22 +270,22 @@ foreach ($tabLignes as $i=>$ligne) {
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
$inter='Vendeur'; // Par défaut, nous sommes avec un vendeur $inter='Vendeur'; // Par défaut, nous sommes avec un vendeur
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', '; $txtEven.=$iBodacc->getEvenement($codeEven).', ';
@ -331,8 +331,8 @@ foreach ($tabLignes as $i=>$ligne) {
$caBilan=$tabIdentite['bilanFL']; $caBilan=$tabIdentite['bilanFL'];
$dateBilan=str_replace('//','',WDate::dateT('Ymd','d/m/Y',$tabIdentite['bilanDate'])); $dateBilan=str_replace('//','',WDate::dateT('Ymd','d/m/Y',$tabIdentite['bilanDate']));
if ($effBilan>0) { $effectif=$effBilan; $typeEf='Réel'; } if ($effBilan>0) { $effectif=$effBilan; $typeEf='Réel'; }
elseif ($effInsee>0) { $effectif=$effInsee; $typeEf='Estimé'; } elseif ($effInsee>0) { $effectif=$effInsee; $typeEf='Estimé'; }
else { $effectif='N/C'; $typeEf=''; } else { $effectif='N/C'; $typeEf=''; }
$caEstime=0; $caEstime=0;
@ -340,13 +340,13 @@ foreach ($tabLignes as $i=>$ligne) {
$caEstime=$iInsee->getCAnafEffectif($naf, $effInsee); $caEstime=$iInsee->getCAnafEffectif($naf, $effInsee);
if ($caInsee>=5 || $caEstime>=10000000 || $caBilan>=10000000) { if ($caInsee>=5 || $caEstime>=10000000 || $caBilan>=10000000) {
if ($caBilan>0) { $ca=round($caBilan/1000000); $typeCa='Réel'; } if ($caBilan>0) { $ca=round($caBilan/1000000); $typeCa='Réel'; }
elseif ($caInsee==5){ $ca=10; $typeCa='Approchant'; } elseif ($caInsee==5){ $ca=10; $typeCa='Approchant'; }
elseif ($caInsee==6){ $ca=20; $typeCa='Approchant'; } elseif ($caInsee==6){ $ca=20; $typeCa='Approchant'; }
elseif ($caInsee==7){ $ca=50; $typeCa='Approchant'; } elseif ($caInsee==7){ $ca=50; $typeCa='Approchant'; }
elseif ($caInsee==8){ $ca=100; $typeCa='Approchant'; } elseif ($caInsee==8){ $ca=100; $typeCa='Approchant'; }
elseif ($caInsee==9){ $ca=200; $typeCa='Approchant'; } elseif ($caInsee==9){ $ca=200; $typeCa='Approchant'; }
else { $ca=round($caEstime/1000000); $typeCa='Estimé'; } else { $ca=round($caEstime/1000000); $typeCa='Estimé'; }
$ignoreAnnPre=false; $ignoreAnnPre=false;
} else { } else {
// On ignore cette ligne // On ignore cette ligne
@ -372,7 +372,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne104++; $ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break; break;
case 999: // Ligne ignorée case 999: // Ligne ignorée
//$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$txtAnn"; //$ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$txtAnn";
$opposition=preg_replace('/.*Oppositions \:/i','', $txtAnn); $opposition=preg_replace('/.*Oppositions \:/i','', $txtAnn);
// $ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn"; // $ligneOut="$idann;$sirenV;$raisonSV;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$sirenA;$raisonSA;$catEven;$txtEven;$adresseFond;$montantVente;$deviseVente;$dateVente;$opposition;$txtAnn";
@ -384,9 +384,9 @@ foreach ($tabLignes as $i=>$ligne) {
if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')'; if ($sirenA*1>0) $sirenAffA='(Siren : '.implode(' ', str_split($sirenA,3)).')';
else $sirenAffA=''; else $sirenAffA='';
$message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n"; $message.="Siren : $sirenAffV\r\n".'Raison Sociale : '.$raisonSV."\r\n";
$message.="Source : BODACC n°$numPar $bodacc du $datePar. "; $message.="Source : BODACC n°$numPar $bodacc du $datePar. ";
if (trim($dateInsert)<>'') if (trim($dateInsert)<>'')
$message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n"; $message.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n"; $message.="Tribunal : $libTri"."\r\n";
$message.="NAF : $nafLib ($naf)\r\n"; $message.="NAF : $nafLib ($naf)\r\n";
@ -395,8 +395,8 @@ foreach ($tabLignes as $i=>$ligne) {
$message.="Dernier Bilan : $dateBilan\r\n"; $message.="Dernier Bilan : $dateBilan\r\n";
$message.="Chiffre d'Affaire $typeCa: $ca ME\r\n"; $message.="Chiffre d'Affaire $typeCa: $ca ME\r\n";
$message.="Capital : $capital\r\n"; $message.="Capital : $capital\r\n";
$message.="Département : $dept\r\n"; $message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n"; $message.="Année de création : $annee\r\n";
$message.="\r\n"; $message.="\r\n";
if (trim($raisonSA)<>'') { if (trim($raisonSA)<>'') {
@ -413,7 +413,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne999++; $ligne999++;
$ecrireLignePre=true; $ecrireLignePre=true;
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
//if ($ecrireLignePre) //if ($ecrireLignePre)
@ -426,7 +426,7 @@ foreach ($tabLignes as $i=>$ligne) {
if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) { if (bzip2(DIR_RECORDATI_IN.$nomFichier, DIR_RECORDATI_IN.$nomFichier)) {
unlink(DIR_RECORDATI_IN.$nomFichier); unlink(DIR_RECORDATI_IN.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $nomFichier vient d'être historisé.".EOL;
} }
} }
@ -445,24 +445,24 @@ if (date('w')==5) {
SCORES & DECISIONS SCORES & DECISIONS
Service support Service support
1, rue de Clairefontaine - 78120 RAMBOUILLET 1, rue de Clairefontaine - 78120 RAMBOUILLET
tél : 33 (0)1 75 43 80 10 tél : 33 (0)1 75 43 80 10
fax : 33 (0)1 75 43 85 74 fax : 33 (0)1 75 43 85 74
support@scores-decisions.com support@scores-decisions.com
http://www.scores-decisions.com/ http://www.scores-decisions.com/
Scores & Décisions est l'acteur nouvelle génération de l'information et de l'évaluation des entreprises Scores & Décisions est l'acteur nouvelle génération de l'information et de l'évaluation des entreprises
Pensez à l'environnement avant d'imprimer ce message ! Pensez à l'environnement avant d'imprimer ce message !
Save paper - think before you print"; Save paper - think before you print";
$emailEnvoi='vfahmy@verdoso.com,contact@scores-decisions.com'; //$emailEnvoi='vfahmy@verdoso.com,contact@scores-decisions.com';
//$emailEnvoi='ylenaour@scores-decisions.com'; $emailEnvoi='ylenaour@scores-decisions.com';
if ($catEven<>'Chapitre') { if ($catEven<>'Chapitre') {
sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $messageInfo, '', $tabAttached); sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $messageInfo, '', $tabAttached);
//sendMail('infoslegales@scores-decisions.com', 'jean.frederic.lambert@gmail.com', "Surveillance Annonces Legales", $messageInfo, '', $tabAttached); //sendMail('infoslegales@scores-decisions.com', 'jean.frederic.lambert@gmail.com', "Surveillance Annonces Legales", $messageInfo, '', $tabAttached);
} }
} }
echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL; echo date ('Y/m/d - H:i:s')." - Conversion terminée !" . EOL;
die(); die();
?> ?>

114
1.1/old/crontab.txt Normal file
View File

@ -0,0 +1,114 @@
#*/15 * * * * cd /var/www/html/crm; php -f cron.php > /dev/null 2>&1
0 10-22/4 * * 1-6 /var/www/batch/getInfosReg.php >> /var/www/log/getInfosReg.log
0 7 * * * /var/www/batch/getInpi2009.php >> /var/www/log/getInpi2009.log
30 18 * * * /var/www/batch/getInpi2009.php >> /var/www/log/getInpi2009Soir.log
###30 8 * * * /var/www/batch/getInpiDecisions.php >> /var/www/log/getInpiDecisions.log
###30 19 * * * /var/www/batch/getInpiDecisions.php >> /var/www/log/getInpiDecisionsSoir.log
0 5 * * * /var/www/batch/getInseeEven.php >> /var/www/log/getInseeEven.log
0 18 * * * /var/www/batch/getInseeEven.php >> /var/www/log/getInseeEvenSoir.log
0 4 * * * /var/www/batch/consolideEtab.php >> /var/www/log/consolideEtab.log
45 8 * * 2-6 /var/www/batch/getDefaillances.php -i >> /var/www/log/getDefaillances.log
0 9 * * 2-6 /var/www/batch/getAnnoncesTessi.php -i >> /var/www/log/getAnnoncesTessi.log
0 9-17/4 * * 1-6 /var/www/batch/getBodacc.php -s -i -n >> /var/www/log/getBodacc.log
30 9-21/4 * * * /var/www/batch/sirenage.php >> /var/www/log/sirenage.log
30 9 * * * /var/www/batch/getBalo.php >> /var/www/log/getBalo.log
#0 9 * * 1-5 /var/www/batch/getAsso.php -c >> /var/www/log/getAsso.log
#0 8 * * * /var/www/batch/getTelFaxIdentite.php >> /var/www/log/getTelFaxIdentite.log
30 12 * * 1-5 /var/www/batch/getInfosFin.php >> /var/www/log/getInfosFin.log
5 0 * * * /var/www/batch/clients/exportPCL.sh >> /var/www/batch/clients/exportPCL.log
30 0 * * 1-5 reboot -f
0 0 * * * rm -f /var/spool/clientmqueue/*
###40 0 * * 1-5 /etc/init.d/mysqld start
###0 21 * * 0 /root/scripts/netbackup.sh >> /root/scripts/netbackup.log
###30 23 * * 1-5 /home/backup/sql/syncroQuoti.sh >> /home/backup/sql/syncroQuotiSh.log
###30 16 * * 0 /home/backup/sql/syncroHebdo.sh >> /home/backup/sql/syncroHebdoSh.log
###0 16 * * 0 /home/backup/sql/syncroMensuel.sh >> /home/backup/sql/syncroMensuelSh.log
0 21 * * 1-5 /var/www/batch/loadSurveillances.php >> /var/www/log/loadSurveillances.log
40 0 * * 1-5 /var/www/batch/diffusionBodacc.php -s >> /var/www/log/surveillanceBodacc.log
0 2 * * 1-5 /var/www/batch/surveillanceBodaccSite.php -m >> /var/www/log/surveillanceBodaccSite.log
0 5 * * 1-5 /var/www/batch/surveillanceInseeSite.php >> /var/www/log/surveillanceInseeSite.log
30 22 * * * /var/www/batch/consolideTelFaxIdentite.php >> /var/www/log/consolideTelFaxIdentite.log
0 8-22/1 * * * /var/www/batch/getRSS.php >> /var/www/log/getRSS.log
0 2 * * * /var/www/batch/calculRatios.php >> /var/www/log/calculRatios.log
30 6 * * * /var/www/batch/calculScores.php >> /var/www/log/calculScores.log
###0 20 * * * /var/www/batch/calculScoreSurv.php >> /var/www/log/calculScoreSurv.log
0 7 * * 1-5 /var/www/batch/surveillanceScoreSite.php >> /var/www/log/surveillanceScoreSite.log
45 9 * * 1-5 /var/www/batch/surveillanceActesSite.php >> /var/www/log/surveillanceActesSite.log
15 10 * * 1-5 /var/www/batch/surveillanceDirSite.php >> /var/www/log/surveillanceDirSite.log
0 23 * * 1-5 /var/www/batch/surveillanceBilanSite.php >> /var/www/log/surveillanceBilanSite.log
30 9 * * 1-5 /var/www/batch/surveillancePrivSite.php >> /var/www/log/surveillancePrivSite.log
###30 19 * * 1-5 /var/www/batch/fedaso.php -d:100 >> /var/www/log/fedasoOut.log
15 19 * * 1-5 /var/www/batch/fedasoBilans.php -d >> /var/www/log/fedasoBilans.log
30 6 * * 2-6 /var/www/batch/getIsin.php -h >> /var/www/log/getIsinMatin.log
0 23 * * 1-5 /var/www/batch/getIsin.php -s >> /var/www/log/getIsinSoir.log
30 8 * * * /var/www/batch/getDevises.php >> /var/www/log/getDevises.log
0-59/30 9-18 * * 1-5 /var/www/batch/getIsin.php >> /var/www/log/getIsin.log
50 23 * * * /var/www/batch/getBilansInpi.php -p >> /var/www/log/getBilansInpi.log
10 1 * * 1-4 /var/www/batch/getBilansInpi.php -p >> /var/www/log/getBilansInpi.log
15 13 * * * /var/www/batch/getTelSources.php >> /var/www/log/getTelSources.log
## Mensuels
0 20 1 * * /var/www/batch/facturation.php >> /var/www/log/facturation.log
0 1 1 * * /var/www/batch/calculRedevances.php >> /var/www/log/calculRedevances.log
0 11 25 * * /var/www/batch/getInflation.php >> /var/www/log/getInflation.log
0 10 15 * * /var/www/batch/getImportExport.php >> /var/www/log/getImportExport.log
0 9 * * 1 /var/www/batch/getIsin.php -a -n -r >> /var/www/log/getIsinSociete.log
#0 12 20 * * /var/www/batch/peps/getPepCia.php >> /var/www/log/getPepCia.log
30 12 1 * * /var/www/batch/getLiens.php >> /var/www/log/getLiens.log
## Hebdomadaire
0 18 * * 1 /var/www/batch/getBoMonaco.php >> /var/www/log/getBoMonaco.log
## Provisoire à revoir
0 9 * * 1-5 /var/www/batch/getPrivileges.php >> /var/www/log/getPrivilegesMatin.log
0 19 * * 1-5 /var/www/batch/getPrivileges.php >> /var/www/log/getPrivilegesSoir.log
0 3 * * 1-5 /var/www/batch/diffusionBodacc.php >> /var/www/log/diffusionBodacc.log
30 7 * * 1-5 /var/www/batch/convertSdRecordati.php >> /var/www/log/convertSdRecordati.log
0 13 * * 1-5 /var/www/batch/convertSdVerdoso.php >> /var/www/log/convertSdVerdoso.log
30 8 * * 1-5 /var/www/batch/convertSdSO2000.php >> /var/www/log/convertSdSO2000.log
30 18 * * * /var/www/batch/geoCodeAdresses.php >> /var/www/log/geoCodeAdresses.log
30 9 * * 5 /var/www/batch/getOrias.php >> /var/www/log/getOrias.log
30 8 * * 1-6 /var/www/batch/getQualibat.php >> /var/www/log/getQualibat.log
#30 7 * * * /var/www/batch/repriseDirigeants.php >> /var/www/log/repriseDirigeants.log
30 8 * * 1-5 /var/www/batch/getTribunaux.php >> /var/www/log/getTribunaux.log
#0 9 * * 1-6 /var/www/batch/getAnnoncesJal.php >> /var/www/log/getAnnoncesJal.log
45 8 * * 1-5 /root/scripts/miseEnCacheSirenage.sh
#0 18 * * 1-5 /var/www/batch/majIMR.php >> /var/www/log/majIMR.log
#30 8 * * 1-5 /var/www/batch/getBilansWeb.php >> /var/www/log/getBilansWeb.log
0 8 * * * /var/www/batch/repriseSirenBodaccHisto.php -o >> /var/www/log/repriseSirenBodaccHistOcr.log
20 8 * * * /var/www/batch/repriseSirenBodaccHisto.php >> /var/www/log/repriseSirenBodaccHistB.log
10 8 * * 1-5 /var/www/batch/getMarques.php -b >> /var/www/log/getMarques.log
0 22 * * * /var/www/batch/rapportsTextes.php -d >> /var/www/log/rapportsTextesWeb.log
0 23 * * * /var/www/batch/rapportsTextes.php -f >> /var/www/log/rapportsTextesFtp.log
15 9 * * * /var/www/batch/majArtisans.php >> /var/www/log/majArtisans.log
############################30 19 * * 5 /var/www/batch/clients/doEtabAct.sh >> /var/www/batch/clients/doEtabAct.log
0 3 * * 0 /var/www/batch/clients/indexFileGiant.sh >> /var/www/batch/clients/indexFileGiant.log
0 7 1-6 1,4,7,10 * /var/www/batch/clients/stockKadeal.sh >> /var/www/batch/clients/stockKadeal.log
0 2 * * * /var/www/batch/clients/proceduresQ.sh >> /var/www/batch/clients/proceduresQ.log
30 21 * * 1-6 /var/www/batch/majAdressesDom.php >> /var/www/log/majAdressesDom.log
*/15 * * * * /var/www/batch/getLogos.php >> /var/www/log/getLogos.log
30 8 * * * /var/www/batch/getLogos.php -b >> /var/www/log/getLogosBing.log
0 20 * * 1-6 /var/www/batch/consolideDiri.php >> /var/www/log/consolideDiri.log
30 9 * * * /var/www/batch/getInfosHotelerie.php >> /var/www/log/getInfosHotelerie.log
###0 20 * * 5 /root/geoCodeHisto.sh
###0 1 * * * /var/www/batch/genereEpl.php -t >> /var/www/log/genereEpl.log
###1 1 * * * /var/www/batch/testWorldCheck.php -o
###0 1 * * * /var/www/batch/testWorldCheck.php
30 11 * * 3 /var/www/batch/getEcoArtisan.php >> /var/www/log/getEcoArtisan.log
35 11 * * 3 /var/www/batch/getQualifelec.php >> /var/www/log/getQualifelec.log
40 11 * * 3 /var/www/batch/getQualiPaysage.php >> /var/www/log/getQualiPaysage.log
45 0 9 * * /var/www/batch/clients/kompass.sh >> /var/www/batch/clients/kompass.log
46 0 2-8 * * /var/www/batch/exportKompass.php -5 >> /var/www/batch/clients/kompass5.log
45 0 1 2,5,8,11 * /var/www/batch/clients/stockCorporama.sh >> /var/www/batch/clients/stockCorporama.log
29 0 * * * /root/psxa.sh
7 0 10 * * /var/www/batch/getInfosGE.php >> /var/www/log/getInfosGE.log
0 9 * * * /var/www/batch/getAnnoncesJal.php >> /var/www/log/getAnnoncesJal.log
40 6 * * * /var/www/batch/convertSdFBoissons.php >> /var/www/log/convertSdFBoissons.log
0 5 * * 1 /var/www/batch/diffusionEntrepA6cmo.php -d >> /var/www/log/diffusionEntrepA6cmo.log
0 6 * * * mv --force /tmp/diffusionBodacc_DIFBOD*FTSA6CMO* /home/data/clients/a6cmo
0 16 * * * /var/www/batch/getInpi2009.php -v -j -m
30 16 * * * /var/www/batch/getMarques.php -s -a
0 17 * * * /var/www/batch/getBodacc.php -t:DEFAO359002.taz -s -w -p -v
0 8 * * 2,4 /var/www/batch/getRSS.php -b >> /var/www/log/getRSSisin.log
0 9 * * 1-5 /var/www/batch/getRcMonaco.php >> /var/www/log/getRcMonaco.log
0 17 * * 1-5 /var/www/batch/getRcMonaco.php -d >> /var/www/log/getRcMonaco.log
30 13 * * * /var/www/batch/giantMonitoring.php -v >> /var/www/log/giantMonitoring.log
30 7 4 * * /var/www/batch/clients/doAdecco.sh
0 13 15 * * /var/www/batch/clients/doCoface.sh

View File

@ -2,22 +2,22 @@
<?php <?php
/** /**
* @todo * @todo
* 1. Numéroter toutes les procédures OK * 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc * 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire * 101 Commentaire
* 102 Activite déclaré au Bodacc * 102 Activite déclaré au Bodacc
* 103 texte rectificatif * 103 texte rectificatif
* 104 Annonce complète au format texte * 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC * 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente * 106 Libellé du Périmètre de la vente
* 3. * 3.
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ? Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255 Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9 Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1 Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -29,10 +29,10 @@ $repProduction='/mnt/samba/partage/production/';
$incrementationDesTour=true; $incrementationDesTour=true;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Génère les fichiers de diffusion des des annonces BODACC. Génère les fichiers de diffusion des des annonces BODACC.
Options : Options :
-i Ne pas incrémenter les numéros de tour (pour les tests). -i Ne pas incrémenter les numéros de tour (pour les tests).
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -64,9 +64,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$lonLigne=LONGUEUR_LIGNE_SORTIE-90; $lonLigne=LONGUEUR_LIGNE_SORTIE-90;
$str=''; $str='';
switch ($typeLigne) { switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne); $tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) { foreach ($tabLigne as $i=>$ligne) {
@ -75,7 +75,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
} }
break; break;
default: default:
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n"); die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
break; break;
} }
return $str; return $str;
@ -141,14 +141,14 @@ function getListeAdherents($prestation) {
return $tabPrestation; return $tabPrestation;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
/** On récupère la liste des Adhérents **/ /** On récupère la liste des Adhérents **/
$tabAdherents=getListeAdherents($typePrestaton); $tabAdherents=getListeAdherents($typePrestaton);
//print_r($tabAdherents); //print_r($tabAdherents);
$nbClients=count($tabAdherents); $nbClients=count($tabAdherents);
echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL;
//print_r($tabAdherents);die(); //print_r($tabAdherents);die();
foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
{ {
@ -161,7 +161,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip'; elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip';
else $optionZip='none'; else $optionZip='none';
/** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/ /** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/
if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n"; if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n"; elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL; else $optionEOL=EOL;
@ -183,37 +183,37 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else else
$dateDernierTraitement=false; $dateDernierTraitement=false;
if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée
{ {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL;
continue; continue;
} }
if ($dateFinPrestation && $dateFinPrestation>DATE) // La date de fin de la prestation est révolue if ($dateFinPrestation && $dateFinPrestation>DATE) // La date de fin de la prestation est révolue
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL; { echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL;
continue; continue;
} }
/**** /****
if ($dateDernierTraitement && $dateDernierTraitement==DATE) if ($dateDernierTraitement && $dateDernierTraitement==DATE)
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL; { echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL;
continue; continue;
} elseif ($dateDernierTraitement==0) { } elseif ($dateDernierTraitement==0) {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL;
$dateDernierTraitement=false; $dateDernierTraitement=false;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */ /* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
//} Bloc a décommenter //} Bloc a décommenter
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL;
/** /**
** On génère la ligne d'entête ** On génère la ligne d'entête
**/ **/
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w'); $fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
if ($fp==false) die('ERREUR : Impossible de créer le fichier !'); if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date de génération du fichier initstr(date('YmdHis'), 14) . // Date de génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
''; '';
@ -221,12 +221,12 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$nbLignes=1; $nbLignes=1;
/** /**
** On génère les lignes de détail ** On génère les lignes de détail
**/ **/
$strRubrique=''; $strRubrique='';
if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes
$strRubrique.="'comptes',"; $strRubrique.="'comptes',";
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
$strRubrique.="'creations',"; $strRubrique.="'creations',";
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD
$strRubrique.="'mmd',"; $strRubrique.="'mmd',";
@ -237,18 +237,18 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions
$strRubrique.="'ventes',"; $strRubrique.="'ventes',";
if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire
$tabOptOutput[101]=true; else $tabOptOutput[101]=false; $tabOptOutput[101]=true; else $tabOptOutput[101]=false;
if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc
$tabOptOutput[102]=true; else $tabOptOutput[102]=false; $tabOptOutput[102]=true; else $tabOptOutput[102]=false;
if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte
$tabOptOutput[104]=true; else $tabOptOutput[104]=false; $tabOptOutput[104]=true; else $tabOptOutput[104]=false;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$tabOptOutput[105]=true; else $tabOptOutput[105]=false; $tabOptOutput[105]=true; else $tabOptOutput[105]=false;
$tabSiren=$iDb->select('mederic', 'distinct(siren)', '1', true, MYSQL_ASSOC); $tabSiren=$iDb->select('mederic', 'distinct(siren)', '1', true, MYSQL_ASSOC);
$nbSirenClient=count($tabSiren); $nbSirenClient=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient siren en surveillance.".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient siren en surveillance.".EOL;
$tabSiren2=array(); $tabSiren2=array();
foreach ($tabSiren as $siren) { foreach ($tabSiren as $siren) {
$tabSiren2[]=$siren['siren']; $tabSiren2[]=$siren['siren'];
@ -260,12 +260,12 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$fields='id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, raisonSociale, nomCommercial, enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert'; $fields='id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, raisonSociale, nomCommercial, enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
$where='1'; $where='1';
// On filtre les rubriques demandées // On filtre les rubriques demandées
if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') '; if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') ';
// On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client // On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client
/** /**
if ($dateDernierTraitement) $where.=" AND dateInsert>'$dateDernierTraitement' "; if ($dateDernierTraitement) $where.=" AND dateInsert>'$dateDernierTraitement' ";
// ... sinon on prend les annonces depuis la date de début de la prestation // ... sinon on prend les annonces depuis la date de début de la prestation
elseif ($dateDebutPrestation) $where.=" AND dateInsert>'$dateDebutPrestation' "; elseif ($dateDebutPrestation) $where.=" AND dateInsert>'$dateDebutPrestation' ";
else $where.=" AND dateInsert>='MAX(DATE_FORMAT(dateInsert,'%Y-%m-%d'))') "; else $where.=" AND dateInsert>='MAX(DATE_FORMAT(dateInsert,'%Y-%m-%d'))') ";
**/ **/
@ -273,10 +273,10 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
//echo date ('Y/m/d - H:i:s')." - SQL : ... WHERE $where;".EOL; //echo date ('Y/m/d - H:i:s')." - SQL : ... WHERE $where;".EOL;
//$tabAnnonces //$tabAnnonces
$nbAnnonces=$iDb->select('bodacc_detail d, mederic s', $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance $nbAnnonces=$iDb->select('bodacc_detail d, mederic s', $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL;
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client...".EOL;
//while(=$iDb->fetch(MYSQL_ASSOC)) { //while(=$iDb->fetch(MYSQL_ASSOC)) {
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -285,7 +285,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
//$siren=$record['siren'];***/ //$siren=$record['siren'];***/
//foreach ($tabAnnonces as $numAnn=>$annonce) { //foreach ($tabAnnonces as $numAnn=>$annonce) {
// On récupère les 2 intervenants de la procédure // On récupère les 2 intervenants de la procédure
//if (!in_array($annonce['siren'], $tabSiren)) continue; //if (!in_array($annonce['siren'], $tabSiren)) continue;
$numInter=0; $numInter=0;
@ -350,34 +350,34 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$tribunalCode=$tribunalCode[0][0]; $tribunalCode=$tribunalCode[0][0];
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr(FILLER, 1) . // On garde de la place initstr(FILLER, 1) . // On garde de la place
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C) initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectif, S=Suppression // R=Rectif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
// (ex: 230A, 001B) // (ex: 230A, 001B)
// initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I, // initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I,
// initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D // initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D
initstr(FILLER, 18) . // REFERENCE DU CLIENT initstr(FILLER, 18) . // REFERENCE DU CLIENT
initstr($tribunalCode, 6) . initstr($tribunalCode, 6) .
initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise
initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee //initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
initstr('0000', 4) . // FJ codification Insee initstr('0000', 4) . // FJ codification Insee
initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC
initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital
initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO) initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car // Adresse / 150 car
@ -387,88 +387,88 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) . initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) . initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) . initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car // Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . // initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . // initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) . initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) . initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) . initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) . initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
initstr(str_replace(';','', $annonce['typeEven']), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8 initstr(str_replace(';','', $annonce['typeEven']), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
initstr(FILLER, 1) . // FILLER (Replace type de création) initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD) initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD)
// ou Date clôture exercice si ann dépôt comptes // ou Date clôture exercice si ann dépôt comptes
initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente
initstr($annonce['VenteDev'], 3) . // Devise de la ventre initstr($annonce['VenteDev'], 3) . // Devise de la ventre
initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[0]['Ville'], 45) . // Adresse, commune initstr($inter[0]['Ville'], 45) . // Adresse, commune
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[1]['Ville'], 45) . // Adresse, commune initstr($inter[1]['Ville'], 45) . // Adresse, commune
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(FILLER, 89) . initstr(FILLER, 89) .
''; '';
fwrite($fp, rtrim($str).$optionEOL); fwrite($fp, rtrim($str).$optionEOL);
$nbLignes++; $nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'') // if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire // fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
$enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce $enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr(FILLER, 1) . // On garde de la place initstr(FILLER, 1) . // On garde de la place
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C) initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectificatif, S=Suppression // R=Rectificatif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B) initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
initstr(FILLER, 18) . // REF CLI initstr(FILLER, 18) . // REF CLI
''; '';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes));
if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc
fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes));
if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète
$annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false); $annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false);
$annoncetxt=$annoncetxt[0][0]; $annoncetxt=$annoncetxt[0][0];
fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes));
@ -492,28 +492,28 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
} }
/** /**
** On génère la ligne de fin de fichier ** On génère la ligne de fin de fichier
**/ **/
$nbLignes++; $nbLignes++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
''; '';
fwrite($fp, $str); // Pas de fin de ligne sur la dernière ligne fwrite($fp, $str); // Pas de fin de ligne sur la dernière ligne
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
/** Mise à jour des numéros de tour et des date de dernières exécutions /** Mise à jour des numéros de tour et des date de dernières exécutions
**/ **/
if ($incrementationDesTour) { if ($incrementationDesTour) {
$iDbCrm=new WDB('sugarcrm'); $iDbCrm=new WDB('sugarcrm');
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier), $rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
"id_c='".$tabAdherent['idPrestationBdd']."'"); "id_c='".$tabAdherent['idPrestationBdd']."'");
} }
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/ /*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
switch ($optionZip) { switch ($optionZip) {
case 'zip': case 'zip':
$zip = new ZipArchive; $zip = new ZipArchive;
@ -541,9 +541,9 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
break; break;
default: default:
if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt')) if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL; echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL;
break; break;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -5,22 +5,22 @@ define('VERSION_FICHIER_BODACC','0106');
/** /**
* @todo * @todo
* 1. Numéroter toutes les procédures OK * 1. Numéroter toutes les procédures OK
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc * 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire * 101 Commentaire
* 102 Activite déclaré au Bodacc * 102 Activite déclaré au Bodacc
* 103 texte rectificatif * 103 texte rectificatif
* 104 Annonce complète au format texte * 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC * 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente * 106 Libellé du Périmètre de la vente
* 3. * 3.
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
Noms et prénoms des dirigeants de l'entreprise ' Anum. ? Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
Raison sociale du vendeur Anum. 255 Raison sociale du vendeur Anum. 255
Siren du vendeur (en cas de Vente/Cessions) Num. 9 Siren du vendeur (en cas de Vente/Cessions) Num. 9
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1 Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -37,7 +37,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Extaction Bodacc pour CSF. Extaction Bodacc pour CSF.
Options : Options :
-a:2004 Année 2004 -a:2004 Année 2004
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -71,9 +71,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str=''; $str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' '))); $chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) { switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne); $tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) { foreach ($tabLigne as $i=>$ligne) {
@ -82,15 +82,15 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
} }
break; break;
default: default:
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n"); die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
break; break;
} }
return $str; return $str;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
/** On récupère la liste des Adhérents **/ /** On récupère la liste des Adhérents **/
$optionZip='none'; $optionZip='none';
$optionEOL="\r\n"; $optionEOL="\r\n";
@ -104,14 +104,14 @@ $dateFinPrestation=''.$annee.'1231';
$clientIdentifiant='CSF_BodaccAB_'.$annee; $clientIdentifiant='CSF_BodaccAB_'.$annee;
/** /**
** On génère la ligne d'entête ** On génère la ligne d'entête
**/ **/
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w'); $fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
if ($fp==false) die('ERREUR : Impossible de créer le fichier !'); if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date de génération du fichier initstr(date('YmdHis'), 14) . // Date de génération du fichier
initstr(0, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr(0, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
@ -121,7 +121,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
$nbLignes=1; $nbLignes=1;
/** /**
** On génère les lignes de détail ** On génère les lignes de détail
**/ **/
$strRubrique=''; $strRubrique='';
$tabOptOutput[104]=true; $tabOptOutput[104]=true;
@ -134,10 +134,10 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
$where="e.E1GSIR>10000 AND e.DATE BETWEEN $dateDebutPrestation AND $dateFinPrestation AND e.ANBASE=x.annonceNum AND e.ANBASE=z.ANBAZ AND E1GSTB=1"; $where="e.E1GSIR>10000 AND e.DATE BETWEEN $dateDebutPrestation AND $dateFinPrestation AND e.ANBASE=x.annonceNum AND e.ANBASE=z.ANBAZ AND E1GSTB=1";
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance $nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
echo date ('Y/m/d - H:i:s')." - $nbAnnonces annonces à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - $nbAnnonces annonces à traiter...".EOL;
echo date ('Y/m/d - H:i:s')." - Début de génération du fichier client en version $versionEvenClient...".EOL; echo date ('Y/m/d - H:i:s')." - Début de génération du fichier client en version $versionEvenClient...".EOL;
$numAnnonceSD=0010000000+(($annee*1)-1995)*3000000; $numAnnonceSD=0010000000+(($annee*1)-1995)*3000000;
$numPre=-1; $numPre=-1;
@ -172,7 +172,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
'Tribunal'=>$ann['triNom'], 'Tribunal'=>$ann['triNom'],
'TribunalSiret'=>$ann['triSiret'], 'TribunalSiret'=>$ann['triSiret'],
'Rubrique'=>$rub, 'Rubrique'=>$rub,
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'], 'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],
//'texteRectificatif'=>$ann['corrTexteRectificatif'], //'texteRectificatif'=>$ann['corrTexteRectificatif'],
// 'texteAnnonce'=>$ann['annonceTxt'], // 'texteAnnonce'=>$ann['annonceTxt'],
'dateEffet'=>$ann['DATE'], 'dateEffet'=>$ann['DATE'],
@ -242,31 +242,31 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
}*/ }*/
$numAnnonceSD++; $numAnnonceSD++;
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C) initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectif, S=Suppression // R=Rectif, S=Suppression
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
// (ex: 230A, 001B) // (ex: 230A, 001B)
initstr(FILLER, 18) . // REFERENCE DU CLIENT initstr(FILLER, 18) . // REFERENCE DU CLIENT
initstr($annonce['CODTRI'], 6) . initstr($annonce['CODTRI'], 6) .
initstr(FILLER, 9) . // Numéro de RC (Registre du Commerce) de l'entreprise initstr(FILLER, 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
initstr($annonce['E1TNOM'], 150) . // Raison sociale de l'entreprise initstr($annonce['E1TNOM'], 150) . // Raison sociale de l'entreprise
initstr(FILLER, 100) . // Nom commercial de l'entreprise initstr(FILLER, 100) . // Nom commercial de l'entreprise
initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement
initstr(FILLER, 30) . // Nationalité si Personne physique initstr(FILLER, 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee //initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
initstr('0000', 4) . // FJ codification Insee initstr('0000', 4) . // FJ codification Insee
initstr(FILLER, 90) . // Forme juridique de l'entreprise déclarée au BODACC initstr(FILLER, 90) . // Forme juridique de l'entreprise déclarée au BODACC
initstr(FILLER, 15, '0', ALIGN_RIGHT) . // Capital initstr(FILLER, 15, '0', ALIGN_RIGHT) . // Capital
initstr(FILLER, 3) . // Devise du capital (format ISO) initstr(FILLER, 3) . // Devise du capital (format ISO)
// Adresse / 150 car // Adresse / 150 car
@ -276,75 +276,75 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
initstr(FILLER, 50) . initstr(FILLER, 50) .
initstr(FILLER, 50) . initstr(FILLER, 50) .
initstr(FILLER, 40) . initstr(FILLER, 40) .
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr(FILLER, 45) . // Ville de l'établissement initstr(FILLER, 45) . // Ville de l'établissement
// Adresse du siège / 150 car // Adresse du siège / 150 car
initstr($annonce['E1ENRU'], 4, '0', ALIGN_RIGHT) . // initstr($annonce['E1ENRU'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['E1EBTQ'], 1) . // initstr($annonce['E1EBTQ'], 1) . //
initstr($annonce['E1ETVI'], 5) . initstr($annonce['E1ETVI'], 5) .
initstr($annonce['E1EVOI'], 50) . initstr($annonce['E1EVOI'], 50) .
initstr(FILLER, 50) . initstr(FILLER, 50) .
initstr(FILLER, 40) . initstr(FILLER, 40) .
initstr($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['E1EVIL'], 45) . // Ville de l'établissement initstr($annonce['E1EVIL'], 45) . // Ville de l'établissement
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8 initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
initstr(FILLER, 100) . // NOM du JAL si publication initstr(FILLER, 100) . // NOM du JAL si publication
initstr(FILLER, 8) . // Date de publication du JAL si publication initstr(FILLER, 8) . // Date de publication du JAL si publication
initstr(FILLER, 8) . // Date de cessation des paiements initstr(FILLER, 8) . // Date de cessation des paiements
initstr($dateJ, 8) . // Date du jugement initstr($dateJ, 8) . // Date du jugement
initstr(FILLER, 1) . // FILLER (Replace type de création) initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(FILLER, 8) . // Date de début d'activité initstr(FILLER, 8) . // Date de début d'activité
initstr($annonce['DTEFFZ'], 8) . // Date d'effet (Ventes/MMD) initstr($annonce['DTEFFZ'], 8) . // Date d'effet (Ventes/MMD)
// ou Date clôture exercice si ann dépôt comptes // ou Date clôture exercice si ann dépôt comptes
initstr($VenteMt, 15, '0', ALIGN_RIGHT) . // Montant de la vente initstr($VenteMt, 15, '0', ALIGN_RIGHT) . // Montant de la vente
initstr($VenteDev, 3) . // Devise de la ventre initstr($VenteDev, 3) . // Devise de la ventre
initstr(FILLER, 35) . // Numéro de l'affaire au greffe initstr(FILLER, 35) . // Numéro de l'affaire au greffe
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[0]['Ville'], 45) . // Adresse, commune initstr($inter[0]['Ville'], 45) . // Adresse, commune
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[1]['Ville'], 45) . // Adresse, commune initstr($inter[1]['Ville'], 45) . // Adresse, commune
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
initstr(FILLER, 8) . // Date limite pour le dépôt des créances initstr(FILLER, 8) . // Date limite pour le dépôt des créances
initstr(FILLER, 8) . // Date de fin de la période d'observation initstr(FILLER, 8) . // Date de fin de la période d'observation
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL); fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++; $nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'') // if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire // fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
$enteteL= initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce $enteteL= initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C) initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée // (ex: 230A, 001B) initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée // (ex: 230A, 001B)
initstr(FILLER, 18) . initstr(FILLER, 18) .
''; '';
@ -359,22 +359,22 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
' Capital:'=>'. Capital : ', ' Capital:'=>'. Capital : ',
' Enseigne:'=>'. Enseigne : ', ' Enseigne:'=>'. Enseigne : ',
' Sigle:'=>'. Sigle : ', ' Sigle:'=>'. Sigle : ',
' Activité:'=>'. Activité : ', ' Activité:'=>'. Activité : ',
' Commentaires:'=>'. Commentaires : ', ' Commentaires:'=>'. Commentaires : ',
' Adresse:'=>'. Adresse : ', ' Adresse:'=>'. Adresse : ',
' Date de cessation des paiements:'=>'. Date de cessation des paiements : ', ' Date de cessation des paiements:'=>'. Date de cessation des paiements : ',
' Mandataire judiciaire:'=>'. Mandataire judiciaire : ', ' Mandataire judiciaire:'=>'. Mandataire judiciaire : ',
' Les déclarations de créances '=>' Les déclarations de créances ', ' Les déclarations de créances '=>' Les déclarations de créances ',
' Fonds acquis par achat '=>'. Fonds acquis par achat ', ' Fonds acquis par achat '=>'. Fonds acquis par achat ',
" Date d'effet:"=>". Date d'effet : ", " Date d'effet:"=>". Date d'effet : ",
" Date d' effet:"=>". Date d'effet : ", " Date d' effet:"=>". Date d'effet : ",
' Précédent propriétaire '=>'. Précédent propriétaire : ', ' Précédent propriétaire '=>'. Précédent propriétaire : ',
' Précédent exploitant '=>'. Précédent exploitant : ', ' Précédent exploitant '=>'. Précédent exploitant : ',
' Première insertion:'=>'. Première insertion : ', ' Première insertion:'=>'. Première insertion : ',
' oppositions:'=>'. Oppositions : ', ' oppositions:'=>'. Oppositions : ',
' Oppositions:'=>'. Oppositions : ', ' Oppositions:'=>'. Oppositions : ',
' Adresse du siège social:'=>'. Adresse du siège social : ', ' Adresse du siège social:'=>'. Adresse du siège social : ',
" Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ", " Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ",
' Administration:'=>'. Administration : ', ' Administration:'=>'. Administration : ',
))), array(':.'=>':', '..'=>'.', '. .'=>'.'))); ))), array(':.'=>':', '..'=>'.', '. .'=>'.')));
@ -384,28 +384,28 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
} }
/** /**
** On génère la ligne de fin de fichier ** On génère la ligne de fin de fichier
**/ **/
$nbLignes++; $nbLignes++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
/** Mise à jour des numéros de tour et des date de dernières exécutions /** Mise à jour des numéros de tour et des date de dernières exécutions
**/ **/
if ($incrementationDesTour) { if ($incrementationDesTour) {
$iDbCrm=new WDB('sugarcrm'); $iDbCrm=new WDB('sugarcrm');
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier), $rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
"id_c='".$tabAdherent['idPrestationBdd']."'"); "id_c='".$tabAdherent['idPrestationBdd']."'");
} }
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/ /*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
switch ($optionZip) { switch ($optionZip) {
case 'zip': case 'zip':
$zip = new ZipArchive; $zip = new ZipArchive;
@ -434,7 +434,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
case 'bzip2': case 'bzip2':
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'); $string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$bz = bzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2','w'); $bz = bzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2','w');
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction // Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
if (!$bz) { if (!$bz) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else { } else {
@ -445,9 +445,9 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
break; break;
default: default:
if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt')) if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL; echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL;
break; break;
} }

View File

@ -6,8 +6,8 @@ if (!defined('VERSION_FICHIER_BODACC'))
/** /**
* @todo * @todo
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente * 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -22,15 +22,15 @@ $ignoreDateDerExec=$retroActivite=false;
$codeAdherent=''; $codeAdherent='';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Génère les fichiers des clients en surveillance ou diffusion des annonces BODACC. Génère les fichiers des clients en surveillance ou diffusion des annonces BODACC.
Options : Options :
-d Clients en Diffusion Bodacc (par défaut) -d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc -s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script -e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution: n°tour, dates trt, fichier en rép tempo...) -i Ne pas exécuter en réel (pas de MAJ des infos d'exécution: n°tour, dates trt, fichier en rép tempo...)
-c:AAA Limiter le traitement au fichier de l'abonné AAA -c:AAA Limiter le traitement au fichier de l'abonné AAA
-r:XX Faire une rétroactivté de XX jours -r:XX Faire une rétroactivté de XX jours
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -80,9 +80,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str=''; $str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' '))); $chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) { switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne); $tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) { foreach ($tabLigne as $i=>$ligne) {
@ -91,7 +91,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
} }
break; break;
default: default:
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n"); die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
break; break;
} }
return $str; return $str;
@ -160,15 +160,15 @@ function getListeAdherents($prestation, $codeAdherent='') {
return $tabPrestation; return $tabPrestation;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
/** On récupère la liste des Adhérents **/ /** On récupère la liste des Adhérents **/
//die(print_r(getListeAdherents('extranet'))); //die(print_r(getListeAdherents('extranet')));
$tabAdherents=getListeAdherents($typePrestaton, $codeAdherent); $tabAdherents=getListeAdherents($typePrestaton, $codeAdherent);
//print_r($tabAdherents);die(); //print_r($tabAdherents);die();
$nbClients=count($tabAdherents); $nbClients=count($tabAdherents);
echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL;
//print_r($tabAdherents);die(); //print_r($tabAdherents);die();
foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
{ {
@ -181,7 +181,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip'; elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip';
else $optionZip='none'; else $optionZip='none';
/** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/ /** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/
if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n"; if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n"; elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL; else $optionEOL=EOL;
@ -207,38 +207,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$dateDernierTraitement=false; $dateDernierTraitement=false;
if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée
{ {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL;
continue; continue;
} }
if ($dateFinPrestation && DATE>$dateFinPrestation) // La date de fin de la prestation est révolue if ($dateFinPrestation && DATE>$dateFinPrestation) // La date de fin de la prestation est révolue
{ {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL;
continue; continue;
} }
if ($dateDernierTraitement && substr($dateDernierTraitement,0,8)*1==DATE*1) if ($dateDernierTraitement && substr($dateDernierTraitement,0,8)*1==DATE*1)
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL; { echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL;
continue; continue;
} elseif ($dateDernierTraitement==0) { } elseif ($dateDernierTraitement==0) {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL;
$dateDernierTraitement=false; $dateDernierTraitement=false;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */ /* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// Bloc a décommenter }// Bloc a décommenter
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL;
/** /**
** On génère la ligne d'entête ** On génère la ligne d'entête
**/ **/
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w'); $fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
if ($fp==false) die('ERREUR : Impossible de créer le fichier !'); if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date de génération du fichier initstr(date('YmdHis'), 14) . // Date de génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
@ -248,15 +248,15 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$nbLignes=1; $nbLignes=1;
/** /**
** On génère les lignes de détail ** On génère les lignes de détail
**/ **/
$strRubrique=''; $strRubrique='';
$tabRubCollecte=array(); $tabRubCollecte=array();
if (strpos($tabAdherent['optionPrestation'], 'comptes')) { // Export du Bodacc C - Dépôt des comptes if (strpos($tabAdherent['optionPrestation'], 'comptes')) { // Export du Bodacc C - Dépôt des comptes
$strRubrique.="'comptes',"; $strRubrique.="'comptes',";
$tabRubCollecte[]=" typeEven LIKE '3%' "; $tabRubCollecte[]=" typeEven LIKE '3%' ";
} }
if (strpos($tabAdherent['optionPrestation'], 'creations')) { // Export des créations if (strpos($tabAdherent['optionPrestation'], 'creations')) { // Export des créations
$strRubrique.="'creations',"; $strRubrique.="'creations',";
$tabRubCollecte[]=" typeEven LIKE '4%' "; $tabRubCollecte[]=" typeEven LIKE '4%' ";
} }
@ -277,11 +277,11 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$tabRubCollecte[]=" typeEven LIKE '5%' "; $tabRubCollecte[]=" typeEven LIKE '5%' ";
} }
if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire
$tabOptOutput[101]=true; else $tabOptOutput[101]=false; $tabOptOutput[101]=true; else $tabOptOutput[101]=false;
if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc
$tabOptOutput[102]=true; else $tabOptOutput[102]=false; $tabOptOutput[102]=true; else $tabOptOutput[102]=false;
if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte
$tabOptOutput[104]=true; else $tabOptOutput[104]=false; $tabOptOutput[104]=true; else $tabOptOutput[104]=false;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$tabOptOutput[105]=true; else $tabOptOutput[105]=false; $tabOptOutput[105]=true; else $tabOptOutput[105]=false;
@ -315,13 +315,13 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$fieldsCol="a.id, a.siren, a.sirenValide, CONCAT(a.source,'-',a.parutionIdJal) as source, 0 as Bodacc_Num, a.dateSource as Bodacc_Date_Parution, 0 as Num_Annonce, '' as Rubrique_Bodacc, '' as Rubrique, 'Insertion' as typeAnnonce, '' as corrNum_Annonce, '' as corrBodacc_Date_Parution, '' as corrPage, '' as corrNumParution, '' AS corrTexteRectificatif, '' as RC, a.raisonSociale, '' AS nomCommercial, '' AS enseigne, '' AS nationalite, '' AS FJ, '' AS Capital, '' AS CapitalDev, a.tribunal as Tribunal_Code, adresse, '' AS adrNum, '' AS adrIndRep, '' AS adrTypVoie, '' AS adrLibVoie, '' AS adrComp1, '' AS adrComp2, a.codePostal*1 AS codePostal, a.ville, adresse AS adresseSiege, '' AS adrSiegeNum, '' AS adrSiegeIndRep, '' AS adrSiegeTypVoie, '' AS adrSiegeLibVoie, '' AS adrSiegeComp1, '' AS adrSiegeComp2, a.codePostal*1 as codePostalSiege, a.ville as villeSiege, nouvDir AS administration, nouvActivite as activite, CONCAT(a.typeEven,'',REPLACE(strEven,';','')) AS typeEven, '' AS commentaires, a.dateEffetFinP as dateEffet, '' AS publication, '' AS publicationNom, '' AS publicationDate, '' AS fusion, '' AS dateDebutActivite, '' as dateCessationActivite, a.dateCessationPaiement, a.dateJugement, '' AS Numero, montant AS VenteMt, 'EUR' AS VenteDev, '' AS bienAcqui, inter1type, inter1id, inter1nom AS Mandataire, inter1nom AS mandNom, '' AS mandRepr, '' AS mandAdresse, '' AS mandCP, '' AS mandVille, '' AS JugeCommissaire, '' AS jugeCommissaireSuppleant, inter2type, inter2id, inter2nom AS ReprCreanciers, inter2nom AS creaNom, '' AS creaRepr, '' AS creaAdresse, '' AS creaCP, '' AS creaVille, inter3type, inter3id, inter3nom AS administrateur, inter3nom AS admNom, '' AS admRepr, '' AS admAdresse, '' AS admCP, '' AS admVille, 'O' AS inter4type, 0 AS inter4id, '' AS oppositions, '' AS oppoNom, '' AS oppoRepr, '' AS oppoAdresse, '' AS oppoCP, '' AS oppoVille, '' AS perimetre, '' AS dateFinDepotCreances, '' AS delaiDepotCreances, '' AS dateFinObservation, '' AS FinObservationBodacc, a.dateInsert"; $fieldsCol="a.id, a.siren, a.sirenValide, CONCAT(a.source,'-',a.parutionIdJal) as source, 0 as Bodacc_Num, a.dateSource as Bodacc_Date_Parution, 0 as Num_Annonce, '' as Rubrique_Bodacc, '' as Rubrique, 'Insertion' as typeAnnonce, '' as corrNum_Annonce, '' as corrBodacc_Date_Parution, '' as corrPage, '' as corrNumParution, '' AS corrTexteRectificatif, '' as RC, a.raisonSociale, '' AS nomCommercial, '' AS enseigne, '' AS nationalite, '' AS FJ, '' AS Capital, '' AS CapitalDev, a.tribunal as Tribunal_Code, adresse, '' AS adrNum, '' AS adrIndRep, '' AS adrTypVoie, '' AS adrLibVoie, '' AS adrComp1, '' AS adrComp2, a.codePostal*1 AS codePostal, a.ville, adresse AS adresseSiege, '' AS adrSiegeNum, '' AS adrSiegeIndRep, '' AS adrSiegeTypVoie, '' AS adrSiegeLibVoie, '' AS adrSiegeComp1, '' AS adrSiegeComp2, a.codePostal*1 as codePostalSiege, a.ville as villeSiege, nouvDir AS administration, nouvActivite as activite, CONCAT(a.typeEven,'',REPLACE(strEven,';','')) AS typeEven, '' AS commentaires, a.dateEffetFinP as dateEffet, '' AS publication, '' AS publicationNom, '' AS publicationDate, '' AS fusion, '' AS dateDebutActivite, '' as dateCessationActivite, a.dateCessationPaiement, a.dateJugement, '' AS Numero, montant AS VenteMt, 'EUR' AS VenteDev, '' AS bienAcqui, inter1type, inter1id, inter1nom AS Mandataire, inter1nom AS mandNom, '' AS mandRepr, '' AS mandAdresse, '' AS mandCP, '' AS mandVille, '' AS JugeCommissaire, '' AS jugeCommissaireSuppleant, inter2type, inter2id, inter2nom AS ReprCreanciers, inter2nom AS creaNom, '' AS creaRepr, '' AS creaAdresse, '' AS creaCP, '' AS creaVille, inter3type, inter3id, inter3nom AS administrateur, inter3nom AS admNom, '' AS admRepr, '' AS admAdresse, '' AS admCP, '' AS admVille, 'O' AS inter4type, 0 AS inter4id, '' AS oppositions, '' AS oppoNom, '' AS oppoRepr, '' AS oppoAdresse, '' AS oppoCP, '' AS oppoVille, '' AS perimetre, '' AS dateFinDepotCreances, '' AS delaiDepotCreances, '' AS dateFinObservation, '' AS FinObservationBodacc, a.dateInsert";
$where=$whereCol='1'; $where=$whereCol='1';
// On filtre les rubriques demandées // On filtre les rubriques demandées
if ($strRubrique<>'') { if ($strRubrique<>'') {
$where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') '; $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') ';
if (count($tabRubCollecte)>0) if (count($tabRubCollecte)>0)
$whereCol.=' AND ('.implode(' OR ', $tabRubCollecte).') '; $whereCol.=' AND ('.implode(' OR ', $tabRubCollecte).') ';
} }
// On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client // On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client
if ($dateDernierTraitement) { if ($dateDernierTraitement) {
if (!$retroActivite) { if (!$retroActivite) {
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) "; $where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) ";
@ -332,7 +332,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$whereCol.=" AND (a.dateInsert>$dateDernierTraitement OR (a.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) "; $whereCol.=" AND (a.dateInsert>$dateDernierTraitement OR (a.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) ";
} }
} }
// ... sinon on prend les annonces depuis la date de début de la prestation // ... sinon on prend les annonces depuis la date de début de la prestation
elseif ($dateDebutPrestation) elseif ($dateDebutPrestation)
if (!$retroActivite) { if (!$retroActivite) {
$where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation') "; $where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation') ";
@ -353,10 +353,10 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
}*/ }*/
// $where.=" AND Bodacc_Date_Parution>'2007-11-01' "; // Mederic a supprimer après la rétro du 22 mai 2008 // $where.=" AND Bodacc_Date_Parution>'2007-11-01' "; // Mederic a supprimer après la rétro du 22 mai 2008
if ($typePrestaton=='diffusionBodacc') { if ($typePrestaton=='diffusionBodacc') {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : diffusion...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : diffusion...".EOL;
$tables='bodacc_detail d'; $tables='bodacc_detail d';
$tablesCol='annonces a'; $tablesCol='annonces a';
// Credit safe // Credit safe
@ -377,7 +377,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($typePrestaton=='surveillanceBodacc') { elseif ($typePrestaton=='surveillanceBodacc') {
$tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC); $tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC);
$nbSirenClient=count($tabSiren); $nbSirenClient=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient unités en surveillance...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient unités en surveillance...".EOL;
$fields.=', s.ref'; $fields.=', s.ref';
$fieldsCol.=', s.ref'; $fieldsCol.=', s.ref';
$tables='bodacc_detail d, surveillances_listes s'; $tables='bodacc_detail d, surveillances_listes s';
@ -391,7 +391,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi /*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi
Modifier SURBODPRDFTSMEDERIC 484968573 00010 201278081 2008-04-04 0000-00-00 0000-00-00*/ Modifier SURBODPRDFTSMEDERIC 484968573 00010 201278081 2008-04-04 0000-00-00 0000-00-00*/
} }
else die('Type de prestation non gérée : '.$typePrestaton.EOL); else die('Type de prestation non gérée : '.$typePrestaton.EOL);
//$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 "; // NE PAS ENVOYER D'ANNONCES DONT LES DELAIS DE FORCLUSION SONT PASSEES //$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 "; // NE PAS ENVOYER D'ANNONCES DONT LES DELAIS DE FORCLUSION SONT PASSEES
@ -403,11 +403,11 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$strCollecte='(avec Collecte)'; $strCollecte='(avec Collecte)';
} else { } else {
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance $nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
$strCollecte='(Bodacc seul)'; $strCollecte='(Bodacc seul)';
} }
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter $strCollecte...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter $strCollecte...".EOL;
//echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL; //echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
//if ($collecte) die(); //if ($collecte) die();
@ -423,17 +423,17 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); $nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces liens entrep/annonces à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces liens entrep/annonces à traiter...".EOL;
} }
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
//echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; //echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
//while(=$iDb->fetch(MYSQL_ASSOC)) { //while(=$iDb->fetch(MYSQL_ASSOC)) {
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
/** Marquer les liens REF/SIREN envoyées à chaque client /** Marquer les liens REF/SIREN envoyées à chaque client
**/ **/
$numInter=0; $numInter=0;
@ -508,20 +508,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$avecMand=true; $avecMand=true;
if ($avecMand) { if ($avecMand) {
/** On doit recherche des mandataires absent ou non décodés de l'annonce Bodacc Texte **/ /** On doit recherche des mandataires absent ou non décodés de l'annonce Bodacc Texte **/
$tabTypes=array('A','C','L','M','R','O'); $tabTypes=array('A','C','L','M','R','O');
for($iInter=1; $iInter<4; $iInter++) { for($iInter=1; $iInter<4; $iInter++) {
$tabMand=$iDb2->select('annonces', 'inter'.$iInter.'type, inter'.$iInter.'id, inter'.$iInter.'nom, complement', 'siren='.$annonce['siren']." AND inter".$iInter."type IN ('".implode("','", $tabTypes)."') AND (inter".$iInter."id>0 OR inter".$iInter."nom<>'' OR complement LIKE 'Mandataire%') ORDER BY dateInsert DESC", false, MYSQL_ASSOC); $tabMand=$iDb2->select('annonces', 'inter'.$iInter.'type, inter'.$iInter.'id, inter'.$iInter.'nom, complement', 'siren='.$annonce['siren']." AND inter".$iInter."type IN ('".implode("','", $tabTypes)."') AND (inter".$iInter."id>0 OR inter".$iInter."nom<>'' OR complement LIKE 'Mandataire%') ORDER BY dateInsert DESC", false, MYSQL_ASSOC);
$interNom=$interTel=$interCp=$interVille=''; $interNom=$interTel=$interCp=$interVille='';
$interSiren=0; $interSiren=0;
foreach ($tabMand as $mand) { foreach ($tabMand as $mand) {
// As t'on déjà traité ce type de mandataire ? // As t'on déjà traité ce type de mandataire ?
if (in_array($mand['inter'.$iInter.'type'],$interType)) continue; if (in_array($mand['inter'.$iInter.'type'],$interType)) continue;
//print_r($annonce); //print_r($annonce);
$mandId=$mand['inter'.$iInter.'id']; $mandId=$mand['inter'.$iInter.'id'];
if ($mandId>0) { if ($mandId>0) {
// Il y a un mandataire avec un identifiant numérique // Il y a un mandataire avec un identifiant numérique
$tabTmp=$iDb2->select( 'tabMandataires', 'id, sirenGrp, sirenMand, Nom, Prenom, type, adresse, adresseComp, cp, ville, tel, fax, email, web', 'id='.$mandId, true, MYSQL_ASSOC); $tabTmp=$iDb2->select( 'tabMandataires', 'id, sirenGrp, sirenMand, Nom, Prenom, type, adresse, adresseComp, cp, ville, tel, fax, email, web', 'id='.$mandId, true, MYSQL_ASSOC);
$mand2=$tabTmp[0]; $mand2=$tabTmp[0];
$adr=$iInsee->structureVoie($mand2['adresse']); $adr=$iInsee->structureVoie($mand2['adresse']);
@ -532,13 +532,13 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$interVille=strtoupper($mand2['ville']); $interVille=strtoupper($mand2['ville']);
$interTel=strtr($mand2['tel'],array(' '=>'',','=>'','.'=>'', '-'=>'/','-'=>''))*1; $interTel=strtr($mand2['tel'],array(' '=>'',','=>'','.'=>'', '-'=>'/','-'=>''))*1;
} else { } else {
// Il y a un mandataire sans identifiant numérique // Il y a un mandataire sans identifiant numérique
if (trim($mand['inter'.$iInter.'nom'])=='' && substr($mand['complement'],0,10)=='Mandataire') if (trim($mand['inter'.$iInter.'nom'])=='' && substr($mand['complement'],0,10)=='Mandataire')
// Uniquement avec le nom du mandataire en complément // Uniquement avec le nom du mandataire en complément
$interNom=substr($mand['complement'],13,strlen($mand['complement'])-13); $interNom=substr($mand['complement'],13,strlen($mand['complement'])-13);
else { else {
if (preg_match('/^(.*), Téléphone \: (.*)$/Ui', $mand['inter'.$iInter.'nom'], $matches)) { if (preg_match('/^(.*), Téléphone \: (.*)$/Ui', $mand['inter'.$iInter.'nom'], $matches)) {
$interTel=strtr($matches[2],array(' '=>'',','=>'','.'=>'', '-'=>'/','-'=>''))*1; $interTel=strtr($matches[2],array(' '=>'',','=>'','.'=>'', '-'=>'/','-'=>''))*1;
$mand['inter'.$iInter.'nom']=$matches[1]; $mand['inter'.$iInter.'nom']=$matches[1];
} }
@ -550,7 +550,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$interCp=$adr['cp']*1; $interCp=$adr['cp']*1;
$interVille=$adr['ville']; $interVille=$adr['ville'];
} }
// echo $mand['inter'.$iInter.'nom']." : Nom=$interNom, Tél=$interTel, Adresse="; // echo $mand['inter'.$iInter.'nom']." : Nom=$interNom, Tél=$interTel, Adresse=";
// print_r($adr); // print_r($adr);
} }
$inter[$numInter]['type']=$mand['inter'.$iInter.'type']; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo $inter[$numInter]['type']=$mand['inter'.$iInter.'type']; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
@ -588,7 +588,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($even<7000) $even2=6700; elseif ($even<7000) $even2=6700;
else $even2=1999; else $even2=1999;
$tabEven[]=$even2; $tabEven[]=$even2;
// echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Evènement $even non géré en v$versionEvenClient : $even2".EOL; // echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Evènement $even non géré en v$versionEvenClient : $even2".EOL;
} }
} }
$tabTmp=explode('-', $annonce['source']); $tabTmp=explode('-', $annonce['source']);
@ -599,41 +599,41 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
switch (substr($annonce['source'],0,1)) { switch (substr($annonce['source'],0,1)) {
case 'G': // G=Greffes case 'G': // G=Greffes
case 'P': // P=Inpi case 'P': // P=Inpi
case 'J': // J=Journal d'Annonces Légales case 'J': // J=Journal d'Annonces Légales
case 'T': // T=Tribunal case 'T': // T=Tribunal
$codeSourceBodacc=substr($annonce['source'],0,1); break; $codeSourceBodacc=substr($annonce['source'],0,1); break;
default: $codeSourceBodacc='J'; break; default: $codeSourceBodacc='J'; break;
} }
} }
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr($codeSourceBodacc, 1) . // Code Bodacc (A, B ou C) initstr($codeSourceBodacc, 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectif, S=Suppression // R=Rectif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
// (ex: 230A, 001B) // (ex: 230A, 001B)
// initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I, // initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I,
// initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D // initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D
initstr($refLigneClient, 18) . // REFERENCE DU CLIENT initstr($refLigneClient, 18) . // REFERENCE DU CLIENT
initstr($tribunalCode, 6) . initstr($tribunalCode, 6) .
initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise
initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee //initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
initstr('0000', 4) . // FJ codification Insee initstr('0000', 4) . // FJ codification Insee
initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC
initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital
initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO) initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car // Adresse / 150 car
@ -643,87 +643,87 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) . initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) . initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) . initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car // Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . // initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . // initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) . initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) . initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) . initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) . initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8 initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
initstr(FILLER, 1) . // FILLER (Replace type de création) initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD) initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD)
// ou Date clôture exercice si ann dépôt comptes // ou Date clôture exercice si ann dépôt comptes
initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente
initstr($annonce['VenteDev'], 3) . // Devise de la ventre initstr($annonce['VenteDev'], 3) . // Devise de la ventre
initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[0]['Ville'], 45) . // Adresse, commune initstr($inter[0]['Ville'], 45) . // Adresse, commune
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[1]['Ville'], 45) . // Adresse, commune initstr($inter[1]['Ville'], 45) . // Adresse, commune
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8) . // Date d'insertion dans la base S&D initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8) . // Date d'insertion dans la base S&D
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL); fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++; $nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'') // if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire // fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
$enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce $enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr($codeSourceBodacc, 1) . // Code Bodacc (A, B ou C) initstr($codeSourceBodacc, 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectificatif, S=Suppression // R=Rectificatif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B) initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
initstr($refLigneClient, 18) . // REF CLI initstr($refLigneClient, 18) . // REF CLI
''; '';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes));
if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc
fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes));
if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète
if ($collecte && substr($annonce['source'],0,3)<>'BOD' ) { if ($collecte && substr($annonce['source'],0,3)<>'BOD' ) {
$tabCollecte=$iInsee->getProColPart($annonce['siren']); $tabCollecte=$iInsee->getProColPart($annonce['siren']);
foreach ($tabCollecte as $annCollecte) { foreach ($tabCollecte as $annCollecte) {
@ -758,21 +758,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
} }
/** /**
** On génère la ligne de fin de fichier ** On génère la ligne de fin de fichier
**/ **/
$nbLignes++; $nbLignes++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
/** Mise à jour des numéros de tour et des date de dernières exécutions /** Mise à jour des numéros de tour et des date de dernières exécutions
**/ **/
if ($incrementationDesTour) { if ($incrementationDesTour) {
$iDbCrm=new WDB('sugarcrm'); $iDbCrm=new WDB('sugarcrm');
@ -780,7 +780,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
"id_c='".$tabAdherent['idPrestationBdd']."'"); "id_c='".$tabAdherent['idPrestationBdd']."'");
} }
/** Conversion du fichier si nécessaire en CSV /** Conversion du fichier si nécessaire en CSV
**/ **/
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
$ligneOut=''; $ligneOut='';
@ -792,40 +792,40 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ecrireLignePre=false; $ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$siren ='Siren'; $siren ='Siren';
$nic ='Nic'; $nic ='Nic';
$ref ='Référence'; $ref ='Référence';
$numPar ='Parution'; $numPar ='Parution';
$bodacc ='Bodacc'; $bodacc ='Bodacc';
$datePar='Date parution'; $datePar='Date parution';
$numAnn ='Numéro Annonce'; $numAnn ='Numéro Annonce';
$cor ='Type Annonce'; $cor ='Type Annonce';
$libTri ='Tribunal'; $libTri ='Tribunal';
$numRC ='Numéro RCS'; $numRC ='Numéro RCS';
$raisonS='Raison sociale'; $raisonS='Raison sociale';
$catEven='Chapitre'; $catEven='Chapitre';
$txtEven='Evènement(s)'; $txtEven='Evènement(s)';
$dateEve='Date évènement'; $dateEve='Date évènement';
$txtAnn ='Texte Annonce'; $txtAnn ='Texte Annonce';
$ligne001++; $ligne001++;
break; break;
case 100: // Structure Bodacc case 100: // Structure Bodacc
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn"; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$ligne100++; $ligne100++;
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic $nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment $dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment
$dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc... $dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc...
if ($dateEve1>0) if ($dateEve1>0)
@ -835,7 +835,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else else
$dateEve=''; $dateEve='';
$cor=''; $cor='';
if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -843,20 +843,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
@ -873,21 +873,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ligne104++; $ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break; break;
case 999: // Ligne ignorée case 999: // Ligne ignorée
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn"; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$ligne999++; $ligne999++;
$ecrireLignePre=true; $ecrireLignePre=true;
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL); if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL);
} }
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Conversion du fichier $fichier_csv terminée !".EOL; echo date ('Y/m/d - H:i:s')." - Conversion du fichier $fichier_csv terminée !".EOL;
} }
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/ /*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
switch ($optionZip) { switch ($optionZip) {
case 'zip': case 'zip':
$zip = new ZipArchive; $zip = new ZipArchive;
@ -934,7 +934,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2'; $ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2';
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'); $string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$bz = bzopen($repProduction.$ficProduction,'w'); $bz = bzopen($repProduction.$ficProduction,'w');
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction // Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
if (!$bz) { if (!$bz) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else { } else {
@ -959,14 +959,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'; $ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt';
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv'; $ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
if (!copy(REP_TEMP.$ficProduction, $repProduction.$ficProduction)) if (!copy(REP_TEMP.$ficProduction, $repProduction.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été créé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été créé...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!copy(REP_TEMP.$ficProduction_csv, $repProduction.$ficProduction_csv)) if (!copy(REP_TEMP.$ficProduction_csv, $repProduction.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été créé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été créé...".EOL;
} }
break; break;
} }
@ -974,44 +974,44 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/** Sauvegarde des fichiers dans clients **/ /** Sauvegarde des fichiers dans clients **/
$repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']); $repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']);
if (!file_exists($repBakClient)) { if (!file_exists($repBakClient)) {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers BACKUP du client ne sont pas correctement créés !".EOL; echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers BACKUP du client ne sont pas correctement créés !".EOL;
if (!file_exists($repBakClient) && mkdir($repBakClient)) if (!file_exists($repBakClient) && mkdir($repBakClient))
echo date ('Y/m/d - H:i:s')." - Le dossier Backup du client a été créé ($repBakClient)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier Backup du client a été créé ($repBakClient)".EOL;
// if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv')) // if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
// echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL; // echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
} }
if (!copy($repProduction.$ficProduction, $repBakClient.'/'.$ficProduction)) if (!copy($repProduction.$ficProduction, $repBakClient.'/'.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été historisé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été historisé...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv)) if (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été historisé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été historisé...".EOL;
} }
/** Si FTP, déplacement dans les dossiers adéquats **/ /** Si FTP, déplacement dans les dossiers adéquats **/
if ($tabAdherent['supportPrestation']=='ftp' || $tabAdherent['supportPrestation']=='web') {//$repProduction.$ficProduction if ($tabAdherent['supportPrestation']=='ftp' || $tabAdherent['supportPrestation']=='web') {//$repProduction.$ficProduction
$repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']); $repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']);
if (!file_exists($repFtpClient) || !file_exists($repFtpClient.'/recv')) { if (!file_exists($repFtpClient) || !file_exists($repFtpClient.'/recv')) {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers FTP du client ne sont pas correctement créés !".EOL; echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers FTP du client ne sont pas correctement créés !".EOL;
if (!file_exists($repFtpClient) && mkdir($repFtpClient)) if (!file_exists($repFtpClient) && mkdir($repFtpClient))
echo date ('Y/m/d - H:i:s')." - Le dossier FTP du client a été créé ($repFtpClient)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier FTP du client a été créé ($repFtpClient)".EOL;
if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv')) if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
} }
if (!move($repProduction.$ficProduction, $repFtpClient.'/recv/'.$ficProduction)) if (!move($repProduction.$ficProduction, $repFtpClient.'/recv/'.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction dans FTP/RECV impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction dans FTP/RECV impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été déplacé dans FTP/RECV...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été déplacé dans FTP/RECV...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!move($repProduction.$ficProduction_csv, $repFtpClient.'/recv/'.$ficProduction_csv)) if (!move($repProduction.$ficProduction_csv, $repFtpClient.'/recv/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv dans FTP/RECV impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv dans FTP/RECV impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été déplacé dans FTP/RECV...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été déplacé dans FTP/RECV...".EOL;
} }
} }

View File

@ -6,8 +6,8 @@ if (!defined('VERSION_FICHIER_BODACC'))
/** /**
* @todo * @todo
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente * 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement * 5. JugesCommissaires à intégrer correctement
*/ */
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -22,15 +22,15 @@ $ignoreDateDerExec=$retroActivite=false;
$codeAdherent=''; $codeAdherent='';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Génère les fichiers des clients en surveillance ou diffusion des annonces BODACC. Génère les fichiers des clients en surveillance ou diffusion des annonces BODACC.
Options : Options :
-d Clients en Diffusion Bodacc (par défaut) -d Clients en Diffusion Bodacc (par défaut)
-s Clients en Surveillance Bodacc -s Clients en Surveillance Bodacc
-e Ne pas tenir compte de la date de dernière exécution du script -e Ne pas tenir compte de la date de dernière exécution du script
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution: n°tour, dates trt, fichier en rép tempo...) -i Ne pas exécuter en réel (pas de MAJ des infos d'exécution: n°tour, dates trt, fichier en rép tempo...)
-c:AAA Limiter le traitement au fichier de l'abonné AAA -c:AAA Limiter le traitement au fichier de l'abonné AAA
-r:XX Faire une rétroactivté de XX jours -r:XX Faire une rétroactivté de XX jours
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -79,9 +79,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str=''; $str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' '))); $chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) { switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne); $tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) { foreach ($tabLigne as $i=>$ligne) {
@ -90,7 +90,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
} }
break; break;
default: default:
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n"); die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
break; break;
} }
return $str; return $str;
@ -159,15 +159,15 @@ function getListeAdherents($prestation, $codeAdherent='') {
return $tabPrestation; return $tabPrestation;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
/** On récupère la liste des Adhérents **/ /** On récupère la liste des Adhérents **/
//die(print_r(getListeAdherents('extranet'))); //die(print_r(getListeAdherents('extranet')));
$tabAdherents=getListeAdherents($typePrestaton, $codeAdherent); $tabAdherents=getListeAdherents($typePrestaton, $codeAdherent);
//print_r($tabAdherents);die(); //print_r($tabAdherents);die();
$nbClients=count($tabAdherents); $nbClients=count($tabAdherents);
echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbClients client(s) à servir en diffusion BODACC.".EOL;
//print_r($tabAdherents);die(); //print_r($tabAdherents);die();
foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
{ {
@ -180,7 +180,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip'; elseif (strpos($tabAdherent['optionSupport'], 'zip')) $optionZip='zip';
else $optionZip='none'; else $optionZip='none';
/** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/ /** Le client préfère un paramétrage UNIX ou Window pour ses fins de lignes **/
if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n"; if (strpos($tabAdherent['optionSupport'], 'os=dos')) $optionEOL="\r\n";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n"; elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL; else $optionEOL=EOL;
@ -206,38 +206,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$dateDernierTraitement=false; $dateDernierTraitement=false;
if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée if ($dateDebutPrestation && $dateDebutPrestation>DATE) // La date de démarrage de la prestation n'est pas encore arrivée
{ {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : La prestation démarre le $dateDebutPrestation !".EOL;
continue; continue;
} }
if ($dateFinPrestation && DATE>$dateFinPrestation) // La date de fin de la prestation est révolue if ($dateFinPrestation && DATE>$dateFinPrestation) // La date de fin de la prestation est révolue
{ {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Fin de la prestation le $dateFinPrestation (Dernière exécution le $dateDernierTraitement) !".EOL;
continue; continue;
} }
if ($dateDernierTraitement && substr($dateDernierTraitement,0,8)*1==DATE*1) if ($dateDernierTraitement && substr($dateDernierTraitement,0,8)*1==DATE*1)
{ echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL; { echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Traitement déjà exécuté aujourd'hui !".EOL;
continue; continue;
} elseif ($dateDernierTraitement==0) { } elseif ($dateDernierTraitement==0) {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Jamais exécutée pour ce client !".EOL;
$dateDernierTraitement=false; $dateDernierTraitement=false;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */ /* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// Bloc a décommenter }// Bloc a décommenter
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Export des annonces en cours... (dernier traitement le $dateDernierTraitement)".EOL;
/** /**
** On génère la ligne d'entête ** On génère la ligne d'entête
**/ **/
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w'); $fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
if ($fp==false) die('ERREUR : Impossible de créer le fichier !'); if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date de génération du fichier initstr(date('YmdHis'), 14) . // Date de génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
@ -247,12 +247,12 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$nbLignes=1; $nbLignes=1;
/** /**
** On génère les lignes de détail ** On génère les lignes de détail
**/ **/
$strRubrique=''; $strRubrique='';
if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes if (strpos($tabAdherent['optionPrestation'], 'comptes')) // Export du Bodacc C - Dépôt des comptes
$strRubrique.="'comptes',"; $strRubrique.="'comptes',";
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
$strRubrique.="'creations',"; $strRubrique.="'creations',";
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des MMD
$strRubrique.="'mmd',"; $strRubrique.="'mmd',";
@ -263,11 +263,11 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions if (strpos($tabAdherent['optionPrestation'], 'ventes')) // Export des ventes cessions
$strRubrique.="'ventes',"; $strRubrique.="'ventes',";
if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire if (strpos($tabAdherent['optionPrestation'], '101')) // Commentaire inclus dans l'annonce si nécessaire
$tabOptOutput[101]=true; else $tabOptOutput[101]=false; $tabOptOutput[101]=true; else $tabOptOutput[101]=false;
if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc if (strpos($tabAdherent['optionPrestation'], '102')) // Activite déclaré au Bodacc
$tabOptOutput[102]=true; else $tabOptOutput[102]=false; $tabOptOutput[102]=true; else $tabOptOutput[102]=false;
if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte if (strpos($tabAdherent['optionPrestation'], '104')) // Annonce complète au format texte
$tabOptOutput[104]=true; else $tabOptOutput[104]=false; $tabOptOutput[104]=true; else $tabOptOutput[104]=false;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$tabOptOutput[105]=true; else $tabOptOutput[105]=false; $tabOptOutput[105]=true; else $tabOptOutput[105]=false;
@ -295,9 +295,9 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert'; $fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
$where='1'; $where='1';
// On filtre les rubriques demandées // On filtre les rubriques demandées
if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') '; if ($strRubrique<>'') $where.=' AND Rubrique IN('. substr($strRubrique,0,strlen($strRubrique)-1) .') ';
// On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client // On ne prend que les dernières annonces depuis la dernière exécution de la prestation pour le client
if ($dateDernierTraitement) { if ($dateDernierTraitement) {
if (!$retroActivite) if (!$retroActivite)
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) "; $where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement) ";
@ -305,7 +305,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement OR (d.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) "; $where.=" AND (d.dateInsert>$dateDernierTraitement OR d.dateUpdate>$dateDernierTraitement OR (d.dateInsert>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) OR (d.dateUpdate>DATE_SUB(s.dateAjout, INTERVAL $retroActivite DAY) AND s.dateConf=0 AND s.dateSuppr=0) ) ";
} }
} }
// ... sinon on prend les annonces depuis la date de début de la prestation // ... sinon on prend les annonces depuis la date de début de la prestation
elseif ($dateDebutPrestation) elseif ($dateDebutPrestation)
if (!$retroActivite) if (!$retroActivite)
$where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation') "; $where.=" AND (d.dateInsert>'$dateDebutPrestation' OR d.dateUpdate>'$dateDebutPrestation') ";
@ -324,10 +324,10 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
}*/ }*/
// $where.=" AND Bodacc_Date_Parution>'2007-11-01' "; // Mederic a supprimer après la rétro du 22 mai 2008 // $where.=" AND Bodacc_Date_Parution>'2007-11-01' "; // Mederic a supprimer après la rétro du 22 mai 2008
if ($typePrestaton=='diffusionBodacc') { if ($typePrestaton=='diffusionBodacc') {
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : diffusion...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : diffusion...".EOL;
$tables='bodacc_detail d'; $tables='bodacc_detail d';
// Credit safe // Credit safe
@ -345,7 +345,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($typePrestaton=='surveillanceBodacc') { elseif ($typePrestaton=='surveillanceBodacc') {
$tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC); $tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC);
$nbSirenClient=count($tabSiren); $nbSirenClient=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient unités en surveillance...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbSirenClient unités en surveillance...".EOL;
$fields.=', s.ref'; $fields.=', s.ref';
$tables='bodacc_detail d, surveillances_listes s'; $tables='bodacc_detail d, surveillances_listes s';
$where.=" AND d.siren=s.siren AND s.siren<>0 AND s.idClient='$clientIdentifiant' AND s.dateSuppr='0000-00-00' "; $where.=" AND d.siren=s.siren AND s.siren<>0 AND s.idClient='$clientIdentifiant' AND s.dateSuppr='0000-00-00' ";
@ -354,14 +354,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi /*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi
Modifier SURBODPRDFTSMEDERIC 484968573 00010 201278081 2008-04-04 0000-00-00 0000-00-00*/ Modifier SURBODPRDFTSMEDERIC 484968573 00010 201278081 2008-04-04 0000-00-00 0000-00-00*/
} }
else die('Type de prestation non gérée : '.$typePrestaton.EOL); else die('Type de prestation non gérée : '.$typePrestaton.EOL);
//$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 "; // NE PAS ENVOYER D'ANNONCES DONT LES DELAIS DE FORCLUSION SONT PASSEES //$where.=" AND DATEDIFF(NOW(), Bodacc_Date_Parution)<=60 "; // NE PAS ENVOYER D'ANNONCES DONT LES DELAIS DE FORCLUSION SONT PASSEES
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance $nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces annonces à traiter...".EOL;
//echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL; //echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
if (count($tabNaf)>0) { if (count($tabNaf)>0) {
$fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert'; $fields='d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
$tables='bodacc_detail d'; $tables='bodacc_detail d';
@ -372,20 +372,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$where.=')'; $where.=')';
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); $nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces liens entrep/annonces à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : $nbAnnonces liens entrep/annonces à traiter...".EOL;
} }
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Début de génération du fichier client en version $versionEvenClient...".EOL;
//echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL; //echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
//while(=$iDb->fetch(MYSQL_ASSOC)) { //while(=$iDb->fetch(MYSQL_ASSOC)) {
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
/** Marquer les liens REF/SIREN envoyées à chaque client /** Marquer les liens REF/SIREN envoyées à chaque client
** Gérer les versions de tables even pour les clients ** Gérer les versions de tables even pour les clients
** **
** Renvoyer le stock à médéric ** Renvoyer le stock à médéric
**/ **/
//print_r($annonce); //print_r($annonce);
@ -393,7 +393,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
//$siren=$record['siren'];***/ //$siren=$record['siren'];***/
//foreach ($tabAnnonces as $numAnn=>$annonce) { //foreach ($tabAnnonces as $numAnn=>$annonce) {
// On récupère les 2 intervenants de la procédure // On récupère les 2 intervenants de la procédure
//if (!in_array($annonce['siren'], $tabSiren)) continue; //if (!in_array($annonce['siren'], $tabSiren)) continue;
$numInter=0; $numInter=0;
@ -473,38 +473,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($even<7000) $even2=6700; elseif ($even<7000) $even2=6700;
else $even2=1999; else $even2=1999;
$tabEven[]=$even2; $tabEven[]=$even2;
// echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Evènement $even non géré en v$versionEvenClient : $even2".EOL; // echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient : Evènement $even non géré en v$versionEvenClient : $even2".EOL;
} }
} }
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C) initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectif, S=Suppression // R=Rectif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
// (ex: 230A, 001B) // (ex: 230A, 001B)
// initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I, // initstr($annonce['corrTexteRectificatif'], XXXXXX, '0', ALIGN_RIGHT) . // Si diff. I,
// initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D // initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8, '0') . // Date de l'intégration en bae S&D
initstr($refLigneClient, 18) . // REFERENCE DU CLIENT initstr($refLigneClient, 18) . // REFERENCE DU CLIENT
initstr($tribunalCode, 6) . initstr($tribunalCode, 6) .
initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise initstr($annonce['RC'], 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise initstr($annonce['raisonSociale'], 150) . // Raison sociale de l'entreprise
initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise initstr($annonce['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee //initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
initstr('0000', 4) . // FJ codification Insee initstr('0000', 4) . // FJ codification Insee
initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC initstr($annonce['FJ'], 90) . // Forme juridique de l'entreprise déclarée au BODACC
initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital initstr($annonce['Capital'], 15, '0', ALIGN_RIGHT) . // Capital
initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO) initstr($annonce['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car // Adresse / 150 car
@ -514,87 +514,87 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) . initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) . initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) . initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car // Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . // initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . // initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) . initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) . initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) . initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) . initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8 initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication initstr($annonce['publicationNom'], 100) . // NOM du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication initstr(WDate::dateT('Y-m-d','Ymd',$annonce['publicationDate']), 8) . // Date de publication du JAL si publication
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
initstr(FILLER, 1) . // FILLER (Replace type de création) initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateDebutActivite']), 8) . // Date de début d'activité
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD) initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateEffet']), 8) . // Date d'effet (Ventes/MMD)
// ou Date clôture exercice si ann dépôt comptes // ou Date clôture exercice si ann dépôt comptes
initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente initstr($annonce['VenteMt'], 15, '0', ALIGN_RIGHT) . // Montant de la vente
initstr($annonce['VenteDev'], 3) . // Devise de la ventre initstr($annonce['VenteDev'], 3) . // Devise de la ventre
initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe initstr($annonce['Numero'], 35) . // Numéro de l'affaire au greffe
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[0]['Ville'], 45) . // Adresse, commune initstr($inter[0]['Ville'], 45) . // Adresse, commune
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
initstr($inter[1]['Ville'], 45) . // Adresse, commune initstr($inter[1]['Ville'], 45) . // Adresse, commune
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinDepotCreances']), 8) . // Date limite pour le dépôt des créances
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8) . // Date d'insertion dans la base S&D initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert']), 8) . // Date d'insertion dans la base S&D
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL); fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++; $nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'') // if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire // fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
$enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce $enteteL= initstr($annonce['id'], 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
initstr(FILLER, 5) . // On garde la place pour le NIC initstr(FILLER, 5) . // On garde la place pour le NIC
initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année initstr($annonce['Bodacc_Num'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C) initstr(substr($annonce['Rubrique_Bodacc'],0,1), 1) . // Code Bodacc (A, B ou C)
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc initstr(WDate::dateT('Y-m-d','Ymd',$annonce['Bodacc_Date_Parution']), 8) . // Date de parution du Bodacc
initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc initstr($annonce['Num_Annonce'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc initstr(substr($annonce['Rubrique_Bodacc'],1,3), 3, '0') . // Rubrique dans le Bodacc
initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif, initstr($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectificatif, S=Suppression // R=Rectificatif, S=Suppression
initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée initstr($annonce['corrNum_Annonce'], 5, '0', ALIGN_RIGHT) . // Si annonce différent de I, numéro de l'annonce corrigée
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée initstr(WDate::dateT('Y-m-d','Ymd',$annonce['corrBodacc_Date_Parution']), 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée initstr($annonce['corrPage'], 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B) initstr($annonce['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
initstr($refLigneClient, 18) . // REF CLI initstr($refLigneClient, 18) . // REF CLI
''; '';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('101', $enteteL, $annonce['commentaires'], $optionEOL, $nbLignes));
if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc if ($tabOptOutput[102]==true && $annonce['activite']<>'') // Activité déclarée au Bodacc
fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('102', $enteteL, $annonce['activite'], $optionEOL, $nbLignes));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('103', $enteteL, $annonce['corrTexteRectificatif'], $optionEOL, $nbLignes));
if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète if ($tabOptOutput[104]==true) { // Annonce Bodacc Complète
$annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false); $annoncetxt=$iDb2->select('bodacc', 'annonce', 'id='.$annonce['id'], false);
$annoncetxt=$annoncetxt[0][0]; $annoncetxt=$annoncetxt[0][0];
fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes)); fwrite($fp, genereMultiLigne('104', $enteteL, $annoncetxt, $optionEOL, $nbLignes));
@ -618,21 +618,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
} }
/** /**
** On génère la ligne de fin de fichier ** On génère la ligne de fin de fichier
**/ **/
$nbLignes++; $nbLignes++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne $str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
initstr($clientIdentifiant, 36) . // Identifiant Client initstr($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation initstr($typePrestaton, 32) . // Type de prestation
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
''; '';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL; echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
/** Mise à jour des numéros de tour et des date de dernières exécutions /** Mise à jour des numéros de tour et des date de dernières exécutions
**/ **/
if ($incrementationDesTour) { if ($incrementationDesTour) {
$iDbCrm=new WDB('sugarcrm'); $iDbCrm=new WDB('sugarcrm');
@ -640,7 +640,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
"id_c='".$tabAdherent['idPrestationBdd']."'"); "id_c='".$tabAdherent['idPrestationBdd']."'");
} }
/** Conversion du fichier si nécessaire en CSV /** Conversion du fichier si nécessaire en CSV
**/ **/
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
$ligneOut=''; $ligneOut='';
@ -652,40 +652,40 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ecrireLignePre=false; $ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1; $typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) { switch ($typeLigne) {
case 1: // Ligne ignorée case 1: // Ligne ignorée
// Ecriture de l'entête // Ecriture de l'entête
$siren ='Siren'; $siren ='Siren';
$nic ='Nic'; $nic ='Nic';
$ref ='Référence'; $ref ='Référence';
$numPar ='Parution'; $numPar ='Parution';
$bodacc ='Bodacc'; $bodacc ='Bodacc';
$datePar='Date parution'; $datePar='Date parution';
$numAnn ='Numéro Annonce'; $numAnn ='Numéro Annonce';
$cor ='Type Annonce'; $cor ='Type Annonce';
$libTri ='Tribunal'; $libTri ='Tribunal';
$numRC ='Numéro RCS'; $numRC ='Numéro RCS';
$raisonS='Raison sociale'; $raisonS='Raison sociale';
$catEven='Chapitre'; $catEven='Chapitre';
$txtEven='Evènement(s)'; $txtEven='Evènement(s)';
$dateEve='Date évènement'; $dateEve='Date évènement';
$txtAnn ='Texte Annonce'; $txtAnn ='Texte Annonce';
$ligne001++; $ligne001++;
break; break;
case 100: // Structure Bodacc case 100: // Structure Bodacc
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn"; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$ligne100++; $ligne100++;
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$nic = trim(substr($ligne, 22, 5 )); // Nic $nic = trim(substr($ligne, 22, 5 )); // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment $dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment
$dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc... $dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc...
if ($dateEve1>0) if ($dateEve1>0)
@ -695,7 +695,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else else
$dateEve=''; $dateEve='';
$cor=''; $cor='';
if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) { switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break; case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break; case 'A': $cor='Additif'.$cor; break;
@ -703,20 +703,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
case 'S': $cor='Suppression'.$cor; break; case 'S': $cor='Suppression'.$cor; break;
default: break; default: break;
} }
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri); $libTri=$iBodacc->getTribunalNom($codeTri);
$numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise
$even=array(); $even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven=''; $txtEven='';
foreach ($even as $codeEven) foreach ($even as $codeEven)
if ($codeEven<>0) { if ($codeEven<>0) {
@ -733,21 +733,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ligne104++; $ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
break; break;
case 999: // Ligne ignorée case 999: // Ligne ignorée
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn"; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$ligne999++; $ligne999++;
$ecrireLignePre=true; $ecrireLignePre=true;
break; break;
default: // Ligne non gérée default: // Ligne non gérée
break; break;
} }
if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL); if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL);
} }
fclose($fp); fclose($fp);
echo date ('Y/m/d - H:i:s')." - Conversion du fichier $fichier_csv terminée !".EOL; echo date ('Y/m/d - H:i:s')." - Conversion du fichier $fichier_csv terminée !".EOL;
} }
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/ /*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
switch ($optionZip) { switch ($optionZip) {
case 'zip': case 'zip':
$zip = new ZipArchive; $zip = new ZipArchive;
@ -794,7 +794,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2'; $ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2';
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'); $string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$bz = bzopen($repProduction.$ficProduction,'w'); $bz = bzopen($repProduction.$ficProduction,'w');
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction // Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
if (!$bz) { if (!$bz) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else { } else {
@ -819,14 +819,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'; $ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt';
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv'; $ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
if (!copy(REP_TEMP.$ficProduction, $repProduction.$ficProduction)) if (!copy(REP_TEMP.$ficProduction, $repProduction.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été créé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été créé...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!copy(REP_TEMP.$ficProduction_csv, $repProduction.$ficProduction_csv)) if (!copy(REP_TEMP.$ficProduction_csv, $repProduction.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été créé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été créé...".EOL;
} }
break; break;
} }
@ -834,44 +834,44 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/** Sauvegarde des fichiers dans clients **/ /** Sauvegarde des fichiers dans clients **/
$repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']); $repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']);
if (!file_exists($repBakClient)) { if (!file_exists($repBakClient)) {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers BACKUP du client ne sont pas correctement créés !".EOL; echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers BACKUP du client ne sont pas correctement créés !".EOL;
if (!file_exists($repBakClient) && mkdir($repBakClient)) if (!file_exists($repBakClient) && mkdir($repBakClient))
echo date ('Y/m/d - H:i:s')." - Le dossier Backup du client a été créé ($repBakClient)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier Backup du client a été créé ($repBakClient)".EOL;
// if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv')) // if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
// echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL; // echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
} }
if (!copy($repProduction.$ficProduction, $repBakClient.'/'.$ficProduction)) if (!copy($repProduction.$ficProduction, $repBakClient.'/'.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été historisé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été historisé...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv)) if (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été historisé...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été historisé...".EOL;
} }
/** Si FTP, déplacement dans les dossiers adéquats **/ /** Si FTP, déplacement dans les dossiers adéquats **/
if ($tabAdherent['supportPrestation']=='ftp' || $tabAdherent['supportPrestation']=='web') {//$repProduction.$ficProduction if ($tabAdherent['supportPrestation']=='ftp' || $tabAdherent['supportPrestation']=='web') {//$repProduction.$ficProduction
$repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']); $repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']);
if (!file_exists($repFtpClient) || !file_exists($repFtpClient.'/recv')) { if (!file_exists($repFtpClient) || !file_exists($repFtpClient.'/recv')) {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers FTP du client ne sont pas correctement créés !".EOL; echo date ('Y/m/d - H:i:s')." - ATTENTION : Les dossiers FTP du client ne sont pas correctement créés !".EOL;
if (!file_exists($repFtpClient) && mkdir($repFtpClient)) if (!file_exists($repFtpClient) && mkdir($repFtpClient))
echo date ('Y/m/d - H:i:s')." - Le dossier FTP du client a été créé ($repFtpClient)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier FTP du client a été créé ($repFtpClient)".EOL;
if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv')) if (!file_exists($repFtpClient.'/recv') && mkdir($repFtpClient.'/recv'))
echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL; echo date ('Y/m/d - H:i:s')." - Le dossier FTP/RECV du client a été créé ($repFtpClient/recv)".EOL;
} }
if (!move($repProduction.$ficProduction, $repFtpClient.'/recv/'.$ficProduction)) if (!move($repProduction.$ficProduction, $repFtpClient.'/recv/'.$ficProduction))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction dans FTP/RECV impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction dans FTP/RECV impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été déplacé dans FTP/RECV...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction a été déplacé dans FTP/RECV...".EOL;
if ($tabAdherent['formatEnvois']=='csv') { if ($tabAdherent['formatEnvois']=='csv') {
if (!move($repProduction.$ficProduction_csv, $repFtpClient.'/recv/'.$ficProduction_csv)) if (!move($repProduction.$ficProduction_csv, $repFtpClient.'/recv/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv dans FTP/RECV impossible !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier $ficProduction_csv dans FTP/RECV impossible !".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été déplacé dans FTP/RECV...".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier $ficProduction_csv a été déplacé dans FTP/RECV...".EOL;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,8 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini #!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php <?php
/*
$tabSiret=array(19330142100015,
19331460600016,
39186692800016,
15400073100013,
39909992800018,
18330008600067
);*/
function exporte($txt, $lon, $sep="\t") { function exporte($txt, $lon, $sep="\t") {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -43,11 +35,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
$siretReprise=0; $siretReprise=0;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Mise à jour des champs complexes de la table 'etablissement_act' et génération du fichier spécifique Véolia. Mise à jour des champs complexes de la table 'etablissement_act' et génération du fichier spécifique Véolia.
Options : Options :
-r:SIRET Reprendre après ce siret -r:SIRET Reprendre après ce siret
-v Verbosité maximum -v Verbosité maximum
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -82,107 +74,11 @@ echo date ('Y/m/d - H:i:s')." - Il y a $nbRows communes avec des adresses de dom
while($tabCom=$iDb->fetch(MYSQL_ASSOC)) while($tabCom=$iDb->fetch(MYSQL_ASSOC))
$tabComDom['_'.$tabCom['depComEt']]=1; $tabComDom['_'.$tabCom['depComEt']]=1;
/*
$nbRows=$iDb->select('etablissements_act', 'DISTINCT sirenGrp', 'sirenGrp>1000', false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbRows groupes à mettre à jour...".EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$entrep['sirenGrp'];
$iDb2->update('etablissements_act', array('sirenGrp'=>$siren), "siren=$siren") or die('Err4:'.mysql_error());
}
die();
*
$fields='id, siren, nic, adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com';
$nbRows=$iDb->select('etablissements_act', 'COUNT(*) AS nb', '1', true, MYSQL_ASSOC);
$nbRowsTot=$nbRows[0]['nb'];
echo date('Y/m/d - H:i:s') ." - Début de l'export des $nbRowsTot établissements actifs...".EOL;
$iLimitNb=100000;
for ($iLimit=8100000; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) {
$nbRows=$iDb->select('etablissements_act', $fields, "1 LIMIT $iLimit, $iLimitNb", true, MYSQL_ASSOC, true);
if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser ($iLimit, $iLimitNb)...".EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$numRow++;
$siren=$entrep['siren'];
$nic=$entrep['nic'];
$siret=$siren.$nic;
$dep=$entrep['adr_dep'];
$com=$entrep['adr_com'];
if ($dep*1>0 && $dep*1<10) { $dep=$dep*1; $depCom='0'.$dep.$com; }
else $depCom=substr(''.$dep,0,2).$com;
if (@$tabComDom['_'.$depCom]==1) {
//echo date('Y/m/d - H:i:s') ." - $depCom dans \$tabCom...".EOL;
$tabDom=@$iInsee->infoAdresseDom( $entrep['adr_num'],
$entrep['adr_btq'],
$entrep['adr_typeVoie'],
$entrep['adr_libVoie'],
$entrep['adr_comp'],
$entrep['adr_cp'],
$entrep['adr_ville']);
if (is_array($tabDom) && count($tabDom)>0) {
$nbDom++;
$tabUpdate=array('adrDom'=>1);
if (preg_match('/^CHEZ (.*)$/i',$entrep['adr_comp'], $matches) &&
!preg_match('/ M | M. | MR | MME | MLLE /i',$entrep['adr_comp']))
$tabUpdate=array('adrDom'=>2);
$iDb->update('etablissements_act', $tabUpdate, "siren=$siren AND nic=$nic");
}
}// else echo date('Y/m/d - H:i:s') ." - $depCom hors \$tabCom...".EOL;
}
}
die();
*/
$iBilan=new MBilans(0); $iBilan=new MBilans(0);
$iCotation=new ICotation(array()); $iCotation=new ICotation(array());
$iLiens=new MLiens(0); $iLiens=new MLiens(0);
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Etablissements.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Etablissements.\n";
/*
// DEBUT TEST maisonMere
//$nbRows=$iDb->select('etablissements_act', 'DISTINCT siren', 'nbActio>0 AND siren>10000 AND sirenGrp IS NULL', true, MYSQL_ASSOC, true);
$nbRows=$iDb->select('etablissements_act', 'DISTINCT siren', 'nbActio>0 AND siren>439752767 AND sirenGrp IS NULL', true, MYSQL_ASSOC, true);
$j=0;
$tabSirenVisites=array();
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$j++;
$siren=$entrep['siren'];
echo date ('Y/m/d - H:i:s')." - $j/$nbRows - Siren $siren : ";
if (isset($tabSirenVisites[$siren*1])) {
$sirenMere=$tabSirenVisites[$siren];
if ($siren<>$sirenMere)
echo "maison mère $sirenMere (EN CACHE)";
} else {
$sirenMere=@$iLiens->getMaisonMereFr($siren);
if ($siren<>$sirenMere) {
echo "maison mère $sirenMere";
foreach ($iLiens->tabSirenVisites as $siren1) {
$tabSirenVisites[$siren1*1]=$sirenMere;
}
}
}
echo EOL;
if ($siren<>$sirenMere)
$iDb2->update('etablissements_act', array('sirenGrp'=>$sirenMere), "siren=$siren") or die('Err3:'.mysql_error());
}
die("$nbRows traitées".EOL);
// FIN TEST maisonMere
*/
/*
$tabBilans=array();
$nbRows=$iDb->select('bilans', 'DISTINCT siren', "dateExercice>=20080101 AND typeBilan IN('N','S')", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec Bilans...".EOL;
while($tabBilan=$iDb->fetch(MYSQL_ASSOC)) {
$tabBilans[]=$tabBilan['siren'];
}*/
$fields='id, source, source_id, triCode, autre_id, siren, nic, siege, raisonSociale, enseigne, sigle, $fields='id, source, source_id, triCode, autre_id, siren, nic, siege, raisonSociale, enseigne, sigle,
adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com, tel, fax, adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com, tel, fax,
@ -190,17 +86,18 @@ cj, capital, capitalDev, capitalSrc, ape_etab, ape_entrep, age_entrep, age_etab,
ape4_etab, ape4_entrep, dateCrea_etab, teff_entrep, teff_etab, eff_entrep, eff_etab, distSP, achPost, ape4_etab, ape4_entrep, dateCrea_etab, teff_entrep, teff_etab, eff_entrep, eff_etab, distSP, achPost,
dirCiv, dirNom, dirPrenom, dirFct, nbEtab, nbActio, bilType, bilEE, bilFL, bilFK, bilFR, bilGF, bilGP, bilGU, bilGW, bilHD, bilHH, bilHL, bilHM, bilHN, bilYP, tvaIntraValide, tvaIntraCle'; dirCiv, dirNom, dirPrenom, dirFct, nbEtab, nbActio, bilType, bilEE, bilFL, bilFK, bilFR, bilGF, bilGP, bilGU, bilGW, bilHD, bilHH, bilHL, bilHM, bilHN, bilYP, tvaIntraValide, tvaIntraCle';
$nbRows=$iDb->select('etablissements_act', 'COUNT(*) AS nb', '1', true, MYSQL_ASSOC); //if (0) {
$nbRows=$iDb->select('etablissements_actmp', 'COUNT(*) AS nb', '1', false, MYSQL_ASSOC);
$nbRowsTot=$nbRows[0]['nb']; $nbRowsTot=$nbRows[0]['nb'];
echo date('Y/m/d - H:i:s') ." - Début de l'export des $nbRowsTot établissements actifs...".EOL; echo date('Y/m/d - H:i:s') ." - Début de l'export des $nbRowsTot établissements actifs...".EOL;
$iLimitNb=100000; $iLimitNb=100000;
$fp=fopen('./veolia_'.date('Ymd').'.txt','w'); $fp=fopen('./veolia_'.date('Ymd').'.txt','w');
for ($iLimit=0; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) { for ($iLimit=0; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) {
$nbRows=$iDb->select('etablissements_act', $fields, "1 LIMIT $iLimit, $iLimitNb", true, MYSQL_ASSOC, true); $nbRows=$iDb->select('etablissements_actmp', $fields, "1 LIMIT $iLimit, $iLimitNb", false, MYSQL_ASSOC, true);
if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL); if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser ($iLimit, $iLimitNb)...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser ($iLimit, $iLimitNb)...".EOL;
$numRow=$sirenPre=0; $numRow=$sirenPre=0;
$tabTva=array(); $tabTva=array();
@ -213,10 +110,10 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$nic=$entrep['nic']; $nic=$entrep['nic'];
$siret=$siren.$nic; $siret=$siren.$nic;
// Ne prendre que les siren passés en paramètre ? // Ne prendre que les siren passés en paramètre ?
//if (!in_array($siret, $tabSiret)) continue; //if (!in_array($siret, $tabSiret)) continue;
// Reprendre que à partir du siret... // Reprendre que à partir du siret...
if ($siret*1<$siretReprise) continue; if ($siret*1<$siretReprise) continue;
//if ($entrep['bilType']<>'R') continue; //if ($entrep['bilType']<>'R') continue;
@ -249,7 +146,7 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if (($entrep['source']*1)==2 && ($entrep['capitalSrc']*1)==2) if (($entrep['source']*1)==2 && ($entrep['capitalSrc']*1)==2)
$strOutput.=exporte('I', 1); // Source INSEE $strOutput.=exporte('I', 1); // Source INSEE
else else
$strOutput.=exporte('S', 1); // Source Scores & Décisions $strOutput.=exporte('S', 1); // Source Scores & Décisions
if ($entrep['dirCiv']==0 || $entrep['dirCiv']=='') $civ=''; if ($entrep['dirCiv']==0 || $entrep['dirCiv']=='') $civ='';
elseif ($entrep['dirCiv']*1==1) $civ='M'; elseif ($entrep['dirCiv']*1==1) $civ='M';
@ -300,7 +197,7 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} }
if ($siren<>$sirenPre) { if ($siren<>$sirenPre) {
// Lecture du numéro de TVA // Lecture du numéro de TVA
$tvaValide=$entrep['tvaIntraValide']; $tvaValide=$entrep['tvaIntraValide'];
$tvaCle=$entrep['tvaIntraCle']; $tvaCle=$entrep['tvaIntraCle'];
if ($tvaCle===null) { if ($tvaCle===null) {
@ -309,7 +206,7 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} else } else
$tabTva=array(); $tabTva=array();
// Recherche du siren de la maison mère // Recherche du siren de la maison mère
if ($entrep['nbActio']>0) { if ($entrep['nbActio']>0) {
if (isset($tabSirenVisites[$siren*1])) { if (isset($tabSirenVisites[$siren*1])) {
$sirenMere=$tabSirenVisites[$siren]; $sirenMere=$tabSirenVisites[$siren];
@ -352,14 +249,14 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$strOutput.=exporte($effectifFr, 6); $strOutput.=exporte($effectifFr, 6);
$strOutput.=exporte($entrep['eff_etab'], 6); $strOutput.=exporte($entrep['eff_etab'], 6);
if (@count($tabPostes)>1) { if (@count($tabPostes)>10) {
$montantCA=@$tabPostes['FL']*$uniteMultiple; $montantCA=@$tabPostes['FL']*$uniteMultiple;
$strOutput.=exporte('R', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('R', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte(str_replace('NS','', @$tabPostes['FL']*$uniteMultiple), 13); $strOutput.=exporte(str_replace('NS','', @$tabPostes['FL']*$uniteMultiple), 13);
$strOutput.=exporte(str_replace('NS','', @$tabPostes['FK']*$uniteMultiple), 13); $strOutput.=exporte(str_replace('NS','', @$tabPostes['FK']*$uniteMultiple), 13);
$strOutput.=exporte(str_replace('NS','', @$tabPostes['HN']*$uniteMultiple), 13); $strOutput.=exporte(str_replace('NS','', @$tabPostes['HN']*$uniteMultiple), 13);
$iDb2->update('etablissements_act', $iDb2->update('etablissements_actmp',
array_merge($tabTva, $tabNace, array_merge($tabTva, $tabNace,
array( 'bilType' =>'R', array( 'bilType' =>'R',
'bilAnnee' =>@substr($tabBilan['dateExercice'],0,4), 'bilAnnee' =>@substr($tabBilan['dateExercice'],0,4),
@ -384,11 +281,11 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) { } elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) {
$caEstime=$iInsee->getCAnafEffectif($naf5, $effectifFr); $caEstime=$iInsee->getCAnafEffectif($naf5, $effectifFr);
$strOutput.=exporte('E', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('E', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte($caEstime, 13); // CA France $strOutput.=exporte($caEstime, 13); // CA France
$strOutput.=exporte('', 13); // CA Export $strOutput.=exporte('', 13); // CA Export
$strOutput.=exporte('', 13); // Résultat Net $strOutput.=exporte('', 13); // Résultat Net
$iDb2->update('etablissements_act', $iDb2->update('etablissements_actmp',
array_merge($tabTva, $tabNace, array_merge($tabTva, $tabNace,
array( 'bilType' =>'E', array( 'bilType' =>'E',
'bilAnnee' =>$anneeEstime, 'bilAnnee' =>$anneeEstime,
@ -398,11 +295,11 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
'bilFL' =>$caEstime)), 'bilFL' =>$caEstime)),
"siren=$siren AND nic=$nic") or die('Err2'); "siren=$siren AND nic=$nic") or die('Err2');
} else { } else {
$strOutput.=exporte('I', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('I', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);
$iDb2->update('etablissements_act', array_merge($tabTva, $tabNace), "siren=$siren AND nic=$nic") or die('Err3:'.mysql_error()); $iDb2->update('etablissements_actmp', array_merge($tabTva, $tabNace), "siren=$siren AND nic=$nic") or die('Err3:'.mysql_error());
} }
$strOutput.=exporte($naf5, 5); $strOutput.=exporte($naf5, 5);
@ -417,25 +314,38 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} }
} }
$nbRows=$iDb->select('etablissements_act', 'DISTINCT sirenGrp', 'sirenGrp>1000', false, MYSQL_ASSOC, true); $nbRows=$iDb->select('etablissements_actmp', 'DISTINCT sirenGrp', 'sirenGrp>1000', false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbRows groupes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbRows groupes à mettre à jour...".EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$entrep['sirenGrp']; $siren=$entrep['sirenGrp'];
$iDb2->update('etablissements_act', array('sirenGrp'=>$siren), "siren=$siren") or die('Err4:'.mysql_error()); $iDb2->update('etablissements_actmp', array('sirenGrp'=>$siren), "siren=$siren") or die('Err4:'.mysql_error());
} }
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion des Entreprises.\n";
$tabNaf5inconnu=array_unique($tabNaf5inconnu); $tabNaf5inconnu=array_unique($tabNaf5inconnu);
$tabNaf4inconnu=array_unique($tabNaf4inconnu); $tabNaf4inconnu=array_unique($tabNaf4inconnu);
//}
/** Mise à jour de la date de fin de création de la table **/ /** Mise à jour de la date de fin de création de la table **/
$iDb=new WDB('sdv1'); $iDb=new WDB('sdv1');
$ret=$iDb->select('sphinx_idx', 'id', "nom='jo.etablissement_act' AND createBegin IS NOT NULL AND createBegin<NOW() AND createEnd IS NULL AND indexingBegin IS NULL AND indexingEn IS NULL", false); $ret=$iDb->select('sphinx_idx', 'id', "nom='jo.etablissements_act' AND createBegin IS NOT NULL AND createBegin<NOW() AND createEnd IS NULL AND indexingBegin IS NULL AND indexingEnd IS NULL", false);
$id=@$ret[0][0]; $id=@$ret[0][0];
$iDb->update('sphinx_idx', array('sirenGrp'=>$siren), "id=$id") or die('Err5:'.mysql_error()); $iDb->update('sphinx_idx', array('createEnd'=>date('YmdHis')), "id=$id") or die('Err5:'.mysql_error());
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Diffusion Entreprise", "$numRow établissements actifs diffusés".EOL.print_r($tabNaf5inconnu, true) .EOL. print_r($tabNaf4inconnu,true) ); echo date ('Y/m/d - H:i:s')." - Historisation des anciens établissements...".EOL;
if (!$iDb->query("INSERT IGNORE INTO jo.etablissements_act_histo SELECT * FROM jo.etablissements_act;"))
die($iDb->getLastError());
echo date ('Y/m/d - H:i:s')." - Rotation des tables 'etablissements_act'...".EOL;
if (!$iDb->query("DROP TABLE jo.etablissements_act_old;"))
die($iDb->getLastError());
if (!$iDb->query("RENAME TABLE jo.etablissements_act TO jo.etablissements_act_old;"))
die($iDb->getLastError());
if (!$iDb->query("RENAME TABLE jo.etablissements_actmp TO jo.etablissements_act;"))
die($iDb->getLastError());
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion des Entreprises.\n";
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Diffusion Entreprise", "$numRow établissements actifs diffusés".EOL.print_r($tabNaf5inconnu, true) .EOL. print_r($tabNaf4inconnu,true) );
die(); die();

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
<?php <?php
function exporte($txt, $lon=-1, $sep="|") { function exporte($txt, $lon=-1, $sep="|") {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($lon==-1) return $txt.$sep; if ($lon==-1) return $txt.$sep;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -52,19 +52,24 @@ $nbSirValides=$nbSirInvalides=0;
$nbNicValides=$nbNicInvalides=0; $nbNicValides=$nbNicInvalides=0;
$nbInsert=0; $nbInsert=0;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger] $eff69=$dateDebut=$nafAMS=false;
Traitement spécifique Adecco Diffusion des Mise à jour des champs complexes de la table 'etablissement_act' et génération du fichier spécifique Véolia.
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Adecco Diffusion des Mise à jour des champs complexes de la table 'etablissement_act' et génération du fichier spécifique Véolia.
Options : Options :
-1 Prestation 1 Mise à jour du stock Adecco -1 Prestation 1 Mise à jour du stock Adecco
-2 Prestation 2 Ajout des établissements de + de 10 salariés absent du stock Adecco -2 Prestation 2 Ajout des établissements de + de 10 salariés absent du stock Adecco
-a=SSAAMMJJ Prestation 3A Créations mensuelles d'établissements de + de 10 salariés depuis le SSAAMMJJ -a=SSAAMMJJ Prestation 3A Créations mensuelles d'établissements de + de 10 salariés depuis le SSAAMMJJ
-b=SSAAMMJJ Prestation 3B Fermeture mensuelles d'établissements depuis le SSAAMMJJ -b=SSAAMMJJ Prestation 3B Fermeture mensuelles d'établissements depuis le SSAAMMJJ
-c Prestation 3C Stock des liens groupes des établissements de + de 10 salariés -c Prestation 3C Stock des liens groupes des établissements de + de 10 salariés
-p Purger la table addeco_out -p Purger la table addeco_out
-r=SIRET Reprendre au siret supérieur -r=SIRET Reprendre au siret supérieur
-v Verbosité maximum -v Verbosité maximum
-m Traitement AMS
-6 Traitement des 6 à 9 salariés
"; ";
$presta2='';
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']>1) if ($_SERVER['argc']>1)
@ -74,8 +79,10 @@ if ($_SERVER['argc']>1)
switch (strtolower(substr($argv[$i],1,1))) { switch (strtolower(substr($argv[$i],1,1))) {
case '1': $presta=1; break; case '1': $presta=1; break;
case '2': $presta=2; break; case '2': $presta=2; break;
case 'a': $presta=3.1; break; case '6': $eff69=true; $presta2='_69'; break;
case 'b': $presta=3.2; break; case 'm': $nafAMS=true; $presta2='ams'; break;
case 'a': $presta=3.1; $dateDebut=substr($argv[$i],3); break;
case 'b': $presta=3.2; $dateDebut=substr($argv[$i],3); break;
case 'c': $presta=3.3; break; case 'c': $presta=3.3; break;
case 'p': $purge=true; break; case 'p': $purge=true; break;
case 'r': $siretReprise=substr($argv[$i],3); break; case 'r': $siretReprise=substr($argv[$i],3); break;
@ -88,12 +95,19 @@ if ($_SERVER['argc']>1)
} }
} }
// Si pas de date de début alors on prend le 1er jour du mois précédent
if (!$dateDebut) $dateDebut=date('Ymd', mktime(0, 0, 0, date('m')-1, 1, date('Y')));
$dateDebIniYmd=20111201; // Date de début de sdémarrage de la prestation Adecco
$dateDebYmd=substr($dateDebut,0,6).'01';
$dateFinYmd=date('Ymt', mktime(0, 0, 0, substr($dateDebut,4,2), 1, substr($dateDebut,0,4)));
$mailTo='jproust@scores-decisions.com,ylenaour@scores-decisions.com,support@scores-decisions.com,fabienne.sourbier@adecco-groupe.fr,frederic.montagne@adecco-groupe.fr';
if (count($tabFichier)==1) { if (count($tabFichier)==1) {
/* Chargement du fichier Entrant adecco */ /* Chargement du fichier Entrant adecco */
$nomFichier=$tabFichier[0]; $nomFichier=$tabFichier[0];
$fp=fopen($nomFichier, 'r'); $fp=fopen($nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier Adecco à traiter ('".$nomFichier."') !".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier Adecco à traiter ('".$nomFichier."') !".EOL;
echo date ('Y/m/d - H:i:s')." - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s')." - Fin du traitement".EOL;
die(); die();
} }
@ -105,14 +119,14 @@ if (count($tabFichier)==1) {
$a = trim(fgets($fp, 4096)); $a = trim(fgets($fp, 4096));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier '$nomFichier' ($nbLignes lignes à traiter).".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier '$nomFichier' ($nbLignes lignes à traiter).".EOL;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$ligne = trim(fgets($fp, 4096)); $ligne = trim(fgets($fp, 4096));
if ($ligne<>'adREF|adSIREN|adNIC|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adNAF2008|adTRANCHE_EFFECTIF|adCEDEX|adCODE_COMMUNE|adVILLE|adVILLE_CDX|ADSE') if ($ligne<>'adREF|adSIREN|adNIC|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adNAF2008|adTRANCHE_EFFECTIF|adCEDEX|adCODE_COMMUNE|adVILLE|adVILLE_CDX|ADSE')
die('Première ligne du flux Adecco innatendue !'.EOL); die('Première ligne du flux Adecco innatendue !'.EOL);
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$nbLignesLues=1; $nbLignesLues=1;
while (!feof($fp)) while (!feof($fp))
@ -154,11 +168,11 @@ if (count($tabFichier)==1) {
$a['siret']=''.$tabEtab[1].''.$tabEtab[2]; $a['siret']=''.$tabEtab[1].''.$tabEtab[2];
if ($iDb3->insert('adecco_in', $a)) if ($iDb3->insert('adecco_in', $a))
$nbInsert++; $nbInsert++;
else elseif (mysql_errno()<>1062)
die(mysql_error().EOL); die(mysql_error().EOL);
} }
echo date ('Y/m/d - H:i:s')." - Fin du traitement du fichier '$nomFichier' ($nbLignes/$nbLignesLues lignes traitées dont $nbInsert insérées).".EOL; echo date ('Y/m/d - H:i:s')." - Fin du traitement du fichier '$nomFichier' ($nbLignes/$nbLignesLues lignes traitées dont $nbInsert insérées).".EOL;
} }
if ($presta<>1 && $presta<>2 && $presta<>3.1 && $presta<>3.2 && $presta<>3.3) { if ($presta<>1 && $presta<>2 && $presta<>3.1 && $presta<>3.2 && $presta<>3.3) {
@ -166,28 +180,32 @@ if ($presta<>1 && $presta<>2 && $presta<>3.1 && $presta<>3.2 && $presta<>3.3) {
echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL; echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL;
die(); die();
} }
///home/data/clients/adecco/
$fp=fopen('./adecco'.$presta."_$date.txt",'w'); $nomFichier='/home/data/clients/adecco/adecco'.$presta.$presta2."_$date.txt";
// Ligne d'entête $fp=fopen($nomFichier,'w');
fwrite($fp, "adSIREN|adNIC|adREF|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adVILLE|adSE|SIREN|NIC|L1_NOMEN|L2_COMP|L3_CADR|L4_VOIE|L5_DISP|L6_POST|L7_ETRG|ZR1|RPET|DEPET|ARRONET|CTONET|COMET|LIBCOM|DU|TU|UU|CODPOS|ZR2|TCD|ZEMET|CODEVOIE|NUMVOIE|INDREP|TYPVOIE|LIBVOIE|ENSEIGNE|APET700|ZR3|SIEGE|TEFET|EFETCENT|ORIGINE|DCRET|MMINTRET|ACTIVNAT|LIEUACT|ACTISURF|SAISONAT|MODET|DAPET|DEFET|EXPLET|PRODPART|AUXILT|EAEANT|EAEAPET|EAESEC1T|EAESEC2T|NOMEN|SIGLE|CIVILITE|CJ|TEFEN|EFENCENT|APEN700|ZR4|APRM|TCA|RECME|DAPEN|DEFEN|DCREN|MMINTREN|MONOACT|MODEN|EXPLEN|EAEANN|EAEAPEN|EAESEC1N|EAESEC2N|EAESEC3N|EAESEC4N|NBETEXPL|TCAEXP|REGIMP|MONOREG|RPEN|DEPCOMEN|sdActif|sdEvenDate|sdEven|sdNomPrenomDir|sdYP|sdPctAct|sdSirenAct|sdNomAct".EOL); // Ligne d'entête
if ($presta<>3.2 && $presta<>3.3)
fwrite($fp, "adSIREN|adNIC|adREF|adRAISON_SOCIALE|adADRESSE|adFILLER|adCP|adVILLE|adSE|SIREN|NIC|L1_NOMEN|L2_COMP|L3_CADR|L4_VOIE|L5_DISP|L6_POST|L7_ETRG|ZR1|RPET|DEPET|ARRONET|CTONET|COMET|LIBCOM|DU|TU|UU|CODPOS|ZR2|TCD|ZEMET|CODEVOIE|NUMVOIE|INDREP|TYPVOIE|LIBVOIE|ENSEIGNE|APET700|ZR3|SIEGE|TEFET|EFETCENT|ORIGINE|DCRET|MMINTRET|ACTIVNAT|LIEUACT|ACTISURF|SAISONAT|MODET|DAPET|DEFET|EXPLET|PRODPART|AUXILT|EAEANT|EAEAPET|EAESEC1T|EAESEC2T|NOMEN|SIGLE|CIVILITE|CJ|TEFEN|EFENCENT|APEN700|ZR4|APRM|TCA|RECME|DAPEN|DEFEN|DCREN|MMINTREN|MONOACT|MODEN|EXPLEN|EAEANN|EAEAPEN|EAESEC1N|EAESEC2N|EAESEC3N|EAESEC4N|NBETEXPL|TCAEXP|REGIMP|MONOREG|RPEN|DEPCOMEN|sdActif|sdEvenDate|sdEven|sdNomPrenomDir|sdYP|sdPctAct|sdSirenAct|sdNomAct".EOL);
//exporteAdecco('32392385400059','ref',$fp, $presta,'','','','',''); //exporteAdecco('32392385400059','ref',$fp, $presta,'','','','','');
//die(); //die();
if ($purge) { if ($purge) {
$iDb3->query('/*TRUNCATE TABLE adecco_out;*/'); //$iDb3->query('/*TRUNCATE TABLE adecco_out;*/');
} }
if ($presta==1) { if ($presta==1) {
if ($siretReprise) $strReprise=" AND CONCAT(adSIREN,adNIC)>$siretReprise ";
//$nbRows=$iDb->select('tmp.adecco', 'REF, SIREN, NIC, siret, RAISON_SOCIALE, ADRESSE, FILLER, CP, VILLE', "nafet IN('7810Z', '7820Z', '7830Z')", true, MYSQL_ASSOC, true); //$nbRows=$iDb->select('tmp.adecco', 'REF, SIREN, NIC, siret, RAISON_SOCIALE, ADRESSE, FILLER, CP, VILLE', "nafet IN('7810Z', '7820Z', '7830Z')", true, MYSQL_ASSOC, true);
if ($eff69) $where="moinsDe10=1"; else $where='1';
$nbRows=$iDb->select('tmp.adecco_in', $nbRows=$iDb->select('tmp.adecco_in',
'adRef AS REF, adSIREN AS SIREN, adNIC AS NIC, CONCAT(adSIREN,adNIC) AS siret, adRAISON_SOCIALE AS RAISON_SOCIALE, adADRESSE AS ADRESSE, adFILLER AS FILLER, adCP AS CP, adVILLE AS VILLE, ADSE/*CODE_COMMUNE, CEDEX*/', 'adRef AS REF, adSIREN AS SIREN, adNIC AS NIC, CONCAT(adSIREN,adNIC) AS siret, adRAISON_SOCIALE AS RAISON_SOCIALE, adADRESSE AS ADRESSE, adFILLER AS FILLER, adCP AS CP, adVILLE AS VILLE, ADSE/*CODE_COMMUNE, CEDEX*/',
'1', true, MYSQL_ASSOC, true); "$where $strReprise ORDER BY adSIREN ASC, adNIC ASC", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) { while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta, $tabTmp['RAISON_SOCIALE'], $tabTmp['ADRESSE'], $tabTmp['FILLER'], $tabTmp['CP'], $tabTmp['VILLE'], $tabTmp['ADSE']); exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta, $eff69, $nafAMS, $tabTmp['RAISON_SOCIALE'], $tabTmp['ADRESSE'], $tabTmp['FILLER'], $tabTmp['CP'], $tabTmp['VILLE'], $tabTmp['ADSE']);
} }
/** @toto Presta 1 : /** @toto Presta 1 :
- enregistrer chaque ligne fourni en bdd - enregistrer chaque ligne fourni en bdd
- vérifier les fusions - vérifier les fusions
*/ */
} elseif ($presta==3.1) { } elseif ($presta==3.1) {
$iDb->query('SELECT siretTrouve AS siret FROM tmp.adecco_out UNION SELECT siret FROM tmp.adecco_out;'); $iDb->query('SELECT siretTrouve AS siret FROM tmp.adecco_out UNION SELECT siret FROM tmp.adecco_out;');
@ -199,26 +217,50 @@ if ($presta==1) {
} }
$tabSiret=array_unique($tabSiret); $tabSiret=array_unique($tabSiret);
$nbRows=count($tabSiret); $nbRows=count($tabSiret);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL;
/** Les Créations d'étab>10 **/ /** Les Créations d'étab>10 **/
/*if ($eff69) $where10='AND (insEFENCENT>5 || insTEFET>2)';
elseif($nafAMS) $where10="AND (insTEFET IN ('00','01','02') OR insEFENCENT BETWEEN 1 AND 5) AND insCJ BETWEEN 4000 AND 6999
AND insAPET700 IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B')";
else $where10='AND (insEFENCENT>9 || insTEFET>10)';*/
$where10="AND (insEFENCENT>5 OR insTEFET>2 OR ((insTEFET IN ('00','01','02') OR insEFENCENT BETWEEN 1 AND 5) AND insCJ BETWEEN 4000 AND 6999
AND insAPET700 IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B')))";
if ($siretReprise) $strReprise=" AND CONCAT(insSIREN, insNIC)>$siretReprise ";
if ($dateDebut && $dateDebut>19800101 && $dateDebut<=date('Ymd')) $strDateDeb=" AND (insDCRET BETWEEN $dateDebIniYmd AND $dateFinYmd OR insDCREN BETWEEN $dateDebYmd AND $dateFinYmd)";
$nbRows=$iDb->select('insee.insee_even', "'' AS REF, insSIREN AS SIREN, insNIC AS NIC, concat(insSIREN, insNIC) AS siret", $nbRows=$iDb->select('insee.insee_even', "'' AS REF, insSIREN AS SIREN, insNIC AS NIC, concat(insSIREN, insNIC) AS siret",
"insCJ NOT BETWEEN 3000 AND 3999 AND insAPET700 NOT IN ('6820B','7020Z') AND "insCJ NOT BETWEEN 3000 AND 3999 AND insAPET700 NOT IN ('6820B','7020Z') AND
(insEVE IN ('110','120','125','130','145','M0C','M0R') OR (insEVE IN ('110','120','125','130','145','M0C','M0R') OR
insEVE IN ('510','520') AND insTYPETAB IN(9,11,21,31)) AND insEVE IN ('510','520') AND insTYPETAB IN(9,11,21,31)) $strDateDeb $where10 $strReprise
(insDATEVE>=20111201 OR insDCRET>=20111200) AND (insEFENCENT>9 || insTEFET>10) AND idFlux>='2011-12-01' AND idFlux<='2012-05-01' GROUP BY siret", true, MYSQL_ASSOC, true); GROUP BY siret ORDER BY siret ASC", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
echo mysql_error().EOL; echo mysql_error().EOL;
if (mysql_errno()>0) die(); if (mysql_errno()>0) die();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) { while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
if (!in_array($tabTmp['siret'], $tabSiret)) if (!in_array($tabTmp['siret'], $tabSiret))
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta); exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta, $eff69, $nafAMS);
} }
} elseif ($presta==3.2) { } elseif ($presta==3.2) {
/** Toutes les Fermetures **/ /** Toutes les Fermetures **/
$iDb->query('SELECT CONCAT(siren,nic) AS siret FROM tmp.adecco_fermetures;');
echo mysql_error().EOL;
if (mysql_errno()>0) die();
$tabSiret=array();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$tabSiret[]=$tabTmp['siret'];
}
$tabSiret=array_unique($tabSiret);
$nbRows=count($tabSiret);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL;
$dateDebYmd=20120701;
if ($siretReprise) $strReprise=" AND CONCAT(insSIREN, insNIC)>$siretReprise ";
if ($dateDebut && $dateDebut>19800101 && $dateDebut<=date('Ymd')) $strDateDeb=" AND insDATEVE BETWEEN $dateDebYmd AND $dateFinYmd ";
else die('Préciser une date de début valide !'.EOL);
$nbRows=$iDb->select('insee.insee_even', "'' AS REF, insSIREN AS SIREN, insNIC AS NIC, concat(insSIREN, insNIC) AS siret, insDATEVE, insEVE", $nbRows=$iDb->select('insee.insee_even', "'' AS REF, insSIREN AS SIREN, insNIC AS NIC, concat(insSIREN, insNIC) AS siret, insDATEVE, insEVE",
"(insEVE IN ('400','410','430','435','795','810','M0F') OR "(insEVE IN ('400','410','430','435','795','810','M0F') OR
insEVE IN ('510','530') AND insTYPETAB IN(8,10,20,30)) AND insDATEVE>=20111201 AND idFlux>='2011-12-01' GROUP BY siret", true, MYSQL_ASSOC, true); insEVE IN ('510','530') AND insTYPETAB IN(8,10,20,30)) $strDateDeb $strReprise GROUP BY siret ORDER BY siret ASC", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
echo mysql_error().EOL; echo mysql_error().EOL;
if (mysql_errno()>0) die(); if (mysql_errno()>0) die();
fwrite($fp, "adSIREN|adNIC|sdActif|sdEvenDate|sdEven".EOL); fwrite($fp, "adSIREN|adNIC|sdActif|sdEvenDate|sdEven".EOL);
@ -228,7 +270,7 @@ if ($presta==1) {
case '400': $even.='suppression du doublon '; break; case '400': $even.='suppression du doublon '; break;
case '410': $even.='cessation juridique de l\'entreprise '; break; case '410': $even.='cessation juridique de l\'entreprise '; break;
case '420': case '420':
case '425': $even.='cessation économique de l\'entreprise '; break; case '425': $even.='cessation économique de l\'entreprise '; break;
case 'M0F': case 'M0F':
case '430': case '430':
case '435': $even.='fermeture de l\'etablissement '; break; case '435': $even.='fermeture de l\'etablissement '; break;
@ -238,19 +280,35 @@ if ($presta==1) {
case '621': case '621':
case '650': $even.='cessation economique de l\'etablissement '; break; case '650': $even.='cessation economique de l\'etablissement '; break;
case '795': $even.='personne radiee a sa demande de SIRENE diffusion '; break; case '795': $even.='personne radiee a sa demande de SIRENE diffusion '; break;
case '810': $even.='suppression du siren suite à refus RCS'; break; case '810': $even.='suppression du siren suite à refus RCS'; break;
default: $even.=' '; break; default: $even.=' '; break;
} }
$strOut=$tabTmp['SIREN'].'|'.$tabTmp['NIC'].'|0|'.$tabTmp['insDATEVE'].'|'.trim($even).EOL; $strOut=$tabTmp['SIREN'].'|'.$tabTmp['NIC'].'|0|'.$tabTmp['insDATEVE'].'|'.trim($even).EOL;
if ($fp) fwrite($fp, str_replace(';',' ',$strOut)); if ($fp) {
if (!in_array($tabTmp['SIREN'].$tabTmp['NIC'], $tabSiret)) {
fwrite($fp, str_replace(';',' ',$strOut));
$iDb3->insert('adecco_fermetures', array( 'siren'=>$tabTmp['SIREN'],
'nic'=>$tabTmp['NIC'],
'evenDate'=>$tabTmp['insDATEVE'],
'even'=>trim($even),
'presta'=>$presta,
'prestaDate'=>$date));
}
}
echo $strOut; echo $strOut;
} }
} elseif ($presta==3.3) { } elseif ($presta==3.3) {
if ($siretReprise) $strReprise=" AND concat(siren,nic)>$siretReprise "; if ($siretReprise) $strReprise=" AND concat(siren,nic)>$siretReprise ";
/** Toutes les Liens Groupe des étabs > 9 salariés **/ /** Toutes les Liens Groupe des étabs > 9 salariés **/
/* if ($eff69) $where10='AND eff_etab>5';
elseif($nafAMS) $where10="AND (eff_etab>5 OR (teff_etab IS NOT NULL AND eff_etab IN (0,1,2) AND presentRcs=1
AND ape_etab IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B')))";
else $where10='AND eff_etab>9';*/
$where10="AND (eff_etab>5 OR (teff_etab IS NOT NULL AND eff_etab IN (0,1,2) AND presentRcs=1
AND ape_etab IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B')))";
$nbRows=$iDb->select('jo.etablissements_act', "'' AS REF, siren AS SIREN, nic AS NIC, concat(siren,nic) AS siret, sirenGrp", $nbRows=$iDb->select('jo.etablissements_act', "'' AS REF, siren AS SIREN, nic AS NIC, concat(siren,nic) AS siret, sirenGrp",
"cj NOT BETWEEN 3000 AND 3999 AND ape_etab NOT IN ('6820B','7020Z') AND eff_etab>9 AND sirenGrp>1000 $strReprise ORDER BY siren, nic", true, MYSQL_ASSOC, true); "cj NOT BETWEEN 3000 AND 3999 AND ape_etab NOT IN ('6820B','7020Z') $where10 AND sirenGrp>1000 $strReprise ORDER BY siren, nic", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
echo mysql_error().EOL; echo mysql_error().EOL;
if (mysql_errno()>0) die(); if (mysql_errno()>0) die();
fwrite($fp, "adSIREN|adNIC|sdPctAct|sdSirenAct|sdNomAct".EOL); fwrite($fp, "adSIREN|adNIC|sdPctAct|sdSirenAct|sdNomAct".EOL);
@ -287,41 +345,88 @@ if ($presta==1) {
} }
} else { } else {
/** @todo /** @todo
- Non présents dans le fichier source Adecco - Non présents dans le fichier source Adecco
- Non Fournis dans le fichier principal (Déménagements, et affectation de NIC valide) - Non Fournis dans le fichier principal (Déménagements, et affectation de NIC valide)
etab >= à 10 salariés, France entière avec Corse et les DOM TOM. Les sociétés étrangères immatriculées au RCS sont à exclure. etab >= à 10 salariés, France entière avec Corse et les DOM TOM. Les sociétés étrangères immatriculées au RCS sont à exclure.
Les 2 NAF suivants sont à exclure Les 2 NAF suivants sont à exclure
6820B = SCI/location de terrains 6820B = SCI/location de terrains
7020Z = Holding 7020Z = Holding
*/ */
$iDb->query('SELECT siret FROM tmp.adecco_in UNION SELECT siretTrouve AS siret FROM tmp.adecco_out/*Old*/;');
echo mysql_error().EOL;
if (mysql_errno()>0) die();
$tabSiret=array(); $tabSiret=array();
$iDb->query('DROP table IF EXISTS adecco_siret;');
$iDb->query('CREATE TABLE adecco_siret SELECT siret FROM tmp.adecco_in UNION SELECT siretTrouve AS siret FROM tmp.adecco_out;');
$iDb->query('ALTER TABLE adecco_siret CHANGE siret siret BIGINT(14) UNSIGNED ZEROFILL NULL DEFAULT NULL, ADD PRIMARY KEY(siret);');
/*echo mysql_error().EOL;
if (mysql_errno()>0) die();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) { while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$tabSiret[]=$tabTmp['siret']; $tabSiret[]=$tabTmp['siret'];
} }
$tabSiret=array_unique($tabSiret); $tabSiret=array_unique($tabSiret);
$nbRows=count($tabSiret); $nbRows=count($tabSiret);*/
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL; //echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siret Adecco uniques à exclure en Presta $presta...".EOL;
echo date('Y/m/d - H:i:s') ." - Préparation des siret Adecco uniques à exclure en Presta $presta...".EOL;
/*if ($eff69) $where10='AND (eff_etab>5 OR teff_etab>2) AND (eff_etab<10 OR teff_etab<11)';
elseif($nafAMS) $where10="AND eff_etab>=0 AND eff_etab<3 AND teff_etab IS NOT NULL AND presentRcs=1
AND ape_etab IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B')";
else $where10='AND (eff_etab>9 OR teff_etab>10)';
*/
$where10="AND (eff_etab>5 OR ape_etab IN ('4773Z','8610Z','8621Z','8622A','8622B','8622C','8623Z','8690A','8690B','8690C','8690D','8690E','8690F','8710A','8710B','8810A','8810B','8810C','8891A','8891B','8899A','8899B'))";
if ($siretReprise) $strReprise=" AND concat(siren,nic)>$siretReprise ";
$nbRows=$iDb->select('jo.etablissements_act', "'' AS REF, siren AS SIREN, nic AS NIC, concat(siren, nic) AS siret", $nbRows=$iDb->select('jo.etablissements_act', "'' AS REF, siren AS SIREN, nic AS NIC, concat(siren, nic) AS siret",
"cj NOT BETWEEN 3000 AND 3999 AND ape_etab NOT IN ('6820B','7020Z') AND (eff_etab>9 OR teff_etab>10) AND dateCrea_etab<=20120501", true, MYSQL_ASSOC, true); "cj NOT BETWEEN 3000 AND 3999 AND ape_etab NOT IN ('6820B','7020Z') $where10 /*AND dateCrea_etab<=20120801*/
AND concat(siren, nic) NOT IN(SELECT siret FROM tmp.adecco_siret) $strReprise ORDER BY siret", true, MYSQL_ASSOC, true);
// $strReprise ORDER BY siret", true, MYSQL_ASSOC, true);
// "siret NOT IN(SELECT CONCAT(SIREN,NIC) AS siret FROM tmp.adecco_echantillon)", true, MYSQL_ASSOC, true); // "siret NOT IN(SELECT CONCAT(SIREN,NIC) AS siret FROM tmp.adecco_echantillon)", true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
echo mysql_error().EOL; echo mysql_error().EOL;
if (mysql_errno()>0) die(); if (mysql_errno()>0) die();
//die();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) { while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
if (!in_array($tabTmp['siret'], $tabSiret)) if (!in_array($tabTmp['siret'], $tabSiret)) {
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta); //echo 'siret='.$tabTmp['siret'].EOL;
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta, $eff69, $nafAMS);
}
} }
$iDb->query('DROP table adecco_siret;');
} }
echo date('Y/m/d - H:i:s') ." - Fin de la prestation Adecco en Presta $presta.".EOL; echo date('Y/m/d - H:i:s') ." - Fin de la prestation Adecco en Presta $presta.".EOL;
fclose($fp); fclose($fp);
if (($presta==3.1 || $presta==3.2 || $presta==3.3) && $mailTo) {
$tabAttached=array($nomFichier);
$messageInfo="Bonjour,
Veuillez trouver ci-joint le fichier Scores & Décisions relatifs à votre prestation contractuelle $presta.
Bien Cordialement,
Le service Support.
--
SCORES & DECISIONS
Service support
1, rue de Clairefontaine - 78120 RAMBOUILLET
tél : 33 (0)1 75 43 80 10
fax : 33 (0)1 75 43 85 74
support@scores-decisions.com
http://www.scores-decisions.com/
Scores & Décisions est l'acteur nouvelle génération de l'information et de l'évaluation des entreprises
Pensez à l'environnement avant d'imprimer ce message !
Save paper - think before you print";
@sendMail('production@scores-decisions.com', $mailTo, "Prestation Adecco S&D $presta", $messageInfo, '', $tabAttached);
}
die(); die();
function exporteAdecco($siret,$ref,$fp=false, $presta, $RAISON_SOCIALE='', $ADRESSE='', $FILLER='', $CP='', $VILLE='', $ADSE='') { function exporteAdecco($siret,$ref,$fp=false, $presta, $eff69=false, $nafAMS=false, $RAISON_SOCIALE='', $ADRESSE='', $FILLER='', $CP='', $VILLE='', $ADSE='') {
global $iDb2,$iDb3,$iLiens,$iBilan,$iInsee,$date; global $iDb2,$iDb3,$iLiens,$iBilan,$iInsee,$date;
$siren=substr($siret,0,9); $siren=substr($siret,0,9);
$nic=substr($siret,9,5); $nic=substr($siret,9,5);
@ -336,7 +441,8 @@ DAPET, DEFET, EXPLET, PRODPART, AUXILT, NULL AS EAEANT, NULL AS EAEAPET, NULL AS
SIGLE, CIVILITE, CJ, TEFF_ENT AS tefen, EFF_ENT AS efencent, APE_ENT AS insapen700, '' AS ZR4, APRM, TCA, SIGLE, CIVILITE, CJ, TEFF_ENT AS tefen, EFF_ENT AS efencent, APE_ENT AS insapen700, '' AS ZR4, APRM, TCA,
NULL AS RECME, DAPEN, DEFEN, DCREN,NULL AS MMINTREN, MONOACT, MODEN, EXPLEN, NULL AS EAEANN, NULL AS EAEAPEN, NULL AS RECME, DAPEN, DEFEN, DCREN,NULL AS MMINTREN, MONOACT, MODEN, EXPLEN, NULL AS EAEANN, NULL AS EAEAPEN,
NULL AS EAESEC1N, NULL AS EAESEC2N, NULL AS EAESEC3N, NULL AS EAESEC4N, NBETAB AS nbETEXPL, TCAEXP, REGIMP, NULL AS EAESEC1N, NULL AS EAESEC2N, NULL AS EAESEC3N, NULL AS EAESEC4N, NBETAB AS nbETEXPL, TCAEXP, REGIMP,
MONOREG, NULL AS RPEN,NULL AS DEPCOMEN, ACTIF AS sdActif"; MONOREG, NULL AS RPEN,NULL AS DEPCOMEN, ACTIF AS sdActif";/*EFF_ET mediumint(7) UNSIGNED ZEROFILL Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
TEFF_ET*/
$strNotice=" $strNotice="
insSIREN AS SIREN, insNIC AS NIC, insL4_VOIE AS L4_VOIE, insL6_POST AS L6_POST, insSIREN AS SIREN, insNIC AS NIC, insL4_VOIE AS L4_VOIE, insL6_POST AS L6_POST,
insRPET AS RPET, insDEPCOMEN AS DEPCOMEN, insRPEN AS RPEN, insARRONET AS ARRONET, insCTONET AS CTONET, insTCD AS TCD, insRPET AS RPET, insDEPCOMEN AS DEPCOMEN, insRPEN AS RPEN, insARRONET AS ARRONET, insCTONET AS CTONET, insTCD AS TCD,
@ -420,7 +526,7 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
$ret2=$iDb2->select('insee.insee_notices', $strNotice, "insSIREN=$siren AND insNIC=$nic", false, MYSQL_ASSOC); $ret2=$iDb2->select('insee.insee_notices', $strNotice, "insSIREN=$siren AND insNIC=$nic", false, MYSQL_ASSOC);
$tmp=$ret[0]; $tmp=$ret[0];
$actif=$tmp['sdActif']*1; $actif=$tmp['sdActif']*1;
$even="Etablissement déménagé $nbDem fois "; $even="Etablissement déménagé $nbDem fois ";
} else } else
break; break;
//echo "FIN Recherche du nouveau siret pour $siren $nic actif=$actif, nbDem=$nbDem, nouveauSiret=$nouveauSiret/"; //echo "FIN Recherche du nouveau siret pour $siren $nic actif=$actif, nbDem=$nbDem, nouveauSiret=$nouveauSiret/";
@ -428,6 +534,10 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
//$tmp=$ret[0]; //$tmp=$ret[0];
//$actif=$tmp['sdActif']; //$actif=$tmp['sdActif'];
$effet=$tmp['efetcent']*1; $effet=$tmp['efetcent']*1;
$effetTR=$tmp['tefet']*1;
//(insEFENCENT>5 || insTEFET>2)
$tmp2=@$ret2[0]; $tmp2=@$ret2[0];
$afficherNotice=false; $afficherNotice=false;
if ($actif*1==0) { if ($actif*1==0) {
@ -451,7 +561,7 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
case 400: $even.='suppression du doublon '; break; case 400: $even.='suppression du doublon '; break;
case 410: $even.='cessation juridique de l\'entreprise '; $infoFusion=true; break; case 410: $even.='cessation juridique de l\'entreprise '; $infoFusion=true; break;
case 420: case 420:
case 425: $even.='cessation économique de l\'entreprise ';$infoFusion=true; break; case 425: $even.='cessation économique de l\'entreprise ';$infoFusion=true; break;
case 430: case 430:
case 435: $even.='fermeture de l\'etablissement '; break; case 435: $even.='fermeture de l\'etablissement '; break;
// case 510: // case 510:
@ -473,7 +583,7 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
$ANNONCEFUSDATE=$depot['DateParution']; $ANNONCEFUSDATE=$depot['DateParution'];
$ANNONCEFUS++; $ANNONCEFUS++;
$FUSIONPROJET_DATE=$depot['dateJugement']; // Date du projet de fusion $FUSIONPROJET_DATE=$depot['dateJugement']; // Date du projet de fusion
$FUSIONPROJET=$depot['complement']; // Présence d'un projet de fusion, libellé du projet $FUSIONPROJET=$depot['complement']; // Présence d'un projet de fusion, libellé du projet
if (preg_match_all("/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/", $FUSIONPROJET, $matches)) { if (preg_match_all("/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/", $FUSIONPROJET, $matches)) {
foreach ($matches[1] as $FUSIONPROJET_SIREN) { foreach ($matches[1] as $FUSIONPROJET_SIREN) {
$FUSIONPROJET_SIREN=strtr($FUSIONPROJET_SIREN, array('.'=>'','-'=>'', ' '=>'')); $FUSIONPROJET_SIREN=strtr($FUSIONPROJET_SIREN, array('.'=>'','-'=>'', ' '=>''));
@ -507,7 +617,13 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
} }
} }
} }
if ($presta==2 && ($effet<10 || $actif==0)) return;
if ($presta==2) {
/* if ($eff69 && (($effet<6 && $effetTR<3) || $actif==0)) return;
elseif ($nafAMS && ($effet>5 || $actif==0)) return;
elseif (!$eff69 && !$nafAMS && ($effet<10 || $actif==0)) return;*/
if (($effet<6 && $effetTR<3) || $actif==0) return;
}
// Dirigeant // Dirigeant
/*$ret=$iDb2->select('jo.etablissements', 'dirNom,dirPrenom', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC); /*$ret=$iDb2->select('jo.etablissements', 'dirNom,dirPrenom', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC);

View File

@ -2,7 +2,7 @@
<?php <?php
function exporte($txt, $lon=-1, $sep="|") { function exporte($txt, $lon=-1, $sep="|") {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($lon==-1) return $txt.$sep; if ($lon==-1) return $txt.$sep;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -37,7 +37,7 @@ $iInsee=new MInsee();
$iBilan=new MBilans(0); $iBilan=new MBilans(0);
$iCotation=new ICotation(array()); $iCotation=new ICotation(array());
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Entreprises.\n"; echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Entreprises.\n";
/* /*
$tabBilans=array(); $tabBilans=array();
$nbRows=$iDb->select('bilans', 'DISTINCT siren', "dateExercice>=20080101 AND typeBilan IN('N','S')", true, MYSQL_ASSOC, true); $nbRows=$iDb->select('bilans', 'DISTINCT siren', "dateExercice>=20080101 AND typeBilan IN('N','S')", true, MYSQL_ASSOC, true);
@ -46,7 +46,7 @@ while($tabBilan=$iDb->fetch(MYSQL_ASSOC)) {
$tabBilans[]=$tabBilan['siren']; $tabBilans[]=$tabBilan['siren'];
}*/ }*/
echo date('Y/m/d - H:i:s') ." - Début de l'export des entreprises...".EOL; echo date('Y/m/d - H:i:s') ." - Début de l'export des entreprises...".EOL;
$tabSiret=file('/root/sql/pointp/ppNaf4752B.csv'); $tabSiret=file('/root/sql/pointp/ppNaf4752B.csv');
$tabSiren=array(); $tabSiren=array();
@ -54,31 +54,31 @@ $fpEn=fopen('/root/sql/pointp/ppEntrep20110214.txt','w');
$fpEt=fopen('/root/sql/pointp/ppEtabs20110214.txt','w'); $fpEt=fopen('/root/sql/pointp/ppEtabs20110214.txt','w');
// ETABLISSEMENTS // ETABLISSEMENTS
fwrite($fpEt, "Dénomination L1|Dénomination L2|Complément d'adresse|Adresse|Mention de distribution|Code postal|Localité de destination|Code + Libellé Cedex|Code Insee commune|RCS|NIC|Enseigne|Sigle|Libellé statut de l'établissement|Code APE Ets|Libellé APE|Effectif site|Téléphone".EOL); fwrite($fpEt, "Dénomination L1|Dénomination L2|Complément d'adresse|Adresse|Mention de distribution|Code postal|Localité de destination|Code + Libellé Cedex|Code Insee commune|RCS|NIC|Enseigne|Sigle|Libellé statut de l'établissement|Code APE Ets|Libellé APE|Effectif site|Téléphone".EOL);
/* /*
SI CONSTRUCTION CTRE INCENDIE SECOURS||MAIRIE|ENCLOS DE SERVIGNY|BP 238|29900|CONCARNEAU||29039|200021657|00016|||Établissement siège|4120B|Construction d'autres bâtiments|N/C|0298503838 SI CONSTRUCTION CTRE INCENDIE SECOURS||MAIRIE|ENCLOS DE SERVIGNY|BP 238|29900|CONCARNEAU||29039|200021657|00016|||Établissement siège|4120B|Construction d'autres bâtiments|N/C|0298503838
SYND INTERCOMMUNAL TRAVAUX LONGEAILLES||MAIRIE|5 RUE DU VIEUX PONT||39300|PONT DU NAVOY||39437|200022374|00017|||Établissement siège|4211Z|Construction de routes et autoroutes|N/C| SYND INTERCOMMUNAL TRAVAUX LONGEAILLES||MAIRIE|5 RUE DU VIEUX PONT||39300|PONT DU NAVOY||39437|200022374|00017|||Établissement siège|4211Z|Construction de routes et autoroutes|N/C|
TILLET GILLES|TILLET GILLES||12 RUE CHEVRIER||86000|POITIERS||86194|491649737|00013|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C|0549418135 TILLET GILLES|TILLET GILLES||12 RUE CHEVRIER||86000|POITIERS||86194|491649737|00013|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C|0549418135
PITON JEAN|C M P||16 RUE VICTOR RAMETTE||59400|CAMBRAI||59122|504369604|00013|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0628811387 PITON JEAN|C M P||16 RUE VICTOR RAMETTE||59400|CAMBRAI||59122|504369604|00013|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0628811387
LEFUR JEAN|L Z SERVICE EXPOSITION||2 RUE ROBERT SCHUMAN||94000|CRETEIL||94028|507601672|00011|L Z SERVICE EXPOSITION||Établissement siège|4332C|Agencement de lieux de vente|N/C| LEFUR JEAN|L Z SERVICE EXPOSITION||2 RUE ROBERT SCHUMAN||94000|CRETEIL||94028|507601672|00011|L Z SERVICE EXPOSITION||Établissement siège|4332C|Agencement de lieux de vente|N/C|
LE HUEROU LE GOFF FABIENNE EMMANUELLE|||5 IMP DES COUDRIERS||22950|TREGUEUX||22360|508107125|00017|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C| LE HUEROU LE GOFF FABIENNE EMMANUELLE|||5 IMP DES COUDRIERS||22950|TREGUEUX||22360|508107125|00017|||Établissement siège|4332A|Travaux de menuiserie bois et PVC|N/C|
IGONNET DOMINIQUE MARIE|||QUA LA VIERE||07210|SAINT VINCENT DE BARRES||07302|508652070|00022|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0475298981 IGONNET DOMINIQUE MARIE|||QUA LA VIERE||07210|SAINT VINCENT DE BARRES||07302|508652070|00022|||Établissement siège|4332B|Travaux de menuiserie métallique et serrurerie|N/C|0475298981
ROULLET BRUNO PIERRE|||CHARRONDIERE||42310|SAINT BONNET DES QUARTS||42203|508656766|00013|||Établissement siège|8130Z|Services d'aménagement paysager|N/C| ROULLET BRUNO PIERRE|||CHARRONDIERE||42310|SAINT BONNET DES QUARTS||42203|508656766|00013|||Établissement siège|8130Z|Services d'aménagement paysager|N/C|
BM ELECTRICITE|BM ELECTRICITE||87 RUE DES PERVENCHES||83130|LA GARDE||83062|508858297|00015|||Établissement siège|4321A|Travaux d'installation électrique dans tous locaux|N/C| BM ELECTRICITE|BM ELECTRICITE||87 RUE DES PERVENCHES||83130|LA GARDE||83062|508858297|00015|||Établissement siège|4321A|Travaux d'installation électrique dans tous locaux|N/C|
*/ */
// ENTREPRISES // ENTREPRISES
fwrite($fpEn, "Dénomination L1|RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|Capital|Devise|Code APE entreprise|Effectif global|Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP|YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU".EOL); fwrite($fpEn, "Dénomination L1|RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|Capital|Devise|Code APE entreprise|Effectif global|Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP|YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU".EOL);
/* /*
200021657|20090724|1|Syndicat intercommunal à vocation unique (SIVU)|0||4120B||0|0|||||||||||0|0||||||||| 200021657|20090724|1|Syndicat intercommunal à vocation unique (SIVU)|0||4120B||0|0|||||||||||0|0|||||||||
200022374|20091007|1|Syndicat intercommunal à vocation unique (SIVU)|0||4211Z||0|0|||||||||||0|0||||||||| 200022374|20091007|1|Syndicat intercommunal à vocation unique (SIVU)|0||4211Z||0|0|||||||||||0|0|||||||||
491649737|20090629|1|Artisan |0||4332A||0|0|||||||||||0|0||||||||| 491649737|20090629|1|Artisan |0||4332A||0|0|||||||||||0|0|||||||||
504369604|20090722|1|Artisan |0||4332B||0|0|||||||||||0|0||||||||| 504369604|20090722|1|Artisan |0||4332B||0|0|||||||||||0|0|||||||||
507601672|20090901|1|Artisan |0||4332C||0|0|||||||||||0|0||||||||| 507601672|20090901|1|Artisan |0||4332C||0|0|||||||||||0|0|||||||||
508107125|20090203|1|Profession libérale|0||4332A||0|0|||||||||||0|0||||||||| 508107125|20090203|1|Profession libérale|0||4332A||0|0|||||||||||0|0|||||||||
508652070|20090101|1|(Autre)personne physique |0||4332B||0|0|||||||||||0|0||||||||| 508652070|20090101|1|(Autre)personne physique |0||4332B||0|0|||||||||||0|0|||||||||
508656766|20090101|1|Commerçant |0||8130Z||0|0|||||||||||0|0||||||||| 508656766|20090101|1|Commerçant |0||8130Z||0|0|||||||||||0|0|||||||||
*/ */
$fields='id, source, source_id, triCode, autre_id, siren, nic, siege, raisonSociale, enseigne, sigle, $fields='id, source, source_id, triCode, autre_id, siren, nic, siege, raisonSociale, enseigne, sigle,
@ -134,7 +134,7 @@ $iLimitNb=100000;*/
/*for ($iLimit=0; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) {*/ /*for ($iLimit=0; $iLimit<$nbRowsTot; $iLimit+=$iLimitNb) {*/
$nbRows=count($tabSiret);//$iDb->select('etablissements_act', $fields, "$where GROUP BY siren LIMIT $iLimit, $iLimitNb", true, MYSQL_ASSOC, true); $nbRows=count($tabSiret);//$iDb->select('etablissements_act', $fields, "$where GROUP BY siren LIMIT $iLimit, $iLimitNb", true, MYSQL_ASSOC, true);
//if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL); //if (mysql_errno()>0) die(date('Y/m/d - H:i:s') ." - Erreur SQL : ".mysql_error().EOL);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL;
//die(); //die();
//$numRow=0; //$numRow=0;
@ -174,12 +174,12 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
$siret=$siren.$nic; $siret=$siren.$nic;
//print_r($entrep); //print_r($entrep);
//die($siret); //die($siret);
/*Dénomination (ligne 1) pour control| /*Dénomination (ligne 1) pour control|
RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique| RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|
Capital| Devise|Code APE entreprise|Effectif global| Capital| Devise|Code APE entreprise|Effectif global|
Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP| Date du Bilan|Durée Exercice|FL|HN|FJ|FU|GV|VA|YP|
YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU YT|YU|Devise|Date Bilan N-1|Durée Exercice N-1|FL|HN|FJ|FU|GV|VA|YP|YT|YU
*/ */
$insee=$iDb2->select('identite', 'DCREN, DCRET', "SIREN=$siren AND NIC=$nic LIMIT 0,1",false,MYSQL_ASSOC); $insee=$iDb2->select('identite', 'DCREN, DCRET', "SIREN=$siren AND NIC=$nic LIMIT 0,1",false,MYSQL_ASSOC);
@ -192,7 +192,7 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
$strOutput =exporte(str_replace('|',' ',$entrep['raisonSociale'])); $strOutput =exporte(str_replace('|',' ',$entrep['raisonSociale']));
$strOutput.=exporte(sprintf("%09s", $siren)); $strOutput.=exporte(sprintf("%09s", $siren));
$strOutput.=exporte($dcren); // date de création entreprise $strOutput.=exporte($dcren); // date de création entreprise
$strOutput.=exporte($entrep['nbEtab']*1); $strOutput.=exporte($entrep['nbEtab']*1);
$strOutput.=exporte($iInsee->getLibelleFJ($entrep['cj'])); $strOutput.=exporte($iInsee->getLibelleFJ($entrep['cj']));
$strOutput.=exporte($entrep['capital']*1); $strOutput.=exporte($entrep['capital']*1);
@ -254,8 +254,8 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
$strOutput.=exporte(sprintf("%05s", $nic)); $strOutput.=exporte(sprintf("%05s", $nic));
$strOutput.=exporte(str_replace('|',' ',$entrep['enseigne'])); $strOutput.=exporte(str_replace('|',' ',$entrep['enseigne']));
$strOutput.=exporte(str_replace('|',' ',$entrep['sigle'])); $strOutput.=exporte(str_replace('|',' ',$entrep['sigle']));
if ($entrep['siege']*1==1) $strOutput.=exporte('Établissement siège'); if ($entrep['siege']*1==1) $strOutput.=exporte('Établissement siège');
else $strOutput.=exporte('Établissement secondaire'); else $strOutput.=exporte('Établissement secondaire');
$strOutput.=exporte($entrep['ape_etab']); $strOutput.=exporte($entrep['ape_etab']);
$strOutput.=exporte($iInsee->getLibelleNaf($entrep['ape_etab'])); $strOutput.=exporte($iInsee->getLibelleNaf($entrep['ape_etab']));
$strOutput.=exporte($entrep['eff_etab']*1); $strOutput.=exporte($entrep['eff_etab']*1);
@ -265,7 +265,7 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
if ($numRow%10000==0) { if ($numRow%10000==0) {
$nbSiren=count($tabSiren); $nbSiren=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - $numRow/$nbRows étabs ($nbSiren entrep): $strOutput".EOL; echo date ('Y/m/d - H:i:s')." - $numRow/$nbRows étabs ($nbSiren entrep): $strOutput".EOL;
} }
//die(); //die();
} }
@ -280,24 +280,24 @@ function getTca($montantCA) {
$montantCA=$montantCA*1; $montantCA=$montantCA*1;
if ($montantCA>=200000000) // 9 : 200 millions d'euros ou plus) if ($montantCA>=200000000) // 9 : 200 millions d'euros ou plus)
return 9; return 9;
elseif ($montantCA>=100000000) // 8 : De 100 millions à moins de 200 millions d'euros elseif ($montantCA>=100000000) // 8 : De 100 millions à moins de 200 millions d'euros
return 8; return 8;
elseif ($montantCA>= 50000000) // 7 : De 50 millions à moins de 100 millions d'euros elseif ($montantCA>= 50000000) // 7 : De 50 millions à moins de 100 millions d'euros
return 7; return 7;
elseif ($montantCA>= 20000000) // 6 : De 20 millions à moins de 50 millions d'euros elseif ($montantCA>= 20000000) // 6 : De 20 millions à moins de 50 millions d'euros
return 6; return 6;
elseif ($montantCA>= 10000000) // 5 : De 10 millions à moins de 20 millions d'euros elseif ($montantCA>= 10000000) // 5 : De 10 millions à moins de 20 millions d'euros
return 5; return 5;
elseif ($montantCA>= 5000000) // 4 : De 5 millions à moins de 10 millions d'euros elseif ($montantCA>= 5000000) // 4 : De 5 millions à moins de 10 millions d'euros
return 4; return 4;
elseif ($montantCA>= 2000000) // 3 : De 2 millions à moins de 5 millions d'euros elseif ($montantCA>= 2000000) // 3 : De 2 millions à moins de 5 millions d'euros
return 3; return 3;
elseif ($montantCA>= 1000000) // 2 : De 1 million à moins de 2 millions d'euros elseif ($montantCA>= 1000000) // 2 : De 1 million à moins de 2 millions d'euros
return 2; return 2;
elseif ($montantCA>= 500000) // 1 : De 0,5 à moins de 1 million d'euros elseif ($montantCA>= 500000) // 1 : De 0,5 à moins de 1 million d'euros
return 1; return 1;
else else
return 0; // Non renseignée ou moins de 0,5 million d'euros return 0; // Non renseignée ou moins de 0,5 million d'euros
} }
@ -311,7 +311,7 @@ $nbRows=$iDb->select('identite', $fields, "ACTIF=1 AND CJ BETWEEN 5000 AND 5999
$fields='b.id, b.Bodacc_Code, b.Bodacc_Annee_Parution, b.Bodacc_Num, b.Num_Annonce, b.Bodacc_Date_Parution, b.Tribunal_Dept, b.Tribunal_Code, b.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, b.typeAnnonce, b.corrNum_Annonce, b.corrBodacc_Date_Parution, b.corrPage, b.corrNumParution, b.corrTexteRectificatif, b.annonce, d.siren, d.sirenValide, d.nic, d.nicValide, d.raisonSociale, d.enseigne, d.sigle, d.typeEven, d.dateJugement, d.VenteMt, d.VenteDev, d.dateEffet, d.publicationDate, d.dateDebutActivite, d.dateCessationActivite, d.dateCessationPaiement, d.dateFinDepotCreances, d.dateFinObservation'; $fields='b.id, b.Bodacc_Code, b.Bodacc_Annee_Parution, b.Bodacc_Num, b.Num_Annonce, b.Bodacc_Date_Parution, b.Tribunal_Dept, b.Tribunal_Code, b.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, b.typeAnnonce, b.corrNum_Annonce, b.corrBodacc_Date_Parution, b.corrPage, b.corrNumParution, b.corrTexteRectificatif, b.annonce, d.siren, d.sirenValide, d.nic, d.nicValide, d.raisonSociale, d.enseigne, d.sigle, d.typeEven, d.dateJugement, d.VenteMt, d.VenteDev, d.dateEffet, d.publicationDate, d.dateDebutActivite, d.dateCessationActivite, d.dateCessationPaiement, d.dateFinDepotCreances, d.dateFinObservation';
$nbRows=$iDb->select('bodacc b, bodacc_detail d', $fields, "b.Bodacc_Code IN ('A','B') AND b.Bodacc_Annee_Parution=2009 AND b.Bodacc_Num=90 AND d.id=b.id", true, MYSQL_ASSOC, true); $nbRows=$iDb->select('bodacc b, bodacc_detail d', $fields, "b.Bodacc_Code IN ('A','B') AND b.Bodacc_Annee_Parution=2009 AND b.Bodacc_Num=90 AND d.id=b.id", true, MYSQL_ASSOC, true);
*/ */
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises à diffuser...".EOL;
$fp=fopen('./veolia_test2.csv','w'); $fp=fopen('./veolia_test2.csv','w');
while($entrep=$iDb->fetch(MYSQL_ASSOC)) { while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
@ -491,20 +491,20 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$strOutput.=exporte($entrep['EFF_ET'], 6); $strOutput.=exporte($entrep['EFF_ET'], 6);
if (count($tabRatios)>0) { if (count($tabRatios)>0) {
$strOutput.=exporte('R', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('R', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte(str_replace('NS','', $tabRatios['r1']), 13); $strOutput.=exporte(str_replace('NS','', $tabRatios['r1']), 13);
$strOutput.=exporte(str_replace('NS','', $tabRatios['r3']), 13); $strOutput.=exporte(str_replace('NS','', $tabRatios['r3']), 13);
$strOutput.=exporte(str_replace('NS','', $tabRatios['r10']), 13); $strOutput.=exporte(str_replace('NS','', $tabRatios['r10']), 13);
//die(print_r($tabRatios)); //die(print_r($tabRatios));
} elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) { } elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) {
$caEstime=getCAnafEffectif($naf5, $effectifFr); $caEstime=getCAnafEffectif($naf5, $effectifFr);
$strOutput.=exporte('E', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('E', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte($caEstime, 13); // CA France $strOutput.=exporte($caEstime, 13); // CA France
$strOutput.=exporte('', 13); // CA Export $strOutput.=exporte('', 13); // CA Export
$strOutput.=exporte('', 13); // Résultat Net $strOutput.=exporte('', 13); // Résultat Net
} else{ } else{
//$CAESTIME=getCAnafEffectif($naf, $EFFECTIF); //$CAESTIME=getCAnafEffectif($naf, $EFFECTIF);
$strOutput.=exporte('I', 1); // Réel , Inconnu, Estimé $strOutput.=exporte('I', 1); // Réel , Inconnu, Estimé
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);
$strOutput.=exporte('', 13); $strOutput.=exporte('', 13);

View File

@ -56,11 +56,13 @@ $tabFichier=array();
$nbSirValides=$nbSirInvalides=0; $nbSirValides=$nbSirInvalides=0;
$nbNicValides=$nbNicInvalides=0; $nbNicValides=$nbNicInvalides=0;
$nbInsert=0; $nbInsert=0;
$modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Kompass. Traitement spécifique Kompass.
Options : Options :
-s @todo Prévoir le chargement du stock
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort -1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass -3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
-4 Prestation 4 Mise à disposition de la base Liens -4 Prestation 4 Mise à disposition de la base Liens
@ -74,6 +76,7 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
switch (strtolower(substr($argv[$i],1,1))) { switch (strtolower(substr($argv[$i],1,1))) {
case 'v': $modeDebug=true; break;
case '1': $presta=1; break; case '1': $presta=1; break;
case '3': $presta=3; break; case '3': $presta=3; break;
case '4': $presta=4; break; case '4': $presta=4; break;
@ -91,9 +94,11 @@ if ($presta<>1 && $presta<>3 && $presta<>4 && $presta<>5) {
if (count($tabFichier)<>1) if (count($tabFichier)<>1)
echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL; echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL;
die(); die();
} elseif ($presta==5 && date('N')<>5) {
if (!$modeDebug) die('La génération du stock des bilans ne peut se faire que le vendredi !'.EOL);
} }
$fp=fopen('./kompass_p'.$presta."_$date.txt",'w'); $fp=fopen('/home/data/clients/kompass/kompass_p'.$presta."_$date.txt",'w');
// Base des Siren avec Risque Financier // Base des Siren avec Risque Financier
if ($presta==1) { if ($presta==1) {
@ -113,62 +118,88 @@ if ($presta==3) {
/** @todo prendre les fichiers jugements (1er lundi du mois) **/ /** @todo prendre les fichiers jugements (1er lundi du mois) **/
define('DIR_KOMPASS_IN','/home/data/clients/kompass international/'); define('DIR_KOMPASS_IN','/home/data/clients/kompass international/');
$fichierIn=false; $fichierIn=false;
$ligneOut=$ligne100tot=0;
$dh = opendir(DIR_KOMPASS_IN); $dh = opendir(DIR_KOMPASS_IN);
while (false !== ($filename = readdir($dh))) { while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt' && if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt' &&
substr($filename, 0,45)=='surveillanceBodacc_SURBODPRDFTSKOMPASS_'.date('Ym')) substr($filename, 0,39)=='surveillanceBodacc_SURBODPRDFTSKOMPASS_'/*.date('Ym')*/) {
$fichierIn = $filename; $fichierIn = $filename;
} $tabLignes=file(DIR_KOMPASS_IN.$fichierIn);
$ligne100=$ligneOut=0; $ligne100=0;
$tabLignes=file(DIR_KOMPASS_IN.$fichierIn); foreach ($tabLignes as $i=>$ligne) {
foreach ($tabLignes as $i=>$ligne) { $ecrireLignePre=false;
$ecrireLignePre=false; $typeLigne=substr($ligne, 0, 3)*1;
$typeLigne=substr($ligne, 0, 3)*1; $siren=$ref=$typeJuge=$dateJuge='';
$siren=$ref=$typeJuge=$dateJuge=''; switch ($typeLigne) {
switch ($typeLigne) { case 100: // Structure Bodacc
case 100: // Structure Bodacc /*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */ $ligne100++;
$ligne100++; $siren = substr($ligne, 13, 9 ); // Siren de l'entreprise concernée par l'annonce
$siren = substr($ligne, 13, 9 ); // Siren de l'entreprise concernée par l'annonce $ref = trim(substr($ligne, 71, 18 )); // Référence Client
$ref = trim(substr($ligne, 71, 18 )); // Référence Client $datePar= substr($ligne, 31, 8 ); // Date de parution du Bodacc Format AAAAMMJJ
$datePar= substr($ligne, 31, 8 ); // Date de parution du Bodacc Format AAAAMMJJ $dateJuge=substr($ligne, 1144, 8 ); // Date du jugement
$dateJuge=substr($ligne, 1144, 8 ); // Date du jugement if ($dateJuge<=19900101)
if ($dateJuge<=19900101) $dateJuge=substr($ligne, 1161, 8 ); // Date d'effet (Ventes/MMD/Créations)
$dateJuge=substr($ligne, 1161, 8 ); // Date d'effet (Ventes/MMD/Créations) $even=array();
$even=array(); $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN foreach ($even as $codeEven) {
foreach ($even as $codeEven) { $codeEven=$codeEven*1;
$codeEven=$codeEven*1; if ((($codeEven>1199 && $codeEven<1300) ||
if ($codeEven>1199 && $codeEven<1300) $typeJuge='RJ'; $codeEven==1418) && $codeEven<>1203 && $codeEven<>1207) $typeJuge='RJ'; // Redressement judiciaire
elseif ($codeEven>1099 && $codeEven<1200) $typeJuge='SV'; elseif (($codeEven>1099 && $codeEven<1110) || $codeEven==1419) $typeJuge='SV'; // Sauvegarde
elseif ($codeEven>1299 && $codeEven<1400) $typeJuge='LJ'; elseif (($codeEven>1299 && $codeEven<1400) || $codeEven==1417) $typeJuge='LJ'; // Liquidation judiciaire
elseif ($codeEven==1408 || $codeEven==1415) $typeJuge='CE'; elseif ($codeEven==1408 || $codeEven==1415) $typeJuge='CE'; // Plan de cession
elseif ($codeEven==1409 || $codeEven==1413 || $codeEven==1414) $typeJuge='CO'; elseif ($codeEven==1409 || $codeEven==1413 || $codeEven==1414) $typeJuge='CO'; // Plan de continuation
elseif ($codeEven==1412 || $codeEven==1425) $typeJuge='CP'; elseif ($codeEven==1412 || $codeEven==1425) $typeJuge='CP'; // Plan de cession partielle
elseif ($codeEven==1411) $typeJuge='CT'; elseif ($codeEven==1411) $typeJuge='CT'; // Plan de cession totale
elseif ($codeEven==1010) $typeJuge='DB'; // Dépôt de bilan
elseif ($codeEven==1543) $typeJuge='RR'; // Rétractation d'un redressement judiciaire
elseif ($codeEven==1544 || $codeEven==1541) $typeJuge='RL'; // Rétractation d'une liquidation judiciaire
elseif ($codeEven==1545 || $codeEven==1506) $typeJuge='R'; // Rétractation du dernier jugement
elseif ($codeEven==1542) $typeJuge='RS'; // Rétractation Sauvegarde
elseif (($codeEven>1399 && $codeEven<1416) ||
($codeEven>1419 && $codeEven<1500)) $typeJuge='SJ'; // Suite de jugement
elseif ($codeEven>1099 && $codeEven<2000) $typeJuge='AJ'; // Autre jugement ou suite de jugement
elseif ($codeEven==2000 || $codeEven==2200 ||
$codeEven==2202 || $codeEven==2203 ||
$codeEven==2204 || $codeEven==2210) $typeJuge='DI'; // Dissolution
elseif ($codeEven==2211 || $codeEven==2212) $typeJuge='LA'; // Liquidation amiable
elseif ($codeEven==2620) $typeJuge='TU'; // Transmission universelle du patrimoine
elseif ($codeEven==2720 || $codeEven==2721) $typeJuge='FU'; // Fusion/Absorption
elseif ($codeEven>=5500 && $codeEven<=5503) $typeJuge='VT'; // Vente
elseif ($codeEven>=6000 && $codeEven<=6700) { $typeJuge='RA'; // Radiation
$tabId=@$iInsee->getIdentiteLight($siren);
if ($tabId['actif']==1) $typeJuge='';
}
}
if ($typeJuge<>'') {
//echo "$siren\t$ref\t$dateJuge\t$typeJuge\t".$even[0].EOL;
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
initstr($ref, 7, '0', ALIGN_RIGHT) .
initstr($typeJuge, 2) .
initstr($dateJuge, 8, '0', ALIGN_RIGHT);
fwrite($fp, $ligne.EOL);
$ligneOut++;
}
break;
default: // Ligne non gérée
break;
} }
if ($typeJuge<>'') { } // Fin du fichier
//echo "$siren\t$ref\t$dateJuge\t$typeJuge\t".$even[0].EOL; $ligne100tot+=$ligne100;
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) . echo date('Y/m/d - H:i:s') ." - Traitement du fichier $fichierIn : $ligne100 annonces...".EOL;
initstr($ref, 7, '0', ALIGN_RIGHT) . move(DIR_KOMPASS_IN.$fichierIn,DIR_KOMPASS_IN.$fichierIn.'.done');
initstr($typeJuge, 2) .
initstr($dateJuge, 8, '0', ALIGN_RIGHT);
fwrite($fp, $ligne.EOL);
$ligneOut++;
}
break;
default: // Ligne non gérée
break;
} }
} }
echo date('Y/m/d - H:i:s') ." - $ligneOut/$ligne100 siren Kompass en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - $ligneOut/$ligne100tot siren Kompass en Presta $presta...".EOL;
} }
// Surveillance Liens Capitalistiques // Surveillance Liens Capitalistiques
@ -251,13 +282,36 @@ if ($presta==4) {
fwrite($fp, $ligne.EOL); fwrite($fp, $ligne.EOL);
} }
} }
sendMail('support@scores-decisions.com', 'support@kompass.com,ylenaour@scores-decisions.com',
'Fichiers hors Elements Financiers Scores & Décisions du mois '.date('m/Y'), 'Bonjour,
Pour votre information, nous avons déposé ce jour sur notre serveur FTP, les différents fichiers hors prestation "éléments financiers" relatif au contrat.
Cordialement,
Service Support S&D.
--
SCORES & DECISIONS
1, rue de Clairefontaine 78120 Rambouillet
tél. direct : 33 (0)1 34 57 39 58
tél. standard : 33 (0)1 75 43 80 10
fax bureau : 33 (0)1 75 43 85 74
support@scores-decisions.com
www.scores-decisions.com
Scores & Décisions est l\'acteur nouvelle génération de l\'information et de l\'évaluation des entreprises');
} }
if ($presta==5) { if ($presta==5) {
$uniteLiv=1000; // En K€ $uniteLiv=1000; // En K€
$nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 AND siren>422372466 ORDER BY siren ASC", false, MYSQL_ASSOC, true); $nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 ORDER BY siren ASC", false, MYSQL_ASSOC, true);
//$nbRows=$iDb->select('surveillances_listes','siren, ref',"idClient='SURBODPRDFTSKOMPASS' AND dateSuppr=0 AND siren IN (451321335,954509741,780130175) ORDER BY siren ASC", false, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siren Kompass en Presta $presta...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows siren Kompass en Presta $presta...".EOL;
$nbSir=0;
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) { while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$nbSir++;
$siren=$tabTmp['siren']; $siren=$tabTmp['siren'];
$ref=trim($tabTmp['ref']); $ref=trim($tabTmp['ref']);
$tabId=@$iInsee->getIdentiteLight($siren); $tabId=@$iInsee->getIdentiteLight($siren);
@ -277,13 +331,14 @@ if ($presta==5) {
$dateFraicheur=$p['DATE_FRAICHE_BILAN']; $dateFraicheur=$p['DATE_FRAICHE_BILAN'];
$unite=@strtoupper($p['MONNAIE_LIV_UNITE']); $unite=@strtoupper($p['MONNAIE_LIV_UNITE']);
if ($unite=='') $unite='U'; if ($unite=='') $unite='U';
$conso='N';
if ($p['CONSOLIDE']=='C') $conso='C'; if ($p['CONSOLIDE']=='C') $conso='C';
elseif ($p['CONSOLIDE']=='S') $p=$mBil->bilanSimplifie2Normal($p); elseif ($p['CONSOLIDE']=='S') $p=@$mBil->bilanSimplifie2Normal($p);
$uniteMultiple=1; $uniteMultiple=1;/*
switch (strtoupper($unite)) { switch (strtoupper($unite)) {
case 'K': $uniteMultiple=1000; break; case 'K': $uniteMultiple=1000; break;
case 'M': $uniteMultiple=1000000; break; case 'M': $uniteMultiple=1000000; break;
} }*/
$effectif=@$p['YP']*1; $effectif=@$p['YP']*1;
$va=@$p['FL']+@$p['FM']+@$p['FN']-(@$p['FS']+@$p['FU'])-(@$p['FV']+@$p['FT']) - (@$p['FW']-@$p['HP']-@$p['HQ']); $va=@$p['FL']+@$p['FM']+@$p['FN']-(@$p['FS']+@$p['FU'])-(@$p['FV']+@$p['FT']) - (@$p['FW']-@$p['HP']-@$p['HQ']);
@ -293,7 +348,7 @@ if ($presta==5) {
$liq=@$p['CJ']-@$p['CK']-@$p['CH']+@$p['CI']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EH']; $liq=@$p['CJ']-@$p['CK']-@$p['CH']+@$p['CI']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EH'];
$cap=@$p['DL']+@$p['DO']-@$p['AA']-(@$p['CL']+@$p['CM']+@$p['CN'])+ @$p['ED']; $cap=@$p['DL']+@$p['DO']-@$p['AA']-(@$p['CL']+@$p['CM']+@$p['CN'])+ @$p['ED'];
$ren=round((@$p['HN']*100)/$cap,2); $ren=@round((@$p['HN']*100)/$cap,2);
$actImmo=@$p['AB']+@$p['AD']+@$p['AF']+@$p['AH']+@$p['AJ']+@$p['AL']-@$p['AC']-@$p['AE']-@$p['AG']-@$p['AI']-@$p['AK']-@$p['AM']+@$p['AN']+@$p['AP']+@$p['AR']+@$p['AT']+@$p['AV']+@$p['AX']-@$p['AO']-@$p['AQ']-@$p['AS']-@$p['AU']-@$p['AW']-@$p['AY']+@$p['CS']+@$p['CU']+@$p['BB']+@$p['BD']+@$p['BF']+@$p['BH']-@$p['CT']-@$p['CV']-@$p['BC']-@$p['BE']-@$p['BG']-@$p['BI']; $actImmo=@$p['AB']+@$p['AD']+@$p['AF']+@$p['AH']+@$p['AJ']+@$p['AL']-@$p['AC']-@$p['AE']-@$p['AG']-@$p['AI']-@$p['AK']-@$p['AM']+@$p['AN']+@$p['AP']+@$p['AR']+@$p['AT']+@$p['AV']+@$p['AX']-@$p['AO']-@$p['AQ']-@$p['AS']-@$p['AU']-@$p['AW']-@$p['AY']+@$p['CS']+@$p['CU']+@$p['BB']+@$p['BD']+@$p['BF']+@$p['BH']-@$p['CT']-@$p['CV']-@$p['BC']-@$p['BE']-@$p['BG']-@$p['BI'];
$actCirc=@$p['BL']+@$p['BN']+@$p['BP']+@$p['BR']+@$p['BT']-@$p['BM']-@$p['BO']-@$p['BQ']-@$p['BS']-@$p['BU']+@$p['BX']-@$p['DW']+@$p['YS']-@$p['BY']+@$p['BZ']+@$p['CB']+@$p['CH']-@$p['CA']-@$p['CC']-@$p['CI']+@$p['CD']+@$p['CF']-@$p['CE']-@$p['CG']; $actCirc=@$p['BL']+@$p['BN']+@$p['BP']+@$p['BR']+@$p['BT']-@$p['BM']-@$p['BO']-@$p['BQ']-@$p['BS']-@$p['BU']+@$p['BX']-@$p['DW']+@$p['YS']-@$p['BY']+@$p['BZ']+@$p['CB']+@$p['CH']-@$p['CA']-@$p['CC']-@$p['CI']+@$p['CD']+@$p['CF']-@$p['CE']-@$p['CG'];
$dlt=@$p['DS']+@$p['DT']+@$p['DU']+@$p['DV']-@$p['EH']-@$p['VI']; $dlt=@$p['DS']+@$p['DT']+@$p['DU']+@$p['DV']-@$p['EH']-@$p['VI'];
@ -301,14 +356,14 @@ if ($presta==5) {
$r80=$dlt; $r80=$dlt;
if ($r80<0) $r80=0; if ($r80<0) $r80=0;
$capPer=@$p['DL']+@$p['DO']+@$p['DR']+@$p['VI']-@$p['AA']+$r80; $capPer=@$p['DL']+@$p['DO']+@$p['DR']+@$p['VI']-@$p['AA']+$r80;
$ind=round(($cap*100)/abs($capPer),2); $ind=@round(($cap*100)/abs($capPer),2);
if ($ind<0) $ind=0; if ($ind<0) $ind=0;
$fdr=$capPer-@$p['BJ']+@$p['BK']+@$p['ED']-@$p['CL']-@$p['CM']-@$p['CN']; $fdr=$capPer-@$p['BJ']+@$p['BK']+@$p['ED']-@$p['CL']-@$p['CM']-@$p['CN'];
$bfr=@$p['CJ']-@$p['CK']+@$p['YS']-@$p['CF']-@$p['CD']+@$p['CE']+@$p['CG']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EB']; $bfr=@$p['CJ']-@$p['CK']+@$p['YS']-@$p['CF']-@$p['CD']+@$p['CE']+@$p['CG']-@$p['DW']-@$p['DX']-@$p['DY']-@$p['DZ']-@$p['EA']-@$p['EB'];
$bfrca=round(($bfr*360)/@$p['FL'],0); $bfrca=@round(($bfr*360)/@$p['FL'],0);
$treso=$fdr-$bfr; $treso=$fdr-$bfr;
$end=round((@$p['EC']*100)/$cap,2); $end=@round((@$p['EC']*100)/$cap,2);
if ($effectif==0) { if ($effectif==0) {
switch($tabId['EffEnTr']*1) { switch($tabId['EffEnTr']*1) {
@ -329,28 +384,32 @@ if ($presta==5) {
} }
} }
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) . /*$calc=($p['FL']*$uniteMultiple)/$uniteLiv;
initstr($nic, 5, '0', ALIGN_RIGHT) . echo "$siren le $dateClot en $unite $devise ($uniteMultiple, $uniteLiv): CA=$calc\t".$p['FL'].EOL;
initstr($ref, 7, '0', ALIGN_RIGHT) . */
initstr($nom, 60) .
initstr($conso, 1) . $ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
initstr($effectif, 7) . initstr($nic, 5, '0', ALIGN_RIGHT) .
initstr(substr($dateClot, 4,2).substr($dateClot, 0,4), 6, '0', ALIGN_RIGHT) . // BILAN_DATE Date de clôture du bilan Format AAAAMMJJ initstr($ref, 7, '0', ALIGN_RIGHT) .
initstr($duree, 2, '0', ALIGN_RIGHT) . // BILAN_DUREE Durée de l'exercice en mois initstr($nom, 60) .
initstr($devise, 3) . // BILAN_MONNAIE Code devise de livraison selon la norme ISO 4217 (3 lettres) initstr($conso, 1) .
initstr(@round($p['FL']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA initstr($effectif, 7, ' ', ALIGN_RIGHT) .
initstr(@round($ebe*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE initstr(substr($dateClot, 4,2).substr($dateClot, 0,4), 6, '0', ALIGN_RIGHT) . // BILAN_DATE Date de clôture du bilan Format AAAAMMJJ
initstr(@round($p['HN']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN initstr($duree, 2, '0', ALIGN_RIGHT) . // BILAN_DUREE Durée de l'exercice en mois
initstr(@round($caf*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CAF initstr($devise, 3) . // BILAN_MONNAIE Code devise de livraison selon la norme ISO 4217 (3 lettres)
initstr(@round($inv*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Investissements initstr(@round(($p['FL']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA
initstr(@round($liq*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Liquidités initstr(@round(($ebe*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE
initstr(sprintf("%+07.2f", $ren), 7) . // Rentabilite initstr(@round(($p['HN']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN
initstr(' ', 3) . initstr(@round(($caf*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CAF
initstr(@round($p['FK']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA Export initstr(@round(($inv*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Investissements
initstr(@round(($p['FY']+@$p['FZ'])*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Salaires et Charges initstr(@round(($liq*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Liquidités
initstr(@round($va*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // VA initstr(sprintf("%+07.2f", $ren), 7) . // Rentabilite
initstr(sprintf("%+07.2f", round($va*100/@$p['FL']),2), 7) . // Tx VA initstr(' ', 3) .
initstr(' ', 3) . initstr(@round(($p['FK']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA Export
initstr(@round((($p['FY']+@$p['FZ'])*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Salaires et Charges
initstr(@round(($va*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // VA
initstr(@sprintf("%+07.2f", round($va*100/@$p['FL']),2), 7) . // Tx VA
initstr(' ', 3) .
initstr(@round($p['GG']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Exploit. initstr(@round($p['GG']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Exploit.
initstr(@round($p['GV']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res. Fi initstr(@round($p['GV']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res. Fi
initstr(@round($p['HI']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Excep. initstr(@round($p['HI']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res Excep.
@ -359,21 +418,49 @@ if ($presta==5) {
initstr(@round($cap*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Capitaux Propres initstr(@round($cap*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Capitaux Propres
initstr(@round($dlt*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes LT initstr(@round($dlt*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes LT
initstr(@round($dct*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes CT initstr(@round($dct*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes CT
initstr(sprintf("%+07.2f", $ind), 7) . // Ind. Finan. initstr(sprintf("%+07.2f", $ind), 7) . // Ind. Finan.
initstr(' ', 3) . initstr(' ', 3) .
initstr(@round($fdr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // FR initstr(@round($fdr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // FR
initstr(@round($bfr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR initstr(@round($bfr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR
initstr(@round($bfrca*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR en j CA initstr(@round($bfrca*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // BFR en j CA
initstr(@round($treso*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Trésorerie initstr(@round($treso*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Trésorerie
initstr(sprintf("%+07.2f", $end), 7) . // Tx endettement initstr(sprintf("%+07.2f", $end), 7) . // Tx endettement
initstr(' ', 3) . initstr(' ', 3) .
initstr(str_replace('/','',WDate::dateT('Ymd','d/m/Y',$dateFraicheur)), 8); initstr(str_replace('/','',WDate::dateT('Ymd','d/m/Y',$dateFraicheur)), 8);
//echo $ligne.EOL; //echo $ligne.EOL;
fwrite($fp, $ligne.EOL); fwrite($fp, $ligne.EOL);
if ($iBil==3) break; if ($iBil==4) break;
} }
if ($nbSir%1000==0) echo date('Y/m/d - H:i:s') ." - $nbSir/$nbRows siren traites...".EOL;
} }
sendMail('support@scores-decisions.com', 'support@kompass.com,ylenaour@scores-decisions.com',
'Fichier Elements Financiers Scores & Décisions du mois '.date('m/Y'), 'Bonjour,
Pour votre information, nous avons déposé ce jour sur notre serveur FTP, le fichier des "éléments financiers" relatif au contrat.
Cordialement,
Service Support S&D.
--
SCORES & DECISIONS
1, rue de Clairefontaine 78120 Rambouillet
tél. direct : 33 (0)1 34 57 39 58
tél. standard : 33 (0)1 75 43 80 10
fax bureau : 33 (0)1 75 43 85 74
support@scores-decisions.com
www.scores-decisions.com
Scores & Décisions est l\'acteur nouvelle génération de l\'information et de l\'évaluation des entreprises');
} }
fclose($fp);
if (copy('/home/data/clients/kompass/kompass_p'.$presta."_$date.txt",'/home/data/ftp/kompass/recv/kompass_p'.$presta."_$date.txt"))
echo date('Y/m/d - H:i:s') ." - Copie du fichier kompass_p$presta"."_$date.txt vers le FTP réussi.".EOL;
else
echo date('Y/m/d - H:i:s') ." - ERREUR lors de la copie du fichier kompass_p$presta"."_$date.txt vers le FTP !".EOL;
die(); die();
?> ?>

View File

@ -5,7 +5,7 @@
**/ **/
function exporte($txt, $lon=-1, $sep="|") { function exporte($txt, $lon=-1, $sep="|") {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($lon==-1) return $txt.$sep; if ($lon==-1) return $txt.$sep;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -38,15 +38,15 @@ $iDb=new WDB('jo');
$iInsee=new MInsee(); $iInsee=new MInsee();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Kompass. Traitement spécifique Kompass.
Options : Options :
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort -1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass -3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
-4 Prestation 4 Mise à disposition de la base Liens -4 Prestation 4 Mise à disposition de la base Liens
-5 Prestation 5 Mise à disposition de la base Ratios -5 Prestation 5 Mise à disposition de la base Ratios
-v Verbosité maximum -v Verbosité maximum
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];

505
1.1/old/extractVWBank.php Normal file
View File

@ -0,0 +1,505 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(FWK_PATH.'common/curl.php');
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.'partenaires/classMRncs.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
include_once(INCLUDE_PATH.'conversion/bilAltares.php');
include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
include_once(INCLUDE_PATH.'partenaires/classMBanques.php');
$iInsee=new MInsee();
$iDb=new WDB();
$iDb2=new WDB('sdv1');
/*
$rep=$iDb->select( 'bodacc_detail',
'id, siren, VenteMt, Bodacc_Date_Parution, publication, publicationNom, publicationDate, SUBSTRING(codePostal,1,3) AS dep3',
"id>15000000 AND Rubrique='ventes' GROUP BY id", false, MYSQL_ASSOC);
$nb=count($rep);
echo "num\tidAnn\tsiren\tmontantVte\tdateJal\tdateBod\tnomJalBod\tdept\tJal\tidJal".EOL;
foreach($rep as $i=>$vte) {
$id=$vte['id'];
$nom=$vte['publication'];
$datePub=$vte['publicationDate'];
$dateBod=$vte['Bodacc_Date_Parution'];
$siren=$vte['siren'];
$mt=$vte['VenteMt'];
if (strlen($nom)<10) continue;
$dep=$vte['dep3']*1;
if ($dep<970) $dep=substr($vte['dep3'],0,2);
echo "$i/$nb\t$id\t$siren\t$mt\t$datePub\t$dateBod\t$nom\t$dep\t";
$nom2=trim(addslashes($vte['publicationNom']));
$rep=$iDb->select('tabJAL', "id, nomJal", "dep=$dep AND nomJal='$nom2'", false, MYSQL_ASSOC);
$idJal=@$rep[0]['id']*1;
if ($idJal==0) {
$rep=$iDb->select('tabJAL', "id, nomJal, MATCH(nomJal) AGAINST('$nom2') AS pertinence", "dep=$dep HAVING pertinence>1 ORDER BY pertinence DESC LIMIT 0,3", false, MYSQL_ASSOC);
$idJal=@$rep[0]['id'];
}
$nomJal=@$rep[0]['nomJal'];
echo "$nomJal\t$idJal".EOL;
//die();
//$nomTrouve".EOL;
}
die();
*/
/*
$tabSiren=array(318919065,
328412440,
347902587,
349339341,
379699770,
379776057,
379848146,
398984062,
414789016,
414813246,
572140788,
674800859);
foreach($tabSiren as $siren) {
$tabIndiscore=@calculIndiScore($siren, 0, false, 3, false);
print_r($tabIndiscore);
}
die();
*/
$ape77=$ca5=$ratios=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des liens actionnaires et participations.
Options :
-a APE77
-c CA5ME
-r Ratios
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
";*/
$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 'a': $ape77=true; break;
case 'c': $ca5=true; break;
case 'r': $ratios=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
}
}
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
**
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/
$iDb=new WDB('jo');
$iInsee=new MInsee();
//$fileIn='/root/sql/sirenManquantsVWB.csv';
if ($ape77) $fileIn='/root/sql/sirenAPE77.csv';
elseif ($ca5) $fileIn='/root/sql/sirenCA5ME.csv';
$fileOut=$fileIn.'.out';
if ($ratios) $fileOut=$fileIn.'_ratios.out';
$tabSiren=file($fileIn);
$fp=fopen($fileOut,'w');
$nb=count($tabSiren);
echo date ('Y/m/d - H:i:s')." - Début de l'export des $nb siren pour VWBank...".EOL;
foreach ($tabSiren as $i=>$tmp) {
$siren=trim($tmp)*1;
if ($siren<1000) continue;
//if ($i<21370) continue;
$tabId=@$iInsee->getIdentiteEntreprise($siren,0,0,false,true);
// getIdentiteEntreprise($siren, $nic=0, $id=0, $forceVerif=false, $accesDist=true) {
//print_r($tabId);
if ($ratios) {
$mBil=new MBilans($siren);
$tabBilans=$mBil->listeBilans(0);
//print_r($tabBilans);
$NBBILAN=count($tabBilans);
$tabBilan=$tabBil=$tabRatios=array();
$strOut='';
if ($NBBILAN>0) {
$tabRatios=@calculRatios($tabBilans, $tabId, 0);
$j=0;
foreach($tabBilans as $cleMille=>$tabInfosBilan) {
$strOut.=$siren."\t".$tabInfosBilan['dateExercice']."\t".$tabInfosBilan['dureeExercice']."\t".$tabInfosBilan['typeBilan']."\t";
$strOut.=$tabRatios[$j][5]."\t"; // CA
$strOut.=$tabRatios[$j][7]."\t"; // RCAI
$strOut.=$tabRatios[$j][10]."\t"; // RN
$strOut.=$tabRatios[$j][18]."\t"; // FP
$strOut.=$tabRatios[$j][23]."\t"; // TOTAL BILAN
$strOut.=$tabRatios[$j][235]."\t"; // FR
$strOut.=$tabRatios[$j][236]."\t"; // BFR
$strOut.=$tabRatios[$j][254]."\t"; // TRESORERIE
$strOut.=$tabRatios[$j][24]."\t"; // Effectif
$strOut.=$tabRatios[$j][140]."\t"; // EBE
$strOut.=$tabRatios[$j][233]."\t";
$strOut.=$tabRatios[$j][234]."\t";
$strOut.=$tabRatios[$j][237]."\t";
$strOut.=$tabRatios[$j][238]."\t";
$strOut.=$tabRatios[$j][239]."\t";
$strOut.=$tabRatios[$j][240]."\t";
$strOut.=$tabRatios[$j][262]."\t";
$strOut.=$tabRatios[$j][263]."\t";
$strOut.=$tabRatios[$j][264]."\t";
$strOut.=$tabRatios[$j][265]."\t";
$strOut.=$tabRatios[$j][266]."\t";
$strOut.=$tabRatios[$j][250]."\t";
$strOut.=$tabRatios[$j][251]."\t";
$strOut.=$tabRatios[$j][252]."\t";
$strOut.=$tabRatios[$j][244]."\t";
$strOut.=$tabRatios[$j][247]."\t";
$strOut.=$tabRatios[$j][248]."\t";
$strOut.=$tabRatios[$j][271]."\t";
$strOut.=$tabRatios[$j][278]."\t";
$strOut.=$tabRatios[$j][279]."\t";
$strOut.=$tabRatios[$j][281]."\t";
$strOut.=$tabRatios[$j][261]."\t";
$strOut.=$tabRatios[$j][267].EOL;
$j++;
if ($j>2) break;
}
}
} else {
$strOut =@$tabId['Siret']."\t";
$strOut.=@$tabId['Actif']."\t"; // => 1
$strOut.=@$tabId['ActifEco']."\t"; // => 1
$strOut.=@$tabId['ActifEcoDate']."\t"; // =>
$strOut.=@$tabId['ActifEcoType']."\t"; // =>
$strOut.=@$tabId['EntActiveRCS']."\t"; // => 1
$strOut.=@$tabId['EtabActifRCS']."\t"; // => 1
$strOut.=@$tabId['Tribunal']."\t";
$strOut.=@$tabId['Nom']."\t"; // => GABET ALAIN GEORGES
$strOut.=@$tabId['Nom2']."\t"; // =>
$strOut.=@$tabId['nomLong']."\t"; // => SERCY
$strOut.=@$tabId['Sigle']."\t"; // =>
$strOut.=@$tabId['NomCommercial']."\t"; // => SERGY TP
$strOut.=@$tabId['Enseigne']."\t"; // =>
$strOut.=@$tabId['enseigneLong']."\t"; // =>
$strOut.=@$tabId['AdresseNum']."\t"; // => 0049
$strOut.=@$tabId['AdresseBtq']."\t"; // =>
$strOut.=@$tabId['AdresseVoie']."\t"; // => AV
$strOut.=@$tabId['AdresseRue']."\t"; // => DE MACON
$strOut.=@$tabId['Adresse2']."\t"; // => LE FAUBOURG
$strOut.=@$tabId['CP']."\t"; // => 01000
$strOut.=@$tabId['Ville']."\t"; // => BOURG EN BRESSE
$strOut.=@$tabId['PaysIso2']."\t"; // => FR
$strOut.=@$tabId['Civilite']."\t"; // => 1
$strOut.=@$tabId['NbEtab']."\t"; // => 1
$strOut.=@$tabId['Tel']."\t"; // =>
$strOut.=@$tabId['Fax']."\t"; // =>
$strOut.=@$tabId['Web']."\t"; // =>
$strOut.=@$tabId['Mail']."\t"; // =>
$strOut.=@$tabId['GeoLat']."\t"; // => 46.2108498
$strOut.=@$tabId['GeoLon']."\t"; // => 5.2186203
$strOut.=@$tabId['GeoAlt']."\t"; // => 236
$strOut.=@$tabId['GeoPrecis']."\t"; // => 8
$strOut.=@$tabId['TvaNumero']."\t"; // => FR74412724577
$strOut.=@$tabId['TvaAttribue']."\t"; // =>
$strOut.=@$tabId['FJ']."\t"; // => 1900
$strOut.=@$tabId['RECME']."\t"; // => 0
$strOut.=@$tabId['NafEtab']."\t"; // => 7712Z
$strOut.=@$tabId['NafEnt']."\t"; // => 7712Z
$strOut.=@$tabId['NaceEtab']."\t"; // => N7712
$strOut.=@$tabId['NaceEnt']."\t"; // => N7712
$strOut.=@$tabId['Isin']."\t"; // =>
$strOut.=@$tabId['Capital']."\t"; // => 000000000000000
$strOut.=@$tabId['CapitalDev']."\t"; // =>
$strOut.=@$tabId['CapitalType']."\t"; // =>
$strOut.=@$tabId['DateCreaEt']."\t"; // => 19950500
$strOut.=@$tabId['DateCreaEn']."\t"; // => 19950500
$strOut.=@$tabId['SituationJuridique']."\t"; // =>
$strOut.=@$tabId['EffEnTr']."\t"; // => 00
$strOut.=@$tabId['EffEnTrLib']."\t"; // => N/C
$strOut.=@$tabId['EffEtTr']."\t"; // => 00
$strOut.=@$tabId['EffEtTrLib']."\t"; // =>
$strOut.=@$tabId['EffectifEtab']."\t"; // => 0000000
$strOut.=@$tabId['Effectif']."\t"; // => 0000000
$strOut.=@$tabId['Dept']."\t"; // => 01
$strOut.=@$tabId['codeCommune']."\t"; // => 053
$strOut.=@$tabId['TrancheCA']."\t"; // => 0
$strOut.=@$tabId['TrancheCALib']."\t"; // => N/C
$strOut.=@$tabId['TrancheCAexp']."\t"; // => 0
$strOut.=@$tabId['TrancheCAexpLib']."\t"; // => 0%
$strOut.=@$tabId['TrancheCAType']."\t"; // => I
$strOut.=@$tabId['AnneeEffEn']."\t"; // => 2004
$strOut.=@$tabId['AnneeEffEt']."\t"; // => 2004
$strOut.=@$tabId['AnneeTCA']."\t"; // => 0000
$strOut.=@$tabId['Rivoli']."\t"; // => 2400 0
$strOut.=@$tabId['InfosIris']['codIris']."\t"; // => 0201
$strOut.=@$tabId['InfosIris']['codComIris']."\t"; // => 010530201
$strOut.=@$tabId['InfosIris']['libIris']."\t"; // => Citadelle
$strOut.=@$tabId['InfosIris']['typIris']."\t"; // => IRIS d'habitat
$strOut.=@$tabId['InfosIris']['evoIris']."\t"; // => 0
$strOut.=@$tabId['InfosIris']['trIris']."\t"; // => 010021
$strOut.=@$tabId['InfosIris']['grdQuartier']."\t"; // => 0105302
$strOut.=@$tabId['NatureActivite']."\t"; // => 0
$strOut.=@$tabId['OrigineCreation']."\t"; // => 1
$strOut.=@$tabId['Auxiliaire']."\t"; // => 0
$strOut.=@$tabId['Saisonnalite']."\t"; // => 0
$strOut.=@$tabId['ACTISURF']."\t"; // => 0
$strOut.=@$tabId['EXPLEN']."\t"; // => X
$strOut.=@$tabId['EXPLET']."\t"; // => X
$strOut.=@$tabId['LIEUACT']."\t"; // => 99
$strOut.=@$tabId['MODEN']."\t"; // => S
$strOut.=@$tabId['MONOACT']."\t"; // => 1
$strOut.=@$tabId['MONOREG']."\t"; // => 1
$strOut.=@$tabId['REGIMP']."\t"; // => 82
$strOut.=@$tabId['PRODPART']."\t"; // => 0
$strOut.=@$tabId['GeoInfos']['CUCS']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['ZRU']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['ZFU']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['ZUS']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['AFR']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['ZRR']."\t"; // => NON
$strOut.=@$tabId['GeoInfos']['NZRR']."\t"; // => 10194
$strOut.=@$tabId['NonDiffusible']."\t"; // =>
$strOut.=@$tabId['TypeExploitation']."\t"; // => 0
$strOut.=@$tabId['APRM']."\t"; // => 4399CZ
$strOut.=@$tabId['AdresseDom']."\t"; // => 2
$strOut.=@$tabId['AdresseDomNb']."\t"; // => 688
$strOut.=@$tabId['Activite']."\t"; // => Terrassement, travaux publics, (VRD), maçonnerie , Béton armé, location d'engins Tp, négoce de granulats et terre, Recyclage de matériaux
$strOut.=@$tabId['numGreffe']."\t"; // => 0101
$strOut.=@$tabId['numRC']."\t"; // => 2012A00006
$strOut.=@$tabId['NumRM']."\t"; // => 327155404 RM 01
$strOut.=@$tabId['dateImmat']."\t"; // => 2012-01-11
$strOut.=@$tabId['dateRad']."\t"; // => 0000-00-00
$strOut.=@$tabId['TribunalLib']."\t"; // => TC BOURG EN BRESSE
$strOut.=@$tabId['bilanAnnee']."\t"; // => 2010
$strOut.=@$tabId['bilanFLestime']."\t"; // => 250531
$strOut.=@$tabId['dateMajIdentite']."\t"; // => 2012-09-30
$strOut.=@$tabId['DateMajINSEE']."\t"; // => 2012-09-30
$strOut.=@$tabId['dateMajANN']."\t"; // => 2012-01-24
$strOut.=@$tabId['DateMajRCS']."\t";
$ANNONCESVDATE=$ANNONCERJDATE=$ANNONCELJDATE=$ANNONCEPLANDATE='';
if (@$tabId['SituationJuridique']=='P') {
$tabProCol=@$iInsee->getAnnoncesLegales($siren, 0, 'P', false);
foreach ($tabProCol as $iProcol=>$procol) {
foreach ($procol['evenements'] as $even) {
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
switch ($even['CodeEven']*1) {
case 1300: // Conversion Redressement Judiciaire en Liquidation Judiciaire
case 1301: // Ouverture Liquidation Judiciaire
case 1302: // Ouverture Liquidation Judiciaire Simplifiée
case 1305: // Liquidation Judiciaire
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1303: // Ouverture Liquidation Judiciaire sur résolution du plan
case 1304: // Réouverture Liquidation Judiciaire
case 1306: // Liquidation Judiciaire simplifiée
case 1307: // Conversion sauvegarde en Liquidation Judiciaire
case 1311: // Liquidation Judiciaire par extension au(x) gérant(s)
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'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1200: // Redressement Judiciaire
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1201: // Conversion sauvegarde en Redressement Judiciaire
case 1211: // Redressement Judiciaire par extension au(x) gérant(s)
case 1212: // Réforme de Liquidation Judiciaire en Redressement Judiciaire
case 1418: // Jugement d'extension d'une procédure de redressement judiciaire
// Annonce de redressement judiciaire
$ANNONCERJ=true;
// Date de l'annonce RJ
$ANNONCERJDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1100: // Ouverture sauvegarde
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1419: // Jugement d'extension d'une procédure de sauvegarde
// Annonce de sauvegarde
$ANNONCESV=true;
// Date de l'annonce Sauv
$ANNONCESVDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1407: // Modification de plan
case 1408: // Modification du plan de cession
case 1409: // Modification du plan de continuation
case 1415: // Prolongement du plan cession
// Modif de plan d'apurement
$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
$PLAN=true; // Présence d'une annonce de plan d'apurement
if ($even['CodeEven']*1==1411) $ANNONCEPLAN='cession';
elseif ($even['CodeEven']*1==1412) $ANNONCEPLAN='cession partielle';
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'];
break;
case 1600: // Interdictions et Faillites
case 1601:
case 1610:
case 1611:
$ANNONCEINTERDITDATE=$procol['dateJugement'];
break;
case 1202: // Renouvellement de la période d'observation
$ANNONCEPC_OBS=true;
//1430, Jugement autorisant la poursuite d'activité
break;
}
}
}
} elseif ($tabIdentite['SituationJuridique']=='PL') {
$ANNONCEPCHISTO=true;
$ELIMINE=false;
$ANNONCEPC='Plan de continuation/redressement';
$tabProCol=$iInsee->getAnnoncesLegales($siren, 0, 'P', false);
foreach ($tabProCol as $iProcol=>$procol) {
foreach ($procol['evenements'] as $even) {
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
switch ($even['CodeEven']*1) {
case 1300: // Conversion Redressement Judiciaire en Liquidation Judiciaire
case 1301: // Ouverture Liquidation Judiciaire
case 1302: // Ouverture Liquidation Judiciaire Simplifiée
case 1305: // Liquidation Judiciaire
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1303: // Ouverture Liquidation Judiciaire sur résolution du plan
case 1304: // Réouverture Liquidation Judiciaire
case 1306: // Liquidation Judiciaire simplifiée
case 1307: // Conversion sauvegarde en Liquidation Judiciaire
case 1311: // Liquidation Judiciaire par extension au(x) gérant(s)
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'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1200: // Redressement Judiciaire
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1201: // Conversion sauvegarde en Redressement Judiciaire
case 1211: // Redressement Judiciaire par extension au(x) gérant(s)
case 1212: // Réforme de Liquidation Judiciaire en Redressement Judiciaire
case 1418: // Jugement d'extension d'une procédure de redressement judiciaire
// Annonce de redressement judiciaire
$ANNONCERJ=true;
// Date de l'annonce RJ
$ANNONCERJDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1100: // Ouverture sauvegarde
if (substr($procol['dateFinObservation'],0,4)*1>0) $ANNONCEPC_OBS=true;
case 1419: // Jugement d'extension d'une procédure de sauvegarde
// Annonce de sauvegarde
$ANNONCESV=true;
// Date de l'annonce Sauv
$ANNONCESVDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
$TRIBUNAL_PROCOL=strtr($procol['Tribunal'],array('TC '=>'Tribunal de Commerce de '));
break;
case 1407: // Modification de plan
case 1408: // Modification du plan de cession
case 1409: // Modification du plan de continuation
case 1415: // Prolongement du plan cession
// Modif de plan d'apurement
$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
$PLAN=true; // Présence d'une annonce de plan d'apurement
if ($even['CodeEven']*1==1411) $ANNONCEPLAN='cession';
elseif ($even['CodeEven']*1==1412) $ANNONCEPLAN='cession partielle';
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'];
break;
case 1600: // Interdictions et Faillites
case 1601:
case 1610:
case 1611:
$ANNONCEINTERDITDATE=$procol['dateJugement'];
break;
case 1202: // Renouvellement de la période d'observation
$ANNONCEPC_OBS=true;
//1430, Jugement autorisant la poursuite d'activité
break;
}
}
}
} else {
$tabProCol=$iInsee->getAnnoncesLegales($siren, 0, 'PH', false);
if (count($tabProCol)>0) $ANNONCEPCHISTO=1;
else $ANNONCEPCHISTO=0;
}
$strOut.="$ANNONCESVDATE\t$ANNONCERJDATE\t$ANNONCELJDATE\t$ANNONCEPLANDATE".EOL; // => 2012-03-21
}
fwrite($fp, $strOut);
echo date('Y-m-d H:i:s')." - $i/$nb : $siren".EOL;
}
?>

View File

@ -10,15 +10,15 @@
Usage: <?=$argv[0]?> <type of data> <fileIn> <fileInFmt> <fileOut> <fileOutFmt> Usage: <?=$argv[0]?> <type of data> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
Where <type of data> is : Where <type of data> is :
id Fiche d'identité (source BIL, RNCS puis INSEE) id Fiche d'identité (source BIL, RNCS puis INSEE)
idi Fiche d'identité (source INSEE pure) idi Fiche d'identité (source INSEE pure)
pf Partenaires Financiers pf Partenaires Financiers
ann Annonces Légales ann Annonces Légales
dir Liste des dirigeants dir Liste des dirigeants
lbil Bilans disponibles lbil Bilans disponibles
bil Bilan complet (à la date de cloture demandée ou dernier dispo) bil Bilan complet (à la date de cloture demandée ou dernier dispo)
nof Notation financière (à la date de cloture demandée ou dernier dispo) nof Notation financière (à la date de cloture demandée ou dernier dispo)
ch Score Conan & Holder (à la date de cloture demandée ou dernier dispo) ch Score Conan & Holder (à la date de cloture demandée ou dernier dispo)
sv1 SolvaBil 1 sv1 SolvaBil 1
sv2 SolvaBil 2 sv2 SolvaBil 2
sv3 SolvaBil 3 sv3 SolvaBil 3
@ -31,8 +31,8 @@ Where <type of data> is :
Where <fileOutFmt> is : csv / SO2000 Where <fileOutFmt> is : csv / SO2000
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne. Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
Si les informations demandées sont relatives à un bilan, la date de clôture précise du bilan peut être passée au format JJ/MM/AAAA. Si les informations demandées sont relatives à un bilan, la date de clôture précise du bilan peut être passée au format JJ/MM/AAAA.
<?php <?php
} }
@ -41,7 +41,7 @@ include('automate.class.php');
include('includes/ICotation.inc'); include('includes/ICotation.inc');
$bil=&new Automate('array', false); $bil=&new Automate('array', false);
if ($argc < 7 && $argv[1]!='usertest') {echoHeader();die('Erreur : Vous n\'avez saisit que '. $argc .' paramètre(s) !');} if ($argc < 7 && $argv[1]!='usertest') {echoHeader();die('Erreur : Vous n\'avez saisit que '. $argc .' paramètre(s) !');}
elseif ($argv[1]=='usertest' && $argc==4) { elseif ($argv[1]=='usertest' && $argc==4) {
$bil->setDebug(true); $bil->setDebug(true);
if ($bil->connect($argv[2], $argv[3])) if ($bil->connect($argv[2], $argv[3]))
@ -76,12 +76,12 @@ if ($ligneDebutLecture>$nbLignes) {echoHeader();die('Erreur : Le fichier IN co
$bil->setRetour('csv'); $bil->setRetour('csv');
if ($argv[1]=='nof') if ($argv[1]=='nof')
fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SECTEUR;NOF;NOF Moyenne;R1 Numérateur;R1 Dénominateur;R1 Note;R1 Note bornée;R2 Numérateur;R2 Dénominateur;R2 Note;R2 Note bornée;R3 Numérateur;R3 Dénominateur;R3 Note;R3 Note bornée;R4 Numérateur;R4 Dénominateur;R4 Note;R4 Note bornée;R5 Numérateur;R5 Dénominateur;R5 Note;R5 Note bornée;R6 Numérateur;R6 Dénominateur;R6 Note;R6 Note bornée;Equiv. BDF;Equiv. Grades Moody's;Equiv. Grades S&P;Probabilité de défaillance;Postes du bilan;\r\n"); fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SECTEUR;NOF;NOF Moyenne;R1 Numérateur;R1 Dénominateur;R1 Note;R1 Note bornée;R2 Numérateur;R2 Dénominateur;R2 Note;R2 Note bornée;R3 Numérateur;R3 Dénominateur;R3 Note;R3 Note bornée;R4 Numérateur;R4 Dénominateur;R4 Note;R4 Note bornée;R5 Numérateur;R5 Dénominateur;R5 Note;R5 Note bornée;R6 Numérateur;R6 Dénominateur;R6 Note;R6 Note bornée;Equiv. BDF;Equiv. Grades Moody's;Equiv. Grades S&P;Probabilité de défaillance;Postes du bilan;\r\n");
elseif ($argv[1]=='ch') elseif ($argv[1]=='ch')
fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SCORE CONAN-HOLDER;SCORE/20;SITUATION;R1;R2;R3;R4;R5;\r\n"); fwrite($fpOUT, "SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SCORE CONAN-HOLDER;SCORE/20;SITUATION;R1;R2;R3;R4;R5;\r\n");
foreach ($fileIN as $key => $ligne) { foreach ($fileIN as $key => $ligne) {
//die("Position = $key, NbLignes=$nbLignes, Lire à la ligne $ligneDebutLecture"); //die("Position = $key, NbLignes=$nbLignes, Lire à la ligne $ligneDebutLecture");
if ($key<$ligneDebutLecture) if ($key<$ligneDebutLecture)
continue; continue;
if ($argv[3]=='csv'){ if ($argv[3]=='csv'){
@ -99,7 +99,7 @@ if ($argv[3]=='csv'){
if ($dateCloture=='' && (in_array($argv[1], array('bil', 'nof', 'ch')))) if ($dateCloture=='' && (in_array($argv[1], array('bil', 'nof', 'ch'))))
{ {
// Recherche de la dernière date de clôture de bilan disponible ! // Recherche de la dernière date de clôture de bilan disponible !
$derCloture=$bil->getDatesClotures($siren, '', 'array'); $derCloture=$bil->getDatesClotures($siren, '', 'array');
$dateCloture=$derCloture[0]['RBDTCN']; $dateCloture=$derCloture[0]['RBDTCN'];
$dureCloture=$derCloture[0]['RDDURN']; $dureCloture=$derCloture[0]['RDDURN'];
@ -110,18 +110,18 @@ if ($argv[3]=='csv'){
//$bil->connect('900000179', 'SOUPE'); //$bil->connect('900000179', 'SOUPE');
$typeFiche='ci'; $typeFiche='ci';
/* /*
hbilsoid Requête IDENTITE FORMAT SO2000 hbilsoid Requête IDENTITE FORMAT SO2000
hbilsoids hbilsoids
hbilsoidci Fiche identité Complete INSEE SO2000 hbilsoidci Fiche identité Complete INSEE SO2000
hbilsoidc Fiche identité Complete SO2000 hbilsoidc Fiche identité Complete SO2000
*/ */
$retour=$bil->getFicheIdentite($siren, $nic, $typeFiche, '', $ref, $fileOutFmt); $retour=$bil->getFicheIdentite($siren, $nic, $typeFiche, '', $ref, $fileOutFmt);
} }
else else
{ {
// $bil->connect('900000183', 'CONGE'); // SVB1 Spé Bouygues Tél // $bil->connect('900000183', 'CONGE'); // SVB1 Spé Bouygues Tél
//$bil->connect('900000182', 'XXXX'); // CA-LEASING Séparateur Nom/Prénom + Filtre annonces //$bil->connect('900000182', 'XXXX'); // CA-LEASING Séparateur Nom/Prénom + Filtre annonces
$bil->connect('900000114', 'CHANT'); $bil->connect('900000114', 'CHANT');
if ($argv[1]=='id') if ($argv[1]=='id')
$retour=$bil->getFicheIdentite($siren, $nic, 'c', '', $ref, $fileOutFmt); $retour=$bil->getFicheIdentite($siren, $nic, 'c', '', $ref, $fileOutFmt);
@ -201,7 +201,7 @@ if ($argv[3]=='csv'){
$noteFinanciere = $icotation->getNotationFin($noteTot/6); $noteFinanciere = $icotation->getNotationFin($noteTot/6);
$libNoteFinanciere = $icotation->getInfosNotation($noteFinanciere); $libNoteFinanciere = $icotation->getInfosNotation($noteFinanciere);
$suite = $noteFinanciere .';'. // Notation Financière $suite = $noteFinanciere .';'. // Notation Financière
$noteMoy .';'; // Note Moyenne $noteMoy .';'; // Note Moyenne
for ($i=1; $i<7; $i++) for ($i=1; $i<7; $i++)
@ -218,10 +218,10 @@ if ($argv[3]=='csv'){
$tabIdentite['SONOM'] .';'. // Raison sociale $tabIdentite['SONOM'] .';'. // Raison sociale
$tabIdentite['SOCP'] .';'. // Code Postal $tabIdentite['SOCP'] .';'. // Code Postal
$tabIdentite['SOCOM'] .';'. // Ville $tabIdentite['SOCOM'] .';'. // Ville
$dateCloture .';'. // Date de clôture du bilan $dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois $dureCloture .';'. // Durée du bilan en mois
$tabIdentite['SOAPET'] .';'. // NAF $tabIdentite['SOAPET'] .';'. // NAF
$secteur .'-'. $libSecteur .';'. // Libellé du secteur d'activité $secteur .'-'. $libSecteur .';'. // Libellé du secteur d'activité
$suite ."\n"; $suite ."\n";
} }
elseif ($argv[1]=='ch') { elseif ($argv[1]=='ch') {
@ -257,8 +257,8 @@ if ($argv[3]=='csv'){
if ($n>16.5) { $s=20; $situation="Excellente"; } if ($n>16.5) { $s=20; $situation="Excellente"; }
elseif ($n>16) { $s=19; $situation="Excellente"; } elseif ($n>16) { $s=19; $situation="Excellente"; }
elseif ($n>15) { $s=18; $situation="Très bonne"; } elseif ($n>15) { $s=18; $situation="Très bonne"; }
elseif ($n>14) { $s=17; $situation="Très bonne"; } elseif ($n>14) { $s=17; $situation="Très bonne"; }
elseif ($n>13) { $s=16; $situation="Bonne"; } elseif ($n>13) { $s=16; $situation="Bonne"; }
elseif ($n>12) { $s=15; $situation="Bonne"; } elseif ($n>12) { $s=15; $situation="Bonne"; }
elseif ($n>11) { $s=14; $situation="Bonne"; } elseif ($n>11) { $s=14; $situation="Bonne"; }
@ -292,8 +292,8 @@ if ($argv[3]=='csv'){
$tabIdentite['SONOM'] .';'. // Raison sociale $tabIdentite['SONOM'] .';'. // Raison sociale
$tabIdentite['SOCP'] .';'. // Code Postal $tabIdentite['SOCP'] .';'. // Code Postal
$tabIdentite['SOCOM'] .';'. // Ville $tabIdentite['SOCOM'] .';'. // Ville
$dateCloture .';'. // Date de clôture du bilan $dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois $dureCloture .';'. // Durée du bilan en mois
$tabIdentite['SOAPET'] .';'. // NAF $tabIdentite['SOAPET'] .';'. // NAF
$suite ."\n"; $suite ."\n";
} }
@ -312,7 +312,7 @@ if ($argv[3]=='csv'){
//echo "Produits disponibles :<br/>"; //echo "Produits disponibles :<br/>";
//print_r($bil->getListeProduits('552144503')); //print_r($bil->getListeProduits('552144503'));
// echo "Fiche d'identité :<br/>"; // echo "Fiche d'identité :<br/>";
$fp=fopen('identites.csv', 'w'); $fp=fopen('identites.csv', 'w');
foreach ($tab as $key=>$siren) { foreach ($tab as $key=>$siren) {
$ret=$bil->getFicheIdentite($siren); $ret=$bil->getFicheIdentite($siren);
@ -406,49 +406,49 @@ function array2xml($array,$level=0){
$tabCJ=array( $tabCJ=array(
'10'=>'Personne physique', '10'=>'Personne physique',
'11'=>'Artisan Commerçant', '11'=>'Artisan Commerçant',
'12'=>'Commerçant', '12'=>'Commerçant',
'13'=>'Artisan (civil)', '13'=>'Artisan (civil)',
'14'=>'Officier public ou ministériel', '14'=>'Officier public ou ministériel',
'15'=>'Profession libérale', '15'=>'Profession libérale',
'16'=>'Exploitant agricole', '16'=>'Exploitant agricole',
'17'=>'Agent commercial', '17'=>'Agent commercial',
'18'=>'Associé-Gérant de société', '18'=>'Associé-Gérant de société',
'19'=>'Personne Physique', '19'=>'Personne Physique',
'21'=>'Indivision', '21'=>'Indivision',
'22'=>'Sté créée de Fait', '22'=>'Sté créée de Fait',
'23'=>'Sté en Participation', '23'=>'Sté en Participation',
'27'=>'Paroisse hors zone concordataire', '27'=>'Paroisse hors zone concordataire',
'29'=>'Groupement droit privé,n/pers.morale', '29'=>'Groupement droit privé,n/pers.morale',
'31'=>'P.M.droit étranger immatriculé RCS', '31'=>'P.M.droit étranger immatriculé RCS',
'32'=>'P.M.droit étranger n/immat.RCS', '32'=>'P.M.droit étranger n/immat.RCS',
'41'=>'Ets public-régie indus/commerciale', '41'=>'Ets public-régie indus/commerciale',
'51'=>'Sté coopérative commerciale', '51'=>'Sté coopérative commerciale',
'52'=>'Sté en nom collectif', '52'=>'Sté en nom collectif',
'53'=>'Sté en commandite', '53'=>'Sté en commandite',
'54'=>'S.A.R.L', '54'=>'S.A.R.L',
'55'=>'S.A à conseil d\'administration', '55'=>'S.A à conseil d\'administration',
'56'=>'S.A à directoire', '56'=>'S.A à directoire',
'57'=>'SA par action simplifiée', '57'=>'SA par action simplifiée',
'61'=>'Caisse d\'Epargne & Prévoyance', '61'=>'Caisse d\'Epargne & Prévoyance',
'62'=>'G.I.E', '62'=>'G.I.E',
'63'=>'Sté coopérative agricole', '63'=>'Sté coopérative agricole',
'64'=>'Sté n/commerciale d\'assurance', '64'=>'Sté n/commerciale d\'assurance',
'65'=>'Société Civile', '65'=>'Société Civile',
'69'=>'Autres PM de droit privé inscrites au R', '69'=>'Autres PM de droit privé inscrites au R',
'71'=>'Administration d\'Etat', '71'=>'Administration d\'Etat',
'72'=>'Collectivité Territoriale', '72'=>'Collectivité Territoriale',
'73'=>'Ets Public Administratif', '73'=>'Ets Public Administratif',
'74'=>'P.M. de droit public,administration', '74'=>'P.M. de droit public,administration',
'81'=>'Organisme de protection sociale', '81'=>'Organisme de protection sociale',
'82'=>'Organisme mutualiste', '82'=>'Organisme mutualiste',
'83'=>'Comité d\'Entreprise', '83'=>'Comité d\'Entreprise',
'84'=>'Organisme Professionnel', '84'=>'Organisme Professionnel',
'85'=>'Org.de retraite adh. n/obligatoire', '85'=>'Org.de retraite adh. n/obligatoire',
'91'=>'Syndicat de Propriétaires', '91'=>'Syndicat de Propriétaires',
'92'=>'Association 1901 ou Assimilé', '92'=>'Association 1901 ou Assimilé',
'93'=>'Fondation', '93'=>'Fondation',
'99'=>'P.M. de droit privé', '99'=>'P.M. de droit privé',
); );
$tabCJbilans=array('54','55','56','57'); $tabCJbilans=array('54','55','56','57');

View File

@ -38,24 +38,24 @@ $sep=',';
$eol=EOL; $eol=EOL;
$modeDebug=false; $modeDebug=false;
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO $genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi $lastDepot=false; // Remettre à disposition le précédent envoi
$chargerRetour=true; // Charger le/les retours Fedaso $chargerRetour=true; // Charger le/les retours Fedaso
$initReferentiel=false; // Mettre à jour le référentiel des tables associées $initReferentiel=false; // Mettre à jour le référentiel des tables associées
$tabFichierIn=$tabFichLigneCmd=array(); $tabFichierIn=$tabFichLigneCmd=array();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Gestion des échanges avec Fedaso. Gestion des échanges avec Fedaso.
Options : Options :
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX). -d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi. -l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées. -t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*) -c Charger les documents traités et retournés par Fedaso (*)
-v Mode verbose (ou debug) -v Mode verbose (ou debug)
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
@ -99,7 +99,7 @@ if (!$modeDebug) {
die(); die();
break; break;
default: default:
if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche
die(); die();
break; break;
} }
@ -117,25 +117,25 @@ if (count($tabFichLigneCmd)==0) {
} else $tabFichierIn=$tabFichLigneCmd; } else $tabFichierIn=$tabFichLigneCmd;
if ($initReferentiel) { if ($initReferentiel) {
if (date('N')==5) echo date('Y/m/d - H:i:s') ." - Génération hebdomadaire du référentiel OK...". EOL; if (date('N')==5) echo date('Y/m/d - H:i:s') ." - Génération hebdomadaire du référentiel OK...". EOL;
else echo date('Y/m/d - H:i:s') ." - Génération forcée du référentiel OK...". EOL; else echo date('Y/m/d - H:i:s') ." - Génération forcée du référentiel OK...". EOL;
$nb=file_put_contents($repPdfInfogreffe."/tableCodesRetours_$verFedasoRef.csv", $fedaso->getRefCodeRetour($sep,$eol)); $nb=file_put_contents($repPdfInfogreffe."/tableCodesRetours_$verFedasoRef.csv", $fedaso->getRefCodeRetour($sep,$eol));
echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Retours' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Retours' : $nb lignes.". EOL;
$nb=file_put_contents($repPdfInfogreffe."/tableCodesVoies_$verFedasoRef.csv", $fedaso->getRefCodeVoie($sep,$eol)); $nb=file_put_contents($repPdfInfogreffe."/tableCodesVoies_$verFedasoRef.csv", $fedaso->getRefCodeVoie($sep,$eol));
echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Voies' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Codes Voies' : $nb lignes.". EOL;
$nb=$iDb->exportCSV('SELECT devIso, devNom FROM sdv1.devise_liste;', $repPdfInfogreffe."/tableCodesDevises_$verFedasoRef.csv",$sep,$eol); $nb=$iDb->exportCSV('SELECT devIso, devNom FROM sdv1.devise_liste;', $repPdfInfogreffe."/tableCodesDevises_$verFedasoRef.csv",$sep,$eol);
echo date('Y/m/d - H:i:s') ." - Référentiel 'Devises' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Devises' : $nb lignes.". EOL;
$nb=$iDb->exportCSV('SELECT codActe, libActe FROM jo.tabActes;', $repPdfInfogreffe."/tableCodesActes_$verFedasoRef.csv",$sep,$eol); $nb=$iDb->exportCSV('SELECT codActe, libActe FROM jo.tabActes;', $repPdfInfogreffe."/tableCodesActes_$verFedasoRef.csv",$sep,$eol);
echo date('Y/m/d - H:i:s') ." - Référentiel 'Actes' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Actes' : $nb lignes.". EOL;
$nb=$iDb->exportCSV('SELECT codeFct AS codFonction, libelle AS libFonction FROM jo.bodacc_fonctions;', $repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv",$sep,$eol); $nb=$iDb->exportCSV('SELECT codeFct AS codFonction, libelle AS libFonction FROM jo.bodacc_fonctions;', $repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv",$sep,$eol);
echo date('Y/m/d - H:i:s') ." - Référentiel 'Fonctions' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Fonctions' : $nb lignes.". EOL;
$nb=$iDb->exportCSV('SELECT g.bdfFibCodeEtab AS banque, g.bdfFibCodeGuichet AS guichet, b.bdfFibDenom40 AS nomBanque, b.bdfFibDenom10 AS sigleBanque, g.bdfFibDenom20 AS nomGuichet, g.bdfFibAdresse1 AS adresse1, g.bdfFibAdresse2 AS adresse2, g.bdfFibAdresse3 AS adresse3, g.CP, g.Ville $nb=$iDb->exportCSV('SELECT g.bdfFibCodeEtab AS banque, g.bdfFibCodeGuichet AS guichet, b.bdfFibDenom40 AS nomBanque, b.bdfFibDenom10 AS sigleBanque, g.bdfFibDenom20 AS nomGuichet, g.bdfFibAdresse1 AS adresse1, g.bdfFibAdresse2 AS adresse2, g.bdfFibAdresse3 AS adresse3, g.CP, g.Ville
FROM insee.BDF_Etabs b, insee.BDF_Guichets g FROM insee.BDF_Etabs b, insee.BDF_Guichets g
WHERE b.bdfFibCodeEtab = g.bdfFibCodeEtab WHERE b.bdfFibCodeEtab = g.bdfFibCodeEtab
ORDER BY banque, guichet;', $repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv",$sep,$eol); ORDER BY banque, guichet;', $repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv",$sep,$eol);
echo date('Y/m/d - H:i:s') ." - Référentiel 'Guichets' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Guichets' : $nb lignes.". EOL;
$nb=$iDb->exportCSV('SELECT codPays3 AS codPays, libPays FROM jo.tabPays;', $repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv",$sep,$eol); $nb=$iDb->exportCSV('SELECT codPays3 AS codPays, libPays FROM jo.tabPays;', $repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv",$sep,$eol);
echo date('Y/m/d - H:i:s') ." - Référentiel 'Pays' : $nb lignes.". EOL; echo date('Y/m/d - H:i:s') ." - Référentiel 'Pays' : $nb lignes.". EOL;
$zip = new ZipArchive; $zip = new ZipArchive;
$res=$zip->open($repPdfInfogreffe."/tableReferentiel_$verFedasoRef.zip", ZipArchive::OVERWRITE); $res=$zip->open($repPdfInfogreffe."/tableReferentiel_$verFedasoRef.zip", ZipArchive::OVERWRITE);
if ($res === TRUE) { if ($res === TRUE) {
@ -154,9 +154,9 @@ if ($initReferentiel) {
unlink($repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv"); unlink($repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv");
unlink($repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv"); unlink($repPdfInfogreffe."/tableCodesGuichets_$verFedasoRef.csv");
unlink($repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv"); unlink($repPdfInfogreffe."/tableCodesPays_$verFedasoRef.csv");
echo date('Y/m/d - H:i:s') ." - Compression ZIP du référentiel OK...". EOL; echo date('Y/m/d - H:i:s') ." - Compression ZIP du référentiel OK...". EOL;
} else { } else {
echo date('Y/m/d - H:i:s') ." - ERREUR ZIP n°$res : Compression ZIP du référentiel impossible !". EOL; echo date('Y/m/d - H:i:s') ." - ERREUR ZIP n°$res : Compression ZIP du référentiel impossible !". EOL;
} }
} }
@ -186,7 +186,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
$nbTypesSaisie=count($tabActesASaisir); $nbTypesSaisie=count($tabActesASaisir);
echo date('Y/m/d - H:i:s') ." - Il y a $nbTypesSaisie types d'actes en saisie.". EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbTypesSaisie types d'actes en saisie.". EOL;
echo date('Y/m/d - H:i:s') ." - Recherche des $nbEnvois documents à envoyer en saisie.". EOL; echo date('Y/m/d - H:i:s') ." - Recherche des $nbEnvois documents à envoyer en saisie.". EOL;
while($nbEncours<=$nbEnvois) { while($nbEncours<=$nbEnvois) {
if ($lastDepot) if ($lastDepot)
@ -207,10 +207,10 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
// L'acte est un acte/document divers // L'acte est un acte/document divers
if (preg_match('/\|/', $params)) { if (preg_match('/\|/', $params)) {
$multiDepot=true; $multiDepot=true;
// L'acte contient plusieurs dépôts // L'acte contient plusieurs dépôts
$tabParams=explode('-', $params); $tabParams=explode('-', $params);
$dateActe=$tabParams[1]; $dateActe=$tabParams[1];
// On liste les actes du dépôt // On liste les actes du dépôt
$tabTmp2=$iDb->select('jo.greffes_actes', 'siren, type_acte, (date_acte*1) AS dateActe, numGreffe, numRC, num_depot, num_acte', "siren=$siren AND dateActe=$dateActe", false, MYSQL_ASSOC); $tabTmp2=$iDb->select('jo.greffes_actes', 'siren, type_acte, (date_acte*1) AS dateActe, numGreffe, numRC, num_depot, num_acte', "siren=$siren AND dateActe=$dateActe", false, MYSQL_ASSOC);
$tabDepots=array(); $tabDepots=array();
if (count($tabTmp2)>0) { if (count($tabTmp2)>0) {
@ -226,7 +226,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
continue; continue;
} else { } else {
$tabDepots[]=$params; $tabDepots[]=$params;
// On vérifie si cette acte n'est pas déjà saisie ou en saisie ! // On vérifie si cette acte n'est pas déjà saisie ou en saisie !
if (!$lastDepot) { if (!$lastDepot) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC); $tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) { if ($tabTmp2[0]['nb']>0) {
@ -289,7 +289,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
} }
} }
} else { } else {
// La liste des actes n'est pas disponible sur notre Système ! // La liste des actes n'est pas disponible sur notre Système !
} }
} else { } else {
$multiDepot=false; $multiDepot=false;
@ -304,7 +304,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
} }
if (!$multiDepot) { if (!$multiDepot) {
// On vérifie si cette acte n'est pas déjà saisie ou en saisie ! // On vérifie si cette acte n'est pas déjà saisie ou en saisie !
if (!$lastDepot) { if (!$lastDepot) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC); $tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) { if ($tabTmp2[0]['nb']>0) {
@ -410,22 +410,22 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
$nbActes=count($tabFichierOut); $nbActes=count($tabFichierOut);
if (file_put_contents($repPdfInfogreffe.'/'.$fichierIndex, $verFedasoFic.EOL.implode(EOL, $tabFichierOut).EOL.$nbActes)) if (file_put_contents($repPdfInfogreffe.'/'.$fichierIndex, $verFedasoFic.EOL.implode(EOL, $tabFichierOut).EOL.$nbActes))
$message=date('Y/m/d - H:i:s') ." - Le fichier index $fichierIndex a été crée pour les $nbActes.". EOL; $message=date('Y/m/d - H:i:s') ." - Le fichier index $fichierIndex a été crée pour les $nbActes.". EOL;
else else
$message=date('Y/m/d - H:i:s') ." - Erreur : Création impossible du fichier index $fichierIndex pour les $nbActes !". EOL; $message=date('Y/m/d - H:i:s') ." - Erreur : Création impossible du fichier index $fichierIndex pour les $nbActes !". EOL;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
} elseif ($genereDepot && $nbEncours==$nbEnvois) { } elseif ($genereDepot && $nbEncours==$nbEnvois) {
$message=date('Y/m/d - H:i:s') ." - Les $nbEncours actes quotidiens ont déjà été déposés.". EOL; $message=date('Y/m/d - H:i:s') ." - Les $nbEncours actes quotidiens ont déjà été déposés.". EOL;
} elseif ($genereDepot && $nbEncours<$nbEnvois) { } elseif ($genereDepot && $nbEncours<$nbEnvois) {
$message=date('Y/m/d - H:i:s') ." - Erreur : Il n'y a que $nbEncours actes / $nbActes déposés pour Fedaso !". EOL; $message=date('Y/m/d - H:i:s') ." - Erreur : Il n'y a que $nbEncours actes / $nbActes déposés pour Fedaso !". EOL;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
} }
echo $message; echo $message;
if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) { if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Fedaso.".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Fedaso.".EOL;
$mailReferentiel=$msgDiff=array(); $mailReferentiel=$msgDiff=array();
for ($i=0; isset($tabFichierIn[$i]); $i++) for ($i=0; isset($tabFichierIn[$i]); $i++)
{ {
@ -434,7 +434,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$dateFichier=date('YmdHis', filectime($repCsvFedaso.$nomFichier)); $dateFichier=date('YmdHis', filectime($repCsvFedaso.$nomFichier));
$fp=fopen($repCsvFedaso.$nomFichier, 'r'); $fp=fopen($repCsvFedaso.$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL; echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -446,7 +446,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
$refDocPre=$refoc=$dateInfoPre=$dateInfo=false; $refDocPre=$refoc=$dateInfoPre=$dateInfo=false;
@ -454,7 +454,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne=1; $ligne=1;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$a = utf8_decode(fgets($fp, 2048)); $a = utf8_decode(fgets($fp, 2048));
while (!feof($fp)) while (!feof($fp))
@ -480,7 +480,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
elseif (substr($refDoc,2,1)=='-') $pageAc='greffe_actes'; elseif (substr($refDoc,2,1)=='-') $pageAc='greffe_actes';
$tabTmp=$iDb2->select('fedaso', 'siren', "page='$pageAc' AND params='$refDoc'", false, MYSQL_ASSOC); $tabTmp=$iDb2->select('fedaso', 'siren', "page='$pageAc' AND params='$refDoc'", false, MYSQL_ASSOC);
if ($tabTmp[0]['siren']>0) $siren=$tabTmp[0]['siren']; if ($tabTmp[0]['siren']>0) $siren=$tabTmp[0]['siren'];
echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren vide dans $refDoc remplacé par $siren !".EOL;*/ echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren vide dans $refDoc remplacé par $siren !".EOL;*/
if ($siren==0 || !$iInsee->valideSiren($siren)) if ($siren==0 || !$iInsee->valideSiren($siren))
die(date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren $siren invalide dans $refDoc !".EOL); die(date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Siren $siren invalide dans $refDoc !".EOL);
} }
@ -494,26 +494,26 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
case 102: // Document inattendu case 102: // Document inattendu
case 103: // Page blanche case 103: // Page blanche
case 104: // Fichier absent case 104: // Fichier absent
case 105: // Page partiellement scannée case 105: // Page partiellement scannée
case 106: // Document complémentaire concernant une autre société case 106: // Document complémentaire concernant une autre société
case 107: // Page(s) manquante(s) case 107: // Page(s) manquante(s)
case 108: // Document(s) non Francophone case 108: // Document(s) non Francophone
echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Code retour n°$codeRetour sur $siren ($typeData) !".EOL; echo date ('Y/m/d - H:i:s')." - ERREUR fichier $nomFichier, ligne $ligne : Code retour n°$codeRetour sur $siren ($typeData) !".EOL;
continue; continue;
break; break;
case 200: // Aucune information dirigeants case 200: // Aucune information dirigeants
case 210: // Aucune information actionnaire case 210: // Aucune information actionnaire
case 211: // Aucune information capitalistique case 211: // Aucune information capitalistique
case 220: // Aucune information RIB case 220: // Aucune information RIB
case 251: // Raison Sociale en double : entête retenue case 251: // Raison Sociale en double : entête retenue
case 252: // Raison Sociale en double : entête non retenue case 252: // Raison Sociale en double : entête non retenue
echo date ('Y/m/d - H:i:s')." - ATTENTION fichier $nomFichier, ligne $ligne à priori vide (Vérifier si fedaso gère bien ces codes) !".EOL; echo date ('Y/m/d - H:i:s')." - ATTENTION fichier $nomFichier, ligne $ligne à priori vide (Vérifier si fedaso gère bien ces codes) !".EOL;
break; break;
case 201: // Code fonction inexistant case 201: // Code fonction inexistant
case 221: // Code guichet inconnu case 221: // Code guichet inconnu
case 250: // Raison Sociale absente case 250: // Raison Sociale absente
case 300: // Code pays absent du réferentiel case 300: // Code pays absent du réferentiel
case 301: // Code devise absent du référentiel case 301: // Code devise absent du référentiel
$ajoutMailRef=true; $ajoutMailRef=true;
break; break;
case 0: case 0:
@ -525,10 +525,10 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
die(); die();
break; break;
} }
// Récupération de la date du document // Récupération de la date du document
$tmp=@explode('-', $refDoc); $tmp=@explode('-', $refDoc);
$dateDoc=@$tmp[3]*1; $dateDoc=@$tmp[3]*1;
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf) // Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
$refBase=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc)); $refBase=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
$tabTypeActes[$refDoc][]=$typeActe; $tabTypeActes[$refDoc][]=$typeActe;
@ -593,7 +593,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
if ($siren2<>0 && $iInsee->valideSiren($siren2)) if ($siren2<>0 && $iInsee->valideSiren($siren2))
$dir['dirSirenValide']=1; $dir['dirSirenValide']=1;
else else
echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des dirigeants $codeRetour sur $siren/$siren2 ($typeData) !".EOL; echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des dirigeants $codeRetour sur $siren/$siren2 ($typeData) !".EOL;
} }
$dir['dirRS'] = strtoupper( trim(substr($a, 364,255))); $dir['dirRS'] = strtoupper( trim(substr($a, 364,255)));
@ -614,7 +614,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$dir['adresse_ville']= strtoupper( trim(substr($a, 922, 40))); $dir['adresse_ville']= strtoupper( trim(substr($a, 922, 40)));
$dir['adresse_pays']= strtoupper( trim(substr($a, 962, 3))); $dir['adresse_pays']= strtoupper( trim(substr($a, 962, 3)));
if ($ajoutMailRef && $codeRetour==300) if ($ajoutMailRef && $codeRetour==300)
$mailReferentiel[]="Document $refDoc : Code pays '".$dir['adresse_pays']."' ou nationalité '".$dir['nat']."'inconnu !"; $mailReferentiel[]="Document $refDoc : Code pays '".$dir['adresse_pays']."' ou nationalité '".$dir['nat']."'inconnu !";
$dir['fonction_code']= strtoupper( trim(substr($a, 965, 4)))*1; $dir['fonction_code']= strtoupper( trim(substr($a, 965, 4)))*1;
$dir['fonction_lib']= strtoupper( trim(substr($a, 969, 50))); $dir['fonction_lib']= strtoupper( trim(substr($a, 969, 50)));
@ -637,7 +637,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
case 'A': // lien Actionnaires case 'A': // lien Actionnaires
case 'P': // lien Participations case 'P': // lien Participations
case 'F': // lien Fusion Absorbant case 'F': // lien Fusion Absorbant
case 'E': // ligne de lien Fusion Absorbée case 'E': // ligne de lien Fusion Absorbée
case 'S': // ligne de lien Scission case 'S': // ligne de lien Scission
$lien=array(); $lien=array();
$pct=0; $pct=0;
@ -700,7 +700,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
if ($siren2<>0 && $iInsee->valideSiren($siren2)) if ($siren2<>0 && $iInsee->valideSiren($siren2))
$lien['siren2Valide']=1; $lien['siren2Valide']=1;
else else
echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des actionnaires/participations $codeRetour sur $siren/$siren2 ($typeData) !".EOL; echo date ('Y/m/d - H:i:s')." - Fichier $nomFichier, ligne $ligne : Prévoir le sirenage des actionnaires/participations $codeRetour sur $siren/$siren2 ($typeData) !".EOL;
} }
//echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (".$lien['PpPm']." 2)".EOL; //echo "$nomFichier, $ligne, $codeRetour, $refDoc, $typeData (".$lien['PpPm']." 2)".EOL;
$lien['civilite'] = strtoupper( trim(substr($a, 514, 3))); $lien['civilite'] = strtoupper( trim(substr($a, 514, 3)));
@ -731,7 +731,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$actionPart2=2; $actionPart2=2;
} }
if ($siren>0 && $siren2>0) if ($siren>0 && $siren2>0)
// On vérifie qu'aucun lien fournit par un tiers + précis ne soit en base // On vérifie qu'aucun lien fournit par un tiers + précis ne soit en base
$ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1 IN ($siren,$siren2) OR Siren2 IN ($siren,$siren2)) AND source>1500", false, MYSQL_ASSOC); $ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1 IN ($siren,$siren2) OR Siren2 IN ($siren,$siren2)) AND source>1500", false, MYSQL_ASSOC);
elseif ($siren>0 && $siren2<1000) elseif ($siren>0 && $siren2<1000)
$ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1=$siren OR Siren2=$siren) AND source>1500", false, MYSQL_ASSOC); $ret=$iDb->select('liens', 'count(*) AS nb', "(Siren1=$siren OR Siren2=$siren) AND source>1500", false, MYSQL_ASSOC);
@ -746,9 +746,9 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
if ($rs1=='') { if ($rs1=='') {
$rs1=trim(preg_replace('/ +/', ' ', $lien['civilite'].' '.$lien['nom'].' '.$lien['prenom'])); $rs1=trim(preg_replace('/ +/', ' ', $lien['civilite'].' '.$lien['nom'].' '.$lien['prenom']));
if ($lien['naissance_nom']<>'') $rs1.=' '.trim(preg_replace('/ +/', ' ', 'né(e) '.$lien['naissance_nom'])); if ($lien['naissance_nom']<>'') $rs1.=' '.trim(preg_replace('/ +/', ' ', 'né(e) '.$lien['naissance_nom']));
if ($typeData=='A') { if ($typeData=='A') {
// On force le lien $siren est détenu par $rs1 // On force le lien $siren est détenu par $rs1
$actionPart1=1; $actionPart1=1;
$inversionActionnaire=true; $inversionActionnaire=true;
} }
@ -830,7 +830,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
} }
} }
/** Contôle des informations **/ /** Contôle des informations **/
if ($table=='fedLiens') { if ($table=='fedLiens') {
$refDoc=$lien['refDoc']; $refDoc=$lien['refDoc'];
$dateInfo=$lien['dateInfo']; $dateInfo=$lien['dateInfo'];
@ -843,11 +843,11 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
} }
if ($lien['nbActions']>$lien['capital']) { if ($lien['nbActions']>$lien['capital']) {
$ligneDiff="$entete.nbActions capital incohérentes\t".$lien['nbActions']; $ligneDiff="$entete.nbActions capital incohérentes\t".$lien['nbActions'];
$msgDiff[]=$ligneDiff; $msgDiff[]=$ligneDiff;
echo $ligneDiff.EOL; echo $ligneDiff.EOL;
} }
/** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/ /** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/
$documentRecent=true; $documentRecent=true;
if ( ($refDocPre==$refDoc || $documentRecent) && if ( ($refDocPre==$refDoc || $documentRecent) &&
(round($lien['capital'])<>round($entrep['Capital']) || (round($lien['capital'])<>round($entrep['Capital']) ||
@ -855,7 +855,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
/* if ($lien['deviseCapital']=='FRF' && $entrep['CapitalDev']=='EUR' /* if ($lien['deviseCapital']=='FRF' && $entrep['CapitalDev']=='EUR'
&& round($lien['capital']/6.55957)==round($entrep['Capital']) ) && round($lien['capital']/6.55957)==round($entrep['Capital']) )
else*/ else*/
$ligneDiff=$entete."capital différents\t".$lien['capital'].' '.$lien['deviseCapital']."\t".$entrep['Capital'].' '.$entrep['CapitalDev']; $ligneDiff=$entete."capital différents\t".$lien['capital'].' '.$lien['deviseCapital']."\t".$entrep['Capital'].' '.$entrep['CapitalDev'];
$msgDiff[]=$ligneDiff; $msgDiff[]=$ligneDiff;
echo $ligneDiff.EOL; echo $ligneDiff.EOL;
} }
@ -868,7 +868,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$msgDiff[]=$ligneDiff; $msgDiff[]=$ligneDiff;
echo $ligneDiff.EOL; echo $ligneDiff.EOL;
} }
/** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/ /** On ne fait les contrôles suivants que si l'acte est récent ou pas de modifs **/
$documentRecent=true; $documentRecent=true;
if (($refDocPre==$refDoc || $documentRecent) && if (($refDocPre==$refDoc || $documentRecent) &&
(strtoupper($dir['raisonSociale'])<>strtoupper($entrep['Nom']))) { (strtoupper($dir['raisonSociale'])<>strtoupper($entrep['Nom']))) {
@ -876,7 +876,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$tmoy= strlen($dir['raisonSociale'].$entrep['Nom']); $tmoy= strlen($dir['raisonSociale'].$entrep['Nom']);
$lt=round($lev/$tmoy,2); $lt=round($lev/$tmoy,2);
if ($lt>0.5) { if ($lt>0.5) {
$ligneDiff=$entete."raisonSociale différent\t".$dir['raisonSociale']."\t".$entrep['Nom']; $ligneDiff=$entete."raisonSociale différent\t".$dir['raisonSociale']."\t".$entrep['Nom'];
$msgDiff[]=$ligneDiff; $msgDiff[]=$ligneDiff;
echo $ligneDiff.EOL; echo $ligneDiff.EOL;
} }
@ -886,36 +886,36 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne++; $ligne++;
$a = utf8_decode(fgets($fp, 2048)); $a = utf8_decode(fgets($fp, 2048));
// Variables de contrôles // Variables de contrôles
$refDocPre=$refDoc; $refDocPre=$refDoc;
$dateInfoPre=$dateInfo; $dateInfoPre=$dateInfo;
} }
if (bzip2($repCsvFedaso.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) { if (bzip2($repCsvFedaso.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) {
unlink($repCsvFedaso.$nomFichier); unlink($repCsvFedaso.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
} }
} }
if (count($mailReferentiel)>0) { if (count($mailReferentiel)>0) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel)); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel));
} }
if (count($msgDiff)>0) { if (count($msgDiff)>0) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Chargement des flux quotidiens", "Récapitulatif du traitement : sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Chargement des flux quotidiens", "Récapitulatif du traitement :
- $nbLiensInsert liens ajoutés - $nbLiensInsert liens ajoutés
- $nbDirInsert dirigeants ajoutés - $nbDirInsert dirigeants ajoutés
- $nbRibInsert RIB ajoutés - $nbRibInsert RIB ajoutés
Liste des contrôles :".EOL.implode(EOL, $msgDiff)); Liste des contrôles :".EOL.implode(EOL, $msgDiff));
} }
/** Enlever ce die() quand on est prêt à valider les fichiers charger **/ /** Enlever ce die() quand on est prêt à valider les fichiers charger **/
//die(); //die();
/** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues /** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues
**/ **/
foreach ($tabTypeActes as $refDoc=>$typeActes) { foreach ($tabTypeActes as $refDoc=>$typeActes) {
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf) // Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
$params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc)); $params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
$tmp=explode('-', $refDoc); $tmp=explode('-', $refDoc);
$siren=$tmp[1]; $siren=$tmp[1];
@ -925,11 +925,11 @@ Liste des contrôles :".EOL.implode(EOL, $msgDiff));
foreach ($tabTypeData[$refDoc] as $typeD=>$nbD) foreach ($tabTypeData[$refDoc] as $typeD=>$nbD)
$tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD)); $tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD));
echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL; echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL;
$typeActes=array_unique($typeActes); $typeActes=array_unique($typeActes);
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) { 'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé", sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
"siren=$siren AND params='$params'".EOL. "siren=$siren AND params='$params'".EOL.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true)); print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL;
@ -942,7 +942,7 @@ Liste des contrôles :".EOL.implode(EOL, $msgDiff));
)); ));
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) { 'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé", sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
"siren=$siren AND params='$params'".EOL. "siren=$siren AND params='$params'".EOL.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true)); print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
die(); die();
@ -953,8 +953,8 @@ Liste des contrôles :".EOL.implode(EOL, $msgDiff));
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL;
} else { } else {
//$message.="Aucun fichier CSF à traiter !\r\n"; //$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL; echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//if (count($argv)==1) die($strInfoScript); //if (count($argv)==1) die($strInfoScript);
} }

View File

@ -36,25 +36,25 @@ $eol=EOL;
$modeTest=false; // Ne pas envoyer de mails aux utilisateurs finaux de PROD $modeTest=false; // Ne pas envoyer de mails aux utilisateurs finaux de PROD
$modeDebug=false; $modeDebug=false;
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO $genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi $lastDepot=false; // Remettre à disposition le précédent envoi
$chargerRetour=true; // Charger le/les retours Fedaso $chargerRetour=true; // Charger le/les retours Fedaso
$initReferentiel=false; // Mettre à jour le référentiel des tables associées $initReferentiel=false; // Mettre à jour le référentiel des tables associées
$tabFichierIn=$tabFichLigneCmd=array(); $tabFichierIn=$tabFichLigneCmd=array();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Gestion des échanges avec Fedaso. Gestion des échanges avec Fedaso.
Options : Options :
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX). -d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi. -l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées. -t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*) -c Charger les documents traités et retournés par Fedaso (*)
-m Ne pas envoyer de mails en prod (mode test) -m Ne pas envoyer de mails en prod (mode test)
-v Mode verbose (ou debug) -v Mode verbose (ou debug)
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut) ";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers -f Calculer les scores financiers
*/ */
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
@ -101,7 +101,7 @@ if (!$modeDebug) {
die(); die();
break; break;
default: default:
if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche if (date('N')>5) // Nombre ISO-8601 du jour de la semaine (ajout PHP 5.1.0) de 1 à 7 : Lundi à Dimanche
die(); die();
break; break;
} }
@ -118,266 +118,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichierIn); sort($tabFichierIn);
} else $tabFichierIn=$tabFichLigneCmd; } else $tabFichierIn=$tabFichLigneCmd;
/* // Lecture du dossier des dépots de bilans à demander en saisie
$nbLignes=$iDb->exportCSV(file_get_contents($sql), $csv.'.tmp');
$fp = fopen("./csv2sql.log", 'a');
fwrite($fp, date('Y-m-d H:i:s')." - $base $sql $csv : $nbLignes lignes extraites".EOL);
*/
/*
$tabTmp=$iDb2->select('fedaso', 'count(*) AS nb', "DATE(dateEnvoi)=DATE(NOW())", false, MYSQL_ASSOC);
$nbEncours=$tabTmp[0]['nb'];
$tabTmp=$iDb2->select('fedaso', 'DATE(MAX(dateEnvoi)) AS lastEnvoi', "1", false, MYSQL_ASSOC);
$maxEnvoi=$tabTmp[0]['lastEnvoi'];
$message='';
if ($lastDepot || ($genereDepot && $nbEncours==0)) {
$nbEncours=0;
$strFichierOut='';
$tabActesASaisir=$tabFichierOut=array();
$tabTmp=$iDb->select('jo.tabActes', 'codActe', 'prioriteSaisie BETWEEN 1 AND 10', false, MYSQL_ASSOC);
foreach ($tabTmp as $actes)
$tabActesASaisir[]=$actes['codActe'];
$nbTypesSaisie=count($tabActesASaisir);
echo date('Y/m/d - H:i:s') ." - Il y a $nbTypesSaisie types d'actes en saisie.". EOL;
echo date('Y/m/d - H:i:s') ." - Recherche des $nbEnvois documents à envoyer en saisie.". EOL;
while($nbEncours<=$nbEnvois) {
if ($lastDepot)
$tabTmp=$iDb->select('sdv1.fedaso', 'siren, page, params, dateEnvoi AS dateHeure', "dateEnvoi BETWEEN '$maxEnvoi 00:00:00' AND '$maxEnvoi 23:59:59'", false, MYSQL_ASSOC);
else
$tabTmp=$iDb->select('sdv1.logs', 'siren, page, params, dateHeure', "page LIKE 'greffe_%' AND params<>'' AND params NOT LIKE 'Erreur%' GROUP BY siren, page, params ORDER BY dateHeure DESC", false, MYSQL_ASSOC);
foreach ($tabTmp as $actes) {
$siren =$actes['siren'];
$params=$actes['params'];
$pageAc=$actes['page'];
$dateCmd=$actes['dateHeure'];
if ($pageAc=='greffe_bilans') {
$multiDepot=false;
// L'acte a traiter est un bilan
$url="http://extranet.scores-decisions.com/pdf/bilan-$siren-$params.pdf";
//$url="http://extranet.scores-decisions.com/datafile.php?q=bilan-$siren-$params.pdf";
} elseif ($pageAc=='greffe_actes') {
// L'acte est un acte/document divers
if (preg_match('/\|/', $params)) {
$multiDepot=true;
// L'acte contient plusieurs dépôts
$tabParams=explode('-', $params);
$dateActe=$tabParams[1];
// On liste les actes du dépôt
$tabTmp2=$iDb->select('jo.greffes_actes', 'siren, type_acte, (date_acte*1) AS dateActe, numGreffe, numRC, num_depot, num_acte', "siren=$siren AND dateActe=$dateActe", false, MYSQL_ASSOC);
$tabDepots=array();
if (count($tabTmp2)>0) {
foreach ($tabTmp2 as $actes2) {
$numRC1=substr($actes2['numRC'],0,2);
$numRC2=substr($actes2['numRC'],2,1);
$numRC3=substr($actes2['numRC'],3);
$params=$actes2['type_acte'].'-'.$actes2['dateActe'].'-'.$actes2['numGreffe'].
"-$numRC1-$numRC2-$numRC3-".$actes2['num_depot'].'-'.$actes2['num_acte'];
$url="http://extranet.scores-decisions.com/pdf/acte-$siren-$params.pdf";
if (!in_array(''.$actes2['type_acte'], $tabActesASaisir)) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (exclu)".EOL;
continue;
} else {
$tabDepots[]=$params;
// On vérifie si cette acte n'est pas déjà saisie ou en saisie !
if (!$lastDepot) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (en cours)".EOL;
continue;
}
}
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.basename($url));
if (!$tabPdf) {
$page=getUrl($url, '', '', '', false);
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
$tabDepots=@$iGreffes->getListeActes($siren);
$nbDepots=count($tabDepots);
print_r($tabDepots);
die();
continue;
}
@mkdir($repPdfInfogreffe);
$fp=@fopen($repPdfInfogreffe.'/'.basename($url), 'w');
if (!$fp || !fwrite($fp, $page['body']))
echo date('Y/m/d - H:i:s') ." - ___\t$url (erreur fichier local)".EOL;
@fclose($fp);
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.basename($url));
// randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
}
if (!$tabPdf) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (vide)".EOL;
unlink($repPdfInfogreffe.'/'.basename($url));
continue;
}
$pdfSize= $tabPdf['pdfSize'];
$pdfVer = $tabPdf['version'];
$pdfPage= $tabPdf['nbPages'];
$nbEncours++;
$tabFichierOut[]=basename($url);
$strFichierOut.="$nbEncours\t$dateCmd\t$pdfSize ko\t$pdfPage\t".basename($url).EOL;
if(!$iDb2->insert('fedaso', array( 'siren' => $siren,
'params' => $params,
'page' => $pageAc,
'dateEnvoi' => date('YmdHis'),
'dateCmd' => $dateCmd,
'pdfNum' => $nbEncours,
'pdfSize' => $pdfSize,
'pdfPage' => $pdfPage,
))) {
if (!$lastDepot)
echo date('Y/m/d - H:i:s') ." - ERREUR lors de l'insertion de $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
} else
echo date('Y/m/d - H:i:s') ." - $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
if ($nbEncours>=$nbEnvois) {
// On efface le dernier fichier car il est de trop !
//unlink($repPdfInfogreffe.'/'.basename($url));
break(3);
}
}
}
} else {
// La liste des actes n'est pas disponible sur notre Système !
}
} else {
$multiDepot=false;
$url="http://extranet.scores-decisions.com/pdf/acte-$siren-$params.pdf";
//$url="http://extranet.scores-decisions.com/datafile.php?q=acte-$siren-$params.pdf";
$tmp=explode('-', $params);
if (!in_array(''.$tmp[0], $tabActesASaisir)) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (exclu)".EOL;
continue;
}
}
}
if (!$multiDepot) {
// On vérifie si cette acte n'est pas déjà saisie ou en saisie !
if (!$lastDepot) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (en cours)".EOL;
$nbPdfEncours++;
if (($nbPdfEncours+$nbPdfInexist)>1500)
break 2; // Arret de l'export de la liste
continue;
}
}
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.basename($url));
if (!$tabPdf) {
$page=getUrl($url, '', '', '', false);
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
$nbPdfInexist++;
if (strlen($params)==35) {
//echo 'ici';
if ($pageAc=='greffe_actes') $tabDepots=@$iGreffes->getListeActes($siren);
elseif ($pageAc=='greffe_bilans') $tabDepots=@$iGreffes->getBilansImages($siren);
$nbDepots=count($tabDepots);
print_r($tabDepots);
echo date('Y/m/d - H:i:s') ." - ___\t$url (RECHERCHE dans $nbDepots $pageAc)".EOL;
foreach ($tabDepots as $depot) {
if ($pageAc=='greffe_actes')
$params2=$depot['acte_type'].'-'.WDate::dateT('Y-m-d','Ymd',$depot['acte_date']).'-'.$depot['numGreffe'].
'-'.$depot['numRC'].'-'.$depot['depot_num'].'-'.$depot['acte_num'];
else {
$params2=$depot['annee'].'_'.$depot['type'].'-'.WDate::dateT('Y-m-d','Ymd',$depot['dateCloture']).'-'.
$depot['numGreffe'].'-'.$depot['numRC'].'-'.$depot['depot_num'];
/// echo("$url\t$params\t$params2".EOL);
// die();
}
if (strpos($params2, $params)===false)
echo("$params2\tDIFFERENT DE\t$params".EOL);
else {
echo("$params2\tIDENTIQUE\t$params".EOL);
$url="http://extranet.scores-decisions.com/pdf/acte-$siren-$params2.pdf";
$params=$params2;
//die($url);
$page=getUrl($url, '', '', '', false);
if ($page['code']<>200 || !isset($page['header']['Content-Disposition']) || $page['header']['Content-Disposition']=='') {
echo date('Y/m/d - H:i:s') ." - ___\t$url (inexistant)".EOL;
continue;
}
break;
}
}
} else
//print_r($page);die();
continue;
}
@mkdir($repPdfInfogreffe);
$fp=@fopen($repPdfInfogreffe.'/'.basename($url), 'w');
if (!$fp || !fwrite($fp, $page['body']))
echo date('Y/m/d - H:i:s') ." - ___\t$url (erreur fichier local)".EOL;
@fclose($fp);
$tabPdf=getPdfInfo($repPdfInfogreffe.'/'.basename($url));
// randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
}
if (!$tabPdf) {
echo date('Y/m/d - H:i:s') ." - ___\t$url (vide)".EOL;
unlink($repPdfInfogreffe.'/'.basename($url));
continue;
}
$pdfSize= $tabPdf['pdfSize'];
$pdfVer = $tabPdf['version'];
$pdfPage= $tabPdf['nbPages'];
$nbEncours++;
//$tabFichierOut[]=basename($url);
$tabFichierOut[]=basename($url);
$strFichierOut.="$nbEncours\t$dateCmd\t$pdfSize ko\t$pdfPage\t".basename($url).EOL;
if(!$iDb2->insert('fedaso', array( 'siren' => $siren,
'params' => $params,
'page' => $pageAc,
'dateEnvoi' => date('YmdHis'),
'dateCmd' => $dateCmd,
'pdfNum' => $nbEncours,
'pdfSize' => $pdfSize,
'pdfPage' => $pdfPage,
))) {
if ($lastDepot)
echo date('Y/m/d - H:i:s') ." - Reprise $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
else
echo date('Y/m/d - H:i:s') ." - ERREUR lors de l'insertion de $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
} else
echo date('Y/m/d - H:i:s') ." - $nbEncours\t$url ($pdfSize ko, $pdfPage pages)".EOL;
if ($nbEncours>=$nbEnvois) {
// On efface le dernier fichier car il est de trop !
//unlink($repPdfInfogreffe.'/'.basename($url));
break(2);
}
}
}
}
$fichierIndex='lotliensn-'.date('Y-m-d-Hi').'.txt';
$nbActes=count($tabFichierOut);
if (file_put_contents($repPdfInfogreffe.'/'.$fichierIndex, $verFedasoFic.EOL.implode(EOL, $tabFichierOut).EOL.$nbActes))
$message=date('Y/m/d - H:i:s') ." - Le fichier index $fichierIndex a été crée pour les $nbActes.". EOL;
else
$message=date('Y/m/d - H:i:s') ." - Erreur : Création impossible du fichier index $fichierIndex pour les $nbActes !". EOL;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
} elseif ($genereDepot && $nbEncours==$nbEnvois) {
$message=date('Y/m/d - H:i:s') ." - Les $nbEncours actes quotidiens ont déjà été déposés.". EOL;
} elseif ($genereDepot && $nbEncours<$nbEnvois) {
$message=date('Y/m/d - H:i:s') ." - Erreur : Il n'y a que $nbEncours actes / $nbActes déposés pour Fedaso !". EOL;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Génération du dépôt pour le Maroc", $message.EOL.$strFichierOut);
}
echo $message;
*/
// Lecture du dossier des dépots de bilans à demander en saisie
if ($genereDepot) { if ($genereDepot) {
$nbEncours=0; $nbEncours=0;
$dh = opendir(BILANS_A_SAISIR_DIR); $dh = opendir(BILANS_A_SAISIR_DIR);
@ -402,6 +143,8 @@ if ($genereDepot) {
$sizeKo=round($pdfSize/1024,1); $sizeKo=round($pdfSize/1024,1);
echo "$filename\t$sizeKo Ko\t$pdfPage page(s)\t"; echo "$filename\t$sizeKo Ko\t$pdfPage page(s)\t";
if (!$iInsee->valideSiren($siren)) echo 'KO siren invalide'.EOL;
if(!$iDb2->insert('fedaso_bilans',array('siren' => $siren, if(!$iDb2->insert('fedaso_bilans',array('siren' => $siren,
'dateCloture' => $dateClot, 'dateCloture' => $dateClot,
'duree' => $dureeClot, 'duree' => $dureeClot,
@ -420,8 +163,41 @@ if ($genereDepot) {
} else { } else {
$nbEncours++; $nbEncours++;
bzip2(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BACKUP_DIR.$filename); bzip2(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BACKUP_DIR.$filename);
move(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BILANS_TODO_DIR.'/'.$filename); //move(BILANS_A_SAISIR_DIR.'/'.$filename, FEDASO_BILANS_TODO_DIR.'/'.$filename);
echo 'Ok'.EOL; echo 'Ok'.EOL;
$tabIdentite=@$iInsee->getIdentiteLight($siren);
$sirenAff=implode(' ', str_split($siren,3));
$rs=substr($tabIdentite['Nom'],0,30).'...';
$message="Merci de procéder dès que possible à la saisie du bilan PDF de $pdfPage pages pour la société suivante :\r\n";
$message.="\r\n";
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
// Durée de l'exercice
if ($dureeClot*1>0) $strDuree=" (durée : $dureeClot mois)";
else $strDuree='';
$message.='Date de clôture : '. WDate::dateT('Ymd','d/m/Y',$dateClot)."$strDuree\r\n";
//if ($typeBilan<>'') $message.="Format de liasse : $liasse\r\n";
$message.="\r\n";
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
$message.="\r\n";
$message.="Document "; if ($conf<>1) $message.="non "; $message.="confidentiel\r\n";
$message.="Fichier $filename du ". WDate::dateT('Ymd','d/m/Y',$dateFic)."\r\n";
$message.="Nombre de pages : $pdfPage pages (".round($pdfSize/1000,1)." Ko)\r\n";
$message.="Utilisateur n°$idUti\r\n";
$message.="Extranet n°$idBddExt\r\n";
$message.="\r\n";
if ($pdfPage*1>10) $message.="Le document étant volumineux, pensez à saisir les actionnaires et participations (généralement mentionnés dans les annexes 17 et 18) !\r\n";
// if ($env==1) $message.="CECI EST UN TEST, MERCI DE NE PAS SAISIR LE DOCUMENT\r\n";
$message.="\r\n";
$message.="https://tville.scores-decisions.com/boffice/sirenbod/bilans.php?type=SAIS&ctrl=0\r\n";
sendMail('production@scores-decisions.com', 'jal42@scores-decisions.com',
"Demande de saisie du bilan $siren du ".WDate::dateT('Ymd','d/m/Y',$dateClot)." ($dureeClot mois)",
$message);
} }
} }
} }
@ -429,7 +205,7 @@ if ($genereDepot) {
if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) { if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$messageErrCtrl=''; // Message listant les erreurs de saisie $messageErrCtrl=''; // Message listant les erreurs de saisie
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Bilans Fedaso.".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du retour Bilans Fedaso.".EOL;
$mailReferentiel=$msgDiff=array(); $mailReferentiel=$msgDiff=array();
for ($i=0; isset($tabFichierIn[$i]); $i++) for ($i=0; isset($tabFichierIn[$i]); $i++)
{ {
@ -438,7 +214,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$dateFichier=date('YmdHis', filectime(FEDASO_BILANS_DONE_DIR.$nomFichier)); $dateFichier=date('YmdHis', filectime(FEDASO_BILANS_DONE_DIR.$nomFichier));
$fp=fopen(FEDASO_BILANS_DONE_DIR.$nomFichier, 'r'); $fp=fopen(FEDASO_BILANS_DONE_DIR.$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL; echo date ('Y/m/d - H:i:s') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -450,14 +226,14 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$a = trim(fgets($fp)); $a = trim(fgets($fp));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes bilans à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes bilans à traiter) !".EOL;
$refDocPre=$refoc=$dateInfoPre=$dateInfo=false; $refDocPre=$refoc=$dateInfoPre=$dateInfo=false;
$ligne=1; $ligne=1;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$a = utf8_decode(fgets($fp)); $a = utf8_decode(fgets($fp));
while (!feof($fp)) while (!feof($fp))
@ -466,7 +242,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$a=explode(',',$a); $a=explode(',',$a);
$refDoc = trim($a[0]); $refDoc = trim($a[0]);
// On ignore la ligne d'entête // On ignore la ligne d'entête
if ($refDoc<>'PdfId') { if ($refDoc<>'PdfId') {
$siren = trim($a[1])*1; $siren = trim($a[1])*1;
$nic = trim($a[2])*1; $nic = trim($a[2])*1;
@ -494,7 +270,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$tabPostes[$tabTmp2[0]]=$tabTmp2[1]; $tabPostes[$tabTmp2[0]]=$tabTmp2[1];
} }
// Contrôle du siren retourné par Fedaso // Contrôle du siren retourné par Fedaso
if ($siren==0 || !$iInsee->valideSiren($siren)) { if ($siren==0 || !$iInsee->valideSiren($siren)) {
$tmp=explode('-', $refDoc); $tmp=explode('-', $refDoc);
$siren=$tmp[1]; $siren=$tmp[1];
@ -526,7 +302,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
'postes'=>$strPostes); 'postes'=>$strPostes);
if ($codeSai=='00' || $codeSai=='01') { if ($codeSai=='00' || $codeSai=='01') {
$ret=$iDb->select('bilans', 'partenaire, siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$siren' AND typeBilan='$typeBilan' AND dateExercice='$dateExercice'", true, MYSQL_ASSOC); $ret=$iDb->select('bilans', 'partenaire, siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$siren' AND typeBilan='$typeBilan' AND dateExercice='$dateExercice'", true, MYSQL_ASSOC);
// Il y a déjà ce bilan en base ? // Il y a déjà ce bilan en base ?
if (1==0) {//isset($ret[0])) { if (1==0) {//isset($ret[0])) {
/* $bilanPre=$ret[0]; /* $bilanPre=$ret[0];
if ($bilanPre['partenaire']==7 || if ($bilanPre['partenaire']==7 ||
@ -571,14 +347,14 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
} }
if (!((@$tabPostes[$strCtrl]*1)>=$totalMin && (@$tabPostes[$strCtrl]*1)<=$totalMax)) { if (!((@$tabPostes[$strCtrl]*1)>=$totalMin && (@$tabPostes[$strCtrl]*1)<=$totalMax)) {
if (!$anoBilan) if (!$anoBilan)
$messageLigne="Fichier $fichier : ligne $ligne, $siren, $dateExercice - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL; $messageLigne="Fichier $fichier : ligne $ligne, $siren, $dateExercice - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
else else
$messageLigne=''; $messageLigne='';
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL; $messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
echo $messageLigne; echo $messageLigne;
$messageErrCtrl.=$messageLigne; $messageErrCtrl.=$messageLigne;
$msgBilan.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents"; $msgBilan.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true; if ($codeSai=='00') $anoBilan=5;
} }
// else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL; // else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL;
} }
@ -593,9 +369,9 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
//echo 'Liste des Bilans en base :'.EOL; //echo 'Liste des Bilans en base :'.EOL;
//print_r($tabBilans); //print_r($tabBilans);
$tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan); $tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan);
echo "Bilan précédent datant du '$dateClP' :".EOL; echo "Bilan précédent datant du '$dateClP' :".EOL;
//print_r($tabBilan); //print_r($tabBilan);
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL; echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL;
//print_r($tabInsert); //print_r($tabInsert);
//print_r($tabPostes); //print_r($tabPostes);
if ($typeBilan=='N') { if ($typeBilan=='N') {
@ -621,12 +397,12 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
!$totalMin2 && // ... et max !$totalMin2 && // ... et max
!((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) { !((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) {
if (!$anoBilan) if (!$anoBilan)
$messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL; $messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
else else
$messageLigne=''; $messageLigne='';
$messageLigne.="$strEcho (saisi en N ".@$tabPostes[$ctrl].' <> '.$total." présent en N-1 $dateClP)".EOL; $messageLigne.="$strEcho (saisi en N ".@$tabPostes[$ctrl].' <> '.$total." présent en N-1 $dateClP)".EOL;
echo $messageLigne; echo $messageLigne;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents"; $messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true; if ($codeSai=='00') $anoBilan=true;
//die(); //die();
} }
@ -642,7 +418,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
} else } else
print_r($tabInsert); print_r($tabInsert);
/** Mise à jour des informations de saisie **/ /** Mise à jour des informations de saisie **/
$nbPostes=count($tabPostes); $nbPostes=count($tabPostes);
$tabUpdate=array( 'retNic' => $nic, $tabUpdate=array( 'retNic' => $nic,
'retDateClot' => $dateExercice, 'retDateClot' => $dateExercice,
@ -662,7 +438,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
); );
$iDb2->update('fedaso_bilans', $tabUpdate, "refDoc='$refDoc'"); $iDb2->update('fedaso_bilans', $tabUpdate, "refDoc='$refDoc'");
/** Envoi du mail à l'utilisateur final **/ /** Envoi du mail à l'utilisateur final **/
$filename2=str_replace('.pdf','',$refDoc); $filename2=str_replace('.pdf','',$refDoc);
$tabTmp=explode('_', $filename2); $tabTmp=explode('_', $filename2);
$siren = preg_replace('/^BS/','',$tabTmp[0])*1; $siren = preg_replace('/^BS/','',$tabTmp[0])*1;
@ -674,23 +450,23 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$sirenAff=implode(' ', str_split($siren,3)); $sirenAff=implode(' ', str_split($siren,3));
$rs=substr($tabIdentite['Nom'],0,30).'...'; $rs=substr($tabIdentite['Nom'],0,30).'...';
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n"; $message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
// Durée de l'exercice // Durée de l'exercice
if ($dureeExercice*1>0) $strDuree=" (durée : $dureeExercice mois)"; if ($dureeExercice*1>0) $strDuree=" (durée : $dureeExercice mois)";
else $strDuree=''; else $strDuree='';
$message.='Date de clôture : '. WDate::dateT('Ymd','d/m/Y',$dateExercice)."$strDuree\r\n"; $message.='Date de clôture : '. WDate::dateT('Ymd','d/m/Y',$dateExercice)."$strDuree\r\n";
if ($typeBilan<>'') $message.="Format de liasse : $liasse\r\n"; if ($typeBilan<>'') $message.="Format de liasse : $liasse\r\n";
$message.="\r\n"; $message.="\r\n";
$message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n"; $message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n";
$message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n"; $message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n";
$message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n"; $message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n";
$message.="\r\n"; $message.="\r\n";
$message.="NOS SERVICES ONT EFFECTUE LA SAISIE DU BILAN POUR CETTE ENTREPRISE\r\n"; $message.="NOS SERVICES ONT EFFECTUE LA SAISIE DU BILAN POUR CETTE ENTREPRISE\r\n";
if ($modeTest) $emailEnvoi='lenaoury@gmail.com'; if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
@sendMail('prod@scores-decisions.com', $emailEnvoi, "Saisie de Bilan $sirenAff : $rs", $message); @sendMail('prod@scores-decisions.com', $emailEnvoi, "Saisie de Bilan $sirenAff : $rs", $message);
@sendMail('prod@scores-decisions.com', 'ylenaour@scores-decisions.com', "Saisie de Bilan $sirenAff : $rs", $message.EOL.EOL."--------------------------------------------------".EOL."Ce mail a été envoyé à $emailEnvoi."); @sendMail('prod@scores-decisions.com', 'ylenaour@scores-decisions.com', "Saisie de Bilan $sirenAff : $rs", $message.EOL.EOL."--------------------------------------------------".EOL."Ce mail a été envoyé à $emailEnvoi.");
// Comptage des retours par codes saisies // Comptage des retours par codes saisies
@$tabNbCodeRet['_'.$codeSai]++; @$tabNbCodeRet['_'.$codeSai]++;
@ -698,33 +474,33 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne++; $ligne++;
$a = utf8_decode(fgets($fp)); $a = utf8_decode(fgets($fp));
// Variables de contrôles // Variables de contrôles
$refDocPre=$refDoc; $refDocPre=$refDoc;
$dateInfoPre=$dateInfo; $dateInfoPre=$dateInfo;
} }
if (bzip2(FEDASO_BILANS_DONE_DIR.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) { if (bzip2(FEDASO_BILANS_DONE_DIR.$nomFichier, FEDASO_BACKUP_DIR.$nomFichier)) {
unlink(FEDASO_BILANS_DONE_DIR.$nomFichier); unlink(FEDASO_BILANS_DONE_DIR.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
} }
} }
/* /*
if (count($mailReferentiel)>0) { if (count($mailReferentiel)>0) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel)); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Penser à modifier le référentiel", implode(EOL, $mailReferentiel));
} }
if (count($msgDiff)>0) { if (count($msgDiff)>0) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Liste des c'ontrôles", implode(EOL, $msgDiff)); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Liste des c'ontrôles", implode(EOL, $msgDiff));
} }
/** Enlever ce die() quand on est prêt à valider les fichiers charger **/ /** Enlever ce die() quand on est prêt à valider les fichiers charger **/
//die(); //die();
/** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues /** Mise à jour des informations globales de retour : Dates, Types d'actes et structures lues
**/ **/
/* /*
foreach ($tabTypeActes as $refDoc=>$typeActes) { foreach ($tabTypeActes as $refDoc=>$typeActes) {
// Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf) // Transformation de la référence en réf. stockée en base (suppression siren, acte/bilan et .pdf)
$params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc)); $params=str_replace('.pdf','',preg_replace('/^(bilan|acte)-\d\d\d\d\d\d\d\d\d-/Ui','', $refDoc));
$tmp=explode('-', $refDoc); $tmp=explode('-', $refDoc);
$siren=$tmp[1]; $siren=$tmp[1];
@ -734,11 +510,11 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
foreach ($tabTypeData[$refDoc] as $typeD=>$nbD) foreach ($tabTypeData[$refDoc] as $typeD=>$nbD)
$tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD)); $tabTypeData2=array_merge($tabTypeData2, array('nbData'.$typeD=>$nbD));
echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL; echo date ('Y/m/d - H:i:s') . " - Mise à jour des infos retournées pour $refDoc...".EOL;
$typeActes=array_unique($typeActes); $typeActes=array_unique($typeActes);
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) { 'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé", sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
"siren=$siren AND params='$params'".EOL. "siren=$siren AND params='$params'".EOL.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true)); print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL; echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno(). " - MAJ impossible sur 'fedaso' : ". mysql_error().EOL;
@ -751,7 +527,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
)); ));
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) { 'dateRetour'=>$dateFichier)),"siren=$siren AND params='$params'")) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé", sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : ERREUR Fichier PDF non diffusé",
"siren=$siren AND params='$params'".EOL. "siren=$siren AND params='$params'".EOL.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true)); print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
die(); die();
@ -762,8 +538,8 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement du retour Fedaso.".EOL;
} else { } else {
//$message.="Aucun fichier CSF à traiter !\r\n"; //$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL; echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//if (count($argv)==1) die($strInfoScript); //if (count($argv)==1) die($strInfoScript);
} }

141
1.1/old/ftpadmin.sh Normal file
View File

@ -0,0 +1,141 @@
#!/bin/bash
################################################################################
# Utilitaire pour Pure-FTP
# PureFTPadmin v1.0 Feb 05 2003 written by : SkazeR <skazer_bop@yahoo.fr>
# this script is free software according to the GNU General Public License (see http://www.gnu.org/licenses/gpl.html)
################################################################################
################################################################################
# Configuration :
# adaptez cette ligne selon votre installation
PASSWDFILE=/etc/pureftpd.passwd
# adaptez selon les parametres que vous avez choisis pour votre serveur (laissez
# les guillemets)
PUREFTPCONF="/usr/local/sbin/pure-ftpd -B -1 -K -A -c 5 -C 1 -E -r -w -l puredb:/etc/pure-ftpd/pureftpd.pdb &"
# Adaptez selon l'UID de l'utilisateur userftp et le GID du groupe ftp groupe
# sur votre PC
NUMIDDEFTPUSER=501
NUMIDDEFTPGROUP=501
# répertoire chrooté des users créés
PATHACCES=/Download/Download/ftp/
#Fin de la configuration
################################################################################
CHOIX=0
clear
echo -e "\n\t\t\t***********************\n\t\t\t* Gestion de Pure-FTP *\n\t\t\t***********************\n"
while [ $CHOIX != 9 ]; do
echo -e "\t\t\tChoix possibles:\n\t\t1: Ajouter un utilisateur virtuel.\n\t\t2: Effacer un utilisateur virtuel.\n\t\t3: Voir les droits d'un utilisateur.\n\t\t4: Lister les utilisateurs.\n\t\t5: Changer le passwd d'un utilisateur.\n\t\t6: Voir les connections actives du serveur.\n\t\t7: Démarrer le serveur.\n\t\t8: Tuer le serveur.\n\t\t9: Quitter.\n\nTapez l'entier correspondant a votre choix:"
read CHOIX
echo ""
case $CHOIX in
1)
echo "Entrez le login à ajouter: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if [ $NICK = root ];then
echo -e "Erreur, veuillez indiquer un login différent de root!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
echo -e "$NICK a déjà un compte\n"
else
pure-pw useradd $NICK -u $NUMIDDEFTPUSER -g $NUMIDDEFTPGROUP -d $PATHACCES
echo -e "Utilisateur virtuel $NICK ajouté!\n"
pure-pw mkdb
fi
fi
fi
;;
2)
echo "Entrez le login à effacer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw userdel $NICK
echo -e "Utilisateur virtuel $NICK supprimé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
3)
echo "Entrez le login dont vous voulez vérifier les droits: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw show $NICK
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
4)
echo -e "\tLogin\t\t| UID\t| GID\t| path"
echo -e "\t----------------+-------+-------+-----------------------"
awk 'BEGIN { FS=":" } NF==0{next} {print " "$1 " \| " $3 " \| " $4 " \| " $6}' $PASSWDFILE
echo ""
;;
5)
echo "Entrez le login dont le passwd doit changer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw passwd $NICK
echo -e "Le passwd de $NICK est changé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
6)
pure-ftpwho -v
;;
7)
eval $PUREFTPCONF
echo -e "Serveur FTP\t\t\t[ON]\n"
;;
8)
for VAR in "`ps -A | grep pure-ftpd`"; do
if [ pure-ftpd = "`echo $VAR | gawk -F" " '{print $4}'`" ]; then
VAR=`echo "$VAR" | gawk -F" " '{print $1}'`
kill -9 $VAR
fi
done;
echo -e "Serveur FTP\t\t\t[OFF]\n"
;;
9)
clear
echo -e "\n\n\n\t\tA bientôt!\n"
sleep 2
clear
exit
;;
*)
echo -e "Votre choix n'est pas valide!"
CHOIX=0
;;
esac
echo "Press <Enter>"
read UNUSED
clear
done

View File

@ -12,9 +12,9 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des flux quotidiens en provenance de Insee. Chargement du/des flux quotidiens en provenance de Insee.
Options : Options :
-v Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-d=20080430 Réappliquer les évènements depuis cette date -d=20080430 Réappliquer les évènements depuis cette date
-f=20091230 Réappliquer les évènements jusqu'à cette date -f=20091230 Réappliquer les évènements jusqu'à cette date
-q Traiter le dernier flux Insee (Quotidien) -q Traiter le dernier flux Insee (Quotidien)
-h Traiter les flux historiques Insee -h Traiter les flux historiques Insee
-l Traiter les conversions Lamberts -l Traiter les conversions Lamberts
@ -31,7 +31,7 @@ Options :
//Initialistation des variables //Initialistation des variables
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
//if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL); //if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL);
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -53,12 +53,12 @@ Options :
$doQuotidien=$doHisto=$doLamberts=$doAltitudes=true; $doQuotidien=$doHisto=$doLamberts=$doAltitudes=true;
if ($doQuotidien) { if ($doQuotidien) {
echo date ('Y/m/d - H:i:s') . " - Début du traitement de géocodage des adresses INSEE".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de géocodage des adresses INSEE".EOL;
$db_table='insee_even'; $db_table='insee_even';
$ret=$iDb->select($db_table, 'MAX(idFlux) as idFlux', "1"); $ret=$iDb->select($db_table, 'MAX(idFlux) as idFlux', "1");
$idFluxFin=$ret[0]['idFlux']; $idFluxFin=$ret[0]['idFlux'];
echo date ('Y/m/d - H:i:s')." - Le dernier flux INSEE géocodé est le flux $idFluxFin !".EOL; echo date ('Y/m/d - H:i:s')." - Le dernier flux INSEE géocodé est le flux $idFluxFin !".EOL;
if (!$dateReprise) { if (!$dateReprise) {
$idFlux=$idFluxFin; $idFlux=$idFluxFin;
$idFlux3=(substr($idFlux,0,4)*1)-3; $idFlux3=(substr($idFlux,0,4)*1)-3;
@ -68,14 +68,14 @@ if ($doQuotidien) {
if (!$dateFin) $dateFin=strtr($idFluxFin, array('-'=>'')); if (!$dateFin) $dateFin=strtr($idFluxFin, array('-'=>''));
$idFlux=WDate::dateT('Ymd', 'Y-m-d', $dateReprise); $idFlux=WDate::dateT('Ymd', 'Y-m-d', $dateReprise);
$idFluxFin=WDate::dateT('Ymd', 'Y-m-d', $dateFin); $idFluxFin=WDate::dateT('Ymd', 'Y-m-d', $dateFin);
echo date ('Y/m/d - H:i:s')." - On réapplique le géocodage du flux $idFlux au $idFluxFin !".EOL; echo date ('Y/m/d - H:i:s')." - On réapplique le géocodage du flux $idFlux au $idFluxFin !".EOL;
} }
$nbLignes=$nbEnCache=$nbDistant=$nbAlt=0; $nbLignes=$nbEnCache=$nbDistant=$nbAlt=0;
$nbLoaded=$iDb->select($db_table, 'insL4_VOIE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insCODPOS, insLIBCOM, insDEPCOM, insCODEVOIE, insL7_ETRG, idFlux', "idFlux BETWEEN '$idFlux' AND '$idFluxFin'", false, MYSQL_ASSOC, true); $nbLoaded=$iDb->select($db_table, 'insL4_VOIE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insCODPOS, insLIBCOM, insDEPCOM, insCODEVOIE, insL7_ETRG, idFlux', "idFlux BETWEEN '$idFlux' AND '$idFluxFin'", false, MYSQL_ASSOC, true);
//$nbLoaded=$iDb->select('jo.etablissements_act', "'' AS insL4_VOIE, adr_num AS insNUMVOIE, adr_btq AS insINDREP, adr_typeVoie AS insTYPVOIE, adr_libVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM, CONCAT(adr_dep*1,adr_com) AS insDEPCOM, rivoli AS insCODEVOIE, '' AS insL7_ETRG, '2012-02-13' AS idFlux", "adr_dep IN (/*03,*/18,23,28,36,37,41,43,44,45,49,53,58,63,69,71,72,79,86,87) AND adr_libVoie<>'' GROUP BY adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_cp, adr_ville", false, MYSQL_ASSOC, true); //$nbLoaded=$iDb->select('jo.etablissements_act', "'' AS insL4_VOIE, adr_num AS insNUMVOIE, adr_btq AS insINDREP, adr_typeVoie AS insTYPVOIE, adr_libVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM, CONCAT(adr_dep*1,adr_com) AS insDEPCOM, rivoli AS insCODEVOIE, '' AS insL7_ETRG, '2012-02-13' AS idFlux", "adr_dep IN (/*03,*/18,23,28,36,37,41,43,44,45,49,53,58,63,69,71,72,79,86,87) AND adr_libVoie<>'' GROUP BY adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_cp, adr_ville", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses à mettre à jour...".EOL;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses à géocoder".EOL; $message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses à géocoder".EOL;
//die(mysql_error().EOL); //die(mysql_error().EOL);
$tabGeocodeur=array(); $tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) { while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -99,20 +99,20 @@ if ($doQuotidien) {
$pct=round($nbEnCache/$nbLignes,3)*100; $pct=round($nbEnCache/$nbLignes,3)*100;
$pct2=round($nbAlt/$nbLignes,3)*100; $pct2=round($nbAlt/$nbLignes,3)*100;
$message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses géocodées du $idFlux au $idFluxFin dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL; $message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses géocodées du $idFlux au $idFluxFin dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL;
$message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL; $message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL;
$message.=print_r($tabGeocodeur,true); $message.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage ($idFlux)", $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage ($idFlux)", $message);
} }
if ($doHisto) { if ($doHisto) {
/** Déb à supprimer HISTO : quand l'historique du géocodage sera complet /** Déb à supprimer HISTO : quand l'historique du géocodage sera complet
**/ **/
$nbLignes=$nbEnCache=$nbDistant=$nbAlt=0; $nbLignes=$nbEnCache=$nbDistant=$nbAlt=0;
$nbLoaded=$iDb->select($db_table, 'insL4_VOIE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insCODPOS, insLIBCOM, insDEPCOM, insCODEVOIE, insL7_ETRG, idFlux', "idFlux='$idFlux3'", false, MYSQL_ASSOC, true); $nbLoaded=$iDb->select($db_table, 'insL4_VOIE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insCODPOS, insLIBCOM, insDEPCOM, insCODEVOIE, insL7_ETRG, idFlux', "idFlux='$idFlux3'", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses à mettre à jour...".EOL;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses à géocoder".EOL; $message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses à géocoder".EOL;
$tabGeocodeur=array(); $tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) { while($adr=$iDb->fetch(MYSQL_ASSOC)) {
$nbLignes++; $nbLignes++;
@ -133,21 +133,21 @@ if ($doHisto) {
$pct=round($nbEnCache/$nbLignes,3)*100; $pct=round($nbEnCache/$nbLignes,3)*100;
$pct2=round($nbAlt/$nbLignes,3)*100; $pct2=round($nbAlt/$nbLignes,3)*100;
$message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses géocodées en histo pour le $idFlux3 dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL; $message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses géocodées en histo pour le $idFlux3 dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL;
$message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL; $message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL;
$message.=print_r($tabGeocodeur,true); $message.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage Histo ($idFlux3)", $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage Histo ($idFlux3)", $message);
/** Fin à supprimer HISTO **/ /** Fin à supprimer HISTO **/
} }
if ($doAltitudes) { if ($doAltitudes) {
/** Déb à supprimer ALTITUDE : quand toutes les adresses seront altimétriques /** Déb à supprimer ALTITUDE : quand toutes les adresses seront altimétriques
**/ **/
$nbLignes=$nbEnCache=$nbDistant=$nbAlt=0; $nbLignes=$nbEnCache=$nbDistant=$nbAlt=0;
$nbLoaded=$iDb->select('jo.zonageXY', "address AS insL4_VOIE, adrNum AS insNUMVOIE, adrIndRep AS insINDREP, adrTypeVoie AS insTYPVOIE, adrLibVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM, $nbLoaded=$iDb->select('jo.zonageXY', "address AS insL4_VOIE, adrNum AS insNUMVOIE, adrIndRep AS insINDREP, adrTypeVoie AS insTYPVOIE, adrLibVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM,
SUBSTRING(rivoli,1,5) AS insDEPCOM, SUBSTRING(rivoli,6,5) AS insCODEVOIE, '' AS insL7_ETRG, 0 AS idFlux", "alt IS NULL LIMIT 0,40000", false, MYSQL_ASSOC, true); SUBSTRING(rivoli,1,5) AS insDEPCOM, SUBSTRING(rivoli,6,5) AS insCODEVOIE, '' AS insL7_ETRG, 0 AS idFlux", "alt IS NULL AND precis>4 LIMIT 80000,40000", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses sans altitude à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses sans altitude à mettre à jour...".EOL;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses sans altitude".EOL; $message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses sans altitude".EOL;
$tabGeocodeur=array(); $tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) { while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -156,7 +156,7 @@ if ($doAltitudes) {
else $pays=trim($adr['insL7_ETRG']); else $pays=trim($adr['insL7_ETRG']);
$codeRivoli=$adr['insDEPCOM'].$adr['insCODEVOIE']; $codeRivoli=$adr['insDEPCOM'].$adr['insCODEVOIE'];
$geo=$imap->geoCodeAdresse($adr['insNUMVOIE'], $adr['insINDREP'], $adr['insTYPVOIE'], $adr['insTYPVOIE'], $adr['insLIBVOIE'], $adr['insCODPOS'], $adr['insLIBCOM'], $pays, $codeRivoli); $geo=$imap->geoCodeAdresse($adr['insNUMVOIE'], $adr['insINDREP'], $adr['insTYPVOIE'], $adr['insTYPVOIE'], $adr['insLIBVOIE'], $adr['insCODPOS'], $adr['insLIBCOM'], $pays, $codeRivoli);
echo $adr['idFlux'].','.$imap->enCache.':'.$imap->latitudeDec.','.$imap->longitudeDec.' ('.$imap->precision.")\t"; echo $adr['idFlux'].','.$imap->enCache.':'.$imap->latitudeDec.','.$imap->longitudeDec.' ('.$imap->precision.") ".$imap->altitude." m.\t";
echo $adr['insL4_VOIE'].', '.$adr['insCODPOS'].' '.$adr['insLIBCOM'].', '.$pays. ' => '; echo $adr['insL4_VOIE'].', '.$adr['insCODPOS'].' '.$adr['insLIBCOM'].', '.$pays. ' => ';
echo $imap->adresseValidee.' ('.$imap->geocodeur.')'.EOL; echo $imap->adresseValidee.' ('.$imap->geocodeur.')'.EOL;
@$tabGeocodeur[$imap->geocodeur][$imap->enCache]++; @$tabGeocodeur[$imap->geocodeur][$imap->enCache]++;
@ -169,22 +169,22 @@ if ($doAltitudes) {
$pct=round($nbEnCache/$nbLignes,3)*100; $pct=round($nbEnCache/$nbLignes,3)*100;
$pct2=round($nbAlt/$nbLignes,3)*100; $pct2=round($nbAlt/$nbLignes,3)*100;
$message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses sans altitude dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL; $message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses sans altitude dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL;
$message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL; $message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL;
$message.=print_r($tabGeocodeur,true); $message.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage/altitude", $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage/altitude", $message);
/** Fin à supprimer ALTITUDE **/ /** Fin à supprimer ALTITUDE **/
} }
if ($doLamberts) { if ($doLamberts) {
/** Déb à supprimer LAMBERT : quand toutes les adresses seront aussi stockées en lambert 93 **/ /** Déb à supprimer LAMBERT : quand toutes les adresses seront aussi stockées en lambert 93 **/
unset ($imap); unset ($imap);
$imap=new MMap(false); $imap=new MMap(false);
$iDb2=new WDB('jo'); $iDb2=new WDB('jo');
$nbLignes=$nbEnCache=$nbDistant=$nbAlt=0; $nbLignes=$nbEnCache=$nbDistant=$nbAlt=0;
$nbLoaded=$iDb->select('jo.zonageXY', "address AS insL4_VOIE, adrNum AS insNUMVOIE, adrIndRep AS insINDREP, adrTypeVoie AS insTYPVOIE, adrLibVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM, SUBSTRING(rivoli,1,5) AS insDEPCOM, SUBSTRING(rivoli,6,5) AS insCODEVOIE, '' AS insL7_ETRG, 0 AS idFlux", "l93_x IS NULL OR l93_y IS NULL", false, MYSQL_ASSOC, true); $nbLoaded=$iDb->select('jo.zonageXY', "address AS insL4_VOIE, adrNum AS insNUMVOIE, adrIndRep AS insINDREP, adrTypeVoie AS insTYPVOIE, adrLibVoie AS insLIBVOIE, adr_cp AS insCODPOS, adr_ville AS insLIBCOM, SUBSTRING(rivoli,1,5) AS insDEPCOM, SUBSTRING(rivoli,6,5) AS insCODEVOIE, '' AS insL7_ETRG, 0 AS idFlux", "l93_x IS NULL OR l93_y IS NULL", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses sans Lambert 93 à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses sans Lambert 93 à mettre à jour...".EOL;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses sans Lambert 93".EOL; $message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses sans Lambert 93".EOL;
$tabGeocodeur=array(); $tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) { while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -217,12 +217,12 @@ if ($doLamberts) {
$pct=round($nbEnCache/$nbLignes,3)*100; $pct=round($nbEnCache/$nbLignes,3)*100;
$pct2=round($nbAlt/$nbLignes,3)*100; $pct2=round($nbAlt/$nbLignes,3)*100;
$message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses converties en Lambert 93 pour le $idFlux3 dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL; $message.='Le '.date('d/m/Y H:i:s')." : $nbLignes adresses converties en Lambert 93 pour le $idFlux3 dont $nbDistant par accès partenaire ($nbEnCache adresses en cache soit $pct %)".EOL;
$message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL; $message.="$nbAlt adresses ont une altitude connue soit $pct2 %".EOL;
$message.=print_r($tabGeocodeur,true); $message.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage en Lambert 93", $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage en Lambert 93", $message);
/** Fin à supprimer LAMBERT **/ /** Fin à supprimer LAMBERT **/
} }
die(); die();

View File

@ -7,10 +7,10 @@ include_once(FWK_PATH.'common/dates.php');
$modeDebug=false; $modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des listes des sociétés de gestion agrées par l'AMF Mise à jour des listes des sociétés de gestion agrées par l'AMF
Options : Options :
-v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles) -v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -i:XXXXX Reprendre au code commune Insee XXXXX ";/* -i:XXXXX Reprendre au code commune Insee XXXXX
@ -21,7 +21,7 @@ $argv=$_SERVER['argv'];
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) { switch (substr($argv[$i],1,1)) {
case 'd': $modeDebug=true; break; case 'v': $modeDebug=true; break;
case '-': case '-':
case '?': die($strInfoScript); break; case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n"); default: die('Option '. $argv[$i] . " inconnue !\n");
@ -31,7 +31,8 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$iDb=new WDB('sdv1'); $iDb=new WDB('sdv1');
$table='amf_geco'; $table='amf_geco';
$urlBase='http://www.amf-france.org/bio/rech_SG.aspx'; //$urlBase='http://www.amf-france.org/bio/rech_SG.aspx';
$urlBase='http://www.amf-france.org/bio/res_SG.aspx';
$tabZones=array('codeQE'=>'&nbsp;<b>Code QE n&deg;</b>(?:.*)&nbsp;(\d+)</td>', $tabZones=array('codeQE'=>'&nbsp;<b>Code QE n&deg;</b>(?:.*)&nbsp;(\d+)</td>',
/* type char(3) latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier /* type char(3) latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
@ -65,12 +66,12 @@ $tabZones=array('codeQE'=>'&nbsp;<b>Code QE n&deg;</b>(?:.*)&nbsp;(\d+)</td>',
'qualifs[qualifUrl,qualifCode,qualifLib]'=>'<tr bordercolor="#2652A0">(?:.*)<td width="20%" height="25"><a href="(.*)" target="parent">&nbsp;(.*)</a></td>(?:.*)<td width="85%" height="25">&nbsp;(.*)</td>(?:.*)</tr>', 'qualifs[qualifUrl,qualifCode,qualifLib]'=>'<tr bordercolor="#2652A0">(?:.*)<td width="20%" height="25"><a href="(.*)" target="parent">&nbsp;(.*)</a></td>(?:.*)<td width="85%" height="25">&nbsp;(.*)</td>(?:.*)</tr>',
); );
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL; echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL;
$ret=$iDb->select($table, 'agrementNum', '1', false); $ret=$iDb->select($table, 'agrementNum', '1', false);
foreach ($ret as $tAgrNum) { foreach ($ret as $tAgrNum) {
$agrNum=$tAgrNum['agrementNum']; $agrNum=$tAgrNum['agrementNum'];
echo date ('Y/m/d - H:i:s')." - Num Agrément : $agrNum".EOL; echo date ('Y/m/d - H:i:s')." - Num Agrément : $agrNum".EOL;
} }
for($i=$iDeb;;$i++) { for($i=$iDeb;;$i++) {
@ -108,7 +109,7 @@ for($i=$iDeb;;$i++) {
$nbVides++; $nbVides++;
if ($nbVides<20) continue; if ($nbVides<20) continue;
else { else {
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL; echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die(); die();
} }
} }

View File

@ -1,12 +1,150 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini #!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php <?php
include_once(FWK_PATH.'common/curl.php');
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.'partenaires/classMRncs.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
include_once(FWK_PATH.'mail/sendMail.php');
$modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options :
-v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
";*/
$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 'v': $modeDebug=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
}
}
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
**
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/
$iDb=new WDB('jo');
$iInsee=new MInsee();
$table='annonces_jal';
$urlBase='http://www.annonces-legales.fr/annonce-legale/';
$tabZones=array(
'jalNum'=>'<div id="al_title"><h1><a href="http://www.annonces-legales.fr/journal/(.*)/',
'jalDept'=>'<div id="al_title"><h1><a href="http://www.annonces-legales.fr/journal/(?:.*)">(?:.*) (\d+|2A|2B)</a></h1></div>',
'jalNom'=>'<div id="al_title"><h1><a href="http://www.annonces-legales.fr/journal/(?:.*)/(.*)">',
'jalLib'=>'<div id="al_title"><h1><a href="http://www.annonces-legales.fr/journal/(?:.*)">(.*)</a></h1></div>',
'jalDateTxt'=>'<div id=\'annonce_legale_date\'><b>(.*)</b></div>',
'annCat'=>'<div id=\'annonce_legale_date\'><b>(?:.*)</b></div><h2><b><a href=\'http://(.*).annonces-legales.fr/publication\'>',
'evenLib'=>'<div id=\'annonce_legale_date\'><b>(?:.*)</b></div><h2><b><a href=\'http://(?:.*).annonces-legales.fr/publication\'>(.*)</b></a></h2>',
'socNom'=>'<div align=\'center\' style=\'font-size: 24pt; line-height: 24pt;\'><strong>(.*)</strong></div>',
'fjCap'=>'<div align=\'center\'><strong>(.*)</strong></div>',
'adr'=>'<div align=\'center\'><strong>(?:.*)</strong></div>(?:.*)<div><center>(.*)\d\d\d\d\d',
'adrSiege'=>'<div>Si.*ge social : (.*)</div>',
'cpVille'=>'<div align=\'center\'><strong>(?:.*)</strong></div>(?:.*)<div><center>(.*)(\d\d\d\d\d\s.*)<br>',
'siren'=>'<br>(?:.*)(\d\d\d\d\d\d\d\d\d) R',
'tribunal'=>'(?:\d\d\d\d\d\d\d\d\d) R.C.S. (.*)</center>',
'tribunalImm'=>'<div>Immatriculation au RCS de (.*)</div>',
'socDuree'=>'<div>Dur.*e : (\d+) ans</div>',
'socObjet'=>'<div>Objet social : (.*)</div>',
'socGerance'=>'<div>G.*rance : (.*)</div>',
'annonce'=>'<div class=.annonce.>(.*)<div class="separator">',
'mention'=>'<div>(Mention en sera faite.*)</div>',
'acteDate'=>'<div>Par acte SSP en date du (.*)\s',
'acteNature'=>'<div>Par acte SSP en date du (?:.*)/\d\d\d\d\s(.*)</div>',
/* <div>Par acte SSP en date du 08/10/2009 il a été constitué la société suivante :</div>
<div>Siège social : 108 rue des Bains, 8 Allée du Douet d'Auge 14103 Pont l'Eveque, 14360 Trouville sur Mer</div>
<div>Capital : </div>
*/
// id socTri uid
);
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des informations '$table'...".EOL;
$ret=$iDb->select($table, 'MAX(id)', '1', false);
$iDeb=$ret[0][0];
$nbVides=0;
echo date ('Y/m/d - H:i:s')." - Dernier id '$table' = $iDeb".EOL;
//$iDeb=54701;
for($i=$iDeb;;$i++) {
$tabInsert=array('id'=>$i);
/* $ret=$iDb->select($table, 'raiSoc', "id=$i", false);
if (@$ret[0][0]<>'') continue;
*/
$url=$urlBase.$i;
$page=getUrl($url, '', '', '', false);
$referer=$url;
if ($page['code']==301) {
$url=$page['header']['Location'];
$page=getUrl($url, '', '', $referer, false);
$referer=$url;
}
$body=$page['body'];
$tabHtml=html2array($body, $tabZones);
if ($tabHtml['jalNum']=='' || @$tabHtml['annCat']=='') {
$nbVides++;
$i0=$i-10;
if ($nbVides==10) die("Le dernier numéro d'annonces est probablement le '$i0'".EOL);
continue;
}
$nbVides=0;
$tabHtml['jalDateYmd']=WDate::dateT('d M Y','Y-m-d',$tabHtml['jalDateTxt']);
$tabInsert=array_merge($tabInsert,$tabHtml);
$tabInsert['dateInsert']=date('YmdHis');
if (@$iInsee->valideSiren($tabInsert['siren']))
$tabInsert['sirenValide']=1;
else
$tabInsert['sirenValide']=0;
print_r($tabInsert);
if (!$iDb->insert($table, $tabInsert, false)) {
if (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$iDb->update($table, $tabInsert, "id=$i", false);
} else {
print_r($tabInsert);
die(mysql_error());
}
}
//die();
$nb=count($tabInsert);
$nb2=@count($tabInsert2);
echo date('Y/m/d H:i:s')." - $i : $nb zones et $nb2 qualifications".EOL;
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
die();
/** /**
** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice) ** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice)
** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all ** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php ** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
** **
** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!! ** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007 ** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/ **/
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -26,8 +164,8 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des annonces JAL. Chargement des annonces JAL.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-i:XXX Reprendre à la ligne XXX -i:XXX Reprendre à la ligne XXX
"; ";
@ -53,11 +191,37 @@ function html2txt($html) {
//$page=getUrl('http://adls.journal-annonce-legale.fr/journal'); //$page=getUrl('http://adls.journal-annonce-legale.fr/journal');
//die(print_r($page)); //die(print_r($page));
echo date ('Y/m/d - H:i:s') . " - Début de la récupération des annonces sur le site JAL...".EOL; echo date ('Y/m/d - H:i:s') . " - Début de la récupération des annonces sur le site JAL...".EOL;
$urlBase='http://www.journal-annonce-legale.fr';
/*<div id="annonce_legale_item">
<br>
<div id="al_title"><h1><a href="http://www.annonces-legales.fr/journal/338/lecho-de-louest">L'Echo de l'Ouest - Loire-Atlantique 44</a></h1></div>
<div class="separator"></div>
<div id='annonce_legale_date'><b>30 août 2012</b></div><h2><b><a href='http://transfert-de-siege-dans-le-departement.annonces-legales.fr/publication'>Transfert de si&eacute;ge dans le d&eacute;partement</b></a></h2> <div id="annonce_legale_text" style="">
<div class='annonce'>
<div align='center' style='font-size: 24pt; line-height: 24pt;'><strong>SELECTIMMO</strong></div>
<div align='center'><strong>SARL Unipersonnelle au capital de 1500 Euros</strong></div>
<div align='center'>
<center>12 rue de la Chevasnerie,<br>
44000 NANTES<br>
494480759 R.C.S. Nantes</center>
</div>
<div>Par décision du gérant en date du 30 août 2012 il a été décidé de transférer le siège social de la société au 58 boulevard Meusnier de Querlon, 44000 NANTES à compter du 30 août 2012.</div>
<div>Mention en sera faite au Registre du Commerce et des Sociétés de Nantes</div>
</div> </div>
<br><br><div class="separator"></div>
<br><h4>Autres annonces l&eacute;gales</h4><b><a href='/annonce-legale/54627/SOCIETE-CIVILE-DE-BONHERBE-Radiation-Liquidation-de-societe'>Annonce l&eacute;gale - SOCIETE CIVILE DE BONHERBE - Radiation - Liquidation de soci&eacute;t&eacute;</a></b><br><b><a href='/annonce-legale/54436/QIMNET-Transfert-de-siege-dans-le-departement'>Annonce l&eacute;gale - QIMNET - Transfert de si&eacute;ge dans le d&eacute;partement</a></b><br><b><a href='/annonce-legale/54368/SCI-SAINT-JALMES-JOZWICKI-Transfert-de-siege-hors-departement'>Annonce l&eacute;gale - SCI SAINT-JALMES - JOZWICKI - Transfert de si&eacute;ge hors d&eacute;partement</a></b><br></div> </div>
<div class="clear"></div>
<div class="clear"></div>
<div id="footer">
<div id="footer_l">
Regiepress s'est engag&eacute;e &agrave; soutenir :<br>*/
$page=getUrl($urlBase.'/annonces_legales', '', '', $referer); $page=getUrl($urlBase.'/annonces_legales', '', '', $referer);
$size=round(strlen($page['body'])/1024); $size=round(strlen($page['body'])/1024);
echo date ('Y/m/d - H:i:s') . " - Récupération de $size Ko de données. Recherche des annonces...".EOL; echo date ('Y/m/d - H:i:s') . " - Récupération de $size Ko de données. Recherche des annonces...".EOL;
$referer=$urlBase.'/annonces_legales'; $referer=$urlBase.'/annonces_legales';
if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_2"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_5"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_4"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>/Uis', $page['body'], $matches)) { if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_2"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_5"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>(?:.*)<div class="th_4"><a href="(?:.*)"\s+target="_blank">(.*)<\/a><\/div>/Uis', $page['body'], $matches)) {
@ -75,7 +239,7 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
echo date ('Y/m/d - H:i:s') . " - Il y a $nbAnnonces annonces sur le site JAL...".EOL; echo date ('Y/m/d - H:i:s') . " - Il y a $nbAnnonces annonces sur le site JAL...".EOL;
foreach ($matches[1] as $i=>$urlSuite) { foreach ($matches[1] as $i=>$urlSuite) {
if ($i<$iDeb) continue; if ($i<$iDeb) continue;
elseif ($i==$iDeb && $i>0) echo date ('Y/m/d - H:i:s') . " - Reprise à la ligne $i/$nbAnnonces...".EOL; elseif ($i==$iDeb && $i>0) echo date ('Y/m/d - H:i:s') . " - Reprise à la ligne $i/$nbAnnonces...".EOL;
$annId=0; $annId=0;
if (preg_match('/\/annonce_legale\/(.*)$/Ui', $urlSuite, $matches2)) if (preg_match('/\/annonce_legale\/(.*)$/Ui', $urlSuite, $matches2))
@ -90,7 +254,7 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
$nom =html2txt($matches[4][$i]); $nom =html2txt($matches[4][$i]);
$even=html2txt($matches[5][$i]); $even=html2txt($matches[5][$i]);
$uniqueId=md5($date.$dept.$jal.$nom.$even); $uniqueId=md5($date.$dept.$jal.$nom.$even);
// Récupération du corps de l'annonce // Récupération du corps de l'annonce
randsleep($tMin,$tMax); randsleep($tMin,$tMax);
$page=getUrl($urlBase.$urlSuite, '', '', $referer); $page=getUrl($urlBase.$urlSuite, '', '', $referer);
if (preg_match('/<div id="content">(?:.*)<h2>Annonce l&eacute;gale<\/h2>(?:.*)<div class="separator"><\/div>(.*)<div class=\'annonce\'>(.*)<div id="footer">/Uis', $page['body'], $matches2)) { if (preg_match('/<div id="content">(?:.*)<h2>Annonce l&eacute;gale<\/h2>(?:.*)<div class="separator"><\/div>(.*)<div class=\'annonce\'>(.*)<div id="footer">/Uis', $page['body'], $matches2)) {
@ -128,7 +292,7 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
$siren=0; $siren=0;
if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces : $dept, $date - $jal, $nom - ATTENTION : Plusieurs SIREN valident !".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces : $dept, $date - $jal, $nom - ATTENTION : Plusieurs SIREN valident !".EOL;
} }
// Prendre le tribunal de l'annonce et si non trouvé, celui lié au siren ! // Prendre le tribunal de l'annonce et si non trouvé, celui lié au siren !
$tabInsert=array( 'wid'=>$annId, $tabInsert=array( 'wid'=>$annId,
'jalDate'=>$date, 'jalDate'=>$date,
@ -148,7 +312,7 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces : $dept, $date - $jal, $nom ($even)".EOL; echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces : $dept, $date - $jal, $nom ($even)".EOL;
//die(print_r($tabInsert)); //die(print_r($tabInsert));
} elseif ($iDb->getLastErrorNum()==1062) { } elseif ($iDb->getLastErrorNum()==1062) {
echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces déjà en base : $dept, $date - $jal, $nom.".EOL; echo date ('Y/m/d - H:i:s') . " - Annonce $i/$nbAnnonces déjà en base : $dept, $date - $jal, $nom.".EOL;
break; break;
} else { } else {
print_r($tabInsert); print_r($tabInsert);
@ -162,16 +326,16 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
file_put_contents('debug.tmp', print_r($page, true)); file_put_contents('debug.tmp', print_r($page, true));
} }
echo date ('Y/m/d - H:i:s') . " - Fin de la récupération des annonces sur le site JAL...".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la récupération des annonces sur le site JAL...".EOL;
die(); die();
/* /*
POST http://www.affiches-parisiennes.com/recherche.php POST http://www.affiches-parisiennes.com/recherche.php
En-têtes requête: En-têtes requête:
Host[www.affiches-parisiennes.com] Host[www.affiches-parisiennes.com]
Referer[http://www.affiches-parisiennes.com/recherche.php] Referer[http://www.affiches-parisiennes.com/recherche.php]
Cookie[__utma=42089205.1609474598.1234288314.1234456089.1234462062.6; __utmz=42089205.1234288314.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmc=42089205; PHPSESSID=71dd9ce3d97225b4fd16ac96f41aa91a; __utmb=42089205] Cookie[__utma=42089205.1609474598.1234288314.1234456089.1234462062.6; __utmz=42089205.1234288314.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmc=42089205; PHPSESSID=71dd9ce3d97225b4fd16ac96f41aa91a; __utmb=42089205]
Données POST: Données POST:
rec_option[on] rec_option[on]
recherche[] recherche[]
cible[txt] cible[txt]
@ -276,13 +440,13 @@ SOCIETES
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003262</td> Annonce n°K003262</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -296,18 +460,18 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">RESCH ET FILS</div> <div class="cp15">RESCH ET FILS</div>
<div class="p1"><span class="gras">Société en nom collectif</span></div> <div class="p1"><span class="gras">Société en nom collectif</span></div>
<div class="p1">Au capital de 8.400 euros</div> <div class="p1">Au capital de 8.400 euros</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">15, avenue Olivier-d'Ormesson</div> <div class="pp">15, avenue Olivier-d'Ormesson</div>
<div class="pp">94490 ORMESSON-SUR-MARNE</div> <div class="pp">94490 ORMESSON-SUR-MARNE</div>
<div class="p1">441 607 793 R.C.S. Créteil</div> <div class="p1">441 607 793 R.C.S. Créteil</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'AGE des Associés réunie le 31/12/2008, a décidé de dissoudre par anticipation la Société à compter du 1<sup>er</sup> janvier 2009. Elle a nommé comme Coliquidateurs M. Arnaud RESCH, né le 18 mai 1967 à Paris (75010), de nationalité française, demeurant à Saint-Maur-des-Fossés (94100), 1, rue Léopold-Sédar-Senghor, et M. Eric RESCH, né le 4 mars 1974 à Saint-Maur-des-Fossés (94100), de nationalité française, demeurant à Saint-Maur-des-Fossés (94100), 99, avenue Joffre, et leur a conféré les pouvoirs les plus étendus pour réaliser l'actif et acquitter le passif.</div> <div class="pp">L'AGE des Associés réunie le 31/12/2008, a décidé de dissoudre par anticipation la Société à compter du 1<sup>er</sup> janvier 2009. Elle a nommé comme Coliquidateurs M. Arnaud RESCH, né le 18 mai 1967 à Paris (75010), de nationalité française, demeurant à Saint-Maur-des-Fossés (94100), 1, rue Léopold-Sédar-Senghor, et M. Eric RESCH, né le 4 mars 1974 à Saint-Maur-des-Fossés (94100), de nationalité française, demeurant à Saint-Maur-des-Fossés (94100), 99, avenue Joffre, et leur a conféré les pouvoirs les plus étendus pour réaliser l'actif et acquitter le passif.</div>
<div class="p1">Le siège de liquidation est fixé au siège social.</div> <div class="p1">Le siège de liquidation est fixé au siège social.</div>
</div> </div>
</td> </td>
@ -324,14 +488,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003220</td> Annonce n°K003220</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -348,15 +512,15 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="cp15">KALISTO</div> <div class="cp15">KALISTO</div>
<div class="p1"><span class="gras">SARL</span> au capital de 7.500 euros</div> <div class="p1"><span class="gras">SARL</span> au capital de 7.500 euros</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">7, rue Hector-Malot <div class="pp">7, rue Hector-Malot
94120 FONTENAY-SOUS-BOIS</div> 94120 FONTENAY-SOUS-BOIS</div>
<div class="p1">451 398 598 R.C.S. Créteil</div> <div class="p1">451 398 598 R.C.S. Créteil</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'A.G.E. du 5/01/2009 a prononcé la dissolution anticipée de la Société, M. Djordje KALINOVIC, demeurant 7, rue Hector-Malot, 94120 Fontenay-sous-Bois, a été nommé Liquidateur. Le siège de liquidation est fixé au siège social.</div> <div class="pp">L'A.G.E. du 5/01/2009 a prononcé la dissolution anticipée de la Société, M. Djordje KALINOVIC, demeurant 7, rue Hector-Malot, 94120 Fontenay-sous-Bois, a été nommé Liquidateur. Le siège de liquidation est fixé au siège social.</div>
<div class="p1">Mention au RCS de Créteil.</div> <div class="p1">Mention au RCS de Créteil.</div>
</div> </div>
</td> </td>
@ -373,14 +537,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003249</td> Annonce n°K003249</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -396,15 +560,15 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">SCI ECLIPSE</div> <div class="cp15">SCI ECLIPSE</div>
<div class="p1"><span class="gras">Société civile</span></div> <div class="p1"><span class="gras">Société civile</span></div>
<div class="p1">Au capital de 1.372,04 euros</div> <div class="p1">Au capital de 1.372,04 euros</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">23, rue Delizy ­ 93500 PANTIN</div> <div class="pp">23, rue Delizy ­ 93500 PANTIN</div>
<div class="p1">424 305 878 R.C.S. Bobigny</div> <div class="p1">424 305 878 R.C.S. Bobigny</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'A.G.E. du 3/11/2008, a prononcé la dissolution anticipée de la Société et ce à compter du 28/10/2008. M. Bernard ISABET, demeurant 44, rue Duguay-Trouin, 22590 Pordic, a été nommé Liquidateur. Le siège de liquidation est fixé au siège social.</div> <div class="pp">L'A.G.E. du 3/11/2008, a prononcé la dissolution anticipée de la Société et ce à compter du 28/10/2008. M. Bernard ISABET, demeurant 44, rue Duguay-Trouin, 22590 Pordic, a été nommé Liquidateur. Le siège de liquidation est fixé au siège social.</div>
<div class="p1">Mention au RCS de Bobigny.</div> <div class="p1">Mention au RCS de Bobigny.</div>
</div> </div>
@ -422,14 +586,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003320</td> Annonce n°K003320</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -444,9 +608,9 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">SNC LES JARDINS DE LALANDE</div> <div class="cp15">SNC LES JARDINS DE LALANDE</div>
<div class="p1"><span class="gras">Société en nom collectif</span></div> <div class="p1"><span class="gras">Société en nom collectif</span></div>
<div class="p1">Au capital de 1.000 euros</div> <div class="p1">Au capital de 1.000 euros</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">45&nbsp;bis, route des Gardes <div class="pp">45&nbsp;bis, route des Gardes
92190 MEUDON</div> 92190 MEUDON</div>
<div class="p1">438 842 254 R.C.S. Nanterre</div> <div class="p1">438 842 254 R.C.S. Nanterre</div>
@ -454,11 +618,11 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'Assemblée Générale Extraordinaire réunie le 1<sup>er</sup> décembre 2008 a décidé la dissolution anticipée de la Société, à compter du même jour et sa mise en liquidation amiable sous le régime conventionnnel dans les conditions prévues par les statuts et les délibérations de ladite Assemblée.</div> <div class="pp">L'Assemblée Générale Extraordinaire réunie le 1<sup>er</sup> décembre 2008 a décidé la dissolution anticipée de la Société, à compter du même jour et sa mise en liquidation amiable sous le régime conventionnnel dans les conditions prévues par les statuts et les délibérations de ladite Assemblée.</div>
<div class="pp">Elle a nommé comme Liquidateur, la Société GROUPE FRANCE TERRE, Société anonyme au capital de 2.473.990 euros, ayant son siège social&nbsp;: Le Mail du Point-du-Jour, 235, avenue Le Jour-se-Lève, 92100 Boulogne-Billancourt, 307 558 601 RCS Nanterre, en qualité de Liquidateur pour toute la durée de la liquidation, avec les pouvoirs les plus étendus tels que déterminés par la loi et les statuts pour procéder aux opérations de liquidation, réaliser l'actif, acquitter le passif, et l'a autorisé à continuer les affaires en cours et à en engager de nouvelles pour les besoins de la liquidation.</div> <div class="pp">Elle a nommé comme Liquidateur, la Société GROUPE FRANCE TERRE, Société anonyme au capital de 2.473.990 euros, ayant son siège social&nbsp;: Le Mail du Point-du-Jour, 235, avenue Le Jour-se-Lève, 92100 Boulogne-Billancourt, 307 558 601 RCS Nanterre, en qualité de Liquidateur pour toute la durée de la liquidation, avec les pouvoirs les plus étendus tels que déterminés par la loi et les statuts pour procéder aux opérations de liquidation, réaliser l'actif, acquitter le passif, et l'a autorisé à continuer les affaires en cours et à en engager de nouvelles pour les besoins de la liquidation.</div>
<div class="pp">Le siège de la liquidation est fixé Le Mail du Point-du-Jour, 235, avenue Le Jour-se-Lève, 92100 Boulogne-Billancourt.</div> <div class="pp">Le siège de la liquidation est fixé Le Mail du Point-du-Jour, 235, avenue Le Jour-se-Lève, 92100 Boulogne-Billancourt.</div>
<div class="pp">C'est à cette adresse que la correspondance devra être envoyée et que les actes et documents concernant la liquidation devront être notifiés.</div> <div class="pp">C'est à cette adresse que la correspondance devra être envoyée et que les actes et documents concernant la liquidation devront être notifiés.</div>
<div class="p1">Les actes et pièces relatifs à la liquidation seront déposés au greffe du Tribunal de commerce de Nanterre, en annexe au Registre du commerce et des sociétés.</div> <div class="p1">Les actes et pièces relatifs à la liquidation seront déposés au greffe du Tribunal de commerce de Nanterre, en annexe au Registre du commerce et des sociétés.</div>
</div> </div>
<div class="sig"> <div class="sig">
@ -479,13 +643,13 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003162</td> Annonce n°K003162</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -501,9 +665,9 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">SOCIETE LJMA</div> <div class="cp15">SOCIETE LJMA</div>
<div class="p1"><span class="gras">Société à responsabilité limitée</span></div> <div class="p1"><span class="gras">Société à responsabilité limitée</span></div>
<div class="p1">Au capital de 3.000&nbsp;</div> <div class="p1">Au capital de 3.000&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">11&nbsp;ter, rue Gustave-Rey</div> <div class="pp">11&nbsp;ter, rue Gustave-Rey</div>
<div class="pp">92250 LA GARENNE-COLOMBES</div> <div class="pp">92250 LA GARENNE-COLOMBES</div>
@ -511,7 +675,7 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">Suite à l'A.G.E. du 29 décembre 2008, il a été prononcé la dissolution anticipée de la Société à compter du 29 décembre 2008. M. LEBRUN Jean Marc, demeurant 11&nbsp;ter, rue Gustave-Rey, 92250 La Garenne-Colombes, a été nommé en qualité de Liquidateur. Le siège de liquidation est fixé au siège social de la Société&nbsp;: 11&nbsp;ter, rue Gustave-Rey, 92250 La Garenne-Colombes.</div> <div class="pp">Suite à l'A.G.E. du 29 décembre 2008, il a été prononcé la dissolution anticipée de la Société à compter du 29 décembre 2008. M. LEBRUN Jean Marc, demeurant 11&nbsp;ter, rue Gustave-Rey, 92250 La Garenne-Colombes, a été nommé en qualité de Liquidateur. Le siège de liquidation est fixé au siège social de la Société&nbsp;: 11&nbsp;ter, rue Gustave-Rey, 92250 La Garenne-Colombes.</div>
<div class="p1">Pour avis et mention au RCS de Nanterre.</div> <div class="p1">Pour avis et mention au RCS de Nanterre.</div>
</div> </div>
<div class="sig"> <div class="sig">
@ -532,14 +696,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003332</td> Annonce n°K003332</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -555,15 +719,15 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">CHLOE</div> <div class="cp15">CHLOE</div>
<div class="p1"><span class="gras">Société à responsabilité limitée</span></div> <div class="p1"><span class="gras">Société à responsabilité limitée</span></div>
<div class="p1">Au capital de 7.700&nbsp;</div> <div class="p1">Au capital de 7.700&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">111, avenue Victor-Hugo ­ 75016 PARIS</div> <div class="pp">111, avenue Victor-Hugo ­ 75016 PARIS</div>
<div class="p1">441 015 799 R.C.S. Paris</div> <div class="p1">441 015 799 R.C.S. Paris</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'AGE du 30/11/2008 à 10 heures a prononcé la dissolution anticipée&nbsp;; nommé en qualité de Liquidateur, M. ARFI Thierry, demeurant 110, rue Petit, 75019 Paris. Le siège de liquidation, ainsi que toute correspondance sont fixés au siège de la Société.</div> <div class="pp">L'AGE du 30/11/2008 à 10 heures a prononcé la dissolution anticipée&nbsp;; nommé en qualité de Liquidateur, M. ARFI Thierry, demeurant 110, rue Petit, 75019 Paris. Le siège de liquidation, ainsi que toute correspondance sont fixés au siège de la Société.</div>
</div> </div>
</td> </td>
@ -580,14 +744,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003233</td> Annonce n°K003233</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -604,13 +768,13 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="cp15">JV INTERNATIONAL</div> <div class="cp15">JV INTERNATIONAL</div>
<div class="p1"><span class="gras">EURL</span> au capital de 500&nbsp;</div> <div class="p1"><span class="gras">EURL</span> au capital de 500&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">13, rue Charles-Tellier ­ 75016 PARIS</div> <div class="pp">13, rue Charles-Tellier ­ 75016 PARIS</div>
<div class="p1">501 159 909 R.C.S. Paris</div> <div class="p1">501 159 909 R.C.S. Paris</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">L'AGE du 23/01/2009 a décidé la dissolution de la Société et sa mise en liquidation amiable à compter du même jour, nommé en qualité de Liquidateur M. VARRET Jean, demeurant 13, rue Charles-Tellier, 75016 Paris, et fixé le siège de liquidation au 13, rue Charles-Tellier, 75016 Paris. Modification au RCS de Paris.</div> <div class="pp">L'AGE du 23/01/2009 a décidé la dissolution de la Société et sa mise en liquidation amiable à compter du même jour, nommé en qualité de Liquidateur M. VARRET Jean, demeurant 13, rue Charles-Tellier, 75016 Paris, et fixé le siège de liquidation au 13, rue Charles-Tellier, 75016 Paris. Modification au RCS de Paris.</div>
</div> </div>
</td> </td>
@ -627,14 +791,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003212</td> Annonce n°K003212</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -650,16 +814,16 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap"> <div class="chap">
<div class="cp15">GOUSSET BENJAMIN SARL</div> <div class="cp15">GOUSSET BENJAMIN SARL</div>
<div class="p1"><span class="gras">Société à responsabilité limitée <div class="p1"><span class="gras">Société à responsabilité limitée
à capital variable</span></div> à capital variable</span></div>
<div class="p1">Au capital de 7.500&nbsp;</div> <div class="p1">Au capital de 7.500&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div> <div class="p1">Siège social&nbsp;:</div>
<div class="pp">21, rue Henry-Monnier ­ 75009 PARIS</div> <div class="pp">21, rue Henry-Monnier ­ 75009 PARIS</div>
<div class="p1">450 500 533 R.C.S. Paris</div> <div class="p1">450 500 533 R.C.S. Paris</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">Aux termes d'une Assemblée Générale Extraordinaire en date du 31 janvier 2009, les Associés ont décidé la dissolution anticipée de ladite Société. M. GOUSSET Benjamin, demeurant au 35, rue de Douaï, 75009 Paris, est nommé Liquidateur. Le siège de la liquidation est fixé au 21, rue Henry-Monnier, 75009 Paris. C'est à cette adresse que la correspondance devra être adressée et que les actes et documents devront être notifiés. Les actes et pièces relatifs à la liquidation seront déposés au Registre du commerce et des sociétés de Paris. Pour avis et mention, Le Liquidateur, GOUSSET Benjamin.</div> <div class="pp">Aux termes d'une Assemblée Générale Extraordinaire en date du 31 janvier 2009, les Associés ont décidé la dissolution anticipée de ladite Société. M. GOUSSET Benjamin, demeurant au 35, rue de Douaï, 75009 Paris, est nommé Liquidateur. Le siège de la liquidation est fixé au 21, rue Henry-Monnier, 75009 Paris. C'est à cette adresse que la correspondance devra être adressée et que les actes et documents devront être notifiés. Les actes et pièces relatifs à la liquidation seront déposés au Registre du commerce et des sociétés de Paris. Pour avis et mention, Le Liquidateur, GOUSSET Benjamin.</div>
</div> </div>
</td> </td>
@ -676,14 +840,14 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400"> <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr> <tbody><tr>
<td align="left" bgcolor="#ffffff"> <td align="left" bgcolor="#ffffff">
Annonce n°K003158</td> Annonce n°K003158</td>
<td align="left" bgcolor="#ffffff" width="20"> <td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td> <a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" align="left" bgcolor="#ffffff"> <td colspan="2" align="left" bgcolor="#ffffff">
Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td> Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</tr> </tr>
</tbody></table> </tbody></table>
@ -700,12 +864,12 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="cp15">PIERRE DEMPURE CONSULTANT</div> <div class="cp15">PIERRE DEMPURE CONSULTANT</div>
<div class="p1"><span class="gras">SARL</span> au capital de 7.622,45&nbsp;</div> <div class="p1"><span class="gras">SARL</span> au capital de 7.622,45&nbsp;</div>
<div class="p1">57, rue Laugier ­ 75017 PARIS</div> <div class="p1">57, rue Laugier ­ 75017 PARIS</div>
<div class="p1">482 777 216 R.C.S. Paris</div> <div class="p1">482 777 216 R.C.S. Paris</div>
</div> </div>
<br> <br>
<div class="txt"> <div class="txt">
<div class="pp">Par AGE du 30/12/2008, il a été décidé de dissoudre la Société à compter de ce jour. M. Pierre DEMPURE, Gérant, est nommé Liquidateur. Le siège de liquidation est fixé au siège social. Mention au RCS de Paris.</div> <div class="pp">Par AGE du 30/12/2008, il a été décidé de dissoudre la Société à compter de ce jour. M. Pierre DEMPURE, Gérant, est nommé Liquidateur. Le siège de liquidation est fixé au siège social. Mention au RCS de Paris.</div>
</div> </div>
</td> </td>
@ -760,7 +924,7 @@ foreach ($lstCom as $i=>$tabCom) {
$url="http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/Controleur.jsp?ddd=$dep&ccc=$com&service=lcfer&type=NULL&Valider=Valider"; $url="http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/Controleur.jsp?ddd=$dep&ccc=$com&service=lcfer&type=NULL&Valider=Valider";
$page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr'); $page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr');
$body=$page['body']; $body=$page['body'];
if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0) if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0)
{ {
//print_r($page); //print_r($page);
@ -782,19 +946,19 @@ foreach ($lstCom as $i=>$tabCom) {
if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) { if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) {
$libTri=strip_tags($results[1]); $libTri=strip_tags($results[1]);
if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI
elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC
elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR
elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR
elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
else die("Libellé CFE '$libTri' inconnu !"); else die("Libellé CFE '$libTri' inconnu !");
} else die('Erreur fatale');/*</b><br> } else die('Erreur fatale');/*</b><br>
1 RUE JOSEPH BERNIER<br> 1 RUE JOSEPH BERNIER<br>
01000 BOURG EN BRESSE<br> 01000 BOURG EN BRESSE<br>
Tél : 04 74 32 13 00<br> Tél : 04 74 32 13 00<br>
Fax : 04 74 21 42 63<br> Fax : 04 74 21 42 63<br>
<a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a> <a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a>
</font>*/ </font>*/
@ -810,8 +974,8 @@ foreach ($lstCom as $i=>$tabCom) {
$cpVille=trim(@$results2[$i]); $cpVille=trim(@$results2[$i]);
$cp=substr($cpVille,0,5)*1; $cp=substr($cpVille,0,5)*1;
$ville=trim(substr($cpVille,5)); $ville=trim(substr($cpVille,5));
$tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1; $tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1;
$fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1; $fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1;
if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]); if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]);
if ($web=='http://') $web=''; if ($web=='http://') $web='';
@ -823,7 +987,7 @@ foreach ($lstCom as $i=>$tabCom) {
$code=$trib[0]['triCode']; $code=$trib[0]['triCode'];
$nom=$trib[0]['triNom']; $nom=$trib[0]['triNom'];
} else { } else {
// Il faut insérer la fiche ID de la compétence // Il faut insérer la fiche ID de la compétence
$tabAdr=$iInsee->structureVoie($adresse1); $tabAdr=$iInsee->structureVoie($adresse1);
$tabInsert=array('triType'=>$typeTri, $tabInsert=array('triType'=>$typeTri,
'triNom'=> $libTri, 'triNom'=> $libTri,
@ -849,7 +1013,7 @@ foreach ($lstCom as $i=>$tabCom) {
if ($id>0) { if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id)); $ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
if (!$ret) { if (!$ret) {
echo ' Déjà en base.'; echo ' Déjà en base.';
} }
else { else {
echo ' ===> INSERE !!!'; echo ' ===> INSERE !!!';

View File

@ -900,6 +900,7 @@ SOCIETE ABSORBEE PAR ABTEY CHOCOLATERIE SIREN 946351376 RTE NATIONALE 466 68990
elseif ($tribunal=='TC DE ANNECY') $tabAnnonce['tribunal']='ANNECC'; elseif ($tribunal=='TC DE ANNECY') $tabAnnonce['tribunal']='ANNECC';
elseif ($tribunal=='GRAY-VESOUL') $tabAnnonce['tribunal']='GRAYC'; elseif ($tribunal=='GRAY-VESOUL') $tabAnnonce['tribunal']='GRAYC';
elseif ($tribunal=='SALON') $tabAnnonce['tribunal']='SALONC'; elseif ($tribunal=='SALON') $tabAnnonce['tribunal']='SALONC';
elseif ($tribunal=='VILLEFRANCHE SUR SAONE-TARARE') $tabAnnonce['tribunal']='VILTAC';
else { else {
echo date ('Y/m/d - H:i:s')." - Tribunal Tessi inconnu '$tribunal' (Dept.=$dep, source=".$tabAnnonce['natureTribunal'].", siren=$siren) !".EOL; echo date ('Y/m/d - H:i:s')." - Tribunal Tessi inconnu '$tribunal' (Dept.=$dep, source=".$tabAnnonce['natureTribunal'].", siren=$siren) !".EOL;
if ($questions) { if ($questions) {

675
1.1/old/getAsso.php Normal file
View File

@ -0,0 +1,675 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
$tabInfosGlobal=array();
$repPdfAssoCpt='/home/data/bilans_asso/';
function getNextDate($dateCour, $nbJours=7) {
$nextDate=date('Ymd', mktime(0, 0, 0, WDate::dateT('Ymd','m', $dateCour), WDate::dateT('Ymd','d', $dateCour)+$nbJours, WDate::dateT('Ymd','Y', $dateCour)));
return $nextDate;
}
//print_r(getPdfInfo('/home/data/bilans_asso/333512119_31122006.pdf'));
//die();
/*$tabReg=array( '', // Test pour récupérer les manquants
'Aquitaine', // Aquitaine
'Alsace', // Alsace
'Auvergne', // Auvergne
'Basse-Normandie', // Basse-Normandie
'Bourgogne', // Bourgogne
'Bretagne', // Bretagne
'Centre', // Centre
'Champagne', // Champagne
'Corse', // Corse
'Franche-Comté', // Franche-Comté
'Haute-Normandie', // Haute-Normandie
'Île-de-France', // Île-de-France
'Languedoc-Roussillon', // Languedoc-Roussillon
'Limousin', // Limousin
'Lorraine', // Lorraine
'Midi Pyrénées', // Midi Pyrénées
'Nord-Pas-de-Calais', // Nord-Pas-de-Calais
'Outre-Mer', // Outre-Mer
'Pays-de-la-Loire', // Pays-de-la-Loire
'Picardie', // Picardie
'Poitou-Charentes', // Poitou-Charentes
'Provence-Alpes-Côte-d\'Azur', // Provence-Alpes-Côte-d'Azur
'Rhône-Alpes',); // Rhône-Alpes
);*/
global $tabDep;
$tabDep=array( 'Dordogne'=>'24',
'Gironde'=>'33',
'Landes'=>'40',
'Lot-et-Garonne'=>'47',
'Pyrénées-Atlantiques'=>'64',
'Bas-Rhin'=>'67',
'Haut-Rhin'=>'68',
'Allier'=>'03',
'Cantal'=>'15',
'Haute-Loire'=>'43',
'Puy-de-Dôme'=>'63',
'Calvados'=>'14',
'Manche'=>'50',
'Orne'=>'61',
'Côte-d\'Or'=>'21',
'Nièvre'=>'58',
'Saône-et-Loire'=>'71',
'Yonne'=>'89',
'Côtes-d\'Armor'=>'22',
'Finistère'=>'29',
'Ille-et-Vilaine'=>'35',
'Morbihan'=>'56',
'Cher'=>'18',
'Eure-et-Loir'=>'28',
'Indre'=>'36',
'Indre-et-Loire'=>'37',
'Loir-et-Cher'=>'41',
'Loiret'=>'45',
'Ardennes'=>'08',
'Aube'=>'10',
'Haute-Marne'=>'52',
'Marne'=>'51',
'Corse-du-sud'=>'2A',
'Haute-Corse'=>'2B',
'Doubs'=>'25',
'Haute-Saône'=>'70',
'Jura'=>'39',
'Territoire-de-Belfort'=>'90',
'Eure'=>'27',
'Seine-Maritime'=>'76',
'Essonne'=>'91',
'Hauts-de-Seine'=>'92',
'Paris'=>'75',
'Seine-et-Marne'=>'77',
'Seine-Saint-Denis'=>'93',
'Val-d\'Oise'=>'95',
'Val-de-Marne'=>'94',
'Yvelines'=>'78',
'Aude'=>'11',
'Gard'=>'30',
'Hérault'=>'34',
'Lozère'=>'48',
'Pyrénées-Orientales'=>'66',
'Corrèze'=>'19',
'Creuse'=>'23',
'Haute-Vienne'=>'87',
'Moselle'=>'57',
'Meurthe-et-Moselle'=>'54',
'Meuse'=>'55',
'Vosges'=>'88',
'Ariège'=>'09',
'Aveyron'=>'12',
'Gers'=>'32',
'Haute-Garonne'=>'31',
'Hautes-Pyrénées'=>'65',
'Lot'=>'46',
'Tarn'=>'81',
'Tarn-et-Garonne'=>'82',
'Nord'=>'59',
'Pas-de-calais'=>'62',
'Guadeloupe'=>'971',
'Guyane'=>'973',
'Martinique'=>'972',
'Réunion'=>'974',
'Saint-Pierre-et-Miquelon'=>'975',
'Mayotte'=>'976',
'Loire-Atlantique'=>'44',
'Maine-et-Loire'=>'49',
'Mayenne'=>'53',
'Sarthe'=>'72',
'Vendée'=>'85',
'Aisne'=>'02',
'Oise'=>'60',
'Somme'=>'80',
'Charente'=>'16',
'Charente-Maritime'=>'17',
'Deux-Sèvres'=>'79',
'Vienne'=>'86',
'Alpes-de-Haute-Provence'=>'04',
'Alpes-Maritimes'=>'06',
'Bouches-du-Rhone'=>'13',
'Hautes-Alpes'=>'05',
'Var'=>'83',
'Vaucluse'=>'84',
'Ain'=>'01',
'Ardèche'=>'07',
'Drôme'=>'26',
'Haute-Savoie'=>'74',
'Isère'=>'38',
'Loire'=>'42',
'Rhône'=>'69',
'Savoie'=>'73',);
/*$tabReg=array(//'R1', // ALSACE
'R2', // AQUITAINE
'R3', // AUVERGNE
'R4', // BOURGOGNE
'R5', // BRETAGNE
'R6', // CENTRE
'R7', // CHAMPAGNE-ARDENNES
'R8', // CORSE
'R9', // FRANCHE-COMTE;
'R10', // ILE-DE-FRANCE
'R11', // LANGUEDOC-ROUSSILLON
'R12', // LIMOUSIN
'R13', // LORRAINE
'R14', // MIDI-PYRENEES
'R15', // NORD-PAS-DE-CALAIS
'R16', // BASSE-NORMANDIE
'R17', // HAUTE-NORMANDIE
'R18', // PAYS-DE-LA-LOIRE
'R19', // PICARDIE
'R20', // POITOU-CHARENTES
'R21', // PROVENCE-ALPES-COTE-D'AZUR
'R22', // RHONE-ALPES
'R100', ); // OUTRE-MER
*/
function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
$tabAnn=array();
global $tabDep;
global $iInsee;
$tabAnn['Assoc_Nom']=htm2txt(@getTextInHtml($annonceHtml, '<p>Association : <b>', '<b>', '</b>'));
if (substr($tabAnn['Assoc_Nom'],-1)=='.')
$tabAnn['Assoc_Nom']=substr($tabAnn['Assoc_Nom'],0,-1);
// $tabAnn['Siret']='';//@getTextInHtml($annonceHtml, '<p>No/Identifiant : <b>', '<b>', '</b>');
$tabAnn['Siren']=str_replace(' ','', strtr(htm2txt(@getTextInHtml($annonceHtml, '<p>Siren : <b>', '<b>', '</b>')),' .-/;,',' '))*1;
$tabAnn['sirenValide']=$iInsee->valideSiren($tabAnn['Siren']);
$tabAnn['Waldec']=strtoupper(@getTextInHtml($annonceHtml, '<p>Identification R.N.A. : <b>', '<b>', '</b>'));
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="LEFT"><br>', '<br>', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="left"></p> <p align="left">', '</p> <p align="left">', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']='#####'.str_replace(chr(160), ' ', html_entity_decode($annonceHtml));
if ($depotComptes) {
$tmp=@getTextInHtml($annonceHtml, 'Date de clôture de l\'exercice : <b>', '<b>', '</b>');
$tabAnn['dateCloture']=WDate::dateT('d/m/Y', 'Y-m-d', $tmp);
$tabAnn['pdfLink']=@getTextInHtml($annonceHtml, '<a href="/', '/', '">');
$tabAnn['typeCompte']=@getTextInHtml($annonceHtml, '<a href="/', '">>', '</a>');
$tabAnn['dateInsert']=date('YmdHis');
} else {
$tabAnn['nic']=0;
$tabAnn['nicValide']=0;
$tabAnn['Activite']=htm2txt(@getTextInHtml($annonceHtml, 'Activit&eacute;(s) : <b>', '<b>', '</b>'));
$tabAnn['Num_Annonce']=@getTextInHtml($annonceHtml, 'No d\'annonce : <b>', '<b>', '</b>');
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
$tabAnn['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
$tabAnn['Num_Parution']=@getTextInHtml($annonceHtml, 'No de parution : <b>', '<b>', '</b>');
$depReg=trim(htm2txt(@getTextInHtml($annonceHtml, 'D&eacute;partement (R&eacute;gion) : <b>','<b>','</b></p>')));
$tabDepReg=explode('(', $depReg);
$dep=trim($tabDepReg[0]);
$numDep=$tabDep[$dep];
if ($numDep=='') echo date ('Y/m/d - H:i:s') ." - Attention, département '$dep' non trouvé !". EOL;
$region=trim(substr($tabDepReg[1],0,strlen($tabDepReg[1])-1));
$tabAnn['Departement']=$numDep;
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, '<p>Lieu parution : <b>Déclaration à la ', ' à la ', '</b>'));
$tabAnn['Type_Annonce']=htm2txt(@getTextInHtml($annonceHtml, 'Type d\'annonce : <b>', '<b>', '</b>'));
/** Recherche du type d'association
**/
if (preg_match('/ASL/i', $tabAnn['Type_Annonce']) || preg_match('/syndicale/i', $tabAnn['Type_Annonce']))
$tabAnn['typeAsso']='ASL';
elseif (preg_match('/Fondation/i', $tabAnn['Type_Annonce']))
$tabAnn['typeAsso']='FON';
elseif (preg_match('/dotation/i', $tabAnn['Type_Annonce']))
$tabAnn['typeAsso']='FOD';
else
$tabAnn['typeAsso']='ASS';
/** Recherche du type d'insertion
**/
if (preg_match('/ANNULATION/i', $tabAnn['Type_Annonce']))
$tabAnn['typeAnnonce']='Suppression';
elseif (preg_match('/RECTIFICATIF/i', $tabAnn['Type_Annonce']))
$tabAnn['typeAnnonce']='Rectificatif';
else
$tabAnn['typeAnnonce']='Insertion';
$tabAnn['Assoc_Duree']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Durée :', 'Durée :', '.<br>')));
$tabAnn['Assoc_Dotation']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Montant de la dotation initiale :', 'initiale :', '.<br>')));
$tabAnn['Assoc_ProgAction']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'action pluriannuel :', 'pluriannuel :', '.<br>')));
$tabAnn['Assoc_Fondateurs']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], ' de chacun des fondateurs :', 'fondateurs :', '.</p>')));
//<p align="LEFT">Autorisation administrative.</p> <p align="LEFT">
//Date de signature de statuts : 21 décembre 1992.<br>
//Date de la modification des statuts : 7 février 1996, autorisation délivrée par le préfet 16 mars 1996.</p> <p align="LEFT">Autorisation tacite.</p> <p align="LEFT">
//Date de la demande de modification des statuts : 7 février 1996, sollicitée auprès du préfet de Paris.</p>
$tabAnn['Assoc_Web']=@getTextInHtml($tabAnn['Annonce_Html'], 'ite Internet : </i>', '</i>', '<i>');
if (substr($tabAnn['Assoc_Web'],-1)=='.')
$tabAnn['Assoc_Web']=substr($tabAnn['Assoc_Web'],0,-1);
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Courriel : </i>', '</i>', '<i>');
if ($tabAnn['Assoc_Mail']=='')
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Mél. : </i>', '</i>', '<i>');
if (substr($tabAnn['Assoc_Mail'],-1)=='.')
$tabAnn['Assoc_Mail']=substr($tabAnn['Assoc_Mail'],0,-1);
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Objet : </i>', '</i>', '<i>'));
if(trim($tabAnn['Assoc_Objet'])=='')
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Objet : </i>', '</i>', '<br>'));
$tabAnn['Assoc_NObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouvel objet : </i>', '</i>', '<i>'));
$tabAnn['Assoc_AObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Additif à l&#146;objet : </i>', '</i>', '<i>'));
$tabAnn['Assoc_NAdresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Transféré ; nouvelle adresse : </i>', '</i>', '. <i>'));
$tabAnn['Assoc_Fusion']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Fusion des associations : </i>', '</i>', '<i>'));
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Siège social : </i>', '</i>', '. <i>'));
// Fondations
if (trim($tabAnn['Assoc_Adresse'])=='')
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.<br>'));
if (trim($tabAnn['Assoc_Adresse'])=='')
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.</p>'));
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de la déclaration : </i>', '</i>', '.'));
if ($tabAnn['Assoc_Date_Declaration']=='')
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de délivrance du récépissé : </i>', '</i>', '.'));
// Fondations
if(trim($tabAnn['Assoc_Date_Declaration'])=='') {
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'autorisation administrative :', 'administrative :', ',')));
if (trim($tabAnn['Assoc_Date_Declaration'])=='')
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Date de la modification des statuts :', 'statuts :', ',')));
if(trim($tabAnn['Sous_Prefecture'])=='')
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '<br>'));
if(trim($tabAnn['Sous_Prefecture'])=='')
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '</p>'));
}
$tabAnn['Assoc_Date_Declaration2']=WDate::dateT('d M Y', 'Y-m-d', $tabAnn['Assoc_Date_Declaration']);
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Ancien titre : </i>', '</i>', '<i>'));
$tabAnn['Assoc_Annulation']='Annulation '.htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Annulation', '</i>', '.'));
/*<i>Annulation </i>de l&#146;insertion n<sup>o</sup> 1014, parue au <i>Journal officiel </i>n<sup>o</sup> 25, du 24 juin 2006, page 3106.*/
if ($tabAnn['Assoc_Annulation']=='Annulation ') $tabAnn['Assoc_Annulation']='';
if ($tabAnn['Assoc_ANom']=='')
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Au lieu de : </i>', '</i>', '<i>'));
if (substr($tabAnn['Assoc_ANom'],-1)=='.')
$tabAnn['Assoc_ANom']=substr($tabAnn['Assoc_ANom'],0,-1);
$tabAnn['Assoc_NNom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouveau titre :', '</i>', '<i>'));
if (substr($tabAnn['Assoc_NNom'],-1)=='.')
$tabAnn['Assoc_NNom']=substr($tabAnn['Assoc_NNom'],0,-1);
}
return $tabAnn;
}
$tempsMinEntreRequetes=5;
$tempsMaxEntreRequetes=30;
set_time_limit(0);
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=$verif=false;
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les annonces Association sur le site du JO Association.
Sans aucun paramètre, récupération du dernier JO Association.
Sinon:
-d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication
-l Dernier JO Association uniquement (*)
-c Dépôts des comptes uniquement
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
-v Vérifier que toutes les annonces du JO sont en base !
";
$depotComptes=false;
$argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $lastJO=true;
else {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'd':
$dateDebut=substr($argv[$i],3,10);
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
break;
case 'f':
$dateFin=substr($argv[$i],3,10);
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
break;
case 'n':
$tempsMinEntreRequetes=trim(substr($argv[$i],3))*1;
if ($tempsMinEntreRequetes<0) $tempsMinEntreRequetes=0;
break;
case 'i':
$tempsMaxEntreRequetes=trim(substr($argv[$i],3))*1;
if ($tempsMaxEntreRequetes<5) $tempsMaxEntreRequetes=2;
break;
case 'l':
$lastJO=true;
break;
case 'v':
$verif=true;
break;
case 'c':
$depotComptes=true;
break;
case '-':
die($strInfoProg);
break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
}
}
}
if ($depotComptes)
$tabReg=array( 'ASSOCIATION%2FCOMPTE',
'FONDATION%2FCOMPTE',
'FONDS+DE+DOTATION%2FCOMPTE',
'AUTRE%2FCOMPTE',
);
else
$tabReg=array( 'ASSOCIATION%2FCREATION',
'ASSOCIATION%2FMODIFICATION',
'ASSOCIATION%2FDISSOLUTION',
'ASL',
'FONDATION',
'DECISION+JUSTICE',
'AUTRE',
'FONDS+DE+DOTATION',
);
$iDb=new WDB();
$iInsee=new MInsee();
$referer='http://www.journal-officiel.gouv.fr/association/';
if ($verif) {
echo date('Y/m/d - H:i:s') ." - Comptage du nombre d'annonce présentes en base par date de parution...". EOL;
$AnnDb=$iDb->select('asso', 'Date_Parution, count(*) as nb', '1 GROUP BY Date_Parution');
foreach ($AnnDb as $i=>$tabDates) {
if ($tabDates[0]<>'0000-00-00') {
$parDate=$tabDates[0];
$parNb =$tabDates[1];
$dateFmt=str_replace('/', '%2F', WDate::dateT('Y-m-d', 'd/m/Y',$parDate));
$url="http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JPA_D_D=$dateFmt&JPA_D_F=".$dateFmt.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
$body=$page['body'];
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$nbAnnonces=@getTextInHtml($body, '<p>R&eacute;sultat de la recherche : <strong>', '<strong>', 'annonce(s)</strong>');
if ($nbAnnonces<>$parNb && $nbAnnonces<>0)
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / $nbAnnonces annonces parues !". EOL;
elseif ($nbAnnonces==0)
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / Plus d'annonces sur le site JO.". EOL;
//die(print_r($body));
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
//die();
}
}
die();
}
if ($lastJO==true) {
$strLast=' dernier';
$strDates='';
}
else {
$strLast='';
if ($depotComptes) {
if ($dateDebut==false) {
$dateDeb= getNextDate(date('Ymd'),-5);
$dateDebut= WDate::dateT('Ymd', 'd/m/Y',$dateDeb);
}
if ($dateFin==false) {
$dateF= getNextDate(date('Ymd'),0);
$dateFin= WDate::dateT('Ymd', 'd/m/Y',$dateF);
}
$dateCour= $dateDeb;
}
if ($dateFin==false) {
$dateFin=date('d/m/Y');
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
}
if ($dateDebut==false)
die($strInfoProg);
else
$strDates=" du $dateDebut au $dateFin";
$dateCour=$dateDeb;
}
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO Association$strDates".EOL;
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
flush();
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
//echo date ('Y/m/d - H:i:s') ." - dateCour($dateCour) <= dateF($dateF) OU lastJO($lastJO)=true". $eol;
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
if ($lastJO==true) { // Cas récup dernier JO
$region='';
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=showLast';
} else { // On est pas dans la récupération du JO Assoc Jiur
$region=$tabReg[$i_reg];
$reg5=substr($region,0,5);
$dateFmt=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
if ($depotComptes)
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour,0)));
else
$dateFmt2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour)));
//$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID='.urlencode($tabReg[$i_reg]).'&JAN_LIEU_DECL=&JTY_ID=&JTY_WALDEC=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2;//&rechercher.x=44&rechercher.y=6&rechercher=Rechercher
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID='.$region.'&JTY_WALDEC=&JTY_SIREN=&JPA_D_D='. $dateFmt .'&JPA_D_F='. $dateFmt2.'&rechercher.x='.rand(1,68).'&rechercher.y='.rand(1,16).'&rechercher=Rechercher';
// http://www.journal-officiel.gouv.fr/association/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&WHAT=&JTH_ID=&JAN_BD_CP=&JRE_ID=&JAN_LIEU_DECL=&JTY_ID=ASSOCIATION%2FCOMPT&JTY_WALDEC=&JTY_SIREN=&JPA_D_D=01%2F01%2F1990&JPA_D_F=31%2F12%2F2009&rechercher.x=40&rechercher.y=9&rechercher=Rechercher
$strLast='';
}
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
$body=$page['body'];
//die(print_r($body));
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$nbAnnonces=@getTextInHtml($body, 'R&eacute;sultat de la recherche :', ' :', 'annonce(s)');
$dateDerParution=@getTextInHtml($body, 'Annonce parue entre le :', ' et le ', '<br>'); // Date au format JJ/MM/AAAA
// 01/08/2010 et le 01/08/2010<br>
$nbPages=ceil($nbAnnonces/25);
if ($nbPages>100) {
echo date('Y/m/d - H:i:s') .' - ERREUR : Il y a plus de 100 pages d\'annonces !'. EOL;
die();
}
echo date('Y/m/d - H:i:s') ." - Clé de contexte = $ctx".EOL;
unset($AnnDb);
$nbAnnDb=0;
if ($lastJO==true) {
echo date('Y/m/d - H:i:s') .' - Derniere parution ASSO le '. $dateDerParution .' de '. $nbAnnonces .' annonces ('. $nbPages .' pages)'. EOL;
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateDerParution,6,4).'-'.substr($dateDerParution,3,2).'-'.substr($dateDerParution,0,2);
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
$nbAnnDb=$AnnDb[0]['nb'];
if ($nbAnnDb==$nbAnnonces) {
echo date('Y/m/d - H:i:s') .' - Toutes les annonces du '. $dateDerParution .' sont en base !'. EOL;
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
die();
}
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') .' - ATTENTION : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO Association du '. $dateDerParution .' !'. EOL;
echo $message;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association', $message);
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
}
} else {
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateCour,0,4).'-'.substr($dateCour,4,2).'-'.substr($dateCour,6,2);
$dateDerParution=WDate::dateT('Y-m-d', 'd/m/Y',$dateDb);
if ($depotComptes) {
switch ($region) {
case 'ASSOCIATION%2FCOMPTE': $strRegSql=" AND typeAsso='ASS' "; break;
case 'FONDATION%2FCOMPTE': $strRegSql=" AND typeAsso='FON' "; break;
case 'FONDS+DE+DOTATION%2FCOMPTE': $strRegSql=" AND typeAsso='FOD' "; break;
case 'AUTRE%2FCOMPTE': $strRegSql=" AND typeAsso='DIV' "; break;
}
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Assoc_Date_Declaration='$dateDb' $strRegSql", false, MYSQL_ASSOC);
$strJO='depôts des comptes associations';
} else {
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
$strJO='associations';
}
$nbAnnDb=$AnnDb[0]['nb'];
if ($nbAnnDb>=$nbAnnonces) {
echo mysql_error().EOL;
echo date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces $strJO $reg5 du $dateDerParution ($dateDb) sont en base ($nbAnnDb) !". EOL;
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
continue;
}
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message.=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
}
else {
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
}
}
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
for ($j=1; $j<26 && isset($tabAnnonces[$j]); $j++)
$tabAnn[$j-1]=$tabAnnonces[$j];
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
$referer=$url;
for ($i=2; $i<=$nbPages; $i++)
{
if (!$lastJO) {
$data='';
$date1=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
if ($depotComptes)
$date2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour,0)));
else
$date2=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',getNextDate($dateCour)));
$url='http://www.journal-officiel.gouv.fr/association/index.php?ctx='.$ctx.'&page='.$i.'&JRE_ID='.urlencode($region).'&JPA_D_D='.$date1.'&JPA_D_F='.$date2;
} else {
$date1='';$date2='';$data='1';
$url='http://www.journal-officiel.gouv.fr/association/index.php?ctx='.$ctx.'&page='.$i;
}
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
for ($j=1; $j<26; $j++) {
$k=$j+(25*($i-1))-1;
if ($k<$nbAnnonces)
$tabAnn[$k]=$tabAnnonces[$j];
}
flush();
if ($i==2)
echo date('Y/m/d - H:i:s') ." - Page $i/$nbPages";
else
echo ", $i/$nbPages";
if ($i==$nbPages)
echo '.'.EOL;
else
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
}
$tabActivites=array();
for ($i=0; $i<$nbAnnonces; $i++) {
$infoAnnBalo=getInfosAnnonceAsso($tabAnn[$i], $depotComptes);
$tabInfos=array();
preg_match_all("|<i>(.*)</i>|U", $infoAnnBalo['Annonce_Html'], $tabInfos);
$tabInfosGlobal=array_unique(array_merge($tabInfosGlobal, $tabInfos[1]));
// On recherche si nous n'avons pas déjà cette annonce en base !
if ($depotComptes) {
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Siren=".$infoAnnBalo['Siren']." AND Waldec='".$infoAnnBalo['Waldec']."' AND dateCloture='".$infoAnnBalo['dateCloture']."'", false, MYSQL_ASSOC);
// $AnnDb[0][0]=0;
} else {
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Num_Annonce='".$infoAnnBalo['Num_Annonce']."' AND Date_Parution='".$infoAnnBalo['Date_Parution']."' AND Num_Parution='".$infoAnnBalo['Num_Parution']."'", false, MYSQL_ASSOC);
$dateAff=$infoAnnBalo['Date_Parution'];
}
$nbAnnDb=$AnnDb[0]['nb'];
$i2=$i+1;
$strRegion=', '. $region;
if ($depotComptes) {
$table='asso_bilans';
// Si le bilan PDF n'est pas déjà sur le disk, on va le chercher !
switch ($region) {
case 'ASSOCIATION%2FCOMPTE': $infoAnnBalo['typeAsso']='ASS'; break;
case 'FONDATION%2FCOMPTE': $infoAnnBalo['typeAsso']='FON'; break;
case 'FONDS+DE+DOTATION%2FCOMPTE': $infoAnnBalo['typeAsso']='FOD'; break;
case 'AUTRE%2FCOMPTE':
default: $infoAnnBalo['typeAsso']='DIV'; break;
}
$dateAff=$dateCour.' ('.$infoAnnBalo['dateCloture'].')';
$infoAnnBalo['Assoc_Date_Declaration']=$dateCour;
$tabPdf=getPdfInfo($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']));
if (!$tabPdf) {
$page=getUrl('http://www.journal-officiel.gouv.fr/'.$infoAnnBalo['pdfLink'], '', '', '', false);
@mkdir($repPdfAssoCpt);
$fp=@fopen($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) {
$message.=date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
}
@fclose($fp);
$tabPdf=getPdfInfo($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']));
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
}
$infoAnnBalo['pdfSize'] = $tabPdf['pdfSize'];
$infoAnnBalo['pdfVer'] = $tabPdf['version'];
$infoAnnBalo['pdfPage'] = $tabPdf['nbPages'];
} else {
$table='asso';
$tabTmp=explode('/',$infoAnnBalo['Activite']);
$tabActivites=array_merge($tabActivites, $tabTmp);
}
if ($nbAnnDb==1) {
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" déjà en base !'.EOL;
// L'annonce est déjà en base !
continue;
} else {
$message.=date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'"... enregistrement'.EOL;
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'"... enregistrement'.EOL;
}
if (!$iDb->insert($table, $infoAnnBalo))
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
}
if ($lastJO) {
print_r($tabInfosGlobal);
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
die();
}
unset($tabAnn);
} // Fin boucle région
if ($depotComptes)
$dateCour=getNextDate($dateCour,1);
else
$dateCour=getNextDate($dateCour);
} // Fin boucle Data
if ($depotComptes) {
//
$AnnDb=$iDb->select('annonces', 'MAX(dateSource) AS dateMAJ', "typeEven=3200", false, MYSQL_ASSOC);
$dateMaj=$AnnDb[0]['dateMAJ'];
// echo date('Y/m/d - H:i:s') ." - Dernière mise à jour des annonces dépots en collecte en date du $dateMaj.".EOL;
$AnnDb=$iDb->select('asso_bilans',
"Assoc_Nom AS raisonSociale, siren, sirenValide, dateCloture AS dateEffetFinP, Assoc_Date_Declaration AS dateJugement, dateInsert AS dateSource,
'3200' AS typeEven, 'DJOFFJ' AS tribunal, 'JS' AS source, Waldec",
"dateInsert>'$dateMaj' ORDER BY dateEffetFinP DESC", false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb);
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
foreach ($AnnDb as $i=>$tabInsert) {
$tabTmp=$iInsee->getIdentiteLight($tabInsert['siren']);
$tabInsert['adresse'] = $tabTmp['Adresse'];
$tabInsert['codePostal']= $tabTmp['CP'];
$tabInsert['ville'] = $tabTmp['Ville'];
$tabInsert['dateInsert']= date('YmdHis');
if (trim($tabInsert['Waldec'])<>'')
$tabInsert['complement']= 'Identifiant Waldec : '.$tabInsert['Waldec'];
unset($tabInsert['Waldec']);
//print_r($tabInsert);
//die();
if (!$iDb->insert('annonces', $tabInsert))
echo '';//date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
}
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association Comptes', $message);
}
echo date('Y/m/d - H:i:s') .' - FIN du script.'. EOL;
?>

View File

@ -14,21 +14,21 @@ function getNextDate($dateCour, $nbJours=7) {
function getInfosAnnonceBalo($annonceHtml) { function getInfosAnnonceBalo($annonceHtml) {
$tabAnnBalo=array(); $tabAnnBalo=array();
//Société : <b>ARGAN</b><br/> //Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>')))); $tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//if ($tabAnnBalo['Societe_Nom']=='') //if ($tabAnnBalo['Societe_Nom']=='')
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>'))); // $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>')));
//<p>RCS : <b>393430608 </b> //<p>RCS : <b>393430608 </b>
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>')); $tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>'));
// Catégorie : <b><i> BULLETIN OFFICIEL DE L'AMF </i></b><br/> // Catégorie : <b><i> BULLETIN OFFICIEL DE L'AMF </i></b><br/>
$tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : <b><i>', '<i>', '</i>')))); $tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : <b><i>', '<i>', '</i>'))));
// N° d'affaire : <b>0712845</b><br /> // N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>'); $tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br /> // Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br />
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>'); $tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2); $tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
// (Parution n°<b>95</b>) <br /> // (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>'); $tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
/*<p>Annonce au format /*<p>Annonce au format
<a class="grisbleu" href="http://balo.journal-officiel.gouv.fr/html/2007/0808/200708080712646.htm" target="_blank"><b>HTML</b></a> ou <a class="grisbleu" href="http://balo.journal-officiel.gouv.fr/html/2007/0808/200708080712646.htm" target="_blank"><b>HTML</b></a> ou
<a class="grisbleu" href="https://balo.journal-officiel.gouv.fr/pdf/2007/0808/200708080712646.pdf" target="_blank"><b>PDF</b></a></p>*/ <a class="grisbleu" href="https://balo.journal-officiel.gouv.fr/pdf/2007/0808/200708080712646.pdf" target="_blank"><b>PDF</b></a></p>*/
@ -54,15 +54,15 @@ $cookie='';
$dateDerParution=$dateCour=$dateF=false; $dateDerParution=$dateCour=$dateF=false;
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION] $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les dernières annonces BALO sur le site de la DJO. Recupère les dernières annonces BALO sur le site de la DJO.
Sans aucun paramètre, récupération des dernières Annonces. Sans aucun paramètre, récupération des dernières Annonces.
Sinon: Sinon:
-d:JJ/MM/AAAA Date de début de publication -d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication -f:JJ/MM/AAAA Date de fin de publication
-l Dernière parution uniquement (*) -l Dernière parution uniquement (*)
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes) -n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes) -i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -117,12 +117,12 @@ else {
$strDates=" du $dateDebut au $dateFin"; $strDates=" du $dateDebut au $dateFin";
$dateCour=$dateDeb; $dateCour=$dateDeb;
} }
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL;
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL; echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
flush(); flush();
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
//for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions //for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
if ($cookie=='') { if ($cookie=='') {
$referer=''; $referer='';
@ -136,10 +136,10 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
} }
if ($lastJO==true) { // Cas récup dernier JO if ($lastJO==true) { // Cas récup dernier JO
$dateAff=$dateDerParution; $dateAff=$dateDerParution;
$url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast'; $url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast';
} else { // On est pas dans la récupération du JO Assoc Jiur } else { // On est pas dans la récupération du JO Assoc Jiur
$dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour); $dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour);
$dateFmt=str_replace('/', '%2F', $dateAff); $dateFmt=str_replace('/', '%2F', $dateAff);
$url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher"; $url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher";
@ -149,7 +149,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$referer=$url; $referer=$url;
$body=$page['body']; $body=$page['body'];
$ctx=@getTextInHtml($body, '<a href="index.php?ctx=', 'ctx=', '&page='); $ctx=@getTextInHtml($body, '<a href="index.php?ctx=', 'ctx=', '&page=');
echo date('Y/m/d - H:i:s') .' - Clé Ctx = "'. $ctx .'"' . EOL; echo date('Y/m/d - H:i:s') .' - Clé Ctx = "'. $ctx .'"' . EOL;
$nbAnnonces=@getTextInHtml($body, '<h1>R&Eacute;SULTAT DE LA RECHERCHE :</h1>', 'recherche :', 'annonce(s) correspondent'); $nbAnnonces=@getTextInHtml($body, '<h1>R&Eacute;SULTAT DE LA RECHERCHE :</h1>', 'recherche :', 'annonce(s) correspondent');
//die(print_r($body)); //die(print_r($body));
@ -162,7 +162,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
die(); die();
} }
// On recherche si nous n'avons pas déjà toutes ces annonces en base ! // On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2); $dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2);
$AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'"); $AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'");
$nbAnnDb=$AnnDb[0][0]; $nbAnnDb=$AnnDb[0][0];
@ -177,12 +177,12 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
continue; continue;
} elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) { } elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL; $message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL;
echo $message; echo $message;
mail('ylenaour@scores-decisions.com', 'JO BALO', $message); /* mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
mail('lenaoury@gmail.com', 'JO BALO', $message); mail('lenaoury@gmail.com', 'JO BALO', $message);
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL; echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
die(); die();*/
} }
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']); $tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
@ -227,15 +227,32 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$isin=''; $isin='';
if ($siren>1000000) { if ($siren>1000000) {
/** Recherche du code ISIN / infos boursières **/ /** Recherche du code ISIN / infos boursières **/
$iBourse=new MBourse($siren); $iBourse=new MBourse($siren);
$isin=$iBourse->getCodeIsin($siren); $isin=$iBourse->getCodeIsin($siren);
$strIsin="(Isin=$isin) "; $strIsin="(Isin=$isin) ";
} else } else
$strIsin=""; $strIsin="";
echo date('Y/m/d - H:i:s') ." - Annonce n°$i2/$nbAnnonces, Siren $siren $strIsin: ".$infoAnnBalo['Societe_Nom'] .EOL; echo date('Y/m/d - H:i:s') ." - Annonce n°$i2/$nbAnnonces, Siren $siren $strIsin: ".$infoAnnBalo['Societe_Nom'] .EOL;
$nbBoucles=0;
while (1) {
$nbBoucles++;
$page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
// [code] => 301
// ['header']['Location'] => http://www.journal
if ($page['code']==301) {
echo date('Y/m/d - H:i:s') ." - On patiente $nbBoucles fois...". EOL;
sleep(3600);
} elseif ($page['code']==200) break;
else {
echo date('Y/m/d - H:i:s') ." - On a patienté $nbBoucles fois avant d'obtenir pour cette URL : ".$infoAnnBalo['Url_Annonce_Html'].EOL;
print_r($page);
}
// echo $infoAnnBalo['Url_Annonce_Html'];
// $page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
}
$page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
//echo '<table border="1"><tr><td>'. $page['body'] .'</td></tr></table><hr/>'; //echo '<table border="1"><tr><td>'. $page['body'] .'</td></tr></table><hr/>';
$infoAnnBalo['Annonce_Html']=$page['body']; $infoAnnBalo['Annonce_Html']=$page['body'];
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
@ -246,7 +263,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repBalo.$anneeParution); @mkdir($repBalo.$anneeParution);
$fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w'); $fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) if (!fwrite($fp, $page['body']) || !$fp)
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['Url_Annonce_Pdf']) .' pour le SIREN '. $infoAnnBalo['Societe_Rcs'] . EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['Url_Annonce_Pdf']) .' pour le SIREN '. $infoAnnBalo['Societe_Rcs'] . EOL;
@fclose($fp); @fclose($fp);
$tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf'])); $tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']));
@ -258,12 +275,12 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
if (!$iDb->insert('balo', $infoAnnBalo)) { if (!$iDb->insert('balo', $infoAnnBalo)) {
print_r($infoAnnBalo); print_r($infoAnnBalo);
echo date ('Y/m/d - H:i:s') .' - ERREUR : Insertion impossible de l\'annonce MySql n°'. mysql_errno() .') : '. mysql_error() . EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : Insertion impossible de l\'annonce MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
} }
$numParution=$infoAnnBalo['Num_Parution']; $numParution=$infoAnnBalo['Num_Parution'];
} }
/** Téléchargement du dernier balo complet en PDF /** Téléchargement du dernier balo complet en PDF
**/ **/
$url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF'; $url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF';
if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) { if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) {
@ -272,11 +289,11 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repBaloComp.$anneeParution); @mkdir($repBaloComp.$anneeParution);
$fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w'); $fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
if (!fwrite($fp, $page['body']) || !$fp) if (!fwrite($fp, $page['body']) || !$fp)
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL;
@fclose($fp); @fclose($fp);
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL;
} else } else
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL;
$tabPdf=getPdfInfo($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF'); $tabPdf=getPdfInfo($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF');
if ($tabPdf) { if ($tabPdf) {
$taillePdf=$tabPdf['pdfSize']/1024; $taillePdf=$tabPdf['pdfSize']/1024;

View File

@ -9,10 +9,10 @@ include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS] $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Récupération des informations liées au dernier Bilans PDF ou statut PDF disponible pour une entreprise donnée. Récupération des informations liées au dernier Bilans PDF ou statut PDF disponible pour une entreprise donnée.
Options : Options :
-v Verbosité au maximum -v Verbosité au maximum
-s Dernier Statut PDF disponible -s Dernier Statut PDF disponible
-b Dernier Bilan PDF disponible -b Dernier Bilan PDF disponible
"; ";
@ -35,7 +35,7 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
if ($type<>'S' && $type<>'B') die('Type de pièces inconnue !'); if ($type<>'S' && $type<>'B') die('Type de pièces inconnue !');
$iGreffes=new MGreffes(); $iGreffes=new MGreffes();
$iInsee=new MInsee(); $iInsee=new MInsee();

View File

@ -4,18 +4,18 @@
global $ligneBilans; global $ligneBilans;
$tabCtrlInter=array( $tabCtrlInter=array(
/** Bilans Réel Normal **/ /** Bilans Réel Normal **/
'S'=>array( 'S'=>array(
// Actif Simplifié // Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)', //'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
), ),
'N'=>array( 'N'=>array(
// Actif Simplifié // Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)', //'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
'DA'=>'Capital social', 'DA'=>'Capital social',
'EE'=>'Total Passif', 'EE'=>'Total Passif',
'FL'=>'Chiffre d\'affaires', 'FL'=>'Chiffre d\'affaires',
'HN'=>'Résultat', 'HN'=>'Résultat',
), ),
); );
@ -50,7 +50,7 @@ global $ligneBilans;
'_R2'=>'BR2,NR2,,', '_R2'=>'BR2,NR2,,',
'_R3'=>'BR3,NR3,,', '_R3'=>'BR3,NR3,,',
), ),
/** 2033 - Bilan Simplifié **/ /** 2033 - Bilan Simplifié **/
'S'=>array( 'S'=>array(
// 2033 : Actif (page 1) // 2033 : Actif (page 1)
'_010'=>'010,012,013,N00', '_010'=>'010,012,013,N00',
@ -94,7 +94,7 @@ global $ligneBilans;
'_195'=>' , ,195, ', '_195'=>' , ,195, ',
'_197'=>' , ,197, ', '_197'=>' , ,197, ',
'_199'=>' , ,199, ', '_199'=>' , ,199, ',
// 2033 : Compte de Résultat (page 2) // 2033 : Compte de Résultat (page 2)
'_209'=>'209, , , ', '_209'=>'209, , , ',
'_210'=>'210,N33, , ', '_210'=>'210,N33, , ',
'_214'=>'214,N34, , ', '_214'=>'214,N34, , ',
@ -173,7 +173,7 @@ global $ligneBilans;
'_682'=>'682, , , ', '_682'=>'682, , , ',
'_684'=>'684, , , ', '_684'=>'684, , , ',
), ),
/** 2050 - Bilan Réel Normal **/ /** 2050 - Bilan Réel Normal **/
'N'=>array( 'N'=>array(
// 2050 : ACTIF (page 1) // 2050 : ACTIF (page 1)
'_AA'=>'AA, ,AA2,AA3', '_AA'=>'AA, ,AA2,AA3',
@ -368,13 +368,13 @@ global $ligneBilans;
'_UE'=>' ,UE,UF, ', '_UE'=>' ,UE,UF, ',
'_UG'=>' ,UG,UH, ', '_UG'=>' ,UG,UH, ',
'_UJ'=>' ,UJ,UK, ', '_UJ'=>' ,UJ,UK, ',
// 2050 : Créances et Dettes (page 8) // 2050 : Créances et Dettes (page 8)
'_UL'=>'UL,UM ,UN , ', '_UL'=>'UL,UM ,UN , ',
'_UP'=>'UP,UR ,US , ', '_UP'=>'UP,UR ,US , ',
'_UT'=>'UT,UV ,UW , ', '_UT'=>'UT,UV ,UW , ',
'_VA'=>'VA,VA1,VA2, ', '_VA'=>'VA,VA1,VA2, ',
'_UX'=>'UX,UX1,UX2, ', '_UX'=>'UX,UX1,UX2, ',
'_UQ'=>'UQ,U0 , , ',//U0 provisoire à cause du bilan du 303742878 au 20091231 de type 'N' lors du traitement du code 'UQ', page 08, colonne 1 montant inatendu : 20937 '_UQ'=>'UQ,U0 , , ',//U0 provisoire à cause du bilan du 303742878 au 20091231 de type 'N' lors du traitement du code 'UQ', page 08, colonne 1 montant inatendu : 20937
// '_UQ'=>'UQ, , , ', // '_UQ'=>'UQ, , , ',
'_UU'=>'UU,UU1,UU2, ', '_UU'=>'UU,UU1,UU2, ',
'_UY'=>'UY,UY1,UY2, ', '_UY'=>'UY,UY1,UY2, ',
@ -408,8 +408,8 @@ global $ligneBilans;
'_VJ'=>'VJ, , ,VL ', '_VJ'=>'VJ, , ,VL ',
'_VK'=>'VK, , , ', '_VK'=>'VK, , , ',
// 2050 : Pages 9 et 10 // 2050 : Pages 9 et 10
// néant // néant
// 2050 : Affectation du résultat et renseignements divers (page 11) // 2050 : Affectation du résultat et renseignements divers (page 11)
'_ZE'=>'ZE, , , ', '_ZE'=>'ZE, , , ',
'_YQ'=>'YQ,YQ1, , ', '_YQ'=>'YQ,YQ1, , ',
'_YR'=>'YR,YR1, , ', '_YR'=>'YR,YR1, , ',
@ -429,9 +429,9 @@ global $ligneBilans;
'_YP'=>'YP,YP1, , ', '_YP'=>'YP,YP1, , ',
'_ZR'=>'ZR, , , ', '_ZR'=>'ZR, , , ',
), ),
/** Bilans Consolidés **/ /** Bilans Consolidés **/
'C'=>array( 'C'=>array(
// Consolidé : ACTIF (page 1) // Consolidé : ACTIF (page 1)
'_AA'=>'AA, ,AA2,AA3', '_AA'=>'AA, ,AA2,AA3',
'_AB'=>'AB,AC,AC1,AC2', '_AB'=>'AB,AC,AC1,AC2',
'_AD'=>'AD,AE,AE1,AE2', '_AD'=>'AD,AE,AE1,AE2',
@ -441,7 +441,7 @@ global $ligneBilans;
'_AL'=>'AL,AM,AM1,AM2', '_AL'=>'AL,AM,AM1,AM2',
'_A1'=>'A1,A11,A12,A13', // Ecarts d'acqusition '_A1'=>'A1,A11,A12,A13', // Ecarts d'acqusition
'_A2'=>'A2,A21,A22,A23', // Sur valeurs - goodwill '_A2'=>'A2,A21,A22,A23', // Sur valeurs - goodwill
'_A3'=>'A3,A31,A32,A33', // Différence de 1ère consolidation '_A3'=>'A3,A31,A32,A33', // Différence de 1ère consolidation
'_AN'=>'AN,AO,AO1,AO2', '_AN'=>'AN,AO,AO1,AO2',
'_AP'=>'AP,AQ,AQ1,AQ2', '_AP'=>'AP,AQ,AQ1,AQ2',
'_AR'=>'AR,AS,AS1,AS2', '_AR'=>'AR,AS,AS1,AS2',
@ -454,7 +454,7 @@ global $ligneBilans;
'_BD'=>'BD,BE,BE1,BE2', '_BD'=>'BD,BE,BE1,BE2',
'_BF'=>'BF,BG,BG1,BG2', '_BF'=>'BF,BG,BG1,BG2',
'_BH'=>'BH,BI,BI1,BI2', '_BH'=>'BH,BI,BI1,BI2',
'_A4'=>'A4,A41,A42,A43', // Titres mis en équivalence '_A4'=>'A4,A41,A42,A43', // Titres mis en équivalence
'_BJ'=>'BJ,BI,BI1,BI2', '_BJ'=>'BJ,BI,BI1,BI2',
'_BL'=>'BL,BM,BM1,BM2', '_BL'=>'BL,BM,BM1,BM2',
'_BN'=>'BN,BO,BO1,BO2', '_BN'=>'BN,BO,BO1,BO2',
@ -475,7 +475,7 @@ global $ligneBilans;
'_CO'=>'CO,1A,1A1,1A2', '_CO'=>'CO,1A,1A1,1A2',
'_CP'=>'CP, , , ', '_CP'=>'CP, , , ',
'_CR'=>'CR, , , ', '_CR'=>'CR, , , ',
// Consolidé : PASSIF (page 2) // Consolidé : PASSIF (page 2)
'_DA'=>'DA,DA1, , ', '_DA'=>'DA,DA1, , ',
'_DB'=>'DB,DB1, , ', '_DB'=>'DB,DB1, , ',
'_EK'=>'EK, , , ', '_EK'=>'EK, , , ',
@ -488,7 +488,7 @@ global $ligneBilans;
'_DG'=>'DG,DG1, , ', '_DG'=>'DG,DG1, , ',
'_DH'=>'DH,DH1, , ', '_DH'=>'DH,DH1, , ',
'_P1'=>'P1,P11, , ', // Ecarts de conversions '_P1'=>'P1,P11, , ', // Ecarts de conversions
'_P2'=>'P2,P21, , ', // Résultat consolidé part du groupe '_P2'=>'P2,P21, , ', // Résultat consolidé part du groupe
'_DI'=>'DI,DI1, , ',// '_DI'=>'DI,DI1, , ',//
'_DJ'=>'DJ,DJ1, , ', '_DJ'=>'DJ,DJ1, , ',
'_DK'=>'DK,DK1, , ', '_DK'=>'DK,DK1, , ',
@ -498,10 +498,10 @@ global $ligneBilans;
'_P3'=>'P3,P31, , ', // Autres '_P3'=>'P3,P31, , ', // Autres
'_DO'=>'DO,DO1, , ', '_DO'=>'DO,DO1, , ',
'_P4'=>'P4,P41, , ', // Ecarts de conversions '_P4'=>'P4,P41, , ', // Ecarts de conversions
'_P5'=>'P5,P51, , ', // (Ecarts de conversions) dans les réserves '_P5'=>'P5,P51, , ', // (Ecarts de conversions) dans les réserves
'_P6'=>'P6,P61, , ', // (Ecarts de conversions) dans les résultats '_P6'=>'P6,P61, , ', // (Ecarts de conversions) dans les résultats
'_P7'=>'P7,P71, , ', // TOTAL III '_P7'=>'P7,P71, , ', // TOTAL III
'_P8'=>'P8,P81, , ', // Impôts différés '_P8'=>'P8,P81, , ', // Impôts différés
'_P9'=>'P9,P91, , ', // Ecarts d'acquisition '_P9'=>'P9,P91, , ', // Ecarts d'acquisition
'_DP'=>'DP,DP1, , ', '_DP'=>'DP,DP1, , ',
'_DQ'=>'DQ,DQ1, , ', '_DQ'=>'DQ,DQ1, , ',
@ -577,14 +577,14 @@ global $ligneBilans;
'_HI'=>'HI,HI1, , ', '_HI'=>'HI,HI1, , ',
'_HJ'=>'HJ,HJ1, , ', '_HJ'=>'HJ,HJ1, , ',
'_HK'=>'HK,HK1, , ', '_HK'=>'HK,HK1, , ',
'_R1'=>'R1,R11, , ', // Impôts différés '_R1'=>'R1,R11, , ', // Impôts différés
'_R2'=>'R2,R21, , ', // RESULTAT NET AVANT AMORTISSEMENT DES ECARTS D'ACQUISITION '_R2'=>'R2,R21, , ', // RESULTAT NET AVANT AMORTISSEMENT DES ECARTS D'ACQUISITION
'_R3'=>'R3,R31, , ', // Dotation aux amortissements des écarts d'acquisition '_R3'=>'R3,R31, , ', // Dotation aux amortissements des écarts d'acquisition
'_R4'=>'R4,R41, , ', // Résultat net des sociétés mises en équivalence '_R4'=>'R4,R41, , ', // Résultat net des sociétés mises en équivalence
'_R5'=>'R5,R51, , ', // Résultat net des entreprises intégrées '_R5'=>'R5,R51, , ', // Résultat net des entreprises intégrées
'_R6'=>'R6,R61, , ', // Résultat Groupe (Résultat net consolidé) '_R6'=>'R6,R61, , ', // Résultat Groupe (Résultat net consolidé)
'_R7'=>'R7,R71, , ', // Part des intérêts minoritaires (résultat hors groupe) '_R7'=>'R7,R71, , ', // Part des intérêts minoritaires (résultat hors groupe)
'_R8'=>'R8,R81, , ', // Résultat net part du groupe (part de la société mère) '_R8'=>'R8,R81, , ', // Résultat net part du groupe (part de la société mère)
/* '_HL'=>'HL,HL1, , ', /* '_HL'=>'HL,HL1, , ',
'_HM'=>'HM,HM1, , ', '_HM'=>'HM,HM1, , ',
'_HN'=>'HN,HN1, , ',*/ '_HN'=>'HN,HN1, , ',*/
@ -679,40 +679,39 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Chargement du/des flux Bilans en provenance de l'INPI (license Bilans INPI). Chargement du/des flux Bilans en provenance de l'INPI (license Bilans INPI).
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-l:XXXX Reprendre à partir de la ligne XXXX -l:XXXX Reprendre à partir de la ligne XXXX
-r Ne pas exécuter en réel -r Ne pas exécuter en réel
-j Ne pas se connecter au serveur FTP d'Extelia (Bilans INPI via Infogreffe) -j Ne pas se connecter au serveur FTP d'Extelia (Bilans INPI via Infogreffe)
-p Ne pas arreter le traitement en cas d'erreur -p Ne pas arreter le traitement en cas d'erreur
";/* ";/*
-f:AAAAMMJJ Forcer la dateFlux de ce chargement -f:AAAAMMJJ Forcer la dateFlux de ce chargement
-s:AAAAMMJJ Fichier stock de tous les établissements actifs avec jour de l'extraction du stock -s:AAAAMMJJ Fichier stock de tous les établissements actifs avec jour de l'extraction du stock
-u Ne pas mettre à jour la table identite de l'insee -u Ne pas mettre à jour la table identite de l'insee
-h Ne pas charger la notice dans la base des 'historiques' -h Ne pas charger la notice dans la base des 'historiques'
";*/ ";*/
$iDb=new WDB(); $iDb=new WDB();
global $iInsee; global $iInsee;
$iInsee=new MInsee(); $iInsee=new MInsee();
$iRncs=new MRncs(); $iRncs=new MRncs();
//$iWs=new WsEntreprise();
$nbSiretInvalides=0; $nbSiretInvalides=0;
$modeDebug=false; // Par défaut, pas de message de debug $modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP $ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
//$stock=0; // Stock IMR complet = 1 ! //$stock=0; // Stock IMR complet = 1 !
//$actifIni=1; // L'état actif est 1 sinon 11 si stock ! //$actifIni=1; // L'état actif est 1 sinon 11 si stock !
//$jourStock=0; // Jour du stock SSAMMJJ //$jourStock=0; // Jour du stock SSAMMJJ
$env=''; // Suffix des tables de chargements (en prod '' sinon '2', etc... Vérifier que les tables existes) $env=''; // Suffix des tables de chargements (en prod '' sinon '2', etc... Vérifier que les tables existes)
$messageIni=''; // Initialisation du début du contenu du message d'information sur le chargement $messageIni=''; // Initialisation du début du contenu du message d'information sur le chargement
$numReprise=0; // Par défaut, on démarre le traitement du fichier à la ligne 0 ! $numReprise=0; // Par défaut, on démarre le traitement du fichier à la ligne 0 !
$affReprise=false; $affReprise=false;
$stopOnError=true; $stopOnError=true;
$tabFichiers=array(); // Tableau des Fichiers téléchargés sur le FTP $tabFichiers=array(); // Tableau des Fichiers téléchargés sur le FTP
$tabFichier=array(); // Fichiers locaux en attente de traitement $tabFichier=array(); // Fichiers locaux en attente de traitement
$tabFichLigneCmd=array(); // Fichiers passés en ligne de commande $tabFichLigneCmd=array(); // Fichiers passés en ligne de commande
$ftpDelete=true; // Par défaut on supprime les fichiers téléchargés $ftpDelete=true; // Par défaut on supprime les fichiers téléchargés
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -734,14 +733,14 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} }
if ($ftpStep) { if ($ftpStep) {
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux Bilans INPI".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux Bilans INPI".EOL;
$conn_id = ftp_connect(/*'ftp://'.*/RNCS_IMR_FTP_HOST); $conn_id = ftp_connect(/*'ftp://'.*/RNCS_IMR_FTP_HOST);
if (!$conn_id) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP d'Extelia.".EOL; die(); } if (!$conn_id) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP d'Extelia.".EOL; die(); }
$login_result = ftp_login($conn_id, RNCS_IMR_FTP_LOGIN, RNCS_IMR_FTP_PASS); $login_result = ftp_login($conn_id, RNCS_IMR_FTP_LOGIN, RNCS_IMR_FTP_PASS);
if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP d'Extelia.".EOL; die(); } if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP d'Extelia.".EOL; die(); }
// Récupération du contenu d'un dossier // Récupération du contenu d'un dossier
$contents = ftp_nlist($conn_id, RNCS_IMR_FTP_DIR); $contents = ftp_nlist($conn_id, RNCS_IMR_FTP_DIR);
//print_r($contents); //print_r($contents);
//die(); //die();
@ -760,11 +759,11 @@ if ($ftpStep) {
if ($dateDist != -1) { if ($dateDist != -1) {
$tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist); $tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
if ($modeDebug) if ($modeDebug)
echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_fileName a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n"; echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_fileName a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
} else { } else {
$tabFichiers[$server_fileName]['dateDispo']=NULL; $tabFichiers[$server_fileName]['dateDispo']=NULL;
if ($modeDebug) if ($modeDebug)
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n"; echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
} }
$tabFichiers[$server_fileName]['taille']=$tailleDist; $tabFichiers[$server_fileName]['taille']=$tailleDist;
$tabFichiers[$server_fileName]['cheminNom']=$server_file; $tabFichiers[$server_fileName]['cheminNom']=$server_file;
@ -786,24 +785,24 @@ if ($ftpStep) {
$tDur = round($tFin-$tDeb); $tDur = round($tFin-$tDeb);
$tailleDistKo=round($tailleDist/1024,1); $tailleDistKo=round($tailleDist/1024,1);
$tRatio=round($tailleDistKo/$tDur,1); $tRatio=round($tailleDistKo/$tDur,1);
$messageLigne=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL; $messageLigne=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL;
echo $messageLigne; echo $messageLigne;
$messageIni.=$messageLigne; $messageIni.=$messageLigne;
if ($ftpDelete && ftp_delete($conn_id, $server_file)) { if ($ftpDelete && ftp_delete($conn_id, $server_file)) {
$messageLigne=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL; $messageLigne=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL;
echo $messageLigne; echo $messageLigne;
$messageIni.=$messageLigne; $messageIni.=$messageLigne;
} }
} else } else
die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL);
} elseif ($modeDebug) } elseif ($modeDebug)
echo date ('Y/m/d - H:i:s') ." - Le fichier $server_fileName a déjà été téléchargé le ".$tabFichiers[$server_fileName]['dateDownload']."($tailleDistKo Ko).".EOL; echo date ('Y/m/d - H:i:s') ." - Le fichier $server_fileName a déjà été téléchargé le ".$tabFichiers[$server_fileName]['dateDownload']."($tailleDistKo Ko).".EOL;
} }
} }
// Fermeture de la connexion // Fermeture de la connexion
ftp_close($conn_id); ftp_close($conn_id);
echo date ('Y/m/d - H:i:s')." - Fin de la récupération des fichiers Bilans INPI en FTP.".EOL; echo date ('Y/m/d - H:i:s')." - Fin de la récupération des fichiers Bilans INPI en FTP.".EOL;
} }
if (count($tabFichLigneCmd)==0) { if (count($tabFichLigneCmd)==0) {
@ -823,11 +822,11 @@ if (count($tabFichLigneCmd)==0) {
$tailleUnz=round(filesize(RNCS_IMR_FTP_LOCALDIR.$filename)/1024,1); $tailleUnz=round(filesize(RNCS_IMR_FTP_LOCALDIR.$filename)/1024,1);
$tFin = microtime(true); $tFin = microtime(true);
$tDur = round($tFin-$tDeb); $tDur = round($tFin-$tDeb);
$messageLigne=date ('Y/m/d - H:i:s')." - Fichier $filename décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL; $messageLigne=date ('Y/m/d - H:i:s')." - Fichier $filename décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL;
echo $messageLigne; echo $messageLigne;
$messageIni.=$messageLigne; $messageIni.=$messageLigne;
} else } else
die(date ('Y/m/d - H:i:s') . " - ERREUR : Décompression impossible de $filenameGz !".EOL); die(date ('Y/m/d - H:i:s') . " - ERREUR : Décompression impossible de $filenameGz !".EOL);
} }
$tabFichier[] = RNCS_IMR_FTP_LOCALDIR.$filename; $tabFichier[] = RNCS_IMR_FTP_LOCALDIR.$filename;
} }
@ -838,39 +837,16 @@ if (count($tabFichier)==0)
$tabFichier=$tabFichLigneCmd; $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) if (count($tabFichier)==0 && count($tabFichLigneCmd)==0)
die(date ('Y/m/d - H:i:s') . " - Aucun fichier Bilans INPI à traiter (--help pour plus d'options).".EOL); die(date ('Y/m/d - H:i:s') . " - Aucun fichier Bilans INPI à traiter (--help pour plus d'options).".EOL);
elseif (!$ftpStep) elseif (!$ftpStep)
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux Bilans INPI".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux Bilans INPI".EOL;
/*
print_r($tabFichier);
die();
/*
// Test du matching de tous les mandataires INPI
$tabTmp=$iDb->select('rncs_jugements', "adm1nom, adm1adrNum, adm1adrInd, adm1adrVoie, adm1adrCP, adm1adrVille, count(*) AS nb", "1 GROUP BY adm1nom ORDER BY nb DESC", true, MYSQL_ASSOC);
foreach ($tabTmp as $nbMand=>$mand) {
$idMand=$iRncs->getIdMandataireInpi($mand['adm1nom']);
if ($idMand==false) echo $mand['adm1nom']."\t".$mand['nb']."\t".$mand['adm1adrNum']."\t".$mand['adm1adrInd']."\t".$mand['adm1adrVoie']."\t".$mand['adm1adrCP']."\t".$mand['adm1adrVille']."\t".$idMand.EOL;
}
die();
*/
/** Lecture des siren en demande de réémission **/
/*
$tabTmp=$iDb->select('rncs_demandes', 'siren, dateDemande', 'dateReponse IS NULL', false, MYSQL_ASSOC);
$tabDemIMR=array();
foreach ($tabTmp AS $tmp)
$tabDemIMR[$tmp['siren']]=$tmp['dateDemande'];
$nbDemIMR=count($tabDemIMR);
if ($nbDemIMR>0) echo date('Y/m/d - H:i:s'). " - Il y a $nbDemIMR siren en attente de réémission IMR.".EOL;
//die();
*/
foreach ($tabFichier as $iFic=>$fichier) foreach ($tabFichier as $iFic=>$fichier)
{ {
$message=$messageIni; // Initialisation du contenu du message d'information sur le chargement $message=$messageIni; // Initialisation du contenu du message d'information sur le chargement
$messageErrCtrl=''; // Initialisation du contenu du message d'information sur les erreurs de saisie $messageErrCtrl=''; // Initialisation du contenu du message d'information sur les erreurs de saisie
$listeErreurs=''; // Initialisation de la liste des erreurs détectées dans le format de fichier $listeErreurs=''; // Initialisation de la liste des erreurs détectées dans le format de fichier
$listeAnomalies=''; // Initialisation de la liste des anomalies diverses "Capitaux, etc..."
if (!preg_match('/BILSCOREDEC/i', $fichier)) continue; if (!preg_match('/BILSCOREDEC/i', $fichier)) continue;
@ -878,21 +854,21 @@ foreach ($tabFichier as $iFic=>$fichier)
$fichier=basename($fichier); $fichier=basename($fichier);
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
/** Le fichier a-t-il déjà été chargé **/ /** Le fichier a-t-il déjà été chargé **/
$tabTmp=$iDb->select('bilans_chargements', 'dateChargementDeb, dateChargementFin, taille, nbLignesTot', "nomFichier='$fichier'", false, MYSQL_ASSOC); $tabTmp=$iDb->select('bilans_chargements', 'dateChargementDeb, dateChargementFin, taille, nbLignesTot', "nomFichier='$fichier'", false, MYSQL_ASSOC);
if (@$tabTmp[0]['nbLignesTot']*1>0) { if (@$tabTmp[0]['nbLignesTot']*1>0) {
$dateDeb=$tabTmp[0]['dateChargementDeb']; $dateDeb=$tabTmp[0]['dateChargementDeb'];
$dateFin=$tabTmp[0]['dateChargementFin']; $dateFin=$tabTmp[0]['dateChargementFin'];
$taille=$tabTmp[0]['taille']; $taille=$tabTmp[0]['taille'];
echo date('Y/m/d - H:i:s'). " - Le fichier $fichier a déjà été chargé le $dateDeb ($taille octets)...".EOL; echo date('Y/m/d - H:i:s'). " - Le fichier $fichier a déjà été chargé le $dateDeb ($taille octets)...".EOL;
continue; continue;
} }
/** Récupération du dernier idFichier chargé **/ /** Récupération du dernier idFichier chargé **/
$tabTmp=$iDb->select('bilans_chargements', 'MAX(idFichier) AS idFichier', '1', false, MYSQL_ASSOC); $tabTmp=$iDb->select('bilans_chargements', 'MAX(idFichier) AS idFichier', '1', false, MYSQL_ASSOC);
$idFichierAttendu=($tabTmp[0]['idFichier']*1)+1; $idFichierAttendu=($tabTmp[0]['idFichier']*1)+1;
$messageLigne=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
@ -906,7 +882,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$a = fgets($fp, 4096); $a = fgets($fp, 4096);
$tailleLigne=strlen($a); $tailleLigne=strlen($a);
if ($tailleLigne<90 || $tailleLigne>91) { if ($tailleLigne<90 || $tailleLigne>91) {
$messageErr=date('Y/m/d - H:i:s') ." - Le fichier Bilans INPI à charger $fichier n'est pas au format Infogreffe/Extelia ($tailleLigne caractères) !".EOL; $messageErr=date('Y/m/d - H:i:s') ." - Le fichier Bilans INPI à charger $fichier n'est pas au format Infogreffe/Extelia ($tailleLigne caractères) !".EOL;
echo $messageErr; echo $messageErr;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com',
'ERREUR : Chargement INPI BILANS', $messageErr); 'ERREUR : Chargement INPI BILANS', $messageErr);
@ -917,7 +893,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$a = fgets($fp, 4096); $a = fgets($fp, 4096);
$nbLignesTot++; $nbLignesTot++;
} }
$messageLigne=date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL; $messageLigne=date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
@ -932,15 +908,16 @@ foreach ($tabFichier as $iFic=>$fichier)
$codeEnr = ''.trim( substr($a, 22, 1)); $codeEnr = ''.trim( substr($a, 22, 1));
if (/*$numReprise>0 && */$nbLignes>=$numReprise) { if (/*$numReprise>0 && */$nbLignes>=$numReprise) {
if (!$affReprise && $numReprise>0) { if (!$affReprise && $numReprise>0) {
echo date('Y/m/d - H:i:s') ." - Reprise à la ligne $nbLignes/$nbLignesTot ($numReprise) !".EOL; echo date('Y/m/d - H:i:s') ." - Reprise à la ligne $nbLignes/$nbLignesTot ($numReprise) !".EOL;
$affReprise=true; $affReprise=true;
// if ($codeEnr<>'1') die(date('Y/m/d - H:i:s') ." - ERREUR, il n'est pas possible de reprendre à cette ligne car le code enregistrement est différent de 1<>$codeEnr :".EOL.trim($a).EOL); // if ($codeEnr<>'1') die(date('Y/m/d - H:i:s') ." - ERREUR, il n'est pas possible de reprendre à cette ligne car le code enregistrement est différent de 1<>$codeEnr :".EOL.trim($a).EOL);
} }
$siren = trim( substr($a, 0, 9)); // SIREN $siren = trim( substr($a, 0, 9)); // SIREN
$nic = trim( substr($a, 9, 5)); // NIC $nic = trim( substr($a, 9, 5)); // NIC
$dateCloture= trim( substr($a, 14, 8)); // SSAAMMJJ $dateCloture= trim( substr($a, 14, 8)); // SSAAMMJJ
if (strlen(trim($a))==34) { if (strlen(trim($a))==34) {
// echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, ligne de 34 caractères '$a'...".EOL; // echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, ligne de 34 caractères '$a'...".EOL;
$idFichier = trim( substr($a, 0, 10)); $idFichier = trim( substr($a, 0, 10));
$dateFichier= trim( substr($a, 10, 8)); // SSAAMMJJ $dateFichier= trim( substr($a, 10, 8)); // SSAAMMJJ
$nbBilansCtl= trim( substr($a, 18, 8)); // Nombre de bilans transmis $nbBilansCtl= trim( substr($a, 18, 8)); // Nombre de bilans transmis
@ -955,27 +932,27 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbLignes1--; $nbLignes1--;
$ff=true; // Fin de fichier $ff=true; // Fin de fichier
if ($idFichier<>$idFichierAttendu) { if ($idFichier<>$idFichierAttendu) {
$messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier trouvée MAIS SANS LE BON idFichier ($idFichier lu alors que $idFichierAttendu attendu) !!!".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier trouvée MAIS SANS LE BON idFichier ($idFichier lu alors que $idFichierAttendu attendu) !!!".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
} else } else
echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier trouvée avec le bon idFichier ($idFichier) !".EOL; echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier trouvée avec le bon idFichier ($idFichier) !".EOL;
} else { } else {
echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier attendu mais '$a' trouvé !".EOL; echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, fin de fichier attendu mais '$a' trouvé !".EOL;
die(); die();
} }
} }
// echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, ligne de 34 caractères '$a'... RAS".EOL; // echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, ligne de 34 caractères '$a'... RAS".EOL;
} }
$tabPages=array();
switch ($codeEnr) { switch ($codeEnr) {
case '1': // Structure de début de Bilan case '1': // Structure de début de Bilan
$nbLignes1++; $nbLignes1++;
if (($sirenPre<>0 && $sirenPre<>$siren) || if (($sirenPre<>0 && $sirenPre<>$siren) ||
($dateCloturePre<>0 && $dateCloturePre<>$dateCloture) || ($dateCloturePre<>0 && $dateCloturePre<>$dateCloture) ||
($typeBilanPre<>0 && $typeBilanPre<>$typeBilan) || ($typeBilanPre<>0 && $typeBilanPre<>$typeBilan) ||
$ff) { $ff) {
// Enregistrer le Bilan précédent si siren différent // Enregistrer le Bilan précédent si siren différent
$nbBilans++; $nbBilans++;
$strPostes=''; $strPostes='';
foreach($tabPostes as $poste=>$valeur) foreach($tabPostes as $poste=>$valeur)
@ -984,7 +961,7 @@ foreach ($tabFichier as $iFic=>$fichier)
if ($dateClP==$dateCloturePre) $dateClP=0; if ($dateClP==$dateCloturePre) $dateClP=0;
if ($dureeP=='00' && $dateClP*1>0) { if ($dureeP=='00' && $dateClP*1>0) {
$ret=$iDb->select('bilans', 'siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateClP'", true, MYSQL_ASSOC); $ret=$iDb->select('bilans', 'siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateClP'", false, MYSQL_ASSOC);
if (isset($ret[0])) { if (isset($ret[0])) {
$bilanPre=$ret[0]; $bilanPre=$ret[0];
if ($bilanPre['dureeExercice']>0) $dureeP=$bilanPre['dureeExercice']; if ($bilanPre['dureeExercice']>0) $dureeP=$bilanPre['dureeExercice'];
@ -1004,15 +981,24 @@ foreach ($tabFichier as $iFic=>$fichier)
'unite'=>'U', 'unite'=>'U',
'partenaire'=>9, 'partenaire'=>9,
'postes'=>$strPostes); 'postes'=>$strPostes);
if ($codeSai=='00' || $codeSai=='01') {
$ret=$iDb->select('bilans', 'partenaire, siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateCloturePre'", true, MYSQL_ASSOC); // Permet d'enregistrer les bilans consolidés avec code Erreur '08'
if ($codeSai=='08' && strlen($strPostes)>4) {
$codeSai='00';
$tabInsert['typeBilan']=$typeBilan='C';
}
if (/*$codeSai=='00' || $codeSai=='01'*/strlen($strPostes)>0) {
$ret=$iDb->select('bilans', 'partenaire, siren, typeBilan, dateExercice, dateExercicePre, PERIOD_DIFF(SUBSTRING(dateExercice,1,6),SUBSTRING(dateExercicePre,1,6)) as dureeExerciceCalc, dureeExercice', "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateCloturePre'", false, MYSQL_ASSOC);
//unset($ret); //unset($ret);
if (isset($ret[0])) { if (isset($ret[0])) {
$codeCon=false;
$bilanPre=$ret[0]; $bilanPre=$ret[0];
if ($bilanPre['partenaire']==7 || if ($bilanPre['partenaire']==7 ||
$bilanPre['partenaire']==8 || $bilanPre['partenaire']==8 ||
$bilanPre['partenaire']==9) { $bilanPre['partenaire']==9) {
$ret=$iDb->update('bilans', $tabInsert, "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateCloturePre'"); /** On n'écrase pas le bilan s'il a été saisit par S&D */
$ret=$iDb->update('bilans', $tabInsert, "siren='$sirenPre' AND typeBilan='$typeBilan' AND dateExercice='$dateCloturePre'", false);
$nbUpdate++; $nbUpdate++;
} else } else
$nbNotUpdate++; $nbNotUpdate++;
@ -1022,6 +1008,7 @@ foreach ($tabFichier as $iFic=>$fichier)
* - Sous-totaux * - Sous-totaux
* - Total Bilan * - Total Bilan
**/ **/
$codeCon=0;
if ($typeBilan=='N' || $typeBilan=='S') { if ($typeBilan=='N' || $typeBilan=='S') {
$anoBilan=false; $anoBilan=false;
foreach ($tabCtrl[$typeBilan] as $ctrl=>$libCtrl) { foreach ($tabCtrl[$typeBilan] as $ctrl=>$libCtrl) {
@ -1051,12 +1038,13 @@ foreach ($tabFichier as $iFic=>$fichier)
} }
if (!((@$tabPostes[$strCtrl]*1)>=$totalMin && (@$tabPostes[$strCtrl]*1)<=$totalMax)) { if (!((@$tabPostes[$strCtrl]*1)>=$totalMin && (@$tabPostes[$strCtrl]*1)<=$totalMax)) {
if (!$anoBilan) if (!$anoBilan)
$messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL; $messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
else else
$messageLigne=''; $messageLigne='';
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL; $messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
echo $messageLigne; echo $messageLigne;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents"; $codeCon=5;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true; if ($codeSai=='00') $anoBilan=true;
} }
// else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL; // else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL;
@ -1075,14 +1063,127 @@ foreach ($tabFichier as $iFic=>$fichier)
//echo 'Liste des Bilans en base :'.EOL; //echo 'Liste des Bilans en base :'.EOL;
//print_r($tabBilans); //print_r($tabBilans);
$tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan); $tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan);
/* $tabId=$iRncs->getInfosEntrep($sirenPre);
echo "Bilan précédent datant du '$dateClP' :".EOL; $cj=$tabId['cj'];
//print_r($tabBilan); $capital=$tabId['capital'];
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL; $capDev=$tabId['capitalDev'];
//print_r($tabInsert); $capTyp=$tabId['capitalType'];
//print_r($tabPostes); $numGre=$tabId['numGreffe'];
*/ $dateIm=WDate::dateT('Y-m-d','Ymd',$tabId['dateImma']);
if ($typeBilan=='N') { if ($typeBilan=='S') $tabPostesCtrl=@$mBil->bilanSimplifie2Normal($tabPostes);
elseif ($typeBilan=='N') $tabPostesCtrl=$tabPostes;
$capBil=@$tabPostesCtrl['DA'];
$resultat=@$tabPostesCtrl['HN'];
$caTotal=@$tabPostesCtrl['FL'];
$fondsPr=@$tabPostesCtrl['DL'];
$effectif=@$tabPostesCtrl['YP'];
$messageAno="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre ($duree), N-1=$dateClP ($dureeP), Greffe n°$numGre, fj=$cj, capital $capTyp=$capital $capDev, DA=$capBil, HN=$resultat, FL=$caTotal, YP=$effectif, Immat=$dateIm - ";
/** Contrôle de cohérence entre le capital Registre et Bilan
**/
$totalMin1=$capital-ECART_CTRL_MAX;
$totalMax1=$capital+ECART_CTRL_MAX;
$totalMin2=$capital-ECART_CTRL_MAX;
$totalMax2=$capital+ECART_CTRL_MAX;
//413933730, 7803, fj=5499 capital VAR=7622.45 EUR DA=45735 HN=-28284 Immat=19971013 N=20111231 (12) N-1=20101231 (12) - DIMINUTION DE CAPITAL INEXPLIQUEE !!! PERTE > 1/2
$capitalDiff=false;
if (!($capBil>=$totalMin1 && $capBil<=$totalMax1) && $capTyp=='SOC') {
if ($capital<$capBil) $messageAno.='DIMINUTION';
elseif ($capital>$capBil) $messageAno.='AUGMENTATION';
$messageAno.=' DE CAPITAL';
$capitalDiff=true;
$tabAnn=@$iInsee->getAnnoncesLegales($sirenPre, 0, array(2100,2101,2102));
foreach ($tabAnn as $iAnn=>$ann) {
foreach ($ann['evenements'] as $even) {
if ($even['CodeEven']==2100 || $even['CodeEven']==2101 || $even['CodeEven']==2102) {
// $capital>$capBil aug
$dateAnn=WDate::dateT('Y-m-d','Ymd',$ann['dateJugement']);
$libAnn=$even['LibEven'];
if ($dateAnn>$dateCloturePre) { $capitalDiff=false; break(2); }
}
}
}
if ($capitalDiff) { $codeCon=3; $messageAno.=' INEXPLIQUEE !!!'; }
//2319 Poursuite de l'activité malgré la perte de plus de la moitié du capital
}
/** Contrôle de cohérence Effectif
**/
// FY : Salaires et traitements
// FZ : Charges sociales (10)
if ($effectif>4 && ($caTotal/$effectif<1000 || (@$tabPostesCtrl['FY']+@$tabPostesCtrl['FZ'])<10)) {
$messageAno.=' - EFFECTIF INCOHERENT !';
$codeCon=7;
}
/** Contrôle du résultat afin de savoir si perte > 1/2 capital
**/
if ($capBil>0 && $resultat<0) {
$demiCap=$capBil/2;
$resAbs=abs($resultat);
if ($resAbs>$demiCap) {
$messageAno.=' - PERTE > 1/2 CAPITAL';
$capitalDiff=true;
$tabAnn=@$iInsee->getAnnoncesLegales($sirenPre, 0, array(2319));
foreach ($tabAnn as $iAnn=>$ann) {
foreach ($ann['evenements'] as $even) {
if ($even['CodeEven']==2319) {
$dateAnn=WDate::dateT('Y-m-d','Ymd',$ann['dateJugement']);
$libAnn=$even['LibEven'];
if ($dateAnn>$dateCloturePre) {
$capitalDiff=false; break(2);
}
}
}
}
if ($capitalDiff && // Il y a une perte > à moitié du capital sans publication
($caTotal==0 || ($resAbs/$caTotal)>0.01) && // La perte est significative
$fondsPr<0 && // Fonds propres négatifs
WDate::nbMoisEntre($dateIm, $dateCloturePre)>=36) { // Et l'entreprise à 3 ans passés
/** @todo Créer l'annonce **/
$tabTmp=@$iInsee->getIdentiteLight($sirenPre);
$tabInsertAnn=array('siren' => $sirenPre,
'sirenValide' => @$iInsee->valideSiren($sirenPre),
'typeEven' => 2319,
'raisonSociale' => $tabTmp['Nom'],
'adresse' => $tabTmp['Adresse'],
'codePostal' => $tabTmp['CP'],
'ville' => $tabTmp['Ville'],
'dateJugement' => $dateEnv,
'tribunal' => $tabTmp['Tribunal'],
'source' => 'PB',
'dateSource' => $dateEnv,
'dateInsert' => date('YmdHis'));
$ret=$iDb->insert('annonces', $tabInsertAnn, false);
$messageAno.=' sans PUBLICATION !!!';
}
}
}
if ($dureeP==0) {
$nbMoisCreaNp=0;
$tabTmp=@$iInsee->getIdentiteEntreprise($sirenPre);
$dateCre=$tabTmp['DateCreaEn'];
$nbMoisCreaN=WDate::nbMoisEntre($dateCre, $dateCloturePre);
if ($dateClP>0)
$nbMoisCreaNp=WDate::nbMoisEntre($dateCre, $dateClP);
$dureeCalc=WDate::nbMoisEntre($dateClP, $dateCloturePre);
if ($duree<>$dureeCalc) $messageAno.=' - DUREE OU DATE DE CLOTURE INCOHERENTES !!!';
//$dateIm N= () N-1=$dateClP
if ($nbMoisCreaN<$duree) {
$messageAno.=' - PREMIER EXERCICE COMPTABLE !';
$tabInsert['dateExercicePre']=0;
}// elseif ($nbMoisCreaNp<0) die($messageAno.EOL."Age à N=$nbMoisCreaN mois, Age à N-1=$nbMoisCreaNp mois".EOL);
}
if (strlen($messageAno)>185) {
echo $messageAno.EOL;
$listeAnomalies.=$messageAno.EOL;
}
if ($typeBilan=='N' || $typeBilan=='S') {
foreach ($tabCtrlInter[$typeBilan] as $ctrl=>$libCtrl) { foreach ($tabCtrlInter[$typeBilan] as $ctrl=>$libCtrl) {
$total=@$tabBilan[$ctrl]*1; $total=@$tabBilan[$ctrl]*1;
if ($total==0) continue; if ($total==0) continue;
@ -1104,29 +1205,37 @@ foreach ($tabFichier as $iFic=>$fichier)
if (isset($tabBilan[$ctrl]) && // Il y a un poste if (isset($tabBilan[$ctrl]) && // Il y a un poste
!$totalMin1 && // Des seuils min !$totalMin1 && // Des seuils min
!$totalMin2 && // ... et max !$totalMin2 && // ... et max
!((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) { !((@$tabPostesCtrl[$ctrl]*1)>=$totalMin1 && (@$tabPostesCtrl[$ctrl]*1)<=$totalMax1)) {
if (!$anoBilan) if (!$anoBilan)
$messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL; $messageLigne="Fichier $fichier : ligne $nbLignes, $sirenPre, $dateCloturePre - Retour Saisie n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
else else
$messageLigne=''; $messageLigne='';
$messageLigne.="$strEcho (saisi en N ".@$tabPostes[$ctrl].' <> '.$total." présent en N-1 $dateClP)".EOL; $codeCon=9;
$messageLigne.="$strEcho (saisi en N ".@$tabPostesCtrl[$ctrl].' <> '.$total." présent en N-1 $dateClP)".EOL;
echo $messageLigne; echo $messageLigne;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents"; $messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true; if ($codeSai=='00') $anoBilan=true;
} }
} }
} }
$ret=$iDb->insert('bilans', $tabInsert); $ret=$iDb->insert('bilans', $tabInsert, false);
$nbInsert++; $nbInsert++;
} }
} else } else {
print_r($tabInsert); print_r($tabInsert);
if (strlen($strPostes)>0) die($codeSai.EOL);
}
// Comptage des retours par codes saisies // Comptage des retours par codes saisies
@$tabNbCodeRet['_'.$codeSai]++; @$tabNbCodeRet['_'.$codeSai]++;
// Insertion des informations relatives à l'acte Bilan // Insertion des informations relatives à l'acte Bilan
$strPagesPostes='';
foreach($tabPagesPostes as $page=>$nbPostes) {
$strPagesPostes.=str_replace('_','',$page)."=$nbPostes,";
}
$strPagesPostes=substr($strPagesPostes,0,strlen($strPagesPostes)-1);
$tabPagesPostes=array();
$tabInsert=array( 'siren' => $sirenPre, $tabInsert=array( 'siren' => $sirenPre,
'numRC' => substr($numGest,2), // char(10) 'numRC' => substr($numGest,2), // char(10)
'numRC2' => $numGest, 'numRC2' => $numGest,
@ -1138,55 +1247,58 @@ foreach ($tabFichier as $iFic=>$fichier)
'duree_exercice'=> $duree, 'duree_exercice'=> $duree,
'saisie_date' => $dateEnv, 'saisie_date' => $dateEnv,
'saisie_code' => $codeSai, 'saisie_code' => $codeSai,
'pages' => $strPagesPostes,
); );
if (!$iDb->insert('greffes_bilans', $tabInsert)) { if ($codeCon) $tabInsert['ctrl_code']=$codeCon;
if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$sirenPre' AND num_depot='$numDep' AND date_cloture='$dateCloturePre' AND type_comptes='$typeComptes'")) {
if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$sirenPre' AND num_depot='$numDep' AND date_cloture='$dateCloturePre' AND type_comptes=''")) { if (!$iDb->insert('greffes_bilans', $tabInsert, false)) {
echo "Impossible de mettre à jour la table 'greffes_bilans' pour les éléments suivants :".EOL; if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$sirenPre' AND num_depot='$numDep' AND date_cloture='$dateCloturePre' AND type_comptes='$typeComptes'", false)) {
if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$sirenPre' AND num_depot='$numDep' AND date_cloture='$dateCloturePre' AND type_comptes=''", false)) {
echo "Impossible de mettre à jour la table 'greffes_bilans' pour les éléments suivants :".EOL;
print_r($tabInsert); print_r($tabInsert);
die(); die();
} }
} }
} }
} }
// Si Fin de Fichier, on arrête la boucle de lecture // Si Fin de Fichier, on arrête la boucle de lecture
if ($ff) break 2; if ($ff) break 2;
//if ($ffDebug) die("Fin provisoire car $ffDebugStr à vérifier !"); //if ($ffDebug) die("Fin provisoire car $ffDebugStr à vérifier !");
//print_r($tabPostes); //print_r($tabPostes);
$tabPostes=array(); $tabPostes=array();
//print_r($tabInsert); //print_r($tabInsert);
} elseif ($sirenPre<>0 && $dateCloturePre<>0 && $typeBilanPre<>0) { } elseif ($sirenPre<>0 && $dateCloturePre<>0 && $typeBilanPre<>0) {
$nbDoublons++; $nbDoublons++;
$messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Bilan INPI saisit 2 fois !".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Bilan INPI saisit 2 fois !".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
} }
$numLot =trim( substr($a, 23, 4)); // numéro de lot $numLot =trim( substr($a, 23, 4)); // numéro de lot
$numGre =trim( substr($a, 27, 4)); // numéro de greffe $numGre =trim( substr($a, 27, 4)); // numéro de greffe
$numDep =trim( substr($a, 31, 6)); // numéro de dépôt au greffe $numDep =trim( substr($a, 31, 6)); // numéro de dépôt au greffe
$numGest=trim( substr($a, 37, 10)); // numéro de RCS $numGest=trim( substr($a, 37, 10)); // numéro de RCS
$numDepP=trim( substr($a, 47, 1)); // premier chiffre du numéro de dépôt $numDepP=trim( substr($a, 47, 1)); // premier chiffre du numéro de dépôt
$codeAct=trim( substr($a, 48, 4)); // code activité ? $codeAct=trim( substr($a, 48, 4)); // code activité ?
$dateClP=trim( substr($a, 52, 8)); // date de cloture N-1 SSAAMMJJ $dateClP=trim( substr($a, 52, 8)); // date de cloture N-1 SSAAMMJJ
$duree =trim( substr($a, 60, 2)); // duree de l'exercice en mois $duree =trim( substr($a, 60, 2)); // duree de l'exercice en mois
$dureeP =trim( substr($a, 62, 2)); // duree de l'exercice N-1 en mois $dureeP =trim( substr($a, 62, 2)); // duree de l'exercice N-1 en mois
$dateEnv=trim( substr($a, 64, 8)); // date d'envoi du bilan SSAAMMJJ $dateEnv=trim( substr($a, 64, 8)); // date d'envoi du bilan SSAAMMJJ
$codeSai=trim( substr($a, 72, 2)); // code motif de non saisie $codeSai=trim( substr($a, 72, 2)); // code motif de non saisie
if ($codeSai<>'00') { if ($codeSai<>'00') {
// echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes - '$a'".EOL; // echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes - '$a'".EOL;
echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Retour n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL; echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Retour n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].EOL;
} }
$typeBil=trim( substr($a, 74, 1)); // type de bilan $typeBil=trim( substr($a, 74, 1)); // type de bilan
switch (strtoupper($typeBil)) { switch (strtoupper($typeBil)) {
case 'C': $typeBilan='N'; $typeComptes='sociaux'; break; // Complet case 'C': $typeBilan='N'; $typeComptes='sociaux'; break; // Complet
case 'S': $typeBilan='S'; $typeComptes='sociaux'; break; // Simplifié case 'S': $typeBilan='S'; $typeComptes='sociaux'; break; // Simplifié
case 'K': $typeBilan='C'; $typeComptes='consolides'; break; // Consolidé case 'K': $typeBilan='C'; $typeComptes='consolides'; break; // Consolidé
case 'B': $typeBilan='B'; $typeComptes=''; break; // Banque case 'B': $typeBilan='B'; $typeComptes=''; break; // Banque
case 'A': $typeBilan='A'; $typeComptes=''; break; // Assurance case 'A': $typeBilan='A'; $typeComptes=''; break; // Assurance
break; break;
default: default:
$messageErr=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Type Bilan INPI inconnu '$typeBil' !".EOL; $messageErr=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - Type Bilan INPI inconnu '$typeBil' !".EOL;
echo $messageErr; echo $messageErr;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com',
'ERREUR : Chargement INPI BILANS', $messageErr); 'ERREUR : Chargement INPI BILANS', $messageErr);
@ -1194,41 +1306,44 @@ foreach ($tabFichier as $iFic=>$fichier)
break; break;
} }
$codeDev=trim( substr($a, 75, 3)); // Devise EUR $codeDev=trim( substr($a, 75, 3)); // Devise EUR
$origDev=trim( substr($a, 78, 1)); // O:devise de dépôt, C=conversion $origDev=trim( substr($a, 78, 1)); // O:devise de dépôt, C=conversion
if ($origDev=='O') // devise de dépôt if ($origDev=='O') // devise de dépôt
$monnaieOri=strtoupper($codeDev); $monnaieOri=strtoupper($codeDev);
elseif ($origDev=='C') // devise Convertie elseif ($origDev=='C') // devise Convertie
$monnaieOri=''; // Rechercher la devise en fonction du mt capital ou pays origine $monnaieOri=''; // Rechercher la devise en fonction du mt capital ou pays origine
else else
die(date('Y/m/d - H:i:s'). " - Erreur fichier n°$iFic, $fichier : Origine de la devise = '$origDev' !".EOL); die(date('Y/m/d - H:i:s'). " - Erreur fichier n°$iFic, $fichier : Origine de la devise = '$origDev' !".EOL);
$filler1=trim( substr($a, 79, 11)); // vide $filler1=trim( substr($a, 79, 11)); // vide
if ($filler1<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler1 = '$filler1' !".EOL; if ($filler1<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler1 = '$filler1' !".EOL;
break; break;
case '2': case '2':
$nbLignes2++; $nbLignes2++;
$raisonSociale = trim( substr($a, 23, 67)); // Raison Sociale de l'ENTREP $raisonSociale = trim( substr($a, 23, 67)); // Raison Sociale de l'ENTREP
//$filler2 = trim( substr($a, 83, 7)); // vide //$filler2 = trim( substr($a, 83, 7)); // vide
//if ($filler2<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler2 = '$filler2' !".EOL; //if ($filler2<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler2 = '$filler2' !".EOL;
break; break;
case '3': case '3':
$nbLignes3++; $nbLignes3++;
$adresse = trim( substr($a, 23, 67)); // Ligne d'adresse $adresse = trim( substr($a, 23, 67)); // Ligne d'adresse
//$filler3 = trim( substr($a, 83, 7)); // vide //$filler3 = trim( substr($a, 83, 7)); // vide
//if ($filler3<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler3 = '$filler3' !".EOL; //if ($filler3<>'') echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren-$nic, $dateCloture ($codeEnr) - filler3 = '$filler3' !".EOL;
break; break;
case '4': case '4':
$nbLignes4++; $nbLignes4++;
$pageBilan = trim( substr($a, 23, 2)); // N° de la page du bilan $pageBilan = trim( substr($a, 23, 2)); // N° de la page du bilan
if ($typeBilan=='S') $dec=1; // Si bilan simplifié, on décale de 1 caractère ! @$tabPagesPostes['_'.$pageBilan]++;
//print_r($tabPagesBilans);
//echo "$a => $pageBilan".EOL;
if ($typeBilan=='S') $dec=1; // Si bilan simplifié, on décale de 1 caractère !
else $dec=0; else $dec=0;
$codeCerfa = trim( substr($a, 25, 2+$dec)); // N° de la page du bilan $codeCerfa = trim( substr($a, 25, 2+$dec)); // N° de la page du bilan
$montant[0] =nbrBilExt2int(substr($a,27+$dec, 15),$a); // N° de la page du bilan $montant[0] =nbrBilExt2int(substr($a,27+$dec, 15),$a); // N° de la page du bilan
$montant[1] =nbrBilExt2int(substr($a,42+$dec, 15),$a); // N° de la page du bilan $montant[1] =nbrBilExt2int(substr($a,42+$dec, 15),$a); // N° de la page du bilan
$montant[2] =nbrBilExt2int(substr($a,57+$dec, 15),$a); // N° de la page du bilan $montant[2] =nbrBilExt2int(substr($a,57+$dec, 15),$a); // N° de la page du bilan
$montant[3] =nbrBilExt2int(substr($a,72+$dec, 15),$a); // N° de la page du bilan $montant[3] =nbrBilExt2int(substr($a,72+$dec, 15),$a); // N° de la page du bilan
if ($montant[0]===false || $montant[0]===false || if ($montant[0]===false || $montant[0]===false ||
$montant[2]===false || $montant[3]===false) { $montant[2]===false || $montant[3]===false) {
$messageErr=date('Y/m/d - H:i:s'). " - Erreur fichier n°$iFic, $fichier : bilan du $siren au $dateCloture de type '$typeBilan' lors du traitement du code '$codeCerfa', page $pageBilan montant 1,2,3 ou 4 null = ".$montant[0].', '.$montant[1].', '. $montant[2].', '.$montant[3].' !'.EOL; $messageErr=date('Y/m/d - H:i:s'). " - Erreur fichier n°$iFic, $fichier : bilan du $siren au $dateCloture de type '$typeBilan' lors du traitement du code '$codeCerfa', page $pageBilan montant 1,2,3 ou 4 null = ".$montant[0].', '.$montant[1].', '. $montant[2].', '.$montant[3].' !'.EOL;
echo $messageErr; echo $messageErr;
if ($stopOnError) { if ($stopOnError) {
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com',
@ -1238,7 +1353,7 @@ foreach ($tabFichier as $iFic=>$fichier)
} }
$filler4 = trim( substr($a, 87+$dec, 3-$dec)); // vide $filler4 = trim( substr($a, 87+$dec, 3-$dec)); // vide
if ($filler4<>'') { if ($filler4<>'') {
$messageErr=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren ($codeEnr) - Erreur filler4 = '$filler4' !".EOL; $messageErr=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : ligne $nbLignes, $siren ($codeEnr) - Erreur filler4 = '$filler4' !".EOL;
$messageErr.=date('Y/m/d - H:i:s'). " - Page $pageBilan, Code $codeCerfa - Montant 1,2,3 ou 4 = ".$montant[0].', '.$montant[1].', '. $montant[2].', '.$montant[3].' !'.EOL; $messageErr.=date('Y/m/d - H:i:s'). " - Page $pageBilan, Code $codeCerfa - Montant 1,2,3 ou 4 = ".$montant[0].', '.$montant[1].', '. $montant[2].', '.$montant[3].' !'.EOL;
$messageErr.=$aPre; $messageErr.=$aPre;
$messageErr.=$a; $messageErr.=$a;
@ -1276,12 +1391,12 @@ foreach ($tabFichier as $iFic=>$fichier)
} }
fclose($fp); fclose($fp);
// Récapitulatif des mises à jours // Récapitulatif des mises à jours
$messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : $nbLignes lignes, $nbBilans bilans (dont $nbUpdate MAJ, $nbNotUpdate ignorés, $nbInsert insertions, $nbDoublons doublons)".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : $nbLignes lignes, $nbBilans bilans (dont $nbUpdate MAJ, $nbNotUpdate ignorés, $nbInsert insertions, $nbDoublons doublons)".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
// Récapitulatif des codes retour suite à la saisie Infogreffe // Récapitulatif des codes retour suite à la saisie Infogreffe
$nbBilansOk=$nbBilansAnn=$nbBilansErr=0; $nbBilansOk=$nbBilansAnn=$nbBilansErr=0;
foreach ($tabNbCodeRet as $code=>$nb) { foreach ($tabNbCodeRet as $code=>$nb) {
$infoSaisie=$tabLibCodeSaisie[$code]; $infoSaisie=$tabLibCodeSaisie[$code];
@ -1289,13 +1404,13 @@ foreach ($tabFichier as $iFic=>$fichier)
if ($codeSaisie=='00') $nbBilansOk=$nb; if ($codeSaisie=='00') $nbBilansOk=$nb;
elseif ($codeSaisie=='01') $nbBilansAnn=$nb; elseif ($codeSaisie=='01') $nbBilansAnn=$nb;
else $nbBilansErr+=$nb; else $nbBilansErr+=$nb;
$messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : Code Saisie '$codeSaisie' = $nb (Nombre de $infoSaisie)".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : Code Saisie '$codeSaisie' = $nb (Nombre de $infoSaisie)".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
} }
// Récapitulatif des codes de la structure de contrôle // Récapitulatif des codes de la structure de contrôle
$messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : $nbLignesCtl lignes généré le $dateFichier contenant $nbBilansCtl bilans (id fichier : $idFichier)".EOL; $messageLigne=date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : $nbLignesCtl lignes généré le $dateFichier contenant $nbBilansCtl bilans (id fichier : $idFichier)".EOL;
echo $messageLigne; echo $messageLigne;
$message.=$messageLigne; $message.=$messageLigne;
@ -1328,19 +1443,20 @@ foreach ($tabFichier as $iFic=>$fichier)
if (count($tabFichLigneCmd)==0) { if (count($tabFichLigneCmd)==0) {
if (bzip2(RNCS_IMR_FTP_LOCALDIR.$fichier, RNCS_IMR_BACKUP_DIR.$fichier)) { if (bzip2(RNCS_IMR_FTP_LOCALDIR.$fichier, RNCS_IMR_BACKUP_DIR.$fichier)) {
unlink(RNCS_IMR_FTP_LOCALDIR.$fichier); unlink(RNCS_IMR_FTP_LOCALDIR.$fichier);
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
} }
} }
echo $message; echo $message;
$iDb->insert('bilans_chargements', $tabInsert); $iDb->insert('bilans_chargements', $tabInsert, false);
echo mysql_errno(); echo mysql_errno();
echo mysql_error(); echo mysql_error();
if (trim($listeErreurs)=='') $listeErreurs='Néant'; if (trim($listeErreurs)=='') $listeErreurs='Néant';
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com,jm.champeau@recocash.com', sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com,jm.champeau@recocash.com',
'Chargement INPI BILANS', 'Chargement INPI BILANS',
$message.EOL."Liste des erreurs de saisie :".EOL.$messageErrCtrl.EOL. $message.EOL."Liste des erreurs de saisie :".EOL.$messageErrCtrl.EOL.
"Liste des erreurs dans le format de fichier :".EOL.$listeErreurs); "Liste des erreurs dans le format de fichier :".EOL.$listeErreurs.EOL.
"Liste des anomalies diverses :".EOL.$listeAnomalies.EOL);
} }
} }

View File

@ -9,16 +9,16 @@ include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Récuperer les bilans déposés non encore en base. Récuperer les bilans déposés non encore en base.
Options : Options :
-t Rechercher les bilans source Tessi (*) -t Rechercher les bilans source Tessi (*)
-b Rechercher les bilans source Bodacc C (*) -b Rechercher les bilans source Bodacc C (*)
-s Limiter la recherche aux bilans ou scores en surveillance (*) -s Limiter la recherche aux bilans ou scores en surveillance (*)
-i:XXX Reprendre le traitement à la ligne n°XXX -i:XXX Reprendre le traitement à la ligne n°XXX
-v Mode bavard ou debug -v Mode bavard ou debug
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
"; ";
$tessi=$bodacc=$enSurveillance=$modeDebug=false; $tessi=$bodacc=$enSurveillance=$modeDebug=false;
$iReprise=0; $iReprise=0;
@ -41,7 +41,7 @@ for ($i=1; isset($argv[$i]); $i++) {
if (!$tessi && !$bodacc && !$enSurveillance) $tessi=$bodacc=$enSurveillance=true; if (!$tessi && !$bodacc && !$enSurveillance) $tessi=$bodacc=$enSurveillance=true;
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des bilans WEB...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des bilans WEB...".EOL;
$iDb=new WDB(); $iDb=new WDB();
$iDb2=new WDB(); $iDb2=new WDB();
@ -75,12 +75,12 @@ foreach ($tabQueries as $source=>$query) {
$strLastId=''; $strLastId='';
$lastPos=@file_get_contents(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp'); $lastPos=@file_get_contents(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp');
if (!$lastPos) { if (!$lastPos) {
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - ... pas de dernière position connue...".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s') ." - ... pas de dernière position connue...".EOL;
} else { } else {
echo date('Y/m/d - H:i:s') ." - ... dernière position connue : '$lastPos'...".EOL; echo date('Y/m/d - H:i:s') ." - ... dernière position connue : '$lastPos'...".EOL;
$strLastId=" AND id>=$lastPos"; $strLastId=" AND id>=$lastPos";
} }
// Tous les mois, on repart à 0 ! // Tous les mois, on repart à 0 !
if (date('d')*1==1) $strLastId=''; if (date('d')*1==1) $strLastId='';
$res=$iDb->query($query.$strLastId); $res=$iDb->query($query.$strLastId);
@ -88,7 +88,7 @@ foreach ($tabQueries as $source=>$query) {
$nbRows=mysql_num_rows($res); $nbRows=mysql_num_rows($res);
$nbRowsTot+=$nbRows; $nbRowsTot+=$nbRows;
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows bilans à rechercher par la source '$source'...".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbRows bilans à rechercher par la source '$source'...".EOL;
// Provisoirement // Provisoirement
//continue; //continue;
@ -102,11 +102,11 @@ foreach ($tabQueries as $source=>$query) {
$siren=$bilan['siren']; $siren=$bilan['siren'];
$dateExercice=$bilan['dateExercice']; $dateExercice=$bilan['dateExercice'];
$dureeExercice=$bilan['dureeExercice']; $dureeExercice=$bilan['dureeExercice'];
/** Ce bilan est il déjà en base ? **/ /** Ce bilan est il déjà en base ? **/
$ret=$iDb2->select('bilans', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC); $ret=$iDb2->select('bilans', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC);
$tabDeja=@$ret[0]; $tabDeja=@$ret[0];
if (@$tabDeja['id']*1>0) { if (@$tabDeja['id']*1>0) {
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice déjà en base #".$tabDeja['id']. echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice déjà en base #".$tabDeja['id'].
' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL; ' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL;
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false); $iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
$nbCache++; $nbCache++;
@ -114,11 +114,11 @@ foreach ($tabQueries as $source=>$query) {
} elseif ($modeDebug) } elseif ($modeDebug)
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice absent de la base Bilan".EOL; echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - $source $siren : $dateExercice absent de la base Bilan".EOL;
/** Ce bilan est il déjà en base 2 ? **/ /** Ce bilan est il déjà en base 2 ? **/
/*$ret=$iDb2->select('bilans2', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC); /*$ret=$iDb2->select('bilans2', 'id, dateProvPartenaire, partenaire, dateInsert', "siren=$siren AND dateExercice='$dateExercice'", false, MYSQL_ASSOC);
$tabDeja=@$ret[0]; $tabDeja=@$ret[0];
if (@$tabDeja['id']*1>0) { if (@$tabDeja['id']*1>0) {
echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - Siren $siren : $dateExercice déjà en base 2 #".$tabDeja['id']. echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRows - Siren $siren : $dateExercice déjà en base 2 #".$tabDeja['id'].
' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL; ' depuis le '.$tabDeja['dateProvPartenaire'].' (part='.$tabDeja['partenaire'].')'.EOL;
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false); $iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
continue; continue;
@ -174,8 +174,8 @@ foreach ($tabQueries as $source=>$query) {
//continue; //continue;
foreach ($tabInfo['millesimes'] as $millesime) { foreach ($tabInfo['millesimes'] as $millesime) {
/** On ne récupère que le dernier bilan /** On ne récupère que le dernier bilan
@todo Récupérer tous les bilans non encore en base @todo Récupérer tous les bilans non encore en base
**/ **/
if(substr($dateExercice,0,4)<>substr($millesime,0,4)) continue; if(substr($dateExercice,0,4)<>substr($millesime,0,4)) continue;
@ -203,7 +203,7 @@ foreach ($tabQueries as $source=>$query) {
elseif (preg_match("/signation de l'entreprise \: <strong(?:.*)>(.*)<..strong>/Uis", $body, $matches)) elseif (preg_match("/signation de l'entreprise \: <strong(?:.*)>(.*)<..strong>/Uis", $body, $matches))
$rs=$matches[1]; $rs=$matches[1];
// Durée de l'exercice // Durée de l'exercice
if (preg_match("/<td>Dur&eacute;e de l'exercice\* \: <b>(.*)&nbsp;mois<..b><..td>/Uis", $body, $matches)) if (preg_match("/<td>Dur&eacute;e de l'exercice\* \: <b>(.*)&nbsp;mois<..b><..td>/Uis", $body, $matches))
$nbMois=$matches[1]; $nbMois=$matches[1];
elseif (preg_match("/e de l'exercice\* \: <strong(?:.*)>(.*)mois <..strong>/Uis", $body, $matches)) elseif (preg_match("/e de l'exercice\* \: <strong(?:.*)>(.*)mois <..strong>/Uis", $body, $matches))
@ -304,7 +304,7 @@ foreach ($tabQueries as $source=>$query) {
}*/ }*/
//dureeExercice monnaie chiffreAffaire //dureeExercice monnaie chiffreAffaire
/** Contrôle de cohérence **/ /** Contrôle de cohérence **/
if (isset($tabPostes['FL']) && $chiffreAffaire<>$tabPostes['FL'] if (isset($tabPostes['FL']) && $chiffreAffaire<>$tabPostes['FL']
&& $source=='collecte') { && $source=='collecte') {
$ca1=$chiffreAffaire-1; $ca1=$chiffreAffaire-1;
@ -339,7 +339,7 @@ foreach ($tabQueries as $source=>$query) {
if (!$modeDebug && date('Hi')*1>=1930) { if (!$modeDebug && date('Hi')*1>=1930) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=@round($nbCache/$nbTot*100,2); $pct=@round($nbCache/$nbTot*100,2);
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Bilans WEB - Traitement quotidien", "$nbTot/$nbRowTot bilans traités dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Bilans WEB - Traitement quotidien", "$nbTot/$nbRowTot bilans traités dont $nbCache en cache ($pct %)");
die(); die();
} }
if ($modeDebug) randsleep(1,2); if ($modeDebug) randsleep(1,2);

View File

@ -16,20 +16,20 @@ $tabReg=array( 'Aquitaine',
'Centre', 'Centre',
'Champagne-Ardenne', 'Champagne-Ardenne',
'Corse', 'Corse',
'Franche-Comté', 'Franche-Comté',
'Haute-Normandie', 'Haute-Normandie',
'Île-de-France', 'Île-de-France',
'Languedoc-Roussillon', 'Languedoc-Roussillon',
'Limousin', 'Limousin',
'Lorraine', 'Lorraine',
'Midi Pyrénées', 'Midi Pyrénées',
'Nord-Pas-de-Calais', 'Nord-Pas-de-Calais',
'Outre-Mer', 'Outre-Mer',
'Pays-de-la-Loire', 'Pays-de-la-Loire',
'Picardie', 'Picardie',
'Poitou-Charentes', 'Poitou-Charentes',
'Provence-Alpes-Côte-d\'Azur', 'Provence-Alpes-Côte-d\'Azur',
'Rhône-Alpes', 'Rhône-Alpes',
'Etranger'); 'Etranger');
function getNextDate($dateCour, $nbJours=7) { function getNextDate($dateCour, $nbJours=7) {
@ -45,7 +45,7 @@ flush();
function getInfosAnnonce($annonceHtml) { function getInfosAnnonce($annonceHtml) {
$tabRet=array(); $tabRet=array();
$tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dd><label>Société : </label><strong>', '<strong>', '</strong></dd>')))); $tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dd><label>Société : </label><strong>', '<strong>', '</strong></dd>'))));
$tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dd><label>ISIN : </label>', '</label>', '</dd>'), array(':'=>'',' '=>'')))); $tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dd><label>ISIN : </label>', '</label>', '</dd>'), array(':'=>'',' '=>''))));
$tabRet['docDesc']=trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>')); $tabRet['docDesc']=trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>'));
$tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00'; $tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00';
@ -66,15 +66,15 @@ $iInsee=new MInsee();
$iBourse=new MBourse(); $iBourse=new MBourse();
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION] $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les dernières annonces BOAMP sur le site de la DJO. Recupère les dernières annonces BOAMP sur le site de la DJO.
Sans aucun paramètre, récupération des dernières Annonces. Sans aucun paramètre, récupération des dernières Annonces.
Sinon: Sinon:
-d:JJ/MM/AAAA Date de début de publication -d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication -f:JJ/MM/AAAA Date de fin de publication
-l Dernières parutions uniquement (*) -l Dernières parutions uniquement (*)
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes) -n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes) -i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -127,8 +127,8 @@ if ($lastJO) {
} }
$dateCour=$dateDeb; $dateCour=$dateDeb;
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération des BOAMP du $dateDebut au $dateFin...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération des BOAMP du $dateDebut au $dateFin...".EOL;
echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL; echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL;
flush(); flush();
while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
@ -138,7 +138,7 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1)); $dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1));
$dateTo = str_replace('/','%2F', $dateFin); $dateTo = str_replace('/','%2F', $dateFin);
echo date('Y/m/d - H:i:s') ." - Traitement des annonces d'informations financières du $dateDebut au $dateFin...".EOL; echo date('Y/m/d - H:i:s') ." - Traitement des annonces d'informations financières du $dateDebut au $dateFin...".EOL;
$userAgent='Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'; $userAgent='Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
@ -189,11 +189,11 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
if (preg_match('/<div class="nb_resultats">(?:.*)\:(.*)<\/div>/Uim', $body, $matches)) if (preg_match('/<div class="nb_resultats">(?:.*)\:(.*)<\/div>/Uim', $body, $matches))
$nbAnnonces=trim($matches[1]); $nbAnnonces=trim($matches[1]);
else else
die('Erreur : Aucun résultat trouvé'.EOL); die('Erreur : Aucun résultat trouvé'.EOL);
$nbPages=round($nbAnnonces/10); $nbPages=round($nbAnnonces/10);
echo date('Y/m/d - H:i:s') . " - Nombre du publication du $dateDebut au $dateFin : $nbAnnonces soit $nbPages page(s)...". EOL; echo date('Y/m/d - H:i:s') . " - Nombre du publication du $dateDebut au $dateFin : $nbAnnonces soit $nbPages page(s)...". EOL;
if ($nbPages>100) { if ($nbPages>100) {
echo date('Y/m/d - H:i:s') . " - ERREUR : Arrêt du traitement car il y a plus de 100 pages d'annonces !". EOL; echo date('Y/m/d - H:i:s') . " - ERREUR : Arrêt du traitement car il y a plus de 100 pages d'annonces !". EOL;
die(); die();
} }
@ -207,29 +207,29 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$c='...'; $c='...';
else { else {
print_r($page); print_r($page);
die('Erreur : Aucun numéro de session trouvé'.EOL); die('Erreur : Aucun numéro de session trouvé'.EOL);
} }
$dateDb=WDate::DateT('Ymd','Y-m-d',$dateCour); $dateDb=WDate::DateT('Ymd','Y-m-d',$dateCour);
$AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "docDate BETWEEN '$dateDb 00:00:00' AND '$dateDb 23:59:59'", false, MYSQL_ASSOC); $AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "docDate BETWEEN '$dateDb 00:00:00' AND '$dateDb 23:59:59'", false, MYSQL_ASSOC);
$nbAnnDb=$AnnDb[0]['nb']; $nbAnnDb=$AnnDb[0]['nb'];
if ($nbAnnDb>=$nbAnnonces) { if ($nbAnnDb>=$nbAnnonces) {
echo date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces DJO infos financières du $dateDebut ($dateDb) sont en base ($nbAnnDb) !". EOL; echo date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces DJO infos financières du $dateDebut ($dateDb) sont en base ($nbAnnDb) !". EOL;
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
$dateCour=getNextDate($dateCour,1); $dateCour=getNextDate($dateCour,1);
continue; continue;
} }
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) { elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL; $message=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
echo $message; echo $message;
/* /*
mail('ylenaour@scores-decisions.com', 'JO Association', $message); mail('ylenaour@scores-decisions.com', 'JO Association', $message);
mail('lenaoury@gmail.com', 'JO Association', $message); mail('lenaoury@gmail.com', 'JO Association', $message);
*/ */
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL; echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
} }
else else
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
$tabAnnonces=explode('<div class="r_title">', $page['body']); $tabAnnonces=explode('<div class="r_title">', $page['body']);
@ -279,7 +279,7 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w'); $fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) { if (!fwrite($fp, $page['body']) || !$fp) {
print_r($infoAnnBalo); print_r($infoAnnBalo);
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff, annonce n°$i2/$nbAnnonces, Isin = ". $infoAnnBalo['isin']." : \"". $infoAnnBalo['raisonSociale'] .'" !'.EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff, annonce n°$i2/$nbAnnonces, Isin = ". $infoAnnBalo['isin']." : \"". $infoAnnBalo['raisonSociale'] .'" !'.EOL;
} }
@fclose($fp); @fclose($fp);
$tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink'])); $tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink']));
@ -307,14 +307,14 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$dateAff=WDate::dateT('Y-m-d H:i:s', 'd/m/Y', $infoAnnBalo['docDate']); $dateAff=WDate::dateT('Y-m-d H:i:s', 'd/m/Y', $infoAnnBalo['docDate']);
if ($nbAnnDb==1) { if ($nbAnnDb==1) {
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'" déjà en base ('.$infoAnnBalo['docLangue'].') !'.EOL; echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'" déjà en base ('.$infoAnnBalo['docLangue'].') !'.EOL;
// L'annonce est déjà en base ! // L'annonce est déjà en base !
continue; continue;
} else } else
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'"... enregistrement ('.$infoAnnBalo['docLangue'].') !'.EOL; echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'"... enregistrement ('.$infoAnnBalo['docLangue'].') !'.EOL;
if (!$iDb->insert('balo_ireg', $infoAnnBalo) && mysql_error()<>1062) if (!$iDb->insert('balo_ireg', $infoAnnBalo) && mysql_error()<>1062)
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
} }
} }
@ -325,7 +325,7 @@ echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
die(); die();
/** Téléchargement du dernier balo complet en PDF /** Téléchargement du dernier balo complet en PDF
**/ **/
$url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF'; $url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF';
if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) { if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) {
@ -334,11 +334,11 @@ if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'
@mkdir($repBaloComp.$anneeParution); @mkdir($repBaloComp.$anneeParution);
$fp=@fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w'); $fp=@fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
if (!fwrite($fp, $page['body']) || !$fp) if (!fwrite($fp, $page['body']) || !$fp)
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL;
@fclose($fp); @fclose($fp);
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL;
} else } else
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL;
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL; echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;

View File

@ -19,7 +19,7 @@ flush();
$repPdfJoMc='/home/data/jomc'; $repPdfJoMc='/home/data/jomc';
$urlBaseJoMC='http://www.gouv.mc'; $urlBaseJoMC='http://cloud.gouv.mc';
$tabSrub=array( '(Appel À Candidature)'=> array('Even'=>''), $tabSrub=array( '(Appel À Candidature)'=> array('Even'=>''),
'(Association/Fondation)'=> array('CJ'=>92,'Even'=>''), '(Association/Fondation)'=> array('CJ'=>92,'Even'=>''),

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
<?php <?php
/** /**
** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice) ** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice)
** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all ** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php ** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
** **
** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!! ** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007 ** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/ **/
include_once(INCLUDE_PATH.'insee/classMInsee.php'); include_once(INCLUDE_PATH.'insee/classMInsee.php');
@ -32,7 +32,7 @@ foreach ($lstCom as $i=>$tabCom) {
$url="http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/Controleur.jsp?ddd=$dep&ccc=$com&service=lcfer&type=NULL&Valider=Valider"; $url="http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/Controleur.jsp?ddd=$dep&ccc=$com&service=lcfer&type=NULL&Valider=Valider";
$page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr'); $page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr');
$body=$page['body']; $body=$page['body'];
if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0) if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0)
{ {
//print_r($page); //print_r($page);
$cookie=$page['header']['Set-Cookie']; $cookie=$page['header']['Set-Cookie'];
@ -54,19 +54,19 @@ foreach ($lstCom as $i=>$tabCom) {
if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) { if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) {
$libTri=strip_tags($results[1]); $libTri=strip_tags($results[1]);
if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI
elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC
elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR
elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR
elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
else die("Libellé CFE '$libTri' inconnu !"); else die("Libellé CFE '$libTri' inconnu !");
} else die('Erreur fatale');/*</b><br> } else die('Erreur fatale');/*</b><br>
1 RUE JOSEPH BERNIER<br> 1 RUE JOSEPH BERNIER<br>
01000 BOURG EN BRESSE<br> 01000 BOURG EN BRESSE<br>
Tél : 04 74 32 13 00<br> Tél : 04 74 32 13 00<br>
Fax : 04 74 21 42 63<br> Fax : 04 74 21 42 63<br>
<a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a> <a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a>
</font>*/ </font>*/
@ -82,8 +82,8 @@ foreach ($lstCom as $i=>$tabCom) {
$cpVille=trim(@$results2[$i]); $cpVille=trim(@$results2[$i]);
$cp=substr($cpVille,0,5)*1; $cp=substr($cpVille,0,5)*1;
$ville=trim(substr($cpVille,5)); $ville=trim(substr($cpVille,5));
$tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1; $tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1;
$fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1; $fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1;
if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]); if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]);
if ($web=='http://') $web=''; if ($web=='http://') $web='';
@ -95,7 +95,7 @@ foreach ($lstCom as $i=>$tabCom) {
$code=$trib[0]['triCode']; $code=$trib[0]['triCode'];
$nom=$trib[0]['triNom']; $nom=$trib[0]['triNom'];
} else { } else {
// Il faut insérer la fiche ID de la compétence // Il faut insérer la fiche ID de la compétence
$tabAdr=$iInsee->structureVoie($adresse1); $tabAdr=$iInsee->structureVoie($adresse1);
$tabInsert=array('triType'=>$typeTri, $tabInsert=array('triType'=>$typeTri,
'triNom'=> $libTri, 'triNom'=> $libTri,
@ -121,7 +121,7 @@ foreach ($lstCom as $i=>$tabCom) {
if ($id>0) { if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id)); $ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
if (!$ret) { if (!$ret) {
echo ' Déjà en base.'; echo ' Déjà en base.';
} }
else { else {
echo ' ===> INSERE !!!'; echo ' ===> INSERE !!!';

294
1.1/old/getCncc.php Normal file
View File

@ -0,0 +1,294 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
$tabZones=array(
'nom'=>'<th>Nom :(?:.*)<td>(.*)</td>',
'adresse'=>'<th>Adresse :(?:.*)<td>(.*)<br />',
'adresse2'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(.*)?<br />',
'cp'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(?:.*)?<br />(\d\d\d\d\d) ',
'ville'=>'<th>Adresse :(?:.*)<td>(?:.*)<br />(?:.*)?<br />(?:\d\d\d\d\d) (.*)</td>',
'tel'=>'<th>Tél. :(?:.*)<td>(.*)</td>',
'fax'=>'<th>Fax :(?:.*)<td>(.*)</td>',
'annee'=>'<th>Année d\'inscription :(?:.*)<td>(.*)</td>',
'mail'=>'Mail :(?:.*)<td>(?:.*);">(.*)</a></td>',
'web'=>'<th>Site web :(?:.*)<td>(.*)</td>',
'numCRCC'=>'<th>Compagnie régionale :(?:.*)page=fiche_crcc&amp;id=(.*)&amp;parente=',
'fj'=>'<th>Forme juridique :(?:.*)<td>(.*)</td>',
'pays'=>'<th>Agr&eacute;&eacute; par (?:.*)<td>(.*)</td>',
'reseau'=>'<th>R&eacute;seau :(?:.*)<td>(.*)</td>',
'adh[nom,idAdh]'=>'<td style="padding-left:20px;">(?:.*)<strong>(.*)</strong>(?:.*)page=fiche&amp;id=(.*)&amp;r=&amp;parente=',
);
$tabCRC=array( '_03'=>'Agen',
'_06'=>'Aix en Provence - Bastia',
'_09'=>'Amiens',
'_12'=>'Angers',
'_13'=>'Basse-Terre',
'_15'=>'Besançon',
'_18'=>'Bordeaux',
'_21'=>'Bourges',
'_24'=>'Caen',
'_27'=>'Chambéry',
'_30'=>'Colmar',
'_33'=>'Dijon',
'_36'=>'Douai',
'_95'=>'Fort-de-France',
'_39'=>'Grenoble',
'_42'=>'Limoges',
'_45'=>'Lyon',
'_48'=>'Metz',
'_51'=>'Montpellier',
'_54'=>'Nancy',
'_57'=>'Nîmes',
'_60'=>'Nouméa',
'_63'=>'Orléans',
'_66'=>'Paris',
'_67'=>'Paris: "CAC inscrits dans le cadre de l\'art. L822-1-3"',
'_69'=>'Pau',
'_72'=>'Poitiers',
'_75'=>'Reims',
'_78'=>'Rennes',
'_81'=>'Riom',
'_84'=>'Rouen',
'_07'=>'Saint-Denis de la Réunion',
'_87'=>'Toulouse',
'_90'=>'Versailles');
include_once(FWK_PATH.'common/curl.php');
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
$modeDebug=$modeFiches=false;
$numCRCC=0;
$strCRCC='';
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options :
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
-f Mode fiche
-r:XX Numéro de la CRCC
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
";*/
$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 'r': $numCRCC=substr($argv[$i],3); break;
case 'f': $modeFiches=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
}
}
$iDb=new WDB('sdv1');
$table='tabCNCC';
$urlBase="http://annuaire.cncc.fr/index.php?page=liste";
$urlFiche="http://annuaire.cncc.fr/index.php?page=fiche&id=";
if ($numCRCC>0 && !@array_key_exists("_$numCRCC", $tabCRC))
die("Numéro de CRCC inexistant : $numCRCC".EOL);
elseif (!$modeFiches)
$strCRCC=" de la CRCC '".$tabCRC["_$numCRCC"]."'";
elseif ($modeFiches) {
$ret=$iDb->select('tabCNCC', 'id, type, numCRCC, nom', "dateUpdate=0", false, MYSQL_ASSOC);
$nb=count($ret);
foreach($ret as $i=>$tabCAC) {
$id=$tabCAC['id'];
$url=$urlFiche.$id;
$page=getUrl($url, '', '', '', false);
$referer=$url;
$body=$page['body'];
//print_r($page);
$tabHtml=@html2array($body, $tabZones);
foreach ($tabHtml as $zone=>$data) {
if (is_array($data)) {
foreach ($data as $j=>$tabInsert2) {
$tabInsert2['id']=$id;
$tabInsert2['num']=$j;
$tabInsert2['dateInsert']=date('YmdHis');
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
if (mysql_errno()==1062) {
unset($tabInsert2['dateInsert']);
$iDb->update($table.$zone, $tabInsert2, "id=$id AND num=$j", false);
} else {
print_r($tabInsert2);
die(mysql_error());
}
}
}
} elseif ($zone=='mail')
$tabInsert[$zone]=str_replace('[arrobase]','@',$data);
else
$tabInsert[$zone]=$data;
}
$iDb->update($table, $tabInsert, "id=$id", false);
echo date ('Y/m/d - H:i:s')." - $i/$nb : Mise à jour du CAC n°$id, ".$tabCAC['nom'].'...'.EOL;
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
die();
}
$tabZones=array('type'=>'<td align="center"><img src="_img/picto_type_(PM|PP).gif"',
'id'=>'page=fiche&amp;id=(.*)&amp;r=',
'nom'=>'page=fiche&amp;id=(?:.*)&amp;r=(?:.*)">(.*)</a></td>',
);
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des CAC".$strCRCC.'...'.EOL;
$listeCAC=array();
$post=array('recherche'=>1,
'nature_fiche'=>'toutes',
'nom_societe'=>'',
'cp_ville'=>'',
'crcc'=>$numCRCC,
'x'=>0,
'y'=>10);
$page=getUrl($urlBase, '', $post, '', false);
$referer=$urlBase;
$body=$page['body'];
if (preg_match('/<span class="float-left">Nombre de résultats \:(.*)<\/span>/Uis', $body, $matches)) {
$nbCAC=trim($matches[1]);
$nbPages=ceil($nbCAC/15);
}
echo date ('Y/m/d - H:i:s')." - Liste de $nbCAC CAC sur $nbPages pages.".EOL;
echo date ('Y/m/d - H:i:s')." - Page ";
$cookie=$page['header']['Set-Cookie'];
$pageCour=1;
while(1) {
echo "$pageCour/$nbPages, ";
$tmpListe=explode('<tr class="ligne_', $body);
foreach ($tmpListe as $i=>$tmpCAC) {
if ($i==0) continue;
$tmpCAC=preg_replace('/<\/table>.*$/Uis', '', $tmpCAC);
//echo $i.EOL.$tmpCAC;
$tabHtml=@html2array($tmpCAC, $tabZones);
$listeCAC[]=$tabHtml;
}
$pageCour++;
if ($pageCour>$nbPages) break;
//if ($pageCour>100) break;
$url=$urlBase.'&p='.$pageCour;
$page=getUrl($url, $cookie, '', $referer, false);
$referer=$url;
$body=$page['body'];
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
foreach ($listeCAC as $i=>$tabCAC) {
echo $tabCAC['type']."\t".$tabCAC['id']."\t".$tabCAC['nom'].EOL;
//$tabCAC['nom']=utf8_decode($tabCAC['nom']);
if ($numCRCC>0) $tabCAC['numCRCC']=$numCRCC;
//else $tabCAC['numCRCC']=NULL;
$tabCAC['dateInsert']=date('YmdHis');
$iDb->insert($table, $tabCAC, false);
if (mysql_errno()<>0 && mysql_errno()<>1062) echo mysql_error().EOL;
}
die();
/*
$iDeb=$ret[0][0];
$nbVides=0;
echo date ('Y/m/d - H:i:s')." - Dernier id entreprise '$table' = $iDeb".EOL;
µ/
for($i=$iDeb;;$i++) {
//http://www.qualifelec.fr/recherche/fiche.php?idadh=8148&PHPSESSID=i1jgdorhdighojasq5otfpc1v67drkqi
$tabInsert=array('id'=>$i);
$ret=$iDb->select($table, 'raiSoc', "id=$i", false);
if (@$ret[0][0]<>'') continue;
$url=$urlBase.$i;
$page=getUrl($url, '', '', '', false);
$referer=$url;
$body=$page['body'];
$tabHtml=html2array($body, $tabZones);
foreach ($tabHtml as $zone=>$data) {
if (is_array($data)) {
foreach ($data as $j=>$tabInsert2) {
$tabInsert2['id']=$i;
$tabInsert2['num']=$j;
$tabInsert2['dateInsert']=date('YmdHis');
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
if (mysql_errno()==1062) {
unset($tabInsert2['dateInsert']);
$iDb->update($table.$zone, $tabInsert2, "id=$i AND num=$j", false);
} else {
print_r($tabInsert2);
die(mysql_error());
}
}
}
} else
$tabInsert[$zone]=$data;
}
if (count($tabInsert)<10 || $tabInsert['raiSoc']=='') {
$nbVides++;
if ($nbVides<20) continue;
else {
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die();
}
}
$nbVides=0;
unset($tabInsert['qualifs']);
if (isset($tabInsert['urlImg']) && $tabInsert['urlImg']<>'') {
$urlLogo='http://www.qualifelec.fr/';
die($tabInsert['urlImg']);
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') {
$extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) {
$referer='';
$tDeb=microtime(true);
$page=getUrl($urlLogo, '', '', $referer, false, '', '', 60);
$duree=round(microtime(true)-$tDeb,3);
$body=$page['body'];
$taille=round(strlen($body)/1024,1);
file_put_contents("/home/data/logos/$siren.$extension",$body);
}
}
}
unset($tabInsert['urlImg']);
$tabInsert['dateInsert']=date('YmdHis');
if (!$iDb->insert($table, $tabInsert, false)) {
if (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$iDb->update($table, $tabInsert, "id=$i", false);
} else {
print_r($tabInsert);
die(mysql_error());
}
}
//die();
$nb=count($tabInsert);
$nb2=@count($tabInsert2);
echo date('Y/m/d H:i:s')." - $i : $nb zones et $nb2 qualifications".EOL;
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
die();
*/
?>

View File

@ -20,12 +20,12 @@ define('CSF_FTP_DIR', '/home/data/ftp/creditsafe/send/');
define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/'); define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des fichier défaillances en provenance de CSF. Chargement du/des fichier défaillances en provenance de CSF.
Options : Options :
-j Ne pas charger les jugements INPI S&D en Amont -j Ne pas charger les jugements INPI S&D en Amont
-c Ne pas charger les défaillances CSF -c Ne pas charger les défaillances CSF
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-i Ne pas poser de questions interactives. -i Ne pas poser de questions interactives.
-t Charger en test (implique -j -d) -t Charger en test (implique -j -d)
@ -36,13 +36,13 @@ Options :
$iRncs=new MRncs(); $iRncs=new MRncs();
$iGreffe=new MGreffes(); $iGreffe=new MGreffes();
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0; $nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=$nbSiretRetraitement=0;
$modeDebug=false; // Mode débug $modeDebug=false; // Mode débug
$questions=true; // Questions interactives autorisées $questions=true; // Questions interactives autorisées
$loadInpiLocal=true; // Charger d'abord les derniers jugements INPI IMR locaux $loadInpiLocal=true; // Charger d'abord les derniers jugements INPI IMR locaux
$loadCSF=true; // Charger les jugements Greffes via CSF $loadCSF=true; // Charger les jugements Greffes via CSF
$tabFichier=$tabFichLigneCmd=array(); $tabFichier=$tabFichLigneCmd=array();
$message=''; // Initialisation du mail d'exécution du traitement $message=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -79,18 +79,18 @@ Options :
$nbInsert=$ret['insert']; $nbInsert=$ret['insert'];
$nbDeja=$ret['update']; $nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja; $nbTot=$nbInsert+$nbDeja;
$message.="Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n"; $message.="Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) RJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL;
$ret=$iGreffe->getListeCessions('lj'); $ret=$iGreffe->getListeCessions('lj');
$nbInsert=$ret['insert']; $nbInsert=$ret['insert'];
$nbDeja=$ret['update']; $nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja; $nbTot=$nbInsert+$nbDeja;
$message.="Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n"; $message.="Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbTot annonce(s) LJ avec cessions dont $nbInsert nouvelles ($nbDeja déjà en base).".EOL;
$nbAnnUpdateJ=$nbAnnInsertJ=0; // Jugements $nbAnnUpdateJ=$nbAnnInsertJ=0; // Jugements
$nbAnnUpdateE=$nbAnnInsertE=0; // Evènements $nbAnnUpdateE=$nbAnnInsertE=0; // Evènements
$tabTmp=$iDb->select($table, 'MAX(dateInsert) as lastInsert',"source='PP' AND typeEven<2000", false, MYSQL_ASSOC); $tabTmp=$iDb->select($table, 'MAX(dateInsert) as lastInsert',"source='PP' AND typeEven<2000", false, MYSQL_ASSOC);
$dateMaj=$tabTmp[0]['lastInsert']; $dateMaj=$tabTmp[0]['lastInsert'];
//$dateMaj='2009-07-01 01:00:00'; //$dateMaj='2009-07-01 01:00:00';
@ -118,10 +118,10 @@ Options :
$tabInsert['adresse'] = $tabTmp['Adresse']; $tabInsert['adresse'] = $tabTmp['Adresse'];
$tabInsert['codePostal'] = $tabTmp['CP']; $tabInsert['codePostal'] = $tabTmp['CP'];
$tabInsert['ville'] = $tabTmp['Ville']; $tabInsert['ville'] = $tabTmp['Ville'];
// On recherche s'il y a eu un même jugement au cours de 3 derniers mois // On recherche s'il y a eu un même jugement au cours de 3 derniers mois
$tabTmp=$iDb->select($table, 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom, $tabTmp=$iDb->select($table, 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
/*inter5type, inter5id, inter5nom,*/ dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren AND ABS(DATEDIFF(dateJugement, '$dateJugement'))<60 AND typeEven=$typeEven", false, MYSQL_ASSOC); /*inter5type, inter5id, inter5nom,*/ dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren AND ABS(DATEDIFF(dateJugement, '$dateJugement'))<60 AND typeEven=$typeEven", false, MYSQL_ASSOC);
echo date ('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren : ".count($tabTmp).EOL; echo date ('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren : ".count($tabTmp).EOL;
$tabEnbase=$tabTmp[0]; $tabEnbase=$tabTmp[0];
if (isset($tabEnbase['id'])) { if (isset($tabEnbase['id'])) {
$dateJugementEnBase=$tabEnbase['dateJugement']; $dateJugementEnBase=$tabEnbase['dateJugement'];
@ -135,15 +135,15 @@ Options :
} }
} }
else else
echo 'JUGEMENT le même JOUR déjà en base :'.EOL; echo 'JUGEMENT le même JOUR déjà en base :'.EOL;
// On liste les types de mandataires enregistrés par les greffes ou autre // On liste les types de mandataires enregistrés par les greffes ou autre
$tabMandEnBase=$tabMandSav=array(); $tabMandEnBase=$tabMandSav=array();
for ($iMand=1;$iMand<6;$iMand++) for ($iMand=1;$iMand<6;$iMand++)
if (trim($tabEnbase['inter'.$iMand.'type'])<>'') if (trim($tabEnbase['inter'.$iMand.'type'])<>'')
$tabMandEnBase[$iMand]=trim($tabEnbase['inter'.$iMand.'type']); $tabMandEnBase[$iMand]=trim($tabEnbase['inter'.$iMand.'type']);
// On garde les infos mandataires déjà en base et correctement renseignées // On garde les infos mandataires déjà en base et correctement renseignées
for ($iInsert=1;$iInsert<5;$iInsert++) { for ($iInsert=1;$iInsert<5;$iInsert++) {
for ($iMand=1; $iMand<6 && isset($tabMandEnBase[$iMand]);$iMand++) for ($iMand=1; $iMand<6 && isset($tabMandEnBase[$iMand]);$iMand++)
if (in_array($tabInsert['inter'.$iInsert.'type'], $tabMandEnBase)) { if (in_array($tabInsert['inter'.$iInsert.'type'], $tabMandEnBase)) {
@ -177,10 +177,10 @@ Options :
$tabInsert['inter'.$iInsert.'nom']=$tabMandSav[$typeMand]['nom']; $tabInsert['inter'.$iInsert.'nom']=$tabMandSav[$typeMand]['nom'];
$iInsert++; $iInsert++;
if ($iInsert==6) { if ($iInsert==6) {
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, plus de 4 intervenants dans la procédure pour $siren".EOL.print_r($tabMandSav, true).EOL. sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, plus de 4 intervenants dans la procédure pour $siren".EOL.print_r($tabMandSav, true).EOL.
"Annonce en base :".EOL. "Annonce en base :".EOL.
print_r($tabEnbase, true).EOL. print_r($tabEnbase, true).EOL.
"Informations à mettre à jour :".EOL. "Informations à mettre à jour :".EOL.
print_r($tabInsert, true).EOL); print_r($tabInsert, true).EOL);
//die("Trop d'intervenants".EOL); //die("Trop d'intervenants".EOL);
} }
@ -195,18 +195,33 @@ print_r($tabInsert, true).EOL);
// On met toujours la date INPI en base ! // On met toujours la date INPI en base !
if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugementEnBase' AND typeEven=$typeEven", false, MYSQL_ASSOC)) { if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugementEnBase' AND typeEven=$typeEven", false, MYSQL_ASSOC)) {
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL; echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
print_r($tabInsert); print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} else { } else {
$nbAnnUpdateJ++; $nbAnnUpdateJ++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} }
} else { } else {
if (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
$tabInsert['typeEven']*1==1505 || // Appel de jugement
$tabInsert['typeEven']*1==1506 || // Infirmation Jugement
$tabInsert['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
$tabInsert['typeEven']*1==1515 || // Arrêt divers
$tabInsert['typeEven']*1==1517 || // Rectification d'une erreur matérielle
$tabInsert['typeEven']*1==1520 || // Ordonnance
$tabInsert['typeEven']*1==1525 || // Appel du ministère public
$tabInsert['typeEven']*1==1999) { // Autre procol)
$tabInsert['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $i : Annonce INPI à retraiter manuellement ". $tabInsert['siren'] .' !'.EOL;
$nbSiretRetraitement++;
}
if (!$iDb->insert($table, array_merge($tabInsert,array('dateInsert'=>date('YmdHis'))))) { if (!$iDb->insert($table, array_merge($tabInsert,array('dateInsert'=>date('YmdHis'))))) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL; echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
print_r($tabInsert); print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'insertion du jugement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'insertion du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} }
/* /*
@ -217,21 +232,21 @@ print_r($tabInsert, true).EOL);
$line = trim(fgets(STDIN)); $line = trim(fgets(STDIN));
} }
} else } else
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} else {*/ } else {*/
$nbAnnInsertJ++; $nbAnnInsertJ++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ajout du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
} }
} }
$message.=" $nbAnnInsertJ ajouts et $nbAnnUpdateJ mises à jours sur $nbAnnonces annonces.\r\n\r\n".EOL; $message.=" $nbAnnInsertJ ajouts et $nbAnnUpdateJ mises à jours sur $nbAnnonces annonces et $nbSiretRetraitement annonces à retraiter !\r\n\r\n".EOL;
} else } else
echo date('Y/m/d - H:i:s') ." - On ignore le chargement des annonce(s) jugements INPI IMR !".EOL; echo date('Y/m/d - H:i:s') ." - On ignore le chargement des annonce(s) jugements INPI IMR !".EOL;
if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) { if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) {
if (!$loadCSF) if (!$loadCSF)
die(date ('Y/m/d - H:i:s') . " - On ignore le chargement des défaillances".EOL); die(date ('Y/m/d - H:i:s') . " - On ignore le chargement des défaillances".EOL);
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des défaillances".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des défaillances".EOL;
global $tabCodeEven; global $tabCodeEven;
$tabCodeEven=array( 'LJ' => 1305, // Liquidation Judiciaire $tabCodeEven=array( 'LJ' => 1305, // Liquidation Judiciaire
@ -239,48 +254,48 @@ print_r($tabInsert, true).EOL);
'PDS' => 1100, // Procedure De Sauvegarde 'PDS' => 1100, // Procedure De Sauvegarde
'PS' => 1101, // Plan De Sauvegarde 'PS' => 1101, // Plan De Sauvegarde
'RJ' => 1200, // Redressement Judiciaire 'RJ' => 1200, // Redressement Judiciaire
'RJS' => 1200, // Redressement Judiciaire Simplifié ? 'RJS' => 1200, // Redressement Judiciaire Simplifié ?
'CCJ_DIV'=>1999, // Autres jugements et ordonnances 'CCJ_DIV'=>1999, // Autres jugements et ordonnances
'CI' => 1503, // Clôture pour insuffisance d'actif 'CI' => 1503, // Clôture pour insuffisance d'actif
'CSL' => 1307, // Conversion de la sauvegarde en LJ 'CSL' => 1307, // Conversion de la sauvegarde en LJ
'CSR' => 1201, // Conversion de la sauvegarde en RJ 'CSR' => 1201, // Conversion de la sauvegarde en RJ
'DOP' => 1215, // Désignation des organes de procédure 'DOP' => 1215, // Désignation des organes de procédure
'EC' => 1203, // Dépôt de l'état de collocation 'EC' => 1203, // Dépôt de l'état de collocation
'EOPC' => 1511, // Cloture du plan de cession 'EOPC' => 1511, // Cloture du plan de cession
'EOPDS' => 1500, // Cloture de la procédure de sauvegarde 'EOPDS' => 1500, // Cloture de la procédure de sauvegarde
'EOPS' => 1513, // Cloture du plan de sauvegarde 'EOPS' => 1513, // Cloture du plan de sauvegarde
'EORJ' => 1512, // Cloture de la procédure de redressement judiciaire 'EORJ' => 1512, // Cloture de la procédure de redressement judiciaire
'EXLJ' => 1417, // Extension de la liquidation judiciaire 'EXLJ' => 1417, // Extension de la liquidation judiciaire
'EXPDS' => 1419, // Extension de la procédure de sauvegarde 'EXPDS' => 1419, // Extension de la procédure de sauvegarde
'EXRJ' => 1418, // Extension de la procédure de redresseent judiciaire 'EXRJ' => 1418, // Extension de la procédure de redresseent judiciaire
'FP' => 1600, // Faillite personnelle 'FP' => 1600, // Faillite personnelle
'JCC' => 1501, // Jugement de clôture après cession 'JCC' => 1501, // Jugement de clôture après cession
'JEP' => 1502, // Extinction du passif 'JEP' => 1502, // Extinction du passif
'JIG' => 1601, // Interdiction de gérer 'JIG' => 1601, // Interdiction de gérer
'LB' => 1603, // Liquidation de biens 'LB' => 1603, // Liquidation de biens
'PC' => 1411, // Plan de cession 'PC' => 1411, // Plan de cession
'PCL' => 1411, // Plan de cession avec location-gérance 'PCL' => 1411, // Plan de cession avec location-gérance
'PCM' => 1408, // Jugement lié au plan de cession 'PCM' => 1408, // Jugement lié au plan de cession
'PCP' => 1412, // Plan de cession partielle 'PCP' => 1412, // Plan de cession partielle
'PCR' => 1413, // Plan de continuation/Redressement 'PCR' => 1413, // Plan de continuation/Redressement
'PCRM' => 1409, // Jugement lié au plan de continuation/redressement 'PCRM' => 1409, // Jugement lié au plan de continuation/redressement
'PR' => 1407, // Jugement lié au projet de répartition 'PR' => 1407, // Jugement lié au projet de répartition
'PSM' => 1407, // Jugement lié au plan de sauvegarde 'PSM' => 1407, // Jugement lié au plan de sauvegarde
'RGJ' => 1209, // Règlement judiciaire 'RGJ' => 1209, // Règlement judiciaire
'STOP_LJ'=>1544, // Rétractation de jugement de liquidation judiciaire 'STOP_LJ'=>1544, // Rétractation de jugement de liquidation judiciaire
'STOP_PCL'=>1506, // Rétractation de jugement => Infirmation Jugement 'STOP_PCL'=>1506, // Rétractation de jugement => Infirmation Jugement
'STOP_RJ'=>1543, // Rétractation de jugement de redressement judiciaire 'STOP_RJ'=>1543, // Rétractation de jugement de redressement judiciaire
'CRE' => 1210, // Jugement lié aux créances => Production de titres et créances 'CRE' => 1210, // Jugement lié aux créances => Production de titres et créances
'AMP' => 1525, // Appel du ministère public => Appel de jugement 'AMP' => 1525, // Appel du ministère public => Appel de jugement
'HC' => 1445, // Homologation de concordat => Jugement d'homologation de l'accord 'HC' => 1445, // Homologation de concordat => Jugement d'homologation de l'accord
'HP' => 1460, // Plan homologué => Jugement d'homologation de l'accord 'HP' => 1460, // Plan homologué => Jugement d'homologation de l'accord
'CP' => 1010, // Cessation de paiement 'CP' => 1010, // Cessation de paiement
'PA' => 1430, // Jugement autorisant la poursuite d'activité 'PA' => 1430, // Jugement autorisant la poursuite d'activité
'PUB' => 1700, // Décision soumise à publicité 'PUB' => 1700, // Décision soumise à publicité
'SEP' => 1435, // Suspension de l'éxecution provisoire 'SEP' => 1435, // Suspension de l'éxecution provisoire
'SP' => 1436, // Suspension provisoire des poursuites 'SP' => 1436, // Suspension provisoire des poursuites
); );
/* /*
@ -304,7 +319,7 @@ print_r($tabInsert, true).EOL);
$fp=fopen(CSF_FTP_DIR.$nomFichier, 'r'); $fp=fopen(CSF_FTP_DIR.$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -316,28 +331,28 @@ print_r($tabInsert, true).EOL);
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
//$finFichier=false; //$finFichier=false;
$ligne=1; $ligne=1;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$a = trim(fgets($fp, 2048)); $a = trim(fgets($fp, 2048));
$tab=explode("\t", $a); $tab=explode("\t", $a);
$erreur=''; $erreur='';
if (strtoupper($tab[ 0])<>'REF_CLIENT') $erreur.='Ligne 1, Champ 1 : libellé REF_CLIENT attentu'; if (strtoupper($tab[ 0])<>'REF_CLIENT') $erreur.='Ligne 1, Champ 1 : libellé REF_CLIENT attentu';
if (strtoupper($tab[ 1])<>'DATE_FRAICHEUR') $erreur.='Ligne 1, Champ 2 : libellé DATE_FRAICHEUR attentu'; if (strtoupper($tab[ 1])<>'DATE_FRAICHEUR') $erreur.='Ligne 1, Champ 2 : libellé DATE_FRAICHEUR attentu';
if (strtoupper($tab[ 2])<>'RCS') $erreur.='Ligne 1, Champ 3 : libellé RCS attentu'; if (strtoupper($tab[ 2])<>'RCS') $erreur.='Ligne 1, Champ 3 : libellé RCS attentu';
if (strtoupper($tab[ 3])<>'RAISON_SOCIALE') $erreur.='Ligne 1, Champ 4 : libellé RAISON_SOCIALE attentu'; if (strtoupper($tab[ 3])<>'RAISON_SOCIALE') $erreur.='Ligne 1, Champ 4 : libellé RAISON_SOCIALE attentu';
if (strtoupper($tab[ 4])<>'ADRESSE1') $erreur.='Ligne 1, Champ 5 : libellé ADRESSE1 attentu'; if (strtoupper($tab[ 4])<>'ADRESSE1') $erreur.='Ligne 1, Champ 5 : libellé ADRESSE1 attentu';
if (strtoupper($tab[ 5])<>'ADRESSE2') $erreur.='Ligne 1, Champ 6 : libellé ADRESSE2 attentu'; if (strtoupper($tab[ 5])<>'ADRESSE2') $erreur.='Ligne 1, Champ 6 : libellé ADRESSE2 attentu';
if (strtoupper($tab[ 6])<>'ADRESSE3') $erreur.='Ligne 1, Champ 7 : libellé ADRESSE3 attentu'; if (strtoupper($tab[ 6])<>'ADRESSE3') $erreur.='Ligne 1, Champ 7 : libellé ADRESSE3 attentu';
if (strtoupper($tab[ 7])<>'CCJ_CSFR') $erreur.='Ligne 1, Champ 8 : libellé CCJ_CSFR attentu'; if (strtoupper($tab[ 7])<>'CCJ_CSFR') $erreur.='Ligne 1, Champ 8 : libellé CCJ_CSFR attentu';
if (strtoupper($tab[ 8])<>'CCJ_DATE') $erreur.='Ligne 1, Champ 9 : libellé CCJ_DATE attentu'; if (strtoupper($tab[ 8])<>'CCJ_DATE') $erreur.='Ligne 1, Champ 9 : libellé CCJ_DATE attentu';
if (strtoupper($tab[ 9])<>'TRIBUNAL') $erreur.='Ligne 1, Champ 10 : libellé TRIBUNAL attentu'; if (strtoupper($tab[ 9])<>'TRIBUNAL') $erreur.='Ligne 1, Champ 10 : libellé TRIBUNAL attentu';
if (strtoupper($tab[10])<>'MANDATAIRE') $erreur.='Ligne 1, Champ 11 : libellé MANDATAIRE attentu'; if (strtoupper($tab[10])<>'MANDATAIRE') $erreur.='Ligne 1, Champ 11 : libellé MANDATAIRE attentu';
if (strtoupper($tab[11])<>'REF_CSFR') $erreur.='Ligne 1, Champ 12 : libellé REF_CSFR attentu'; if (strtoupper($tab[11])<>'REF_CSFR') $erreur.='Ligne 1, Champ 12 : libellé REF_CSFR attentu';
//Ref_client date_fraicheur RCS Raison_sociale adresse1 adresse2 adresse3 CCJ_CSFR //Ref_client date_fraicheur RCS Raison_sociale adresse1 adresse2 adresse3 CCJ_CSFR
//CCJ_date Tribunal mandataire Ref_csfr //CCJ_date Tribunal mandataire Ref_csfr
@ -355,7 +370,7 @@ print_r($tabInsert, true).EOL);
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
if ($a=='') continue; if ($a=='') continue;
//if ($modeDebug) echo "Ligne $ligne Déb: '$a'".EOL; //if ($modeDebug) echo "Ligne $ligne Déb: '$a'".EOL;
//unset($tabErreur); $nbErr=0; //unset($tabErreur); $nbErr=0;
$tab=explode("\t", $a); $tab=explode("\t", $a);
@ -363,7 +378,7 @@ print_r($tabInsert, true).EOL);
$tabAnn=array(); $tabAnn=array();
if ($tab[0]<>'SandD') if ($tab[0]<>'SandD')
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs REF_CLIENT différent de 'SandD' (".$tab[0].') !'.EOL; echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Champs REF_CLIENT différent de 'SandD' (".$tab[0].') !'.EOL;
$siren=$tabAnn['siren'] = $tab[2]; $siren=$tabAnn['siren'] = $tab[2];
@ -385,7 +400,7 @@ print_r($tabInsert, true).EOL);
$tabAnn['ville'] = trim(substr($cpVille,5)); $tabAnn['ville'] = trim(substr($cpVille,5));
$dep=substr($cpVille,0,2)*1; $dep=substr($cpVille,0,2)*1;
if (!$iInsee->isDepartement($dep)) { if (!$iInsee->isDepartement($dep)) {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Département '$dep' inconnu !".EOL; echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Département '$dep' inconnu !".EOL;
//die($a); //die($a);
//echo '?'; //echo '?';
//$line = trim(fgets(STDIN)); //$line = trim(fgets(STDIN));
@ -458,7 +473,7 @@ print_r($tabInsert, true).EOL);
elseif ($source=='P' && $dep>0 && $dep<977) { elseif ($source=='P' && $dep>0 && $dep<977) {
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false); $tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
$tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']); $tabTribunaux=$iBodacc->getTribunauxParCommune($tabIdentite['Dept'].$tabIdentite['codeCommune']);
// En fonction du département 67,68 et de la CJ 1xxx non commerçant, Associations : TGI // En fonction du département 67,68 et de la CJ 1xxx non commerçant, Associations : TGI
foreach ($tabTribunaux as $trib) foreach ($tabTribunaux as $trib)
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') { if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
$tabAnn['tribunal']=$trib['triCode']; $tabAnn['tribunal']=$trib['triCode'];
@ -489,9 +504,9 @@ print_r($tabInsert, true).EOL);
else { else {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes : Tribunal CSF inconnu '$tribunal' (Dept.=$dep, source=$source) !".EOL; echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes : Tribunal CSF inconnu '$tribunal' (Dept.=$dep, source=$source) !".EOL;
$tabAnn['tribunal']=$tribunal.'*'; $tabAnn['tribunal']=$tribunal.'*';
if ($source<>'P' && $source<>'I') { /* On insert le jugement uniquement si on l'a pas déjà en base ! */ if ($source<>'P' && $source<>'I') { /* On insert le jugement uniquement si on l'a pas déjà en base ! */
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren']." : '$a' - Problème de tribunal".EOL; echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren']." : '$a' - Problème de tribunal".EOL;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement CSF : Problème de tribunal', "Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL); sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement CSF : Problème de tribunal', "Ligne $ligne/$nbLignes, source $source, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
} }
} }
} }
@ -504,26 +519,26 @@ print_r($tabInsert, true).EOL);
if ($tabIdentite['SituationJuridique']<>'P') { if ($tabIdentite['SituationJuridique']<>'P') {
if ($dateJugeKbis>date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y')))) { if ($dateJugeKbis>date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y')))) {
if ($tabAnn['typeEven']<>1445) { if ($tabAnn['typeEven']<>1445) {
// L'entreprise n'est pas connue comme en Procol et le jugement à mois de 6 mois ! // L'entreprise n'est pas connue comme en Procol et le jugement à mois de 6 mois !
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source JC, siren=".$tabAnn['siren']." : '$a'".EOL; echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes, source JC, siren=".$tabAnn['siren']." : '$a'".EOL;
sendMail('production@scores-decisions.com', 'prod@scores-decisions.com', 'Chargement CSF : Procol inconnue', "Ligne $ligne/$nbLignes, source Kairos via CSF, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL); sendMail('production@scores-decisions.com', 'prod@scores-decisions.com', 'Chargement CSF : Procol inconnue', "Ligne $ligne/$nbLignes, source Kairos via CSF, siren=".$tabAnn['siren'].EOL."$a".EOL.print_r($tabAnn, true).EOL);
} else continue; } else continue;
} else continue; } else continue;
} else { } else {
// Provisoirement, on ignore l'annonce car déjà en procol // Provisoirement, on ignore l'annonce car déjà en procol
/** @todo /** @todo
Si dernière annonce = SV, RJ, LJ prendre la nouv. annonce si suite du jugement Si dernière annonce = SV, RJ, LJ prendre la nouv. annonce si suite du jugement
**/ **/
continue; continue;
} }
} else { } else {
$tabAnn['source'] = $source.'C'; $tabAnn['source'] = $source.'C';
$texte = trim(@$tab[10]); $texte = trim(@$tab[10]);
/*JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 15/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE, SOUS LE NUMÉRO 2010J00041 DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX , JUGE COMMISSAIRE M. CHIKAR , JUGE COMMISSAIRE SUPPLÉANT M. HAMON , MET FIN À LA MISSION DE L'ADMINISTRATEUR ME TULIER RUE RENÉ CASSIN IMMEUBLE LE MAZIÈRE - 4ÈME ÉTAGE 91000 EVRY /*JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 15/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE, SOUS LE NUMÉRO 2010J00041 DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX , JUGE COMMISSAIRE M. CHIKAR , JUGE COMMISSAIRE SUPPLÉANT M. HAMON , MET FIN À LA MISSION DE L'ADMINISTRATEUR ME TULIER RUE RENÉ CASSIN IMMEUBLE LE MAZIÈRE - 4ÈME ÉTAGE 91000 EVRY
*/ */
$regExDate='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{4,4})'; $regExDate='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{4,4})';
$regExDate2='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{2,2})'; $regExDate2='((?:\d{1,2}|1er)(?:\/|\.|-)\d{1,2}(?:\/|\.|-)\d{2,2})';
$regExDateLong='(([0-9]{1,2}|1er)\s+(janvier|février|fevrier|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre|decembre)\s+([0-9]{4,4}))'; $regExDateLong='(([0-9]{1,2}|1er)\s+(janvier|février|fevrier|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre|decembre)\s+([0-9]{4,4}))';
//SUIVANT JUGEMENT RENDU LE 27 AVRIL 2010, LE TRIBUNAL DE COMMERCE DE BOBIGNY A PRONONCE L'OUVERTURE D'UNE PROCEDURE DE REDRESSEMENT JUDICIAIRE //SUIVANT JUGEMENT RENDU LE 27 AVRIL 2010, LE TRIBUNAL DE COMMERCE DE BOBIGNY A PRONONCE L'OUVERTURE D'UNE PROCEDURE DE REDRESSEMENT JUDICIAIRE
if (preg_match("/(JGT|JUGEMENT|prononc|ORDONNANCE).{1,75}\s+EN\s+DATE\s+DU\s+$regExDate/Uis", $texte, $matches)) { if (preg_match("/(JGT|JUGEMENT|prononc|ORDONNANCE).{1,75}\s+EN\s+DATE\s+DU\s+$regExDate/Uis", $texte, $matches)) {
@ -562,11 +577,11 @@ print_r($tabInsert, true).EOL);
echo "F, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL; echo "F, $siren : Jugement kbis du $dateJugeKbis vs $dateJuge".EOL;
} else { } else {
/* /*
Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives du Tribunal de Commerce de Vienne en date du 02/02/2010 décidant de l'APPLICATION DE LA LIQUIDATION JUDICIAIRE SIMPLIFIEE Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives du Tribunal de Commerce de Vienne en date du 02/02/2010 décidant de l'APPLICATION DE LA LIQUIDATION JUDICIAIRE SIMPLIFIEE
410946008 : Jugement kbis du 20100413. DATE TEXTE ! 410946008 : Jugement kbis du 20100413. DATE TEXTE !
*/ */
echo "$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE NON TROUVEE !!!".EOL; echo "$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE NON TROUVEE !!!".EOL;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, date texte non trouvée pour le siren $siren : sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Erreur : Chargement annonces Greffes', "Attention, date texte non trouvée pour le siren $siren :
$texte $texte
Jugement kbis du ".$tabAnn['dateJugement'].EOL); Jugement kbis du ".$tabAnn['dateJugement'].EOL);
echo $texte.EOL; echo $texte.EOL;
@ -579,7 +594,7 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
} }
} }
else die("$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE !".EOL); else die("$siren : Jugement kbis du $dateJugeKbis. DATE TEXTE !".EOL);
}//JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 08/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE, }//JUGEMENT DU TRIBUNAL DE COMMERCE DE EVRY EN DATE DU 08/02/2010 A PRONONCÉ LA LIQUIDATION JUDICIAIRE,
$dateJuge=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/'))); $dateJuge=Wdate::dateT('d/m/Y', 'Ymd',strtr($dateJuge, array('.'=>'/','-'=>'/')));
$dateJugeMin=date('Ymd', mktime(0, 0, 0, $dateJugeMin=date('Ymd', mktime(0, 0, 0,
@ -595,6 +610,28 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
echo $texte.EOL; echo $texte.EOL;
//if ($modeDebug) $line = trim(fgets(STDIN)); //if ($modeDebug) $line = trim(fgets(STDIN));
if (preg_match('/Arr.t.{1,15}Cour.{1,15}Appel.{1,75}INFIRM/is', $texte, $matches)) {
if (preg_match('INFIRM/is', $texte, $matches))
$tabAnn['typeEven']=1506; // Rétractation de jugement => Infirmation Jugement
else
$tabAnn['typeEven']=1507; // Arret de la cours d'appel
$tabAnn['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
$nbSiretRetraitement++;
} elseif (// Pour les Procol suivantes, on redemande le sirenage et surtout l'affectation du code Even !!!
$tabAnn['typeEven']*1==1505 || // Appel de jugement
$tabAnn['typeEven']*1==1506 || // Infirmation Jugement
$tabAnn['typeEven']*1==1507 || // Extrait d'arrêt de la cour d'appel
$tabAnn['typeEven']*1==1515 || // Arrêt divers
$tabAnn['typeEven']*1==1517 || // Rectification d'une erreur matérielle
$tabAnn['typeEven']*1==1520 || // Ordonnance
$tabAnn['typeEven']*1==1525 || // Appel du ministère public
$tabAnn['typeEven']*1==1999) { // Autre procol)
$tabAnn['sirenValide']=0;
echo date ('Y/m/d - H:i:s')." - Ligne $ligne : Annonce à retraiter manuellement ". $tabAnn['siren'] .' !'.EOL;
$nbSiretRetraitement++;
}
if (preg_match('/CESSATION.{1,35}PAIEMENTS(.*)/is', $texte, $matches)) { if (preg_match('/CESSATION.{1,35}PAIEMENTS(.*)/is', $texte, $matches)) {
if (preg_match("/FIXE AU\s+$regExDate.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2)) if (preg_match("/FIXE AU\s+$regExDate.{1,15}CESSATION.{1,35}PAIEMENTS/is", $texte, $matches2))
$tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches2[1], array('.'=>'/','-'=>'/')))); $tabAnn['dateCessationPaiement']=Wdate::dateT('d/m/Y', 'Ymd',trim(strtr($matches2[1], array('.'=>'/','-'=>'/'))));
@ -609,10 +646,10 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
} }
$jugeCommissaire=$jugeCommissaireSup=''; $jugeCommissaire=$jugeCommissaireSup='';
if (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) { if (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
$jugeCommissaire=strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'',','=>'')); $jugeCommissaire=strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'',','=>''));
$jugeCommissaireSup=strtr(strtoupper(preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',$matches[2])),array('TITULAIRE'=>'',':'=>'',','=>'')); $jugeCommissaireSup=strtr(strtoupper(preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',$matches[2])),array('TITULAIRE'=>'',':'=>'',','=>''));
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) { } elseif (preg_match('/JUGE.{1,5}COMMISSAIRE.{1,5}SUPPL(?:è|é|E)ANT(.*)$/Uis', $texte, $matches)) {
$jugeCommissaireSup=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1])),array(':'=>'')); $jugeCommissaireSup=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1])),array(':'=>''));
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)$/Uis', $texte, $matches)) { } elseif (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)$/Uis', $texte, $matches)) {
$jugeCommissaire=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>''))); $jugeCommissaire=preg_replace('/(,|LIQUIDATEUR|MANDATAIRE).*/','',strtr(strtoupper($matches[1]),array('TITULAIRE'=>'',':'=>'')));
@ -637,16 +674,16 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
} }
$numero=''; $numero='';
if (preg_match('/NUM(?:E|é|è)RO\s+([A-Z0-9\.\/,-]{8,20})\s+/Uis', $texte, $matches)) { if (preg_match('/NUM(?:E|é|è)RO\s+([A-Z0-9\.\/,-]{8,20})\s+/Uis', $texte, $matches)) {
$tabAnn['numero']=trim(strtoupper($matches[1])); $tabAnn['numero']=trim(strtoupper($matches[1]));
} }
/* /*
OUVERTURE PERIODE D'OBSERVATION DE SIX MOIS OUVERTURE PERIODE D'OBSERVATION DE SIX MOIS
OUVRE UNE PÉRIODE D'OBSERVATION EXPIRANT LE 28/07/2010 OUVRE UNE PÉRIODE D'OBSERVATION EXPIRANT LE 28/07/2010
DATE D'EFFET : 27/01/2010 DATE D'EFFET : 27/01/2010
MET FIN À LA MISSION DE L'ADMINISTRATEUR ME AVEZOU 5 BD DE L'EUROPE 91050 EVRY CEDEX MET FIN À LA MISSION DE L'ADMINISTRATEUR ME AVEZOU 5 BD DE L'EUROPE 91050 EVRY CEDEX
DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX , DÉSIGNE LIQUIDATEUR LA SCP YVES COUDRAY-CHRISTOPHE ANCEL, EN LA PERSONNE DE MAÎTRE ANCEL, MANDATAIRE JUDICIAIRE ASSOCIÉ 9 BOULEVARD DE L'EUROPE 91050 ÉVRY CEDEX ,
SUIVANT ORDONNANCE RENDUE LE 15 JANVIER 2010 PAR LE TRIBUNAL DE COMMERCE DE NANTES, MR LE JUGE-COMMISSAIRE A MIS FIN A LA MISSION DE ME A. DOLLEY, MANDATAIRE JUDICIAIRE. SUIVANT ORDONNANCE RENDUE LE 15 JANVIER 2010 PAR LE TRIBUNAL DE COMMERCE DE NANTES, MR LE JUGE-COMMISSAIRE A MIS FIN A LA MISSION DE ME A. DOLLEY, MANDATAIRE JUDICIAIRE.
*/ */
@ -692,13 +729,13 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
JUGE COMMISSAIRE : MONSIEUR SWIDERSKI, JUGE COMMISSAIRE : MONSIEUR SWIDERSKI,
JUGE COMMISSAIRE : MONSIEUR NOEL, JUGE COMMISSAIRE : MONSIEUR NOEL,
ADMINISTRATEUR : SCP THEVENOT PERDEREAU EN LA PERSONNE DE ME THEVENOT 131 BD MALESHERBES 75017 PARIS, AVEC POUR MISSION : d'assister, ADMINISTRATEUR : SCP THEVENOT PERDEREAU EN LA PERSONNE DE ME THEVENOT 131 BD MALESHERBES 75017 PARIS, AVEC POUR MISSION : d'assister,
MANDATAIRE JUDICIAIRE : MAITRE COURTOUX DIDIER 62 BD DE SÉBASTOPOL 75003 PARIS, MANDATAIRE JUDICIAIRE : MAITRE COURTOUX DIDIER 62 BD DE SÉBASTOPOL 75003 PARIS,
PERIODE D'OBSERVATION EXPIRANT LE 26/03/2010, PERIODE D'OBSERVATION EXPIRANT LE 26/03/2010,
Juge Commissaire Mme Lefebvre H. , Juge Commissaire Mme Lefebvre H. ,
Juge Commissaire suppléant M. Bejui F. , Juge Commissaire suppléant M. Bejui F. ,
Administrateur Me Bleriot Philippe 26 Chemin de la Madeleine 93000 Bobigny avec pour mission de : d'assister le débiteur dans ses actes de gestion , Administrateur Me Bleriot Philippe 26 Chemin de la Madeleine 93000 Bobigny avec pour mission de : d'assister le débiteur dans ses actes de gestion ,
Mandataire judiciaire SCP Moyrand - Bally en la personne de Maître Pascal Bally 14/16 Rue de Lorraine 93000 Bobigny Mandataire judiciaire SCP Moyrand - Bally en la personne de Maître Pascal Bally 14/16 Rue de Lorraine 93000 Bobigny
période d'observation expirant le 26/07/2010 . période d'observation expirant le 26/07/2010 .
*/ */
//if ($tabAnn['complement']<>'') $tabAnn['complement']='Mandataire : '.$tabAnn['complement']; //if ($tabAnn['complement']<>'') $tabAnn['complement']='Mandataire : '.$tabAnn['complement'];
} }
@ -717,7 +754,7 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
if (mysql_errno()>0) { if (mysql_errno()>0) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL; echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
print_r($tabAnn); print_r($tabAnn);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
if ($modeDebug) $line = trim(fgets(STDIN)); if ($modeDebug) $line = trim(fgets(STDIN));
else die("ERREUR SQL".EOL); else die("ERREUR SQL".EOL);
} }
@ -730,18 +767,18 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
$comp=trim($tabAnnEnBase['complement']); $comp=trim($tabAnnEnBase['complement']);
if ($tabAnn['typeEven']<>$even) { if ($tabAnn['typeEven']<>$even) {
print_r($tabAnn); print_r($tabAnn);
echo(date ('Y/m/d - H:i:s') . " - Jugement différent $even par rapport à ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL); echo(date ('Y/m/d - H:i:s') . " - Jugement différent $even par rapport à ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
} }
if (strlen($trib)>1 && $trib<>'INCONU' && $tabAnn['tribunal']<>$trib) { if (strlen($trib)>1 && $trib<>'INCONU' && $tabAnn['tribunal']<>$trib) {
echo (date ('Y/m/d - H:i:s') . " - Nouveau tribunal différent ".$tabAnn['tribunal']." par rapport à $trib pour l'annonce ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL); echo (date ('Y/m/d - H:i:s') . " - Nouveau tribunal différent ".$tabAnn['tribunal']." par rapport à $trib pour l'annonce ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
unset($tabAnn['tribunal']); unset($tabAnn['tribunal']);
} }
if (strlen($comp)==0 && @$tabAnn['complement']<>'') { if (strlen($comp)==0 && @$tabAnn['complement']<>'') {
//$tabAnn['complement']=$tabAnn['complement']; //$tabAnn['complement']=$tabAnn['complement'];
echo (date ('Y/m/d - H:i:s') . " - Ajout du complément ".$tabAnn['complement'].' pour '. $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL); echo (date ('Y/m/d - H:i:s') . " - Ajout du complément ".$tabAnn['complement'].' pour '. $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL);
} elseif (strlen($comp)>1 && $tabAnn['complement']<>$comp) { } elseif (strlen($comp)>1 && $tabAnn['complement']<>$comp) {
echo date ('Y/m/d - H:i:s') . " - Complément différent ".$tabAnn['complement'].EOL; echo date ('Y/m/d - H:i:s') . " - Complément différent ".$tabAnn['complement'].EOL;
echo "par rapport à $comp ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL; echo "par rapport à $comp ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' !'.EOL;
$sortie=false; $sortie=false;
if ($questions) { if ($questions) {
while($sortie==false) { while($sortie==false) {
@ -757,22 +794,22 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
if (count($tabTmp)>1) { if (count($tabTmp)>1) {
print_r($tabAnn); print_r($tabAnn);
echo date ('Y/m/d - H:i:s') . " - ERREUR : Jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' présent plusieurs fois !'.EOL; echo date ('Y/m/d - H:i:s') . " - ERREUR : Jugement ". $tabAnn['typeEven'] .' en date du '. $tabAnn['dateJugement'].", siren=".$tabAnn['siren'] .' présent plusieurs fois !'.EOL;
//die(); //die();
} }
$iDb->update($table,$tabAnn,'id='.$tabAnnEnBase['id']); $iDb->update($table,$tabAnn,'id='.$tabAnnEnBase['id']);
if (mysql_errno()>0) { if (mysql_errno()>0) {
echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL; echo date ('Y/m/d - H:i:s') ." - A la mise à jour sur $table :".EOL;
print_r($tabAnn); print_r($tabAnn);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du jugement $typeEven en date du $dateJugement pour $siren...".EOL;
if ($modeDebug) $line = trim(fgets(STDIN)); if ($modeDebug) $line = trim(fgets(STDIN));
else die("ERREUR SQL 2".EOL); else die("ERREUR SQL 2".EOL);
} }
/*echo mysql_error().EOL."En base:".EOL; /*echo mysql_error().EOL."En base:".EOL;
print_r($tabAnnEnBase); print_r($tabAnnEnBase);
echo mysql_error().EOL."A mettre à jour :".EOL; echo mysql_error().EOL."A mettre à jour :".EOL;
print_r($tabAnn); print_r($tabAnn);
echo "?"; echo "?";
$sdfqsd=trim(fgets(STDIN));*/ $sdfqsd=trim(fgets(STDIN));*/
@ -783,26 +820,26 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
//if ($modeDebug) echo "Ligne $ligne Fin: '$a'".EOL; //if ($modeDebug) echo "Ligne $ligne Fin: '$a'".EOL;
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
if ($table=='annonces2') { if ($table=='annonces2') {
echo date ('Y/m/d - H:i:s')." - Chargement en test. Arrêt du traitement...".EOL; echo date ('Y/m/d - H:i:s')." - Chargement en test. Arrêt du traitement...".EOL;
die("TABLE ANNONCE 2".EOL); die("TABLE ANNONCE 2".EOL);
} }
if (bzip2(CSF_FTP_DIR.$nomFichier, CSF_BACKUP_DIR.$nomFichier)) { if (bzip2(CSF_FTP_DIR.$nomFichier, CSF_BACKUP_DIR.$nomFichier)) {
unlink(CSF_FTP_DIR.$nomFichier); unlink(CSF_FTP_DIR.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
} }
} }
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter !".EOL;
$message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n"; $message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n";
$message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides).".EOL; $message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides et $nbSiretRetraitement annonces à retraiter).".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL;
} }
else { else {
$message.="Aucun fichier CSF à traiter !\r\n"; $message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier CSF à traiter !".EOL; echo date ('Y/m/d - H:i:s') . " - Aucun fichier CSF à traiter !".EOL;
} }
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement annonces Greffes', $message); sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement annonces Greffes', $message);

View File

@ -23,19 +23,19 @@ $dateDeb=getPrevDate(date('Ymd'), rand(2,10));
$dateF=getPrevDate(date('Ymd')); $dateF=getPrevDate(date('Ymd'));
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION] $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les cours des devises par rapport à l'euro. Recupère les cours des devises par rapport à l'euro.
Sans aucun paramètre, récupère le dernier cours pour chaque devise par rapport à l'euro. Sans aucun paramètre, récupère le dernier cours pour chaque devise par rapport à l'euro.
Sinon: Sinon:
-d:JJ/MM/AAAA Date de début de période (*) -d:JJ/MM/AAAA Date de début de période (*)
-f:JJ/MM/AAAA Date de fin de période (*) -f:JJ/MM/AAAA Date de fin de période (*)
-n:X Intervalle MIN en secondes entre les requêtes (défaut=$tmin) -n:X Intervalle MIN en secondes entre les requêtes (défaut=$tmin)
-i:X \" MAX \" \" \" \" \" (défaut=$tmax) -i:X \" MAX \" \" \" \" \" (défaut=$tmax)
-p Récupération de la dernière liste des pays (par défaut, une fois par mois, le 1er du mois) -p Récupération de la dernière liste des pays (par défaut, une fois par mois, le 1er du mois)
-h Récupération de l'historique complet -h Récupération de l'historique complet
-c=DEV Récupération limité à la devise passée en paramètre -c=DEV Récupération limité à la devise passée en paramètre
* : par défaut, le programme récupère le dernier cour pour le jour précédent ! * : par défaut, le programme récupère le dernier cour pour le jour précédent !
"; ";
$tabCurrency=array(); $tabCurrency=array();
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -82,10 +82,10 @@ else {
$iDb=new WDb('sdv1'); $iDb=new WDb('sdv1');
$iDb2=new WDb(); $iDb2=new WDb();
/** Une fois par mois, récupéreation de la liste des pays et de leur devises /** Une fois par mois, récupéreation de la liste des pays et de leur devises
**/ **/
if($pays || date('d')*1==1) { if($pays || date('d')*1==1) {
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des pays et de leur devise !'. EOL); echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour des pays et de leur devise !'. EOL);
$crea=$maj=0; $crea=$maj=0;
$url= 'http://fxtop.com/fr/showpays.php3'; $url= 'http://fxtop.com/fr/showpays.php3';
$referer= ''; $referer= '';
@ -99,20 +99,20 @@ if($pays || date('d')*1==1) {
$tabLigne=explode('</TD><TD>', $strTmp); $tabLigne=explode('</TD><TD>', $strTmp);
if ($i==0) { if ($i==0) {
if (trim($strTmp)<>'') if (trim($strTmp)<>'')
die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL);
continue; continue;
} elseif ($i==1) { } elseif ($i==1) {
// On vérifie que les noms de colonnes et les devises attendues sont les bonnes // On vérifie que les noms de colonnes et les devises attendues sont les bonnes
if (trim(strip_tags($tabLigne[0]))<>'Pays') if (trim(strip_tags($tabLigne[0]))<>'Pays')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Pays" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Pays" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL);
if (trim(strip_tags($tabLigne[1]))<>'Zone') if (trim(strip_tags($tabLigne[1]))<>'Zone')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Zone" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Zone" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL);
if (trim(strip_tags($tabLigne[2]))<>'Devise') if (trim(strip_tags($tabLigne[2]))<>'Devise')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Devise" attendue mais "'.strip_tags($tabLigne[2]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Devise" attendue mais "'.strip_tags($tabLigne[2]).'" trouvé !'. EOL);
if (trim(strip_tags($tabLigne[3]))<>'Drapeau') if (trim(strip_tags($tabLigne[3]))<>'Drapeau')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Drapeau" attendue mais "'.strip_tags($tabLigne[3]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Drapeau" attendue mais "'.strip_tags($tabLigne[3]).'" trouvé !'. EOL);
if (trim(strip_tags($tabLigne[4]))<>'Code Nic') if (trim(strip_tags($tabLigne[4]))<>'Code Nic')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Code Nic" attendue mais "'.strip_tags($tabLigne[4]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Code Nic" attendue mais "'.strip_tags($tabLigne[4]).'" trouvé !'. EOL);
} else { } else {
$libPays=trim(strip_tags($tabLigne[0])); $libPays=trim(strip_tags($tabLigne[0]));
@ -132,7 +132,7 @@ if($pays || date('d')*1==1) {
fwrite($fp, $page['body']); fwrite($fp, $page['body']);
fclose($fp); fclose($fp);
$taille=filesize($repImgDrapeaux.$ficImgDrapeaux); $taille=filesize($repImgDrapeaux.$ficImgDrapeaux);
echo(date('Y/m/d - H:i:s') ." - Drapeaux $codPays : $ficImgDrapeaux ($libPays) créé ($taille octets).". EOL); echo(date('Y/m/d - H:i:s') ." - Drapeaux $codPays : $ficImgDrapeaux ($libPays) créé ($taille octets).". EOL);
} }
$tabUpdate=array( 'libPaysMajAuto'=>$libPays, $tabUpdate=array( 'libPaysMajAuto'=>$libPays,
@ -144,22 +144,22 @@ if($pays || date('d')*1==1) {
if (!$iDb2->insert('tabPays', $tabInsert)) { if (!$iDb2->insert('tabPays', $tabInsert)) {
if (!$iDb2->update('tabPays', $tabUpdate, "codPays='$codPays'", true)) { if (!$iDb2->update('tabPays', $tabUpdate, "codPays='$codPays'", true)) {
if (mysql_errno()<>1062) if (mysql_errno()<>1062)
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL); die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
} else } else
$maj++; $maj++;
} else { } else {
echo (date('Y/m/d - H:i:s') ." - Création du pays $libPays ($codPays) en $libZone !". EOL); echo (date('Y/m/d - H:i:s') ." - Création du pays $libPays ($codPays) en $libZone !". EOL);
$crea++; $crea++;
} }
} }
} }
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des pays et de leur devise : $crea création(s) / $maj MAJ.". EOL); echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des pays et de leur devise : $crea création(s) / $maj MAJ.". EOL);
} }
/** Récupération de la liste des devises /** Récupération de la liste des devises
**/ **/
echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour de la liste des devise !'. EOL); echo (date('Y/m/d - H:i:s') .' - Début de la mise à jour de la liste des devise !'. EOL);
$crea=$maj=0; $crea=$maj=0;
$tabDevisesSite=array(); $tabDevisesSite=array();
$url= 'http://fxtop.com/fr/historates.php3'; $url= 'http://fxtop.com/fr/historates.php3';
@ -172,7 +172,7 @@ foreach ($tabTmp as $i=>$strTmp) {
$tabLigne=explode('">', $strTmp); $tabLigne=explode('">', $strTmp);
if ($i==0) { if ($i==0) {
if (trim($strTmp)<>'') if (trim($strTmp)<>'')
die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : La première ligne du tableau n\'est pas vide : "'.$strTmp.'" trouvé !'. EOL);
continue; continue;
} else { } else {
$devise =trim($tabLigne[0]); $devise =trim($tabLigne[0]);
@ -184,17 +184,17 @@ foreach ($tabTmp as $i=>$strTmp) {
if (!$iDb->update('devise_liste', $tabUpdate, "devIso='$devise'", true)) { if (!$iDb->update('devise_liste', $tabUpdate, "devIso='$devise'", true)) {
if (!$iDb->insert('devise_liste', $tabUpdate)) { if (!$iDb->insert('devise_liste', $tabUpdate)) {
if (mysql_errno()<>1062) if (mysql_errno()<>1062)
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL); die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
} else { } else {
echo (date('Y/m/d - H:i:s') ." - Création de la devise $devise pour $libDevPays !". EOL); echo (date('Y/m/d - H:i:s') ." - Création de la devise $devise pour $libDevPays !". EOL);
$crea++; $crea++;
} }
} else $maj++; } else $maj++;
} }
} }
echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises : $crea création(s) / $maj MAJ.". EOL); echo (date('Y/m/d - H:i:s') ." - Fin de la mise à jour des devises : $crea création(s) / $maj MAJ.". EOL);
/** Récupération d'une devise ou de toutes les devises /** Récupération d'une devise ou de toutes les devises
**/ **/
if ( !is_array($tabCurrency) || count($tabCurrency)==0 ) { if ( !is_array($tabCurrency) || count($tabCurrency)==0 ) {
//$tabDevises=mysql_select('tabPays', 'DISTINCT(devise) as dev', "devise<>'EUR' AND devise<>''"); //$tabDevises=mysql_select('tabPays', 'DISTINCT(devise) as dev', "devise<>'EUR' AND devise<>''");
@ -209,10 +209,10 @@ if ( !is_array($tabCurrency) || count($tabCurrency)==0 ) {
if (in_array ($currency, $tabDevisesSite)) if (in_array ($currency, $tabDevisesSite))
$tabDevises[]=array(0=>$currency); $tabDevises[]=array(0=>$currency);
else else
die(date('Y/m/d - H:i:s') ." - ERREUR : Devise '$currency' non gérée par le site distant !". EOL); die(date('Y/m/d - H:i:s') ." - ERREUR : Devise '$currency' non gérée par le site distant !". EOL);
} }
} }
/** Récupération de l'historique des cours ou du cours précédent /** Récupération de l'historique des cours ou du cours précédent
**/ **/
if ($history) $dateDeb='19900101'; if ($history) $dateDeb='19900101';
$DD1=WDate::dateT('Ymd','d', $dateDeb); $DD1=WDate::dateT('Ymd','d', $dateDeb);
@ -225,9 +225,9 @@ $YYYY2=WDate::dateT('Ymd','Y', $dateF);
foreach ($tabDevises as $tabDevise) { foreach ($tabDevises as $tabDevise) {
$devise=$tabDevise[0]; $devise=$tabDevise[0];
if ($dateDeb==$dateF) if ($dateDeb==$dateF)
echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour le $DD1/$MM1/$YYYY1...". EOL); echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour le $DD1/$MM1/$YYYY1...". EOL);
else else
echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour la période du $DD1/$MM1/$YYYY1 au $DD2/$MM2/$YYYY2...". EOL); echo (date('Y/m/d - H:i:s') ." - Récupération du cour du $devise par rapport à l'euro pour la période du $DD1/$MM1/$YYYY1 au $DD2/$MM2/$YYYY2...". EOL);
$url= "http://fxtop.com/fr/historates.php3?C1=$devise&C2=EUR&DD1=$DD1&MM1=$MM1&YYYY1=$YYYY1&DD2=$DD2&MM2=$MM2&YYYY2=$YYYY2&btnOK=Chercher"; $url= "http://fxtop.com/fr/historates.php3?C1=$devise&C2=EUR&DD1=$DD1&MM1=$MM1&YYYY1=$YYYY1&DD2=$DD2&MM2=$MM2&YYYY2=$YYYY2&btnOK=Chercher";
$referer= 'http://fxtop.com/fr/historates.php3'; $referer= 'http://fxtop.com/fr/historates.php3';
randsleep($tmin, $tmax); randsleep($tmin, $tmax);
@ -240,11 +240,11 @@ foreach ($tabDevises as $tabDevise) {
foreach ($tabTmp as $i=>$strTmp) { foreach ($tabTmp as $i=>$strTmp) {
$tabLigne=explode('</TD><TD>', $strTmp); $tabLigne=explode('</TD><TD>', $strTmp);
if ($i==0) { if ($i==0) {
// On vérifie que les noms de colonnes et les devises attendues sont les bonnes // On vérifie que les noms de colonnes et les devises attendues sont les bonnes
if (strip_tags($tabLigne[0])<>'Date') if (strip_tags($tabLigne[0])<>'Date')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Date" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "Date" attendue mais "'.strip_tags($tabLigne[0]).'" trouvé !'. EOL);
if (strip_tags($tabLigne[1])<>$devise.'/EUR') if (strip_tags($tabLigne[1])<>$devise.'/EUR')
die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "'.$devise.'/EUR" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL); die(date('Y/m/d - H:i:s') .' - ERREUR : Zone "'.$devise.'/EUR" attendue mais "'.strip_tags($tabLigne[1]).'" trouvé !'. EOL);
} else { } else {
$date=$tabLigne[0]; $date=$tabLigne[0];
if ($i==1) $dateMax=$date; if ($i==1) $dateMax=$date;
@ -258,7 +258,7 @@ foreach ($tabDevises as $tabDevise) {
); );
if (!$iDb->insert('devise_cours', $tabInsert)) if (!$iDb->insert('devise_cours', $tabInsert))
if (mysql_errno()<>1062) if (mysql_errno()<>1062)
die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL); die(date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() . EOL);
} }
} }
$dateMin=$date; $dateMin=$date;

View File

@ -13,7 +13,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des fichier dirigeant en provenance de CSF. Chargement du/des fichier dirigeant en provenance de CSF.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
"; ";
$iDb=new WDB('jo'); $iDb=new WDB('jo');
@ -40,54 +40,54 @@ Options :
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL); if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL);
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des dirigeants".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des dirigeants".EOL;
global $tabFctCSF; global $tabFctCSF;
$tabFctCSF=array( $tabFctCSF=array(
'f0100'=>'Administrateur', 'f0100'=>'Administrateur',
'f0101'=>'Administrateur délégué', 'f0101'=>'Administrateur délégué',
'f0108'=>'Administrateur provisoire', 'f0108'=>'Administrateur provisoire',
'f0209'=>'Associé-gérant', 'f0209'=>'Associé-gérant',
'f0400'=>'Co-gérant', 'f0400'=>'Co-gérant',
'f0603'=>'Contrôleur de gestion', 'f0603'=>'Contrôleur de gestion',
'f0709'=>'Directeur général', 'f0709'=>'Directeur général',
'f0704'=>'Directeur général délégué', 'f0704'=>'Directeur général délégué',
'f0713'=>'Directeur général non administrateur', 'f0713'=>'Directeur général non administrateur',
'f0708'=>'Directeur général unique', 'f0708'=>'Directeur général unique',
'f0900'=>'Gérant', 'f0900'=>'Gérant',
'f1650'=>'Gouverneur', 'f1650'=>'Gouverneur',
'f1900'=>'Liquidateur', 'f1900'=>'Liquidateur',
'f1300'=>'Président', 'f1300'=>'Président',
'f1301'=>'Président Directeur Général', 'f1301'=>'Président Directeur Général',
'f1306'=>'Président du conseil d\'administration', 'f1306'=>'Président du conseil d\'administration',
'f1307'=>'Président du conseil de surveillance', 'f1307'=>'Président du conseil de surveillance',
'f1308'=>'Président du directoire', 'f1308'=>'Président du directoire',
'f1401'=>'Représentant en France d\'une société étrangère', 'f1401'=>'Représentant en France d\'une société étrangère',
'f1651'=>'Sous-gouverneur', 'f1651'=>'Sous-gouverneur',
'f1800'=>'Vice-président', 'f1800'=>'Vice-président',
); );
/* /*
200 Gérant 200 Gérant
300 Co-gérant 300 Co-gérant
1200 Associé-gérant 1200 Associé-gérant
600 Administrateur 600 Administrateur
100 Président 100 Président
4100 Liquidateur 4100 Liquidateur
110 Président du conseil d'administration 110 Président du conseil d'administration
400 Directeur général 400 Directeur général
120 Président Directeur Général 120 Président Directeur Général
900 Président du conseil de surveillance 900 Président du conseil de surveillance
500 Vice-président 500 Vice-président
430 Directeur général délégué 430 Directeur général délégué
4400 Représentant en France d'une société étrangère 4400 Représentant en France d'une société étrangère
1300 Contrôleur de gestion 1300 Contrôleur de gestion
700 Président du directoire 700 Président du directoire
410 Directeur général non administrateur 410 Directeur général non administrateur
4300 Administrateur provisoire 4300 Administrateur provisoire
420 Directeur général unique 420 Directeur général unique
600 Administrateur délégué 600 Administrateur délégué
150 Sous-gouverneur 150 Sous-gouverneur
Gouverneur Gouverneur
*/ */
@ -107,7 +107,7 @@ Options :
$fp=fopen($nomFichier, 'r'); $fp=fopen($nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -119,25 +119,25 @@ Options :
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier ($nbLignes lignes à traiter) !".EOL;
//$finFichier=false; //$finFichier=false;
$nbLignes=0; $nbLignes=0;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
$tab=explode("\t", $a); $tab=explode("\t", $a);
$erreur=''; $erreur='';
if ($tab[0]<>'RCS') $erreur='Ligne 1, Champ 1 : libellé RCS attentu'; if ($tab[0]<>'RCS') $erreur='Ligne 1, Champ 1 : libellé RCS attentu';
if ($tab[1]<>'RAISON_SOCIAL') $erreur='Ligne 1, Champ 2 : libellé RAISON_SOCIAL attentu'; if ($tab[1]<>'RAISON_SOCIAL') $erreur='Ligne 1, Champ 2 : libellé RAISON_SOCIAL attentu';
if ($tab[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE attentu'; if ($tab[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE attentu';
if ($tab[3]<>'NOM') $erreur='Ligne 1, Champ 4 : libellé NOM attentu'; if ($tab[3]<>'NOM') $erreur='Ligne 1, Champ 4 : libellé NOM attentu';
if ($tab[4]<>'PRENOM') $erreur='Ligne 1, Champ 5 : libellé PRENOM attentu'; if ($tab[4]<>'PRENOM') $erreur='Ligne 1, Champ 5 : libellé PRENOM attentu';
if ($tab[5]<>'NOM_NAISSANCE') $erreur='Ligne 1, Champ 6 : libellé NOM_NAISSANCE attentu'; if ($tab[5]<>'NOM_NAISSANCE') $erreur='Ligne 1, Champ 6 : libellé NOM_NAISSANCE attentu';
if ($tab[6]<>'DATE_NAISSANCE') $erreur='Ligne 1, Champ 7 : libellé DATE_NAISSANCE attentu'; if ($tab[6]<>'DATE_NAISSANCE') $erreur='Ligne 1, Champ 7 : libellé DATE_NAISSANCE attentu';
if ($tab[7]<>'LIEU_NAISSANCE') $erreur='Ligne 1, Champ 8 : libellé LIEU_NAISSANCE attentu'; if ($tab[7]<>'LIEU_NAISSANCE') $erreur='Ligne 1, Champ 8 : libellé LIEU_NAISSANCE attentu';
if ($tab[8]<>'FONCTION') $erreur='Ligne 1, Champ 9 : libellé FONCTION attentu'; if ($tab[8]<>'FONCTION') $erreur='Ligne 1, Champ 9 : libellé FONCTION attentu';
if ($erreur<>'') { if ($erreur<>'') {
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL; echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
@ -145,10 +145,10 @@ Options :
} }
$ret=$iDb->query("UPDATE $table SET actif=actif%10 WHERE source='csf'"); $ret=$iDb->query("UPDATE $table SET actif=actif%10 WHERE source='csf'");
echo date ('Y/m/d - H:i:s') . " - Les dirigeants CSF sont OK pour la mise à jour ($ret).".EOL; echo date ('Y/m/d - H:i:s') . " - Les dirigeants CSF sont OK pour la mise à jour ($ret).".EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
// $ret=$iDb->update($table, array('actif'=>0), '1'); // $ret=$iDb->update($table, array('actif'=>0), '1');
// echo date ('Y/m/d - H:i:s')." - Tous les dirigeants ont été passés inactifs ($ret) !".EOL; // echo date ('Y/m/d - H:i:s')." - Tous les dirigeants ont été passés inactifs ($ret) !".EOL;
while (!feof($fp)) while (!feof($fp))
{ {
@ -233,15 +233,15 @@ Options :
//$line = trim(fgets(STDIN)); //$line = trim(fgets(STDIN));
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
} }
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL;
$ret=$iDb->update($table, array('actif'=>0), "actif=1 AND source='csf'"); $ret=$iDb->update($table, array('actif'=>0), "actif=1 AND source='csf'");
echo date ('Y/m/d - H:i:s') . " - $ret dirigants CSF on été passés à inactif (car non transmis depuis le dernier chargement) !".EOL; echo date ('Y/m/d - H:i:s') . " - $ret dirigants CSF on été passés à inactif (car non transmis depuis le dernier chargement) !".EOL;
$ret=$iDb->update($table, array('actif'=>1), "actif=11 AND source='csf'"); $ret=$iDb->update($table, array('actif'=>1), "actif=11 AND source='csf'");
echo date ('Y/m/d - H:i:s') . " - Passage à actif de tous les dirigeants CSF chargés ($ret).".EOL; echo date ('Y/m/d - H:i:s') . " - Passage à actif de tous les dirigeants CSF chargés ($ret).".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des dirigeants".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des dirigeants".EOL;

View File

@ -119,7 +119,7 @@ for ($i=$ideb;$i<=25957;$i++) {
$tel=preg_replace('/^33/','',trim(preg_replace('/^00|\+/','',str_replace(' ','',strtr($matches2[1],'()-.',' '))))); $tel=preg_replace('/^33/','',trim(preg_replace('/^00|\+/','',str_replace(' ','',strtr($matches2[1],'()-.',' ')))));
if(preg_match('/<b>Fax \:<\/b> ([\s0-9\(\)]{14,19})/Uis', $matches[3][$j], $matches2)) if(preg_match('/<b>Fax \:<\/b> ([\s0-9\(\)]{14,19})/Uis', $matches[3][$j], $matches2))
$fax=preg_replace('/^33/','',trim(preg_replace('/^00|\+/','',str_replace(' ','',strtr($matches2[1],'()-.',' '))))); $fax=preg_replace('/^33/','',trim(preg_replace('/^00|\+/','',str_replace(' ','',strtr($matches2[1],'()-.',' ')))));
//33 (0)6 86 26 14 86     Fax : 33 (0)3 93 94 34 88 //33 (0)6 86 26 14 86     Fax : 33 (0)3 93 94 34 88
$fonction2=html_entity_decode(strip_tags($matches[3][$j])); $fonction2=html_entity_decode(strip_tags($matches[3][$j]));
$mail=trim($matches[4][$j]); $mail=trim($matches[4][$j]);
echo "$i\t$siret\t$j\t$nomPrenom\t$fonction\t$tel\t$fax\t$mail\t$fonction2".EOL; echo "$i\t$siret\t$j\t$nomPrenom\t$fonction\t$tel\t$fax\t$mail\t$fonction2".EOL;
@ -191,7 +191,7 @@ for ($i=$ideb;$i<=25957;$i++) {
print_r($result); print_r($result);
die(); die();
$title=utf8_decode($result['Title']); // SCORES & DECISIONS - Accueil $title=utf8_decode($result['Title']); // SCORES & DECISIONS - Accueil
$desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante $desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
$url=$result['Url']; // http://www3.scores-decisions.com/ $url=$result['Url']; // http://www3.scores-decisions.com/
$lev=@levenshtein ($urlapprox,$url); $lev=@levenshtein ($urlapprox,$url);
@ -211,7 +211,7 @@ die();
$host=preg_replace('/\/$/','',$info['host']); $host=preg_replace('/\/$/','',$info['host']);
$ext=getFileExtension($host); $ext=getFileExtension($host);
$domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host)); $domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host));
echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL; echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL;
if ($ext=='fr') { if ($ext=='fr') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url"); $rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) { if (@$rep[0]['siren']*1==0) {
@ -236,7 +236,7 @@ die();
[0] => Array [0] => Array
( (
[Title] => SCORES & DECISIONS - Accueil [Title] => SCORES & DECISIONS - Accueil
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante [Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/ [Url] => http://www3.scores-decisions.com/
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68 [CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68
[DisplayUrl] => www3.scores-decisions.com [DisplayUrl] => www3.scores-decisions.com
@ -257,8 +257,8 @@ die();
) )
[1] => Array [1] => Array
( (
[Title] => SCORES & DECISIONS - Société [Title] => SCORES & DECISIONS - Société
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante [Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/societe.php [Url] => http://www3.scores-decisions.com/societe.php
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=4747772983970513&mkt=fr-FR&w=10f5cd33,9b81f773 [CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=4747772983970513&mkt=fr-FR&w=10f5cd33,9b81f773
[DisplayUrl] => www3.scores-decisions.com/societe.php [DisplayUrl] => www3.scores-decisions.com/societe.php
@ -1926,7 +1926,7 @@ foreach ($tabSiren as $i=>$siren) {
'Nom' =>$dir['Nom'], 'Nom' =>$dir['Nom'],
'Prenom'=>$dir['Prenom']); 'Prenom'=>$dir['Prenom']);
break; break;
default: // Autres commissaires aux comptes suppléeants default: // Autres commissaires aux comptes suppléeants
$cac2[$dir['DateFct']]=array( 'RS' =>$dir['Societe'], $cac2[$dir['DateFct']]=array( 'RS' =>$dir['Societe'],
'Nom' =>$dir['Nom'], 'Nom' =>$dir['Nom'],
'Prenom'=>$dir['Prenom']); 'Prenom'=>$dir['Prenom']);
@ -1981,11 +1981,11 @@ foreach ($tabRet as $i=>$tabSiren) {
$str= $id."\t". $str= $id."\t".
$even."\t". $even."\t".
$a['OrigineCreation']."\t". // Facultatif ORIGINE Origine de la création de l'établissement $a['OrigineCreation']."\t". // Facultatif ORIGINE Origine de la création de l'établissement
initstr($siretPre, 14 , '0', ALIGN_RIGHT) ."\t". initstr($siretPre, 14 , '0', ALIGN_RIGHT) ."\t".
initstr($a['Siren'], 9 , '0', ALIGN_RIGHT) . // Obligatoire SIREN Siren de l'entreprise initstr($a['Siren'], 9 , '0', ALIGN_RIGHT) . // Obligatoire SIREN Siren de l'entreprise
initstr($a['Nic'], 5 , '0', ALIGN_RIGHT) ."\t". // Obligatoire NIC Nic de l'établissement initstr($a['Nic'], 5 , '0', ALIGN_RIGHT) ."\t". // Obligatoire NIC Nic de l'établissement
initstr($a['FJ'], 4 , '0', ALIGN_RIGHT) ."\t". // Obligatoire CJ Catégorie Juridique de l'entreprise initstr($a['FJ'], 4 , '0', ALIGN_RIGHT) ."\t". // Obligatoire CJ Catégorie Juridique de l'entreprise
$a['Nom']."\t". $a['Nom']."\t".
$a['NomCommercial']."\t". $a['NomCommercial']."\t".
$a['Enseigne']."\t". $a['Enseigne']."\t".
@ -2128,16 +2128,16 @@ $ferie["Armistice 39-45 "][5] = 8;
$ferie["Toussaint"][11] = 1; $ferie["Toussaint"][11] = 1;
$ferie["Armistice 14-18"][11] = 11; $ferie["Armistice 14-18"][11] = 11;
$ferie["Assomption"][8] = 15; $ferie["Assomption"][8] = 15;
$ferie["Fête du travail "][5] = 1; $ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14; $ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25; $ferie["Noël"][12] = 25;
if ($alsace) if ($alsace)
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25; $ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
// quelques fetes mobiles // quelques fetes mobiles
$lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour); $lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour);
$lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour); $lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour);
$lundi_de_paques['nom'] = "Lundi de Pâques"; $lundi_de_paques['nom'] = "Lundi de Pâques";
$ascencion['mois'] = date( "n", easter_date($an)+39*$jour); $ascencion['mois'] = date( "n", easter_date($an)+39*$jour);
$ascencion['jour'] = date( "j", easter_date($an)+39*$jour); $ascencion['jour'] = date( "j", easter_date($an)+39*$jour);
@ -2149,7 +2149,7 @@ $vendredi_saint['nom'] = "Vendredi Saint";
$lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour); $lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour);
$lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour); $lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour);
$lundi_de_pentecote['nom'] = "Lundi de Pentecôte"; $lundi_de_pentecote['nom'] = "Lundi de Pentecôte";
$ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour']; $ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour'];
@ -2169,20 +2169,20 @@ $reponse[$date[$mois]]=$nom;
ksort($reponse); ksort($reponse);
return $reponse; return $reponse;
} }
function tab_jours_feriés($an) { function tab_jours_feriés($an) {
return ferie(range(1,12),$an); return ferie(range(1,12),$an);
} }
$année = date("Y"); $année = date("Y");
$tabFeriers = tab_jours_feriés($année); $tabFeriers = tab_jours_feriés($année);
print_r($tabFeriers); print_r($tabFeriers);
die(); die();
echo "<br>"; echo "<br>";
while (list($mois, $tab) = each ($fériées)) { while (list($mois, $tab) = each ($fériées)) {
while (list($jour, $fete) = each ($tab)) { while (list($jour, $fete) = each ($tab)) {
echo "$jour/$mois/$année => $fete \n<br>"; echo "$jour/$mois/$année => $fete \n<br>";
} }
} }
@ -2210,10 +2210,10 @@ die();
$tabFormesJuridiques=array( $tabFormesJuridiques=array(
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" , "SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"Societe anonyme cooperative a capital variable" , "Societe anonyme cooperative a capital variable" ,
"Societe a responsabilite limitee" , "Societe a responsabilite limitee" ,
"Sarl membre de la ce ou partie À l'accord sur l'espace Économique europÉen" , "Sarl membre de la ce ou partie À l'accord sur l'espace Économique europÉen" ,
"Soci t par actions simplifi e" , "Soci t par actions simplifi e" ,
"Soci t responsabilit limit e" , "Soci t responsabilit limit e" ,
"Societe civile de personnes" , "Societe civile de personnes" ,
@ -2230,14 +2230,14 @@ $tabFormesJuridiques=array(
"Societe d'exercice liberal par actions simplifiee - selas" , "Societe d'exercice liberal par actions simplifiee - selas" ,
"Entreprise unipersonnelle a responsabilite limitee" , "Entreprise unipersonnelle a responsabilite limitee" ,
"Soci t en nom collectif" , "Soci t en nom collectif" ,
"SociÉtÉ par actions simplifiÉe unipersonnelle" , "SociÉtÉ par actions simplifiÉe unipersonnelle" ,
"Societe civile de contruction/vente" , "Societe civile de contruction/vente" ,
"Societe anonyme a capital variable" , "Societe anonyme a capital variable" ,
"Societe cooperative de production a responsabilite limitee a capital variable" , "Societe cooperative de production a responsabilite limitee a capital variable" ,
"Cooperative ouvriere de product. a resp. lim." , "Cooperative ouvriere de product. a resp. lim." ,
"SociÉtÉ civile de moyens" , "SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" , "Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" , "SociÉtÉ civile professionnelle" ,
"Societe anonyme d'economie mixte locale" , "Societe anonyme d'economie mixte locale" ,
"Sa a conseil d administration" , "Sa a conseil d administration" ,
"Societe cooperative agricole a capital variable" , "Societe cooperative agricole a capital variable" ,
@ -2247,13 +2247,13 @@ $tabFormesJuridiques=array(
"Cooperative agricole" , "Cooperative agricole" ,
"Soci t civile" , "Soci t civile" ,
"Soci t civile immobili re" , "Soci t civile immobili re" ,
"SociÉtÉ d'exercice libÉral À responsabilitÉ limitÉe" , "SociÉtÉ d'exercice libÉral À responsabilitÉ limitÉe" ,
"Societe cooperative de production a responsabilite limitee" , "Societe cooperative de production a responsabilite limitee" ,
"Societe cooperative de travailleurs (anonyme)" , "Societe cooperative de travailleurs (anonyme)" ,
"Soci?t? ? responsabilit? limit?e" , "Soci?t? ? responsabilit? limit?e" ,
"Cooperative ouvriere de production (anonyme)" , "Cooperative ouvriere de production (anonyme)" ,
"Sa coop de production a cap variable" , "Sa coop de production a cap variable" ,
"Sa À conseil d'administration" , "Sa À conseil d'administration" ,
"Societe d'interet collectif agricole" , "Societe d'interet collectif agricole" ,
"Societe civile agricole" , "Societe civile agricole" ,
"Societe cooperative de production anonyme a capital variable" , "Societe cooperative de production anonyme a capital variable" ,
@ -2264,15 +2264,15 @@ $tabFormesJuridiques=array(
"Societe par actions simplifiee a directoire et conseil de surveillance" , "Societe par actions simplifiee a directoire et conseil de surveillance" ,
"Ste coop. prod. a resp. limitee a capital personnel et variable" , "Ste coop. prod. a resp. limitee a capital personnel et variable" ,
"Societe d'actions simplifiee a capital variable" , "Societe d'actions simplifiee a capital variable" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" , "SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" , "Groupement d'intÉrÊt Économique" ,
"Societe d'exercice liberal a responsabilite limitee unipersonnelle%" , "Societe d'exercice liberal a responsabilite limitee unipersonnelle%" ,
"Societe cooperative de production" , "Societe cooperative de production" ,
"Societe cooperative ouvriere de production anonyme a capital variable" , "Societe cooperative ouvriere de production anonyme a capital variable" ,
"Sarl a capital variable" , "Sarl a capital variable" ,
"Societe anonyme d'economie mixte" , "Societe anonyme d'economie mixte" ,
"Societe cooperative anonyme d interet collectif agricole" , "Societe cooperative anonyme d interet collectif agricole" ,
"Sasu sociÉtÉ par actions simplifiÉe À associÉ unique" , "Sasu sociÉtÉ par actions simplifiÉe À associÉ unique" ,
"Societe d'investissements a capital variable (s.i.c.a.v)" , "Societe d'investissements a capital variable (s.i.c.a.v)" ,
"Societe cooperative de production (sarl)" , "Societe cooperative de production (sarl)" ,
"Societe d exercice liberal par actions simplifiees" , "Societe d exercice liberal par actions simplifiees" ,
@ -2289,31 +2289,31 @@ $tabFormesJuridiques=array(
"Societe civile cooperative de construction" , "Societe civile cooperative de construction" ,
"Sarl de presse" , "Sarl de presse" ,
"Groupememt d interet economique commercial" , "Groupememt d interet economique commercial" ,
"Sa À directoire" , "Sa À directoire" ,
"Societe cooperative de production en a.r.l a capital variable" , "Societe cooperative de production en a.r.l a capital variable" ,
"Societe cooperative interet collectif agricole s.a." , "Societe cooperative interet collectif agricole s.a." ,
"Societe cooperative d'interet collectif anonyme" , "Societe cooperative d'interet collectif anonyme" ,
"Societe cooperative a capital et personnel variables" , "Societe cooperative a capital et personnel variables" ,
"SociÉtÉ coopÉrative À capital variable en la forme sarl" , "SociÉtÉ coopÉrative À capital variable en la forme sarl" ,
"Ste coop de banque a capital var." , "Ste coop de banque a capital var." ,
"Groupement agricole d'exploitation en commun - gaec" , "Groupement agricole d'exploitation en commun - gaec" ,
"SociÉtÉ civile d'exploitation agricole" , "SociÉtÉ civile d'exploitation agricole" ,
"Societe cooperative a capital variable et a responsabilite limitee" , "Societe cooperative a capital variable et a responsabilite limitee" ,
"Societe anonyme cooperative de production d hlm" , "Societe anonyme cooperative de production d hlm" ,
"Societe anonyme cooperative de commercants detaillants" , "Societe anonyme cooperative de commercants detaillants" ,
"SociÉtÉ civile professionnelle de commissaires-priseurs" , "SociÉtÉ civile professionnelle de commissaires-priseurs" ,
"Societe anonyme cooperative de banque populaire" , "Societe anonyme cooperative de banque populaire" ,
"Cooperative de consommation en s.a" , "Cooperative de consommation en s.a" ,
"Sa coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ (sacicap)" , "Sa coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ (sacicap)" ,
"Cooperative de commercants detaillants" , "Cooperative de commercants detaillants" ,
"Societe anonyme cooperative a capital et personnel variable" , "Societe anonyme cooperative a capital et personnel variable" ,
"SociÉtÉ coopÉrative de production À forme sarl." , "SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" , "SociÉtÉ civile immobiliÈre de construction vente" ,
"Ano societe anonyme a directoire et conseil de surveillance" , "Ano societe anonyme a directoire et conseil de surveillance" ,
"Societe par actions simplifiee" , "Societe par actions simplifiee" ,
"Societe cooperative ouvriere de production" , "Societe cooperative ouvriere de production" ,
"Societe civile d exploitation agricole a responsabilite limitee" , "Societe civile d exploitation agricole a responsabilite limitee" ,
"Exploitation agricole À responsabilitÉ limitÉe" , "Exploitation agricole À responsabilitÉ limitÉe" ,
"E.u.r.l." , "E.u.r.l." ,
"Societe d'economie mixte a conseil d'administration" , "Societe d'economie mixte a conseil d'administration" ,
"Groupement europeen d'interet economique" , "Groupement europeen d'interet economique" ,
@ -2323,24 +2323,24 @@ $tabFormesJuridiques=array(
"Soci t responsabilit limit e coop rative ouvri re de production et de cr dit" , "Soci t responsabilit limit e coop rative ouvri re de production et de cr dit" ,
"Societe cooperative credit capital variable a.r.l." , "Societe cooperative credit capital variable a.r.l." ,
"Societe d'exercice liberal a forme anonyme _ selafa" , "Societe d'exercice liberal a forme anonyme _ selafa" ,
"SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" , "SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" ,
"SociÉtÉ anonyme d'hlm" , "SociÉtÉ anonyme d'hlm" ,
"Societe d interet collectif agricole" , "Societe d interet collectif agricole" ,
"Societe cooperative d'artisan en arl a capital variable" , "Societe cooperative d'artisan en arl a capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" , "SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" , "SociÉtÉ d'investissement À capital variable" ,
"Societe civile d exploitation agricole" , "Societe civile d exploitation agricole" ,
"Societe en nom collectif" , "Societe en nom collectif" ,
"Sarl cooperative ouvriere de production et de credit a capital variable" , "Sarl cooperative ouvriere de production et de credit a capital variable" ,
"SociÉtÉ par actions simplifiÉe À capital variable" , "SociÉtÉ par actions simplifiÉe À capital variable" ,
"SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" , "SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" ,
"S a cooperative d entreprises a capital variable" , "S a cooperative d entreprises a capital variable" ,
"Sa a conseil d&#039;administration" , "Sa a conseil d&#039;administration" ,
"Societe cooperative de credit" , "Societe cooperative de credit" ,
"Societe de presse" , "Societe de presse" ,
"Societe anonyme a participation ouvriere" , "Societe anonyme a participation ouvriere" ,
"Groupement d interet economique commercial" , "Groupement d interet economique commercial" ,
"SociÉtÉ anonyme d'Économie mixte À conseil d'administration" , "SociÉtÉ anonyme d'Économie mixte À conseil d'administration" ,
"Ste d'exercice liberal a responsabilite limitee unipersonnel" , "Ste d'exercice liberal a responsabilite limitee unipersonnel" ,
"Societe cooperative d interet collectif a responsabilite limitee" , "Societe cooperative d interet collectif a responsabilite limitee" ,
"Sa d'economie mixte a conseil administratif" , "Sa d'economie mixte a conseil administratif" ,
@ -2359,11 +2359,11 @@ $tabFormesJuridiques=array(
"Cooperative agricole a capital variable" , "Cooperative agricole a capital variable" ,
"Societe cooperative de production en a.r.l. a capital variable" , "Societe cooperative de production en a.r.l. a capital variable" ,
"Societe anonyme a capital et personnel variables" , "Societe anonyme a capital et personnel variables" ,
"SociÉtÉ anonyme À conseil d'administration" , "SociÉtÉ anonyme À conseil d'administration" ,
"Sa coop. ouvriere de production capital et personnel variables" , "Sa coop. ouvriere de production capital et personnel variables" ,
"Union de societes cooperatives a directoire" , "Union de societes cooperatives a directoire" ,
"Societe d'exercice liber. forme anonyme" , "Societe d'exercice liber. forme anonyme" ,
"Sarl d'intÉrÊt collectif et agricole À capital variable" , "Sarl d'intÉrÊt collectif et agricole À capital variable" ,
"Sarl cooperative a capital variable" , "Sarl cooperative a capital variable" ,
"Sa coop rative ouvri re de prod et cr dit conseil d adm capital variable" , "Sa coop rative ouvri re de prod et cr dit conseil d adm capital variable" ,
"Banque cooperative regie par la loi n.99-532 du 25.06.1999" , "Banque cooperative regie par la loi n.99-532 du 25.06.1999" ,
@ -2375,9 +2375,9 @@ $tabFormesJuridiques=array(
"Ste cooperative de banque populaire" , "Ste cooperative de banque populaire" ,
"Societe cooperative de consommation anonyme" , "Societe cooperative de consommation anonyme" ,
"Societe anonyme d hlm" , "Societe anonyme d hlm" ,
"SociÉtÉ coopÉrative de travailleurs À forme sarl" , "SociÉtÉ coopÉrative de travailleurs À forme sarl" ,
"Cooperative d'interet collectif a conseil d'administration" , "Cooperative d'interet collectif a conseil d'administration" ,
"SociÉtÉ de placement À prÉpondÉrance immobiliÈre À capital variable" , "SociÉtÉ de placement À prÉpondÉrance immobiliÈre À capital variable" ,
"Societe cooperative a capital variable" , "Societe cooperative a capital variable" ,
"Etablissement public national" , "Etablissement public national" ,
"Sica anonyme a directoire et conseil de surveillance" , "Sica anonyme a directoire et conseil de surveillance" ,
@ -2391,14 +2391,14 @@ $tabFormesJuridiques=array(
"Sarl sous forme de eurl" , "Sarl sous forme de eurl" ,
"Ano societe anonyme cooperative a capital variable a directoire" , "Ano societe anonyme cooperative a capital variable a directoire" ,
"Cooperative artisanale en s.a.r.l" , "Cooperative artisanale en s.a.r.l" ,
"SociÉtÉ civile professionnelle d'avocats" , "SociÉtÉ civile professionnelle d'avocats" ,
"Ste cooperative artisanale resp.lim.capital variable" , "Ste cooperative artisanale resp.lim.capital variable" ,
"Societe anonyme capital fixe coop. de banque" , "Societe anonyme capital fixe coop. de banque" ,
"Societe cooperative de banque populaire a capital variable" , "Societe cooperative de banque populaire a capital variable" ,
"Cooperative ouvriere de production en s.a.r.l." , "Cooperative ouvriere de production en s.a.r.l." ,
"Societe cooperative ouvriere de production a.s.a" , "Societe cooperative ouvriere de production a.s.a" ,
"SociÉtÉ coopÉrative de production À forme anonyme À capital variable" , "SociÉtÉ coopÉrative de production À forme anonyme À capital variable" ,
"Sa coopÉrative ouvriÈre de prod. et crÉdit À conseil d'adm. À capital variable" , "Sa coopÉrative ouvriÈre de prod. et crÉdit À conseil d'adm. À capital variable" ,
"Banque cooperative" , "Banque cooperative" ,
"Sarl membre de la ce ou partie l accord sur l espace conomique europ en" , "Sarl membre de la ce ou partie l accord sur l espace conomique europ en" ,
"Sascop" , "Sascop" ,
@ -2409,17 +2409,17 @@ $tabFormesJuridiques=array(
"Ste d'investissements a capital variable a conseil -sicav-" , "Ste d'investissements a capital variable a conseil -sicav-" ,
"Societe civile en construction vente (loi de 1971) titre1" , "Societe civile en construction vente (loi de 1971) titre1" ,
"Societe cooperative artisanale a resp. limitee et a capital variable" , "Societe cooperative artisanale a resp. limitee et a capital variable" ,
"SociÉtÉ anonyme coopÉrative de consommation À conseil d'administration" , "SociÉtÉ anonyme coopÉrative de consommation À conseil d'administration" ,
"Ville de" , "Ville de" ,
"Societe anonyme de presse" , "Societe anonyme de presse" ,
"Association loi 1901 Émettant des obligations" , "Association loi 1901 Émettant des obligations" ,
"Societe civile professionnelle de notaires" , "Societe civile professionnelle de notaires" ,
"Societe civile immobiliere d attribution" , "Societe civile immobiliere d attribution" ,
"Societe civile professionnelle de chirurgien-dentistes" , "Societe civile professionnelle de chirurgien-dentistes" ,
"Ste cooperative d'interet collectif a responsabilite limitee a capital variable" , "Ste cooperative d'interet collectif a responsabilite limitee a capital variable" ,
"Arl societe a associe unique" , "Arl societe a associe unique" ,
"Soci?t? par actions simplifi?e" , "Soci?t? par actions simplifi?e" ,
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sarl" , "SociÉtÉ coopÉrative ouvriÈre de production en la forme sarl" ,
"Soci t responsabilit limit e coop rative capital variable" , "Soci t responsabilit limit e coop rative capital variable" ,
"Societe anonyme de consom a capital variable" , "Societe anonyme de consom a capital variable" ,
"Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" , "Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" ,
@ -2436,25 +2436,25 @@ $tabFormesJuridiques=array(
"Societe anonyme cooperative a directoire" , "Societe anonyme cooperative a directoire" ,
"Cooperative professionnelle" , "Cooperative professionnelle" ,
"S.a cooperative d'entreprises a capital variable" , "S.a cooperative d'entreprises a capital variable" ,
"SociÉtÉ ÉtrangÈre immatriculÉe au rcs" , "SociÉtÉ ÉtrangÈre immatriculÉe au rcs" ,
"Soci?t? ? responsabilit? limit?e ? associ? unique" , "Soci?t? ? responsabilit? limit?e ? associ? unique" ,
"SociÉtÉ civile professionnelle d'huissiers de justice" , "SociÉtÉ civile professionnelle d'huissiers de justice" ,
"Soci t responsabilit limit e associ unique" , "Soci t responsabilit limit e associ unique" ,
"SociÉtÉ coopÉrative ouvriÈre de production en la forme sa" , "SociÉtÉ coopÉrative ouvriÈre de production en la forme sa" ,
"Sa coop de commercants detail a ca" , "Sa coop de commercants detail a ca" ,
"StÉ de participation financiÈre de profession libÉrale À responsabilitÉ limitÉe" , "StÉ de participation financiÈre de profession libÉrale À responsabilitÉ limitÉe" ,
"Societe cooperative maritime" , "Societe cooperative maritime" ,
"Autres formes juridiques" , "Autres formes juridiques" ,
"Societe civile immobiliere de construction / vente" , "Societe civile immobiliere de construction / vente" ,
"Banque coopÉrative rÉgie par la loi n°99-532 du 25 juin 1999" , "Banque coopÉrative rÉgie par la loi n°99-532 du 25 juin 1999" ,
"SociÉtÉ coopÉrative exploitÉe sous forme de sarl" , "SociÉtÉ coopÉrative exploitÉe sous forme de sarl" ,
"Sarl associe unique" , "Sarl associe unique" ,
"Institution regie - articles l141-1 et suivants du code monetaire et financier" , "Institution regie - articles l141-1 et suivants du code monetaire et financier" ,
"Societe de droit anglais" , "Societe de droit anglais" ,
"Societe cooperative de consommation anonyme a capital variable" , "Societe cooperative de consommation anonyme a capital variable" ,
"Union de cooperative" , "Union de cooperative" ,
"Societe en commandite simple a capital variable" , "Societe en commandite simple a capital variable" ,
"StÉ coop de crÉdit À capital variable et À responsabilitÉ statutairement limitÉe" , "StÉ coop de crÉdit À capital variable et À responsabilitÉ statutairement limitÉe" ,
"Societe par actions" , "Societe par actions" ,
"Societe cooperative artisanale a responsabilite limitee" , "Societe cooperative artisanale a responsabilite limitee" ,
"Societe civile professionnelle de medecins" , "Societe civile professionnelle de medecins" ,
@ -2468,28 +2468,28 @@ $tabFormesJuridiques=array(
"Ste anonyme a directoire et conseil d'orientation & surveillance" , "Ste anonyme a directoire et conseil d'orientation & surveillance" ,
"Sarl unipersonnelle sportive" , "Sarl unipersonnelle sportive" ,
"Scop a responsabilite limitee et a capital variable" , "Scop a responsabilite limitee et a capital variable" ,
"SociÉtÉ À responsabilitÉ limitÉe unipersonnelle À capital variable" , "SociÉtÉ À responsabilitÉ limitÉe unipersonnelle À capital variable" ,
"Sarl a capital et personnel variable" , "Sarl a capital et personnel variable" ,
"Societe d exploitation agricole a responsabilite limitee" , "Societe d exploitation agricole a responsabilite limitee" ,
"Sarl - eurl a capital variable" , "Sarl - eurl a capital variable" ,
"StÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" , "StÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Ste anonyme cooperative a capital variable" , "Ste anonyme cooperative a capital variable" ,
"Etablissement de credit a but non lucratif" , "Etablissement de credit a but non lucratif" ,
"Societe cooperative de travailleurs (sarl)" , "Societe cooperative de travailleurs (sarl)" ,
"E.a.r.l." , "E.a.r.l." ,
"Societe d assurance" , "Societe d assurance" ,
"Regie municipale" , "Regie municipale" ,
"Coop. de crÉdit À responsabilitÉ statutairement limitÉe et À capital variable" , "Coop. de crÉdit À responsabilitÉ statutairement limitÉe et À capital variable" ,
"Societe" , "Societe" ,
"Sarl non membre de la ce ou non partie À l'accord sur l'espace Économique eur." , "Sarl non membre de la ce ou non partie À l'accord sur l'espace Économique eur." ,
"Cooperative a capital variable en a r l " , "Cooperative a capital variable en a r l " ,
"Societe anonyme a directoire et conseil de surveillance" , "Societe anonyme a directoire et conseil de surveillance" ,
"Cooperative ouvriere de production (sa)" , "Cooperative ouvriere de production (sa)" ,
"Societe civile d'attribution" , "Societe civile d'attribution" ,
"Societe civile de portefeuille" , "Societe civile de portefeuille" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ" , "SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour accession À la propriÉtÉ" ,
"Affaire personnelle artisan" , "Affaire personnelle artisan" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" , "Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Societe civile immobiliere a capital variable" , "Societe civile immobiliere a capital variable" ,
"S a r l de presse" , "S a r l de presse" ,
"Sarl d'architecture" , "Sarl d'architecture" ,
@ -2574,16 +2574,16 @@ $tab = array( 'toto.com',
'nono.net', 'nono.net',
'dodo.com', 'dodo.com',
); );
// Récupération des résultats // Récupération des résultats
$output = false; $output = false;
// Exécution // Exécution
if($tab){ if($tab){
foreach($tab as $host){ foreach($tab as $host){
list($domain, $tdl) = split(".", $host, 2); // le 2 permet de s'arreter après le 1er point ce qui permet d'avoir des extenssion du type .com.fr list($domain, $tdl) = split(".", $host, 2); // le 2 permet de s'arreter après le 1er point ce qui permet d'avoir des extenssion du type .com.fr
$output[$host] = simpleWhois($domain, $tdl); $output[$host] = simpleWhois($domain, $tdl);
} }
} }
// Affichage "brut" des données traitées // Affichage "brut" des données traitées
if($output){ if($output){
print_r($output); print_r($output);
} }
@ -2604,7 +2604,7 @@ $tab = array( 'toto.com',
elseif ($genre=='' && $tabPrenom['genre']==2 && $tabPrenom['mixte']==0) elseif ($genre=='' && $tabPrenom['genre']==2 && $tabPrenom['mixte']==0)
$genre='F'; $genre='F';
} else } else
// Ce n'est pas un prénom mais un nom de famille // Ce n'est pas un prénom mais un nom de famille
$noms.=$prenom.' '; $noms.=$prenom.' ';
} }
return array('Nom'=>trim($noms), 'Prenoms'=>preg_replace('/,$/','',trim($prenoms)), 'Genre'=>$genre); return array('Nom'=>trim($noms), 'Prenoms'=>preg_replace('/,$/','',trim($prenoms)), 'Genre'=>$genre);

View File

@ -1,7 +1,7 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini #!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php <?php
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']<>2) die('Usage : '.basename($argv[0]). " nom_database.nom_table\nRécupère le nombre de valeurs distinctes pour chaque colonne d'une table.\n"); if ($_SERVER['argc']<>2) die('Usage : '.basename($argv[0]). " nom_database.nom_table\nRécupère le nombre de valeurs distinctes pour chaque colonne d'une table.\n");
$param=$argv[1]; $param=$argv[1];
$tabParam=explode('.', $param); $tabParam=explode('.', $param);
$db=$tabParam[0]; $db=$tabParam[0];
@ -19,9 +19,9 @@ foreach ($tabNameRows as $i=> $nameRow) {
$retV=$iDb->select($table,"COUNT(*) as NbDiff, $nameRow", "1 GROUP BY $nameRow LIMIT 0,1000", true); $retV=$iDb->select($table,"COUNT(*) as NbDiff, $nameRow", "1 GROUP BY $nameRow LIMIT 0,1000", true);
$retT=$iDb->select($table,"MAX(LENGTH($nameRow))", '1', true); $retT=$iDb->select($table,"MAX(LENGTH($nameRow))", '1', true);
if (count($retV)>=1000) if (count($retV)>=1000)
echo "$db.$table, $nameRow : + de 1000 valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n"; echo "$db.$table, $nameRow : + de 1000 valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n";
else else
echo "$db.$table, $nameRow : ".count($retV)." valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n"; echo "$db.$table, $nameRow : ".count($retV)." valeur(s) différente(s). Longueur maxi : ".$retT[0][0]."\n";
flush(); flush();
} }

View File

@ -2,8 +2,8 @@
<?php <?php
/** /**
** Ce script récupère les informations relatives à un Domaine .fr ** Ce script récupère les informations relatives à un Domaine .fr
** Les domaines .fr doivent être contenu dans un fichier texte séparateur ; ou | ** Les domaines .fr doivent être contenu dans un fichier texte séparateur ; ou |
**/ **/
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
@ -22,7 +22,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Extraction des informations Whois Html de l'Afnic. Extraction des informations Whois Html de l'Afnic.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
"; ";
$iDb=new WDB('jo'); $iDb=new WDB('jo');
@ -45,9 +45,9 @@ Options :
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL); if (count($tabFichier)==0) die('Aucun fichier CSF à traiter'.EOL);
echo date ('Y/m/d - H:i:s') . " - Début du traitement des Domaines".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement des Domaines".EOL;
foreach ($tabFichier as $i=>$fichier) { foreach ($tabFichier as $i=>$fichier) {
$fileDomaines=file($fichier); $fileDomaines=file($fichier);
@ -69,14 +69,14 @@ foreach ($tabFichier as $i=>$fichier) {
if (preg_match('/<span class=h1> Nom de domaine \: <\/span><span class=bleuvif>(.*)<img src="\/images\/x_orange.gif" border="0" align="middle" height="2" width="50%"><\/p>/Uis', $strTmp, $matches2)) if (preg_match('/<span class=h1> Nom de domaine \: <\/span><span class=bleuvif>(.*)<img src="\/images\/x_orange.gif" border="0" align="middle" height="2" width="50%"><\/p>/Uis', $strTmp, $matches2))
$strTmp=$matches2[1]; $strTmp=$matches2[1];
// die($strTmp); // die($strTmp);
if (preg_match('/<b>Date de création : <\/b>(.*)<br>/Uis', $strTmp, $matches2)) if (preg_match('/<b>Date de création : <\/b>(.*)<br>/Uis', $strTmp, $matches2))
$dateCre=$matches2[1]; $dateCre=$matches2[1];
if (preg_match('/<b>Date anniversaire : <\/b>(.*)<br>/Uis', $strTmp, $matches2)) if (preg_match('/<b>Date anniversaire : <\/b>(.*)<br>/Uis', $strTmp, $matches2))
$dateAnn=$matches2[1]; $dateAnn=$matches2[1];
if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)Téléphone : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2)) if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)Téléphone : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2))
$tel=str_replace(' ','.',trim(str_replace('+33 ','0',$matches2[1]))); $tel=str_replace(' ','.',trim(str_replace('+33 ','0',$matches2[1])));
if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)<b>Courrier électronique : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2)) if (preg_match('/<span class=h1>Titulaire : <\/span><span class=bleuvif>(?:.*)<b>Courrier électronique : <\/b>(.*)<br>(?:.*)<span class=h1> Contact administratif : <\/span><span class=bleuvif>/Uis', $strTmp, $matches2))
$mail=trim(strip_tags($matches2[1])); $mail=trim(strip_tags($matches2[1]));
if (preg_match('/http\:\/\/www\.euridile\.com\/index_vitrine\.ow\?afnic_numrcs=(.*)"/Ui', $strTmp,$matches2)) if (preg_match('/http\:\/\/www\.euridile\.com\/index_vitrine\.ow\?afnic_numrcs=(.*)"/Ui', $strTmp,$matches2))
$siren=$matches2[1]; $siren=$matches2[1];

View File

@ -7,11 +7,11 @@ include_once(FWK_PATH.'common/dates.php');
$modeDebug=false; $modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice. Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/ /**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options : Options :
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles) -d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -i:XXXXX Reprendre au code commune Insee XXXXX ";/* -i:XXXXX Reprendre au code commune Insee XXXXX
@ -57,7 +57,7 @@ $tabZones=array(
'activitePri'=>'<dt>Activit(?:.*)principale :</dt><dd>(.*)</dd>', // 'activitePri'=>'<dt>Activit(?:.*)principale :</dt><dd>(.*)</dd>', //
'activite[actCode,actLib]'=>'\t\t\t\t\t\t\t<dt>(.*) :</dt><dd>(.*)</dd>', 'activite[actCode,actLib]'=>'\t\t\t\t\t\t\t<dt>(.*) :</dt><dd>(.*)</dd>',
); );
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL; echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL;
$ret=$iDb->select($table, 'MAX(id)', '1', false); $ret=$iDb->select($table, 'MAX(id)', '1', false);
$iDeb=$ret[0][0]; $iDeb=$ret[0][0];
@ -82,11 +82,11 @@ for($i=$iDeb;;$i++) {
foreach ($tabHtml as $zone=>$data) { foreach ($tabHtml as $zone=>$data) {
if (is_array($data)) { if (is_array($data)) {
foreach ($data as $j=>$tabInsert2) { foreach ($data as $j=>$tabInsert2) {
// Deb spécifique ecoartisan // Deb spécifique ecoartisan
$tmp=explode(' ',$tabInsert2['actCode']); $tmp=explode(' ',$tabInsert2['actCode']);
$last=end($tmp); $last=end($tmp);
if ($last*1==0) continue; if ($last*1==0) continue;
// Fin spécifique ecoartisan // Fin spécifique ecoartisan
$tabInsert2['id']=$i; $tabInsert2['id']=$i;
$tabInsert2['num']=$j; $tabInsert2['num']=$j;
$tabInsert2['dateInsert']=date('YmdHis'); $tabInsert2['dateInsert']=date('YmdHis');
@ -107,7 +107,7 @@ for($i=$iDeb;;$i++) {
$nbVides++; $nbVides++;
if ($nbVides<50) continue; if ($nbVides<50) continue;
else { else {
echo date('Y/m/d H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL; echo date('Y/m/d H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die(); die();
} }
} }

339
1.1/old/getElus.php Normal file
View File

@ -0,0 +1,339 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(FWK_PATH.'common/curl.php');
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
$modeDebug=$modeDetail=$modeRCI=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des listes des sociétés de gestion agrées par l'AMF
Options :
-v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
-d Remplir les fiches détaillées
-r=13S00000 Traiter ce numéro de RCI
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
";*/
$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 'v': $modeDebug=true; break;
case 'd': $modeDetail=true; break;
case 'r': $modeRCI=trim(substr($argv[$i],3,strlen($argv[$i])-1)); break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
}
}
$iDb=new WDB('tmp');
$table='elus';
$urlBase='http://senat.fr/senateur/';
$referer='http://senat.fr/senateurs/sencir.html';
/*$urlRecherche='http://www.rci.gouv.mc/resultatRecherche';
$urlDetailS='http://www.rci.gouv.mc/ficheSGratuit.jsp?rc=';
$urlDetailPP='http://www.rci.gouv.mc/fichePPGratuit.jsp?rc=';
*/
$tabZonesS=array( 'nomPrenom'=>'<div class="title">\s+<h1 class="title-01">(.*)</h1>\s+<h2 class="subtitle-02">Sénateur (.*)(\(.*)\)</h2>',
//'departement'=>'<div class="title">\s+<h1 class="title-01">(?:.*)</h1>\s+<h2 class="subtitle-02">Sénateur (.*)(\(.*)\)</h2>',
//'region'=>'<div class="title">\s+<h1 class="title-01">(?:.*)</h1>\s+<h2 class="subtitle-02">Sénateur(?:.*)(\(.*)\)</h2>',
'partiCode'=>'<li class="last">Apparenté au\s+<a href="/senateurs/(.*).html"',
'partiLib'=>'<li class="last">Apparenté au\s+<a href="/senateurs/(?:.*).html" target="_self">(.*)</a></li>',
'dateElection'=>'<h2 class="title title-02">Election</h2>(?:.*)<li>\s+Elu le (.*)</li>',
'mail'=>'<a href="mailto:(.*)" class="link-color-01">',
'dateNaiss'=>'<dt>Etat Civil</dt>\s+<dd>Né le (.*)</dd>',
'profession'=>'<dt>Profession</dt>\s+<dd>(.*)</dd><dt>Place dans',
);
$tabZonesPP=array('codeRCI'=>'<b>Numéro RCI :</b>(.*)<br>',
'etat'=>'<b>Etat :</b>(.*)<br>',
'forme'=>'<b>Structure :</b>(.*)<br>',
'rs'=>'<b>Commerce exercé sous le nom :</b>(.*)<br>',
'formePP'=>'<h1 class="titre2">Etat-civil du déclarant</h1>(?:.*)<h1 class="titre3">(.*)</h1><br>',
'nom'=>'<b>Nom :</b>(.*)<br>',
'prenom'=>'<b>Prénom :</b>(.*)<br>',
'nomJF'=>'<b>Nom de jeune fille :</b>(.*)<br>',
'activite'=>'<b>Activité de l\'établissement :</b>(.*)<br>(?:\s+)</div>',
'etab'=>'</DIV>(?:.*)<h1 class="titre2">(.*)</h1>(?:.*)<div',
'etabType'=>'<h1 class="titre3">(.*)</h1><br>',
'etabEns'=>'<h1 class="titre4">(.*)</h1>',
'ensAdr1'=>'<td><b>Adresse :</b></td>(?:.*)<td>(.*)<br>(?:.*)<br>(?:.*)<br>(?:.*)</td>',
'ensAdr2'=>'<td><b>Adresse :</b></td>(?:.*)<td>(?:.*)<br>(.*)<br>(?:.*)<br>(?:.*)</td>',
'ensAdr3'=>'<td><b>Adresse :</b></td>(?:.*)<td>(?:.*)<br>(?:.*)<br>(.*)<br>(?:.*)</td>',
'ensAdr4'=>'<td><b>Adresse :</b></td>(?:.*)<td>(?:.*)<br>(?:.*)<br>(?:.*)<br>(.*)</td>',
);
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL;
//$letIni=file_get_contents (REP_TEMP.$table);
//$letIni='AVK';
$page=getUrl($referer, '', '', '', false);
$body=$page['body'];
/** Ventilation par départements **/
if (preg_match_all('/title\-05">(.*)<\/h2>(?:.*)<ul class="list\-type\-03">(.*)<\/ul>/Uis', $body, $matches)) {
//print_r($matches);
//die();
foreach($matches[1] as $i=>$libDept) {
$listeSenateursHtm=$matches[2][$i];
//echo "$i\t$libDept".EOL;
/** Ventillation par député du département **/
if (preg_match_all('/<li><A href="\/senateur\/(.*)\.html">(.*)<\/A><\/li>/Uim', $listeSenateursHtm, $matches2)) {
foreach($matches2[1] as $i=>$urlDetail) {
$url=$urlBase.$urlDetail.'.html';
$nomPrenom=$matches2[2][$i];
$tabTmp=explode('&nbsp;', $nomPrenom);
$nom=$tabTmp[0];
$prenom=$tabTmp[1];
echo "$i\t$libDept\t$nomPrenom\t$nom\t$prenom\t$url".EOL;
if (count($tabTmp[1])>2) die('Cas non prévu !!!'.EOL);
$page=getUrl($url, '', '', $referer, false);
$body=$page['body'];
$tabUpdate=html2array($body, $tabZonesS);
$tabUpdate['mandat']='senateur';
$tabUpdate['nom']=$nom;
$tabUpdate['prenom']=$prenom;
$tabUpdate['libDept']=$libDept;
$tabUpdate['url']=$url;
$tabUpdate['dateInsert']=date('YmdHis');
$tabUpdate['dateElection']=WDate::dateT('d M Y','Ymd', $tabUpdate['dateElection']);
$tabUpdate['dateNaiss']=WDate::dateT('d M Y','Ymd', $tabUpdate['dateNaiss']);
@$iDb->insert($table, $tabUpdate);
print_r($tabUpdate);
//die(mysql_error().EOL);
//die();
randsleep(7,21);
}
}
}
}
die();
if (!$modeDetail || $modeRCI) {
if (!$modeRCI) {
$tabSerialised=@file_get_contents(REP_TEMP.$table);
if (!$tabSerialised) {
if (!$nbLet)
//$letIni='AAA';
for ($l1=65; $l1<91; $l1++) {
//if ($letIni) $l1=ord(substr($letIni,0,1));
$L1=chr($l1);
for ($l2=65; $l2<91; $l2++) {
//if ($letIni) $l2=ord(substr($letIni,1,1));
$L2=chr($l2);
for ($l3=65; $l3<91; $l3++) {
//if ($letIni) $l3=ord(substr($letIni,2,1));
$letIni=false;
$L3=chr($l3);
$let=''.$L1.$L2.$L3;
$tabLet[]=$let;
}
}
}
shuffle($tabLet);
file_put_contents (REP_TEMP.$table, serialize($tabLet));
} else
$tabLet=unserialize($tabSerialised);
$nbLet=count($tabLet);
echo date ('Y/m/d - H:i:s')." - Il reste $nbLet requêtes à traiter...".EOL;
} else {
$an=substr($modeRCI,0,2);
//if ($an*1<1 || $an>99999) die("Erreur : N° RCI '$modeRCI' incorrect !");
$lettre=strtoupper(substr($modeRCI,2,1));
if ($lettre<>'S' && $lettre<>'P') die("Erreur : N° RCI '$modeRCI' incorrect !");
$numRC=substr($modeRCI,3,5);
if ($numRC<1 || $numRC>99999) die("Erreur : N° RCI '$modeRCI' incorrect !");
$tabLet=array(0=>$modeRCI);
$nbLet=2;
}
$nbDone=0;
foreach ($tabLet as $j=>$let) {
$nbDone++;
if ($modeRCI) $url=$urlRecherche."Gratuit.jsp?mille=$an&fj=$lettre&rc=$numRC";
else $url=$urlRecherche.'RSEGratuit.jsp?rse='.$let;
$page=getUrl($url, '', '', '', false);
$body=$page['body'];
echo date ('Y/m/d - H:i:s')." - $nbDone/$nbLet : RC Monaco '$let' ...";
if (preg_match_all('/<a href="\.\/fiche(PP|S)Gratuit\.jsp\?rc=(.*)">(.*)<\/a>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches)) {
foreach($matches[2] as $i=>$numRCI) {
$tabEntrep=array('codeRCI'=>trim($numRCI),
'PmPP'=>trim($matches[1][$i]),
'forme'=>trim($matches[4][$i]),
'rs'=>trim($matches[5][$i]),
'etabEns'=>trim($matches[6][$i]),
'etat'=>trim($matches[7][$i]),
'dateInsert'=>date('YmdHis'));
@$iDb->insert($table, $tabEntrep);
//print_r($tabEntrep);
}
$i++;
echo "$i entreprise(s)";
} else
echo "Pas d'entreprise";
echo EOL;
if (!$modeRCI) {
unset($tabLet[$j]);
file_put_contents(REP_TEMP.$table, serialize(array_unique($tabLet)));
if ($modeDebug) randsleep(1,2);
else {
randsleep(60,120);
if (date('H')>19) die();
}
}
}
}
if ($modeDetail || $modeRCI) {
if ($modeRCI)
$ret=$iDb->select($table, 'id,codeRCI,PmPP', "codeRCI='$modeRCI'", false);
else
$ret=$iDb->select($table, 'id,codeRCI,PmPP', "activite IS NULL OR etat='' /*AND PmPP='PP'*/ ORDER BY dateInsert DESC", false);
$nbLet=count($ret);
foreach ($ret as $tFiche) {
@$nbDone++;
$id=$tFiche['id'];
$rci=$tFiche['codeRCI'];
$ppS=$tFiche['PmPP'];
echo date ('Y/m/d - H:i:s')." - $nbDone/$nbLet : RCI Monaco '$rci' ($id) - '";
//echo date ('Y/m/d - H:i:s')." - Num Agrément : $agrNum".EOL;
if ($ppS=='S') $urlFiche=$urlDetailS.$rci;
elseif ($ppS=='PP') $urlFiche=$urlDetailPP.$rci;
else die("Type '$ppS' inconnu !".EOL);
$page=getUrl($urlFiche, '', '', $referer, false);
$body=$page['body'];
if ($ppS=='S') $tabZones=$tabZonesS;
elseif ($ppS=='PP') $tabZones=$tabZonesPP;
$tabUpdate=html2array($body, $tabZones);
if (strpos($tabUpdate['ensAdr4'],'Pour de plus amples informations')>0) $tabUpdate['ensAdr4']='';
$iDb->update($table, $tabUpdate, "id=$id");
echo $tabUpdate['rs']."'".EOL;
if (!$modeRCI) {
if ($modeDebug) randsleep(1,2);//randsleep(7,21);
else {
randsleep(60,120);
if (date('H')>19) die();
}
}
}
}
die();
shuffle($tabLet);
file_put_contents (REP_TEMP.$table, serialize($tabLet));
die();
echo count($tabLet);
//serialize
print_r($tabLet);
die();
$tabHtml=html2array($body, $tabZones);
print_r($tabHtml);
die();
$ret=$iDb->select($table, 'agrementNum', '1', false);
foreach ($ret as $tAgrNum) {
$agrNum=$tAgrNum['agrementNum'];
echo date ('Y/m/d - H:i:s')." - Num Agrément : $agrNum".EOL;
}
for($i=$iDeb;;$i++) {
$tabInsert=array('id'=>$i);
$url=$urlBase."?NumAgr=$agrNum&DateDeb=&DateFin=&lstTypeDec=0&NomSOc=&action=new&varvalidform=on&hidRagCode=&CodeAMF=&btnvalid.x=13&btnvalid.y=15";
$page=getUrl($url, '', '', '', false);
$referer=$url;
$body=$page['body'];
print_r($page);
die();
$tabHtml=html2array($body, $tabZones);
foreach ($tabHtml as $zone=>$data) {
if (is_array($data)) {
foreach ($data as $j=>$tabInsert2) {
$tabInsert2['id']=$i;
$tabInsert2['num']=$j;
$tabInsert2['dateInsert']=date('YmdHis');
if (!$iDb->insert($table.$zone, $tabInsert2, false)) {
if (mysql_errno()==1062) {
unset($tabInsert2['dateInsert']);
$iDb->update($table.$zone, $tabInsert2, "id=$i AND num=$j", false);
} else {
print_r($tabInsert2);
die(mysql_error());
}
}
}
} else
$tabInsert[$zone]=$data;
}
if (count($tabInsert)<10 || $tabInsert['raiSoc']=='') {
$nbVides++;
if ($nbVides<20) continue;
else {
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die();
}
}
$nbVides=0;
unset($tabInsert['qualifs']);
if (isset($tabInsert['urlImg']) && $tabInsert['urlImg']<>'') {
$urlLogo='http://www.qualifelec.fr/';
die($tabInsert['urlImg']);
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') {
$extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) {
$referer='';
$tDeb=microtime(true);
$page=getUrl($urlLogo, '', '', $referer, false, '', '', 60);
$duree=round(microtime(true)-$tDeb,3);
$body=$page['body'];
$taille=round(strlen($body)/1024,1);
file_put_contents("/home/data/logos/$siren.$extension",$body);
}
}
}
unset($tabInsert['urlImg']);
$tabInsert['dateInsert']=date('YmdHis');
if (!$iDb->insert($table, $tabInsert, false)) {
if (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$iDb->update($table, $tabInsert, "id=$i", false);
} else {
print_r($tabInsert);
die(mysql_error());
}
}
//die();
$nb=count($tabInsert);
$nb2=@count($tabInsert2);
echo date('Y/m/d H:i:s')." - $i : $nb zones et $nb2 qualifications".EOL;
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
die();
?>

View File

@ -8,16 +8,16 @@ include_once(FWK_PATH.'mail/sendMail.php');
$tabGages=array(1=>'Animaux', $tabGages=array(1=>'Animaux',
2=>'Horlogerie et Bijoux', 2=>'Horlogerie et Bijoux',
3=>'Instruments de musique', 3=>'Instruments de musique',
4=>'Matériels, mobiliers et produits à usage professionnel non visés dans les autres catégories', 4=>'Matériels, mobiliers et produits à usage professionnel non visés dans les autres catégories',
5=>'Matériels à usage non professionnel autres qu\'informatiques', 5=>'Matériels à usage non professionnel autres qu\'informatiques',
6=>'Matériels liés au sport', 6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires', 7=>'Matériels informatiques et accessoires',
8=>'Meubles meublants', 8=>'Meubles meublants',
9=>'Meubles incorporels autres que parts sociales', 9=>'Meubles incorporels autres que parts sociales',
10=>'Monnaies', 10=>'Monnaies',
11=>'Objets d\'art, de collection ou d\'antiquité', 11=>'Objets d\'art, de collection ou d\'antiquité',
12=>'Parts sociales', 12=>'Parts sociales',
13=>'Produits de l\'édition, de la presse ou d\'autres industries graphiques', 13=>'Produits de l\'édition, de la presse ou d\'autres industries graphiques',
14=>'Produits liquides non comestibles', 14=>'Produits liquides non comestibles',
15=>'Produits textiles', 15=>'Produits textiles',
16=>'Produits alimentaires', 16=>'Produits alimentaires',
@ -136,7 +136,7 @@ function getGages($siren, $numGage) {
$rs=$matches[3]; $rs=$matches[3];
$sirenLu=str_replace(' ','',$matches[4]); $sirenLu=str_replace(' ','',$matches[4]);
echo "$sirenLu ($type) : $rs\t$gages".EOL; echo "$sirenLu ($type) : $rs\t$gages".EOL;
if ($gages<>"Aucune inscription n'a été trouvée dans le fichier national") die('OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI'.EOL); if ($gages<>"Aucune inscription n'a été trouvée dans le fichier national") die('OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI / OUI'.EOL);
return (array( 'siren'=>$sirenLu, return (array( 'siren'=>$sirenLu,
'gageNum'=>$numGage, 'gageNum'=>$numGage,
@ -154,16 +154,16 @@ $bodyGages=array();
$tabGages=array(1=>'Animaux', $tabGages=array(1=>'Animaux',
2=>'Horlogerie et Bijoux', 2=>'Horlogerie et Bijoux',
/* 3=>'Instruments de musique', /* 3=>'Instruments de musique',
4=>'Matériels, mobiliers et produits à usage professionnel non visés dans les autres catégories', 4=>'Matériels, mobiliers et produits à usage professionnel non visés dans les autres catégories',
5=>'Matériels à usage non professionnel autres qu\'informatiques', 5=>'Matériels à usage non professionnel autres qu\'informatiques',
6=>'Matériels liés au sport', 6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires', 7=>'Matériels informatiques et accessoires',
8=>'Meubles meublants', 8=>'Meubles meublants',
9=>'Meubles incorporels autres que parts sociales', 9=>'Meubles incorporels autres que parts sociales',
10=>'Monnaies', 10=>'Monnaies',
11=>'Objets d\'art, de collection ou d\'antiquité', 11=>'Objets d\'art, de collection ou d\'antiquité',
12=>'Parts sociales', 12=>'Parts sociales',
13=>'Produits de l\'édition, de la presse ou d\'autres industries graphiques', 13=>'Produits de l\'édition, de la presse ou d\'autres industries graphiques',
14=>'Produits liquides non comestibles', 14=>'Produits liquides non comestibles',
15=>'Produits textiles', 15=>'Produits textiles',
16=>'Produits alimentaires', 16=>'Produits alimentaires',

View File

@ -36,8 +36,8 @@ for ($dep=36; $dep<975; $dep++) {// 1
} }
if(preg_match_all('/<td bgcolor=\#(?:E2F5F7|B9E7EB) class=text12NN align=center>(.*)<\/td>/i', $tabTmp[$i], $results)) { if(preg_match_all('/<td bgcolor=\#(?:E2F5F7|B9E7EB) class=text12NN align=center>(.*)<\/td>/i', $tabTmp[$i], $results)) {
if ($results[1][0]<>'') $site=preg_replace('/" target=(.*)/i','',preg_replace('/<a href="/i','',$results[1][0])); if ($results[1][0]<>'') $site=preg_replace('/" target=(.*)/i','',preg_replace('/<a href="/i','',$results[1][0]));
if ($results[1][1]<>'') $ench='Ventes aux enchères'; if ($results[1][1]<>'') $ench='Ventes aux enchères';
if ($results[1][2]<>'') $pais='Paiement sécurisé'; if ($results[1][2]<>'') $pais='Paiement sécurisé';
} }
$page=getUrl('http://www.huissier-justice.fr/annuaire/'.$etudeUrl, '', '', $url, false, 'www.huissier-justice.fr'); $page=getUrl('http://www.huissier-justice.fr/annuaire/'.$etudeUrl, '', '', $url, false, 'www.huissier-justice.fr');
@ -49,7 +49,7 @@ for ($dep=36; $dep<975; $dep++) {// 1
$cp=$results[1]; $cp=$results[1];
$ville=trim($results[2]); $ville=trim($results[2]);
} }
if (preg_match('/Tél : (.*)<br>/Ui', $body, $results)) { if (preg_match('/Tél : (.*)<br>/Ui', $body, $results)) {
$tel=$results[1]; $tel=$results[1];
} }
if (preg_match('/Fax : (.*)<br>/Ui', $body, $results)) { if (preg_match('/Fax : (.*)<br>/Ui', $body, $results)) {
@ -65,5 +65,5 @@ for ($dep=36; $dep<975; $dep++) {// 1
} }
} else break; } else break;
} // Fin boucle T.I. } // Fin boucle T.I.
} // Fin boucle départements } // Fin boucle départements
?> ?>

View File

@ -139,25 +139,25 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
$champ[$i]=$data[$i]; $champ[$i]=$data[$i];
} }
} }
$sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule $sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule
$sql.=") TYPE=MYISAM COMMENT='".basename($nomFichier)." du ".date('d/m/Y H:i', filemtime($nomFichier))." (".round(filesize($nomFichier)/1024)." ko)';"; $sql.=") TYPE=MYISAM COMMENT='".basename($nomFichier)." du ".date('d/m/Y H:i', filemtime($nomFichier))." (".round(filesize($nomFichier)/1024)." ko)';";
if ($create) { if ($create) {
$sql0="DROP TABLE IF EXISTS `$table`;"; $sql0="DROP TABLE IF EXISTS `$table`;";
$iDb->query($sql0); $iDb->query($sql0);
if ($iDb->query($sql)) if ($iDb->query($sql))
'';//echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL; '';//echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL;
else { else {
echo $iDb->getLastError().EOL; echo $iDb->getLastError().EOL;
die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL); die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL);
} }
} }
if ($reload) { if ($reload) {
$sql="TRUNCATE TABLE `$table`;"; $sql="TRUNCATE TABLE `$table`;";
if ($iDb->query($sql)) if ($iDb->query($sql))
'';//echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL; '';//echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL;
else { else {
echo $iDb->getLastError().EOL; echo $iDb->getLastError().EOL;
die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL); die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL);
} }
} }
continue; continue;
@ -182,7 +182,7 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
$ret=$iDb->insert($table, $tabDataToInsert); $ret=$iDb->insert($table, $tabDataToInsert);
if ($ret!=1) { if ($ret!=1) {
echo date ('Y/m/d - H:i:s') . ' - ERREUR n°'.mysql_errno()." à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL; echo date ('Y/m/d - H:i:s') . ' - ERREUR n°'.mysql_errno()." à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL;
echo date ('Y/m/d - H:i:s') . ' - '.mysql_error() .EOL; echo date ('Y/m/d - H:i:s') . ' - '.mysql_error() .EOL;
} }
unset($tabDataToInsert); unset($tabDataToInsert);
@ -190,7 +190,7 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
fclose($fp); fclose($fp);
if ($create) { if ($create) {
// On réduit la taille des colonnes au max de chaque champ // On réduit la taille des colonnes au max de chaque champ
for($i=0; $i<$nbColonnes; $i++) { for($i=0; $i<$nbColonnes; $i++) {
if ($tabTailles[$i]<256) { if ($tabTailles[$i]<256) {
$tabTmp=array_unique($tabTypes[$i]); $tabTmp=array_unique($tabTypes[$i]);
@ -206,9 +206,9 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
} }
$sql="ALTER TABLE `$table` CHANGE `".$champ[$i]."` `".$champ[$i]."` $strType NULL DEFAULT NULL "; $sql="ALTER TABLE `$table` CHANGE `".$champ[$i]."` `".$champ[$i]."` $strType NULL DEFAULT NULL ";
if ($iDb->query($sql)) if ($iDb->query($sql))
echo '';//date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL; echo '';//date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL;
else else
echo '';//date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL; echo '';//date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL;
} }
} }
} }
@ -220,17 +220,17 @@ include_once(FWK_PATH.'common/curl.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] $strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS]
Téléchargement et mise à jour d'informations en provenance de Bases Internet. Téléchargement et mise à jour d'informations en provenance de Bases Internet.
Options: Options:
-d Mode debug -d Mode debug
-t Traiter tous les fichiers à mettre à jour (*) -t Traiter tous les fichiers à mettre à jour (*)
-r Traiter les fichiers Risques (prim.net) -r Traiter les fichiers Risques (prim.net)
-x Traiter les fichiers Imports/Exports des Douanes -x Traiter les fichiers Imports/Exports des Douanes
-p Traiter les fichiers du Registre français des émissions polluantes -p Traiter les fichiers du Registre français des émissions polluantes
-f Traiter le fichier Finess (Etablissements de Santé) -f Traiter le fichier Finess (Etablissements de Santé)
(*): Valeur par défaut ! (*): Valeur par défaut !
"; ";
$modeDebug=false; $modeDebug=false;
$tAll=true; $tAll=true;
@ -261,18 +261,18 @@ if ($_SERVER['argc']>1)
} }
if ($tAll) $tRisks=$tXport=$tPollu=$tSante=true; if ($tAll) $tRisks=$tXport=$tPollu=$tSante=true;
echo date('Y/m/d - H:i:s')." - Début du script...".EOL; echo date('Y/m/d - H:i:s')." - Début du script...".EOL;
/** /**
** Base GASPAR ** Base GASPAR
**/ **/
if ($tSante) { if ($tSante) {
echo date('Y/m/d - H:i:s')." - Connexion à la base Finess.".EOL; echo date('Y/m/d - H:i:s')." - Connexion à la base Finess.".EOL;
$tabEtab=array(0=>'', 1=>'Etablissement',2=>'Juridique'); $tabEtab=array(0=>'', 1=>'Etablissement',2=>'Juridique');
$tabSelect=$tabTables=array(); $tabSelect=$tabTables=array();
$url='http://finess.sante.gouv.fr/finess/jsp/rechercheSimple.jsp'; $url='http://finess.sante.gouv.fr/finess/jsp/rechercheSimple.jsp';
$page=getUrl($url); $page=getUrl($url);
if ($page['code']<>200) die('Code retour finess différent de 200 !'.EOL); if ($page['code']<>200) die('Code retour finess différent de 200 !'.EOL);
$cookie=$page['header']['Set-Cookie']; $cookie=$page['header']['Set-Cookie'];
$referer=$url; $referer=$url;
$iDb=new WDB('sante'); $iDb=new WDB('sante');
@ -291,8 +291,8 @@ if ($tSante) {
if ($publ>0) $table.="_$publ"; if ($publ>0) $table.="_$publ";
$fichierCsv="/tmp/$table.csv"; $fichierCsv="/tmp/$table.csv";
if (!file_exists($fichierCsv) || filesize($fichierCsv)<100 || date('Ymd', filemtime($fichierCsv))<date('Ymd',mktime(0,0,0,date('m'),date('d')-5,date('Y')))) { if (!file_exists($fichierCsv) || filesize($fichierCsv)<100 || date('Ymd', filemtime($fichierCsv))<date('Ymd',mktime(0,0,0,date('m'),date('d')-5,date('Y')))) {
// On récupère le fichier distant // On récupère le fichier distant
echo date('Y/m/d - H:i:s')." - Début de la récupération du CSV pour $dep $etab,$publ...".EOL; echo date('Y/m/d - H:i:s')." - Début de la récupération du CSV pour $dep $etab,$publ...".EOL;
//echo 'Date du fichier = '.date('Ymd', filemtime($fichierCsv)).EOL; //echo 'Date du fichier = '.date('Ymd', filemtime($fichierCsv)).EOL;
//echo 'Date il y a 5 jours = '.date('Ymd',mktime(0,0,0,date('m'),date('d')-5,date('Y'))).EOL; //echo 'Date il y a 5 jours = '.date('Ymd',mktime(0,0,0,date('m'),date('d')-5,date('Y'))).EOL;
$choixLoc2=$dep.'%0D%0A'; $choixLoc2=$dep.'%0D%0A';
@ -345,7 +345,7 @@ if ($tSante) {
/*exec('wget --append-output=/tmp/wget.log --keep-session-cookies --save-headers --output-document=/tmp/wget.htm "'.$url.'"'); /*exec('wget --append-output=/tmp/wget.log --keep-session-cookies --save-headers --output-document=/tmp/wget.htm "'.$url.'"');
$str=file_get_contents('/tmp/wget.htm'); $str=file_get_contents('/tmp/wget.htm');
if (!preg_match_all('/Set\-Cookie\: (.*); path=\//Uis', $str, $matches)) if (!preg_match_all('/Set\-Cookie\: (.*); path=\//Uis', $str, $matches))
echo date('Y/m/d - H:i:s')." - ERREUR : Récupération du CSV impossible (pas de cookies) !".EOL; echo date('Y/m/d - H:i:s')." - ERREUR : Récupération du CSV impossible (pas de cookies) !".EOL;
else else
$cookie=$matches[1][0].'; '.$matches[1][1];*/ $cookie=$matches[1][0].'; '.$matches[1][1];*/
randsleep(7,21); randsleep(7,21);
@ -364,9 +364,9 @@ if ($tSante) {
//if (mb_detect_encoding($strCsv, 'UTF-8', true)) //if (mb_detect_encoding($strCsv, 'UTF-8', true))
// $strCsv=utf8_decode($strCsv); // $strCsv=utf8_decode($strCsv);
file_put_contents($fichierCsv, $strCsv); file_put_contents($fichierCsv, $strCsv);
echo date('Y/m/d - H:i:s')." - Fin de la récupération du CSV pour $dep $etab,$publ en $duree s ($nbResultats lignes, $debit Ko/s).".EOL; echo date('Y/m/d - H:i:s')." - Fin de la récupération du CSV pour $dep $etab,$publ en $duree s ($nbResultats lignes, $debit Ko/s).".EOL;
} else } else
echo date('Y/m/d - H:i:s')." - Récupération du CSV depuis le cache pour $dep $etab,$publ.".EOL; echo date('Y/m/d - H:i:s')." - Récupération du CSV depuis le cache pour $dep $etab,$publ.".EOL;
$tabTmp=file("/tmp/$table.csv"); $tabTmp=file("/tmp/$table.csv");
$nbLignesCache=count($tabTmp)-1; $nbLignesCache=count($tabTmp)-1;
@ -378,12 +378,12 @@ if ($tSante) {
$tdeb=microtime(1); $tdeb=microtime(1);
$nbInsert=@loadCsv("/tmp/$table.csv",'sante',$table,$recreate); $nbInsert=@loadCsv("/tmp/$table.csv",'sante',$table,$recreate);
$duree=round(microtime(1)-$tdeb,1); $duree=round(microtime(1)-$tdeb,1);
echo date('Y/m/d - H:i:s')." - Chargement du département $dep $etab : $nbInsert lignes en $duree s ($table)".EOL; echo date('Y/m/d - H:i:s')." - Chargement du département $dep $etab : $nbInsert lignes en $duree s ($table)".EOL;
// die("/tmp/$table.csv".EOL); // die("/tmp/$table.csv".EOL);
} else } else
echo date('Y/m/d - H:i:s')." - Pas de rechargement du département $dep $etab : $nbLignesTable lignes déjà en base $table.".EOL; echo date('Y/m/d - H:i:s')." - Pas de rechargement du département $dep $etab : $nbLignesTable lignes déjà en base $table.".EOL;
$tabSelect[]="SELECT NULL AS id, `Numéro FINESS`, REPLACE(`SIRET`,' ','') AS SIRET, APE, `Raison sociale`, `Complément distribution`, `Adresse`, `Lieudit/BP`, `Code postal`, `Libelle routage`, `Tel`, `Fax`, `Date ouvert`, `Code categorie`, `Lib categorie`, `Code statut`, `Lib statut`, `Code tarif`, `Lib tarif`, `Code PSPH`, `Lib PSPH`, `FINESS juridique`, 0 AS recupTel FROM `$table`"; $tabSelect[]="SELECT NULL AS id, `Numéro FINESS`, REPLACE(`SIRET`,' ','') AS SIRET, APE, `Raison sociale`, `Complément distribution`, `Adresse`, `Lieudit/BP`, `Code postal`, `Libelle routage`, `Tel`, `Fax`, `Date ouvert`, `Code categorie`, `Lib categorie`, `Code statut`, `Lib statut`, `Code tarif`, `Lib tarif`, `Code PSPH`, `Lib PSPH`, `FINESS juridique`, 0 AS recupTel FROM `$table`";
$tabTables[]=$table; $tabTables[]=$table;
} }
} }
@ -393,17 +393,17 @@ if ($tSante) {
$tabErreur=array(); $tabErreur=array();
$sql="DROP TABLE IF EXISTS `finess_old`;"; $sql="DROP TABLE IF EXISTS `finess_old`;";
if (!$iDb->query($sql)) $tabErreur[]='DROP TABLE finess_old '.mysql_errno().':'.mysql_error(); if (!$iDb->query($sql)) $tabErreur[]='DROP TABLE finess_old '.mysql_errno().':'.mysql_error();
// On historise la table précédente // On historise la table précédente
$sql="RENAME TABLE `finess` TO `finess_old`;"; $sql="RENAME TABLE `finess` TO `finess_old`;";
if (!$iDb->query($sql)) $tabErreur[]='RENAME TABLE '.mysql_errno().':'.mysql_error(); if (!$iDb->query($sql)) $tabErreur[]='RENAME TABLE '.mysql_errno().':'.mysql_error();
// Création de la nouvelle table // Création de la nouvelle table
$sql="CREATE TABLE `finess` ( $sql="CREATE TABLE `finess` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
`Numéro FINESS` char(9) NOT NULL, `Numéro FINESS` char(9) NOT NULL,
`SIRET` varchar(14) DEFAULT NULL, `SIRET` varchar(14) DEFAULT NULL,
`APE` varchar(5) DEFAULT NULL, `APE` varchar(5) DEFAULT NULL,
`Raison sociale` varchar(38) DEFAULT NULL, `Raison sociale` varchar(38) DEFAULT NULL,
`Complément distribution` varchar(32) DEFAULT NULL, `Complément distribution` varchar(32) DEFAULT NULL,
`Adresse` varchar(36) DEFAULT NULL, `Adresse` varchar(36) DEFAULT NULL,
`Lieudit/BP` varchar(32) DEFAULT NULL, `Lieudit/BP` varchar(32) DEFAULT NULL,
`Code postal` bigint(5) unsigned zerofill NOT NULL, `Code postal` bigint(5) unsigned zerofill NOT NULL,
@ -417,12 +417,12 @@ if ($tSante) {
`Lib statut` varchar(59) DEFAULT NULL, `Lib statut` varchar(59) DEFAULT NULL,
`Code tarif` tinyint(2) unsigned DEFAULT NULL, `Code tarif` tinyint(2) unsigned DEFAULT NULL,
`Lib tarif` varchar(59) DEFAULT NULL, `Lib tarif` varchar(59) DEFAULT NULL,
`Code PSPH` enum('','0','1','2','3','4','5','6','7','8','9') NOT NULL COMMENT 'Participation au Service Public Hospitalier (0:non, 1:Etab.public de santé, 2:PSPH intégration, 3:PSPH concession, 4:PSPH association, 5:Assoc 1901 act. Psy, 9:indéterminé)', `Code PSPH` enum('','0','1','2','3','4','5','6','7','8','9') NOT NULL COMMENT 'Participation au Service Public Hospitalier (0:non, 1:Etab.public de santé, 2:PSPH intégration, 3:PSPH concession, 4:PSPH association, 5:Assoc 1901 act. Psy, 9:indéterminé)',
`Lib PSPH` varchar(29) DEFAULT NULL, `Lib PSPH` varchar(29) DEFAULT NULL,
`FINESS juridique` char(9) DEFAULT NULL, `FINESS juridique` char(9) DEFAULT NULL,
`recupTel` tinyint(1) unsigned NOT NULL, `recupTel` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idxFiness` (`Numéro FINESS`), KEY `idxFiness` (`Numéro FINESS`),
KEY `idxSiret` (`SIRET`) KEY `idxSiret` (`SIRET`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Ficher National des Etablissements Sanitaires et Sociaux';"; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Ficher National des Etablissements Sanitaires et Sociaux';";
if (!$iDb->query($sql)) $tabErreur[]='CREATE TABLE '.mysql_errno().':'.mysql_error(); if (!$iDb->query($sql)) $tabErreur[]='CREATE TABLE '.mysql_errno().':'.mysql_error();
@ -449,11 +449,11 @@ if ($tSante) {
if ($tRisks) { if ($tRisks) {
$iDb=new WDB('pollutions'); $iDb=new WDB('pollutions');
echo date('Y/m/d - H:i:s')." - Téléchargement de la base GASPAR (risques par commune) sur prim.net.".EOL; echo date('Y/m/d - H:i:s')." - Téléchargement de la base GASPAR (risques par commune) sur prim.net.".EOL;
$tabRegions=array( '01','02','03','04','11','21','22','23','24','25','26','31','41', $tabRegions=array( '01','02','03','04','11','21','22','23','24','25','26','31','41',
'42','43','52','53','54','72','73','74','82','83','91','93','94'); '42','43','52','53','54','72','73','74','82','83','91','93','94');
$tabRisques=array( 1=>array( 'lib'=>'Information Préventive', $tabRisques=array( 1=>array( 'lib'=>'Information Préventive',
'table'=>'prim_Prevent', 'table'=>'prim_Prevent',
'struc'=>array('codeInsee','libCommune','population','datePAC','dateDICRIM','datePCS'), 'struc'=>array('codeInsee','libCommune','population','datePAC','dateDICRIM','datePCS'),
), ),
@ -465,11 +465,11 @@ if ($tRisks) {
'table'=>'prim_Risques', 'table'=>'prim_Risques',
'struc'=>array('codeInsee','libCommune','risque'), 'struc'=>array('codeInsee','libCommune','risque'),
), ),
4=>array( 'lib'=>'Plan de prévention', 4=>array( 'lib'=>'Plan de prévention',
'table'=>'prim_PlansPrev', 'table'=>'prim_PlansPrev',
'struc'=>array('codeInsee','libCommune','plan','datePrescrit','dateEnquete','dateApprouve','bassin'), 'struc'=>array('codeInsee','libCommune','plan','datePrescrit','dateEnquete','dateApprouve','bassin'),
), ),
5=>array( 'lib'=>'Arrêtés de catastrophes naturelles', 5=>array( 'lib'=>'Arrêtés de catastrophes naturelles',
'table'=>'prim_Arrets', 'table'=>'prim_Arrets',
'struc'=>array('codeInsee','libCommune','risque','dateDeb','dateFin','dateArret','dateJO'), 'struc'=>array('codeInsee','libCommune','risque','dateDeb','dateFin','dateArret','dateJO'),
), ),
@ -477,27 +477,27 @@ if ($tRisks) {
for($i=1;$i<6;$i++) { for($i=1;$i<6;$i++) {
$content[$i]=''; $content[$i]='';
echo date('Y/m/d - H:i:s')." - Début de récupération des fichiers '".$tabRisques[$i]['lib']."'".EOL; echo date('Y/m/d - H:i:s')." - Début de récupération des fichiers '".$tabRisques[$i]['lib']."'".EOL;
foreach ($tabRegions as $region) { foreach ($tabRegions as $region) {
// $url="http://www.prim.net/professionnel/procedures_regl/export_gaspar/reg_C$i"."_$region.txt"; // $url="http://www.prim.net/professionnel/procedures_regl/export_gaspar/reg_C$i"."_$region.txt";
$url="http://macommune.prim.net/gaspar/export_gaspar/reg_C$i"."_$region.txt"; $url="http://macommune.prim.net/gaspar/export_gaspar/reg_C$i"."_$region.txt";
$cookie=$post=''; $cookie=$post='';
$referer='http://macommune.prim.net/gaspar/export_gaspar/download.htm'; $referer='http://macommune.prim.net/gaspar/export_gaspar/download.htm';
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Début de récupération du fichier reg_C$i"."_$region.txt".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s')." - Début de récupération du fichier reg_C$i"."_$region.txt".EOL;
$page=getUrl($url, $cookie, $post, $referer); $page=getUrl($url, $cookie, $post, $referer);
if ($page['code']==200) { if ($page['code']==200) {
$content[$i].=$page['body']; $content[$i].=$page['body'];
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Fin de récupération du fichier reg_C$i"."_$region.txt".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s')." - Fin de récupération du fichier reg_C$i"."_$region.txt".EOL;
//sleep(2); //sleep(2);
} else } else
echo date('Y/m/d - H:i:s')." - Erreur lors de la récupération du fichier reg_C$i"."_$region.txt".EOL; echo date('Y/m/d - H:i:s')." - Erreur lors de la récupération du fichier reg_C$i"."_$region.txt".EOL;
/* /*
Information préventive pour la région Guadeloupe Information préventive pour la région Guadeloupe
INSEE;Commune;Population;Date transmission PAC;Date arrêté DICRIM;Date notification PCS INSEE;Commune;Population;Date transmission PAC;Date arrêté DICRIM;Date notification PCS
*/ */
} }
echo date('Y/m/d - H:i:s')." - Fin de récupération des fichiers '".$tabRisques[$i]['lib']."'".EOL; echo date('Y/m/d - H:i:s')." - Fin de récupération des fichiers '".$tabRisques[$i]['lib']."'".EOL;
file_put_contents("/tmp/risques$i.csv", $content[$i]); file_put_contents("/tmp/risques$i.csv", $content[$i]);
// Lecture et chargement du fichier // Lecture et chargement du fichier
@ -521,23 +521,23 @@ if ($tRisks) {
} }
} }
fclose($fp); fclose($fp);
echo date('Y/m/d - H:i:s')." - Chargement de la table '".$tabRisques[$i]['table']."' : $nbRows lignes dont $nbInsert insérées / $nbInsertErr erreur(s).".EOL; echo date('Y/m/d - H:i:s')." - Chargement de la table '".$tabRisques[$i]['table']."' : $nbRows lignes dont $nbInsert insérées / $nbInsertErr erreur(s).".EOL;
} }
//die(); //die();
} }
/** /**
** Registre français des émissions polluantes. ** Registre français des émissions polluantes.
**/ **/
if ($tPollu) { if ($tPollu) {
echo date('Y/m/d - H:i:s')." - Demande de récupération du fichier du Registre français des émissions polluantes.".EOL; echo date('Y/m/d - H:i:s')." - Demande de récupération du fichier du Registre français des émissions polluantes.".EOL;
$url='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/XML/dump.php'; $url='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/XML/dump.php';
$cookie=$post=''; $cookie=$post='';
$referer='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/'; $referer='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/';
$page=getUrl($url, $cookie, $post, $referer); $page=getUrl($url, $cookie, $post, $referer);
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Début de récupération du fichier des émissions polluantes...".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s')." - Début de récupération du fichier des émissions polluantes...".EOL;
$url='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/downloads/Base_iREP.zip'; $url='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/downloads/Base_iREP.zip';
@ -548,7 +548,7 @@ if ($tPollu) {
fwrite($fp, $zip); fwrite($fp, $zip);
fclose($fp); fclose($fp);
echo date('Y/m/d - H:i:s')." - Fichier du Registre français des émissions polluantes téléchargé.".EOL; echo date('Y/m/d - H:i:s')." - Fichier du Registre français des émissions polluantes téléchargé.".EOL;
$zip = new ZipArchive; $zip = new ZipArchive;
if ($zip->open('/tmp/Base_iREP.zip') === TRUE) { if ($zip->open('/tmp/Base_iREP.zip') === TRUE) {
@ -577,12 +577,12 @@ if ($tPollu) {
// print_r($tabIndex);die(); // print_r($tabIndex);die();
if ($modeDebug){ if ($modeDebug){
echo date('Y/m/d - H:i:s')." - Fichier ".basename($tabIndex['name'])."en cache datant du ".date('d/m/Y H:i:s', filectime('/tmp/'.$tabIndex['name']))." (".round(filesize('/tmp/'.$tabIndex['name'])/1024,1)." ko)".EOL; echo date('Y/m/d - H:i:s')." - Fichier ".basename($tabIndex['name'])."en cache datant du ".date('d/m/Y H:i:s', filectime('/tmp/'.$tabIndex['name']))." (".round(filesize('/tmp/'.$tabIndex['name'])/1024,1)." ko)".EOL;
echo date('Y/m/d - H:i:s')." - Fichier dans l'archive téléchargée datant du ".date('d/m/Y H:i:s', $tabIndex['mtime'])." (".round($tabIndex['size']/1024,1)." ko)".EOL; echo date('Y/m/d - H:i:s')." - Fichier dans l'archive téléchargée datant du ".date('d/m/Y H:i:s', $tabIndex['mtime'])." (".round($tabIndex['size']/1024,1)." ko)".EOL;
} }
} }
$zip->extractTo('/tmp/'); $zip->extractTo('/tmp/');
$zip->close(); $zip->close();
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Décompression des $i fichiers du Registre français des émissions polluantes OK.".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s')." - Décompression des $i fichiers du Registre français des émissions polluantes OK.".EOL;
foreach ($tabFichiers as $idxF=>$nomFichier) { foreach ($tabFichiers as $idxF=>$nomFichier) {
if (in_array(basename(str_replace('.csv', '', $nomFichier)),$tabFichiersConnus)) { if (in_array(basename(str_replace('.csv', '', $nomFichier)),$tabFichiersConnus)) {
@ -596,7 +596,7 @@ if ($tPollu) {
while (($data = fgetcsv($fp, 5000, ';')) !== FALSE) { while (($data = fgetcsv($fp, 5000, ';')) !== FALSE) {
$nbLignes++; $nbLignes++;
if ($nbLignes==1) if ($nbLignes==1)
{ // L'entête contient la structure du fichier { // L'entête contient la structure du fichier
// On compte le nombre de colonnes du fichier // On compte le nombre de colonnes du fichier
$nbColonnes=count($data); $nbColonnes=count($data);
$sql="CREATE TABLE IF NOT EXISTS `$table` ("; $sql="CREATE TABLE IF NOT EXISTS `$table` (";
@ -605,13 +605,13 @@ if ($tPollu) {
$tabTailles[$i]=0; $tabTailles[$i]=0;
$champ[$i]=$data[$i]; $champ[$i]=$data[$i];
} }
$sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule $sql=substr($sql,0,strlen($sql)-1); // Retrait de la dernière virgule
$sql.=") TYPE = MYISAM COMMENT = '".basename($nomFichier)." du ".date('d/m/Y H:i', $tabTime[$idxF])." (".round($tabSize[$idxF]/1024)." ko)'"; $sql.=") TYPE = MYISAM COMMENT = '".basename($nomFichier)." du ".date('d/m/Y H:i', $tabTime[$idxF])." (".round($tabSize[$idxF]/1024)." ko)'";
if ($iDb->query($sql)) if ($iDb->query($sql))
echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL; echo date ('Y/m/d - H:i:s')." - Création de la table $table OK...".EOL;
else { else {
echo $iDb->getLastError().EOL; echo $iDb->getLastError().EOL;
die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL); die(date ('Y/m/d - H:i:s')." - Impossible de créer la table $table !".EOL."Requête SQL = $sql".EOL);
} }
flush(); flush();
continue; continue;
@ -637,13 +637,13 @@ if ($tPollu) {
$ret=$iDb->insert($table, $tabDataToInsert); $ret=$iDb->insert($table, $tabDataToInsert);
if ($ret!=1) { if ($ret!=1) {
echo date ('Y/m/d - H:i:s') . " - ERREUR à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL; echo date ('Y/m/d - H:i:s') . " - ERREUR à l'insertion de la ligne n°$i : ". implode(';', $data) ." !".EOL;
flush(); flush();
} }
unset($tabDataToInsert); unset($tabDataToInsert);
} }
fclose($fp); fclose($fp);
// On réduit la taille des colonnes au max de chaque champ // On réduit la taille des colonnes au max de chaque champ
for($i=0; $i<$nbColonnes; $i++) { for($i=0; $i<$nbColonnes; $i++) {
if ($tabTailles[$i]<256) { if ($tabTailles[$i]<256) {
$tabTmp=array_unique($tabTypes[$i]); $tabTmp=array_unique($tabTypes[$i]);
@ -659,20 +659,20 @@ if ($tPollu) {
} }
$sql="ALTER TABLE `$table` CHANGE `".$champ[$i]."` `".$champ[$i]."` $strType NULL DEFAULT NULL "; $sql="ALTER TABLE `$table` CHANGE `".$champ[$i]."` `".$champ[$i]."` $strType NULL DEFAULT NULL ";
if ($iDb->query($sql)) if ($iDb->query($sql))
echo date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL; echo date ('Y/m/d - H:i:s')." - Taille du champ $i (". $champ[$i] .") passée à ". $tabTailles[$i] ."...".EOL;
else else
echo date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL; echo date ('Y/m/d - H:i:s')." - Impossible de modifier la taille du champ $i (". $champ[$i] .") à ". $tabTailles[$i] ." !".EOL;
flush(); flush();
} }
} }
} else } else
echo date ('Y/m/d - H:i:s') . " - Fichier $nomFichier non chargé (1) !".EOL; echo date ('Y/m/d - H:i:s') . " - Fichier $nomFichier non chargé (1) !".EOL;
} else } else
echo date ('Y/m/d - H:i:s') . " - Fichier $nomFichier non chargé (2) !".EOL; echo date ('Y/m/d - H:i:s') . " - Fichier $nomFichier non chargé (2) !".EOL;
} }
} else { } else {
echo date('Y/m/d - H:i:s')." - ERREUR : Aucune archive détecté dans :".EOL.print_r($page['header']).EOL; echo date('Y/m/d - H:i:s')." - ERREUR : Aucune archive détecté dans :".EOL.print_r($page['header']).EOL;
} }
} }
@ -680,7 +680,7 @@ if ($tPollu) {
/** /**
** Fichiers Classement Imports/Exports ** Fichiers Classement Imports/Exports
** **
** @todo Vérifier les changements du flux RSS http://lekiosque.finances.gouv.fr/APPCHIFFRE/rss.xml ** @todo Vérifier les changements du flux RSS http://lekiosque.finances.gouv.fr/APPCHIFFRE/rss.xml
** **
**/ **/
if ($tXport) { if ($tXport) {
@ -699,26 +699,26 @@ if ($tXport) {
'R09', // Poitou-Charentes 'R09', // Poitou-Charentes
'R10', // Limousin 'R10', // Limousin
'R11', // Aquitaine 'R11', // Aquitaine
'R12', // Midi-Pyrénées 'R12', // Midi-Pyrénées
'R13', // Champagne-Ardenne 'R13', // Champagne-Ardenne
'R14', // Lorraine 'R14', // Lorraine
'R15', // Alsace 'R15', // Alsace
'R16', // Franche-Comté 'R16', // Franche-Comté
'R17', // Bourgogne 'R17', // Bourgogne
'R18', // Auvergne 'R18', // Auvergne
'R19', // Rhône-Alpes 'R19', // Rhône-Alpes
'R20', // Languedoc-Roussillon 'R20', // Languedoc-Roussillon
'R21', // Provence-Alpes-Côte-d'Azur 'R21', // Provence-Alpes-Côte-d'Azur
'R22', // Corse 'R22', // Corse
'R24', // Les départements d'Outre-mer 'R24', // Les départements d'Outre-mer
); );
/* /*
de 1 à 9 salariés : micro-entreprises de 1 à 9 salariés : micro-entreprises
de 10 à 49 salariés : petites entreprises de 10 à 49 salariés : petites entreprises
de 50 à 249 salariés : moyennes entreprises de 50 à 249 salariés : moyennes entreprises
Ces trois premières catégories constituent les Micro entreprises et les PME. Ces trois premières catégories constituent les Micro entreprises et les PME.
250 et plus : grandes entreprises 250 et plus : grandes entreprises
Parfois la catégorie est inconnue car l'information sur la tranche d'effectif salarié n'est pas disponible. Parfois la catégorie est inconnue car l'information sur la tranche d'effectif salarié n'est pas disponible.
*/ */
$iDb=new WDB(); $iDb=new WDB();
@ -727,11 +727,11 @@ if ($tXport) {
$cookie=$page['header']['Set-Cookie']; $cookie=$page['header']['Set-Cookie'];
$referer=$url; $referer=$url;
if (preg_match('/Transfert du palmarès national et des palmarès régionaux(?:.*)année(.*)</Uis', $page['body'], $matches)) { if (preg_match('/Transfert du palmarès national et des palmarès régionaux(?:.*)année(.*)</Uis', $page['body'], $matches)) {
$annee=trim($matches[1]); $annee=trim($matches[1]);
echo (date('Y/m/d - H:i:s')." - Le palmarès national Import/Export date de $annee.".EOL); echo (date('Y/m/d - H:i:s')." - Le palmarès national Import/Export date de $annee.".EOL);
} else } else
die(date('Y/m/d - H:i:s')." - ERREUR : Impossible de détecter l'année du palmarès national Import/Export !".EOL); die(date('Y/m/d - H:i:s')." - ERREUR : Impossible de détecter l'année du palmarès national Import/Export !".EOL);
$url='http://lekiosque.finances.gouv.fr/Appchiffre/entreprise/upload.asp'; $url='http://lekiosque.finances.gouv.fr/Appchiffre/entreprise/upload.asp';
@ -755,7 +755,7 @@ if ($tXport) {
if ($zip->open('/tmp/importExport.zip') === TRUE) { if ($zip->open('/tmp/importExport.zip') === TRUE) {
$zip->extractTo('/tmp/'); $zip->extractTo('/tmp/');
$zip->close(); $zip->close();
echo date('Y/m/d - H:i:s')." - Décompression du fichier $nomFichier OK.".EOL; echo date('Y/m/d - H:i:s')." - Décompression du fichier $nomFichier OK.".EOL;
$nomFichierCsv=str_replace('.zip','.csv',$nomFichier); $nomFichierCsv=str_replace('.zip','.csv',$nomFichier);
$fp = fopen('/tmp/'.$nomFichierCsv, 'r'); $fp = fopen('/tmp/'.$nomFichierCsv, 'r');
$nbRows=$nbInsert=0; $nbRows=$nbInsert=0;
@ -777,13 +777,13 @@ if ($tXport) {
} }
} }
fclose($fp); fclose($fp);
echo date('Y/m/d - H:i:s')." - Fichier $nomFichierCsv contenant $nbRows lignes dont $nbInsert insérées.".EOL; echo date('Y/m/d - H:i:s')." - Fichier $nomFichierCsv contenant $nbRows lignes dont $nbInsert insérées.".EOL;
} else { } else {
echo date('Y/m/d - H:i:s')." - ERREUR lors de la décompression du fichier $nomFichier !".EOL; echo date('Y/m/d - H:i:s')." - ERREUR lors de la décompression du fichier $nomFichier !".EOL;
die(); die();
} }
} else { } else {
echo date('Y/m/d - H:i:s')." - ERREUR : Aucune archive détecté dans :".EOL.print_r($page['header']).EOL; echo date('Y/m/d - H:i:s')." - ERREUR : Aucune archive détecté dans :".EOL.print_r($page['header']).EOL;
} }
} }
} }

View File

@ -8,11 +8,11 @@ include_once(INCLUDE_PATH.'partenaires/classMLiens.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS] $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Génération du cache des variables courantes si nécessaire. Génération du cache des variables courantes si nécessaire.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache -f Forcer la re-Génération du cache
"; ";
$modeDebug=$modeGeneration=false; $modeDebug=$modeGeneration=false;
@ -61,27 +61,27 @@ if (preg_match_all("/<TR><TD>(.*\d{4,4})<\/TD><TD><FONT COLOR='red'><b>(.*) %\)?
//print_r($tabInsert); //print_r($tabInsert);
//die(); //die();
if ($iDb->insert('inflation', $tabInsert)) { if ($iDb->insert('inflation', $tabInsert)) {
echo date('Y/m/d - H:i:s') ." - Insertion du taux d'inflation pour l'année $annee=$taux...". EOL; echo date('Y/m/d - H:i:s') ." - Insertion du taux d'inflation pour l'année $annee=$taux...". EOL;
$nbInsert++; $nbInsert++;
} }
elseif ($iDb->getLastErrorNum()==1062 && ($annee==date('Y') || $annee==date('Y')-1)) { elseif ($iDb->getLastErrorNum()==1062 && ($annee==date('Y') || $annee==date('Y')-1)) {
unset($tabInsert['dateInsert']); unset($tabInsert['dateInsert']);
echo date('Y/m/d - H:i:s') ." - Mise à jour du taux d'inflation$strProv pour l'année $annee=$taux...". EOL; echo date('Y/m/d - H:i:s') ." - Mise à jour du taux d'inflation$strProv pour l'année $annee=$taux...". EOL;
$iDb->update('inflation', $tabInsert, "annee=$annee"); $iDb->update('inflation', $tabInsert, "annee=$annee");
} }
elseif ($iDb->getLastErrorNum()<>1062) { elseif ($iDb->getLastErrorNum()<>1062) {
echo date('Y/m/d - H:i:s') ." - ERREUR ". $iDb->getLastError() ." lors de l'insertion du taux d'inflation pour l'année $annee=$taux...". EOL; echo date('Y/m/d - H:i:s') ." - ERREUR ". $iDb->getLastError() ." lors de l'insertion du taux d'inflation pour l'année $annee=$taux...". EOL;
$nbErreur++; $nbErreur++;
} }
else else
$nbDoublon++; $nbDoublon++;
} }
} else } else
echo date('Y/m/d - H:i:s') ." - ERREUR lors de la récupération des taux d'inflation !". EOL; echo date('Y/m/d - H:i:s') ." - ERREUR lors de la récupération des taux d'inflation !". EOL;
$nbInfla=$i+1; $nbInfla=$i+1;
if ($nbInfla==$nbDoublon) if ($nbInfla==$nbDoublon)
echo date('Y/m/d - H:i:s') ." - Aucun ajout d'inflation sur les $nbInfla années disponibles.". EOL; echo date('Y/m/d - H:i:s') ." - Aucun ajout d'inflation sur les $nbInfla années disponibles.". EOL;
?> ?>

View File

@ -13,21 +13,21 @@ function getNextDate($dateCour, $nbJours=7) {
} }
$repPdf='/home/data/infosreg/djo_infos_fi/'; // Avec slash final SVP !!! $repPdf='/home/data/infosreg/djo_infos_fi/'; // Avec slash final SVP !!!
$strObjet="Mise à jour des informations financières"; $strObjet="Mise à jour des informations financières";
function getInfosAnnonce($annonceHtml) { function getInfosAnnonce($annonceHtml) {
$tabRet=array(); $tabRet=array();
$tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dt class="listingInfo">Société :</dt><dd class="listingInfo">', '<strong>', '</strong>')))); $tabRet['raisonSociale']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<dt class="listingInfo">Société :</dt><dd class="listingInfo">', '<strong>', '</strong>'))));
$tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dt class="listingInfo">ISIN :</dt>', '<dd class="listingInfo">', '</dd>'), array(':'=>'',' '=>'')))); $tabRet['isin']=strtoupper(trim(strtr(@getTextInHtml($annonceHtml, '<dt class="listingInfo">ISIN :</dt>', '<dd class="listingInfo">', '</dd>'), array(':'=>'',' '=>''))));
$tabRet['docDesc']='';//trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>')); $tabRet['docDesc']='';//trim(@getTextInHtml($annonceHtml, '<div class="r_desc">', 'class="r_desc">', '</div>'));
$tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00'; $tabRet['docDate']=WDate::DateT('d/m/Y','Y-m-d', trim(@getTextInHtml($annonceHtml, '<span class="date">', 'class="date">', '</span>'))).' '.trim(@getTextInHtml($annonceHtml, '<span class="heure">', 'class="heure">', '</span>')).':00';
$tabRet['docCategorie']=trim(utf8_decode(strip_tags(trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Type d\'information&nbsp;:</dt>', '</dt>','</dd>')))).'</dd>'))); $tabRet['docCategorie']=trim(utf8_decode(strip_tags(trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Type d\'information&nbsp;:</dt>', '</dt>','</dd>')))).'</dd>')));
/*<dd class="listingInfo"> /*<dd class="listingInfo">
<!---Pour les types d'informations --> <!---Pour les types d'informations -->
<a href="search.php?c=eJxlzc1Og0AUBeD7KCxcuRmGpsayG9uQVKCNUrFdNXS4qC3Mv1j6ND6LT9aRhRtX5!TLSY4GLo2SpnJInEGMN1IFAVstgv9OWNfsM9lvBoVL0Ujy8z0uq8ahiSeU0JBEIQ1HPGAjDcahVzoqtIACBLA8AfUuBboPDl6x6yqflVJGnn2xUPtTsL9okQMFyzsQ2KOB!q*dfFnUgI*DZc7v!!KtXWfF!VXnx9VQfEbli3ZF9pxe7G3JZsup3p0UitP0YWvap8U20bsyrY!Hu3xdRiyZpUlu93AFpW1Ung__&amp;cref=cAmf_LovTypeInfo/11326321999005412800&amp;action=refine&amp;descip=Uniquement les r&eacute;sultats de '002004'&amp;tri=" title="Sélectionner uniquement 'Modalités de mise à disposition de l'information financière trimestrielle'">Communiqués de mise à disposition de documents / Modalités de mise à disposition de l'information financière trimestrielle</a> <a href="search.php?c=eJxlzc1Og0AUBeD7KCxcuRmGpsayG9uQVKCNUrFdNXS4qC3Mv1j6ND6LT9aRhRtX5!TLSY4GLo2SpnJInEGMN1IFAVstgv9OWNfsM9lvBoVL0Ujy8z0uq8ahiSeU0JBEIQ1HPGAjDcahVzoqtIACBLA8AfUuBboPDl6x6yqflVJGnn2xUPtTsL9okQMFyzsQ2KOB!q*dfFnUgI*DZc7v!!KtXWfF!VXnx9VQfEbli3ZF9pxe7G3JZsup3p0UitP0YWvap8U20bsyrY!Hu3xdRiyZpUlu93AFpW1Ung__&amp;cref=cAmf_LovTypeInfo/11326321999005412800&amp;action=refine&amp;descip=Uniquement les r&eacute;sultats de '002004'&amp;tri=" title="Sélectionner uniquement 'Modalités de mise à disposition de l'information financière trimestrielle'">Communiqués de mise à disposition de documents / Modalités de mise à disposition de l'information financière trimestrielle</a>
</dd>*/ </dd>*/
$tabRet['docTitre']=utf8_decode(strip_tags(trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Titre du document : </dt>', '</dt><dd class="listingInfo">', '</dd>')))))); $tabRet['docTitre']=utf8_decode(strip_tags(trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Titre du document : </dt>', '</dt><dd class="listingInfo">', '</dd>'))))));
//<dt class="listingInfo">Titre du document : </dt><dd class="listingInfo"><a href="http://logc20.xiti.com/go.click?xts=397225&amp;s2=4&amp;p=BWR/2010/10/FCBWR062778_20101029.pdf&amp;clic=T&amp;type=click&amp;url=http://www.info-financiere.fr/upload/BWR/2010/10/FCBWR062778_20101029.pdf" target="_blank" title="Télécharger le document 'Cliffs Natural Resources inc. enregistre un formulaire 10-Q' au format PDF - Nouvelle fenêtre">Cliffs Natural Resources inc. enregistre un formulaire 10-Q</a></dd> //<dt class="listingInfo">Titre du document : </dt><dd class="listingInfo"><a href="http://logc20.xiti.com/go.click?xts=397225&amp;s2=4&amp;p=BWR/2010/10/FCBWR062778_20101029.pdf&amp;clic=T&amp;type=click&amp;url=http://www.info-financiere.fr/upload/BWR/2010/10/FCBWR062778_20101029.pdf" target="_blank" title="Télécharger le document 'Cliffs Natural Resources inc. enregistre un formulaire 10-Q' au format PDF - Nouvelle fenêtre">Cliffs Natural Resources inc. enregistre un formulaire 10-Q</a></dd>
$tabRet['docLangue']=trim(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Langue :</dt>', '<dd class="listingInfo">', '</dd>')); $tabRet['docLangue']=trim(@getTextInHtml($annonceHtml, '<dt class="listingInfo">Langue :</dt>', '<dd class="listingInfo">', '</dd>'));
$tabRet['pdfLink']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '&amp;url=http://www.info-financiere.fr/', 'url=', '" target="')))); $tabRet['pdfLink']=str_replace('https://', 'http://', str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '&amp;url=http://www.info-financiere.fr/', 'url=', '" target="'))));
@ -46,15 +46,15 @@ $iInsee=new MInsee();
$iBourse=new MBourse(); $iBourse=new MBourse();
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION] $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les dernières annonces Infos financières sur le site de la DJO. Recupère les dernières annonces Infos financières sur le site de la DJO.
Sans aucun paramètre, récupération des dernières Annonces. Sans aucun paramètre, récupération des dernières Annonces.
Sinon: Sinon:
-d:JJ/MM/AAAA Date de début de publication -d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication -f:JJ/MM/AAAA Date de fin de publication
-l Dernières parutions uniquement (*) -l Dernières parutions uniquement (*)
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes) -n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes) -i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -111,11 +111,11 @@ $dateCour=$dateDeb;
$tabSansSiren=array(); $tabSansSiren=array();
$nbDeja=$nbInsert=$nbErreur=0; $nbDeja=$nbInsert=$nbErreur=0;
$message=date('Y/m/d - H:i:s') ." - Début de la récupération des informations financières du $dateDebut au $dateFin...".EOL; $message=date('Y/m/d - H:i:s') ." - Début de la récupération des informations financières du $dateDebut au $dateFin...".EOL;
$strMessage.=$message; $strMessage.=$message;
echo $message; echo $message;
echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL; echo date('Y/m/d - H:i:s') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". EOL;
while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
@ -124,7 +124,7 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1)); $dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1));
$dateTo = str_replace('/','%2F', $dateFin); $dateTo = str_replace('/','%2F', $dateFin);
echo date('Y/m/d - H:i:s') ." - Traitement des annonces d'informations financières du $dateDebut au $dateFin...".EOL; echo date('Y/m/d - H:i:s') ." - Traitement des annonces d'informations financières du $dateDebut au $dateFin...".EOL;
/** Cookie de session **/ /** Cookie de session **/
$url='http://www.info-financiere.fr/search.php'; $url='http://www.info-financiere.fr/search.php';
@ -135,21 +135,21 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$referer=$url; $referer=$url;
echo date('Y/m/d - H:i:s') .' - Cookie = "'. trim($cookie) .'"' . EOL; echo date('Y/m/d - H:i:s') .' - Cookie = "'. trim($cookie) .'"' . EOL;
/** Première page de la recherche **/ /** Première page de la recherche **/
$url="http://www.info-financiere.fr/search.php?action=search&by=avancee&type=&stype=%C2%A0&datefrom=$dateFrom&dateto=$dateTo&societe=&q=&x=0&y=0"; $url="http://www.info-financiere.fr/search.php?action=search&by=avancee&type=&stype=%C2%A0&datefrom=$dateFrom&dateto=$dateTo&societe=&q=&x=0&y=0";
$page=getUrl($url, $cookie, '', $referer); $page=getUrl($url, $cookie, '', $referer);
$body=$page['body']; $body=$page['body'];
if (preg_match('/<div id="rappel"><p><strong>Nombre de résultats :<\/strong>(.*)<\/p>/Uim', $body, $matches)) if (preg_match('/<div id="rappel"><p><strong>Nombre de résultats :<\/strong>(.*)<\/p>/Uim', $body, $matches))
$nbAnnonces=trim($matches[1]); $nbAnnonces=trim($matches[1]);
else { else {
print_r($page); print_r($page);
die('Erreur : Aucun résultat trouvé'.EOL); die('Erreur : Aucun résultat trouvé'.EOL);
} }
$nbPages=round($nbAnnonces/10); $nbPages=round($nbAnnonces/10);
echo date('Y/m/d - H:i:s') . " - Nombre du publication du $dateDebut au $dateFin : $nbAnnonces soit $nbPages page(s)...". EOL; echo date('Y/m/d - H:i:s') . " - Nombre du publication du $dateDebut au $dateFin : $nbAnnonces soit $nbPages page(s)...". EOL;
if ($nbPages>100) { if ($nbPages>100) {
echo date('Y/m/d - H:i:s') . " - ERREUR : Arrêt du traitement car il y a plus de 100 pages d'annonces !". EOL; echo date('Y/m/d - H:i:s') . " - ERREUR : Arrêt du traitement car il y a plus de 100 pages d'annonces !". EOL;
die(); die();
} }
@ -167,14 +167,14 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$c='...'; $c='...';
else { else {
print_r($page); print_r($page);
die('Erreur : Aucun numéro de session trouvé'.EOL); die('Erreur : Aucun numéro de session trouvé'.EOL);
} }
$dateDb=WDate::DateT('Ymd','Y-m-d',$dateCour); $dateDb=WDate::DateT('Ymd','Y-m-d',$dateCour);
$AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "docDate BETWEEN '$dateDb 00:00:00' AND '$dateDb 23:59:59'", false, MYSQL_ASSOC); $AnnDb=$iDb->select('balo_ireg', 'count(*) AS nb', "docDate BETWEEN '$dateDb 00:00:00' AND '$dateDb 23:59:59'", false, MYSQL_ASSOC);
$nbAnnDb=$AnnDb[0]['nb']; $nbAnnDb=$AnnDb[0]['nb'];
if ($nbAnnDb>=$nbAnnonces) { if ($nbAnnDb>=$nbAnnonces) {
$message=date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces DJO infos financières du $dateDebut ($dateDb) sont en base ($nbAnnDb) !". EOL; $message=date('Y/m/d - H:i:s') ." - Les $nbAnnonces annonces DJO infos financières du $dateDebut ($dateDb) sont en base ($nbAnnDb) !". EOL;
$strMessage.=$message; $strMessage.=$message;
echo $message; echo $message;
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
@ -182,13 +182,13 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
continue; continue;
} }
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) { elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL; $message=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
$strMessage.=$message; $strMessage.=$message;
echo $message; echo $message;
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL; echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
} }
else { else {
$message=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL; $message=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) DJO infos financières en base sur les $nbAnnonces annonces présentes au JO du $dateDebut !". EOL;
$strMessage.=$message; $strMessage.=$message;
echo $message; echo $message;
} }
@ -242,7 +242,7 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w'); $fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) { if (!fwrite($fp, $page['body']) || !$fp) {
print_r($infoAnnBalo); print_r($infoAnnBalo);
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff, annonce n°$i2/$nbAnnonces, Isin = ". $infoAnnBalo['isin']." : \"". $infoAnnBalo['raisonSociale'] .'" !'.EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff, annonce n°$i2/$nbAnnonces, Isin = ". $infoAnnBalo['isin']." : \"". $infoAnnBalo['raisonSociale'] .'" !'.EOL;
} }
@fclose($fp); @fclose($fp);
$tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink'])); $tabPdf=getPdfInfo($repPdf.basename($infoAnnBalo['pdfLink']));
@ -277,16 +277,16 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$dateAff=WDate::dateT('Y-m-d H:i:s', 'd/m/Y', $infoAnnBalo['docDate']); $dateAff=WDate::dateT('Y-m-d H:i:s', 'd/m/Y', $infoAnnBalo['docDate']);
if ($nbAnnDb==1) { if ($nbAnnDb==1) {
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'" déjà en base ('.$infoAnnBalo['docLangue'].') !'.EOL; echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'" déjà en base ('.$infoAnnBalo['docLangue'].') !'.EOL;
$nbDeja++; $nbDeja++;
// L'annonce est déjà en base ! // L'annonce est déjà en base !
continue; continue;
} else { } else {
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'"... enregistrement ('.$infoAnnBalo['docLangue'].') !'.EOL; echo date('Y/m/d - H:i:s') ." - Parution du $dateAff, annonce n°$i2/$nbAnnonces, ". $infoAnnBalo['isin']."/".$infoAnnBalo['siren']." : \"". $infoAnnBalo['raisonSociale'] .'"... enregistrement ('.$infoAnnBalo['docLangue'].') !'.EOL;
$nbInsert++; $nbInsert++;
} }
if (!$iDb->insert('balo_ireg', $infoAnnBalo) && mysql_error()<>1062) { if (!$iDb->insert('balo_ireg', $infoAnnBalo) && mysql_error()<>1062) {
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
$nbErreur++; $nbErreur++;
} }
} }
@ -295,7 +295,7 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$dateCour=getNextDate($dateCour,1); $dateCour=getNextDate($dateCour,1);
} }
$message=date('Y/m/d - H:i:s') ." - Fin de la récupération des informations financières : $nbInsert ajouts, $nbDeja déjà en base et $nbErreur erreurs.".EOL; $message=date('Y/m/d - H:i:s') ." - Fin de la récupération des informations financières : $nbInsert ajouts, $nbDeja déjà en base et $nbErreur erreurs.".EOL;
$strMessage.=$message; $strMessage.=$message;
echo $message; echo $message;
@ -303,8 +303,8 @@ echo $message;
if (count($tabSansSiren)>0) { if (count($tabSansSiren)>0) {
$strObjet.=" avec ISIN sans SIREN !!!"; $strObjet.=" avec ISIN sans SIREN !!!";
$strMessage.=EOL.EOL."--------------------------------------------------------------------".EOL.EOL; $strMessage.=EOL.EOL."--------------------------------------------------------------------".EOL.EOL;
$strMessage.="Les entreprises suivantes n'ont pas de correspondance ISIN / SIREN dans la base Scores & Décisions.".EOL. $strMessage.="Les entreprises suivantes n'ont pas de correspondance ISIN / SIREN dans la base Scores & Décisions.".EOL.
"Penser à mettre à jour les informations sur la base...".EOL.EOL; "Penser à mettre à jour les informations sur la base...".EOL.EOL;
$strMessage.="ISIN\tRaison Sociale\tLien\tPDF".EOL; $strMessage.="ISIN\tRaison Sociale\tLien\tPDF".EOL;
foreach ($tabSansSiren as $tabMarche) foreach ($tabSansSiren as $tabMarche)
$strMessage.= $tabMarche['isin']."\t". $strMessage.= $tabMarche['isin']."\t".

View File

@ -18,7 +18,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des fichiers en provenance de GE FactoFrance. Chargement des fichiers en provenance de GE FactoFrance.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
"; ";
$iDb=new WDB('sdv1'); $iDb=new WDB('sdv1');
@ -34,9 +34,9 @@ Options :
die();*/ die();*/
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0; $nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
$modeDebug=false; // Mode débug $modeDebug=false; // Mode débug
$tabFichier=$tabFichLigneCmd=array(); $tabFichier=$tabFichLigneCmd=array();
$message=''; // Initialisation du mail d'exécution du traitement $message=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -62,7 +62,7 @@ Options :
if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) { if (count($tabFichier)>0 || count($tabFichLigneCmd)>0) {
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des infos GE".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des infos GE".EOL;
for ($i=0; isset($tabFichier[$i]); $i++) for ($i=0; isset($tabFichier[$i]); $i++)
{ {
@ -71,7 +71,7 @@ Options :
$fp=fopen(GE_FTP_DIR.$nomFichier, 'r'); $fp=fopen(GE_FTP_DIR.$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -83,13 +83,13 @@ Options :
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
//$finFichier=false; //$finFichier=false;
$iligne=1; $iligne=1;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne **/ /** Traitement de la 1ère ligne **/
$ligne = trim(fgets($fp, 2048)); $ligne = trim(fgets($fp, 2048));
$taille=strlen($ligne); $taille=strlen($ligne);
if ($taille<=30) { if ($taille<=30) {
@ -100,7 +100,7 @@ Options :
}elseif ($taille==118){ $iFacto->setTypeFic(0); $table='ge_acheteurs'; } }elseif ($taille==118){ $iFacto->setTypeFic(0); $table='ge_acheteurs'; }
elseif ($taille==72) { $iFacto->setTypeFic(2); $table='ge_paiements'; } elseif ($taille==72) { $iFacto->setTypeFic(2); $table='ge_paiements'; }
else { else {
echo date ('Y/m/d - H:i:s') . " - Erreur : Première ligne de taille $taille non gérée \"$ligne\" !".EOL; echo date ('Y/m/d - H:i:s') . " - Erreur : Première ligne de taille $taille non gérée \"$ligne\" !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -121,7 +121,7 @@ Options :
if ($table=='ge_cs2') { if ($table=='ge_cs2') {
$iDbH->insert($table, array_merge($a, array('dateInsert'=>$dateInsert, 'dateFichier'=>$dateFichier))); $iDbH->insert($table, array_merge($a, array('dateInsert'=>$dateInsert, 'dateFichier'=>$dateFichier)));
if (mysql_errno()>0) die(mysql_error().EOL); if (mysql_errno()>0 && mysql_errno()<>1062) die("Table = $table".EOL.mysql_error().EOL);
} }
@ -132,11 +132,11 @@ Options :
$csPre=@$ret[0]['cs']; $csPre=@$ret[0]['cs'];
$datePre=@$ret[0]['dateFin']; $datePre=@$ret[0]['dateFin'];
if ($a['cs']<>$csPre || $a['dateFin']<>$datePre) { if ($a['cs']<>$csPre || $a['dateFin']<>$datePre) {
/*echo 'A insérer :'.EOL; /*echo 'A insérer :'.EOL;
print_r($a); print_r($a);
echo 'En base :'.EOL; echo 'En base :'.EOL;
print_r($ret[0]);*/ print_r($ret[0]);*/
// La CS a bougée // La CS a bougée
$iDb->update($table, array_merge($a, array( 'dateConf'=>$dateFichier, $iDb->update($table, array_merge($a, array( 'dateConf'=>$dateFichier,
'csPre'=>$csPre, 'csPre'=>$csPre,
'dateCsPre'=>$datePre, 'dateCsPre'=>$datePre,
@ -162,24 +162,24 @@ Options :
$iligne++; $iligne++;
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé : $nbInsert ajouts et $nbUpdate MAJ !".EOL;
if ($table=='ge_cs2') if ($table=='ge_cs2')
$iDb->update($table, array('dateSuppr'=>$dateInsert), 'indTrt=0'); $iDb->update($table, array('dateSuppr'=>$dateInsert), 'indTrt=0');
if (bzip2(GE_FTP_DIR.$nomFichier, GE_BACKUP_DIR.$nomFichier.'-'.date('Ym'))) { if (bzip2(GE_FTP_DIR.$nomFichier, GE_BACKUP_DIR.$nomFichier.'-'.date('Ym'))) {
unlink(GE_FTP_DIR.$nomFichier); unlink(GE_FTP_DIR.$nomFichier);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$i, $nomFichier vient d'être historisé.".EOL;
} }
} }
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siren/siret invalides !".EOL;
$message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n"; $message.="Le fichier n°$i, $nomFichier vient d'être chargé :\r\n";
$message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides).".EOL; $message.=" $nbInsert ajouts et $nbUpdate mises à jours sur $nbLignes lignes ($nbSiretInvalides siren/siret invalides).".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des défaillances.".EOL;
} }
else { else {
$message.="Aucun fichier GE à traiter !\r\n"; $message.="Aucun fichier GE à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier GE à traiter !".EOL; echo date ('Y/m/d - H:i:s') . " - Aucun fichier GE à traiter !".EOL;
} }
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des infos GE', $message); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des infos GE', $message);

View File

@ -7,11 +7,11 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des hébergements touristiques classés. Mise à jour des hébergements touristiques classés.
Options : Options :
-v Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-b Mise à jour de la base complète -b Mise à jour de la base complète
"; ";
$iDb=new WDB('jo'); $iDb=new WDB('jo');
$iInsee=new MInsee(); $iInsee=new MInsee();
@ -20,7 +20,7 @@ $argv=$_SERVER['argv'];
$tabSiren=array(); $tabSiren=array();
$modeDebug=$baseComplete=false; $modeDebug=$baseComplete=false;
$nbInsert=$nbUpdate=$nbUpdateSuiv=0; $nbInsert=$nbUpdate=$nbUpdateSuiv=0;
$nbUpdatesMAJ=50; // Si pas MAJ complète, nombre de lignes sans ajouts avant arrêt du traitement $nbUpdatesMAJ=50; // Si pas MAJ complète, nombre de lignes sans ajouts avant arrêt du traitement
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -34,9 +34,53 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} else $tabSiren[]=$argv[$i]; } else $tabSiren[]=$argv[$i];
} }
/** Requête d'initialisation du cookie **/
/*
Host[www.classement.atout-france.fr]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1]
Accept[text/xml]
Accept-Language[fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3]
Accept-Encoding[gzip, deflate]
Connection[keep-alive]
Content-Type[application/x-www-form-urlencoded; charset=UTF-8]
Wicket-Ajax[true]
Wicket-FocusedElementId[ide0]
Referer[https://www.classement.atout-france.fr/rechercheHebergement/recherche-avancee]
Content-Length[266]
Cookie[JSESSIONID=712f305d17a1e39bdc2faeda3eae; JSESSIONID=712c66d73d3d49a03ba88fb4626b; GUEST_LANGUAGE_ID=fr_FR; COOKIE_SUPPORT=true; xtvrn=$449801$]
Pragma[no-cache]
Cache-Control[no-cache]
Données POST:
En-têtes réponse:
Date[Fri, 24 Aug 2012 05:37:32 GMT]
Server[GlassFish Server Open Source Edition 3.1.1]
X-Powered-By[Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Sun Microsystems Inc./1.6)]
Ajax-Location[resultats-recherche]
Content-Length[1]
Cache-Control[must-revalidate]
Connection[close]
Content-Type[text/plain; charset=UTF-8]
'check25'=>'HÔTEL',
'check26'=>'CAMPING',
'check27'=>'VILLAGE DE VACANCES',
'check28'=>'RÉSIDENCE DE TOURISME',
'check29'=>'PARC RÉSIDENTIEL DE LOISIRS',
DISTINCTION PALACE',
palace[on]
*/
/** Requête d'initialisation du cookie **/
$referer=''; $referer='';
$url='https://www.classement.atout-france.fr/liste_hebergement_classes_public'; //$url='https://www.classement.atout-france.fr/liste_hebergement_classes_public';
$url='https://www.classement.atout-france.fr/rechercheHebergement/recherche-avancee';
$page=getUrl($url, '', '', $referer); $page=getUrl($url, '', '', $referer);
$referer=$url; $referer=$url;
if ($page['code']<>200) { if ($page['code']<>200) {
@ -44,20 +88,47 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
die('Erreur Code Retour <> 200 !'); die('Erreur Code Retour <> 200 !');
} }
$cookie=$page['header']['Set-Cookie']; $cookie=$page['header']['Set-Cookie'];
$jsessionid=false;
if (preg_match('/JSESSIONID=([0-9A-Z]{28,28});/Uis', $cookie, $matches)) $jsessionid=$matches[1];
randsleep(1,2); randsleep(1,2);
print_r($page);
die($cookie.EOL.$jsessionid.EOL);
$url='https://www.classement.atout-france.fr/rechercheHebergement/recherche-avancee?wicket:interface=:43:recherchePanel:form:submit::IActivePageBehaviorListener:0:&wicket:ignoreIfNotActive=true&random=0.2645017572247489';
//;jsessionid=7325bbc317e74f4cdaef715d3cff?wicket:interface=:0:recherchePanel:form::IFormSubmitListener::"
$post=array('idda_hf_0'=>'',
'typesEtablissements'=>'check25',
'classement'=>'',
'nomCommercial'=>'',
'codePostal'=>'',
'commune'=>'',
'regionSelect'=>'',
'wmcDecision%3AtypeRechercheDateDecision'=>'LE',
'wmcDecision%3AdateDecision'=>'',
'wmcPublication%3AtypeRechercheDatePublication'=>'LE',
'wmcPublication%3AdatePublication'=>'',
'%3Asubmit'=>1,
);
$page=getUrl($url, $cookie, $post, $referer);
print_r($page);
die();
$resultsPerPage=100; $resultsPerPage=100;
if ($baseComplete) if ($baseComplete)
$tabTypeEtab=array( 'VILLAGE%20R%C3%89SIDENTIEL%20DE%20TOURISME'=>'Village résidentiel de tourisme', $tabTypeEtab=array( 'VILLAGE%20R%C3%89SIDENTIEL%20DE%20TOURISME'=>'Village résidentiel de tourisme',
'PARC%20R%C3%89SIDENTIEL%20DE%20LOISIRS'=>'Parcs résidentiel de loisirs', 'PARC%20R%C3%89SIDENTIEL%20DE%20LOISIRS'=>'Parcs résidentiel de loisirs',
'VILLAGE%20DE%20VACANCES'=>'Villages de vacances', 'VILLAGE%20DE%20VACANCES'=>'Villages de vacances',
'H%C3%94TEL'=>'Hotels', 'H%C3%94TEL'=>'Hotels',
'R%C3%89SIDENCE%20DE%20TOURISME'=>'Résidences de tourisme', 'R%C3%89SIDENCE%20DE%20TOURISME'=>'Résidences de tourisme',
'CAMPING'=>'Campings', 'CAMPING'=>'Campings',
'MEUBL%C3%89%20DE%20TOURISME'=>'Meublés de tourisme', 'MEUBL%C3%89%20DE%20TOURISME'=>'Meublés de tourisme',
); );
else else
$tabTypeEtab=array(' '=>'Derniers établissements classés'); $tabTypeEtab=array(' '=>'Derniers établissements classés');
foreach ($tabTypeEtab as $typeEtab=>$libTypeEtab) { foreach ($tabTypeEtab as $typeEtab=>$libTypeEtab) {
@ -85,19 +156,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$body=$page['body']; $body=$page['body'];
//print_r($page); //print_r($page);
//die($body); //die($body);
if ($nbPages==0 && preg_match('/<div class="ow\-pagination">(?:\s+)<span>Eléments (\d+) à (\d+) sur ([0-9,]{1,})</Uis', $body, $matches)) { if ($nbPages==0 && preg_match('/<div class="ow\-pagination">(?:\s+)<span>Eléments (\d+) à (\d+) sur ([0-9,]{1,})</Uis', $body, $matches)) {
$nbTot=strtr($matches[3],array(','=>'',' '=>'','.'=>'')); $nbTot=strtr($matches[3],array(','=>'',' '=>'','.'=>''));
$nbPages=ceil($nbTot/$resultsPerPage); $nbPages=ceil($nbTot/$resultsPerPage);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL; echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL;
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : page $iPage, "; echo date('Y/m/d - H:i:s') ." - $libTypeEtab : page $iPage, ";
//die(); //die();
} elseif ($nbPages==0) { } elseif ($nbPages==0) {
if (preg_match('/(\d+) hébergements concernés(?:\s+)<\/div>/Uis', $body, $matches)) { if (preg_match('/(\d+) hébergements concernés(?:\s+)<\/div>/Uis', $body, $matches)) {
$nbTot=strtr($matches[1],array(','=>'',' '=>'','.'=>'')); $nbTot=strtr($matches[1],array(','=>'',' '=>'','.'=>''));
$nbPages=ceil($nbTot/$resultsPerPage); $nbPages=ceil($nbTot/$resultsPerPage);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL; echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL;
} elseif (preg_match('/Aucun résultat pour les critères saisis/Uis', $body, $matches)) { } elseif (preg_match('/Aucun résultat pour les critères saisis/Uis', $body, $matches)) {
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : 0 page pour un total de 0 résultat".EOL; echo date('Y/m/d - H:i:s') ." - $libTypeEtab : 0 page pour un total de 0 résultat".EOL;
break; break;
} else { } else {
echo $body.EOL; echo $body.EOL;
@ -110,10 +181,10 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (preg_match_all( '/<div><strong>(.*)<\/strong><\/div>(?:\s+)'. if (preg_match_all( '/<div><strong>(.*)<\/strong><\/div>(?:\s+)'.
'(.*)<\/div>(?:\s+)<\/div>/Uis' '(.*)<\/div>(?:\s+)<\/div>/Uis'
/* '<div>(.*)(\d) ÉTOILES?<\/div>(?:\s+)'. /* '<div>(.*)(\d) ÉTOILES?<\/div>(?:\s+)'.
'<div>Classement attribué le (.*)<\/div>(?:\s+)'. '<div>Classement attribué le (.*)<\/div>(?:\s+)'.
'<div>(.*) - (\d\d\d\d\d) (.*)<\/div>(?:\s+)'. '<div>(.*) - (\d\d\d\d\d) (.*)<\/div>(?:\s+)'.
'<div>Tél\. \: (.*)Fax \: (.*)Courriel \: <a href="mailto\:(.*)">(?:.*)'. '<div>Tél\. \: (.*)Fax \: (.*)Courriel \: <a href="mailto\:(.*)">(?:.*)'.
'<div>Site internet \: <a href="(.*)" target="_blank">(?:.*)<\/div>(?:\s+)'. '<div>Site internet \: <a href="(.*)" target="_blank">(?:.*)<\/div>(?:\s+)'.
'<div>Types de chambre \: (.*)<\/div>(?:\s+)'. '<div>Types de chambre \: (.*)<\/div>(?:\s+)'.
'((\d+) chambres)?/Uis'*/ '((\d+) chambres)?/Uis'*/
@ -123,19 +194,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$tabHotel=array('nom'=>trim($nom)); $tabHotel=array('nom'=>trim($nom));
// echo "$i:$nom".EOL; // echo "$i:$nom".EOL;
$strHotel=$matches[2][$i]; $strHotel=$matches[2][$i];
if (preg_match('/<div>(.*)(\d) ÉTOILES?<\/div>/Uis',$strHotel,$matches2)) { if (preg_match('/<div>(.*)(\d) ÉTOILES?<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2]; $tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]); $tabHotel['typeClasse']=trim($matches2[1]);
} elseif (preg_match('/<div>(.*)(\d) ÉTOILES? - CATÉGORIE(.*)<\/div>/Uis',$strHotel,$matches2)) { } elseif (preg_match('/<div>(.*)(\d) ÉTOILES? - CATÉGORIE(.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2]; $tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]); $tabHotel['typeClasse']=trim($matches2[1]);
$tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>''))); $tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>'')));
} elseif (preg_match('/<div>(.*)(\d) ÉTOILES?(?:\s+)- (.*)<\/div>/Uis',$strHotel,$matches2)) { } elseif (preg_match('/<div>(.*)(\d) ÉTOILES?(?:\s+)- (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2]; $tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]); $tabHotel['typeClasse']=trim($matches2[1]);
$tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>''))); $tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>'')));
} }
if (preg_match('/<div>Classement attribué le (.*)<\/div>/Uis',$strHotel,$matches2)) { if (preg_match('/<div>Classement attribué le (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['dateClasse']=WDate::dateT('d/m/Y', 'Y-m-d', $matches2[1]); $tabHotel['dateClasse']=WDate::dateT('d/m/Y', 'Y-m-d', $matches2[1]);
} }
if (preg_match('/\d\d\d\d<\/div>(?:\s+)<div>(.*) - (\d\d\d\d\d) (.*)<\/div>/Uis',$strHotel,$matches2)) { if (preg_match('/\d\d\d\d<\/div>(?:\s+)<div>(.*) - (\d\d\d\d\d) (.*)<\/div>/Uis',$strHotel,$matches2)) {
@ -143,7 +214,7 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$tabHotel['adrCp']=$matches2[2]; $tabHotel['adrCp']=$matches2[2];
$tabHotel['adrVille']=trim($matches2[3]); $tabHotel['adrVille']=trim($matches2[3]);
} }
if (preg_match('/Tél\. \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) { if (preg_match('/Tél\. \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) {
$tabHotel['tel']=trim($matches2[1]); $tabHotel['tel']=trim($matches2[1]);
} }
if (preg_match('/Fax \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) { if (preg_match('/Fax \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) {
@ -175,8 +246,8 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
echo "RECHERCHE DE :"; echo "RECHERCHE DE :";
print_r($tabHotel); print_r($tabHotel);
} }
$nom=strtr($nom, array( 'MEUBLÉ DE MONSIEUR '=>'', $nom=strtr($nom, array( 'MEUBLÉ DE MONSIEUR '=>'',
'MEUBLÉ DE MADAME '=>'', 'MEUBLÉ DE MADAME '=>'',
)); ));
$tabTmp=@$iInsee->rechercheEtab($nom, $tabHotel['adresse'], $tabHotel['adrCp'], $tabHotel['adrVille'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true); $tabTmp=@$iInsee->rechercheEtab($nom, $tabHotel['adresse'], $tabHotel['adrCp'], $tabHotel['adrVille'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=@$tabTmp['reponses']; $tabTrouve=@$tabTmp['reponses'];
@ -192,19 +263,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$tabHotel['nafEt']=$tabTrouve[0]['NafEtab']; $tabHotel['nafEt']=$tabTrouve[0]['NafEtab'];
} }
/* /*
5510Z Hôtels et hébergement similaire 5510Z Hôtels et hébergement similaire
702A Location de logements 702A Location de logements
6820A Location de logements 6820A Location de logements
5530Z Terrains de camping et parcs pour caravanes ou véh 5530Z Terrains de camping et parcs pour caravanes ou véh
5520Z Hébergement touristique et autre hébergement de co 5520Z Hébergement touristique et autre hébergement de co
6820B Location de terrains et d'autres biens immobiliers 6820B Location de terrains et d'autres biens immobiliers
551A Hôtels touristiques avec restaurant 551A Hôtels touristiques avec restaurant
5610A Restauration traditionnelle 5610A Restauration traditionnelle
741J Administration d'entreprises 741J Administration d'entreprises
7010Z Activités des sièges sociaux 7010Z Activités des sièges sociaux
552C Exploitation de terrains de camping 552C Exploitation de terrains de camping
702C Location d'autres biens immobiliers 702C Location d'autres biens immobiliers
551C Hôtels touristiques sans restaurant 551C Hôtels touristiques sans restaurant
553A Restauration de type traditionnel 553A Restauration de type traditionnel
*/ */
$nom=@addslashes($tabHotel['nom']); $nom=@addslashes($tabHotel['nom']);
@ -262,7 +333,7 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} }
} }
//print_r($tabHotels); //print_r($tabHotels);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbInsert ajouts et $nbUpdate mises à jours.".EOL; echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbInsert ajouts et $nbUpdate mises à jours.".EOL;
die(); die();
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations Greffes', $message); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations Greffes', $message);

View File

@ -0,0 +1,270 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des hébergements touristiques classés.
Options :
-v Mode debug (Verbosité au maximum)
-b Mise à jour de la base complète
";
$iDb=new WDB('jo');
$iInsee=new MInsee();
$argv=$_SERVER['argv'];
$tabSiren=array();
$modeDebug=$baseComplete=false;
$nbInsert=$nbUpdate=$nbUpdateSuiv=0;
$nbUpdatesMAJ=50; // Si pas MAJ complète, nombre de lignes sans ajouts avant arrêt du traitement
for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'v': $modeDebug=true; break;
case 'b': $baseComplete=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
}
} else $tabSiren[]=$argv[$i];
}
/** Requête d'initialisation du cookie **/
$referer='';
$url='https://www.classement.atout-france.fr/liste_hebergement_classes_public';
$page=getUrl($url, '', '', $referer);
$referer=$url;
if ($page['code']<>200) {
print_r($page);
die('Erreur Code Retour <> 200 !');
}
$cookie=$page['header']['Set-Cookie'];
randsleep(1,2);
$resultsPerPage=100;
if ($baseComplete)
$tabTypeEtab=array( 'VILLAGE%20R%C3%89SIDENTIEL%20DE%20TOURISME'=>'Village résidentiel de tourisme',
'PARC%20R%C3%89SIDENTIEL%20DE%20LOISIRS'=>'Parcs résidentiel de loisirs',
'VILLAGE%20DE%20VACANCES'=>'Villages de vacances',
'H%C3%94TEL'=>'Hotels',
'R%C3%89SIDENCE%20DE%20TOURISME'=>'Résidences de tourisme',
'CAMPING'=>'Campings',
'MEUBL%C3%89%20DE%20TOURISME'=>'Meublés de tourisme',
);
else
$tabTypeEtab=array(' '=>'Derniers établissements classés');
foreach ($tabTypeEtab as $typeEtab=>$libTypeEtab) {
$iPage=$nbPages=0;
$tabHotels=array();
while($iPage==0 || $iPage<$nbPages) {
$iPage++;
/** Boucle de lecture**/
$post=array('page'=>$iPage,
'resultsPerPage'=>$resultsPerPage,
'typeEtablissement'=>trim($typeEtab),
'nom'=>'',
'codePostal'=>'',
'commune'=>'',
'nbEtoiles'=>'',//5%20%C3%A9toiles',
);
$url='https://www.classement.atout-france.fr/public/hebergements/recherche';
$page=getUrl($url, $cookie, $post, $referer);
$referer=$url;
if ($page['code']<>200) die('Erreur Code Retour <> 200 !');
if (preg_match('/UTF-8/i', $page['header']['Content-Type']))
$body=utf8_decode($page['body']);
else
$body=$page['body'];
//print_r($page);
//die($body);
if ($nbPages==0 && preg_match('/<div class="ow\-pagination">(?:\s+)<span>Eléments (\d+) à (\d+) sur ([0-9,]{1,})</Uis', $body, $matches)) {
$nbTot=strtr($matches[3],array(','=>'',' '=>'','.'=>''));
$nbPages=ceil($nbTot/$resultsPerPage);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL;
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : page $iPage, ";
//die();
} elseif ($nbPages==0) {
if (preg_match('/(\d+) hébergements concernés(?:\s+)<\/div>/Uis', $body, $matches)) {
$nbTot=strtr($matches[1],array(','=>'',' '=>'','.'=>''));
$nbPages=ceil($nbTot/$resultsPerPage);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbPages page(s) pour un total de $nbTot résultats".EOL;
} elseif (preg_match('/Aucun résultat pour les critères saisis/Uis', $body, $matches)) {
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : 0 page pour un total de 0 résultat".EOL;
break;
} else {
echo $body.EOL;
die(date('Y/m/d - H:i:s') ." - $libTypeEtab : ERREUR, lecture impossible du nombre de pages !".EOL);
}
} elseif ($nbPages>0) {
if ($iPage==$nbPages) echo "$iPage.".EOL;
else echo "$iPage, ";
}
if (preg_match_all( '/<div><strong>(.*)<\/strong><\/div>(?:\s+)'.
'(.*)<\/div>(?:\s+)<\/div>/Uis'
/* '<div>(.*)(\d) ÉTOILES?<\/div>(?:\s+)'.
'<div>Classement attribué le (.*)<\/div>(?:\s+)'.
'<div>(.*) - (\d\d\d\d\d) (.*)<\/div>(?:\s+)'.
'<div>Tél\. \: (.*)Fax \: (.*)Courriel \: <a href="mailto\:(.*)">(?:.*)'.
'<div>Site internet \: <a href="(.*)" target="_blank">(?:.*)<\/div>(?:\s+)'.
'<div>Types de chambre \: (.*)<\/div>(?:\s+)'.
'((\d+) chambres)?/Uis'*/
, $body, $matches)) {
//print_r($matches);die();
foreach ($matches[1] as $i=>$nom) {
$tabHotel=array('nom'=>trim($nom));
// echo "$i:$nom".EOL;
$strHotel=$matches[2][$i];
if (preg_match('/<div>(.*)(\d) ÉTOILES?<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]);
} elseif (preg_match('/<div>(.*)(\d) ÉTOILES? - CATÉGORIE(.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]);
$tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>'')));
} elseif (preg_match('/<div>(.*)(\d) ÉTOILES?(?:\s+)- (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['nbEtoiles']=$matches2[2];
$tabHotel['typeClasse']=trim($matches2[1]);
$tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>'')));
}
if (preg_match('/<div>Classement attribué le (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['dateClasse']=WDate::dateT('d/m/Y', 'Y-m-d', $matches2[1]);
}
if (preg_match('/\d\d\d\d<\/div>(?:\s+)<div>(.*) - (\d\d\d\d\d) (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['adresse']=trim($matches2[1]);
$tabHotel['adrCp']=$matches2[2];
$tabHotel['adrVille']=trim($matches2[3]);
}
if (preg_match('/Tél\. \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) {
$tabHotel['tel']=trim($matches2[1]);
}
if (preg_match('/Fax \: ([0-9\s\+\-\.\(\)]{14,20})/Uis',$strHotel,$matches2)) {
$tabHotel['fax']=trim($matches2[1]);
}
if (preg_match('/Courriel \: <a href="mailto\:(.*)">/Uis',$strHotel,$matches2)) {
$tabHotel['mail']=trim($matches2[1]);
}
if (preg_match('/<div>Site internet \: <a href="(.*)" target="_blank">/Uis',$strHotel,$matches2)) {
$tabHotel['web']=trim($matches2[1]);
}
if (preg_match('/<div>Types de chambre \: (.*)<\/div>/Uis',$strHotel,$matches2)) {
$tabHotel['typeChambres']=trim($matches2[1]);
}
if (preg_match('/([0-9,]{1,}) chambres?/Uis',$strHotel,$matches2)) {
$tabHotel['capacite']=strtr($matches2[1],array(','=>'',' '=>'','.'=>''));
} elseif (preg_match('/([0-9,]{1,}) emplacements?/Uis',$strHotel,$matches2)) {
$tabHotel['capacite']=strtr($matches2[1],array(','=>'',' '=>'','.'=>''));
} elseif (preg_match('/([0-9,]{1,}) personnes?/Uis',$strHotel,$matches2)) {
$tabHotel['capacite']=strtr($matches2[1],array(','=>'',' '=>'','.'=>''));
}
//print_r($tabHotel);
$deb=0;$nbRep=20;$maxRep=20;$actif=1;
$siege='';
$pertinence=true;
if ($modeDebug) {
echo "RECHERCHE DE :";
print_r($tabHotel);
}
$nom=strtr($nom, array( 'MEUBLÉ DE MONSIEUR '=>'',
'MEUBLÉ DE MADAME '=>'',
));
$tabTmp=@$iInsee->rechercheEtab($nom, $tabHotel['adresse'], $tabHotel['adrCp'], $tabHotel['adrVille'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, true);
$tabTrouve=@$tabTmp['reponses'];
if ($modeDebug) {
echo EOL."On trouve :";
print_r($tabTrouve);
echo '-------------------------------'.EOL;
}
if (count($tabTrouve)==1) {
$tabHotel['siren']=$tabTrouve[0]['Siren'];
$tabHotel['nic']=$tabTrouve[0]['Nic'];
$tabHotel['nafEn']=$tabTrouve[0]['NafEnt'];
$tabHotel['nafEt']=$tabTrouve[0]['NafEtab'];
}
/*
5510Z Hôtels et hébergement similaire
702A Location de logements
6820A Location de logements
5530Z Terrains de camping et parcs pour caravanes ou véh
5520Z Hébergement touristique et autre hébergement de co
6820B Location de terrains et d'autres biens immobiliers
551A Hôtels touristiques avec restaurant
5610A Restauration traditionnelle
741J Administration d'entreprises
7010Z Activités des sièges sociaux
552C Exploitation de terrains de camping
702C Location d'autres biens immobiliers
551C Hôtels touristiques sans restaurant
553A Restauration de type traditionnel
*/
$nom=@addslashes($tabHotel['nom']);
$adresse=@addslashes($tabHotel['adresse']);
$adrVille=@addslashes($tabHotel['adrVille']);
$typeClasse=@addslashes($tabHotel['typeClasse']);
$categorie=@addslashes($tabHotel['categorie']);
$typeChambres=@addslashes($tabHotel['typeChambres']);
$capacite=@$tabHotel['capacite']*1;
$where="nom='$nom'
AND adresse ='$adresse'
AND adrCp =".@$tabHotel['adrCp']."
AND adrVille ='$adrVille'
AND nbEtoiles =".@$tabHotel['nbEtoiles']."
AND typeClasse ='$typeClasse'
AND categorie ='$categorie'
AND dateClasse ='".@$tabHotel['dateClasse']."'
AND tel ='".@$tabHotel['tel']."'
AND fax ='".@$tabHotel['fax']."'
AND mail ='".@$tabHotel['mail']."'
AND web ='".@$tabHotel['web']."'
AND typeChambres='$typeChambres'
AND capacite =".$capacite;
$ret=$iDb->select('tourisme', 'id', $where, false);
if (mysql_errno()>0) die("SELECT id FROM tourisme WHERE $where;".EOL.mysql_error().EOL);
if (count($ret)==0) {
//print_r($ret);
$tabInsert=array_merge($tabHotel,array( 'actif'=>1,
'dateInsert'=>date('YmdHis')));
if (!$iDb->insert('tourisme', $tabInsert))
die(print_r($tabInsert,true).EOL.mysql_error().EOL);
else {
$nbInsert++;
$updatePre=false;
}
} else {
$id=$ret[0][0];
$tabUpdate=array_merge($tabHotel,array('actif'=>1));
if (!$iDb->update('tourisme', $tabUpdate, "id=$id"))
die(print_r($tabUpdate,true).EOL.mysql_error().EOL);
else {
$nbUpdate++;
$updatePre=true;
}
}
if (!$updatePre) $nbUpdateSuiv=0;
else $nbUpdateSuiv++;
//$tabHotels[]=$tabHotel;
}
//die();
} else
print_r($page);
//randsleep(1,2);
if (!$baseComplete && $nbUpdateSuiv>($nbUpdatesMAJ/2)) break(2);
}
}
//print_r($tabHotels);
echo date('Y/m/d - H:i:s') ." - $libTypeEtab : $nbInsert ajouts et $nbUpdate mises à jours.".EOL;
die();
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des informations Greffes', $message);
die();
?>

View File

@ -9,10 +9,10 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
//define('DIRIGEANTS_LOCAL_DIR', '/home/data/insee/even/'); //define('DIRIGEANTS_LOCAL_DIR', '/home/data/insee/even/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des fiches Html contenant les données des Kbis du jour. Chargement des fiches Html contenant les données des Kbis du jour.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
"; ";
$iDb=new WDB('jo'); $iDb=new WDB('jo');
@ -39,29 +39,29 @@ Options :
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des dirigeants".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des dirigeants".EOL;
$tabFct=array( md5('Administrateur') => 0100, $tabFct=array( md5('Administrateur') => 0100,
md5('Administrateur délégué') => 0101, md5('Administrateur délégué') => 0101,
md5('Administrateur provisoire') => 0108, md5('Administrateur provisoire') => 0108,
md5('Associé-gérant') => 0209, md5('Associé-gérant') => 0209,
md5('Co-gérant') => 0400, md5('Co-gérant') => 0400,
md5('Contrôleur de gestion') => 0603, md5('Contrôleur de gestion') => 0603,
md5('Directeur général') => 0709, md5('Directeur général') => 0709,
md5('Directeur général délégué') => 0704, md5('Directeur général délégué') => 0704,
md5('Directeur général non administrateur') => 0713, md5('Directeur général non administrateur') => 0713,
md5('Directeur général unique') => 0708, md5('Directeur général unique') => 0708,
md5('Gérant') => 0900, md5('Gérant') => 0900,
md5('Gouverneur') => 1650, md5('Gouverneur') => 1650,
md5('Liquidateur') => 1900, md5('Liquidateur') => 1900,
md5('Président') => 1300, md5('Président') => 1300,
md5('Président Directeur Général') => 1301, md5('Président Directeur Général') => 1301,
md5('Président du conseil d\'administration') => 1306, md5('Président du conseil d\'administration') => 1306,
md5('Président du conseil de surveillance') => 1307, md5('Président du conseil de surveillance') => 1307,
md5('Président du directoire') => 1308, md5('Président du directoire') => 1308,
md5('Représentant en France d\'une société étrangère') => 1401, md5('Représentant en France d\'une société étrangère') => 1401,
md5('Sous-gouverneur') => 1651, md5('Sous-gouverneur') => 1651,
md5('Vice-président') => 1800, md5('Vice-président') => 1800,
); );
@ -90,11 +90,11 @@ Options :
if (preg_match('/<TD align=left colSpan=2><B>IDENTIFICATION <\/B>(.*)<TD colSpan=2><B>RENSEIGNEMENTS RELATIFS A LA PERSONNE MORALE<\/B>/Uis', $strKbis, $matches)) { if (preg_match('/<TD align=left colSpan=2><B>IDENTIFICATION <\/B>(.*)<TD colSpan=2><B>RENSEIGNEMENTS RELATIFS A LA PERSONNE MORALE<\/B>/Uis', $strKbis, $matches)) {
$htmlId=$matches[1]; $htmlId=$matches[1];
if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Dénomination sociale \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches)) if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Dénomination sociale \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches))
$tabKbis['rs']=trim(strip_tags($matches[1])); $tabKbis['rs']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Numéro d\'identification \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches)) if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Numéro d\'identification \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches))
$tabKbis['sirenTxt']=trim(strip_tags($matches[1])); $tabKbis['sirenTxt']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Numéro RCS \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches)) if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Numéro RCS \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches))
$tabKbis['rcs']=trim(strip_tags($matches[1])); $tabKbis['rcs']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Date immatriculation \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches)) if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Date immatriculation \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlId, $matches))
$tabKbis['dateImmat']=trim(strip_tags($matches[1])); $tabKbis['dateImmat']=trim(strip_tags($matches[1]));
@ -102,17 +102,17 @@ Options :
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Forme juridique :<\/TD>(.*)<TD align=left colSpan=2><B>ADMINISTRATION<\/B>/Uis', $strKbis, $matches)) { if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Forme juridique :<\/TD>(.*)<TD align=left colSpan=2><B>ADMINISTRATION<\/B>/Uis', $strKbis, $matches)) {
$htmlPm=$matches[1]; $htmlPm=$matches[1];
if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Dénomination sociale \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE\: italic" vAlign=top align=left>Dénomination sociale \:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['fj']=trim(strip_tags($matches[1])); $tabKbis['fj']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Au capital :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Au capital :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['capital']=trim(strip_tags($matches[1])); $tabKbis['capital']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Adresse du siège :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Adresse du siège :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['adresse']=trim(strip_tags($matches[1])); $tabKbis['adresse']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Durée de la société<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Durée de la société<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['duree']=trim(strip_tags($matches[1])); $tabKbis['duree']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Date d\'arrêté des comptes:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Date d\'arrêté des comptes:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['date_cloture']=trim(strip_tags($matches[1])); $tabKbis['date_cloture']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Constitution&nbsp;-&nbsp;Dépôt&nbsp;de&nbsp;l\'acte&nbsp;constitutif :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Constitution&nbsp;-&nbsp;Dépôt&nbsp;de&nbsp;l\'acte&nbsp;constitutif :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['date_constitution']=trim(strip_tags($matches[1])); $tabKbis['date_constitution']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Publication:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Publication:<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlPm, $matches))
$tabKbis['date_annonce_constitution']=trim(strip_tags($matches[1])); $tabKbis['date_annonce_constitution']=trim(strip_tags($matches[1]));
@ -131,13 +131,13 @@ Options :
$tabDir['nom']=trim(strip_tags($matches[1])); $tabDir['nom']=trim(strip_tags($matches[1]));
if (preg_match('/<TD>\((.*)\)<\/TD><\/TR>/Uis', $htmlDir, $matches)) if (preg_match('/<TD>\((.*)\)<\/TD><\/TR>/Uis', $htmlDir, $matches))
$tabDir['siren']=trim(strip_tags($matches[1])); $tabDir['siren']=trim(strip_tags($matches[1]));
if (preg_match('/<TD>(.*)<\/TD><\/TR>(?:.*)<TR>(?:.*)<TD>représentée par <\/TD><\/TR>(?:.*)<TD>(.*)<\/TD><\/TR>/Uis', $htmlDir, $matches)) { if (preg_match('/<TD>(.*)<\/TD><\/TR>(?:.*)<TR>(?:.*)<TD>représentée par <\/TD><\/TR>(?:.*)<TD>(.*)<\/TD><\/TR>/Uis', $htmlDir, $matches)) {
//$tabDir['rs']=trim(strip_tags($matches[1])); //$tabDir['rs']=trim(strip_tags($matches[1]));
$tabDir['rep']=trim(strip_tags($matches[2])); $tabDir['rep']=trim(strip_tags($matches[2]));
} }
if (preg_match('/<TD>né\(e\)(.*)<TR>/Uis', $htmlDir, $matches)) if (preg_match('/<TD>né\(e\)(.*)<TR>/Uis', $htmlDir, $matches))
$tabDir['naiss']=trim(strip_tags($matches[1])); $tabDir['naiss']=trim(strip_tags($matches[1]));
if (preg_match('/<TD>de nationalité (.*)<\/TD><\/TR></Uis', $htmlDir, $matches)) if (preg_match('/<TD>de nationalité (.*)<\/TD><\/TR></Uis', $htmlDir, $matches))
$tabDir['natio']=trim(strip_tags($matches[1])); $tabDir['natio']=trim(strip_tags($matches[1]));
if (preg_match('/<TD>demeurant (.*)<\/TD><\/TR></Uis', $htmlDir, $matches)) if (preg_match('/<TD>demeurant (.*)<\/TD><\/TR></Uis', $htmlDir, $matches))
$tabDir['adresse']=trim(strip_tags($matches[1])); $tabDir['adresse']=trim(strip_tags($matches[1]));
@ -148,23 +148,23 @@ Options :
if (preg_match('/<TD align=left colSpan=2><B>RENSEIGNEMENTS RELATIFS A L\'ACTIVITE COMMERCIALE<\/B>(.*)<TD align=left colSpan=2><B>OBSERVATIONS<\/B>/Uis', $strKbis, $matches)) { if (preg_match('/<TD align=left colSpan=2><B>RENSEIGNEMENTS RELATIFS A L\'ACTIVITE COMMERCIALE<\/B>(.*)<TD align=left colSpan=2><B>OBSERVATIONS<\/B>/Uis', $strKbis, $matches)) {
$htmlAc=$matches[1]; $htmlAc=$matches[1];
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Origine du fonds ou de l\'activité :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Origine du fonds ou de l\'activité :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['origine_fonds']=trim(strip_tags($matches[1])); $tabKbis['origine_fonds']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Activité :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Activité :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['activite']=trim(strip_tags($matches[1])); $tabKbis['activite']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Enseigne :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Enseigne :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['sigle']=trim(strip_tags($matches[1])); $tabKbis['sigle']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Adresse de l\'établissement principal : <\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Adresse de l\'établissement principal : <\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['adresse_etabp']=trim(strip_tags($matches[1])); $tabKbis['adresse_etabp']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Précédent Exploitant : <\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Précédent Exploitant : <\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['prec_exp_nom']=trim(strip_tags($matches[1])); $tabKbis['prec_exp_nom']=trim(strip_tags($matches[1]));
if (preg_match('/<TD><I>n° identification <\/I>(.*)<\/TD><\/TR>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) { if (preg_match('/<TD><I>n° identification <\/I>(.*)<\/TD><\/TR>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) {
$tabKbis['prec_exp_siren']=trim(strip_tags($matches[1])); $tabKbis['prec_exp_siren']=trim(strip_tags($matches[1]));
$tabKbis['prec_exp_info']=trim(strip_tags($matches[2])); $tabKbis['prec_exp_info']=trim(strip_tags($matches[2]));
} }
if (preg_match('/<TD vAlign=top align=left><I>Oppositions pour la correspondance :<\/I><\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD vAlign=top align=left><I>Oppositions pour la correspondance :<\/I><\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['prec_exp_oppo']=trim(strip_tags($matches[1])); $tabKbis['prec_exp_oppo']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Commencement d\'activité le :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top align=left>Commencement d\'activité le :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['prec_exp_debut_activite']=trim(strip_tags($matches[1])); $tabKbis['prec_exp_debut_activite']=trim(strip_tags($matches[1]));
if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Mode d\'exploitation :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches)) if (preg_match('/<TD style="FONT-STYLE: italic" vAlign=top>Mode d\'exploitation :<\/TD>(.*)<\/TD><\/TR>/Uis', $htmlAc, $matches))
$tabKbis['prec_exp_exploitation']=trim(strip_tags($matches[1])); $tabKbis['prec_exp_exploitation']=trim(strip_tags($matches[1]));
@ -200,7 +200,7 @@ Options :
$fp=fopen($nomFichier, 'r'); $fp=fopen($nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -212,25 +212,25 @@ Options :
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $nomFichier ($nbLignes lignes à traiter) !".EOL;
//$finFichier=false; //$finFichier=false;
$nbLignes=0; $nbLignes=0;
rewind($fp); rewind($fp);
/** Traitement de la 1ère ligne * /** Traitement de la 1ère ligne *
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
$tab=explode("\t", $a); $tab=explode("\t", $a);
$erreur=''; $erreur='';
if ($tab[0]<>'RCS') $erreur='Ligne 1, Champ 1 : libellé RCS attentu'; if ($tab[0]<>'RCS') $erreur='Ligne 1, Champ 1 : libellé RCS attentu';
if ($tab[1]<>'RAISON_SOCIAL') $erreur='Ligne 1, Champ 2 : libellé RAISON_SOCIAL attentu'; if ($tab[1]<>'RAISON_SOCIAL') $erreur='Ligne 1, Champ 2 : libellé RAISON_SOCIAL attentu';
if ($tab[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE attentu'; if ($tab[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE attentu';
if ($tab[3]<>'NOM') $erreur='Ligne 1, Champ 4 : libellé NOM attentu'; if ($tab[3]<>'NOM') $erreur='Ligne 1, Champ 4 : libellé NOM attentu';
if ($tab[4]<>'PRENOM') $erreur='Ligne 1, Champ 5 : libellé PRENOM attentu'; if ($tab[4]<>'PRENOM') $erreur='Ligne 1, Champ 5 : libellé PRENOM attentu';
if ($tab[5]<>'NOM_NAISSANCE') $erreur='Ligne 1, Champ 6 : libellé NOM_NAISSANCE attentu'; if ($tab[5]<>'NOM_NAISSANCE') $erreur='Ligne 1, Champ 6 : libellé NOM_NAISSANCE attentu';
if ($tab[6]<>'DATE_NAISSANCE') $erreur='Ligne 1, Champ 7 : libellé DATE_NAISSANCE attentu'; if ($tab[6]<>'DATE_NAISSANCE') $erreur='Ligne 1, Champ 7 : libellé DATE_NAISSANCE attentu';
if ($tab[7]<>'LIEU_NAISSANCE') $erreur='Ligne 1, Champ 8 : libellé LIEU_NAISSANCE attentu'; if ($tab[7]<>'LIEU_NAISSANCE') $erreur='Ligne 1, Champ 8 : libellé LIEU_NAISSANCE attentu';
if ($tab[8]<>'FONCTION') $erreur='Ligne 1, Champ 9 : libellé FONCTION attentu'; if ($tab[8]<>'FONCTION') $erreur='Ligne 1, Champ 9 : libellé FONCTION attentu';
if ($erreur<>'') { if ($erreur<>'') {
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL; echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
@ -238,7 +238,7 @@ Options :
} }
// $ret=$iDb->update('rncs_dirigeants', array('actif'=>0), '1'); // $ret=$iDb->update('rncs_dirigeants', array('actif'=>0), '1');
// echo date ('Y/m/d - H:i:s')." - Tous les dirigeants ont été passés inactifs ($ret) !".EOL; // echo date ('Y/m/d - H:i:s')." - Tous les dirigeants ont été passés inactifs ($ret) !".EOL;
while (!feof($fp)) while (!feof($fp))
{ {
@ -306,19 +306,19 @@ Options :
"naissance_date='". $tabDir['naissance_date'] ."' AND ". "naissance_date='". $tabDir['naissance_date'] ."' AND ".
"naissance_lieu='". $tabDir['naissance_lieu'] ."' AND ". "naissance_lieu='". $tabDir['naissance_lieu'] ."' AND ".
"fonction_lib='". $tabDir['fonction_lib'] ."'")) "fonction_lib='". $tabDir['fonction_lib'] ."'"))
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du dirigeant ". echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du dirigeant ".
$tabDir['nom']." ".$tabDir['prenom'].", siren=".$tabDir['siren'] .'!'.EOL; $tabDir['nom']." ".$tabDir['prenom'].", siren=".$tabDir['siren'] .'!'.EOL;
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL;
} }
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
$ret=$iDb->update('rncs_dirigeants', array('actif'=>0), "actif=1 AND source='csf'"); $ret=$iDb->update('rncs_dirigeants', array('actif'=>0), "actif=1 AND source='csf'");
echo date ('Y/m/d - H:i:s') . " - $ret dirigants CSF on été passés à inactif (car non transmis depuis le dernier chargement) !".EOL; echo date ('Y/m/d - H:i:s') . " - $ret dirigants CSF on été passés à inactif (car non transmis depuis le dernier chargement) !".EOL;
$ret=$iDb->update('rncs_dirigeants', array('actif'=>1), "actif=9 AND source='csf'"); $ret=$iDb->update('rncs_dirigeants', array('actif'=>1), "actif=9 AND source='csf'");
echo date ('Y/m/d - H:i:s') . " - Passage à actif de tous les dirigeants CSF chargés ($ret).".EOL; echo date ('Y/m/d - H:i:s') . " - Passage à actif de tous les dirigeants CSF chargés ($ret).".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des dirigeants".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des dirigeants".EOL;
*/ */

View File

@ -5,202 +5,268 @@
** ALTER TABLE `articles` CHANGE `source` `source` ENUM( 'A', 'B', 'D', 'E', 'H' ) NOT NULL DEFAULT 'A'; ** ALTER TABLE `articles` CHANGE `source` `source` ENUM( 'A', 'B', 'D', 'E', 'H' ) NOT NULL DEFAULT 'A';
**/ **/
include_once(FWK_PATH.'common/chiffres.php'); include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php'); include_once(FWK_PATH.'common/dates.php');
include_once(FWK_PATH.'common/ftp.php'); include_once(FWK_PATH.'common/ftp.php');
include_once(FWK_PATH.'mail/sendMail.php');
$iDb=new WDB('presse'); $iDb=new WDB('presse');
$nbHugin=$nbActus=$nbDiRel=$nbEchos=$nbBusin=0;
$doHugin=$doActus=$doEchos=$doBusin=$doAll=false;
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Hugin...".EOL; $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
$ret=ftp_mget(HUGIN_FTP_URL, HUGIN_FTP_USER, HUGIN_FTP_PASS, '*.xml', HUGIN_LOCAL_DIR, true); Intégration des derniers communiqués boursier.
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Hugin en FTP incorrecte !".EOL);
else
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Hugin en FTP ($ret fichiers récupérés).".EOL;
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux ActusNews...".EOL; Sans aucun paramètre, récupère les derniers communiqués.
$ret=ftp_mget(ACTUSNEWS_FTP_URL, ACTUSNEWS_FTP_USER, ACTUSNEWS_FTP_PASS, '*.xml', ACTUSNEWS_LOCAL_DIR, true); Sinon:
if ($ret===false) -v Mode bavard
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux ActusNews en FTP incorrecte !".EOL); -h Traite uniquement le diffuseur Hugin
else -a idem ActuNews
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux ActusNews en FTP ($ret fichiers récupérés).".EOL; -e idem Les Echos
-b idem BusinessWire
";
$argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $doAll=true;
else {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'h': $doHugin=true; break;
case 'a': $doActus=true; break;
case 'e': $doEchos=true; break;
case 'b': $doBusin=true; break;
case 'v': $modeDebug=true; break;
case '-': die($strInfoProg); break;
default: die('Option '. $argv[$i] . " inconnue !\n"); break;
}
}
}
}
if (!$doHugin && !$doActus && !$doEchos && !$doBusin) $doAll=true;
$strMessage=date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux relatifs aux informations règlementées...".EOL;
/*
if ($doHugin || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Hugin...".EOL;
$ret=ftp_mget(HUGIN_FTP_URL, HUGIN_FTP_USER, HUGIN_FTP_PASS, '*.xml', HUGIN_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Hugin en FTP incorrecte !".EOL);
else {
$message=date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Hugin en FTP ($ret fichiers récupérés).".EOL;
echo $message;
$strMessage.=$message;
}
}
*/
if ($doActus || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux ActusNews...".EOL;
$ret=ftp_mget(ACTUSNEWS_FTP_URL, ACTUSNEWS_FTP_USER, ACTUSNEWS_FTP_PASS, '*.xml', ACTUSNEWS_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux ActusNews en FTP incorrecte !".EOL);
else {
$message=date ('Y/m/d - H:i:s')." - FIN de la récupération des flux ActusNews en FTP ($ret fichiers récupérés).".EOL;
echo $message;
$strMessage.=$message;
}
}
/*
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Di Release...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Di Release...".EOL;
$ret=ftp_mget(DIRELEASE_FTP_URL, DIRELEASE_FTP_USER, DIRELEASE_FTP_PASS, '*.xml', DIRELEASE_LOCAL_DIR, true); $ret=ftp_mget(DIRELEASE_FTP_URL, DIRELEASE_FTP_USER, DIRELEASE_FTP_PASS, '*.xml', DIRELEASE_LOCAL_DIR, true);
if ($ret===false) if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Di Release en FTP incorrecte !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Di Release en FTP incorrecte !".EOL);
else else {
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Di Release en FTP ($ret fichiers récupérés).".EOL; $message=date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Di Release en FTP ($ret fichiers récupérés).".EOL;
echo $message;
$strMessage.=$message;
}*/
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux BusinessWire...".EOL; if ($doBusin || $doAll) {
$dh = opendir(BUSINESSWIRE_LOCAL_DIR_INCOMING); echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux BusinessWire...".EOL;
$ret=0; $dh = opendir(BUSINESSWIRE_LOCAL_DIR_INCOMING);
while (false !== ($filename = readdir($dh))) { $ret=0;
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml') while (false !== ($filename = readdir($dh))) {
if (!file_exists(BUSINESSWIRE_LOCAL_DIR . $filename) && filesize(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename)>0) { if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
copy(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename,BUSINESSWIRE_LOCAL_DIR . $filename); if (!file_exists(BUSINESSWIRE_LOCAL_DIR . $filename) && filesize(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename)>0) {
$ret++; copy(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename,BUSINESSWIRE_LOCAL_DIR . $filename);
$ret++;
}
}
$message=date ('Y/m/d - H:i:s')." - FIN de la récupération des flux BusinessWire ($ret fichiers copiés).".EOL;
echo $message;
$strMessage.=$message;
}
if ($doEchos || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Les Echos...".EOL;
$ret=ftp_mget(LESECHOS_FTP_URL, LESECHOS_FTP_USER, LESECHOS_FTP_PASS, 'syndication/*.xml', LESECHOS_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Les Echos en FTP incorrecte !".EOL);
else {
$message=date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Les Echos en FTP ($ret fichiers récupérés).".EOL;
echo $message;
$strMessage.=$message;
} }
} }
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux BusinessWire ($ret fichiers copiés).".EOL;
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux Les Echos...".EOL;
$ret=ftp_mget(LESECHOS_FTP_URL, LESECHOS_FTP_USER, LESECHOS_FTP_PASS, 'syndication/*.xml', LESECHOS_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Les Echos en FTP incorrecte !".EOL);
else
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Les Echos en FTP ($ret fichiers récupérés).".EOL;
/** /**
** INTEGRATION DES COMMUNIQUES "HUGIN" ** INTEGRATION DES COMMUNIQUES "HUGIN"
**/ **/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Hugin...".EOL; if ($doHugin || $doAll) {
$tabFichier=array(); echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Hugin...".EOL;
$dh = opendir(HUGIN_LOCAL_DIR); $tabFichier=array();
while (false !== ($filename = readdir($dh))) { $dh = opendir(HUGIN_LOCAL_DIR);
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml') while (false !== ($filename = readdir($dh))) {
$tabFichier[] = $filename; if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
} $tabFichier[] = $filename;
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(HUGIN_LOCAL_DIR.$nomFichier);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL);
$dom = @new DomDocument2();
@$dom->load(HUGIN_LOCAL_DIR.$nomFichier);
$pressReleaseId=@$dom->getValueFromTag('PRESS_RELEASE_ID');
$tabInsert=array( 'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>$dom->getValueFromTag('COMPANY_NAME'),
'companyIsin'=>$dom->getValueFromTag('COMPANY_ISIN'),
'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'),
'companyLogoUrl'=>$dom->getValueFromTag('URL1'),
'companyWebSite'=>$dom->getValueFromTag('URL2'),
'companyProfile'=>$dom->getValueFromTag('URL3'),
'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'),
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>$dom->getValueFromTag('PRESS_RELEASE_DATE_TIME'),
'pressReleaseTitle'=>$dom->getValueFromTag('PRESS_RELEASE_TITLE'),
'pressReleaseText'=>$dom->getValueFromTag('TEXT_FORMAT'),
'pressReleaseHtml'=>$dom->getValueFromTag('HTML_FORMAT'),
'pressReleaseAttachments'=>$dom->getValueFromTag('ATTACHMENTS_URL1'),
'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('INDEX_THEME'),
'indexSector'=>$dom->getValueFromTag('INDEX_SECTOR'),
'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$dom->getValueFromTag('INDEX_LANGUAGE'),
'indexMarketPlace'=>$dom->getValueFromTag('INDEX_MARKET_PLACE'),
'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),
'source'=>'H',
);
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
} }
unset($dom); foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(HUGIN_LOCAL_DIR.$nomFichier);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL);
$dom = @new DomDocument2();
@$dom->load(HUGIN_LOCAL_DIR.$nomFichier);
$pressReleaseId=@$dom->getValueFromTag('PRESS_RELEASE_ID');
$tabInsert=array( 'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>$dom->getValueFromTag('COMPANY_NAME'),
'companyIsin'=>$dom->getValueFromTag('COMPANY_ISIN'),
'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'),
'companyLogoUrl'=>$dom->getValueFromTag('URL1'),
'companyWebSite'=>$dom->getValueFromTag('URL2'),
'companyProfile'=>$dom->getValueFromTag('URL3'),
'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'),
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>$dom->getValueFromTag('PRESS_RELEASE_DATE_TIME'),
'pressReleaseTitle'=>$dom->getValueFromTag('PRESS_RELEASE_TITLE'),
'pressReleaseText'=>$dom->getValueFromTag('TEXT_FORMAT'),
'pressReleaseHtml'=>$dom->getValueFromTag('HTML_FORMAT'),
'pressReleaseAttachments'=>$dom->getValueFromTag('ATTACHMENTS_URL1'),
'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('INDEX_THEME'),
'indexSector'=>$dom->getValueFromTag('INDEX_SECTOR'),
'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$dom->getValueFromTag('INDEX_LANGUAGE'),
'indexMarketPlace'=>$dom->getValueFromTag('INDEX_MARKET_PLACE'),
'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),
'source'=>'H',
);
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbHugin++;
}
unset($dom);
}
$message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbHugin communiqués Hugin.".EOL;
echo $message;
$strMessage.=$message;
} }
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux Hugin.".EOL;
/** /**
** INTEGRATION DES COMMUNIQUES "ACTUSNEWS" ** INTEGRATION DES COMMUNIQUES "ACTUSNEWS"
**/ **/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux ActusNews...".EOL; if ($doActus || $doAll) {
$tabFichier=array(); echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux ActusNews...".EOL;
$dh = opendir(ACTUSNEWS_LOCAL_DIR); $tabFichier=array();
while (false !== ($filename = readdir($dh))) { $dh = opendir(ACTUSNEWS_LOCAL_DIR);
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml') while (false !== ($filename = readdir($dh))) {
$tabFichier[] = $filename; if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
} $tabFichier[] = $filename;
}
foreach ($tabFichier as $k => $nomFichier) { foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(ACTUSNEWS_LOCAL_DIR.$nomFichier); $tabTmp=file(ACTUSNEWS_LOCAL_DIR.$nomFichier);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL); if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1'; if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8'; elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL); else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL);
foreach ($tabTmp as $i_ligne => $ligne) { foreach ($tabTmp as $i_ligne => $ligne) {
if (stripos($ligne, '<communique ')!== false) {//<communique if (stripos($ligne, '<communique ')!== false) {//<communique
//echo date ('Y/m/d - H:i:s')." - Première ligne du communiqué...".EOL; //echo date ('Y/m/d - H:i:s')." - Première ligne du communiqué...".EOL;
if (stripos($ligne, 'langue="FR"')>0) { if (stripos($ligne, 'langue="FR"')>0) {
//echo date ('Y/m/d - H:i:s')." - Communiqué en français ($ligne).".EOL; //echo date ('Y/m/d - H:i:s')." - Communiqué en français ($ligne).".EOL;
$french=true; $french=true;
} else { } else {
//echo date ('Y/m/d - H:i:s')." - Langue non intégrée en base ($ligne) !".EOL; //echo date ('Y/m/d - H:i:s')." - Langue non intégrée en base ($ligne) !".EOL;
$french=false; $french=false;
break;
}
break; break;
} }
break; }
if ($french) {
//echo date ('Y/m/d - H:i:s')." - Chargement du communiqué ...".EOL;
$dom = @new DomDocument2();
$dom->load(ACTUSNEWS_LOCAL_DIR.$nomFichier);
$pressReleaseId=$dom->getValueFromTag('id');
$tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>trim($dom->getValueFromTag('raisonsociale')),
'companyIsin'=>trim($dom->getValueFromTag('codeisin')),
//'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
'companyRic'=>trim($dom->getValueFromTag('code_reuters')),
'companyLogoUrl'=>trim($dom->getValueFromTag('logo')),
'companyWebSite'=>trim($dom->getValueFromTag('site')),
//'companyProfile'=>$dom->getValueFromTag('URL3'),
//'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyInfoActionnaires'=>trim($dom->getValueFromTag('site_investisseur')),
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>trim($dom->getValueFromTag('miseajour')),
'pressReleaseTitle'=>trim($dom->getValueFromTag('titre')),
'pressReleaseText'=>trim(strtr(html_entity_decode(strip_tags($dom->getValueFromTag('contenu'))),array('&rsquo;'=>''))),
'pressReleaseHtml'=>trim($dom->getValueFromTag('contenu')),
'pressReleaseAttachments'=>trim($dom->getValueFromTag('pdf')),
//'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
/*'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('INDEX_THEME'),
'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$dom->getValueFromTag('INDEX_LANGUAGE'),
*/
'indexQuoteInd'=>trim($dom->getValueFromTag('indice')),
'indexSector'=>trim($dom->getValueFromTag('secteur')),
'indexMarketPlace'=>trim($dom->getValueFromTag('marche_cotation')),
'source'=>'A',
'companyBloomberg'=>trim($dom->getValueFromTag('code_bloomberg')),
'companyMnemo'=>trim($dom->getValueFromTag('mnemo')),
'companyNbTitles'=>trim($dom->getValueFromTag('nb_de_titres')),
'companyFootsie'=>trim($dom->getValueFromTag('footsie')),
);
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbActus++;
}
unset($dom);
} }
} }
if ($french) { $message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbActus communiqués ActusNews.".EOL;
//echo date ('Y/m/d - H:i:s')." - Chargement du communiqué ...".EOL; echo $message;
$dom = @new DomDocument2(); $strMessage.=$message;
$dom->load(ACTUSNEWS_LOCAL_DIR.$nomFichier);
$pressReleaseId=$dom->getValueFromTag('id');
$tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>trim($dom->getValueFromTag('raisonsociale')),
'companyIsin'=>trim($dom->getValueFromTag('codeisin')),
//'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
'companyRic'=>trim($dom->getValueFromTag('code_reuters')),
'companyLogoUrl'=>trim($dom->getValueFromTag('logo')),
'companyWebSite'=>trim($dom->getValueFromTag('site')),
//'companyProfile'=>$dom->getValueFromTag('URL3'),
//'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyInfoActionnaires'=>trim($dom->getValueFromTag('site_investisseur')),
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>trim($dom->getValueFromTag('miseajour')),
'pressReleaseTitle'=>trim($dom->getValueFromTag('titre')),
'pressReleaseText'=>trim(strtr(html_entity_decode(strip_tags($dom->getValueFromTag('contenu'))),array('&rsquo;'=>''))),
'pressReleaseHtml'=>trim($dom->getValueFromTag('contenu')),
'pressReleaseAttachments'=>trim($dom->getValueFromTag('pdf')),
//'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
/*'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('INDEX_THEME'),
'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$dom->getValueFromTag('INDEX_LANGUAGE'),
*/
'indexQuoteInd'=>trim($dom->getValueFromTag('indice')),
'indexSector'=>trim($dom->getValueFromTag('secteur')),
'indexMarketPlace'=>trim($dom->getValueFromTag('marche_cotation')),
'source'=>'A',
'companyBloomberg'=>trim($dom->getValueFromTag('code_bloomberg')),
'companyMnemo'=>trim($dom->getValueFromTag('mnemo')),
'companyNbTitles'=>trim($dom->getValueFromTag('nb_de_titres')),
'companyFootsie'=>trim($dom->getValueFromTag('footsie')),
);
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
}
unset($dom);
}
} }
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux ActusNews...".EOL;
/** /**
** INTEGRATION DES COMMUNIQUES "DIRELEASE" ** INTEGRATION DES COMMUNIQUES "DIRELEASE"
**/ **/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux DiRelease...".EOL; /*echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux DiRelease...".EOL;
$tabFichier=array(); $tabFichier=array();
$dh = opendir(DIRELEASE_LOCAL_DIR); $dh = opendir(DIRELEASE_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) { while (false !== ($filename = readdir($dh))) {
@ -210,17 +276,10 @@ while (false !== ($filename = readdir($dh))) {
/** @todo Pour DiRelease, Ne pas utiliser le parser XML mais uniquement des expr. régulière car XML de merde. /** @todo Pour DiRelease, Ne pas utiliser le parser XML mais uniquement des expr. régulière car XML de merde.
** Prendre tous les ISIN et rechercher le SIREN. ** Prendre tous les ISIN et rechercher le SIREN.
**/ **
foreach ($tabFichier as $k => $nomFichier) { foreach ($tabFichier as $k => $nomFichier) {
$strTmp=file_get_contents(DIRELEASE_LOCAL_DIR.$nomFichier); $strTmp=file_get_contents(DIRELEASE_LOCAL_DIR.$nomFichier);
/*$strTmp=preg_replace('/\s+/is',' ', $strTmp);
$fp=fopen(DIRELEASE_LOCAL_DIR.'new_'.$nomFichier, 'w');
fwrite($fp, $strTmp);
fclose($fp);
$tabTmp=file(DIRELEASE_LOCAL_DIR.'new_'.$nomFichier);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
*/
if (stripos($strTmp, 'ISO-8859-1')>0) $encoding='ISO-8859-1'; if (stripos($strTmp, 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($strTmp, 'UTF-8')>0) $encoding='UTF-8'; elseif (stripos($strTmp, 'UTF-8')>0) $encoding='UTF-8';
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding non géré !".EOL); else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding non géré !".EOL);
@ -282,13 +341,6 @@ foreach ($tabFichier as $k => $nomFichier) {
'pressReleaseText'=>trim(strtr(html_entity_decode(strip_tags($contenu)),array('&rsquo;'=>''))), 'pressReleaseText'=>trim(strtr(html_entity_decode(strip_tags($contenu)),array('&rsquo;'=>''))),
'pressReleaseHtml'=>$contenu, 'pressReleaseHtml'=>$contenu,
'pressReleaseAttachments'=>$pdf, 'pressReleaseAttachments'=>$pdf,
/*
'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('INDEX_THEME'),
'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$dom->getValueFromTag('INDEX_LANGUAGE'),
*/
'indexQuoteInd'=>$indice, 'indexQuoteInd'=>$indice,
'indexSector'=>$secteur, 'indexSector'=>$secteur,
'indexMarketPlace'=>$marche_cotation, 'indexMarketPlace'=>$marche_cotation,
@ -305,215 +357,156 @@ foreach ($tabFichier as $k => $nomFichier) {
die(); die();
} elseif ($iDb->getLastErrorNum()<>1062) { } elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL; echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbDiRel++;
} }
unset($dom); unset($dom);
} }
} }
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux DiRelease...".EOL; $message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbDiRel communiqués DiRelease.".EOL;
echo $message;
$strMessage.=$message;
*/
/** /**
** INTEGRATION DES COMMUNIQUES "BUSINESSWIRE" ** INTEGRATION DES COMMUNIQUES "BUSINESSWIRE"
**/ **/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux BusinessWire...".EOL; if ($doBusin || $doAll) {
$tabFichier=array(); echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux BusinessWire...".EOL;
$dh = opendir(BUSINESSWIRE_LOCAL_DIR); $tabFichier=array();
while (false !== ($filename = readdir($dh))) { $dh = opendir(BUSINESSWIRE_LOCAL_DIR);
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml') while (false !== ($filename = readdir($dh))) {
$tabFichier[] = $filename; if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
} $tabFichier[] = $filename;
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(BUSINESSWIRE_LOCAL_DIR.$nomFichier);
$strTmp=implode("\n", $tabTmp);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local ".BUSINESSWIRE_LOCAL_DIR."$nomFichier inexistant !".EOL);
/*if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
elseif (stripos($tabTmp[0], '<?xml version = \'1.0\'?>')) $encoding='?';
// <?xml version = '1.0'?>
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré pour le fichier ".BUSINESSWIRE_LOCAL_DIR."$nomFichier !".EOL);*/
/*<DateAndTime>20070906T190800+0000</DateAndTime>
<NewsService FormalName="Business Wire"/>
<NewsProduct FormalName="BUSINESS WIRE"/>
</NewsEnvelope>
<NewsItem>
<Identification>
<NewsIdentifier>
<ProviderId>businesswire.com</ProviderId>
<DateId>20010714</DateId>
<>20070906006073</NewsItemId>
<RevisionId PreviousRevision="0" Update="N">1</RevisionId>
<PublicIdentifier>urn:newsml:businesswire.com:20010714:20070906006073:1</PublicIdentifier>
</NewsIdentifier>
</Identification>
<NewsManagement>
<NewsItemType FormalName="News"/>
<FirstCreated>20070906T190800+0000</FirstCreated>
<ThisRevisionCreated>20070906T190800+0000</ThisRevisionCreated>
<Status FormalName="Usable"/>
<AssociatedWith NewsItem="businesswire.com:20010714:242009"/>
</NewsManagement>
<NewsComponent>
<BasisForChoice Rank="1">./NewsComponent/DescriptiveMetadata/Language</BasisForChoice>
<NewsLines>
<CopyrightLine>Copyright Business Wire 2007</CopyrightLine>
</NewsLines>
<AdministrativeMetadata>
<Source>
<Party FormalName="CIT Group Inc."/>
</Source>
<Contributor>
<Comment FormalName="BWoffices">NY</Comment>
<Party FormalName="DB" Scheme="BWEditor"/>
</Contributor>
</AdministrativeMetadata>
<DescriptiveMetadata>
<Language FormalName="fr"/>
<Genre FormalName="Release"/>
</DescriptiveMetadata>
<Metadata>
<MetadataType FormalName="BWKeywords"/>
<Property FormalName="BWCountryKeywords" Value="United States"/>
<Property FormalName="BWRegionKeywords" Value="Europe"/>
<Property FormalName="BWRegionKeywords" Value="North America"/>
<Property FormalName="BWIndustryKeywords" Value="Manufacturing"/>
<Property FormalName="BWIndustryKeywords" Value="Aerospace"/>
<Property FormalName="BWCategoryKeywords" Value="Product/Service"/>
<Property FormalName="BWIndustryKeywords" Value="Professional Services"/>
<Property FormalName="BWIndustryKeywords" Value="Finance"/>
<Property FormalName="BWStateKeywords" Value="New York"/>
<Property FormalName="BWCountryKeywords" Value="Ireland"/>
</Metadata>
<Metadata>
<MetadataType FormalName="Securities Identifier"/>
<Property FormalName="" Value="CIT"/>
<Property FormalName="Exchange" Value="NYSE"/>
<Property FormalName="ISIN" Value="US1255811085"/>
<Property FormalName="SlugLine Display Order" Value="1"/>
</Metadata>
<NewsComponent>
<BasisForChoice Rank="1">./NewsComponent/Role</BasisForChoice>
<NewsLines>
<>CIT consolide son engagement envers l'économie irlandaise et agrandit son centre opérationnel de Dublin</HeadLine>*/
$dom = @new DomDocument2();
$dom->load(BUSINESSWIRE_LOCAL_DIR.$nomFichier);
$pressReleaseId=$dom->getValueFromTag('NewsItemId');
preg_match('/<Property FormalName="ISIN" Value="(.*)"\/>/i',$strTmp,$matches);
$isin=@$matches[1];
preg_match('/<Property FormalName="Exchange" Value="(.*)"\/>/i',$strTmp,$matches);
$exchange=@$matches[1];
preg_match('/<Property FormalName="Ticker Symbol" Value="(.*)"\/>/i',$strTmp,$matches);
$mnemo=@$matches[1];
preg_match('/<NewsLineType FormalName="ClickThru URL"(?:.*)<NewsLineText>(.*)<\/NewsLineText>/isU',$strTmp,$matches);
$siteWeb=@$matches[1];
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Logo"\/>(?:.*)<ContentItem Duid="(?:.*)" Href="(.*)">(?:.*)<\/NewsComponent>/isU',$strTmp,$matches);
$logo=urldecode(@$matches[1]);
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Body"\/>(?:.*)<ContentItem (?:.*)<Format FormalName="XHTML"\/>(?:.*)<DataContent>(.*)<\/DataContent>/isU',$strTmp,$matches);
$bodyHtml=utf8_decode(@$matches[1]);
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Body"\/>(?:.*)<ContentItem (?:.*)<Format FormalName="BW-Text"\/>(?:.*)<DataContent>(.*)<\/DataContent>/isU',$strTmp,$matches);
$bodyTxt=utf8_decode(@$matches[1]);
preg_match_all('/<Property FormalName="BWIndustryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$industry=@implode(';',@$matches[1]);
preg_match_all('/<Property FormalName="BWCategoryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$category=@implode(';',@$matches[1]);
preg_match_all('/<Property FormalName="BWCountryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$country=@implode(';',@$matches[1]);
preg_match('/<Language FormalName="(.*)"\/>/i',$strTmp,$matches);
$language=@$matches[1];
$tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>$dom->getValueFromTag('SlugLine'),
'companyIsin'=>$isin,
'companyMnemo'=>$mnemo,
'companyWebSite'=>$siteWeb,
'companyLogoUrl'=>$logo,
/*'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'),
'companyProfile'=>$dom->getValueFromTag('URL3'),
'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'),*/
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>substr(str_replace('T','',$dom->getValueFromTag('DateAndTime')),0,14),// 20070906T190800+0000
'pressReleaseTitle'=>$dom->getValueFromTag('HeadLine'),
'pressReleaseText'=>$bodyTxt,
'pressReleaseHtml'=>$bodyHtml,
'indexMarketPlace'=>$exchange,
'indexTheme'=>$category,
'indexSector'=>$industry,
'indexCountry'=>$country,
'indexLanguage'=>$language,
/*
'pressReleaseAttachments'=>$dom->getValueFromTag('ATTACHMENTS_URL1'),
'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),*/
'source'=>'B',
);
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
} }
unset($dom);
}
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux BusinessWire.".EOL;
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(BUSINESSWIRE_LOCAL_DIR.$nomFichier);
$strTmp=implode("\n", $tabTmp);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local ".BUSINESSWIRE_LOCAL_DIR."$nomFichier inexistant !".EOL);
/** /*if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
** INTEGRATION DES COMMUNIQUES "LES ECHOS" elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
**/ elseif (stripos($tabTmp[0], '<?xml version = \'1.0\'?>')) $encoding='?';
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Les Echos...".EOL; // <?xml version = '1.0'?>
$tabFichier=array(); else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré pour le fichier ".BUSINESSWIRE_LOCAL_DIR."$nomFichier !".EOL);*/
$dh = opendir(LESECHOS_LOCAL_DIR.'syndication/');
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
foreach ($tabFichier as $k => $nomFichier) { /*<DateAndTime>20070906T190800+0000</DateAndTime>
$tabTmp=file(LESECHOS_LOCAL_DIR.'syndication/'.$nomFichier); <NewsService FormalName="Business Wire"/>
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL); <NewsProduct FormalName="BUSINESS WIRE"/>
</NewsEnvelope>
<NewsItem>
<Identification>
<NewsIdentifier>
<ProviderId>businesswire.com</ProviderId>
<DateId>20010714</DateId>
<>20070906006073</NewsItemId>
<RevisionId PreviousRevision="0" Update="N">1</RevisionId>
<PublicIdentifier>urn:newsml:businesswire.com:20010714:20070906006073:1</PublicIdentifier>
</NewsIdentifier>
</Identification>
<NewsManagement>
<NewsItemType FormalName="News"/>
<FirstCreated>20070906T190800+0000</FirstCreated>
<ThisRevisionCreated>20070906T190800+0000</ThisRevisionCreated>
<Status FormalName="Usable"/>
<AssociatedWith NewsItem="businesswire.com:20010714:242009"/>
</NewsManagement>
<NewsComponent>
<BasisForChoice Rank="1">./NewsComponent/DescriptiveMetadata/Language</BasisForChoice>
<NewsLines>
<CopyrightLine>Copyright Business Wire 2007</CopyrightLine>
</NewsLines>
<AdministrativeMetadata>
<Source>
<Party FormalName="CIT Group Inc."/>
</Source>
<Contributor>
<Comment FormalName="BWoffices">NY</Comment>
<Party FormalName="DB" Scheme="BWEditor"/>
</Contributor>
</AdministrativeMetadata>
<DescriptiveMetadata>
<Language FormalName="fr"/>
<Genre FormalName="Release"/>
</DescriptiveMetadata>
<Metadata>
<MetadataType FormalName="BWKeywords"/>
<Property FormalName="BWCountryKeywords" Value="United States"/>
<Property FormalName="BWRegionKeywords" Value="Europe"/>
<Property FormalName="BWRegionKeywords" Value="North America"/>
<Property FormalName="BWIndustryKeywords" Value="Manufacturing"/>
<Property FormalName="BWIndustryKeywords" Value="Aerospace"/>
<Property FormalName="BWCategoryKeywords" Value="Product/Service"/>
<Property FormalName="BWIndustryKeywords" Value="Professional Services"/>
<Property FormalName="BWIndustryKeywords" Value="Finance"/>
<Property FormalName="BWStateKeywords" Value="New York"/>
<Property FormalName="BWCountryKeywords" Value="Ireland"/>
</Metadata>
<Metadata>
<MetadataType FormalName="Securities Identifier"/>
<Property FormalName="" Value="CIT"/>
<Property FormalName="Exchange" Value="NYSE"/>
<Property FormalName="ISIN" Value="US1255811085"/>
<Property FormalName="SlugLine Display Order" Value="1"/>
</Metadata>
<NewsComponent>
<BasisForChoice Rank="1">./NewsComponent/Role</BasisForChoice>
<NewsLines>
<>CIT consolide son engagement envers l'économie irlandaise et agrandit son centre opérationnel de Dublin</HeadLine>*/
$dom = @new DomDocument2();
$dom->load(BUSINESSWIRE_LOCAL_DIR.$nomFichier);
$pressReleaseId=$dom->getValueFromTag('NewsItemId');
preg_match('/<Property FormalName="ISIN" Value="(.*)"\/>/i',$strTmp,$matches);
$isin=@$matches[1];
preg_match('/<Property FormalName="Exchange" Value="(.*)"\/>/i',$strTmp,$matches);
$exchange=@$matches[1];
preg_match('/<Property FormalName="Ticker Symbol" Value="(.*)"\/>/i',$strTmp,$matches);
$mnemo=@$matches[1];
preg_match('/<NewsLineType FormalName="ClickThru URL"(?:.*)<NewsLineText>(.*)<\/NewsLineText>/isU',$strTmp,$matches);
$siteWeb=@$matches[1];
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Logo"\/>(?:.*)<ContentItem Duid="(?:.*)" Href="(.*)">(?:.*)<\/NewsComponent>/isU',$strTmp,$matches);
$logo=urldecode(@$matches[1]);
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Body"\/>(?:.*)<ContentItem (?:.*)<Format FormalName="XHTML"\/>(?:.*)<DataContent>(.*)<\/DataContent>/isU',$strTmp,$matches);
$bodyHtml=utf8_decode(@$matches[1]);
preg_match('/<NewsComponent>(?:.*)<Role FormalName="Body"\/>(?:.*)<ContentItem (?:.*)<Format FormalName="BW-Text"\/>(?:.*)<DataContent>(.*)<\/DataContent>/isU',$strTmp,$matches);
$bodyTxt=utf8_decode(@$matches[1]);
preg_match_all('/<Property FormalName="BWIndustryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$industry=@implode(';',@$matches[1]);
preg_match_all('/<Property FormalName="BWCategoryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$category=@implode(';',@$matches[1]);
preg_match_all('/<Property FormalName="BWCountryKeywords" Value="(.*)"\/>/iU',$strTmp,$matches);
$country=@implode(';',@$matches[1]);
preg_match('/<Language FormalName="(.*)"\/>/i',$strTmp,$matches);
$language=@$matches[1];
if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1'; $tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8'; 'companyName'=>$dom->getValueFromTag('SlugLine'),
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL); 'companyIsin'=>$isin,
'companyMnemo'=>$mnemo,
$dom = @new DomDocument2(); 'companyWebSite'=>$siteWeb,
$dom->load(LESECHOS_LOCAL_DIR.'syndication/'.$nomFichier); 'companyLogoUrl'=>$logo,
$pressReleaseId=$dom->getValueFromTag('CODE'); /*'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
$language=strtoupper($dom->getValueFromTag('PRESS_RELEASE_LANGUAGE')); 'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'),
$tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'), 'companyProfile'=>$dom->getValueFromTag('URL3'),
'companyName'=>$dom->getValueFromTag('COMPANY_NAME'), 'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
'companyIsin'=>$dom->getValueFromTag('COMPANY_ISIN'), 'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'),*/
//'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'), 'pressReleaseId'=>$pressReleaseId,
//'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'), 'pressReleaseDate'=>substr(str_replace('T','',$dom->getValueFromTag('DateAndTime')),0,14),// 20070906T190800+0000
//'companyLogoUrl'=>$dom->getValueFromTag('URL1'), 'pressReleaseTitle'=>$dom->getValueFromTag('HeadLine'),
//'companyWebSite'=>$dom->getValueFromTag('URL2'), 'pressReleaseText'=>$bodyTxt,
//'companyProfile'=>$dom->getValueFromTag('URL3'), 'pressReleaseHtml'=>$bodyHtml,
//'companyAnnualReport'=>$dom->getValueFromTag('URL4'), 'indexMarketPlace'=>$exchange,
//'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'), 'indexTheme'=>$category,
'pressReleaseId'=>$pressReleaseId, 'indexSector'=>$industry,
'pressReleaseDate'=>WDate::dateT('d/m/Y', 'Y-m-d', $dom->getValueFromTag('PRESS_RELEASE_PUBDATE')).' '. 'indexCountry'=>$country,
$dom->getValueFromTag('PRESS_RELEASE_PUBTIME'), 'indexLanguage'=>$language,
'pressReleaseTitle'=>$dom->getValueFromTag('PRESS_RELEASE_TITLE'), /*
'pressReleaseText'=>$dom->getValueFromTag('TEXT_FORMAT'), 'pressReleaseAttachments'=>$dom->getValueFromTag('ATTACHMENTS_URL1'),
'pressReleaseHtml'=>$dom->getValueFromTag('HTML_FORMAT'), 'pressReleaseUrl'=>$dom->getValueFromTag('PRESS_RELEASE_URL_CNG'),
'pressReleaseAttachments'=>$dom->getValueFromTag('LINK_ORIGINAL'), 'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'pressReleaseUrl'=>$dom->getValueFromTag('LINK'), 'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),*/
//'indexAll'=>$dom->getValueFromTag('INDEX_ALL'), 'source'=>'B',
'indexTheme'=>$dom->getValueFromTag('PRESS_RELEASE_THEME'), );
//'indexSector'=>$dom->getValueFromTag('INDEX_SECTOR'),
//'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$language,
//'indexMarketPlace'=>$dom->getValueFromTag('INDEX_MARKET_PLACE'),
//'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),
'source'=>'E',
);
if ($language=='FR') {
$ret=$iDb->insert('articles', $tabInsert); $ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) { if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL; echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
@ -521,12 +514,86 @@ foreach ($tabFichier as $k => $nomFichier) {
die(); die();
} elseif ($iDb->getLastErrorNum()<>1062) { } elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL; echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbBusin++;
} }
} else unset($dom);
echo date ('Y/m/d - H:i:s')." - Langue du communiqué non intégrée en base ($language).".EOL; }
unset($dom); $message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbBusin communiqués BusinessWire.".EOL;
echo $message;
$strMessage.=$message;
} }
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux Les Echos.".EOL;
/**
** INTEGRATION DES COMMUNIQUES "LES ECHOS"
**/
if ($doEchos || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Les Echos...".EOL;
$tabFichier=array();
$dh = opendir(LESECHOS_LOCAL_DIR.'syndication/');
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(LESECHOS_LOCAL_DIR.'syndication/'.$nomFichier);
if (!$tabTmp) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
if (stripos($tabTmp[0], 'ISO-8859-1')>0) $encoding='ISO-8859-1';
elseif (stripos($tabTmp[0], 'UTF-8')>0) $encoding='UTF-8';
else die(date ('Y/m/d - H:i:s')." - ERREUR : Encoding ".$tabTmp[0]." non géré !".EOL);
$dom = @new DomDocument2();
$dom->load(LESECHOS_LOCAL_DIR.'syndication/'.$nomFichier);
$pressReleaseId=$dom->getValueFromTag('CODE');
$language=strtoupper($dom->getValueFromTag('PRESS_RELEASE_LANGUAGE'));
$tabInsert=array( //'companyId'=>$dom->getValueFromTag('COMPANY_ID'),
'companyName'=>$dom->getValueFromTag('COMPANY_NAME'),
'companyIsin'=>$dom->getValueFromTag('COMPANY_ISIN'),
//'companySiren'=>$dom->getValueFromTag('COMPANY_SIREN'),
//'companyRic'=>$dom->getValueFromTag('COMPANY_RIC'),
//'companyLogoUrl'=>$dom->getValueFromTag('URL1'),
//'companyWebSite'=>$dom->getValueFromTag('URL2'),
//'companyProfile'=>$dom->getValueFromTag('URL3'),
//'companyAnnualReport'=>$dom->getValueFromTag('URL4'),
//'companyInfoActionnaires'=>$dom->getValueFromTag('URL5'),
'pressReleaseId'=>$pressReleaseId,
'pressReleaseDate'=>WDate::dateT('d/m/Y', 'Y-m-d', $dom->getValueFromTag('PRESS_RELEASE_PUBDATE')).' '.
$dom->getValueFromTag('PRESS_RELEASE_PUBTIME'),
'pressReleaseTitle'=>$dom->getValueFromTag('PRESS_RELEASE_TITLE'),
'pressReleaseText'=>$dom->getValueFromTag('TEXT_FORMAT'),
'pressReleaseHtml'=>$dom->getValueFromTag('HTML_FORMAT'),
'pressReleaseAttachments'=>$dom->getValueFromTag('LINK_ORIGINAL'),
'pressReleaseUrl'=>$dom->getValueFromTag('LINK'),
//'indexAll'=>$dom->getValueFromTag('INDEX_ALL'),
'indexTheme'=>$dom->getValueFromTag('PRESS_RELEASE_THEME'),
//'indexSector'=>$dom->getValueFromTag('INDEX_SECTOR'),
//'indexCountry'=>$dom->getValueFromTag('INDEX_COUNTRY'),
'indexLanguage'=>$language,
//'indexMarketPlace'=>$dom->getValueFromTag('INDEX_MARKET_PLACE'),
//'indexQuoteInd'=>$dom->getValueFromTag('INDEX_QUOTE_INDICATOR'),
'source'=>'E',
);
if ($language=='FR') {
$ret=$iDb->insert('articles', $tabInsert);
if (!$ret && $iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ". $iDb->getLastError() . EOL;
print_r($tabInsert);
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbEchos++;
}
} else
echo date ('Y/m/d - H:i:s')." - Langue du communiqué non intégrée en base ($language).".EOL;
unset($dom);
}
$message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbEchos communiqués Les Echos.".EOL;
echo $message;
$strMessage.=$message;
}
sendMail('webmaster@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', "Intégration des informations réglementées", $strMessage);
die(); die();

View File

@ -20,12 +20,13 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Chargement du/des flux en provenance de l'INPI (license RNCS IMR). Chargement du/des flux en provenance de l'INPI (license RNCS IMR).
Options : Options :
-d Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-l:XXXX Reprendre à partir de la ligne XXXX -l:XXXX Reprendre à partir de la ligne XXXX
-s:AAAAMMJJ Fichier stock de tous les établissements actifs avec jour de l'extraction du stock -s Fichier stock de tous les établissements actifs (préciser le jour de l'extraction avec -f)
-f:AAAAMMJJ Forcer la dateFlux de ce chargement -f:AAAAMMJJ Forcer la dateFlux de ce chargement
-r Ne pas exécuter en réel -r Ne pas exécuter en réel
-j Ne pas se connecter au serveur FTP d'Extelia (INPI/IMR via Infogreffe) -j Ne pas se connecter au serveur FTP d'Extelia (INPI/IMR via Infogreffe)
-m Mettre à jour les siren des dirigeants PM
";/* ";/*
-p Chargement d'une ancienne notice (pas de modification de la zone ACTIF chargement des zones différentes) -p Chargement d'une ancienne notice (pas de modification de la zone ACTIF chargement des zones différentes)
-u Ne pas mettre à jour la table identite de l'insee -u Ne pas mettre à jour la table identite de l'insee
@ -38,13 +39,14 @@ $iRncs=new MRncs();
//$iWs=new WsEntreprise(); //$iWs=new WsEntreprise();
$nbSiretInvalides=0; $nbSiretInvalides=0;
$modeDebug=false; // Par défaut, pas de message de debug $modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP $ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
$stock=0; // Stock IMR complet = 1 ! $stock=0; // Stock IMR complet = 1 !
$actifIni=1; // L'état actif est 1 sinon 11 si stock ! $actifIni=1; // L'état actif est 1 sinon 11 si stock !
$jourStock=0; // Jour du stock SSAMMJJ $jourStock=0; // Jour du stock SSAMMJJ
$env=''; // Suffix des tables de chargements (en prod '' sinon '2', etc... Vérifier que les tables existes) $env=''; // Suffix des tables de chargements (en prod '' sinon '2', etc... Vérifier que les tables existes)
$strMailInfo=''; // Initialisation du contenu du message d'information $strMailInfo=''; // Initialisation du contenu du message d'information
$doMajSirenDir=false; // Mettre à jour les siren des dirigeants
$tabFichiers=array(); // Tableau des Fichiers téléchargés sur le FTP $tabFichiers=array(); // Tableau des Fichiers téléchargés sur le FTP
$tabFichier=array(); // Fichiers locaux en attente de traitement $tabFichier=array(); // Fichiers locaux en attente de traitement
@ -58,12 +60,13 @@ $argv=$_SERVER['argv'];
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) { switch (substr($argv[$i],1,1)) {
case 'd': $modeDebug=true; break; case 'v': $modeDebug=true; break;
case 'j': $ftpStep=false; break; case 'j': $ftpStep=false; break;
case 'l': $numReprise=substr($argv[$i],3,strlen($argv[$i])-3); break; case 'l': $numReprise=substr($argv[$i],3,strlen($argv[$i])-3); break;
case 's': $stock=1; $actifIni=11; case 's': $stock=1; $actifIni=11;
case 'f': $jourStock=substr($argv[$i],3,8); break; case 'f': $jourStock=substr($argv[$i],3,8); break;
case 'r': $env='2'; break; case 'r': $env='2'; break;
case 'm': $doMajSirenDir=true; break;
case '-': case '-':
case '?': die($strInfoScript); break; case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break; default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
@ -171,7 +174,7 @@ if (count($tabFichLigneCmd)==0) {
if (count($tabFichier)==0) if (count($tabFichier)==0)
$tabFichier=$tabFichLigneCmd; $tabFichier=$tabFichLigneCmd;
if (count($tabFichier)==0 && count($tabFichLigneCmd)==0) if (count($tabFichier)==0 && count($tabFichLigneCmd)==0 && !$doMajSirenDir)
die(date ('Y/m/d - H:i:s') . " - Aucun fichier RNCS IMR de l'INPI à traiter (--help pour plus d'options).".EOL); die(date ('Y/m/d - H:i:s') . " - Aucun fichier RNCS IMR de l'INPI à traiter (--help pour plus d'options).".EOL);
elseif (!$ftpStep) elseif (!$ftpStep)
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux INPI".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux INPI".EOL;
@ -233,7 +236,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$dateFichierNom=0;*/ $dateFichierNom=0;*/
$dateFichierNom=substr($fichier,0,8)*1; $dateFichierNom=substr($fichier,0,8)*1;
if ($jourStock>0 && $stock==0) $dateFlux=$jourStock; if ($jourStock>0/* && $stock==0*/) $dateFlux=$jourStock;
elseif ($dateFichierMod==$dateFichierNom) $dateFlux=$dateFichierMod; elseif ($dateFichierMod==$dateFichierNom) $dateFlux=$dateFichierMod;
elseif ($dateFichierMod<>0 && $dateFichierNom==0) $dateFlux=$dateFichierMod; elseif ($dateFichierMod<>0 && $dateFichierNom==0) $dateFlux=$dateFichierMod;
else { else {
@ -250,6 +253,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbLignes=$nbLignes00=$nbLignes01=$nbLignes02=$nbLignes02p=$nbLignes03=$nbLignes04=$nbLignes05=$nbLignes06=0; $nbLignes=$nbLignes00=$nbLignes01=$nbLignes02=$nbLignes02p=$nbLignes03=$nbLignes04=$nbLignes05=$nbLignes06=0;
$tabEntete=array(); $tabEntete=array();
for($i=0; $i<7; $i++) $nb[$i]=$nbInsert[$i]=$nbUpdate[$i]=0; for($i=0; $i<7; $i++) $nb[$i]=$nbInsert[$i]=$nbUpdate[$i]=0;
$nb[30]=$nbInsert[30]=$nbUpdate[30]=0;
$nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0; $nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0;
$a = fgets($fp, 4096); $a = fgets($fp, 4096);
if (strlen($a)<800) { if (strlen($a)<800) {
@ -367,7 +371,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbEtab[$etab['actif']]=$etab['nb']; $nbEtab[$etab['actif']]=$etab['nb'];
$ret=$iDb->update('rncs_etab'.$env, array('actif'=>0,'dateFermeture'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true); $ret=$iDb->update('rncs_etab'.$env, array('actif'=>0,'dateFermeture'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true);
if ($modeDebug) { if ($modeDebug) {
echo date ('Y/m/d - H:i:s') . " - Les établissements du siren $sirenPre non transmis ont été passés à inactifs (".$nbEtab[10]." déjà inactifs et ".$nbEtab[11]." actifs).".EOL; echo date ('Y/m/d - H:i:s') . " - Les établissements du siren $sirenPre non transmis ont été passés à inactifs (".(@$nbEtab[10]*1)." déjà inactifs et ".(@$nbEtab[11]*1)." actifs).".EOL;
print_r($nbEtab); print_r($nbEtab);
} }
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun établissement pour le siren $sirenPre en base précédement !".EOL; } elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun établissement pour le siren $sirenPre en base précédement !".EOL;
@ -380,7 +384,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbEtab[$etab['actif']]=$etab['nb']; $nbEtab[$etab['actif']]=$etab['nb'];
$ret=$iDb->update('rncs_dirigeants'.$env, array('actif'=>0,'dateFin'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true); $ret=$iDb->update('rncs_dirigeants'.$env, array('actif'=>0,'dateFin'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true);
if ($modeDebug) { if ($modeDebug) {
echo date ('Y/m/d - H:i:s') . " - Les dirigeants du siren $sirenPre non transmis ont été passés à inactifs (".$nbEtab[10]." déjà inactifs et ".$nbEtab[11]." actifs).".EOL; echo date ('Y/m/d - H:i:s') . " - Les dirigeants du siren $sirenPre non transmis ont été passés à inactifs (".(@$nbEtab[10]*1)." déjà inactifs et ".(@$nbEtab[11]*1)." actifs).".EOL;
print_r($nbEtab); print_r($nbEtab);
} }
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun dirigeants pour le siren $sirenPre en base précédement !".EOL; } elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun dirigeants pour le siren $sirenPre en base précédement !".EOL;
@ -399,7 +403,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$ret=$iDb->update('rncs_jugements'.$env, array('actif'=>1), "actif>9 AND siren=$sirenPre", false, 0, true); $ret=$iDb->update('rncs_jugements'.$env, array('actif'=>1), "actif>9 AND siren=$sirenPre", false, 0, true);
if ($modeDebug) { if ($modeDebug) {
echo date ('Y/m/d - H:i:s') . " - Les jugements du siren $sirenPre non transmis ont été passés à inactifs (".$nbEtab[10]." déjà inactifs et ".$nbEtab[11]." actifs).".EOL; echo date ('Y/m/d - H:i:s') . " - Les jugements du siren $sirenPre non transmis ont été passés à inactifs (".(@$nbEtab[10]*1)." déjà inactifs et ".(@$nbEtab[11]*1)." actifs).".EOL;
print_r($nbEtab); print_r($nbEtab);
} }
} elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun jugements pour le siren $sirenPre en base précédement !".EOL; } elseif ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Aucun jugements pour le siren $sirenPre en base précédement !".EOL;
@ -489,10 +493,13 @@ foreach ($tabFichier as $iFic=>$fichier)
'valeur'=>$value, 'valeur'=>$value,
'flux'=>$dateFlux)); 'flux'=>$dateFlux));
} }
} elseif ($stock) {
echo date('Y/m/d - H:i:s'). " - Fichier n°$iFic, $fichier : $nbLignes lignes, $siren inconnu, $numGreffe $numRC2 présent dans le stock IMR ($raisonSociale $nom $prenom) !".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Fichier n°$iFic, $fichier : $nbLignes lignes, $siren inconnu, $numGreffe $numRC2 présent dans le stock IMR ($raisonSociale $nom $prenom) !".EOL;
} }
/** Ce siren fait parti des demandes de réémission de dossier IMR faites par S&D **/ /** Ce siren fait parti des demandes de réémission de dossier IMR faites par S&D **/
if (isset($tabDemIMR[$siren])) { if (isset($tabDemIMR[$siren]) && !$stock) {
$iDb->update('rncs_demandes'.$env, array( 'dateReponse'=>$dateInsert, $iDb->update('rncs_demandes'.$env, array( 'dateReponse'=>$dateInsert,
'flux'=>$dateFlux), "siren=$siren AND dateReponse IS NULL", false, 0, true); 'flux'=>$dateFlux), "siren=$siren AND dateReponse IS NULL", false, 0, true);
echo date('Y/m/d - H:i:s'). " - Dossier réémis sur $siren le ".$tabDemIMR[$siren]." reçu dans le flux IMR du $dateFlux.".EOL; echo date('Y/m/d - H:i:s'). " - Dossier réémis sur $siren le ".$tabDemIMR[$siren]." reçu dans le flux IMR du $dateFlux.".EOL;
@ -696,6 +703,7 @@ foreach ($tabFichier as $iFic=>$fichier)
print_r($tabInsert); print_r($tabInsert);
echo mysql_errno().' : '.mysql_error().EOL;*/ echo mysql_errno().' : '.mysql_error().EOL;*/
$nbInsert[3]++; $nbInsert[3]++;
if ($typeDir=='PM') $nbInsert[30]++;
//if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL; //if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - Insertion du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL;
} else { } else {
$iDb->update($table, $tabUpdate, "siren=$siren AND ". $iDb->update($table, $tabUpdate, "siren=$siren AND ".
@ -706,6 +714,7 @@ foreach ($tabFichier as $iFic=>$fichier)
"naissance_date='". $tabUpdate['naissance_date'] ."' AND ". "naissance_date='". $tabUpdate['naissance_date'] ."' AND ".
"fonction_code=". $iRncs->getCodFctBodaccFctDir($codeFonction), false, 0, true); "fonction_code=". $iRncs->getCodFctBodaccFctDir($codeFonction), false, 0, true);
$nbUpdate[3]++; $nbUpdate[3]++;
if ($typeDir=='PM') $nbUpdate[30]++;
//if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - MAJ du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL; //if ($modeDebug) echo date ('Y/m/d - H:i:s') . " - MAJ du dirigeant ". $tabUpdate['nom']." ".$tabUpdate['prenom'].", siren=$siren !".EOL;
} }
break; break;
@ -946,8 +955,11 @@ foreach ($tabFichier as $iFic=>$fichier)
$message.="/".$tabEntete['nbEntrep']; $message.="/".$tabEntete['nbEntrep'];
$message.=" (".$nbInsert[1]." ajouts et ".$nbUpdate[1]." modifs)".EOL; $message.=" (".$nbInsert[1]." ajouts et ".$nbUpdate[1]." modifs)".EOL;
$nbLignes30=$nbInsert[30]+$nbUpdate[30];
$message.=date('Y/m/d - H:i:s'). " - Lignes 02 : $nbLignes02 établissements actifs dont $nbLignes02p provisoires (".$nbInsert[2]." ajouts et ".$nbUpdate[2]." modifs)".EOL; $message.=date('Y/m/d - H:i:s'). " - Lignes 02 : $nbLignes02 établissements actifs dont $nbLignes02p provisoires (".$nbInsert[2]." ajouts et ".$nbUpdate[2]." modifs)".EOL;
$message.=date('Y/m/d - H:i:s'). " - Lignes 03 : $nbLignes03 dirigeants actifs (".$nbInsert[3]." ajouts et ".$nbUpdate[3]." modifs)".EOL; $message.=date('Y/m/d - H:i:s'). " - Lignes 03 : $nbLignes03 dirigeants actifs (".$nbInsert[3]." ajouts et ".$nbUpdate[3]." modifs)".EOL;
$message.=date('Y/m/d - H:i:s'). " - ...... dont $nbLignes30 dirigeants PM actifs (".$nbInsert[30]." ajouts et ".$nbUpdate[30]." modifs)".EOL;
$message.=date('Y/m/d - H:i:s'). " - Lignes 04 : $nbLignes04 jugements (".$nbInsert[4]." ajouts et ".$nbUpdate[4]." déjà en base)".EOL; $message.=date('Y/m/d - H:i:s'). " - Lignes 04 : $nbLignes04 jugements (".$nbInsert[4]." ajouts et ".$nbUpdate[4]." déjà en base)".EOL;
$message.=date('Y/m/d - H:i:s'). " - Lignes 05 : $nbLignes05 actes/évènements (".$nbInsert[5]." ajouts et ".$nbUpdate[5]." déjà en base)".EOL; $message.=date('Y/m/d - H:i:s'). " - Lignes 05 : $nbLignes05 actes/évènements (".$nbInsert[5]." ajouts et ".$nbUpdate[5]." déjà en base)".EOL;
$message.=date('Y/m/d - H:i:s'). " - Lignes 06 : $nbLignes06 EIRL (".$nbInsert[6]." ajouts et ".$nbUpdate[6]." déjà en base)".EOL; $message.=date('Y/m/d - H:i:s'). " - Lignes 06 : $nbLignes06 EIRL (".$nbInsert[6]." ajouts et ".$nbUpdate[6]." déjà en base)".EOL;
@ -990,7 +1002,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$ret=$iDb->query("UPDATE LOW_PRIORITY IGNORE rncs_dirigeants$env SET actif=0 WHERE actif>1"); $ret=$iDb->query("UPDATE LOW_PRIORITY IGNORE rncs_dirigeants$env SET actif=0 WHERE actif>1");
echo mysql_errno(); echo mysql_errno();
echo mysql_error(); echo mysql_error();
$ret=$iDb->query("DELETE LOW_PRIORITY FROM rncs_dirigeants$env WHERE actif>1"); $ret=$iDb->query("DELETE LOW_PRIORITY FROM rncs_dirigeants$env WHERE actif>1");
echo mysql_errno(); echo mysql_errno();
echo mysql_error(); echo mysql_error();
@ -1008,8 +1020,7 @@ foreach ($tabFichier as $iFic=>$fichier)
unlink(REP_TEMP.basename($fichier).'.lock'); unlink(REP_TEMP.basename($fichier).'.lock');
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement INPI IMR', $message); $doMajSirenDir=true;
//die();
} }
if ($stock) { if ($stock) {
@ -1048,6 +1059,58 @@ if ($stock) {
$iDb->query($sql, true); $iDb->query($sql, true);
} }
if ($doMajSirenDir) {
// Mise à jour des Administrations (BOAMP A, B ou MAPA)
echo date ('Y/m/d - H:i:s')." - Mise à jour des SIREN des Dirigeants PM...".EOL;
$nbSirened=0;
// Tableau RS>Siren
$tabRsSiren=array();
$tmp=$iDb->select('rncs_dirigeants', 'dirRS, adr_dep, dirSiren', "typeDir='PM' AND dirSiren>1000 AND dirRS<>'' GROUP BY dirRS", false, MYSQL_ASSOC);
foreach ($tmp as $nbId=>$tabTmp)
$tabRsSiren[trim($tabTmp['dirRS']).trim($tabTmp['adr_dep'])]=$tabTmp['dirSiren'];
echo date ('Y/m/d - H:i:s')." - La table RS/SIREN dirigeants PM RNCS contient $nbId lignes...".EOL;
$tmp=$iDb->select('rncs_dirigeants', 'id, dirRS, adr_dep, actif, siren, raisonSociale', "typeDir='PM' AND dirSiren<1000 AND dirRS<>'' ORDER BY dirRS, adr_dep", false, MYSQL_ASSOC);
$nbTmp=count($tmp);
foreach ($tmp as $iLot=>$tabTmp) {
$id=$tabTmp['id'];
$rs=trim($tabTmp['dirRS']);
$dep=trim($tabTmp['adr_dep']);
$sirenSte=$tabTmp['siren'];
$rsSte=$tabTmp['raisonSociale'];
$dirAct=$tabTmp['actif'];
if ($dirAct) $strAct='actif';
else $strAct='inactif';
//print_r($tabTmp);
if (isset($tabRsSiren[$rs.$dep])) {
$siren=$tabRsSiren[$rs.$dep];
if ($iDb->update('rncs_dirigeants', array('dirSiren'=>$siren), 'id='.$id, false,0,true)) {
$nbSirened++;
if ($modeDebug) echo date('Y/m/d - H:i:s'). " - $iLot/$nbTmp : Mise à jour de id=$id avec $siren pour $rs ($dep) dirigeant $strAct de $rsSte ($sirenSte)...".EOL;
$iDb->delete('bodacc_sirenage', "idTable='rncs_dirigeants' AND idAnn=$id",false,true);
} elseif (mysql_errno()==1062) {
//if ($modeDebug) echo date('Y/m/d - H:i:s'). " - $iLot/$nbTmp : Mise à jour impossible de id=$id avec $siren pour $rs dirigeant $strAct de $rsSte ($sirenSte)...".EOL;
/** @todo Vérifier pourquoi lent et doublon
$iDb->delete('bodacc_sirenage', "idTable='rncs_dirigeants' AND idAnn=$id",false,true);
*/
}
else
echo date('Y/m/d - H:i:s'). " - $iLot/$nbTmp : ERREUR SQL ".mysql_errno()." - ".mysql_error().EOL;
}
}
if (@$nbInsert[3]>0 && @$nbUpdate[3]>0) $strInfo=" sur ".$nbInsert[3]." ajouts et ".$nbUpdate[3]." modifs.";
else $strInfo="";
echo date ('Y/m/d - H:i:s')." - Mise à jour de $nbSirened SIREN de dirigeants RNCS".$strInfo.EOL;
if (!isset($message)) $message='';
$message.=date('Y/m/d - H:i:s') ." - Mise à jour de $nbSirened SIREN de dirigeants RNCS".$strInfo.EOL;
if (!$modeDebug) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement INPI IMR', $message);
die();
}
}
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement INPI IMR', $message);
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des flux RNCS IMR de l'INPI.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des flux RNCS IMR de l'INPI.".EOL;
die(); die();

View File

@ -21,16 +21,16 @@ define('RNCS_IMR_FTP_LOCALDIR', '/home/data/rncs/extelia/');
define('RNCS_IMR_BACKUP_DIR', '/home/data/rncs/imr/'); define('RNCS_IMR_BACKUP_DIR', '/home/data/rncs/imr/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS] $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Chargement du/des informations complémentaires en provenance des actes Infogreffe (license RNCS IMR). Chargement du/des informations complémentaires en provenance des actes Infogreffe (license RNCS IMR).
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-q Ne pas mettre à jour les listes d'évènements commandés ce jour -q Ne pas mettre à jour les listes d'évènements commandés ce jour
-b Ne pas mettre à jour les listes des nouveaux bilans PDF -b Ne pas mettre à jour les listes des nouveaux bilans PDF
-j Ne pas collecter les évènements INPI (annonces JAL Inpi) -j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ -s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ
Reprendre les actes INPI du AAAAMMJJ Reprendre les actes INPI du AAAAMMJJ
-i:XXX Reprendre les accès aux évènements Infogreffe à la ligne XXX -i:XXX Reprendre les accès aux évènements Infogreffe à la ligne XXX
"; ";
$iDb=new WDB(); $iDb=new WDB();
$iDbR=new WDB(''); $iDbR=new WDB('');
@ -43,14 +43,14 @@ $iGreffes=new MGreffes();
$nbInsert=$nbDeja=0; $nbInsert=$nbDeja=0;
$nbNatu=$nbDeci=0; $nbNatu=$nbDeci=0;
$modeDebug=false; // Par défaut, pas de message de debug $modeDebug=false; // Par défaut, pas de message de debug
$iReprise=false; // Reprendre les accès Infogreffe à la ligne d'évènenement nouveaux reçu XXX $iReprise=false; // Reprendre les accès Infogreffe à la ligne d'évènenement nouveaux reçu XXX
$message=''; // Initialisation du contenu du message d'information $message=''; // Initialisation du contenu du message d'information
$loadInpiLocal=true; // Par défaut on charge les évènements INPI (génération des annonces JAL) $loadInpiLocal=true; // Par défaut on charge les évènements INPI (génération des annonces JAL)
$jourStock=0; // Jour du stock SSAMMJJ (génération des annonces JAL à partir du ...) $jourStock=0; // Jour du stock SSAMMJJ (génération des annonces JAL à partir du ...)
$loadActesDuJour=true; // Par défaut on charge les listes d'évènements commandés ce jour par l'extranet $loadActesDuJour=true; // Par défaut on charge les listes d'évènements commandés ce jour par l'extranet
$loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles $loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -70,14 +70,14 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} else $tabFichLigneCmd[]=$argv[$i]; } else $tabFichLigneCmd[]=$argv[$i];
} }
echo date ('Y/m/d - H:i:s') . " - Début du traitement des évènements INPI".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement des évènements INPI".EOL;
$strDateFlux=''; $strDateFlux='';
if ($jourStock>0) { if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock); $dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock);
$strDateFlux=" AND dateFlux='$dateMaj' "; $strDateFlux=" AND dateFlux='$dateMaj' ";
$message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n"; $message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n";
echo date ('Y/m/d - H:i:s') . " - Forçage de l'accès aux évènements Infogreffe en date du $dateMaj...".EOL; echo date ('Y/m/d - H:i:s') . " - Forçage de l'accès aux évènements Infogreffe en date du $dateMaj...".EOL;
} }
// Date du dernier chargement INPI // Date du dernier chargement INPI
@ -92,7 +92,7 @@ echo "dateMaj='$dateMaj', nomFichier='$nomFichier', nbEvenAnn=$nbEvenAnn".EOL;
/* $iDb->update('rncs_chargements', array(''=>@$iEven*1), "nomFichier='$nomFichier'");*/ /* $iDb->update('rncs_chargements', array(''=>@$iEven*1), "nomFichier='$nomFichier'");*/
// Nombre d'évènements chargés // Nombre d'évènements chargés
echo "SELECT e.siren, e.codeInterne, e.dateDepot, e.codeEven, t.libEven, t.codEven, e.flux echo "SELECT e.siren, e.codeInterne, e.dateDepot, e.codeEven, t.libEven, t.codEven, e.flux
FROM rncs_even e, tabEvenRncs t FROM rncs_even e, tabEvenRncs t
WHERE e.flux='$dateMaj' AND e.codeEven=t.codeEven /*AND codEven>0*/ GROUP BY siren, dateDepot, codeEven;".EOL; WHERE e.flux='$dateMaj' AND e.codeEven=t.codeEven /*AND codEven>0*/ GROUP BY siren, dateDepot, codeEven;".EOL;
@ -102,16 +102,16 @@ $nbEven=$iDbR->select( 'rncs_even e, tabEvenRncs t',
true, MYSQL_ASSOC, true); true, MYSQL_ASSOC, true);
echo mysql_error(); echo mysql_error();
// Nombre d'évènements déjà mis à jour (complétés) // Nombre d'évènements déjà mis à jour (complétés)
$tabTmp=$iDb->select('rncs_even_info', "count(*) AS nb", "flux='$dateMaj'", true, MYSQL_ASSOC); $tabTmp=$iDb->select('rncs_even_info', "count(*) AS nb", "flux='$dateMaj'", true, MYSQL_ASSOC);
$nbEvenMaj=$tabTmp[0]['nb']; $nbEvenMaj=$tabTmp[0]['nb'];
if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) { if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
$message.="Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !\r\n"; $message.="Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !\r\n";
echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !.".EOL; echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !.".EOL;
//die('ici1'); //die('ici1');
} else { } else {
$message.="Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.\r\n"; $message.="Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.\r\n";
echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.".EOL; echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.".EOL;
//die('ici2'); //die('ici2');
$sirenPre=false; $sirenPre=false;
$iEven=-1; $iEven=-1;
@ -159,19 +159,19 @@ if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
// if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3); // if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3);
$sirenPre=$even['siren']; $sirenPre=$even['siren'];
} }
$message.="$nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.\r\n"; $message.="$nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.\r\n";
echo date('Y/m/d - H:i:s') ." - $nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.".EOL; echo date('Y/m/d - H:i:s') ." - $nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.".EOL;
$iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'"); $iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'");
} }
if ($loadInpiLocal) { if ($loadInpiLocal) {
/** /**
** Evènements importants en collecte INPI ** Evènements importants en collecte INPI
**/ **/
if ($jourStock>0) { if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock).' 00:00:00'; $dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock).' 00:00:00';
$message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n"; $message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n";
echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL; echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL;
} }
$AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l', $AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l',
@ -183,14 +183,17 @@ if ($loadInpiLocal) {
(l.codEven>0 (l.codEven>0
OR j.acte_decision LIKE '%FUSION%' OR j.acte_decision LIKE '%ABSORPTION%' OR j.acte_decision LIKE '%FUSION%' OR j.acte_decision LIKE '%ABSORPTION%'
OR j.acte_decision LIKE '%TRANSMISSION%UNIVERSELLE%PATRIMOINE%' OR j.acte_decision LIKE '%TRANSMISSION%UNIVERSELLE%PATRIMOINE%'
OR j.acte_decision LIKE '%TUP%' OR j.acte_decision LIKE '%T.U.P%'
OR j.acte_decision LIKE '%DISSOLUTION%' OR j.acte_nature LIKE '%DISSOLUTION%' OR j.acte_decision LIKE '%DISSOLUTION%' OR j.acte_nature LIKE '%DISSOLUTION%'
OR j.acte_decision LIKE '%MISE%SOMMEIL%' OR j.acte_decision LIKE '%MISE%SOMMEIL%'
OR j.acte_decision LIKE '%APPORT%PARTIEL%ACTIF%'
OR j.acte_decision LIKE '%SCISSION%'
) ", ) ",
false, MYSQL_ASSOC); false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb); $nbAnnonces=count($AnnDb);
$message.="Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj :\r\n"; $message.="Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj :\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj.".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj.".EOL;
foreach ($AnnDb as $i=>$tabInsert) { foreach ($AnnDb as $i=>$tabInsert) {
$siren=$tabInsert['siren']; $siren=$tabInsert['siren'];
@ -199,12 +202,20 @@ if ($loadInpiLocal) {
$typeEven=$tabInsert['typeEven']*1; $typeEven=$tabInsert['typeEven']*1;
$strEven=''; $strEven='';
if ($typeEven==0) {//projet de fusion par absorption if ($typeEven==0) {//projet de fusion par absorption
if (preg_match('/(FUSION|ABSORPTION)/i', $tabInsert['acte_decision'], $matches)) { if (preg_match('/(FUSION|ABSORPTION)/i', $tabInsert['acte_decision'], $matches)) {
if (preg_match('/PROJET/i', $tabInsert['acte_decision'], $matches)) $typeEven=2726; if (preg_match('/PROJET/i', $tabInsert['acte_decision'], $matches)) $typeEven=2726;
else $typeEven=2725; else $typeEven=2725;
} elseif (preg_match('/TRANSMISSION.{1,3}UNIVERSELLE.{1,5}PATRIMOINE/i', $tabInsert['acte_decision'], $matches)) } elseif (preg_match('/SCISSION/i', $tabInsert['acte_decision'], $matches)) {
if (preg_match('/PROJET/i', $tabInsert['acte_decision'], $matches)) $typeEven=2741;
else $typeEven=2740;
} elseif (preg_match('/TRANSMISSION.{1,3}UNIVERSELLE.{1,5}PATRIMOINE/i', $tabInsert['acte_decision'], $matches) ||
preg_match('/T.U.P/i', $tabInsert['acte_decision'], $matches) ||
preg_match('/\bTUP\b/i', $tabInsert['acte_decision'], $matches))
$typeEven=2620; $typeEven=2620;
elseif (preg_match('/DISSOLUTION/i', $tabInsert['acte_decision'], $matches) || elseif (preg_match('/APPORT.{1,3}PARTIEL.{1,5}ACTIF/i', $tabInsert['acte_decision'], $matches)) {
if (preg_match('/PROJET/i', $tabInsert['acte_decision'], $matches)) $typeEven=2665;
else $typeEven=2661;
} elseif (preg_match('/DISSOLUTION/i', $tabInsert['acte_decision'], $matches) ||
preg_match('/DISSOLUTION/i', $tabInsert['acte_nature'], $matches) ) preg_match('/DISSOLUTION/i', $tabInsert['acte_nature'], $matches) )
$typeEven=2203; $typeEven=2203;
elseif (preg_match('/MISE.{1,9}SOMMEIL/i', $tabInsert['acte_decision'], $matches)) { elseif (preg_match('/MISE.{1,9}SOMMEIL/i', $tabInsert['acte_decision'], $matches)) {
@ -222,9 +233,9 @@ if ($loadInpiLocal) {
$tabInsert['montant']=$tabIdentite['capital']; $tabInsert['montant']=$tabIdentite['capital'];
//$tabInsert['actionsNb'] =''; //$tabInsert['actionsNb'] ='';
/** @todo Rechercher l'ancien capital **/ /** @todo Rechercher l'ancien capital **/
} elseif ($typeEven==2305) { // Modification de la dénomination } elseif ($typeEven==2305) { // Modification de la dénomination
$tabIdentite=$iRncs->getInfosEntrep($siren); $tabIdentite=$iRncs->getInfosEntrep($siren);
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. '; $tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
// Recherche de l'ancienne RS // Recherche de l'ancienne RS
$dateFlux=$tabInsert['flux']; $dateFlux=$tabInsert['flux'];
@ -234,7 +245,7 @@ if ($loadInpiLocal) {
AND flux<='$dateFlux' ORDER BY flux DESC LIMIT 0,1", false, MYSQL_ASSOC); AND flux<='$dateFlux' ORDER BY flux DESC LIMIT 0,1", false, MYSQL_ASSOC);
$modif=@trim($rep[0]['valeur']).''; $modif=@trim($rep[0]['valeur']).'';
if ($modif<>'') if ($modif<>'')
$tabInsert['complement'].="Ancienne dénomination : $modif. "; $tabInsert['complement'].="Ancienne dénomination : $modif. ";
if ($tabIdentite['sigle']<>'') if ($tabIdentite['sigle']<>'')
$tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. '; $tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. ';
@ -244,8 +255,8 @@ if ($loadInpiLocal) {
/** @todo Rechercher l'ancienne FJ **/ /** @todo Rechercher l'ancienne FJ **/
} elseif ($typeEven==2315) { } elseif ($typeEven==2315) {
switch ($tabInsert['codeEvenRncs']*1) { switch ($tabInsert['codeEvenRncs']*1) {
case 34: $tabInsert['complement'].='Changement de Gérant : '; break; case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break; case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break; case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break;
case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break; case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break;
default: $tabInsert['complement'].='Administration : '; break; default: $tabInsert['complement'].='Administration : '; break;
@ -281,7 +292,7 @@ if ($loadInpiLocal) {
$tabInsert['typeEven'] = $typeEven; $tabInsert['typeEven'] = $typeEven;
if ($typeEven==0) { if ($typeEven==0) {
print_r($tabInsert); print_r($tabInsert);
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des évènements Greffes', "Erreur typeEven=0 ligne n°$i ($dateMaj)".EOL.print_r($tabInsert,true)); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des évènements Greffes', "Erreur typeEven=0 ligne n°$i ($dateMaj)".EOL.print_r($tabInsert,true));
//die(); //die();
} }
$tabInsert['adresse'] = $tabTmp['Adresse']; $tabInsert['adresse'] = $tabTmp['Adresse'];
@ -295,19 +306,19 @@ if ($loadInpiLocal) {
unset($tabInsert['source']); unset($tabInsert['source']);
unset($tabInsert['dateInsert']); unset($tabInsert['dateInsert']);
if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugement' AND typeEven=$typeEven", false, MYSQL_ASSOC)) if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugement' AND typeEven=$typeEven", false, MYSQL_ASSOC))
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
else $nbAnnUpdateE++; else $nbAnnUpdateE++;
} }
} else } else
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
} else { } else {
$nbAnnInsertE++; $nbAnnInsertE++;
echo date('Y/m/d - H:i:s') ." - Ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date('Y/m/d - H:i:s') ." - Ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
@$tabCptAnn[$typeEven]++; @$tabCptAnn[$typeEven]++;
} }
} }
$message.=" $nbAnnInsertE ajouts et $nbAnnUpdateE mises à jours sur $nbAnnonces annonces.\r\n\r\n".EOL; $message.=" $nbAnnInsertE ajouts et $nbAnnUpdateE mises à jours sur $nbAnnonces annonces.\r\n\r\n".EOL;
$message.=EOL.print_r(@$tabCptAnn, true); $message.=EOL.print_r(@$tabCptAnn, true);
} }
@ -322,37 +333,37 @@ if ($loadActesDuJour) {
shuffle($tabActes); shuffle($tabActes);
$nbActesQuoti=count($tabActes); $nbActesQuoti=count($tabActes);
foreach ($tabActes as $i=>$acte) { foreach ($tabActes as $i=>$acte) {
echo "$i/$nbActesQuoti: Mise à jour de la liste des actes pour ".$acte['siren'].'... '; echo "$i/$nbActesQuoti: Mise à jour de la liste des actes pour ".$acte['siren'].'... ';
$nbDepots=count(@$iGreffes->getListeActes($acte['siren'])); $nbDepots=count(@$iGreffes->getListeActes($acte['siren']));
echo "$nbDepots dépot(s).".EOL; echo "$nbDepots dépot(s).".EOL;
// if (!$iGreffes->enCache) randsleep(1,3); // if (!$iGreffes->enCache) randsleep(1,3);
$nbDepotsTot+=$nbDepots; $nbDepotsTot+=$nbDepots;
} }
$message.="$nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).\r\n"; $message.="$nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).\r\n";
echo date('Y/m/d - H:i:s') ." - $nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).".EOL; echo date('Y/m/d - H:i:s') ." - $nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).".EOL;
} }
if ($loadBilans) { if ($loadBilans) {
$tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC); $tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC);
$lastUpdate=$tabTmp[0]['lastMAJ']; $lastUpdate=$tabTmp[0]['lastMAJ'];
$message.="La dernière mise à jour des bilans Greffes date du $lastUpdate !\r\n"; $message.="La dernière mise à jour des bilans Greffes date du $lastUpdate !\r\n";
echo date ('Y/m/d - H:i:s') . " - La dernière mise à jour des bilans Greffes date du $lastUpdate !".EOL; echo date ('Y/m/d - H:i:s') . " - La dernière mise à jour des bilans Greffes date du $lastUpdate !".EOL;
$bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC); $bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC);
echo mysql_error(); echo mysql_error();
$nbBilans=count($bilansDep); $nbBilans=count($bilansDep);
$message.="Il y a $nbBilans listes de bilans PDF à mettre à jour !\r\n"; $message.="Il y a $nbBilans listes de bilans PDF à mettre à jour !\r\n";
echo date ('Y/m/d - H:i:s') . " - Il y a $nbBilans listes de bilans PDF à mettre à jour !".EOL; echo date ('Y/m/d - H:i:s') . " - Il y a $nbBilans listes de bilans PDF à mettre à jour !".EOL;
foreach ($bilansDep as $iBilan=>$bil) { foreach ($bilansDep as $iBilan=>$bil) {
$tabActes=@$iGreffes->getBilansImages($bil['siren']); $tabActes=@$iGreffes->getBilansImages($bil['siren']);
// if (!$iGreffes->enCache) randsleep(1,3); // if (!$iGreffes->enCache) randsleep(1,3);
} }
$message.="Fin de la mise à jour des listes de bilans PDF.\r\n"; $message.="Fin de la mise à jour des listes de bilans PDF.\r\n";
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour des listes de bilans PDF.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour des listes de bilans PDF.".EOL;
/** @todo Charger les listes de bilans commandés ce jour **/ /** @todo Charger les listes de bilans commandés ce jour **/
} }

View File

@ -21,16 +21,16 @@ define('RNCS_IMR_FTP_LOCALDIR', '/home/data/rncs/extelia/');
define('RNCS_IMR_BACKUP_DIR', '/home/data/rncs/imr/'); define('RNCS_IMR_BACKUP_DIR', '/home/data/rncs/imr/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS] $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Chargement du/des informations complémentaires en provenance des actes Infogreffe (license RNCS IMR). Chargement du/des informations complémentaires en provenance des actes Infogreffe (license RNCS IMR).
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-q Ne pas mettre à jour les listes d'évènements commandés ce jour -q Ne pas mettre à jour les listes d'évènements commandés ce jour
-b Ne pas mettre à jour les listes des nouveaux bilans PDF -b Ne pas mettre à jour les listes des nouveaux bilans PDF
-j Ne pas collecter les évènements INPI (annonces JAL Inpi) -j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ -s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ
Reprendre les actes INPI du AAAAMMJJ Reprendre les actes INPI du AAAAMMJJ
-i:XXX Reprendre les accès aux évènements Infogreffe à la ligne XXX -i:XXX Reprendre les accès aux évènements Infogreffe à la ligne XXX
"; ";
$iDb=new WDB(); $iDb=new WDB();
$iDbR=new WDB(''); $iDbR=new WDB('');
@ -43,14 +43,14 @@ $iGreffes=new MGreffes();
$nbInsert=$nbDeja=0; $nbInsert=$nbDeja=0;
$nbNatu=$nbDeci=0; $nbNatu=$nbDeci=0;
$modeDebug=false; // Par défaut, pas de message de debug $modeDebug=false; // Par défaut, pas de message de debug
$iReprise=false; // Reprendre les accès Infogreffe à la ligne d'évènenement nouveaux reçu XXX $iReprise=false; // Reprendre les accès Infogreffe à la ligne d'évènenement nouveaux reçu XXX
$message=''; // Initialisation du contenu du message d'information $message=''; // Initialisation du contenu du message d'information
$loadInpiLocal=true; // Par défaut on charge les évènements INPI (génération des annonces JAL) $loadInpiLocal=true; // Par défaut on charge les évènements INPI (génération des annonces JAL)
$jourStock=0; // Jour du stock SSAMMJJ (génération des annonces JAL à partir du ...) $jourStock=0; // Jour du stock SSAMMJJ (génération des annonces JAL à partir du ...)
$loadActesDuJour=true; // Par défaut on charge les listes d'évènements commandés ce jour par l'extranet $loadActesDuJour=true; // Par défaut on charge les listes d'évènements commandés ce jour par l'extranet
$loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles $loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -70,14 +70,14 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
} else $tabFichLigneCmd[]=$argv[$i]; } else $tabFichLigneCmd[]=$argv[$i];
} }
echo date ('Y/m/d - H:i:s') . " - Début du traitement des évènements INPI".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement des évènements INPI".EOL;
$strDateFlux=''; $strDateFlux='';
if ($jourStock>0) { if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock); $dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock);
$strDateFlux=" AND dateFlux='$dateMaj' "; $strDateFlux=" AND dateFlux='$dateMaj' ";
$message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n"; $message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n";
echo date ('Y/m/d - H:i:s') . " - Forçage de l'accès aux évènements Infogreffe en date du $dateMaj...".EOL; echo date ('Y/m/d - H:i:s') . " - Forçage de l'accès aux évènements Infogreffe en date du $dateMaj...".EOL;
} }
// Date du dernier chargement INPI // Date du dernier chargement INPI
@ -92,7 +92,7 @@ $nbEvenAnn=$tabTmp[0]['nbEvenAnn'];
/* $iDb->update('rncs_chargements', array(''=>@$iEven*1), "nomFichier='$nomFichier'");*/ /* $iDb->update('rncs_chargements', array(''=>@$iEven*1), "nomFichier='$nomFichier'");*/
// Nombre d'évènements chargés // Nombre d'évènements chargés
echo "SELECT e.siren, e.codeInterne, e.dateDepot, e.codeEven, t.libEven, t.codEven, e.flux echo "SELECT e.siren, e.codeInterne, e.dateDepot, e.codeEven, t.libEven, t.codEven, e.flux
FROM rncs_even e, tabEvenRncs t FROM rncs_even e, tabEvenRncs t
WHERE e.flux='$dateMaj' AND e.codeEven=t.codeEven /*AND codEven>0*/ GROUP BY siren, dateDepot, codeEven;".EOL; WHERE e.flux='$dateMaj' AND e.codeEven=t.codeEven /*AND codEven>0*/ GROUP BY siren, dateDepot, codeEven;".EOL;
@ -102,16 +102,16 @@ $nbEven=$iDbR->select( 'rncs_even e, tabEvenRncs t',
true, MYSQL_ASSOC, true); true, MYSQL_ASSOC, true);
echo mysql_error(); echo mysql_error();
// Nombre d'évènements déjà mis à jour (complétés) // Nombre d'évènements déjà mis à jour (complétés)
$tabTmp=$iDb->select('rncs_even_info', "count(*) AS nb", "flux='$dateMaj'", true, MYSQL_ASSOC); $tabTmp=$iDb->select('rncs_even_info', "count(*) AS nb", "flux='$dateMaj'", true, MYSQL_ASSOC);
$nbEvenMaj=$tabTmp[0]['nb']; $nbEvenMaj=$tabTmp[0]['nb'];
if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) { if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
$message.="Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !\r\n"; $message.="Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !\r\n";
echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !.".EOL; echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEvenMaj évènements déjà mis à jour sur les $nbEven évènements du jour !.".EOL;
//die('ici1'); //die('ici1');
} else { } else {
$message.="Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.\r\n"; $message.="Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.\r\n";
echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.".EOL; echo date ('Y/m/d - H:i:s') . " - Le dernier chargement INPI date du $dateMaj et contient $nbEven nouveaux évènements dont $nbEvenMaj à jour.".EOL;
//die('ici2'); //die('ici2');
$sirenPre=false; $sirenPre=false;
$iEven=-1; $iEven=-1;
@ -159,19 +159,19 @@ if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
// if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3); // if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3);
$sirenPre=$even['siren']; $sirenPre=$even['siren'];
} }
$message.="$nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.\r\n"; $message.="$nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.\r\n";
echo date('Y/m/d - H:i:s') ." - $nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.".EOL; echo date('Y/m/d - H:i:s') ." - $nbInsert évènements avec compléments ajoutés et $nbDeja évènements déjà en base ($nbNatu natures et $nbDeci décisions.".EOL;
$iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'"); $iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'");
} }
if ($loadInpiLocal) { if ($loadInpiLocal) {
/** /**
** Evènements importants en collecte INPI ** Evènements importants en collecte INPI
**/ **/
if ($jourStock>0) { if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock).' 00:00:00'; $dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock).' 00:00:00';
$message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n"; $message.="Forçage du dernier chargement de la collecte INPI en date du $dateMaj...\r\n";
echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL; echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL;
} }
$AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l', $AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l',
@ -189,8 +189,8 @@ if ($loadInpiLocal) {
false, MYSQL_ASSOC); false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb); $nbAnnonces=count($AnnDb);
$message.="Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj :\r\n"; $message.="Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj :\r\n";
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj.".EOL; echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces évènements INPI IMR depuis le dernier chargement du $dateMaj.".EOL;
foreach ($AnnDb as $i=>$tabInsert) { foreach ($AnnDb as $i=>$tabInsert) {
$siren=$tabInsert['siren']; $siren=$tabInsert['siren'];
@ -221,9 +221,9 @@ if ($loadInpiLocal) {
$tabIdentite=$iRncs->getInfosEntrep($siren); $tabIdentite=$iRncs->getInfosEntrep($siren);
$tabInsert['montant']=$tabIdentite['capital']; $tabInsert['montant']=$tabIdentite['capital'];
//$tabInsert['actionsNb'] =''; //$tabInsert['actionsNb'] ='';
} elseif ($typeEven==2305) { // Modification de la dénomination } elseif ($typeEven==2305) { // Modification de la dénomination
$tabIdentite=$iRncs->getInfosEntrep($siren); $tabIdentite=$iRncs->getInfosEntrep($siren);
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. '; $tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
if ($tabIdentite['sigle']<>'') if ($tabIdentite['sigle']<>'')
$tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. '; $tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. ';
} elseif ($typeEven==2307) { // Modification de la forme juridique } elseif ($typeEven==2307) { // Modification de la forme juridique
@ -231,8 +231,8 @@ if ($loadInpiLocal) {
$tabInsert['nouvFJ']=$tabIdentite['cj']; $tabInsert['nouvFJ']=$tabIdentite['cj'];
} elseif ($typeEven==2315) { } elseif ($typeEven==2315) {
switch ($tabInsert['codeEvenRncs']*1) { switch ($tabInsert['codeEvenRncs']*1) {
case 34: $tabInsert['complement'].='Changement de Gérant : '; break; case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break; case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break; case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break;
case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break; case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break;
default: $tabInsert['complement'].='Administration : '; break; default: $tabInsert['complement'].='Administration : '; break;
@ -267,7 +267,7 @@ if ($loadInpiLocal) {
$tabInsert['typeEven'] = $typeEven; $tabInsert['typeEven'] = $typeEven;
if ($typeEven==0) { if ($typeEven==0) {
print_r($tabInsert); print_r($tabInsert);
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des évènements Greffes', "Erreur typeEven=0 ligne n°$i ($dateMaj)".EOL.print_r($tabInsert,true)); sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement des évènements Greffes', "Erreur typeEven=0 ligne n°$i ($dateMaj)".EOL.print_r($tabInsert,true));
//die(); //die();
} }
$tabInsert['adresse'] = $tabTmp['Adresse']; $tabInsert['adresse'] = $tabTmp['Adresse'];
@ -281,19 +281,19 @@ if ($loadInpiLocal) {
unset($tabInsert['source']); unset($tabInsert['source']);
unset($tabInsert['dateInsert']); unset($tabInsert['dateInsert']);
if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugement' AND typeEven=$typeEven", false, MYSQL_ASSOC)) if (!$iDb->update($table, $tabInsert,"siren=$siren AND dateJugement='$dateJugement' AND typeEven=$typeEven", false, MYSQL_ASSOC))
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
else $nbAnnUpdateE++; else $nbAnnUpdateE++;
} }
} else } else
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de l'ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
} else { } else {
$nbAnnInsertE++; $nbAnnInsertE++;
echo date('Y/m/d - H:i:s') ." - Ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL; echo date('Y/m/d - H:i:s') ." - Ajout de l'évènement $typeEven en date du $dateJugement pour $siren...".EOL;
@$tabCptAnn[$typeEven]++; @$tabCptAnn[$typeEven]++;
} }
} }
$message.=" $nbAnnInsertE ajouts et $nbAnnUpdateE mises à jours sur $nbAnnonces annonces.\r\n\r\n".EOL; $message.=" $nbAnnInsertE ajouts et $nbAnnUpdateE mises à jours sur $nbAnnonces annonces.\r\n\r\n".EOL;
$message.=EOL.print_r(@$tabCptAnn, true); $message.=EOL.print_r(@$tabCptAnn, true);
} }
@ -308,37 +308,37 @@ if ($loadActesDuJour) {
shuffle($tabActes); shuffle($tabActes);
$nbActesQuoti=count($tabActes); $nbActesQuoti=count($tabActes);
foreach ($tabActes as $i=>$acte) { foreach ($tabActes as $i=>$acte) {
echo "$i/$nbActesQuoti: Mise à jour de la liste des actes pour ".$acte['siren'].'... '; echo "$i/$nbActesQuoti: Mise à jour de la liste des actes pour ".$acte['siren'].'... ';
$nbDepots=count(@$iGreffes->getListeActes($acte['siren'])); $nbDepots=count(@$iGreffes->getListeActes($acte['siren']));
echo "$nbDepots dépot(s).".EOL; echo "$nbDepots dépot(s).".EOL;
// if (!$iGreffes->enCache) randsleep(1,3); // if (!$iGreffes->enCache) randsleep(1,3);
$nbDepotsTot+=$nbDepots; $nbDepotsTot+=$nbDepots;
} }
$message.="$nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).\r\n"; $message.="$nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).\r\n";
echo date('Y/m/d - H:i:s') ." - $nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).".EOL; echo date('Y/m/d - H:i:s') ." - $nbActesQuoti listes d'évènements mises à jours pour un total de $nbDepotsTot dépots (listes du jour).".EOL;
} }
if ($loadBilans) { if ($loadBilans) {
$tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC); $tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC);
$lastUpdate=$tabTmp[0]['lastMAJ']; $lastUpdate=$tabTmp[0]['lastMAJ'];
$message.="La dernière mise à jour des bilans Greffes date du $lastUpdate !\r\n"; $message.="La dernière mise à jour des bilans Greffes date du $lastUpdate !\r\n";
echo date ('Y/m/d - H:i:s') . " - La dernière mise à jour des bilans Greffes date du $lastUpdate !".EOL; echo date ('Y/m/d - H:i:s') . " - La dernière mise à jour des bilans Greffes date du $lastUpdate !".EOL;
$bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC); $bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC);
echo mysql_error(); echo mysql_error();
$nbBilans=count($bilansDep); $nbBilans=count($bilansDep);
$message.="Il y a $nbBilans listes de bilans PDF à mettre à jour !\r\n"; $message.="Il y a $nbBilans listes de bilans PDF à mettre à jour !\r\n";
echo date ('Y/m/d - H:i:s') . " - Il y a $nbBilans listes de bilans PDF à mettre à jour !".EOL; echo date ('Y/m/d - H:i:s') . " - Il y a $nbBilans listes de bilans PDF à mettre à jour !".EOL;
foreach ($bilansDep as $iBilan=>$bil) { foreach ($bilansDep as $iBilan=>$bil) {
$tabActes=@$iGreffes->getBilansImages($bil['siren']); $tabActes=@$iGreffes->getBilansImages($bil['siren']);
// if (!$iGreffes->enCache) randsleep(1,3); // if (!$iGreffes->enCache) randsleep(1,3);
} }
$message.="Fin de la mise à jour des listes de bilans PDF.\r\n"; $message.="Fin de la mise à jour des listes de bilans PDF.\r\n";
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour des listes de bilans PDF.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour des listes de bilans PDF.".EOL;
/** @todo Charger les listes de bilans commandés ce jour **/ /** @todo Charger les listes de bilans commandés ce jour **/
} }

File diff suppressed because it is too large Load Diff

975
1.1/old/getInseeEven.php2 Normal file
View File

@ -0,0 +1,975 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
function getNomPrenom($strRaisonSociale) {
$tabRet=array();
$tabRet['Nom']=$tabRet['NomUsage']=$tabRet['Prenom']='';
if (preg_match("/(.*)\*(.*)\/(.*)/",$strRaisonSociale,$matches))
{
$tabRet['Nom']=$matches[1];
$tmp=explode('/', $matches[2]);
if (isset($tmp[1]) && trim($tmp[1])<>'') {
$tabRet['NomUsage']=$tmp[0];
$tabRet['Prenom']=$tmp[1];
} else
$tabRet['Prenom']=$matches[2];
}
return $tabRet;
}
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(FWK_PATH.'common/ftp.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
define('INSEE_FTP_URL', 'ftp.odissee.insee.fr');
define('INSEE_FTP_USER', '5358116');
define('INSEE_FTP_PASS', 'SC8$_21v');
//define('INSEE_FTP_REMOTE_DIR', 'odissee/MAP/*');
define('INSEE_FTP_REMOTE_DIR', 'odissee/5358116/*');
define('INSEE_LOCAL_DIR', '/home/data/insee/even/');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des flux quotidiens en provenance de Insee.
Options :
-d Mode debug (Verbosité au maximum)
-j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee
-u Forcer la mise à jour la table identite de l'insee
-s=20080430 Réappliquer les évènements depuis cette date
-f=20121231 Réappliquer les évènements jusqu'à cette date
-e=xxxxxxxx Réappliquer l'évènement xxxxxxxx
-c=552144503 Siren de l'entreprise sur laquelle réappliquer tous les évènements
";
$iDb=new WDB('insee');
$iDbR=new WDB('insee');
$iDbW=new WDB('insee');
$iInsee=new MInsee();
$nbSiretInvalides=$nbErreurs=$nbInsert=$nbUpdate=0;
$modeDebug=$dateReprise=$dateFin=false;
$messageDebug='';
$ftpStep=true;
$updateInsee=false;
$iReprise=$sirenReprise=0;
$tabFichier=array();
$tabModifsEntrep=array(); // Tableau des modifications au niveau entreprises qui n'ont pas d'évènements par établissement
$nomFichierCharges=array();
$nbLignes=$nbLignesCharges=$nbSiretInvalidesCharges=0;
//Initialistation des variables
$argv=$_SERVER['argv'];
//if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL);
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 'j': $ftpStep=false; break;
case 'u': $updateInsee=true; break;
case 's': $dateReprise=substr($argv[$i],3,8); $ftpStep=false; break;
case 'f': $dateFin=substr($argv[$i],3,8); $ftpStep=false; break;
case 'e': $iReprise=substr($argv[$i],3); $ftpStep=false; break;
case 'c': $sirenReprise=substr($argv[$i],3); $ftpStep=false; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
} else $tabFichier[]=$argv[$i];
}
/*
$siren=356000000;
$tabNic=array('00055', '00056', '00060', '00061');
foreach ($tabNic as $nic) {
echo "$siren\t$nic\t";
if (!$iInsee->valideSiren($siren,$nic)) {
echo 'INVALIDE'.EOL;
} else echo 'valide'.EOL;
}
die();
*/
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL;
$dateDeb=date('YmdHis');
$db_table='insee_even';
if ($ftpStep) {
/* Récupération des flux FTP */
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL;
$ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL);
else
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL;
}
/** Liste des fichiers quotidiens de l'Insee
**/
if ($dateReprise>0 || $iReprise>0 || $sirenReprise>1000)
$tabFichier=array();
else {
$dh = opendir(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR));
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, 0, 6)<>'EVE.NJ' && substr($filename, 0, 2)<>'NJ')
$tabFichier[] = $filename;
}
}
if (file_exists(REP_TEMP.'stockInsee.lock')) {
$message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"';
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Flux quotidien INSEE non traité car trimestriel en cours', $message);
die();
}
$tabToIdentite=array();
/** Chargement des fichiers si nécessaire
**/
for ($i=0; isset($tabFichier[$i]); $i++)
{
$nomFichier=$tabFichier[$i];
$idFlux=strtr(strtoupper(basename($nomFichier)),array('EVE.'=>'','DJ'=>'20'));
$tabTailles[$idFlux]=filesize(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier);
$tabDateFic[$idFlux]=date('YmdHis', filemtime(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier));
$fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r');
if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
$nbLignes=0; // Nombre de ligne du fichier
$ret=$iDb->select($db_table, 'count(idFlux) as nb', "idFlux='$idFlux' /*AND insEVE NOT IN('810','RCS')*/");
$nbLoaded=$ret[0][0];
while (!feof($fp))
{
$nbLignes++;
$a = trim(fgets($fp, 1024));
}
if ($nbLoaded>0) {
if (--$nbLignes<=$nbLoaded)
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL;
else
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL);
continue;
}
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
$tabToIdentite[]=$idFlux;
flush();
$finFichier=false;
$nbLignes=$nbErreurs=0;
rewind($fp);
while (!feof($fp))
{
$nbLignes++;
$a = trim(fgets($fp, 1024));
if ($finFichier) {
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré !
die();
} elseif ($a=='')
break;
//unset($tabErreur); $nbErr=0;
$tabEve=array();
$tabEve['idFlux'] =$idFlux;
$tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour
$tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement
// DONNEES SUR L.EVENEMENT
$tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise à jour
$tabEve['insEVE'] =substr($a,33,3);//Type d'événement
$tabEve['insDATEVE'] =substr($a,36,8);//Date de l'événement
$tabEve['insTYPETAB'] =substr($a,44,2);//Type d'établissement concerné par l'événement
// INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE
$tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage
$tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Complément de nom de l'entreprise pour l'adressage
$tabEve['insL3_CADR'] =trim(substr($a,122,38));//Complément d'adresse pour l.adressage
$tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Numéro et libellé dans la voie
$tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution spéciale
$tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage
$tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libellé du pays pour les adresses à l'étranger
$tabEve['insTEL'] =trim(substr($a,312,14));//Téléphone
$tabEve['insRPET'] =substr($a,326,2);//Région de localisation de l'établissement
$tabEve['insDEPCOM'] =substr($a,328,5);//Département et commune d'implantation de l'établissement
$tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie
$tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libellé de la commune de localisation de l'établissement
$tabEve['insCODPOS'] =substr($a,370,5);//Code postal
$tabEve['insNUMVOIE'] =substr($a,375,4);//Numéro dans la voie
$tabEve['insINDREP'] =substr($a,379,1);//Indice de répétition
$tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'établissement
$tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libellé de la voie de localisation de l'établissement
// DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT
$tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation
$tabEve['insDCRET'] =substr($a,456,8);//Date de création de l'établissement (année, mois, jour)
$tabEve['insDREACTET'] =substr($a,464,8);//Date de réactivation de l'établissement (année, mois, jour)
$tabEve['insSIEGE'] =substr($a,472,1);//Qualité de siège ou non de l.établissement
$tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production
$tabEve['insORIGINE'] =substr($a,474,2);//Origine de la création de l'établissement
$tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'établissement
$tabEve['insAPET700'] =substr($a,478,5);//Activité principale de l'entreprise en 700 classes
$tabEve['insDAPET'] =substr($a,483,4);//Date de validité de l'activité principale de l'établissement
$tabEve['insAPRM'] =substr($a,487,6);//Activité principale au registre des métiers
$saisonat=trim(strtoupper(substr($a,493,2)));//Caractère saisonnier ou non de l'activité de l'établissement
if ($saisonat=='S') $tabEve['insSAISONAT'] =1;
else $tabEve['insSAISONAT'] =0;
$tabEve['insAUXILT'] =substr($a,495,1);//Caractère auxiliaire de l'activité de l'établissement
$tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activité de l'établissement
$tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activité de l'établissement
$tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin
$tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salarié de l'établissement
$tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salarié de l'établissement à la centaine près
$tabEve['insDEFET'] =substr($a,510,4);//Date de mise à jour de l'effectif salarié de l'établissement (année)
$tabEve['insPRODPART'] =substr($a,514,1);//Participation particulière à la production de l'établissement
$tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du prédécesseur ou du successeur
$tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associé
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT
$tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
$tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise à jour de l'activité principale de l'établissement
$tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise à jour de l'adresse de localisation de l'établissement
$tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise à jour du caractère exploitant de l'établissement
$tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise à jour du caractère auxiliaire de l'activité de l'établissement
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise
$tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise
$tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour)
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour)
$tabEve['insCJ'] =substr($a,622,4);//Catégorie juridique ou professionnelle pour les entrepreneurs individuels
$tabEve['insCIVILITE'] =substr($a,626,1);//Civilité des entrepreneurs individuels
$tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production
$tabEve['insFiller4'] =substr($a,628,1);//Zone réservée
$tabEve['insAPEN700'] =substr($a,629,5);//Activité principale de l'établissement en 700 classes
$tabEve['insDAPEN'] =substr($a,634,4);//Date de validité de l'activité principale de l'entreprise
$tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salarié de l'entreprise
$tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salarié de l'entreprise à la centaine près
$tabEve['insDEFEN'] =substr($a,646,4);//Date de mise à jour de l'effectif salarié de l.entreprise (année)
$tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'établissements exploitants actifs de l'entreprise
$tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-régionalité de l'entreprise
$tabEve['insREGIMP'] =substr($a,655,2);//Principale région de localisation de l'entreprise
$tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivité de l'entreprise
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal
//INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNICSIEGE']=substr($a,664,5);//Numéro interne de classement de l'établissement siège
$tabEve['insDEPCOMEN']=substr($a,669,5);//Département et commune de localisation du siège de l.entreprise
$tabEve['insRPEN']=substr($a,674,2);//Région de localisation du siège de l'entreprise
$insSIREN=$tabEve['insSIREN'];
$insNIC=$tabEve['insNIC'];
if (!$iInsee->valideSiren($insSIREN,$insNIC)) {
$tabEve['siretValide']=0;
$nbSiretInvalides++;
}
else
$tabEve['siretValide']=1;
/** Conversion de la saisonnalité **/
$insNOMEN=$tabEve['insNOMEN'];
$tabNoms=getNomPrenom($insNOMEN);
$tabEve['dirNom']=$tabNoms['Nom'];
$tabEve['dirNomUsage']=$tabNoms['NomUsage'];
$tabEve['dirPrenom']=$tabNoms['Prenom'];
if (trim($insSIREN)<>'' && trim($insNIC)<>'') {
$finFichier=false;
$ret=$iDb->insert($db_table, $tabEve);
if ($ret===false) {
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL;
$nbErreurs++;
flush();
} else
$updateInsee=true;
} else $finFichier=true;
/* if ($tabErreur) {
echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n";
print_array($tabErreur,0,"txt");
flush();
}
*/
//unset($tabDataToInsert);
}
fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL;
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
$nomFichierCharges[]=$nomFichier;
$nbLignesCharges=$nbLignes;
$nbSiretInvalidesCharges=$nbSiretInvalides;
}
echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé";
/**********************************************************************************************************************************
* MISE A JOUR DE LA TABLE IDENTITE
**********************************************************************************************************************************/
if ($updateInsee) {
echo ', début de mise à jour de la table identite.'.EOL;
$fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ, idFlux, insMNOMEN, insMSIGLE, insMCJ, insMAPEN, insMEXPLEN, insMNICSIEGE';
// on lit R pour mettre à jour W
$fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ';
if ($iReprise>0)
$tabToIdentite=array(0);
elseif ($sirenReprise>1000)
$tabToIdentite=array(0);
elseif (!$dateReprise)//$tabToIdentite
sort($tabToIdentite);
else
$tabToIdentite=array($dateReprise);
foreach ($tabToIdentite as $idFlux) {
//$idFlux='20080114';
if ($iReprise>0) {
echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul évènement de flux quotidien...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "id=$iReprise", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - $ret ligne à mettre à jour...".EOL;
} elseif ($sirenReprise>1000) {
echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul siren...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "insSIREN=$sirenReprise ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL;
} elseif (!$dateReprise) {
echo date ('Y/m/d - H:i:s') . " - Début du chargement du flux $idFlux...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes à mettre à jour...".EOL;
} else {
$sqlDateFin='';
if ($dateFin) {
$strDateFin="jusqu'au $dateFin";
$sqlDateFin=" AND idFlux<=$dateFin ";
}
echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux $strDateFin...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux $sqlDateFin ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
// $ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux AND LENGTH(insL2_COMP)>30 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
/* $ret=$iDbR->select('insee_even', $fieldsR, "insSIREN IN (100800002,987310505) AND idFlux IN (20040426, 20080114) ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);*/
echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL;
}
$k=$nbInsert=$nbUpdate=$nbDBl=$nbSirenDeja=$nbInsertSiren=0;
$messageDebug="Ligne : SIREN NIC Actif/ActifEco\tEVE\tDESTINAT\tTYPETAB\tORIGINE".EOL;
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
$k++;
$siren=$ligne['insSIREN'];
$nic =$ligne['insNIC'];
$ret2=$iDbW->select('identite', $fieldsW, "SIREN=$siren AND NIC=$nic");
$cpt=count($ret2);
if ($cpt>0) $etab=$ret2[0];
else {
$ret3=$iDbW->select('identite', $fieldsW, "SIREN=$siren AND SIEGE=1 ORDER BY NIC DESC");
$etab2=array();
if (count($ret3)>0) {
$etab2=$ret3[0];
$nbSirenDeja++;
} else
$nbInsertSiren++;
$etab=array('IDENTITE_PRE'=>@$etab2['IDENTITE_PRE'],
'NOM'=>@$etab2['NOM'],
'ENSEIGNE'=>'',
'SIGLE'=>@$etab2['SIGLE']);
}
$cj1=substr($ligne['insCJ'],0,1)*1;
if ($cj1==1) {
$arrDir=array( 'DIR_FCT'=>'PP',
'DIR_IDEN'=> strtoupper(trim($ligne['dirNom'])).' '.
ucwords(strtolower(trim($ligne['dirPrenom']))));
} else
$arrDir=array();
$evenTxt=trim($ligne['insEVE']);
$even=$evenTxt*1;
$typEtab=trim($ligne['insTYPETAB'])*1;
if ($even==0) {
switch(''.trim($ligne['insEVE'])) {
case 'MPF':
case 'MNP':
case 'MSA':
case 'MAS':
case 'MAC':
case 'M00':
case '00': $even=780; break;
case 'M0C':
case 'CC': $even=110; break; // Création d'une entreprise
case 'M0F':
case 'FF': $even=410; break; // Fermeture de l'entreprise
case 'OC': $even=130; break; // Création d'un établissement
case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement
case 'M0R':
case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement
case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production
case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod.
case 'OF': $even=430; break; // Fermeture d'un établissement
case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 'TR': $even=510; $typEtab=11; break;
case 'T0': $even=510; $typEtab=11; break;
case 'TA': $even=510; $typEtab=11; break;
case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un établissement dans le cadre d'un transfert
case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un établissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert
default:
if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='D') $even=430;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='F') $even=430;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='R') $even=120;
else echo ("Erreur code sur Siren $siren $nic : code Even=\"".trim($ligne['insEVE']).'"'.EOL);
break;
}
}
//$even=780
$origine=trim($ligne['insORIGINE']);
$destinat=trim($ligne['insDESTINAT']);
$dateFerEN=$dateFerET=-1; // Rar défaut, on n'y touche pas
$actifEco=-1; // Economiquement actif, par défaut Idem, RAS
$sirenNonDiffusible=false;
switch ($even) {
case 110: // Création ou réactivation Création d'une entreprise
case 120: // Réactivation d'une entreprise
case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire
case 130: // Création d'un établissement
case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire
switch ($typEtab) {
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=0;
$actif=1;
$actifEco=0;
break;
case 23: // Établissement fermé (hors transfert)
$dateFerET=$ligne['insDATEVE'];
$actif=$actifEco=0;
break;
default:
$dateFerET=$dateFerEN=0;
$actif=1;
// $actifEco=1;
break;
}
break;
case 400: // Suppression d'un double
$dateFerET=$dateFerEN=$ligne['insDATEVE'];
$actif=$actifEco=0;
//continue; // On ignore les suppressions de doublons
break;
case 410: // Cessation juridique de l'entreprise
$dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE'];
$actif=$actifEco=0;
/** @todo, il faudrait fermer tous les étabs **/
break;
case 420: // Absence d'activité de l'entreprise (cessation économique de l'entreprise)
// $dateFerET=$ligne['insDATEVE'];
// $dateFerEN=$ligne['insDATEVE'];
$actif=$actifEco=0;
/** @todo, il faudrait fermer tous les étabs **/
break;
case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire
case 430: // Fermeture d'un établissement
case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire
switch ($typEtab) {
case 13: // Siège fermé (hors transfert)
case 23: // Établissement fermé (hors transfert)
$dateFerET=$ligne['insDATEVE'];
$actif=$actifEco=0;
break;
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
// $dateFerET=$ligne['insDATEVE'];
$actif=1;
$actifEco=0;
break;
case 16: // Siège modifié (hors transfert) : modification de l'APE de l'établissement
case 17: // Siège modifié (hors transfert) : modification de l'identification de l'établissement
case 19: // Siège modifié (hors transfert) : autre modification de l'établissement
$dateFerET=$dateFerEN=0;
$actif=1;
break;
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
$dateFerET=$dateFerEN=0;
$actif=1;
$actifEco=1;
break;
default:
$actif=-1;
break;
}
break;
case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
switch ($typEtab) {
case 9: // Siège après transfert non créé
case 8: // Siège avant transfert non fermé
case 11: // Siège après transfert créé
case 12: // Siège créé (hors transfert)
case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert)
case 30: // Établissement avant transfert non fermé
case 31: // Établissement après transfert non créé
//echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$dateFerEN=0;
$actif=$actifEco=1;
break;
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
$dateFerET=$dateFerEN=0;
$actif=$actifEco=1;
break;
case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert)
case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert)
case 32: // Établissement supprimé
//echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$ligne['insDATEVE'];
$actif=$actifEco=0;
break;
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=$dateFerEN=0;
$actif=1;
$actifEco=0;
break;
default:
// 19 Siège modifié (hors transfert) : autre modification de l'établissement
// 29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement
$actif=-1;
break;
/*
Que fait on pour ces codes ?
16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement
17 Siège modifié (hors transfert) : modification de l'identification de l'établissement
26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement
27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement
*/
}
break;
case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production
case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production
$actif=$actifEco=1;
break;
case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production
case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur
/*$dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE'];
$actif=0;*/
$dateFerET=$dateFerEN=0;
$actif=1;
$actifEco=0;
break;
case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production
// $dateFerET=$ligne['insDATEVE'];
$dateFerET=0;
$actif=1;
$actifEco=0;
break;
case 795: // SIREN non diffusible
$actif=1;
$sirenNonDiffusible=true;
break;
case 810: // Refus d'inscription du SIREN au RCS
$actif=0;
$sirenNonDiffusible=true;
break;
case 631: // Autre modification d'activité du SIREN associé
case 661: // Autre modification d'activité au niveau de l'établissement
case 710: // Modification de l'identification du SIREN
case 711: // Modification de l'identification du SIREN suite à correction d'erreur
case 720: // Modification de l'adresse ou de l'identification de l'établissement
case 780: // Autre modification entraînant la mise à jour d'au moins une variable du répertoire
case 781: // Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur
default:
if ($evenTxt=='RCS') $sirenNonDiffusible=true;
$actif=-1;
break;
}
//echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL;
/** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée !
**/
if ($actif==-1 && (trim($ligne['insEVE'])=='MPF' || trim($ligne['insEVE'])=='MNP')) {
// Etablisement présumé fermé mais on laisse actif juridiquement
$actif=1;
$actifEco=0;
}
// On ignore la variable DESTINAT !!! 4 juillet 2011
/* elseif ($actif==-1 && ( $destinat*1==3 || // Vendu
$destinat=='B' || // Fermé
$destinat=='C' || // Supprimé
$destinat=='D' || // Mise en location-gérance de la totalité du fonds
$destinat=='F' || // Cessation d'activité (pour les liasses agricoles)
$destinat=='I' || // Transmission au conjoint (pour les liasses agricoles)
$destinat=='J' || // Cession (pour les liasses agricoles)
$destinat=='G' ) ) // Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles)
{
$dateFerET=$ligne['insDATEVE'];
$actif=$actifEco=0;
}
elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège
$destinat*1==8 || // Maintien d'activité, l'établissement devient principal
$destinat=='A' || // Maintien d'activité, l'établissement devient secondaire
$destinat=='E' || // Mise en location-gérance d'une partie du fonds
$destinat=='VP' || // suppression partielle d'activité par vente
$destinat=='DP' || // suppression partielle d'activité par disparition
$destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire
$destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)
{
$actif=$actifEco=1;
}*/
else {
$messageDebug.="$k : $siren $nic $actif/$actifEco\t$even\t$destinat\t$typEtab\t$origine".EOL;
if ($modeDebug)
echo "$k : $siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)".EOL;
}
if ($actif==-1) $arrActif=array();
else $arrActif=array('ACTIF'=>$actif);
if ($actifEco<>-1) $arrActif=array_merge($arrActif, array('actifEco'=>$actifEco));
if ($dateFerET<>-1) $arrActif=array_merge($arrActif, array('dateFerET'=>$dateFerET));
if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN));
/** Zone Identité précédente
** contenant tous les anciens nom, sigle et/ou enseigne concaténés
** n'ai jamais affiché mais sert pour l'indexation au niveau de la recherche
** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
**/
$identite_pre=trim($etab['IDENTITE_PRE']);
$nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38);
if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL;
if (strlen($identite_pre)==0)
$identite_pre=$nomEntrepEnBase;
else
$identite_pre.=','.$nomEntrepEnBase;
}
$nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL;
if (strlen($identite_pre)==0)
$identite_pre=$nomEtabEnBase;
else
$identite_pre.=','.$nomEtabEnBase;
}
$sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL;
if (strlen($identite_pre)==0)
$identite_pre=$sigEntrepEnBase;
else
$identite_pre.=','.$sigEntrepEnBase;
}
if ($siren==382063717) {
print_r($ligne);
//die();
}
if ($even==631 || // Autre modification d'activité du SIREN associé
$even==710 || // Modification de l'identification du SIREN
$even==711 || // Modification de l'identification du SIREN suite à correction d'erreur
$ligne['insMNOMEN']==1 || // Indicateur Modif Raison Sociale
$ligne['insMSIGLE']==1 || // Indicateur Modif SIGLE
$ligne['insMCJ']==1 || // Indicateur Modif CJ
$ligne['insMAPEN']==1 || // Indicateur Modif APEN
$ligne['insMEXPLEN']==1 || // Indicateur Modif Exploitant
$ligne['insMNICSIEGE']==1 ) { // Indicateur Modif NIC Siège
$tabModifsEntrep[''.substr(''.$ligne['insDATEMAJ'].'',0,8).'-'.$ligne['insSIREN']]=array(
'NIC'=> $ligne['insNIC'],
'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
'CJ'=> trim($ligne['insCJ']),
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
'CIVILITE'=> trim($ligne['insCIVILITE']), // Civilité des entrepreneurs individuels
'EXPLEN'=> trim($ligne['insEXPLEN']), // Entreprise exploitant tout ou partie des moyens de production
'DAPEN'=> trim($ligne['insDAPEN']), // Date de validité de l'activité principale de l'entreprise
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tranche d'effectif salarié de l'entreprise
'EFF_ENT'=> trim($ligne['insEFENCENT']), // Effectif salarié de l'entreprise à la centaine près
'DEFEN'=> trim($ligne['insDEFEN']), // Date de mise à jour de l'effectif salarié de l.entreprise (année)
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissements exploitants actifs de l'entreprise
'MONOREG'=> trim($ligne['insMONOREG']), // Indice de mono-régionalité de l'entreprise
'REGIMP'=> trim($ligne['insREGIMP']), // Principale région de localisation de l'entreprise
'MONOACT'=> trim($ligne['insMONOACT']), // Indice de monoactivité de l'entreprise
/*
'APE_ENT'=> trim($ligne['insNICSIEGE']), // Numéro interne de classement de l'établissement siège
'APE_ENT'=> trim($ligne['insDEPCOMEN']), // Département et commune de localisation du siège de l.entreprise
'APE_ENT'=> trim($ligne['insRPEN']), // Région de localisation du siège de l'entreprise
/* 'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise
'MODEN'=> trim($ligne['insMODEN']),
*/
'DATE_MAJ'=> substr(''.$ligne['insDATEMAJ'].'',0,8),
);
/* $tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour)
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour)
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal
*/
}
$arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché)
'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
'SIEGE'=> $ligne['insSIEGE'], // Siège
'IDENTITE_PRE'=>$identite_pre,
'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N° dans la voie
'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ
'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie
'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie
'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal
'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune
'ADR_COMP'=> trim($ligne['insL3_CADR']), // Complément d'adresse
'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spéciale
'AUXILT'=> trim($ligne['insAUXILT']), //
'SAISONAT'=> $ligne['insSAISONAT'], //
'CJ'=> trim($ligne['insCJ']),
'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme
'DCRET'=> trim($ligne['insDCRET']), // Date de création de l'établissemennt
'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'établissement (cf. table APE)
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissement de l'entreprise
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep
// 'TCA'=> trim($ligne['insTCA']), // Tr CA
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
'ADR_DEP'=> trim(substr($ligne['insDEPCOM'],0,2)),
'ADR_COM'=> trim(substr($ligne['insDEPCOM'],2,3)),
'EFF_ENT'=> trim($ligne['insEFENCENT']), // Eff Entrep
'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement
'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement
'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si différent de france
'APRM'=> trim($ligne['insAPRM']), // Répertoire Métier
'ACTIVNAT'=> trim($ligne['insACTIVNAT']),
'ORIGINE'=> trim($ligne['insORIGINE']),
'MODET'=> trim($ligne['insMODET']),
'EXPLET'=> trim($ligne['insEXPLET']),
'DAPET'=> trim($ligne['insDAPET']),
'LIEUACT'=> trim($ligne['insLIEUACT']),
'ACTISURF'=> trim($ligne['insACTISURF']),
'DEFET'=> trim($ligne['insDEFET']),
'MODEN'=> trim($ligne['insMODEN']),
'PRODPART'=> trim($ligne['insPRODPART']),
'EXPLEN'=> trim($ligne['insEXPLEN']),
'DEFEN'=> trim($ligne['insDEFEN']),
'MONOREG'=> trim($ligne['insMONOREG']),
'REGIMP'=> trim($ligne['insREGIMP']),
'MONOACT'=> trim($ligne['insMONOACT']),
'DAPEN'=> trim($ligne['insDAPEN']),
'DATE_MAJ'=> substr(''.$ligne['insDATEMAJ'].'',0,8),
);
if ($cpt==0) {
/**
** On ajoute la fiche de l'établissement
**/
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
$tabInsert=array( 'SIREN'=> $ligne['insSIREN'],
'NIC'=> $ligne['insNIC'],
);
$tabInsert=array_merge($tabInsert, $arrTel, $arrDir, $arrBase, $arrActif);
// echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL;
$retInsert=$iDbW->insert('identite', $tabInsert, true);
if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error());
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajouté".EOL;
$nbInsert++;
} else {
/**
** On modifie la fiche de l'établissement
**/
$tel=trim($ret2[0]['TEL']);
if (trim($ligne['insTEL'])<>'' && $tel=='')
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
else
$arrTel=array();
if (!$sirenNonDiffusible) {
$tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif);
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false);
if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error());
//if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifié".EOL;
$nbUpdate++;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL;
} elseif ($evenTxt<>'RCS') {
$tabTmp=@$iInsee->getIdentiteLight($siren, $nic);
$cj1=substr($tabTmp['FJ'],0,1);
$tabInsert=array('siren'=> $siren,
'nic'=> $nic,
'cj1'=> $cj1,
'idFlux'=> $ligne['idFlux'],
'insEVE'=> $even,
'mois'=> substr(''.$ligne['insDATEMAJ'].'',0,6),
);
$retInsert=$iDbW->insert('insee_nondiff', $tabInsert, true);
if (!$retInsert) date ('Y/m/d - H:i:s')." - Siren $siren non diffusible, erreur Mysql n°". mysql_errno() .' : '.mysql_error().EOL;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siren $siren non diffusible !".EOL;
}
if ($cpt>1) {
//die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL);
$tabSirenDoubles[]=$siren;// RAF
$fp=fopen('doublons.txt', 'a');
fwrite($fp, "$siren $nic : $cpt lignes\n");
fclose($fp);
//print_r($ret2);
echo date ('Y/m/d - H:i:s')." - Doublons sur $siren $nic : $cpt lignes".EOL;
$nbDBl++;
}
}
}
echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes traités ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL;
}
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL;
} else echo ', la table identite n\'est pas mise à jour !'.EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL;
$message="Fichier évènements '".implode(',', $nomFichierCharges)."' :
- $nbLignesCharges lignes traitées,
- $nbSiretInvalidesCharges siret invalides,
- $nbErreurs erreurs lors des insertions.
";
if ($updateInsee) {
$message.="
Table identité :
- $nbInsert créations,
- $nbUpdate mises à jour
";
$nbUpdate2=0;
$messageDebug2='';
/**
** Mise à jour des données entreprises non encore répercutées sur tous les établissements actifs
**/
$nbModifsEntrep=count($tabModifsEntrep);
if ($nbModifsEntrep>0) echo "En/Et=DATE_MAJ - SIREN____ NIC__ - NOM___________________ SIGLE CJ__ APENT DAPE EXPLEN EFF_ENT DEFEN NBETAB".EOL;
foreach($tabModifsEntrep as $idxDateSiren=>$tabEntrep) {
$tmp=explode('-',$idxDateSiren);
$dateMaj=$tmp[0];
$siren=$tmp[1];
$nic=$tabEntrep['NIC'];
$ret2=$iDbR->select('identite', 'SIREN, NIC, NOM, SIGLE, CJ, APE_ENT, CIVILITE, EXPLEN, DAPEN, TEFF_ENT, EFF_ENT, DEFEN, NBETAB, MONOREG, REGIMP, MONOACT, DATE_MAJ', "SIREN=$siren AND ACTIF=1 AND NIC<>$nic");
$tabUpdate=array( 'NOM' => $tabEntrep['NOM'],
'SIGLE' => $tabEntrep['SIGLE'],
'CJ' => $tabEntrep['CJ'],
'APE_ENT' => $tabEntrep['APE_ENT'],
'CIVILITE' => $tabEntrep['CIVILITE'], // Civilité
'EXPLEN' => $tabEntrep['APE_ENT'], // Entreprise exploitant tout ou partie des moyens de production
'DAPEN' => $tabEntrep['DAPEN'], // Date de validité de l'activité principale de l'entreprise
'TEFF_ENT' => $tabEntrep['TEFF_ENT'], // Tranche d'effectif salarié de l'entreprise
'EFF_ENT' => $tabEntrep['EFF_ENT'], // Effectif salarié de l'entreprise à la centaine près
'DEFEN' => $tabEntrep['DEFEN'], // Date de mise à jour de l'effectif salarié de l.entreprise (année)
'NBETAB' => $tabEntrep['NBETAB'], // Nombre d'établissements exploitants actifs de l'entreprise
'MONOREG' => $tabEntrep['MONOREG'], // Indice de mono-régionalité de l'entreprise
'REGIMP' => $tabEntrep['REGIMP'], // Principale région de localisation de l'entreprise
'MONOACT' => $tabEntrep['MONOACT'], // Indice de monoactivité de l'entreprise
'DATE_MAJ' => $tabEntrep['DATE_MAJ'],
);
foreach ($ret2 as $iSiret=>$tabSiret) {
if ($iSiret==0) {
echo "ENT= $dateMaj - $siren $nic - ".$tabEntrep['NOM'].' '.$tabEntrep['SIGLE'].' '.$tabEntrep['CJ'].' '.$tabEntrep['APE_ENT'].' '.$tabEntrep['DAPEN'].' '.
$tabEntrep['EXPLEN'].' '.$tabEntrep['EFF_ENT'].' '.$tabEntrep['DEFEN'].' '.$tabEntrep['NBETAB'].EOL;
$messageDebug2.="ENT= $dateMaj - $siren $nic - ".$tabEntrep['NOM'].' '.$tabEntrep['SIGLE'].' '.$tabEntrep['CJ'].' '.$tabEntrep['APE_ENT'].' '.$tabEntrep['DAPEN'].' '.
$tabEntrep['EXPLEN'].' '.$tabEntrep['EFF_ENT'].' '.$tabEntrep['DEFEN'].' '.$tabEntrep['NBETAB'].EOL;
}
$dateMaj2=$tmp[0];
$nic2=$tabSiret['NIC'];
echo "etab $dateMaj2 - $siren $nic2 - ".$tabSiret['NOM'].' '.$tabSiret['SIGLE'].' '.$tabSiret['CJ'].' '.$tabSiret['APE_ENT'].' '.$tabSiret['DAPEN'].' '.
$tabSiret['EXPLEN'].' '.$tabSiret['EFF_ENT'].' '.$tabSiret['DEFEN'].' '.$tabSiret['NBETAB'].EOL;
$messageDebug2.="etab $dateMaj2 - $siren $nic2 - ".$tabSiret['NOM'].' '.$tabSiret['SIGLE'].' '.$tabSiret['CJ'].' '.$tabSiret['APE_ENT'].' '.$tabSiret['DAPEN'].' '.
$tabSiret['EXPLEN'].' '.$tabSiret['EFF_ENT'].' '.$tabSiret['DEFEN'].' '.$tabSiret['NBETAB'].EOL;
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic2", false);
if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error());
$nbUpdate2++;
}
}
$message.=" - $nbUpdate2 mises à jour d'établissements secondaires non communiquées par l'Insee pour $nbModifsEntrep entreprises".EOL;
}
$message.=EOL;
/** Ajout du fichier info de l'INSEE **/
foreach ($nomFichierCharges as $nomFichier) {
$strCtrl=file_get_contents(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).strtr($nomFichier,array('EVE.'=>'','DJ'=>'NJ')));
$message.="Informations INSEE pour '$nomFichier' :".EOL;
$message.=$strCtrl.EOL;
$message.=EOL;
/** Mise à jours des informations de traitement **/
$typeDiffusion=$dateCreation=$nbRecords='';
if (preg_match('/DIFFUSION\s\((.*)\)/Uis', $strCtrl, $matches))
$typeDiffusion=$matches[1];
if (preg_match('/DATE DU TRAITEMENT\s+\:\s+(\d+)\s/Uis', $strCtrl, $matches))
$dateCreation=substr(trim($matches[1]),0,4).'20'.substr(trim($matches[1]),4,2);
if (preg_match('/NOMBRE ENREGISTREMENTS\s+\:\s+(\d+)\s/Uis', $strCtrl, $matches))
$nbRecords=trim($matches[1]);
$dateFin=date('YmdHis');
$tabInsert=array( 'nomFichier' => $nomFichier,
'dateCreation' => WDate::dateT('dmY', 'Y-m-d', $dateCreation),
'nbRecords' => $nbRecords,
'dateFlux' => $idFlux,
'dateDispo' => $tabDateFic[$idFlux],
'taille' => $tabTailles[$idFlux],
'dateChargementDeb' => $dateDeb,
'dateChargementFin' => $dateFin,
'stock' => 0,
'nbLignesLues' => $nbLignesCharges,
'nbErreurInsert' => $nbErreurs,
'nbSiretFaux' => $nbSiretInvalidesCharges,
'nbCreationsSiren' => $nbInsertSiren,
'nbCreationsSiret' => $nbInsert,
'nbUpdates' => $nbUpdate,
'typeDiffusion' => $typeDiffusion,
'dateInsert' => $dateFin,
);
print_r($tabInsert);
if(!$iDbW->insert('insee_chargements', $tabInsert)) {
$message.=EOL."Erreur SQL lors de l'ajout des informations de chargement Insee".EOL.mysql_error().EOL;
echo "Erreur SQL lors de l'ajout des informations de chargement Insee".EOL.mysql_error().EOL;
}
}
/* if (bzip2(INSEE_LOCAL_DIR.$nomFichier)) {
//unlink(RNCS_IMR_FTP_LOCALDIR.$fichier);
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
}
*/
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com,support@scores-decisions.com', 'Fin du traitement de chargement INSEE', $message.EOL.EOL.$messageDebug2.EOL.EOL.$messageDebug);
die();
?>

View File

@ -34,11 +34,11 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des flux quotidiens en provenance de Insee. Chargement du/des flux quotidiens en provenance de Insee.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee -j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee
-u Forcer la mise à jour la table identite de l'insee -u Forcer la mise à jour la table identite de l'insee
-s=20080430 Réappliquer les évènements depuis cette date -s=20080430 Réappliquer les évènements depuis cette date
-e=xxxxxxxx Réappliquer l'évènement xxxxxxxx -e=xxxxxxxx Réappliquer l'évènement xxxxxxxx
"; ";
$iDb=new WDB('insee'); $iDb=new WDB('insee');
@ -58,7 +58,7 @@ Options :
//Initialistation des variables //Initialistation des variables
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
//if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL); //if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL);
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -75,17 +75,17 @@ Options :
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL;
$dateDeb=date('YmdHis'); $dateDeb=date('YmdHis');
$db_table='insee_even'; $db_table='insee_even';
if ($ftpStep) { if ($ftpStep) {
/* Récupération des flux FTP */ /* Récupération des flux FTP */
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL;
$ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true); $ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true);
if ($ret===false) if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL);
else else
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL;
} }
/** Liste des fichiers quotidiens de l'Insee /** Liste des fichiers quotidiens de l'Insee
**/ **/
@ -96,7 +96,7 @@ Options :
} }
$tabToIdentite=array(); $tabToIdentite=array();
/** Chargement des fichiers si nécessaire /** Chargement des fichiers si nécessaire
**/ **/
for ($i=0; isset($tabFichier[$i]); $i++) for ($i=0; isset($tabFichier[$i]); $i++)
{ {
@ -108,7 +108,7 @@ Options :
$fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r'); $fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -123,13 +123,13 @@ Options :
} }
if ($nbLoaded>0) { if ($nbLoaded>0) {
if (--$nbLignes<=$nbLoaded) if (--$nbLignes<=$nbLoaded)
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL;
else else
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL);
continue; continue;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
$tabToIdentite[]=$idFlux; $tabToIdentite[]=$idFlux;
flush(); flush();
$finFichier=false; $finFichier=false;
@ -141,7 +141,7 @@ Options :
$nbLignes++; $nbLignes++;
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
if ($finFichier) { if ($finFichier) {
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré ! echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré !
die(); die();
} elseif ($a=='') } elseif ($a=='')
break; break;
@ -149,92 +149,92 @@ Options :
//unset($tabErreur); $nbErr=0; //unset($tabErreur); $nbErr=0;
$tabEve=array(); $tabEve=array();
$tabEve['idFlux'] =$idFlux; $tabEve['idFlux'] =$idFlux;
$tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour $tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour
$tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement $tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement
// DONNEES SUR L.EVENEMENT // DONNEES SUR L.EVENEMENT
$tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise à jour $tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise à jour
$tabEve['insEVE'] =substr($a,33,3);//Type d'événement $tabEve['insEVE'] =substr($a,33,3);//Type d'événement
$tabEve['insDATEVE'] =substr($a,36,8);//Date de l'événement $tabEve['insDATEVE'] =substr($a,36,8);//Date de l'événement
$tabEve['insTYPETAB'] =substr($a,44,2);//Type d'établissement concerné par l'événement $tabEve['insTYPETAB'] =substr($a,44,2);//Type d'établissement concerné par l'événement
// INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE // INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE
$tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage $tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage
$tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Complément de nom de l'entreprise pour l'adressage $tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Complément de nom de l'entreprise pour l'adressage
$tabEve['insL3_CADR'] =trim(substr($a,122,38));//Complément d'adresse pour l.adressage $tabEve['insL3_CADR'] =trim(substr($a,122,38));//Complément d'adresse pour l.adressage
$tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Numéro et libellé dans la voie $tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Numéro et libellé dans la voie
$tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution spéciale $tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution spéciale
$tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage $tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage
$tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libellé du pays pour les adresses à l'étranger $tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libellé du pays pour les adresses à l'étranger
$tabEve['insTEL'] =trim(substr($a,312,14));//Téléphone $tabEve['insTEL'] =trim(substr($a,312,14));//Téléphone
$tabEve['insRPET'] =substr($a,326,2);//Région de localisation de l'établissement $tabEve['insRPET'] =substr($a,326,2);//Région de localisation de l'établissement
$tabEve['insDEPCOM'] =substr($a,328,5);//Département et commune d'implantation de l'établissement $tabEve['insDEPCOM'] =substr($a,328,5);//Département et commune d'implantation de l'établissement
$tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie $tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie
$tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libellé de la commune de localisation de l'établissement $tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libellé de la commune de localisation de l'établissement
$tabEve['insCODPOS'] =substr($a,370,5);//Code postal $tabEve['insCODPOS'] =substr($a,370,5);//Code postal
$tabEve['insNUMVOIE'] =substr($a,375,4);//Numéro dans la voie $tabEve['insNUMVOIE'] =substr($a,375,4);//Numéro dans la voie
$tabEve['insINDREP'] =substr($a,379,1);//Indice de répétition $tabEve['insINDREP'] =substr($a,379,1);//Indice de répétition
$tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'établissement $tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'établissement
$tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libellé de la voie de localisation de l'établissement $tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libellé de la voie de localisation de l'établissement
// DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT
$tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation $tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation
$tabEve['insDCRET'] =substr($a,456,8);//Date de création de l'établissement (année, mois, jour) $tabEve['insDCRET'] =substr($a,456,8);//Date de création de l'établissement (année, mois, jour)
$tabEve['insDREACTET'] =substr($a,464,8);//Date de réactivation de l'établissement (année, mois, jour) $tabEve['insDREACTET'] =substr($a,464,8);//Date de réactivation de l'établissement (année, mois, jour)
$tabEve['insSIEGE'] =substr($a,472,1);//Qualité de siège ou non de l.établissement $tabEve['insSIEGE'] =substr($a,472,1);//Qualité de siège ou non de l.établissement
$tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production $tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production
$tabEve['insORIGINE'] =substr($a,474,2);//Origine de la création de l'établissement $tabEve['insORIGINE'] =substr($a,474,2);//Origine de la création de l'établissement
$tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'établissement $tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'établissement
$tabEve['insAPET700'] =substr($a,478,5);//Activité principale de l'entreprise en 700 classes $tabEve['insAPET700'] =substr($a,478,5);//Activité principale de l'entreprise en 700 classes
$tabEve['insDAPET'] =substr($a,483,4);//Date de validité de l'activité principale de l'établissement $tabEve['insDAPET'] =substr($a,483,4);//Date de validité de l'activité principale de l'établissement
$tabEve['insAPRM'] =substr($a,487,6);//Activité principale au registre des métiers $tabEve['insAPRM'] =substr($a,487,6);//Activité principale au registre des métiers
$saisonat=trim(strtoupper(substr($a,493,2)));//Caractère saisonnier ou non de l'activité de l'établissement $saisonat=trim(strtoupper(substr($a,493,2)));//Caractère saisonnier ou non de l'activité de l'établissement
if ($saisonat=='S') $tabEve['insSAISONAT'] =1; if ($saisonat=='S') $tabEve['insSAISONAT'] =1;
else $tabEve['insSAISONAT'] =0; else $tabEve['insSAISONAT'] =0;
$tabEve['insAUXILT'] =substr($a,495,1);//Caractère auxiliaire de l'activité de l'établissement $tabEve['insAUXILT'] =substr($a,495,1);//Caractère auxiliaire de l'activité de l'établissement
$tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activité de l'établissement $tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activité de l'établissement
$tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activité de l'établissement $tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activité de l'établissement
$tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin $tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin
$tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salarié de l'établissement $tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salarié de l'établissement
$tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salarié de l'établissement à la centaine près $tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salarié de l'établissement à la centaine près
$tabEve['insDEFET'] =substr($a,510,4);//Date de mise à jour de l'effectif salarié de l'établissement (année) $tabEve['insDEFET'] =substr($a,510,4);//Date de mise à jour de l'effectif salarié de l'établissement (année)
$tabEve['insPRODPART'] =substr($a,514,1);//Participation particulière à la production de l'établissement $tabEve['insPRODPART'] =substr($a,514,1);//Participation particulière à la production de l'établissement
$tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du prédécesseur ou du successeur $tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du prédécesseur ou du successeur
$tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associé $tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associé
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT
$tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
$tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise à jour de l'activité principale de l'établissement $tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise à jour de l'activité principale de l'établissement
$tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise à jour de l'adresse de localisation de l'établissement $tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise à jour de l'adresse de localisation de l'établissement
$tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise à jour du caractère exploitant de l'établissement $tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise à jour du caractère exploitant de l'établissement
$tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise à jour du caractère auxiliaire de l'activité de l'établissement $tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise à jour du caractère auxiliaire de l'activité de l'établissement
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise $tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise
$tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise $tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise
$tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour) $tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour)
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour) $tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour)
$tabEve['insCJ'] =substr($a,622,4);//Catégorie juridique ou professionnelle pour les entrepreneurs individuels $tabEve['insCJ'] =substr($a,622,4);//Catégorie juridique ou professionnelle pour les entrepreneurs individuels
$tabEve['insCIVILITE'] =substr($a,626,1);//Civilité des entrepreneurs individuels $tabEve['insCIVILITE'] =substr($a,626,1);//Civilité des entrepreneurs individuels
$tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production $tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production
$tabEve['insFiller4'] =substr($a,628,1);//Zone réservée $tabEve['insFiller4'] =substr($a,628,1);//Zone réservée
$tabEve['insAPEN700'] =substr($a,629,5);//Activité principale de l'établissement en 700 classes $tabEve['insAPEN700'] =substr($a,629,5);//Activité principale de l'établissement en 700 classes
$tabEve['insDAPEN'] =substr($a,634,4);//Date de validité de l'activité principale de l'entreprise $tabEve['insDAPEN'] =substr($a,634,4);//Date de validité de l'activité principale de l'entreprise
$tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salarié de l'entreprise $tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salarié de l'entreprise
$tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salarié de l'entreprise à la centaine près $tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salarié de l'entreprise à la centaine près
$tabEve['insDEFEN'] =substr($a,646,4);//Date de mise à jour de l'effectif salarié de l.entreprise (année) $tabEve['insDEFEN'] =substr($a,646,4);//Date de mise à jour de l'effectif salarié de l.entreprise (année)
$tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'établissements exploitants actifs de l'entreprise $tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'établissements exploitants actifs de l'entreprise
$tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-régionalité de l'entreprise $tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-régionalité de l'entreprise
$tabEve['insREGIMP'] =substr($a,655,2);//Principale région de localisation de l'entreprise $tabEve['insREGIMP'] =substr($a,655,2);//Principale région de localisation de l'entreprise
$tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivité de l'entreprise $tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivité de l'entreprise
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT //DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle $tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise $tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise $tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal $tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal
//INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT //INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNICSIEGE']=substr($a,664,5);//Numéro interne de classement de l'établissement siège $tabEve['insNICSIEGE']=substr($a,664,5);//Numéro interne de classement de l'établissement siège
$tabEve['insDEPCOMEN']=substr($a,669,5);//Département et commune de localisation du siège de l.entreprise $tabEve['insDEPCOMEN']=substr($a,669,5);//Département et commune de localisation du siège de l.entreprise
$tabEve['insRPEN']=substr($a,674,2);//Région de localisation du siège de l'entreprise $tabEve['insRPEN']=substr($a,674,2);//Région de localisation du siège de l'entreprise
$insSIREN=$tabEve['insSIREN']; $insSIREN=$tabEve['insSIREN'];
$insNIC=$tabEve['insNIC']; $insNIC=$tabEve['insNIC'];
@ -246,7 +246,7 @@ Options :
else else
$tabEve['siretValide']=1; $tabEve['siretValide']=1;
/** Conversion de la saisonnalité **/ /** Conversion de la saisonnalité **/
$insNOMEN=$tabEve['insNOMEN']; $insNOMEN=$tabEve['insNOMEN'];
$tabNoms=getNomPrenom($insNOMEN); $tabNoms=getNomPrenom($insNOMEN);
$tabEve['dirNom']=$tabNoms['Nom']; $tabEve['dirNom']=$tabNoms['Nom'];
@ -257,14 +257,14 @@ Options :
$finFichier=false; $finFichier=false;
$ret=$iDb->insert($db_table, $tabEve); $ret=$iDb->insert($db_table, $tabEve);
if ($ret===false) { if ($ret===false) {
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL; echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL;
$nbErreurs++; $nbErreurs++;
flush(); flush();
} else } else
$updateInsee=true; $updateInsee=true;
} else $finFichier=true; } else $finFichier=true;
/* if ($tabErreur) { /* if ($tabErreur) {
echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n"; echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n";
print_array($tabErreur,0,"txt"); print_array($tabErreur,0,"txt");
flush(); flush();
} }
@ -272,14 +272,14 @@ Options :
//unset($tabDataToInsert); //unset($tabDataToInsert);
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL;
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
$nomFichierCharges[]=$nomFichier; $nomFichierCharges[]=$nomFichier;
$nbLignesCharges=$nbLignes; $nbLignesCharges=$nbLignes;
$nbSiretInvalidesCharges=$nbSiretInvalides; $nbSiretInvalidesCharges=$nbSiretInvalides;
} }
echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé"; echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé";
/********************************************************************************************************************************** /**********************************************************************************************************************************
@ -287,10 +287,10 @@ Options :
**********************************************************************************************************************************/ **********************************************************************************************************************************/
if ($updateInsee) { if ($updateInsee) {
echo ', début de mise à jour de la table identite.'.EOL; echo ', début de mise à jour de la table identite.'.EOL;
$fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ, idFlux'; $fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ, idFlux';
// on lit R pour mettre à jour W // on lit R pour mettre à jour W
$fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ'; $fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ';
if ($iReprise>0) if ($iReprise>0)
$tabToIdentite=array(0); $tabToIdentite=array(0);
@ -303,20 +303,20 @@ Options :
//$idFlux='20080114'; //$idFlux='20080114';
if ($iReprise>0) { if ($iReprise>0) {
echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul évènement de flux quotidien...".EOL; echo date ('Y/m/d - H:i:s') . " - Chargement d'un seul évènement de flux quotidien...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "id=$iReprise", true, MYSQL_ASSOC, true); $ret=$iDbR->select('insee_even', $fieldsR, "id=$iReprise", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - $ret ligne à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s') . " - $ret ligne à mettre à jour...".EOL;
} elseif (!$dateReprise) { } elseif (!$dateReprise) {
echo date ('Y/m/d - H:i:s') . " - Début du chargement du flux $idFlux...".EOL; echo date ('Y/m/d - H:i:s') . " - Début du chargement du flux $idFlux...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); $ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes à mettre à jour...".EOL;
} else { } else {
echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux...".EOL; echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); $ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux ORDER BY idFlux ASC, insSIREN ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
// $ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux AND LENGTH(insL2_COMP)>30 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); // $ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux AND LENGTH(insL2_COMP)>30 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
/* $ret=$iDbR->select('insee_even', $fieldsR, "insSIREN IN (100800002,987310505) AND idFlux IN (20040426, 20080114) ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);*/ /* $ret=$iDbR->select('insee_even', $fieldsR, "insSIREN IN (100800002,987310505) AND idFlux IN (20040426, 20080114) ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);*/
echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL;
} }
$k=$nbInsert=$nbUpdate=$nbDBl=$nbSirenDeja=$nbInsertSiren=0; $k=$nbInsert=$nbUpdate=$nbDBl=$nbSirenDeja=$nbInsertSiren=0;
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) { while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
@ -360,22 +360,22 @@ Options :
case 'M00': case 'M00':
case '00': $even=780; break; case '00': $even=780; break;
case 'M0C': case 'M0C':
case 'CC': $even=110; break; // Création d'une entreprise case 'CC': $even=110; break; // Création d'une entreprise
case 'M0F': case 'M0F':
case 'FF': $even=410; break; // Fermeture de l'entreprise case 'FF': $even=410; break; // Fermeture de l'entreprise
case 'OC': $even=130; break; // Création d'un établissement case 'OC': $even=130; break; // Création d'un établissement
case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement
case 'M0R': case 'M0R':
case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement
case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production
case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod. case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod.
case 'OF': $even=430; break; // Fermeture d'un établissement case 'OF': $even=430; break; // Fermeture d'un établissement
case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 'TR': $even=510; $typEtab=11; break; case 'TR': $even=510; $typEtab=11; break;
case 'T0': $even=510; $typEtab=11; break; case 'T0': $even=510; $typEtab=11; break;
case 'TA': $even=510; $typEtab=11; break; case 'TA': $even=510; $typEtab=11; break;
case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un établissement dans le cadre d'un transfert case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un établissement dans le cadre d'un transfert
case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un établissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un établissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert
default: default:
if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130; if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145; elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145;
@ -391,20 +391,20 @@ Options :
$origine=trim($ligne['insORIGINE']); $origine=trim($ligne['insORIGINE']);
$destinat=trim($ligne['insDESTINAT']); $destinat=trim($ligne['insDESTINAT']);
$dateFerEN=$dateFerET=-1; // Rar défaut, on n'y touche pas $dateFerEN=$dateFerET=-1; // Rar défaut, on n'y touche pas
$sirenNonDiffusible=false; $sirenNonDiffusible=false;
switch ($even) { switch ($even) {
case 110: // Création ou réactivation Création d'une entreprise case 110: // Création ou réactivation Création d'une entreprise
case 120: // Réactivation d'une entreprise case 120: // Réactivation d'une entreprise
case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire
case 130: // Création d'un établissement case 130: // Création d'un établissement
case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire
switch ($typEtab) { switch ($typEtab) {
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 23: // Établissement fermé (hors transfert) case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
@ -420,28 +420,28 @@ Options :
continue; // On ignore les suppressions de doublons continue; // On ignore les suppressions de doublons
break; break;
case 410: // Cessation juridique de l'entreprise case 410: // Cessation juridique de l'entreprise
case 420: // Absence d'activité de l'entreprise (cessation économique de l.entreprise) case 420: // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE']; $dateFerEN=$ligne['insDATEVE'];
$actif=0; $actif=0;
/** @todo, il faudrait fermer tous les étabs **/ /** @todo, il faudrait fermer tous les étabs **/
break; break;
case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire
case 430: // Fermeture d'un établissement case 430: // Fermeture d'un établissement
case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire
switch ($typEtab) { switch ($typEtab) {
case 13: // Siège fermé (hors transfert) case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 23: // Établissement fermé (hors transfert) case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 16: // Siège modifié (hors transfert) : modification de l'APE de l'établissement case 16: // Siège modifié (hors transfert) : modification de l'APE de l'établissement
case 17: // Siège modifié (hors transfert) : modification de l'identification de l'établissement case 17: // Siège modifié (hors transfert) : modification de l'identification de l'établissement
case 19: // Siège modifié (hors transfert) : autre modification de l'établissement case 19: // Siège modifié (hors transfert) : autre modification de l'établissement
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
$dateFerET=$dateFerEN=0; $dateFerET=$dateFerEN=0;
$actif=1; $actif=1;
break; break;
@ -450,32 +450,32 @@ Options :
break; break;
} }
break; break;
case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
switch ($typEtab) { switch ($typEtab) {
case 9: // Siège après transfert non créé case 9: // Siège après transfert non créé
case 8: // Siège avant transfert non fermé case 8: // Siège avant transfert non fermé
case 11: // Siège après transfert créé case 11: // Siège après transfert créé
case 12: // Siège créé (hors transfert) case 12: // Siège créé (hors transfert)
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert) case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
case 30: // Établissement avant transfert non fermé case 30: // Établissement avant transfert non fermé
case 31: // Établissement après transfert non créé case 31: // Établissement après transfert non créé
//echo "case even=$even, typeEtab=$typEtab\n"; //echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$dateFerEN=0; $dateFerET=$dateFerEN=0;
$actif=1; $actif=1;
break; break;
case 10: // Siège avant transfert fermé case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert) case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert) case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé case 32: // Établissement supprimé
//echo "case even=$even, typeEtab=$typEtab\n"; //echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
@ -485,25 +485,25 @@ Options :
break; break;
/* /*
Que fait on pour ces codes ? Que fait on pour ces codes ?
16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement 16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement
17 Siège modifié (hors transfert) : modification de l'identification de l'établissement 17 Siège modifié (hors transfert) : modification de l'identification de l'établissement
19 Siège modifié (hors transfert) : autre modification de l'établissement 19 Siège modifié (hors transfert) : autre modification de l'établissement
26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement 26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement
27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement 27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement
29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement*/ 29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement*/
} }
break; break;
case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production
case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production
$actif=1; $actif=1;
break; break;
case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production
case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE']; $dateFerEN=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
@ -514,44 +514,44 @@ Options :
break; break;
default: default:
$actif=-1; $actif=-1;
/*631 Autre modification d'activité du SIREN associé /*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement 661 Autre modification d'activité au niveau de l'établissement
710 Modification de l'identification du SIREN 710 Modification de l'identification du SIREN
711 Modification de l'identification du SIREN suite à correction d'erreur 711 Modification de l'identification du SIREN suite à correction d'erreur
720 Modification de l'adresse ou de l'identification de l'établissement 720 Modification de l'adresse ou de l'identification de l'établissement
780 Autre modification entraînant la mise à jour d'au moins une variable du répertoire 780 Autre modification entraînant la mise à jour d'au moins une variable du répertoire
781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur*/ 781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur*/
} }
//echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL; //echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL;
/** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée ! /** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée !
**/ **/
if ($actif==-1 && (trim($ligne['insEVE'])=='MPF' || trim($ligne['insEVE'])=='MNP')) { if ($actif==-1 && (trim($ligne['insEVE'])=='MPF' || trim($ligne['insEVE'])=='MNP')) {
// Etablisement présumé fermé mais on laisse actif juridiquement // Etablisement présumé fermé mais on laisse actif juridiquement
$actif=-1; $actif=-1;
} }
elseif ($actif==-1 && ( $destinat*1==3 || // Vendu elseif ($actif==-1 && ( $destinat*1==3 || // Vendu
$destinat=='B' || // Fermé $destinat=='B' || // Fermé
$destinat=='C' || // Supprimé $destinat=='C' || // Supprimé
$destinat=='D' || // Mise en location-gérance de la totalité du fonds $destinat=='D' || // Mise en location-gérance de la totalité du fonds
$destinat=='F' || // Cessation d'activité (pour les liasses agricoles) $destinat=='F' || // Cessation d'activité (pour les liasses agricoles)
$destinat=='I' || // Transmission au conjoint (pour les liasses agricoles) $destinat=='I' || // Transmission au conjoint (pour les liasses agricoles)
$destinat=='J' || // Cession (pour les liasses agricoles) $destinat=='J' || // Cession (pour les liasses agricoles)
$destinat=='G' ) ) // Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles) $destinat=='G' ) ) // Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles)
{ {
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
} }
elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège
$destinat*1==8 || // Maintien d'activité, l'établissement devient principal $destinat*1==8 || // Maintien d'activité, l'établissement devient principal
$destinat=='A' || // Maintien d'activité, l'établissement devient secondaire $destinat=='A' || // Maintien d'activité, l'établissement devient secondaire
$destinat=='E' || // Mise en location-gérance d'une partie du fonds $destinat=='E' || // Mise en location-gérance d'une partie du fonds
$destinat=='VP' || // suppression partielle d'activité par vente $destinat=='VP' || // suppression partielle d'activité par vente
$destinat=='DP' || // suppression partielle d'activité par disparition $destinat=='DP' || // suppression partielle d'activité par disparition
$destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire $destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire
$destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles) $destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)
{ {
$actif=1; $actif=1;
} }
@ -561,7 +561,7 @@ Options :
} }
/* /*
9 Autre 9 Autre
NR Non renseigné NR Non renseigné
*/ */
if ($actif==-1) $arrActif=array(); if ($actif==-1) $arrActif=array();
@ -571,38 +571,38 @@ Options :
if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN)); if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN));
/** Zone Identité précédente /** Zone Identité précédente
** contenant tous les anciens nom, sigle et/ou enseigne concaténés ** contenant tous les anciens nom, sigle et/ou enseigne concaténés
** n'ai jamais affiché mais sert pour l'indexation au niveau de la recherche ** n'ai jamais affiché mais sert pour l'indexation au niveau de la recherche
** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement ** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale ** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle ** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
**/ **/
$identite_pre=trim($etab['IDENTITE_PRE']); $identite_pre=trim($etab['IDENTITE_PRE']);
$nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38); $nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38);
if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') { if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$nomEntrepEnBase; $identite_pre=$nomEntrepEnBase;
else else
$identite_pre.=','.$nomEntrepEnBase; $identite_pre.=','.$nomEntrepEnBase;
} }
$nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') { if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$nomEtabEnBase; $identite_pre=$nomEtabEnBase;
else else
$identite_pre.=','.$nomEtabEnBase; $identite_pre.=','.$nomEtabEnBase;
} }
$sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') { if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$sigEntrepEnBase; $identite_pre=$sigEntrepEnBase;
else else
@ -610,32 +610,32 @@ Options :
} }
$arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise $arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché) 'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché)
'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne 'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle 'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
'SIEGE'=> $ligne['insSIEGE'], // Siège 'SIEGE'=> $ligne['insSIEGE'], // Siège
'IDENTITE_PRE'=>$identite_pre, 'IDENTITE_PRE'=>$identite_pre,
'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N° dans la voie 'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N° dans la voie
'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ 'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ
'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie 'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie
'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie 'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie
'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal 'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal
'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune 'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune
'ADR_COMP'=> trim($ligne['insL3_CADR']), // Complément d'adresse 'ADR_COMP'=> trim($ligne['insL3_CADR']), // Complément d'adresse
'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spéciale 'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spéciale
'AUXILT'=> trim($ligne['insAUXILT']), // 'AUXILT'=> trim($ligne['insAUXILT']), //
'SAISONAT'=> $ligne['insSAISONAT'], // 'SAISONAT'=> $ligne['insSAISONAT'], //
'CJ'=> trim($ligne['insCJ']), 'CJ'=> trim($ligne['insCJ']),
'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme 'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme
'DCRET'=> trim($ligne['insDCRET']), // Date de création de l'établissemennt 'DCRET'=> trim($ligne['insDCRET']), // Date de création de l'établissemennt
'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise 'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE) 'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'établissement (cf. table APE) 'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'établissement (cf. table APE)
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissement de l'entreprise 'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissement de l'entreprise
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep 'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep
// 'TCA'=> trim($ligne['insTCA']), // Tr CA // 'TCA'=> trim($ligne['insTCA']), // Tr CA
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI 'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
@ -645,8 +645,8 @@ Options :
'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement 'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement
'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement 'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement
'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si différent de france 'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si différent de france
'APRM'=> trim($ligne['insAPRM']), // Répertoire Métier 'APRM'=> trim($ligne['insAPRM']), // Répertoire Métier
'ACTIVNAT'=> trim($ligne['insACTIVNAT']), 'ACTIVNAT'=> trim($ligne['insACTIVNAT']),
'ORIGINE'=> trim($ligne['insORIGINE']), 'ORIGINE'=> trim($ligne['insORIGINE']),
'MODET'=> trim($ligne['insMODET']), 'MODET'=> trim($ligne['insMODET']),
@ -669,9 +669,9 @@ Options :
if ($cpt==0) { if ($cpt==0) {
/** /**
** On ajoute la fiche de l'établissement ** On ajoute la fiche de l'établissement
**/ **/
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement $arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
$tabInsert=array( 'SIREN'=> $ligne['insSIREN'], $tabInsert=array( 'SIREN'=> $ligne['insSIREN'],
'NIC'=> $ligne['insNIC'], 'NIC'=> $ligne['insNIC'],
@ -680,26 +680,26 @@ Options :
// echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL; // echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL;
$retInsert=$iDbW->insert('identite', $tabInsert, true); $retInsert=$iDbW->insert('identite', $tabInsert, true);
if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error()); if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error());
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajouté".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajouté".EOL;
$nbInsert++; $nbInsert++;
} else { } else {
/** /**
** On modifie la fiche de l'établissement ** On modifie la fiche de l'établissement
**/ **/
$tel=trim($ret2[0]['TEL']); $tel=trim($ret2[0]['TEL']);
if (trim($ligne['insTEL'])<>'' && $tel=='') if (trim($ligne['insTEL'])<>'' && $tel=='')
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement $arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
else else
$arrTel=array(); $arrTel=array();
if (!$sirenNonDiffusible) { if (!$sirenNonDiffusible) {
$tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif); $tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif);
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false); $retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false);
if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error()); if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error());
//if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifié".EOL; //if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifié".EOL;
$nbUpdate++; $nbUpdate++;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL;
} else { } else {
$tabInsert=array('siren'=> $siren, $tabInsert=array('siren'=> $siren,
'nic'=> $nic, 'nic'=> $nic,
@ -707,7 +707,7 @@ Options :
'mois'=> substr(''.$ligne['insDATEMAJ'].'',0,6), 'mois'=> substr(''.$ligne['insDATEMAJ'].'',0,6),
); );
$retInsert=$iDbW->insert('insee_nondiff', $tabInsert, true); $retInsert=$iDbW->insert('insee_nondiff', $tabInsert, true);
if (!$retInsert) date ('Y/m/d - H:i:s')." - Siren $siren non diffusible, erreur Mysql n°". mysql_errno() .' : '.mysql_error().EOL; if (!$retInsert) date ('Y/m/d - H:i:s')." - Siren $siren non diffusible, erreur Mysql n°". mysql_errno() .' : '.mysql_error().EOL;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siren $siren non diffusible !".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siren $siren non diffusible !".EOL;
} }
if ($cpt>1) { if ($cpt>1) {
@ -722,22 +722,22 @@ Options :
} }
} }
} }
echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes traités ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes traités ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL;
} }
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL;
} else echo ', la table identite n\'est pas mise à jour !'.EOL; } else echo ', la table identite n\'est pas mise à jour !'.EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL;
$message="Fichier évènements '".implode(',', $nomFichierCharges)."' : $message="Fichier évènements '".implode(',', $nomFichierCharges)."' :
- $nbLignesCharges lignes traitées, - $nbLignesCharges lignes traitées,
- $nbSiretInvalidesCharges siret invalides, - $nbSiretInvalidesCharges siret invalides,
- $nbErreurs erreurs lors des insertions. - $nbErreurs erreurs lors des insertions.
"; ";
if ($updateInsee) { if ($updateInsee) {
$message.=" $message.="
Table identité : Table identité :
- $nbInsert créations, - $nbInsert créations,
- $nbUpdate mises à jour - $nbUpdate mises à jour
"; ";
} }
$message.=EOL; $message.=EOL;
@ -749,7 +749,7 @@ Table identité :
$message.=$strCtrl.EOL; $message.=$strCtrl.EOL;
$message.=EOL; $message.=EOL;
/** Mise à jours des informations de traitement **/ /** Mise à jours des informations de traitement **/
$typeDiffusion=$dateCreation=$nbRecords=''; $typeDiffusion=$dateCreation=$nbRecords='';
if (preg_match('/DIFFUSION\s\((.*)\)/Uis', $strCtrl, $matches)) if (preg_match('/DIFFUSION\s\((.*)\)/Uis', $strCtrl, $matches))
$typeDiffusion=$matches[1]; $typeDiffusion=$matches[1];
@ -783,7 +783,7 @@ Table identité :
/* if (bzip2(INSEE_LOCAL_DIR.$nomFichier)) { /* if (bzip2(INSEE_LOCAL_DIR.$nomFichier)) {
//unlink(RNCS_IMR_FTP_LOCALDIR.$fichier); //unlink(RNCS_IMR_FTP_LOCALDIR.$fichier);
$message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL; $message.=date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
} }
*/ */

View File

@ -34,10 +34,10 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des flux quotidiens en provenance de Insee. Chargement du/des flux quotidiens en provenance de Insee.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee -j Ne pas récupérer les derniers fichiers sur le FTP de l'Insee
-u Forcer la mise à jour la table identite de l'insee -u Forcer la mise à jour la table identite de l'insee
-s=20080430 Réappliquer les évènements depuis cette date -s=20080430 Réappliquer les évènements depuis cette date
"; ";
$iDb=new WDB('insee'); $iDb=new WDB('insee');
@ -56,7 +56,7 @@ Options :
//Initialistation des variables //Initialistation des variables
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
//if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL); //if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL);
for ($i=1,$j=0; isset($argv[$i]); $i++) { for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -72,17 +72,17 @@ Options :
} else $tabFichier[]=$argv[$i]; } else $tabFichier[]=$argv[$i];
} }
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE".EOL;
$db_table='insee_even'; $db_table='insee_even';
if ($ftpStep) { if ($ftpStep) {
/* Récupération des flux FTP */ /* Récupération des flux FTP */
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux FTP de l'INSEE...".EOL;
$ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true); $ret=ftp_mget(INSEE_FTP_URL, INSEE_FTP_USER, INSEE_FTP_PASS, INSEE_FTP_REMOTE_DIR, INSEE_LOCAL_DIR, true);
if ($ret===false) if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux INSEE en FTP incorrecte !".EOL);
else else
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL; echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux INSEE en FTP ($ret fichiers récupérés).".EOL;
} }
/** Liste des fichiers quotidiens de l'Insee /** Liste des fichiers quotidiens de l'Insee
**/ **/
@ -93,7 +93,7 @@ Options :
} }
$tabToIdentite=array(); $tabToIdentite=array();
/** Chargement des fichiers si nécessaire /** Chargement des fichiers si nécessaire
**/ **/
for ($i=0; isset($tabFichier[$i]); $i++) for ($i=0; isset($tabFichier[$i]); $i++)
{ {
@ -102,7 +102,7 @@ Options :
$fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r'); $fp=fopen(INSEE_LOCAL_DIR.str_replace('*','', INSEE_FTP_REMOTE_DIR).$nomFichier, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -117,13 +117,13 @@ Options :
} }
if ($nbLoaded>0) { if ($nbLoaded>0) {
if (--$nbLignes<=$nbLoaded) if (--$nbLignes<=$nbLoaded)
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé ($nbLoaded lignes) !".EOL;
else else
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL);
continue; continue;
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier ($nbLignes lignes à traiter) !".EOL;
$tabToIdentite[]=$idFlux; $tabToIdentite[]=$idFlux;
flush(); flush();
$finFichier=false; $finFichier=false;
@ -135,99 +135,99 @@ Options :
$nbLignes++; $nbLignes++;
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
if ($finFichier) { if ($finFichier) {
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré ! echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré !
die(); die();
} }
//unset($tabErreur); $nbErr=0; //unset($tabErreur); $nbErr=0;
$tabEve=array(); $tabEve=array();
$tabEve['idFlux'] =$idFlux; $tabEve['idFlux'] =$idFlux;
$tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour $tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour
$tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement $tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement
// DONNEES SUR L.EVENEMENT // DONNEES SUR L.EVENEMENT
$tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise à jour $tabEve['insDATEMAJ'] =strtr(substr($a,14,19),array('-'=>'','T'=>'',':'=>''));//Date de traitement de la mise à jour
$tabEve['insEVE'] =substr($a,33,3);//Type d'événement $tabEve['insEVE'] =substr($a,33,3);//Type d'événement
$tabEve['insDATEVE'] =substr($a,36,8);//Date de l'événement $tabEve['insDATEVE'] =substr($a,36,8);//Date de l'événement
$tabEve['insTYPETAB'] =substr($a,44,2);//Type d'établissement concerné par l'événement $tabEve['insTYPETAB'] =substr($a,44,2);//Type d'établissement concerné par l'événement
// INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE // INFORMATIONS SUR L.ADRESSE D.IMPLANTATION ET LA LOCALISATION GEOGRAPHIQUE
$tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage $tabEve['insL1_NOMEN'] =trim(substr($a, 46,38));//Nom ou raison sociale de l'entreprise pour l'adressage
$tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Complément de nom de l'entreprise pour l'adressage $tabEve['insL2_COMP'] =trim(substr($a, 84,38));//Complément de nom de l'entreprise pour l'adressage
$tabEve['insL3_CADR'] =trim(substr($a,122,38));//Complément d'adresse pour l.adressage $tabEve['insL3_CADR'] =trim(substr($a,122,38));//Complément d'adresse pour l.adressage
$tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Numéro et libellé dans la voie $tabEve['insL4_VOIE'] =trim(substr($a,160,38));//Numéro et libellé dans la voie
$tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution spéciale $tabEve['insL5_DISP'] =trim(substr($a,198,38));//Distribution spéciale
$tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage $tabEve['insL6_POST'] =trim(substr($a,236,38));//Ligne d.acheminement postal pour l.adressage
$tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libellé du pays pour les adresses à l'étranger $tabEve['insL7_ETRG'] =trim(substr($a,274,38));//Libellé du pays pour les adresses à l'étranger
$tabEve['insTEL'] =trim(substr($a,312,14));//Téléphone $tabEve['insTEL'] =trim(substr($a,312,14));//Téléphone
$tabEve['insRPET'] =substr($a,326,2);//Région de localisation de l'établissement $tabEve['insRPET'] =substr($a,326,2);//Région de localisation de l'établissement
$tabEve['insDEPCOM'] =substr($a,328,5);//Département et commune d'implantation de l'établissement $tabEve['insDEPCOM'] =substr($a,328,5);//Département et commune d'implantation de l'établissement
$tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie $tabEve['insCODEVOIE'] =substr($a,333,5);//Code voie
$tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libellé de la commune de localisation de l'établissement $tabEve['insLIBCOM'] =trim(substr($a,338,32));//Libellé de la commune de localisation de l'établissement
$tabEve['insCODPOS'] =substr($a,370,5);//Code postal $tabEve['insCODPOS'] =substr($a,370,5);//Code postal
$tabEve['insNUMVOIE'] =substr($a,375,4);//Numéro dans la voie $tabEve['insNUMVOIE'] =substr($a,375,4);//Numéro dans la voie
$tabEve['insINDREP'] =substr($a,379,1);//Indice de répétition $tabEve['insINDREP'] =substr($a,379,1);//Indice de répétition
$tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'établissement $tabEve['insTYPVOIE'] =trim(substr($a,380,4));//Type de la voie de localisation de l'établissement
$tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libellé de la voie de localisation de l'établissement $tabEve['insLIBVOIE'] =trim(substr($a,384,32));//Libellé de la voie de localisation de l'établissement
// DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ETABLISSEMENT
$tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation $tabEve['insENSEIGNE'] =trim(substr($a,416,40));//Enseigne ou nom de l.exploitation
$tabEve['insDCRET'] =substr($a,456,8);//Date de création de l'établissement (année, mois, jour) $tabEve['insDCRET'] =substr($a,456,8);//Date de création de l'établissement (année, mois, jour)
$tabEve['insDREACTET'] =substr($a,464,8);//Date de réactivation de l'établissement (année, mois, jour) $tabEve['insDREACTET'] =substr($a,464,8);//Date de réactivation de l'établissement (année, mois, jour)
$tabEve['insSIEGE'] =substr($a,472,1);//Qualité de siège ou non de l.établissement $tabEve['insSIEGE'] =substr($a,472,1);//Qualité de siège ou non de l.établissement
$tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production $tabEve['insEXPLET'] =substr($a,473,1);//Etablissement exploitant tout ou partie des moyens de production
$tabEve['insORIGINE'] =substr($a,474,2);//Origine de la création de l'établissement $tabEve['insORIGINE'] =substr($a,474,2);//Origine de la création de l'établissement
$tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'établissement $tabEve['insDESTINAT'] =substr($a,476,2);//Destination de l'établissement
$tabEve['insAPET700'] =substr($a,478,5);//Activité principale de l'entreprise en 700 classes $tabEve['insAPET700'] =substr($a,478,5);//Activité principale de l'entreprise en 700 classes
$tabEve['insDAPET'] =substr($a,483,4);//Date de validité de l'activité principale de l'établissement $tabEve['insDAPET'] =substr($a,483,4);//Date de validité de l'activité principale de l'établissement
$tabEve['insAPRM'] =substr($a,487,6);//Activité principale au registre des métiers $tabEve['insAPRM'] =substr($a,487,6);//Activité principale au registre des métiers
$saisonat=trim(strtoupper(substr($a,493,2)));//Caractère saisonnier ou non de l'activité de l'établissement $saisonat=trim(strtoupper(substr($a,493,2)));//Caractère saisonnier ou non de l'activité de l'établissement
if ($saisonat=='S') $tabEve['insSAISONAT'] =1; if ($saisonat=='S') $tabEve['insSAISONAT'] =1;
else $tabEve['insSAISONAT'] =0; else $tabEve['insSAISONAT'] =0;
$tabEve['insAUXILT'] =substr($a,495,1);//Caractère auxiliaire de l'activité de l'établissement $tabEve['insAUXILT'] =substr($a,495,1);//Caractère auxiliaire de l'activité de l'établissement
$tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activité de l'établissement $tabEve['insACTIVNAT'] =substr($a,496,2);//Nature de l'activité de l'établissement
$tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activité de l'établissement $tabEve['insLIEUACT'] =substr($a,498,2);//Lieu de l'activité de l'établissement
$tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin $tabEve['insACTISURF'] =substr($a,500,2);//Type de magasin
$tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salarié de l'établissement $tabEve['insTEFET'] =substr($a,502,2);//Tranche d'effectif salarié de l'établissement
$tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salarié de l'établissement à la centaine près $tabEve['insEFETCENT'] =substr($a,504,6);//Effectif salarié de l'établissement à la centaine près
$tabEve['insDEFET'] =substr($a,510,4);//Date de mise à jour de l'effectif salarié de l'établissement (année) $tabEve['insDEFET'] =substr($a,510,4);//Date de mise à jour de l'effectif salarié de l'établissement (année)
$tabEve['insPRODPART'] =substr($a,514,1);//Participation particulière à la production de l'établissement $tabEve['insPRODPART'] =substr($a,514,1);//Participation particulière à la production de l'établissement
$tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du prédécesseur ou du successeur $tabEve['insSIRETPS'] =trim(substr($a,515,14));//Siret du prédécesseur ou du successeur
$tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associé $tabEve['insSIRETASS'] =trim(substr($a,529,14));//Siret associé
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENTDESCRIPTION DES MISES A JOUR DE L.ETABLISSEMENT
$tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
$tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise à jour de l'activité principale de l'établissement $tabEve['insMAPET'] =substr($a,544,1);//Indicateur de mise à jour de l'activité principale de l'établissement
$tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise à jour de l'adresse de localisation de l'établissement $tabEve['insMADRESSE'] =substr($a,545,1);//Indicateur de mise à jour de l'adresse de localisation de l'établissement
$tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise à jour du caractère exploitant de l'établissement $tabEve['insMEXPLET'] =substr($a,546,1);//Indicateur de mise à jour du caractère exploitant de l'établissement
$tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise à jour du caractère auxiliaire de l'activité de l'établissement $tabEve['insMAUXILT'] =substr($a,547,1);//Indicateur de mise à jour du caractère auxiliaire de l'activité de l'établissement
// DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT // DONNEES DE GESTION CONCERNANT L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise $tabEve['insNOMEN'] =trim(substr($a,548,38));//Nom ou raison sociale de l'entreprise
$tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise $tabEve['insSIGLE'] =trim(substr($a,586,20));//Sigle de l'entreprise
$tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour) $tabEve['insDCREN'] =substr($a,606,8);//Date de création de l'entreprise (année, mois, jour)
$tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour) $tabEve['insDREACTEN'] =substr($a,614,8);//Date de réactivation de l'entreprise (année, mois, jour)
$tabEve['insCJ'] =substr($a,622,4);//Catégorie juridique ou professionnelle pour les entrepreneurs individuels $tabEve['insCJ'] =substr($a,622,4);//Catégorie juridique ou professionnelle pour les entrepreneurs individuels
$tabEve['insCIVILITE'] =substr($a,626,1);//Civilité des entrepreneurs individuels $tabEve['insCIVILITE'] =substr($a,626,1);//Civilité des entrepreneurs individuels
$tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production $tabEve['insEXPLEN'] =substr($a,627,1);//Entreprise exploitant tout ou partie des moyens de production
$tabEve['insFiller4'] =substr($a,628,1);//Zone réservée $tabEve['insFiller4'] =substr($a,628,1);//Zone réservée
$tabEve['insAPEN700'] =substr($a,629,5);//Activité principale de l'établissement en 700 classes $tabEve['insAPEN700'] =substr($a,629,5);//Activité principale de l'établissement en 700 classes
$tabEve['insDAPEN'] =substr($a,634,4);//Date de validité de l'activité principale de l'entreprise $tabEve['insDAPEN'] =substr($a,634,4);//Date de validité de l'activité principale de l'entreprise
$tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salarié de l'entreprise $tabEve['insTEFEN'] =substr($a,638,2);//Tranche d'effectif salarié de l'entreprise
$tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salarié de l'entreprise à la centaine près $tabEve['insEFENCENT'] =substr($a,640,6);//Effectif salarié de l'entreprise à la centaine près
$tabEve['insDEFEN'] =substr($a,646,4);//Date de mise à jour de l'effectif salarié de l.entreprise (année) $tabEve['insDEFEN'] =substr($a,646,4);//Date de mise à jour de l'effectif salarié de l.entreprise (année)
$tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'établissements exploitants actifs de l'entreprise $tabEve['insNBETEXPL'] =substr($a,650,4);//Nombre d'établissements exploitants actifs de l'entreprise
$tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-régionalité de l'entreprise $tabEve['insMONOREG'] =substr($a,654,1);//Indice de mono-régionalité de l'entreprise
$tabEve['insREGIMP'] =substr($a,655,2);//Principale région de localisation de l'entreprise $tabEve['insREGIMP'] =substr($a,655,2);//Principale région de localisation de l'entreprise
$tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivité de l'entreprise $tabEve['insMONOACT'] =substr($a,657,1);//Indice de monoactivité de l'entreprise
//DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT //DESCRIPTION DES MISES A JOUR DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
$tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
$tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle $tabEve['insMCJ']=substr($a,660,1);//Indicateur de mise à jour de la catégorie juridique ou catégorie professionnelle
$tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise $tabEve['insMAPEN']=substr($a,661,1);//Indicateur de mise à jour de l'activité principale de l'entreprise
$tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise $tabEve['insMEXPLEN']=substr($a,662,1);//Indicateur de mise à jour du caractère exploitant de l'entreprise
$tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal $tabEve['insMNICSIEGE']=substr($a,663,1);//Indicateur de mise à jour du Nic du siège ou l'établissement principal
//INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT //INFORMATIONS SUR LE SIEGE DE L.ENTREPRISE A LAQUELLE APPARTIENT L.ETABLISSEMENT
$tabEve['insNICSIEGE']=substr($a,664,5);//Numéro interne de classement de l'établissement siège $tabEve['insNICSIEGE']=substr($a,664,5);//Numéro interne de classement de l'établissement siège
$tabEve['insDEPCOMEN']=substr($a,669,5);//Département et commune de localisation du siège de l.entreprise $tabEve['insDEPCOMEN']=substr($a,669,5);//Département et commune de localisation du siège de l.entreprise
$tabEve['insRPEN']=substr($a,674,2);//Région de localisation du siège de l'entreprise $tabEve['insRPEN']=substr($a,674,2);//Région de localisation du siège de l'entreprise
$insSIREN=$tabEve['insSIREN']; $insSIREN=$tabEve['insSIREN'];
$insNIC=$tabEve['insNIC']; $insNIC=$tabEve['insNIC'];
@ -239,7 +239,7 @@ Options :
else else
$tabEve['siretValide']=1; $tabEve['siretValide']=1;
/** Conversion de la saisonnalité **/ /** Conversion de la saisonnalité **/
$insNOMEN=$tabEve['insNOMEN']; $insNOMEN=$tabEve['insNOMEN'];
$tabNoms=getNomPrenom($insNOMEN); $tabNoms=getNomPrenom($insNOMEN);
$tabEve['dirNom']=$tabNoms['Nom']; $tabEve['dirNom']=$tabNoms['Nom'];
@ -250,14 +250,14 @@ Options :
$finFichier=false; $finFichier=false;
$ret=$iDb->insert($db_table, $tabEve); $ret=$iDb->insert($db_table, $tabEve);
if ($ret===false) { if ($ret===false) {
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL; echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL;
$nbErreurs++; $nbErreurs++;
flush(); flush();
} else } else
$updateInsee=true; $updateInsee=true;
} else $finFichier=true; } else $finFichier=true;
/* if ($tabErreur) { /* if ($tabErreur) {
echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n"; echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n";
print_array($tabErreur,0,"txt"); print_array($tabErreur,0,"txt");
flush(); flush();
} }
@ -265,14 +265,14 @@ Options :
//unset($tabDataToInsert); //unset($tabDataToInsert);
} }
fclose ($fp); fclose ($fp);
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL; echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier vient d'être chargé.".EOL;
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
$nomFichierCharges=$nomFichier; $nomFichierCharges=$nomFichier;
$nbLignesCharges=$nbLignes; $nbLignesCharges=$nbLignes;
$nbSiretInvalidesCharges=$nbSiretInvalides; $nbSiretInvalidesCharges=$nbSiretInvalides;
} }
echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - Au total : $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé"; echo date ('Y/m/d - H:i:s') . " - Chargement des évènements terminé";
/********************************************************************************************************************************** /**********************************************************************************************************************************
@ -280,10 +280,10 @@ Options :
**********************************************************************************************************************************/ **********************************************************************************************************************************/
if ($updateInsee) { if ($updateInsee) {
echo ', début de mise à jour de la table identite.'.EOL; echo ', début de mise à jour de la table identite.'.EOL;
$fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ'; $fieldsR='insSIREN, insNIC, insEVE, insDATEVE, insTYPETAB, insORIGINE, insDESTINAT, insTRAN, insNICTRAN, insL1_NOMEN, insNOMEN, insL2_COMP, insENSEIGNE, insSIGLE, insSIEGE, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insLIBCOM, insCODPOS, insL3_CADR, insL5_DISP, insAUXILT, insSAISONAT, insCJ, insCIVILITE, insDCRET, insDCREN, insAPEN700, insAPET700, insNBETEXPL, insTEFEN, insCODEVOIE, insDEPCOM, insTEL, insEFENCENT, insTEFET, insEFETCENT, insL7_ETRG, insAPRM, insACTIVNAT, insORIGINE, insMODET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insMODEN, insPRODPART, insEXPLEN, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insDAPEN, dirNom, dirNomUsage, dirPrenom, insDATEMAJ';
// on lit R pour mettre à jour W // on lit R pour mettre à jour W
$fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ'; $fieldsW='SIREN, NIC, IDENTITE_PRE, ACTIF, NOM, NOM2, ENSEIGNE, SIGLE, SIEGE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, AUXILT, SAISONAT, CJ, CIVILITE, DCRET, DCREN, APE_ENT, APE_ETAB, NBETAB, TEFF_ENT, TCA, CODEVOIE, ADR_DEP, ADR_COM, TEL, EFF_ENT, TEFF_ET, EFF_ET, PAYS, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, DAPET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, DEFEN, MONOREG, REGIMP, MONOACT, DAPEN, DIR_FCT, DIR_IDEN, DATE_MAJ';
if (!$dateReprise)//$tabToIdentite if (!$dateReprise)//$tabToIdentite
sort($tabToIdentite); sort($tabToIdentite);
@ -294,9 +294,9 @@ Options :
//$idFlux='20080114'; //$idFlux='20080114';
if (!$dateReprise) { if (!$dateReprise) {
echo date ('Y/m/d - H:i:s') . " - Début du chargement du flux $idFlux...".EOL; echo date ('Y/m/d - H:i:s') . " - Début du chargement du flux $idFlux...".EOL;
$ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); $ret=$iDbR->select('insee_even', $fieldsR, "idFlux=$idFlux ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s') . " - Chargement du flux $idFlux : $ret lignes à mettre à jour...".EOL;
} else { } else {
echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux...".EOL; echo date ('Y/m/d - H:i:s') . " - Chargement des flux quotidiens depuis $idFlux...".EOL;
//$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); //$ret=$iDbR->select('insee_even', $fieldsR, "idFlux>=$idFlux ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
@ -22123,7 +22123,7 @@ Options :
998591507, 998591507,
998724504 998724504
) AND idFlux>=20080430 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true); ) AND idFlux>=20080430 ORDER BY idFlux ASC, insDATEMAJ ASC", true, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL;
} }
$k=$nbInsert=$nbUpdate=$nbDBl=0; $k=$nbInsert=$nbUpdate=$nbDBl=0;
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) { while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
@ -22157,22 +22157,22 @@ Options :
case 'M00': case 'M00':
case '00': $even=780; break; case '00': $even=780; break;
case 'M0C': case 'M0C':
case 'CC': $even=110; break; // Création d'une entreprise case 'CC': $even=110; break; // Création d'une entreprise
case 'M0F': case 'M0F':
case 'FF': $even=410; break; // Fermeture de l'entreprise case 'FF': $even=410; break; // Fermeture de l'entreprise
case 'OC': $even=130; break; // Création d'un établissement case 'OC': $even=130; break; // Création d'un établissement
case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement case 'RC': $even=120; break; // Réactivation d'une entreprise par création d'un établissement
case 'M0R': case 'M0R':
case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement case 'RR': $even=120; break; // Réactivation d'une entreprise par réactivation d'un établissement
case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production case 'OA': $even=145; break; // Activation économique d'un étab par adjonction de moyens de production
case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod. case 'OD': $even=430; break; // Désactivation économique d'un étab par suppression de moyens de prod.
case 'OF': $even=430; break; // Fermeture d'un établissement case 'OF': $even=430; break; // Fermeture d'un établissement
case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 'TC': $even=510; $typEtab=11; break; // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 'TR': $even=510; $typEtab=11; break; case 'TR': $even=510; $typEtab=11; break;
case 'T0': $even=510; $typEtab=11; break; case 'T0': $even=510; $typEtab=11; break;
case 'TA': $even=510; $typEtab=11; break; case 'TA': $even=510; $typEtab=11; break;
case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un établissement dans le cadre d'un transfert case 'TF': $even=510; $typEtab=10; break; // Fermeture d'un établissement dans le cadre d'un transfert
case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un établissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert case 'TD': $even=510; $typEtab=10; break; // Désactivation économique d'un établissement (ordinaire devient singulier) par suppression de moyens de production dans le cadre d'un transfert
default: default:
if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130; if (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='C') $even=130;
elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145; elseif (''.substr(trim($ligne['insEVE']),0,1).''==0 && substr(trim($ligne['insEVE']),1,1)=='A') $even=145;
@ -22188,14 +22188,14 @@ Options :
$origine=trim($ligne['insORIGINE']); $origine=trim($ligne['insORIGINE']);
$destinat=trim($ligne['insDESTINAT']); $destinat=trim($ligne['insDESTINAT']);
$dateFerEN=$dateFerET=-1; // Rar défaut, on n'y touche pas $dateFerEN=$dateFerET=-1; // Rar défaut, on n'y touche pas
switch ($even) { switch ($even) {
case 110: // Création ou réactivation Création d'une entreprise case 110: // Création ou réactivation Création d'une entreprise
case 120: // Réactivation d'une entreprise case 120: // Réactivation d'une entreprise
case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire case 125: // Réactivation d'une entreprise suite à une mise à jour du répertoire
case 130: // Création d'un établissement case 130: // Création d'un établissement
case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire case 145: // Reprise d'activité dans un établissement suite à une mise à jour du répertoire
$dateFerET=$dateFerEN=0; $dateFerET=$dateFerEN=0;
$actif=1; $actif=1;
break; break;
@ -22205,44 +22205,44 @@ Options :
continue; // On ignore les suppressions de doublons continue; // On ignore les suppressions de doublons
break; break;
case 410: // Cessation juridique de l'entreprise case 410: // Cessation juridique de l'entreprise
case 420: // Absence d'activité de l'entreprise (cessation économique de l.entreprise) case 420: // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire case 425: // Absence d'activité d'une entreprise suite à une mise à jour au répertoire
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE']; $dateFerEN=$ligne['insDATEVE'];
$actif=0; $actif=0;
/** @todo, il faudrait fermer tous les étabs **/ /** @todo, il faudrait fermer tous les étabs **/
break; break;
case 430: // Fermeture d'un établissement case 430: // Fermeture d'un établissement
case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire case 435: // Fermeture d'un établissement suite à une mise à jour au répertoire
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 510: // Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert case 520: // Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert case 530: // Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert
case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert case 540: // Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert
switch ($typEtab) { switch ($typEtab) {
case 9: // Siège après transfert non créé case 9: // Siège après transfert non créé
case 8: // Siège avant transfert non fermé case 8: // Siège avant transfert non fermé
case 11: // Siège après transfert créé case 11: // Siège après transfert créé
case 12: // Siège créé (hors transfert) case 12: // Siège créé (hors transfert)
case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique case 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert) case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
case 30: // Établissement avant transfert non fermé case 30: // Établissement avant transfert non fermé
case 31: // Établissement après transfert non créé case 31: // Établissement après transfert non créé
//echo "case even=$even, typeEtab=$typEtab\n"; //echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$dateFerEN=0; $dateFerET=$dateFerEN=0;
$actif=1; $actif=1;
break; break;
case 10: // Siège avant transfert fermé case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert) case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert) case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé case 32: // Établissement supprimé
//echo "case even=$even, typeEtab=$typEtab\n"; //echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
@ -22252,25 +22252,25 @@ Options :
break; break;
/* /*
Que fait on pour ces codes ? Que fait on pour ces codes ?
16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement 16 Siège modifié (hors transfert) : modification de l'activité principale de l'établissement
17 Siège modifié (hors transfert) : modification de l'identification de l'établissement 17 Siège modifié (hors transfert) : modification de l'identification de l'établissement
19 Siège modifié (hors transfert) : autre modification de l'établissement 19 Siège modifié (hors transfert) : autre modification de l'établissement
26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement 26 Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement
27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement 27 Établissement modifié (hors transfert) : modification de l'identification de l'établissement
29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement*/ 29 Établissement modifié (hors transfert) : modification d.une autre variable de l'établissement*/
} }
break; break;
case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production case 610: // Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production
case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production case 640: // Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production
$actif=1; $actif=1;
break; break;
case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production case 620: // Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production
case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur case 621: // Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE']; $dateFerEN=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production case 650: // Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
break; break;
@ -22280,44 +22280,44 @@ Options :
break; break;
default: default:
$actif=-1; $actif=-1;
/*631 Autre modification d'activité du SIREN associé /*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement 661 Autre modification d'activité au niveau de l'établissement
710 Modification de l'identification du SIREN 710 Modification de l'identification du SIREN
711 Modification de l'identification du SIREN suite à correction d'erreur 711 Modification de l'identification du SIREN suite à correction d'erreur
720 Modification de l'adresse ou de l'identification de l'établissement 720 Modification de l'adresse ou de l'identification de l'établissement
780 Autre modification entraînant la mise à jour d'au moins une variable du répertoire 780 Autre modification entraînant la mise à jour d'au moins une variable du répertoire
781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur*/ 781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur*/
} }
//echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL; //echo "$k : [$siren $nic\t$even\t$destinat\t$typEtab\t$origine\t($actif)]".EOL;
/** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée ! /** Si on n'a pas pu déterminé l'état actif ou inactif, on test si la variable DESTINAT est renseignée !
**/ **/
if ($actif==-1 && trim($ligne['insEVE'])=='MPF') { if ($actif==-1 && trim($ligne['insEVE'])=='MPF') {
// Etablisement présumé fermé mais on laisse actif juridiquement // Etablisement présumé fermé mais on laisse actif juridiquement
$actif=-1; $actif=-1;
} }
elseif ($actif==-1 && ( $destinat*1==3 || // Vendu elseif ($actif==-1 && ( $destinat*1==3 || // Vendu
$destinat=='B' || // Fermé $destinat=='B' || // Fermé
$destinat=='C' || // Supprimé $destinat=='C' || // Supprimé
$destinat=='D' || // Mise en location-gérance de la totalité du fonds $destinat=='D' || // Mise en location-gérance de la totalité du fonds
$destinat=='F' || // Cessation d'activité (pour les liasses agricoles) $destinat=='F' || // Cessation d'activité (pour les liasses agricoles)
$destinat=='I' || // Transmission au conjoint (pour les liasses agricoles) $destinat=='I' || // Transmission au conjoint (pour les liasses agricoles)
$destinat=='J' || // Cession (pour les liasses agricoles) $destinat=='J' || // Cession (pour les liasses agricoles)
$destinat=='G' ) ) // Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles) $destinat=='G' ) ) // Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles)
{ {
$dateFerET=$ligne['insDATEVE']; $dateFerET=$ligne['insDATEVE'];
$actif=0; $actif=0;
} }
elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège elseif ($actif==-1 && ( $destinat*1==7 || // Maintien d'activité, l'établissement devient siège
$destinat*1==8 || // Maintien d'activité, l'établissement devient principal $destinat*1==8 || // Maintien d'activité, l'établissement devient principal
$destinat=='A' || // Maintien d'activité, l'établissement devient secondaire $destinat=='A' || // Maintien d'activité, l'établissement devient secondaire
$destinat=='E' || // Mise en location-gérance d'une partie du fonds $destinat=='E' || // Mise en location-gérance d'une partie du fonds
$destinat=='VP' || // suppression partielle d'activité par vente $destinat=='VP' || // suppression partielle d'activité par vente
$destinat=='DP' || // suppression partielle d'activité par disparition $destinat=='DP' || // suppression partielle d'activité par disparition
$destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire $destinat=='RP' || // suppression partielle d'activité par reprise par le propriétaire
$destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles) $destinat=='H') ) // Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)
{ {
$actif=1; $actif=1;
} }
@ -22327,7 +22327,7 @@ Options :
} }
/* /*
9 Autre 9 Autre
NR Non renseigné NR Non renseigné
*/ */
if ($actif==-1) $arrActif=array(); if ($actif==-1) $arrActif=array();
@ -22337,38 +22337,38 @@ Options :
if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN)); if ($dateFerEN<>-1) $arrActif=array_merge($arrActif, array('dateFerEN'=>$dateFerEN));
/** Zone Identité précédente /** Zone Identité précédente
** contenant tous les anciens nom, sigle et/ou enseigne concaténés ** contenant tous les anciens nom, sigle et/ou enseigne concaténés
** n'ai jamais affiché mais sert pour l'indexation au niveau de la recherche ** n'ai jamais affiché mais sert pour l'indexation au niveau de la recherche
** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement ** On ne se sert pas de $tabEve['insMENSEIGNE'] =substr($a,543,1);//Indicateur de mise à jour de l'enseigne de l'établissement
** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale ** $tabEve['insMNOMEN']=substr($a,658,1);//Indicateur de mise à jour du nom ou de la raison sociale
** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle ** $tabEve['insMSIGLE']=substr($a,659,1);//Indicateur de mise à jour du sigle
**/ **/
$identite_pre=trim($etab['IDENTITE_PRE']); $identite_pre=trim($etab['IDENTITE_PRE']);
$nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEntrep=trim(strtr($ligne['insNOMEN'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38); $nomEntrepEnBase=substr(trim(strtr($etab['NOM'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))),0,38);
if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') { if ($nomEntrepEnBase<>$nomEntrep && $nomEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - NOM En base : / MAJ : $nomEntrepEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$nomEntrepEnBase; $identite_pre=$nomEntrepEnBase;
else else
$identite_pre.=','.$nomEntrepEnBase; $identite_pre.=','.$nomEntrepEnBase;
} }
$nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEtab=trim(strtr($ligne['insENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $nomEtabEnBase=trim(strtr($etab['ENSEIGNE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') { if ($nomEtabEnBase<>$nomEtab && $nomEtabEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - ENSEIGNE En base : / MAJ : $nomEtabEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$nomEtabEnBase; $identite_pre=$nomEtabEnBase;
else else
$identite_pre.=','.$nomEtabEnBase; $identite_pre.=','.$nomEtabEnBase;
} }
$sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $sigEntrep=trim(strtr($ligne['insSIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
$sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°'))); $sigEntrepEnBase=trim(strtr($etab['SIGLE'],array('*'=>' ','/'=>' ',"\'"=>"'",chr(191)=>'°')));
if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') { if ($sigEntrepEnBase<>$sigEntrep && $sigEntrepEnBase<>'') {
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Ligne $nbLignes, établissement $siren $nic - SIGLE En base : / MAJ : $sigEntrepEnBase".EOL;
if (strlen($identite_pre)==0) if (strlen($identite_pre)==0)
$identite_pre=$sigEntrepEnBase; $identite_pre=$sigEntrepEnBase;
else else
@ -22376,32 +22376,32 @@ Options :
} }
$arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise $arrBase=array( 'NOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise
'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché) 'NOM2'=> trim($ligne['insL2_COMP']), // Enseigne de l'établissement ou sigle de l'entreprise ou enfin, nom commercial (Intermarché)
'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne 'ENSEIGNE'=> trim($ligne['insENSEIGNE']), // Nom de l'établissement ou enseigne
'SIGLE'=> trim($ligne['insSIGLE']), // Sigle 'SIGLE'=> trim($ligne['insSIGLE']), // Sigle
'SIEGE'=> $ligne['insSIEGE'], // Siège 'SIEGE'=> $ligne['insSIEGE'], // Siège
'IDENTITE_PRE'=>$identite_pre, 'IDENTITE_PRE'=>$identite_pre,
'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N° dans la voie 'ADR_NUMVOIE'=> trim($ligne['insNUMVOIE']), // N° dans la voie
'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ 'ADR_BTQ'=> trim($ligne['insINDREP']), // BTQ
'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie 'ADR_TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie
'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie 'ADR_LIBVOIE'=> trim($ligne['insLIBVOIE']), // Lib Voie
'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal 'ADR_CP'=> trim($ligne['insCODPOS']), // Code Postal
'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune 'ADR_LIBCOM'=> trim($ligne['insLIBCOM']), // Commune
'ADR_COMP'=> trim($ligne['insL3_CADR']), // Complément d'adresse 'ADR_COMP'=> trim($ligne['insL3_CADR']), // Complément d'adresse
'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spéciale 'ADR_DISTSP'=> trim($ligne['insL5_DISP']), // Distribution Spéciale
'AUXILT'=> trim($ligne['insAUXILT']), // 'AUXILT'=> trim($ligne['insAUXILT']), //
'SAISONAT'=> $ligne['insSAISONAT'], // 'SAISONAT'=> $ligne['insSAISONAT'], //
'CJ'=> trim($ligne['insCJ']), 'CJ'=> trim($ligne['insCJ']),
'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme 'CIVILITE'=> trim($ligne['insCIVILITE']), // Sexe 0=Entrep, 1=Homme, 2=Femme
'DCRET'=> trim($ligne['insDCRET']), // Date de création de l'établissemennt 'DCRET'=> trim($ligne['insDCRET']), // Date de création de l'établissemennt
'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise 'DCREN'=> trim($ligne['insDCREN']), // Date de création de l'entreprise
'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE) 'APE_ENT'=> trim($ligne['insAPEN700']), // Code NAF de l'entreprise (cf. table APE)
'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'établissement (cf. table APE) 'APE_ETAB'=> trim($ligne['insAPET700']), // Code NAF de l'établissement (cf. table APE)
'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissement de l'entreprise 'NBETAB'=> trim($ligne['insNBETEXPL']), // Nombre d'établissement de l'entreprise
'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep 'TEFF_ENT'=> trim($ligne['insTEFEN']), // Tr Eff Entrep
// 'TCA'=> trim($ligne['insTCA']), // Tr CA // 'TCA'=> trim($ligne['insTCA']), // Tr CA
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI 'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
@ -22411,8 +22411,8 @@ Options :
'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement 'TEFF_ET'=> trim($ligne['insTEFET']), // Tr Eff Etablissement
'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement 'EFF_ET'=> trim($ligne['insEFETCENT']), // Eff Etablissement
'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si différent de france 'PAYS'=> trim($ligne['insL7_ETRG']), // Pays si différent de france
'APRM'=> trim($ligne['insAPRM']), // Répertoire Métier 'APRM'=> trim($ligne['insAPRM']), // Répertoire Métier
'ACTIVNAT'=> trim($ligne['insACTIVNAT']), 'ACTIVNAT'=> trim($ligne['insACTIVNAT']),
'ORIGINE'=> trim($ligne['insORIGINE']), 'ORIGINE'=> trim($ligne['insORIGINE']),
'MODET'=> trim($ligne['insMODET']), 'MODET'=> trim($ligne['insMODET']),
@ -22435,9 +22435,9 @@ Options :
if ($cpt==0) { if ($cpt==0) {
/** /**
** On ajoute la fiche de l'établissement ** On ajoute la fiche de l'établissement
**/ **/
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement $arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
$tabInsert=array( 'SIREN'=> $ligne['insSIREN'], $tabInsert=array( 'SIREN'=> $ligne['insSIREN'],
'NIC'=> $ligne['insNIC'], 'NIC'=> $ligne['insNIC'],
@ -22446,25 +22446,25 @@ Options :
// echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL; // echo date ('Y/m/d - H:i:s')." - Siret $siren $nic en cours d'ajout".EOL;
$retInsert=$iDbW->insert('identite', $tabInsert, true); $retInsert=$iDbW->insert('identite', $tabInsert, true);
if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error()); if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error());
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajouté".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic ajouté".EOL;
$nbInsert++; $nbInsert++;
} else { } else {
/** /**
** On modifie la fiche de l'établissement ** On modifie la fiche de l'établissement
**/ **/
$tel=trim($ret2[0]['TEL']); $tel=trim($ret2[0]['TEL']);
if (trim($ligne['insTEL'])<>'' && $tel=='') if (trim($ligne['insTEL'])<>'' && $tel=='')
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement $arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
else else
$arrTel=array(); $arrTel=array();
$tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif); $tabUpdate=array_merge($arrTel, $arrDir, $arrBase, $arrActif);
$retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false); $retUpdate=$iDbW->update('identite', $tabUpdate, "SIREN=$siren AND NIC=$nic", false);
if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error()); if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error());
//if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifié".EOL; //if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic modifié".EOL;
$nbUpdate++; $nbUpdate++;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL; if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL;
if ($cpt>1) { if ($cpt>1) {
//die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL); //die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL);
@ -22478,22 +22478,22 @@ Options :
} }
} }
} }
echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes traités ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du chargement du flux $idFlux : $k lignes traités ($nbInsert ajouts, $nbUpdate maj et $nbDBl doublons).".EOL;
} }
echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la mise à jour de la table identité".EOL;
} else echo ', la table identite n\'est pas mise à jour !'.EOL; } else echo ', la table identite n\'est pas mise à jour !'.EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL;
$message="Fichier évènements '$nomFichierCharges' : $message="Fichier évènements '$nomFichierCharges' :
- $nbLignesCharges lignes traitées, - $nbLignesCharges lignes traitées,
- $nbSiretInvalidesCharges siret invalides, - $nbSiretInvalidesCharges siret invalides,
- $nbErreurs erreurs lors des insertions. - $nbErreurs erreurs lors des insertions.
"; ";
if ($updateInsee) { if ($updateInsee) {
$message.=" $message.="
Table identité : Table identité :
- $nbInsert créations, - $nbInsert créations,
- $nbUpdate mises à jour - $nbUpdate mises à jour
"; ";
} }
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Fin du traitement de chargement INSEE', $message); sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Fin du traitement de chargement INSEE', $message);

File diff suppressed because it is too large Load Diff

View File

@ -8,35 +8,35 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
define('JAL_LOCAL_DIR','/home/data/ftp/jal/jal42/'); define('JAL_LOCAL_DIR','/home/data/ftp/jal/jal42/');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Récupère en FTP les annonces BODACC A, B et C depuis le serveur des JO. Récupère en FTP les annonces BODACC A, B et C depuis le serveur des JO.
Options : Options :
-t:NOMFICHIER.TLS Nom du fichier local à -intégrer directement -t:NOMFICHIER.TLS Nom du fichier local à -intégrer directement
(prévoir l'UPDATE des annonces BODACC déjà en base lorsque nous serons en PROD) (prévoir l'UPDATE des annonces BODACC déjà en base lorsque nous serons en PROD)
-j Ne se connecte pas au FTP des JO -j Ne se connecte pas au FTP des JO
-A -B -C Chargement des annonces limités au BODACC A, B ou C -A -B -C Chargement des annonces limités au BODACC A, B ou C
". ".
// -n:XXX Numéro du Bodacc // -n:XXX Numéro du Bodacc
// -d:JJ/MM/AAAA Rechargement des annonces BODACC depuis cette date // -d:JJ/MM/AAAA Rechargement des annonces BODACC depuis cette date
// -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date // -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date
" -l Derniers BODACC non intégrés uniquement (*) " -l Derniers BODACC non intégrés uniquement (*)
-m Force la date d'insertion à celle de la récupération des fichiers Bodacc (cas d'un rechargement complet) -m Force la date d'insertion à celle de la récupération des fichiers Bodacc (cas d'un rechargement complet)
-r (inopérant) Rechargement des annonces déjà en base -r (inopérant) Rechargement des annonces déjà en base
-e EFFACEMENT DE TOUTES LES ANNONCES correspondantes déjà en base (et non mise à jour) -e EFFACEMENT DE TOUTES LES ANNONCES correspondantes déjà en base (et non mise à jour)
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
"; ";
// ==> ATTENTION : faire cette opération en connaissance de cause car les liens entres annonces seront perdus !!! // ==> ATTENTION : faire cette opération en connaissance de cause car les liens entres annonces seront perdus !!!
$lastJO=$dateDebut=$dateFin=$dateDeb=$fichierTLS=$numBodaccIN=false; $lastJO=$dateDebut=$dateFin=$dateDeb=$fichierTLS=$numBodaccIN=false;
$tabBodaccF=array(); // Tableau des Bodacc à recharger $tabBodaccF=array(); // Tableau des Bodacc à recharger
$update=false; // Par défaut, si une annonce est déjà en base, on ne la met pas à jour !!! $update=false; // Par défaut, si une annonce est déjà en base, on ne la met pas à jour !!!
$erase=false; // Par défaut, on n'efface pas les annonces $erase=false; // Par défaut, on n'efface pas les annonces
$ftpStep=true; // Par défaut, on se connecte au FTP des JO $ftpStep=true; // Par défaut, on se connecte au FTP des JO
$forceDateInsertABodacc=false; // Par défaut, la date d'insertion des annonces n'est pas calée sur celle des fichiers Bodacc (en cas de réinitilaisation) $forceDateInsertABodacc=false; // Par défaut, la date d'insertion des annonces n'est pas calée sur celle des fichiers Bodacc (en cas de réinitilaisation)
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $lastJO=true; // Fonctionnement normal du script, càd : on charge les derniers BODACC non encore intégrés if ($_SERVER['argc']==1) $lastJO=true; // Fonctionnement normal du script, càd : on charge les derniers BODACC non encore intégrés
else { else {
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
@ -118,7 +118,7 @@ foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc
if (preg_match('/CREATION/i', $nomFichier)) { if (preg_match('/CREATION/i', $nomFichier)) {
/** FICHIER DE CREATIONS **/ /** FICHIER DE CREATIONS **/
echo(date ('Y/m/d - H:i:s')." - Traitement des annonces de Création du fichier $nomFichier...".EOL); echo(date ('Y/m/d - H:i:s')." - Traitement des annonces de Création du fichier $nomFichier...".EOL);
$fj=$typeCreation=$raisonSociale=$etsSecAdr=$etsSecCP=$etsSecVille=$siegeAdr=$siegeCP=$siegeVille=$capital=''; $fj=$typeCreation=$raisonSociale=$etsSecAdr=$etsSecCP=$etsSecVille=$siegeAdr=$siegeCP=$siegeVille=$capital='';
$dateDebut=$fonction=$dirigeant=$activite=$codirigeant=$tel=$enseigne=$complement=''; $dateDebut=$fonction=$dirigeant=$activite=$codirigeant=$tel=$enseigne=$complement='';
@ -131,7 +131,7 @@ foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc
$ligne_utf8=preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$ligne_utf8)); $ligne_utf8=preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$ligne_utf8));
$ligne=utf8_decode($ligne_utf8); $ligne=utf8_decode($ligne_utf8);
//echo "LIGNE $i,$decalage = '".trim($ligne)."'".EOL; //echo "LIGNE $i,$decalage = '".trim($ligne)."'".EOL;
/** On récupère le numéro de page **/ /** On récupère le numéro de page **/
if(preg_match('/<page number="(\d*)" /Ui',$ligne_utf8,$matches)) { if(preg_match('/<page number="(\d*)" /Ui',$ligne_utf8,$matches)) {
$pageCourante=$matches[1]; $pageCourante=$matches[1];
continue; continue;
@ -163,7 +163,7 @@ foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc
} }
elseif (preg_match('/^<b>au capital de (.*)<\/b>/Ui',$ligne_utf8,$matches)) { elseif (preg_match('/^<b>au capital de (.*)<\/b>/Ui',$ligne_utf8,$matches)) {
$capital=trim(utf8_decode($matches[1])); $capital=trim(utf8_decode($matches[1]));
if(preg_match('/(.*)Tél.*:(.*)$/Ui',$capital,$matches)) { if(preg_match('/(.*)Tél.*:(.*)$/Ui',$capital,$matches)) {
$tel=trim($matches[2]); $tel=trim($matches[2]);
$capital=trim($matches[1]); $capital=trim($matches[1]);
} }
@ -270,7 +270,7 @@ foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc
$ligne_utf8=trim(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$ligne_utf8))); $ligne_utf8=trim(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$ligne_utf8)));
$ligne=utf8_decode($ligne_utf8); $ligne=utf8_decode($ligne_utf8);
//echo "LIGNE $i,$decalage = '".trim($ligne)."'".EOL; //echo "LIGNE $i,$decalage = '".trim($ligne)."'".EOL;
/** On récupère le numéro de page **/ /** On récupère le numéro de page **/
if(preg_match('/<page number="(\d*)" /Ui',$ligne_utf8,$matches)) { if(preg_match('/<page number="(\d*)" /Ui',$ligne_utf8,$matches)) {
$pageCourante=$matches[1]; $pageCourante=$matches[1];
continue; continue;
@ -410,7 +410,7 @@ foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc
echo(date ('Y/m/d - H:i:s')." - Traitement des annonces de Radiation du fichier $nomFichier...".EOL); echo(date ('Y/m/d - H:i:s')." - Traitement des annonces de Radiation du fichier $nomFichier...".EOL);
} else } else
die(date ('Y/m/d - H:i:s')." - ERREUR : Type de fichier non explicite - Créations, Procédures, Radiations ???".EOL); die(date ('Y/m/d - H:i:s')." - ERREUR : Type de fichier non explicite - Créations, Procédures, Radiations ???".EOL);
} }

208
1.1/old/getJalApce.php Normal file
View File

@ -0,0 +1,208 @@
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
/**
** Ce script récupère les tribunaux compétents pour les codes insee des communes (site du ministère de la justice)
** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
**
** Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'common/curl.php');
$referer='http://www.apce.com/pid1642/journaux-d-annonces-legales.html?espace=1&tp=1';
$iDb=new WDB();
$iInsee=new MInsee();
/*
$url='http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01000&type=all';
$page=getUrl($url, '', '', $referer, false, 'www.justice.gouv.fr');
die($page['body']);
*/
/** Initialisation des codes départements **/
$tabDept=array();
for($i=1;$i<96;$i++) {
if ($i<10) $tabDept[]='0'.$i;
elseif ($i==20) { $tabDept[]='2A'; $tabDept[]='2B'; }
else $tabDept[]=$i;
}
$tabDept[]=971; $tabDept[]=972; $tabDept[]=973; $tabDept[]=974;
$tabDept[]=975; $tabDept[]=976; $tabDept[]=987; $tabDept[]=988;
foreach ($tabDept as $i=>$dep) {
/** Mise à jour provisoire de l'agrément **/
$iDb->update('tabJAL', array('agree'=>11), "dep='$dep' AND agree=1", false);
$url="http://www.apce.com/pid1642/journaux-d-annonces-legales.html?departement=$dep";
$page=getUrl($url, '', '', $referer, false);
$body=$page['body'];
if ($dep=='2A' || $dep=='2B') $dep=20;
if (preg_match('/<p>(?:.*)<h4>(.*)<\/h4>(?:.*)<\/p>/Uis', $body, $matches)) $libDep=$matches[1];
if (preg_match('/<div class="data">(?:.*)<ul class="arrow2">(.*)<\/ul>(?:.*)<\/div>/Uis', $body, $matches)) {
$strJal=$matches[1];
if (preg_match_all('/<li>(?:.*)<p>(.*)<strong>(.*)<\/strong>(?:.*)<br \/>(?:.*) -->(.*)<br \/>(.*) (\d\d\d\d\d) (.*)<br \/>(.*)<\/p>(?:.*)<\/li>/Uis', $strJal, $matches)) {
//print_r($matches);
foreach ($matches[2] as $j=>$nomJal) {
$tabJal=array( 'agree'=>1,
'dep' => $dep,
'nomJal' => $nomJal,
//siren int(9) UNSIGNED ZEROFILL Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
'siteWeb' => strtr(trim($matches[1][$j]),array('<a href="'=>'','" target="_blank">'=>'')),
'adresse' => trim($matches[3][$j]),
'adresse2' => trim($matches[4][$j]),
'cp' => trim($matches[5][$j]),
'ville' => trim($matches[6][$j]),
);
if (preg_match('/<br \/>Tel \: (.*)<br \/>/Uis', $matches[7][$j], $matches2))
$tabJal['tel']=trim($matches2[1]);
if (preg_match('/<br \/>Fax \: (.*)<br \/>/Uis', $matches[7][$j], $matches2))
$tabJal['fax']=trim($matches2[1]);
if (preg_match('/<br \/>E-mail \: <a href="mailto\:(.*)">(?:.*)<br \/>/Uis', $matches[7][$j], $matches2))
$tabJal['email']= html_entity_decode(trim($matches2[1]));
if (preg_match('/<br \/>Parution \: (.*)<br \/>/Uis', $matches[7][$j], $matches2))
$tabJal['parution']=trim($matches2[1]);
if (preg_match('/<br \/>Parution \:(?:.*)<br \/>(.*)$/Uis', trim($matches[7][$j]), $matches2))
$tabJal['infos']=trim($matches2[1]);
/* datetime Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
dateUpdate timestamp')
/* parutionJours set('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche') latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
aboAnnuel double Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
aboAnnuelWeb double Oui NULL Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
aboAnnuelDateMaj date Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
editions varchar(255) latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
sedDateAbo date Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
sedIdDerJal varchar(80) latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
sedTailleDerJal int(11) Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
sedDateDerJal datetime Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
*/
$nomJal2=addslashes($nomJal);
$ret=$iDb->select('tabJAL', 'id, tel, fax, email, siteWeb', "dep='$dep' AND nomJal='$nomJal2'", false, MYSQL_ASSOC);
if (count($ret)==0) {
$tabInsert=array_merge($tabJal, array('dateInsert'=>date('YmdHis')));
$iDb->insert('tabJAL', $tabInsert, false);
echo date('Y/m/d - H:i:s') ." - Dept. $dep : Ajout du JAL '$nomJal'".EOL;
} elseif (count($ret)==1) {
if (@$ret[0]['siteWeb']<>'' && isset($tabJal['siteWeb']) && @$tabJal['siteWeb']=='') unset($tabJal['siteWeb']);
$iDb->update('tabJAL', $tabJal, "dep='$dep' AND nomJal='$nomJal2'", false);
echo date('Y/m/d - H:i:s') ." - Dept. $dep : MAJ du JAL '$nomJal'".EOL;
} else {
echo date('Y/m/d - H:i:s') ." - Dept. $dep : ATTENTION, plusieurs JAL pour '$nomJal'".EOL;
}
//print_r($tabJal);
}
}
}
/** Mise à jour définitive de l'agrément **/
$iDb->update('tabJAL', array('agree'=>0, 'dateFinAgree'=>date('Ymd')), "dep='$dep' AND agree!=1", false);
//die();
/*
if (strpos($body, "<P>Erreur rencontrée : java.lang.NullPointerException</P>")==0)
{
//print_r($page);
$cookie=$page['header']['Set-Cookie'];
$page=getUrl('http://annuaire-cfe.insee.fr/AnnuaireCFE/jsp/lcferf.jsp', $cookie, '', $url, false, 'annuaire-cfe.insee.fr');
$body=$page['body'];
if (preg_match('/<font size="2" face="Arial, Helvetica, sans-serif" color="#D01010">(?:.*)([\d]{2,3})(?:.*)- (.*) \/ (.*)<\/b><\/font><\/td>/Uis', $body, $matches)) {
$depLu=$matches[1];
$depLib=$matches[2];
$comLib=$matches[3];
}
$tabTmp=explode('<tr bgcolor="#FFFFFF">',$body);
//print_r($tabTmp);die();
$sleep=false;
foreach ($tabTmp as $j=>$tabTrib) {
if ($j<2) continue;
if (preg_match('/<td valign="top" width="48%"> <font face="Arial, Helvetica, sans-serif" size="2">(?:.*)<b>(.*)<\/b><br>(.*)<\/font>/Uis', $tabTrib, $results)) {
$libTri=strip_tags($results[1]);
if (preg_match("/^Chambre de commerce et d'industrie$/i", $libTri)) $typeTri='O';// CCI
elseif (preg_match("/^Chambre de métiers et de l'artisanat/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Chambre de métiers/i", $libTri)) $typeTri='T';// CM
elseif (preg_match("/^Greffe du tribunal de commerce/i", $libTri)) continue;//$typeTri='C';// TC
elseif (preg_match("/^Chambre d'agriculture/i", $libTri)) $typeTri='R';// AGR
elseif (preg_match("/^Chambre nationale de la batellerie artisanale/i", $libTri)) $typeTri='N';// BAR
elseif (preg_match("/^URSSAF/i", $libTri)) $typeTri='U';// URS
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
else die("Libellé CFE '$libTri' inconnu !");
} else die('Erreur fatale');
if (preg_match_all('/(.*)(?:<br>|<\/a>)/Uis', $results[2], $results)) {
//print_r($results);die();
$results2=$results[1];
$adresse1=trim($results2[0]);
$adresse2=trim($results2[1]);
if (substr($adresse2,0,5)*1>0) {
$adresse2='';
$i=1;
} else $i=2;
$cpVille=trim(@$results2[$i]);
$cp=substr($cpVille,0,5)*1;
$ville=trim(substr($cpVille,5));
$tel=str_replace(' ','',strtr(@$results2[$i+1], 'TélFax :.',' '))*1;
$fax=str_replace(' ','',strtr(@$results2[$i+2], 'TélFax :.',' '))*1;
if (preg_match('/<a href="(.*)"/Ui', trim(@$results2[$i+3]), $results2)) $web=strtolower($results2[1]);
if ($web=='http://') $web='';
$id=md5($typeTri.$adresse1.$cp.$ville);
$str=$tabCom['codeInsee'].";1;$depLu;$depLib;$comLib;$id;$typeTri;$adresse1;$adresse2;$cp;$ville;$cpVille;$tel;$fax;$web";
$trib=$iDb->select('tribunaux', 'triId, triCode, triType, triNom, triCP, triTel, triFax', "triType='$typeTri' AND triCommentaire='$id'");
if (isset($trib[0]['triId'])) {
$id=$trib[0]['triId'];
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} else {
// Il faut insérer la fiche ID de la compétence
$tabAdr=$iInsee->structureVoie($adresse1);
$tabInsert=array('triType'=>$typeTri,
'triNom'=> $libTri,
'triCP'=>$cp,
'triWeb'=>$web,
'triAdrNum'=>$tabAdr['num'],
'triAdrIndRep'=>@$tabAdr['indRep'],
'triAdrTypeVoie'=>$tabAdr['typeVoie'],
'triAdrVoie'=>$tabAdr['libVoie'],
'triAdrComp'=>$adresse2,
'triVille'=>$ville,
'triTel'=>$tel,
'triFax'=>$fax,
'triCommentaire'=>$id,
);
$id=$iDb->insert('tribunaux', $tabInsert);
$code='';
$nom=$libTri;
print_r($tabInsert);
$sleep=true;
}
echo $str;
if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
if (!$ret) {
echo ' Déjà en base.';
}
else {
echo ' ===> INSERE !!!';
$sleep=true;
}
echo "\n";
}
}
}
} else {
$str=$tabCom['codeInsee'].";0;;;".$tabCom['LibCom']."\n";
echo $str;
}*/
/*if ($sleep) randsleep(5, 15);//7,21);
else randsleep(2, 7);*/
// sleep(2);
}
die();
?>

View File

@ -14,21 +14,21 @@ function getNextDate($dateCour, $nbJours=7) {
function getInfosAnnonceBalo($annonceHtml) { function getInfosAnnonceBalo($annonceHtml) {
$tabAnnBalo=array(); $tabAnnBalo=array();
//Société : <b>ARGAN</b><br/> //Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>')))); $tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//if ($tabAnnBalo['Societe_Nom']=='') //if ($tabAnnBalo['Societe_Nom']=='')
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>'))); // $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>')));
//<p>RCS : <b>393430608 </b> //<p>RCS : <b>393430608 </b>
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>')); $tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>'));
// Catégorie : <b><i> BULLETIN OFFICIEL DE L'AMF </i></b><br/> // Catégorie : <b><i> BULLETIN OFFICIEL DE L'AMF </i></b><br/>
$tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : <b><i>', '<i>', '</i>')))); $tabAnnBalo['Categorie']=trim(str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, 'Catégorie : <b><i>', '<i>', '</i>'))));
// N° d'affaire : <b>0712845</b><br /> // N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>'); $tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br /> // Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br />
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>'); $tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2); $tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
// (Parution n°<b>95</b>) <br /> // (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>'); $tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
/*<p>Annonce au format /*<p>Annonce au format
<a class="grisbleu" href="http://balo.journal-officiel.gouv.fr/html/2007/0808/200708080712646.htm" target="_blank"><b>HTML</b></a> ou <a class="grisbleu" href="http://balo.journal-officiel.gouv.fr/html/2007/0808/200708080712646.htm" target="_blank"><b>HTML</b></a> ou
<a class="grisbleu" href="https://balo.journal-officiel.gouv.fr/pdf/2007/0808/200708080712646.pdf" target="_blank"><b>PDF</b></a></p>*/ <a class="grisbleu" href="https://balo.journal-officiel.gouv.fr/pdf/2007/0808/200708080712646.pdf" target="_blank"><b>PDF</b></a></p>*/
@ -55,16 +55,16 @@ $dateDerParution=$dateCour=$dateF=false;
$yDeb=2004; $yDeb=2004;
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION] $strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les dernières annonces BALO sur le site de la DJO. Recupère les dernières annonces BALO sur le site de la DJO.
Sans aucun paramètre, récupération des dernières Annonces. Sans aucun paramètre, récupération des dernières Annonces.
Sinon: Sinon:
-d:JJ/MM/AAAA Date de début de publication -d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication -f:JJ/MM/AAAA Date de fin de publication
-a:YYYY Année à récupérer -a:YYYY Année à récupérer
-l Dernière parution uniquement (*) -l Dernière parution uniquement (*)
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes) -n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes) -i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
"; ";
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -120,8 +120,8 @@ else {
$strDates=" du $dateDebut au $dateFin"; $strDates=" du $dateDebut au $dateFin";
$dateCour=$dateDeb; $dateCour=$dateDeb;
} }
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO BALO$strDates".EOL;
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL; echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
/* /*
$dt=1322953200; $dt=1322953200;
$dt=1086300000;//000 $dt=1086300000;//000
@ -151,7 +151,7 @@ for ($y=$yDeb;$y<=date('Y');$y++) {
else $num2='0'.$num; else $num2='0'.$num;
$dateFic=($y.$md)*1; $dateFic=($y.$md)*1;
if ($dateFic>DATE) { if ($dateFic>DATE) {
echo "Dernier JORF du jour téléchargé !".EOL; echo "Dernier JORF du jour téléchargé !".EOL;
break(3); break(3);
} }
@ -197,7 +197,7 @@ for ($y=$yDeb;$y<=date('Y');$y++) {
die(); die();
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
//for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions //for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
if ($cookie=='') { if ($cookie=='') {
$referer=''; $referer='';
@ -211,10 +211,10 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
} }
if ($lastJO==true) { // Cas récup dernier JO if ($lastJO==true) { // Cas récup dernier JO
$dateAff=$dateDerParution; $dateAff=$dateDerParution;
$url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast'; $url='http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=showLast';
} else { // On est pas dans la récupération du JO Assoc Jiur } else { // On est pas dans la récupération du JO Assoc Jiur
$dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour); $dateAff=WDate::dateT('Ymd', 'd/m/Y',$dateCour);
$dateFmt=str_replace('/', '%2F', $dateAff); $dateFmt=str_replace('/', '%2F', $dateAff);
$url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher"; $url="http://www.journal-officiel.gouv.fr/balo/index.php?ACTION=Rechercher&HI_PAGE=1&HI_COMPTEUR=0&original_method=get&SOCIETE_NAME=&WHAT=&RCS=&NUM_AFF=&JPA_D_D=$dateFmt&JPA_D_F=$dateFmt&ID_BALO=&rechercher.x=0&rechercher.y=0&rechercher=Rechercher";
@ -224,7 +224,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$referer=$url; $referer=$url;
$body=$page['body']; $body=$page['body'];
$ctx=@getTextInHtml($body, '<a href="index.php?ctx=', 'ctx=', '&page='); $ctx=@getTextInHtml($body, '<a href="index.php?ctx=', 'ctx=', '&page=');
echo date('Y/m/d - H:i:s') .' - Clé Ctx = "'. $ctx .'"' . EOL; echo date('Y/m/d - H:i:s') .' - Clé Ctx = "'. $ctx .'"' . EOL;
$nbAnnonces=@getTextInHtml($body, '<h1>R&Eacute;SULTAT DE LA RECHERCHE :</h1>', 'recherche :', 'annonce(s) correspondent'); $nbAnnonces=@getTextInHtml($body, '<h1>R&Eacute;SULTAT DE LA RECHERCHE :</h1>', 'recherche :', 'annonce(s) correspondent');
//die(print_r($body)); //die(print_r($body));
@ -237,7 +237,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
die(); die();
} }
// On recherche si nous n'avons pas déjà toutes ces annonces en base ! // On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2); $dateDb=substr($dateAff,6,4).'-'.substr($dateAff,3,2).'-'.substr($dateAff,0,2);
$AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'"); $AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'");
$nbAnnDb=$AnnDb[0][0]; $nbAnnDb=$AnnDb[0][0];
@ -252,7 +252,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes); randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
continue; continue;
} elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) { } elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL; $message=date('Y/m/d - H:i:s') .' - ERREUR : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO BALO du '. $dateDerParution .' !'. EOL;
echo $message; echo $message;
mail('ylenaour@scores-decisions.com', 'JO BALO', $message); mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
mail('lenaoury@gmail.com', 'JO BALO', $message); mail('lenaoury@gmail.com', 'JO BALO', $message);
@ -302,13 +302,13 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$isin=''; $isin='';
if ($siren>1000000) { if ($siren>1000000) {
/** Recherche du code ISIN / infos boursières **/ /** Recherche du code ISIN / infos boursières **/
$iBourse=new MBourse($siren); $iBourse=new MBourse($siren);
$isin=$iBourse->getCodeIsin($siren); $isin=$iBourse->getCodeIsin($siren);
$strIsin="(Isin=$isin) "; $strIsin="(Isin=$isin) ";
} else } else
$strIsin=""; $strIsin="";
echo date('Y/m/d - H:i:s') ." - Annonce n°$i2/$nbAnnonces, Siren $siren $strIsin: ".$infoAnnBalo['Societe_Nom'] .EOL; echo date('Y/m/d - H:i:s') ." - Annonce n°$i2/$nbAnnonces, Siren $siren $strIsin: ".$infoAnnBalo['Societe_Nom'] .EOL;
$page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr'); $page=getUrl($infoAnnBalo['Url_Annonce_Html'], '', '', '', false, 'balo.journal-officiel.gouv.fr');
//echo '<table border="1"><tr><td>'. $page['body'] .'</td></tr></table><hr/>'; //echo '<table border="1"><tr><td>'. $page['body'] .'</td></tr></table><hr/>';
@ -321,7 +321,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repBalo.$anneeParution); @mkdir($repBalo.$anneeParution);
$fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w'); $fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) if (!fwrite($fp, $page['body']) || !$fp)
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['Url_Annonce_Pdf']) .' pour le SIREN '. $infoAnnBalo['Societe_Rcs'] . EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['Url_Annonce_Pdf']) .' pour le SIREN '. $infoAnnBalo['Societe_Rcs'] . EOL;
@fclose($fp); @fclose($fp);
$tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf'])); $tabPdf=getPdfInfo($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']));
@ -333,12 +333,12 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
if (!$iDb->insert('balo', $infoAnnBalo)) { if (!$iDb->insert('balo', $infoAnnBalo)) {
print_r($infoAnnBalo); print_r($infoAnnBalo);
echo date ('Y/m/d - H:i:s') .' - ERREUR : Insertion impossible de l\'annonce MySql n°'. mysql_errno() .') : '. mysql_error() . EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : Insertion impossible de l\'annonce MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
} }
$numParution=$infoAnnBalo['Num_Parution']; $numParution=$infoAnnBalo['Num_Parution'];
} }
/** Téléchargement du dernier balo complet en PDF /** Téléchargement du dernier balo complet en PDF
**/ **/
$url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF'; $url = 'http://www.journal-officiel.gouv.fr/balo/'.sprintf("%03d", $numParution).'_monte_final.PDF';
if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) { if (!file_exists($repBaloComp.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF')) {
@ -347,11 +347,11 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repBaloComp.$anneeParution); @mkdir($repBaloComp.$anneeParution);
$fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w'); $fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
if (!fwrite($fp, $page['body']) || !$fp) if (!fwrite($fp, $page['body']) || !$fp)
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL; echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. $anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF' .' du balo complet !' . EOL;
@fclose($fp); @fclose($fp);
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF téléchargé.'.EOL;
} else } else
echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL; echo date("Y/m/d - H:i:s") . ' - BALO complet n° '.sprintf("%03d", $numParution).'_monte_final.PDF déjà téléchargé.'.EOL;
$tabPdf=getPdfInfo($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF'); $tabPdf=getPdfInfo($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF');
if ($tabPdf) { if ($tabPdf) {
$taillePdf=$tabPdf['pdfSize']/1024; $taillePdf=$tabPdf['pdfSize']/1024;

View File

@ -12,12 +12,12 @@ define('LIENS_FTP_LOCALDIR', '/home/data/ftp/infolegs/recv/');
define('LIENS_BACKUP_DIR', '/home/data/liens/'); define('LIENS_BACKUP_DIR', '/home/data/liens/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des flux Liens en provenance de Infolégales. Chargement des flux Liens en provenance de Infolégales.
Options : Options :
-v Mode debug (Verbosité au maximum) -v Mode debug (Verbosité au maximum)
-f Ne pas générer les annonces de fusions -f Ne pas générer les annonces de fusions
-m:SSAAMM Forcer le mois de mise à jour à SSAAMM (sinon mois précedent) -m:SSAAMM Forcer le mois de mise à jour à SSAAMM (sinon mois précedent)
-l:links.txt Chemin et nom du fichier des liens -l:links.txt Chemin et nom du fichier des liens
-e:entities.txt Chemin et nom du fichier des entites -e:entities.txt Chemin et nom du fichier des entites
@ -56,11 +56,11 @@ Options :
while (false !== ($filename = readdir($dh))) { while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..') { if ($filename<>'.' && $filename<>'..') {
if (strtolower(substr($filename,-4))=='.zip') { if (strtolower(substr($filename,-4))=='.zip') {
echo date ('Y/m/d - H:i:s')." - Traitement des liens, fichier $filename à traiter...".EOL; echo date ('Y/m/d - H:i:s')." - Traitement des liens, fichier $filename à traiter...".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Traitement des liens, fichier $filename à traiter...".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Traitement des liens, fichier $filename à traiter...".EOL;
$zip = zip_open(LIENS_FTP_LOCALDIR.$filename); $zip = zip_open(LIENS_FTP_LOCALDIR.$filename);
if (is_resource($zip)) { if (is_resource($zip)) {
if ($fichierZip) die(date ('Y/m/d - H:i:s') . " - ERREUR 3 : Il y a déjà un fichier ZIP !".EOL); if ($fichierZip) die(date ('Y/m/d - H:i:s') . " - ERREUR 3 : Il y a déjà un fichier ZIP !".EOL);
while ($zip_entry = zip_read($zip)) { while ($zip_entry = zip_read($zip)) {
$tDeb = microtime(true); $tDeb = microtime(true);
$filenameGz=zip_entry_name($zip_entry); $filenameGz=zip_entry_name($zip_entry);
@ -76,18 +76,18 @@ Options :
zip_entry_close($zip_entry); zip_entry_close($zip_entry);
fclose($fp); fclose($fp);
} else } else
die(date ('Y/m/d - H:i:s') . " - ERREUR 1 : Décompression impossible de $filename !".EOL); die(date ('Y/m/d - H:i:s') . " - ERREUR 1 : Décompression impossible de $filename !".EOL);
$tailleGz=round($tailleGz/1024,1); $tailleGz=round($tailleGz/1024,1);
$tailleUnz=round(filesize(LIENS_FTP_LOCALDIR.$filenameGz)/1024,1); $tailleUnz=round(filesize(LIENS_FTP_LOCALDIR.$filenameGz)/1024,1);
$tFin = microtime(true); $tFin = microtime(true);
$tDur = round($tFin-$tDeb); $tDur = round($tFin-$tDeb);
echo date ('Y/m/d - H:i:s')." - Fichier $filenameGz décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL; echo date ('Y/m/d - H:i:s')." - Fichier $filenameGz décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier $filename décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier $filename décompressé : $tailleUnz Ko en $tDur sec. ($tailleGz Ko compressés)".EOL;
$fichierZip=$filename; $fichierZip=$filename;
} }
zip_close($zip); zip_close($zip);
} else } else
die(date ('Y/m/d - H:i:s') . " - ERREUR 2 : Décompression impossible de $filename !".EOL); die(date ('Y/m/d - H:i:s') . " - ERREUR 2 : Décompression impossible de $filename !".EOL);
} }
} }
} }
@ -96,17 +96,17 @@ Options :
if (!$links) { if (!$links) {
echo $strInfoScript; echo $strInfoScript;
die('Aucun fichier Liens à traiter'.EOL); die('Aucun fichier Liens à traiter'.EOL);
} elseif (!$entities) { } elseif (!$entities) {
echo $strInfoScript; echo $strInfoScript;
die('Aucun fichier Entites à traiter'.EOL); die('Aucun fichier Entites à traiter'.EOL);
} else { } else {
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du stock de liens".EOL; echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du stock de liens".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement de chargement du stock de liens".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement de chargement du stock de liens".EOL;
} }
$fp=fopen($entities, 'r'); $fp=fopen($entities, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier $entities à traiter !".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier $entities à traiter !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -117,8 +117,8 @@ Options :
$nbLignes++; $nbLignes++;
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $entities ($nbLignes lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $entities ($nbLignes lignes à traiter) !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement du fichier $entities ($nbLignes lignes) !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement du fichier $entities ($nbLignes lignes) !".EOL;
$nbLignes=0; $nbLignes=0;
rewind($fp); rewind($fp);
@ -152,17 +152,17 @@ Options :
// print_r($tabEntites); // print_r($tabEntites);
// die(); // die();
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretVides siren vides et $nbSiretInvalides siren invalides !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretVides siren vides et $nbSiretInvalides siren invalides !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - $nbLignes lignes traitées dont $nbSiretVides siren vides et $nbSiretInvalides siren invalides !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - $nbLignes lignes traitées dont $nbSiretVides siren vides et $nbSiretInvalides siren invalides !".EOL;
// On remet l'état actif/inactif à 0 ou 1 (en cas de plantage précédent) // On remet l'état actif/inactif à 0 ou 1 (en cas de plantage précédent)
$ret=$iDb->query("UPDATE $table SET actif=actif%10 WHERE source=1800"); $ret=$iDb->query("UPDATE $table SET actif=actif%10 WHERE source=1800");
echo date ('Y/m/d - H:i:s') . ' - Les Liens INFOLEGS sont OK pour la mise à jour ('.mysql_error().').'.EOL; echo date ('Y/m/d - H:i:s') . ' - Les Liens INFOLEGS sont OK pour la mise à jour ('.mysql_error().').'.EOL;
$dateInsert=date('YmdHis'); $dateInsert=date('YmdHis');
$fp=fopen($links, 'r'); $fp=fopen($links, 'r');
if (!$fp) { if (!$fp) {
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier $links à traiter !".EOL; echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier $links à traiter !".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die(); die();
} }
@ -174,8 +174,8 @@ Options :
$a = trim(fgets($fp, 1024)); $a = trim(fgets($fp, 1024));
} }
$nbLinks=$nbLignes; $nbLinks=$nbLignes;
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $links ($nbLinks lignes à traiter) !".EOL; echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier $links ($nbLinks lignes à traiter) !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement du fichier $links ($nbLinks lignes) !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Début du traitement du fichier $links ($nbLinks lignes) !".EOL;
$nbLignes=0; $nbLignes=0;
rewind($fp); rewind($fp);
@ -239,7 +239,7 @@ Options :
'id2'=>$idPar, 'id2'=>$idPar,
)), "Siren1=$siren AND ActionPart=2 AND Siren2=$siren2 AND RaisonSociale='$nomTmp' AND Pays='$pays'",true)) { )), "Siren1=$siren AND ActionPart=2 AND Siren2=$siren2 AND RaisonSociale='$nomTmp' AND Pays='$pays'",true)) {
if (mysql_errno()<>1062) { if (mysql_errno()<>1062) {
echo date('Y/m/d - H:i:s').' - ERREUR 1 n°'.mysql_errno().', mise à jour impossible sur :'.EOL; echo date('Y/m/d - H:i:s').' - ERREUR 1 n°'.mysql_errno().', mise à jour impossible sur :'.EOL;
print_r($tabUpdate); print_r($tabUpdate);
echo date('Y/m/d - H:i:s').' - ERREUR 1 SQL : '.mysql_error().EOL; echo date('Y/m/d - H:i:s').' - ERREUR 1 SQL : '.mysql_error().EOL;
} }
@ -251,7 +251,7 @@ Options :
} else { } else {
if (!$iDb->insert($table, $tabInsert1,true)) { if (!$iDb->insert($table, $tabInsert1,true)) {
if (mysql_errno()<>1062) { if (mysql_errno()<>1062) {
echo date('Y/m/d - H:i:s').' - ERREUR 2 n°'.mysql_errno().', mise à jour impossible sur :'.EOL; echo date('Y/m/d - H:i:s').' - ERREUR 2 n°'.mysql_errno().', mise à jour impossible sur :'.EOL;
print_r($tabUpdate); print_r($tabUpdate);
echo date('Y/m/d - H:i:s').' - ERREUR 2 SQL : '.mysql_error().EOL; echo date('Y/m/d - H:i:s').' - ERREUR 2 SQL : '.mysql_error().EOL;
} }
@ -279,7 +279,7 @@ Options :
'id1'=>$idPar, 'id1'=>$idPar,
)), "Siren1=$siren2 AND ActionPart=1 AND Siren2=$siren AND RaisonSociale='$nomTmp' AND Pays='$pays2'",true)) { )), "Siren1=$siren2 AND ActionPart=1 AND Siren2=$siren AND RaisonSociale='$nomTmp' AND Pays='$pays2'",true)) {
if (mysql_errno()<>1062) { if (mysql_errno()<>1062) {
echo date('Y/m/d - H:i:s').' - ERREUR 3 n°'.mysql_errno().', mise à jour impossible sur :'.EOL; echo date('Y/m/d - H:i:s').' - ERREUR 3 n°'.mysql_errno().', mise à jour impossible sur :'.EOL;
print_r($tabUpdate); print_r($tabUpdate);
echo date('Y/m/d - H:i:s').' - ERREUR 3 SQL : '.mysql_error().EOL; echo date('Y/m/d - H:i:s').' - ERREUR 3 SQL : '.mysql_error().EOL;
} }
@ -291,7 +291,7 @@ Options :
} else { } else {
if (!$iDb->insert($table, $tabInsert2,true)) { if (!$iDb->insert($table, $tabInsert2,true)) {
if (mysql_errno()<>1062) { if (mysql_errno()<>1062) {
echo date('Y/m/d - H:i:s').' - ERREUR 4 n°'.mysql_errno().', mise à jour impossible sur :'.EOL; echo date('Y/m/d - H:i:s').' - ERREUR 4 n°'.mysql_errno().', mise à jour impossible sur :'.EOL;
print_r($tabUpdate); print_r($tabUpdate);
echo date('Y/m/d - H:i:s').' - ERREUR 4 SQL : '.mysql_error().EOL; echo date('Y/m/d - H:i:s').' - ERREUR 4 SQL : '.mysql_error().EOL;
} }
@ -303,33 +303,33 @@ Options :
} }
if ($nbLignes%10000==0) { if ($nbLignes%10000==0) {
echo date ('Y/m/d - H:i:s')." - $nbLignes liens sur $nbLinks Traités !".EOL; echo date ('Y/m/d - H:i:s')." - $nbLignes liens sur $nbLinks Traités !".EOL;
//die(); //die();
} }
} }
fclose($fp); fclose($fp);
//print_r($tabEntites); //print_r($tabEntites);
echo date ('Y/m/d - H:i:s')." - $nbLignes liens de $links chargés.".EOL; echo date ('Y/m/d - H:i:s')." - $nbLignes liens de $links chargés.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - $nbLignes liens de $links chargés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - $nbLignes liens de $links chargés.".EOL;
echo date ('Y/m/d - H:i:s')." - Actionnaires : $nbUpdate1 lines mis à jours et $nbInsert1 ajouts !".EOL; echo date ('Y/m/d - H:i:s')." - Actionnaires : $nbUpdate1 lines mis à jours et $nbInsert1 ajouts !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Actionnaires : $nbUpdate1 lines mis à jours et $nbInsert1 ajouts !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Actionnaires : $nbUpdate1 lines mis à jours et $nbInsert1 ajouts !".EOL;
echo date ('Y/m/d - H:i:s')." - Participations : $nbUpdate2 lines mis à jours et $nbInsert2 ajouts !".EOL; echo date ('Y/m/d - H:i:s')." - Participations : $nbUpdate2 lines mis à jours et $nbInsert2 ajouts !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Participations : $nbUpdate2 lines mis à jours et $nbInsert2 ajouts !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Participations : $nbUpdate2 lines mis à jours et $nbInsert2 ajouts !".EOL;
$res=$iDb->select($table, 'count(*) AS nb', "actif<>11 AND source=1800"); $res=$iDb->select($table, 'count(*) AS nb', "actif<>11 AND source=1800");
$nbNonConf=$res[0]['nb']; $nbNonConf=$res[0]['nb'];
$ret=$iDb->update("$table", array('actif'=>0), "actif<>11 AND source=1800"); $ret=$iDb->update("$table", array('actif'=>0), "actif<>11 AND source=1800");
// echo date('Y/m/d - H:i:s').' - ERREUR 5 SQL : '.mysql_error().EOL; // echo date('Y/m/d - H:i:s').' - ERREUR 5 SQL : '.mysql_error().EOL;
echo date ('Y/m/d - H:i:s') . " - $nbNonConf liens ont été passés à inactif (car non transmis depuis le dernier chargement) !".EOL; echo date ('Y/m/d - H:i:s') . " - $nbNonConf liens ont été passés à inactif (car non transmis depuis le dernier chargement) !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s'). " - $nbNonConf liens ont été passés à inactif (car non transmis depuis le dernier chargement) !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s'). " - $nbNonConf liens ont été passés à inactif (car non transmis depuis le dernier chargement) !".EOL;
$res=$iDb->select($table, 'count(*) AS nb', "actif=11 AND source=1800"); $res=$iDb->select($table, 'count(*) AS nb', "actif=11 AND source=1800");
$nbConf=$res[0]['nb']; $nbConf=$res[0]['nb'];
$ret=$iDb->update("$table", array('actif'=>1), "actif=11 AND source=1800"); $ret=$iDb->update("$table", array('actif'=>1), "actif=11 AND source=1800");
echo date ('Y/m/d - H:i:s') . " - Passage à actif des $nbNonConf les liens chargés car confirmés..".EOL; echo date ('Y/m/d - H:i:s') . " - Passage à actif des $nbNonConf les liens chargés car confirmés..".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s'). " - Passage à actif des $nbNonConf les liens chargés car confirmés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s'). " - Passage à actif des $nbNonConf les liens chargés car confirmés.".EOL;
if ($annoncesFusions) { if ($annoncesFusions) {
$res=$iDb->select($table, 'id1, Siren1, id2, Siren2, RaisonSociale, Pays, dateLien, DATE(dateInsert) as dateInsert, DATE(dateUpdate) as dateUpdate', "Siren1>0 AND ActionPart=2 AND MajMin='F' AND actif=1 AND source=1800 GROUP BY Siren1, Siren2", false, MYSQL_ASSOC); $res=$iDb->select($table, 'id1, Siren1, id2, Siren2, RaisonSociale, Pays, dateLien, DATE(dateInsert) as dateInsert, DATE(dateUpdate) as dateUpdate', "Siren1>0 AND ActionPart=2 AND MajMin='F' AND actif=1 AND source=1800 GROUP BY Siren1, Siren2", false, MYSQL_ASSOC);
@ -361,7 +361,7 @@ Options :
$nbAbsorption++; $nbAbsorption++;
} }
if ($modeDebug) if ($modeDebug)
echo "$siren1 absorbe $siren2 $rs ($pays) le $dateLien($dateInsert) : $nbAbsorption annonce(s) trouvée(s). "; echo "$siren1 absorbe $siren2 $rs ($pays) le $dateLien($dateInsert) : $nbAbsorption annonce(s) trouvée(s). ";
if ($nbAbsorption==0) { if ($nbAbsorption==0) {
$tabIdentite=$iInsee->getIdentiteLight($siren1); $tabIdentite=$iInsee->getIdentiteLight($siren1);
@ -375,7 +375,7 @@ Options :
'ville'=>$tabIdentite['Ville'], 'ville'=>$tabIdentite['Ville'],
'dateJugement'=>$dateEven, 'dateJugement'=>$dateEven,
'tribunal'=>$tabIdentite['Tribunal'], 'tribunal'=>$tabIdentite['Tribunal'],
'complement'=>"Absorption de la société $rs, RCS ".chunk_split($siren2,3,' '), 'complement'=>"Absorption de la société $rs, RCS ".chunk_split($siren2,3,' '),
'source'=>'JS', 'source'=>'JS',
'parutionIdJal'=>1800, 'parutionIdJal'=>1800,
'dateSource'=>$dateLien, 'dateSource'=>$dateLien,
@ -397,7 +397,7 @@ Options :
'ville'=>$tabIdentite['Ville'], 'ville'=>$tabIdentite['Ville'],
'dateJugement'=>$dateEven, 'dateJugement'=>$dateEven,
'tribunal'=>$tabIdentite['Tribunal'], 'tribunal'=>$tabIdentite['Tribunal'],
'complement'=>"Absorption par la société $rs, RCS ".chunk_split($siren1,3,' '), 'complement'=>"Absorption par la société $rs, RCS ".chunk_split($siren1,3,' '),
'source'=>'JS', 'source'=>'JS',
'parutionIdJal'=>1800, 'parutionIdJal'=>1800,
'dateSource'=>$dateLien, 'dateSource'=>$dateLien,
@ -407,12 +407,12 @@ Options :
if ($modeDebug) if ($modeDebug)
echo "Insertions OK.".EOL; echo "Insertions OK.".EOL;
} elseif ($modeDebug) } elseif ($modeDebug)
echo "Déjà en base.".EOL; echo "Déjà en base.".EOL;
} }
} }
$newAnn=$newAnn*2; $newAnn=$newAnn*2;
echo date ('Y/m/d - H:i:s')." - Nous avons générés $newAnn/".count($res).' annonces en collecte sur les liens fusions !'.EOL; echo date ('Y/m/d - H:i:s')." - Nous avons générés $newAnn/".count($res).' annonces en collecte sur les liens fusions !'.EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Nous avons générés $newAnn/".count($res).' annonces en collecte sur les liens fusions !'.EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Nous avons générés $newAnn/".count($res).' annonces en collecte sur les liens fusions !'.EOL;
} }
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des liens".EOL; echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des liens".EOL;
@ -421,8 +421,8 @@ Options :
if ($fichierZip && move(LIENS_FTP_LOCALDIR.$fichierZip, LIENS_BACKUP_DIR.$fichierZip)) { if ($fichierZip && move(LIENS_FTP_LOCALDIR.$fichierZip, LIENS_BACKUP_DIR.$fichierZip)) {
unlink($entities); unlink($entities);
unlink($links); unlink($links);
echo date ('Y/m/d - H:i:s') . " - Le fichier $fichierZip vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier $fichierZip vient d'être historisé.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s') . " - Le fichier $fichierZip vient d'être historisé.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s') . " - Le fichier $fichierZip vient d'être historisé.".EOL;
} else { } else {
echo date ('Y/m/d - H:i:s') . " - Erreur lors de l'historisation du fichier $fichierZip !".EOL; echo date ('Y/m/d - H:i:s') . " - Erreur lors de l'historisation du fichier $fichierZip !".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s') . " - Erreur lors de l'historisation du fichier $fichierZip !".EOL; $strMailInfo.=date ('Y/m/d - H:i:s') . " - Erreur lors de l'historisation du fichier $fichierZip !".EOL;

View File

@ -11,13 +11,13 @@ include_once(FWK_PATH.'mail/sendMail.php');
$dateTime=date('YmdHis'); $dateTime=date('YmdHis');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Récuperer les logos non encore en base. Récuperer les logos non encore en base.
Options : Options :
-b Rechercher les logo via Bing -b Rechercher les logo via Bing
-v Mode bavard ou debug -v Mode bavard ou debug
(*) Option par défaut si aucun argument n'est passé. (*) Option par défaut si aucun argument n'est passé.
"; ";
$bing=$modeDebug=false; $bing=$modeDebug=false;
$iReprise=0; $iReprise=0;
@ -35,7 +35,7 @@ for ($i=1; isset($argv[$i]); $i++) {
} }
if ($modeDebug) if ($modeDebug)
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des Logos...".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des Logos...".EOL;
$iDb=new WDB('telephonie'); $iDb=new WDB('telephonie');
@ -76,7 +76,7 @@ if (!preg_match_all('/<li(?:.*)>(?:\s+)<a href="(http\:\/\/www\.annuaire\.com\/(
foreach ($matches[1] as $i=>$urlFiche) { foreach ($matches[1] as $i=>$urlFiche) {
$siren=str_replace('/','',substr($urlFiche,-10)); $siren=str_replace('/','',substr($urlFiche,-10));
$urlLogo=$matches[2][$i]; $urlLogo=$matches[2][$i];
/** On télécharge d'abord tous les logos, comme un navigateur **/ /** On télécharge d'abord tous les logos, comme un navigateur **/
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') { if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/') {
$extension=substr(strrchr($urlLogo,'.'),1); $extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) { if (!file_exists("/home/data/logos/$siren.$extension")) {
@ -98,7 +98,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
if ($nbDeja==0) { if ($nbDeja==0) {
$tabEntrep=array('siren'=>$siren); $tabEntrep=array('siren'=>$siren);
$urlLogo=$matches[2][$i]; $urlLogo=$matches[2][$i];
/** On télécharge d'abord tous les logos, comme un navigateur **/ /** On télécharge d'abord tous les logos, comme un navigateur **/
if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/' && if (substr($urlLogo,0,32)=='http://www.annuaire.com/uploads/' &&
file_exists("/home/data/logos/$siren.$extension")) file_exists("/home/data/logos/$siren.$extension"))
$tabEntrep['logo']=1; $tabEntrep['logo']=1;
@ -112,7 +112,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
$tabEntrep['nom']=$nom=$matches[4][$i]; $tabEntrep['nom']=$nom=$matches[4][$i];
$tabEntrep['descCourt']=$desc=@trim(html_entity_decode(strip_tags($matches[5][$i]))); $tabEntrep['descCourt']=$desc=@trim(html_entity_decode(strip_tags($matches[5][$i])));
/** Téléchargement du logo ** /** Téléchargement du logo **
if ($urlLogo<>'') { if ($urlLogo<>'') {
$extension=substr(strrchr($urlLogo,'.'),1); $extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) { if (!file_exists("/home/data/logos/$siren.$extension")) {
@ -173,7 +173,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
} }
//print_r($matches); //print_r($matches);
if ($modeDebug) if ($modeDebug)
echo date('Y/m/d - H:i:s') ." - FIN du programme de récupération des Logos.".EOL; echo date('Y/m/d - H:i:s') ." - FIN du programme de récupération des Logos.".EOL;
if (!$bing) die(); if (!$bing) die();
// Recherche BING // Recherche BING
@ -209,6 +209,8 @@ for($i=0; $i<1000; $i++) {
while (true) { while (true) {
$url="http://api.bing.net/json.aspx?AppId=$appId&Version=2.2&Market=$cultureInfo&Query=$query&Sources=$source&Image.Count=$numResults&Image.Offset=$offset&JsonType=raw";//&Adult=On"; $url="http://api.bing.net/json.aspx?AppId=$appId&Version=2.2&Market=$cultureInfo&Query=$query&Sources=$source&Image.Count=$numResults&Image.Offset=$offset&JsonType=raw";//&Adult=On";
$page=getUrl($url, '', '', $referer, false); $page=getUrl($url, '', '', $referer, false);
print_r($page);
die();//Mentions légales Lannonceur est léditeur de ce site. PagesJaunes est le prestataire technique.
$json=$page['body']; $json=$page['body'];
$tabJson=json_decode($json, true); $tabJson=json_decode($json, true);
$tabJson=$tabJson['SearchResponse']; $tabJson=$tabJson['SearchResponse'];
@ -281,7 +283,7 @@ die();
foreach ($tabJson['Web']['Results'] as $i=> $result) { foreach ($tabJson['Web']['Results'] as $i=> $result) {
$title=utf8_decode($result['Title']); // SCORES & DECISIONS - Accueil $title=utf8_decode($result['Title']); // SCORES & DECISIONS - Accueil
$desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante $desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
$url=$result['Url']; // http://www3.scores-decisions.com/ $url=$result['Url']; // http://www3.scores-decisions.com/
$lev=@levenshtein ($urlapprox,$url); $lev=@levenshtein ($urlapprox,$url);
@ -301,7 +303,7 @@ die();
$host=preg_replace('/\/$/','',$info['host']); $host=preg_replace('/\/$/','',$info['host']);
$ext=getFileExtension($host); $ext=getFileExtension($host);
$domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host)); $domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host));
echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL; echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL;
if ($ext=='fr') { if ($ext=='fr') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url"); $rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) { if (@$rep[0]['siren']*1==0) {
@ -326,7 +328,7 @@ die();
[0] => Array [0] => Array
( (
[Title] => SCORES & DECISIONS - Accueil [Title] => SCORES & DECISIONS - Accueil
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante [Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/ [Url] => http://www3.scores-decisions.com/
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68 [CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68
[DisplayUrl] => www3.scores-decisions.com [DisplayUrl] => www3.scores-decisions.com
@ -347,8 +349,8 @@ die();
) )
[1] => Array [1] => Array
( (
[Title] => SCORES & DECISIONS - Société [Title] => SCORES & DECISIONS - Société
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante [Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/societe.php [Url] => http://www3.scores-decisions.com/societe.php
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=4747772983970513&mkt=fr-FR&w=10f5cd33,9b81f773 [CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=4747772983970513&mkt=fr-FR&w=10f5cd33,9b81f773
[DisplayUrl] => www3.scores-decisions.com/societe.php [DisplayUrl] => www3.scores-decisions.com/societe.php

View File

@ -9,22 +9,28 @@ include_once(INCLUDE_PATH.'partenaires/classMMarques.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] marques1 marques2 ... $strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] marques1 marques2 ...
Téléchargement et mise à jour de Marques Téléchargement et mise à jour de Marques
Options: Options:
-v Mode verbose ou debug -v Mode verbose ou debug
-f Forcer la mise à jour depuis Qualibat -f Forcer la mise à jour depuis Qualibat
-m Retourne le dernier numéro Qualibat en base -m Retourne le dernier numéro Qualibat en base
-i Les paramètres sont des numéros de marques -i Les paramètres sont des numéros de marques
-r Les paramètres sont des Raisons Sociales -r Les paramètres sont des Raisons Sociales
-p Récupère les PDF non encore en base -d=SSAAMMJJ Récupères les dépots du SSAAMMJJ
-b Mise à jour des marques issues des PDF -p Récupère les PDF non encore en base
-b Mise à jour des marques issues des PDF
-s Mise à jour intelligente des siren
-a Découpage des adresses postales non encore découpées
-t Decoupage des fichiers images
(*): Valeur par défaut ! (*): Valeur par défaut !
"; ";
$iMarque=new MMarques(); $iMarque=new MMarques();
$iInsee=new MInsee();
$modeDebug=$force=$max=$annee=$majNum=$majNom=$majObj=$getPdf=$getMBopi=false; $modeDebug=$force=$max=$annee=$majNum=$majNom=$majObj=$getPdf=$getMBopi=$majSiren=$majAdresses=$majDate=$majImages=false;
$nbMajSiren=$nbMajSiren2=$nbMajAdr=0;
$tabMarques=array(); $tabMarques=array();
@ -34,7 +40,8 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) { for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') { if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) { switch (substr($argv[$i],1,1)) {
case 'v': $modeDebug=true; case 'v': define(MODE_VERBOSE,true);
$modeDebug=true;
define('TMIN',1); define('TMIN',1);
define('TMAX',2); define('TMAX',2);
break; break;
@ -44,8 +51,12 @@ if ($_SERVER['argc']>1)
case 'i': $majNum=true; break; case 'i': $majNum=true; break;
case 'r': $majNom=true; break; case 'r': $majNom=true; break;
case 'r': $majObj=true; break; case 'r': $majObj=true; break;
case 'd': $majDate=true; break;
case 'p': $getPdf=true; break; case 'p': $getPdf=true; break;
case 'b': $getMBopi=true; break; case 'b': $getMBopi=true; break;
case 's': $majSiren=true; break;
case 'a': $majAdresses=true; break;
case 't': $majImages=true; break;
case '-': case '-':
case '?': die($strInfoScript); break; case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n"); default: die('Option '. $argv[$i] . " inconnue !\n");
@ -56,6 +67,8 @@ if ($_SERVER['argc']>1)
} }
} }
} }
if (!defined('MODE_VERBOSE'))
define('MODE_VERBOSE',false);
/* /*
if (!defined('TMIN')) define('TMIN',31); if (!defined('TMIN')) define('TMIN',31);
if (!defined('TMAX')) define('TMAX',160); if (!defined('TMAX')) define('TMAX',160);
@ -68,19 +81,22 @@ if (!defined('TMAX')) define('TMAX',20);
$iDb=new WDB('bopi'); $iDb=new WDB('bopi');
if ($getPdf) { if ($getPdf) {
if ($annee) $strAnnee="nomPdf LIKE '%$annee%'";
else $strAnnee='1';
$ret=$iDb->select( 'infos_bopi', $ret=$iDb->select( 'infos_bopi',
'MAX(nomPdf) as nomPdf', 'MAX(nomPdf) as nomPdf',
'1', false, MYSQL_ASSOC); $strAnnee, false, MYSQL_ASSOC);
$ret=$ret[0]; $ret=$ret[0];
$pdf=$ret['nomPdf']; $pdf=$ret['nomPdf'];
echo date('Y/m/d - H:i:s')." - Dernier BOPI Marques téléchargé : $pdf...".EOL; echo date('Y/m/d - H:i:s')." - Dernier BOPI Marques téléchargé : $pdf...".EOL;
$anneeMois=strtr($pdf, array('bopi_marques_'=>'', 'v1'=>'', 'v2'=>'', '.pdf'=>'')); $anneeMois=strtr($pdf, array('bopi_marques_'=>'', 'v1'=>'', 'v2'=>'', '.pdf'=>''));
$tabAnneeMois=explode('-', $anneeMois); $tabAnneeMois=explode('-', $anneeMois);
$lastAnnee=$tabAnneeMois[0]; $lastAnnee=$tabAnneeMois[0];
$numFin =$tabAnneeMois[1]; $numFin =$tabAnneeMois[1];
//$lastAnnee=2011;
for ($annee=$lastAnnee; $annee<=date('Y'); $annee++) { for ($annee=$lastAnnee; $annee<=date('Y'); $annee++) {
if ($annee==date('Y')) { if ($annee==date('Y')) {
$numDeb=$lastMois; $numDeb=$numFin;
$numFin=date('W'); $numFin=date('W');
//echo 'A'.EOL; //echo 'A'.EOL;
} elseif ($numFin==52 && $annee+1==date('Y')) { } elseif ($numFin==52 && $annee+1==date('Y')) {
@ -93,7 +109,9 @@ if ($getPdf) {
$numFin=52; $numFin=52;
//echo 'C'.EOL; //echo 'C'.EOL;
} }
//die($annee.EOL.$lastAnnee.EOL.date('Y').EOL.$numDeb.EOL.$numFin.EOL); /*$annee=2011;
$numDeb=37;
//die($annee.EOL.$lastAnnee.EOL.date('Y').EOL.$numDeb.EOL.$numFin.EOL);*/
for ($num=$numDeb; $num<=$numFin; $num++) { for ($num=$numDeb; $num<=$numFin; $num++) {
$taille=$iMarque->getEditionPdf('marques', $annee, $num); $taille=$iMarque->getEditionPdf('marques', $annee, $num);
$taille=round($taille/(1024*1024),2); $taille=round($taille/(1024*1024),2);
@ -116,14 +134,15 @@ $nb=count($tabMarques);
$nbAcces=$nbCache=0; $nbAcces=$nbCache=0;
foreach ($tabMarques as $i=>$marque) { foreach ($tabMarques as $i=>$marque) {
echo date('Y/m/d - H:i:s')." - Marque $i/$nb : n°$marque...";
if ($majNum) { if ($majNum) {
echo date('Y/m/d - H:i:s')." - Marque $i/$nb : n°$marque... ";
$ret=$iMarque->getMarques(0, $marque); $ret=$iMarque->getMarques(0, $marque);
if (is_array($ret) && count($ret)>0) { if (is_array($ret) && count($ret)>0) {
print_r($ret); print_r($ret);
$nbCache++; $nbCache++;
} else { } else {
$res=$iMarque->getListeMarques($marque, '', '', true); $majAdresses=$majSiren=true;
$res=$iMarque->getListeMarques($marque, '', '', '', true);
if ($getMBopi) { if ($getMBopi) {
$iDb->update( 'infos_bopi_marques', $iDb->update( 'infos_bopi_marques',
array('dateRecup'=>date('Ymd'), array('dateRecup'=>date('Ymd'),
@ -134,19 +153,182 @@ foreach ($tabMarques as $i=>$marque) {
if (!$modeDebug && date('Hi')*1>1930) { if (!$modeDebug && date('Hi')*1>1930) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=@round($nbCache/$nbTot*100,2); $pct=@round($nbCache/$nbTot*100,2);
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Marques - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Marques - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)");
die(); break;
} }
} }
} }
} }
elseif ($majNom) elseif ($majNom)
$iMarque->getListeMarques('', $marque, '', true); $iMarque->getListeMarques('', $marque, '', '', true);
elseif ($majObj) elseif ($majObj)
$iMarque->getListeMarques('', '', $marque, true); $iMarque->getListeMarques('', '', $marque, '', true);
elseif ($majDate)
$iMarque->getListeMarques('', '', '', WDate::dateT('Ymd','Y-m-d',strtr($marque, array('-'=>'','/'=>'',))), true);
} }
if ($majSiren) {
// Identifiants Textes Uniques
$nbSirened=0;
// Tableau RS>Siren
global $tabRsSiren;
$tabRsSiren=array();
$tmp=$iDb->select('marques', 'idTxtUnique, sirenDeposant', "sirenDeposant>0 AND idTxtUnique<>'' GROUP BY idTxtUnique", false, MYSQL_ASSOC);
foreach ($tmp as $nbId=>$tabTmp)
$tabRsSiren[$tabTmp['idTxtUnique']]=$tabTmp['sirenDeposant'];
echo date ('Y/m/d - H:i:s')." - La table 'bopi.marques' idTxt/Siren contient $nbId lignes...".EOL;
$tmp=$iDb->select('marques', 'id, idTxtUnique', "sirenDeposant<100 AND idTxtUnique<>'' AND (detailDeposant<>'') AND sirenValide=0", false, MYSQL_ASSOC);
$nbMaj=count($tmp);
echo date ('Y/m/d - H:i:s')." - Nombre de siren à mettre à jour : $nbMaj".EOL;
$iDb2=new WDb('jo');
foreach ($tmp as $iLot=>$tabTmp) {
$id=$tabTmp['id'];
$idTxtUnique=$tabTmp['idTxtUnique'];
if (isset($tabRsSiren[$idTxtUnique])) {
$siren=$tabRsSiren[$idTxtUnique];
if ($iDb->update('marques', array( 'sirenDeposant'=>$siren,
'sirenValide'=>3), 'id='.$id))
$nbMajSiren++;
echo mysql_error();
$iDb2->delete('bodacc_sirenage', "idTable='marques' AND idAnn=$id");
echo mysql_error();
echo date ('Y/m/d - H:i:s')." - $iLot/$nbMaj : Mise à jour de la marque id=$id avec le siren $siren...".EOL;
//die();
} /*else {
$siren2=isSimilar($idTxtUnique);
if ($siren2<>false) {
if ($iDb->update('marques', array( 'sirenDeposant'=>$siren2,
'sirenValide'=>4), 'id='.$id))
$nbMajSiren2++;
$nbMajSiren++;
echo mysql_error();
$iDb2->delete('bodacc_sirenage', "idTable='marques' AND idAnn=$id");
echo mysql_error();
echo date ('Y/m/d - H:i:s')." - $iLot/$nbMaj : Mise à jour de la marque id=$id avec le siren $siren2...".EOL;
die();
}
//else echo date ('Y/m/d - H:i:s')." - $iLot/$nbMaj : pas de similitudes pour la marque id=$id...".EOL;
}*/
}
echo date ('Y/m/d - H:i:s')." - $nbMajSiren siren ont été mis à jour sur $nbMaj (dont $nbMajSiren2 par approximation).".EOL;
}
if ($majAdresses) {
$tmp=$iDb->select('marques', "id, deposantMarque, SUBSTRING(detailDeposant, LENGTH(deposantMarque)+2, LENGTH(detailDeposant)-LENGTH(deposantMarque)) AS adresse, IF(SUBSTRING(detailDeposant,LENGTH(detailDeposant),1)=')', 'FR', TRIM(REPLACE(SUBSTRING(detailDeposant,LENGTH(detailDeposant)-2,4),')',''))) AS codPays2", "deposant_AdrCP IS NULL OR deposantPays IS NULL", false, MYSQL_ASSOC);
$iDb2=new WDb('bopi');
$nbLots=count($tmp);
foreach ($tmp as $iLot=>$tabTmp) {
$id=$tabTmp['id'];
$adr=trim(preg_replace('/\(SIREN \d\d\d\d\d\d\d\d\d\)/','',$tabTmp['adresse']));
$adr=trim(preg_replace('/, FR$/','',$adr));
$adr=trim(preg_replace('/(\d\d\d\d\d), /','$1 ',$adr));
$adr=trim(preg_replace('/ F-/','',$adr));
$adr=trim(preg_replace('/FORME JURIDIQUE|SOCI.T. ANONYME/i','',$adr));
$tabAdresse=$iInsee->structureVoie($adr);
$tabUpdate=array();
$tabUpdate['deposant_AdrNum']=@$tabAdresse['num'];
$tabUpdate['deposant_AdrIndRep']=@$tabAdresse['indRep'];
$tabUpdate['deposant_AdrTypVoie']=@$tabAdresse['typeVoie'];
$tabUpdate['deposant_AdrLibVoie']=@$tabAdresse['libVoie'];
$tabUpdate['deposant_AdrCP']=@$tabAdresse['cp'];
$tabUpdate['deposant_AdrVille']=@$tabAdresse['ville'];
$tabUpdate['deposant_AdrComp']=@trim($tabAdresse['adrComp0'].' '.$tabAdresse['adrComp1']);
$tabUpdate['deposantPays']=strtoupper($tabTmp['codPays2']);
//print_r($tabAdresse);
echo "$iLot/$nbLots\t$adr\t";
if (!$iDb2->update('marques', $tabUpdate, "id=$id", false))
echo "ERREUR !!!".EOL;
else {
$nbMajAdr++;
echo "ok".EOL;
}
}
echo date ('Y/m/d - H:i:s')." - $nbMajAdr adresses ont été mis à jour sur $nbLots.".EOL;
}
if ($majImages) {
$nbLots=$iDb->select('marques', "id, nomMarque, numeroMarque, dateDepot, YEAR(dateDepot) AS annee, dateDepot*1 AS dateDepotYMD, dateUpdate",
"urlImage<>'' AND fileName=''", false, MYSQL_ASSOC, true);
$iDb2=new WDb('bopi');
$tabExt=array('gif','png','jpg','jpeg','bmp','pcx');
$i=0;
while ($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$id=$tabTmp['id'];
$nom=$tabTmp['nomMarque'];
$dateDepot=$tabTmp['dateDepot'];
$dateDepotYMD=$tabTmp['dateDepotYMD'];
$annee=$tabTmp['annee'];
$num=$tabTmp['numeroMarque'];
$dateUpdate=$tabTmp['dateUpdate'];
$filename=DOC_WEB_LOCAL."marques/$num";
$dossierCible=DOC_WEB_LOCAL."marques/$annee/$dateDepotYMD/";
$ext='';
echo "$i/$nbLots : $id, $num, $nom, $dateDepot";
$tabUpdate=array();
foreach ($tabExt as $ext) {
$fileNameLong=$filename.".$ext";
if (file_exists($fileNameLong)) {
$fileName=basename($fileNameLong);
$tabUpdate=array('fileName'=>$fileName, 'dateUpdate'=>$dateUpdate);
break;
}
}
if(count($tabUpdate)>0) {
@mkdir(DOC_WEB_LOCAL."marques/$annee");
@mkdir($dossierCible);
@copy($fileNameLong,$dossierCible.$fileName);
echo ", $fileName";
//@mkdir(DOC_WEB_LOCAL."marques/old");
@move($fileNameLong,DOC_WEB_LOCAL."marques/old/$fileName");
if (!@$iDb2->update('marques', $tabUpdate, "id=$id", false))
echo "\tERREUR SQL !!!".EOL;
else {
$nbMajAdr++;
echo "\tok".EOL;
}
} else {
$res=$iMarque->getListeMarques($num, '', '', '', true);
echo "\tFICHIER INEXISTANT $res !!!".EOL;
//die();
}
$i++;
}
echo date ('Y/m/d - H:i:s')." - $nbMajAdr adresses ont été mis à jour sur $nbLots.".EOL;
}
die(); die();
$repriseIdTxt=false;
if ($repriseIdTxt) {
$iDb2=new WDB('bopi');
$ret=$iDb->select( 'marques',
'id, idTxtUnique, detailDeposant, dateUpdate',
"idTxtUnique IS NULL", false, MYSQL_ASSOC);
foreach ($ret as $i=>$tabInsert) {
$idTxtUnique=trim(strtoupper(preg_replace('/[^a-z0-9]/i', '', $tabInsert['detailDeposant'])));
if ($idTxtUnique<>'')
$tabInsert['idTxtUnique'] = $idTxtUnique;
$id=$tabInsert['id'];
unset($tabInsert['id']);
unset($tabInsert['detailDeposant']);
$iDb2->update( 'marques', $tabInsert, "id=$id", false);
//die($id);
}
}
die();
$referer=$cookie=''; $referer=$cookie='';
@ -164,7 +346,7 @@ if ($max) {
die(); die();
} }
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des entreprises Qualibat.".EOL; echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des entreprises Qualibat.".EOL;
if (count($tabQualibat)==0) { if (count($tabQualibat)==0) {
$partiel=false; $partiel=false;
@ -176,11 +358,11 @@ if (count($tabQualibat)==0) {
$tabQualibat[]=$numQualibatTmp; $tabQualibat[]=$numQualibatTmp;
} }
// Il faudrait rechercher le dernier numéro Orias attribué non encore en base // Il faudrait rechercher le dernier numéro Orias attribué non encore en base
$iQualibat->force=$force; $iQualibat->force=$force;
while(true) { while(true) {
$numQualibatTmp++; $numQualibatTmp++;
echo date('Y/m/d - H:i:s')." - Recherche du dernier numéro Qualibat attribué : "; echo date('Y/m/d - H:i:s')." - Recherche du dernier numéro Qualibat attribué : ";
if ($iQualibat->getInfosQualibat(0,$numQualibatTmp)) { if ($iQualibat->getInfosQualibat(0,$numQualibatTmp)) {
if (!$iQualibat->enCache) { if (!$iQualibat->enCache) {
randsleep($tMin/10,$tMax/10); randsleep($tMin/10,$tMax/10);
@ -194,10 +376,10 @@ if (count($tabQualibat)==0) {
} }
} }
shuffle($tabQualibat); shuffle($tabQualibat);
echo date('Y/m/d - H:i:s')." - Mise à jour de la base Qualibat...".EOL; echo date('Y/m/d - H:i:s')." - Mise à jour de la base Qualibat...".EOL;
} else { } else {
$partiel=true; $partiel=true;
echo date('Y/m/d - H:i:s')." - Chargement de numéros Qualibat...".EOL; echo date('Y/m/d - H:i:s')." - Chargement de numéros Qualibat...".EOL;
} }
$nb=count($tabQualibat); $nb=count($tabQualibat);
$nbAcces=$nbCache=0; $nbAcces=$nbCache=0;
@ -206,12 +388,12 @@ foreach ($tabQualibat as $i=>$idQualibat) {
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... "; echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... ";
$iQualibat->force=$force; $iQualibat->force=$force;
print_r($iQualibat->getInfosQualibat(0,$idQualibat)); print_r($iQualibat->getInfosQualibat(0,$idQualibat));
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... récupéré "; echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... récupéré ";
if (!$partiel && date('Hi')*1>=1930) { if (!$partiel && date('Hi')*1>=1930) {
//if (date('Hi')*1>=2235) { //if (date('Hi')*1>=2235) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=@round($nbCache/$nbTot*100,2); $pct=@round($nbCache/$nbTot*100,2);
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)");
die(); die();
} }
if (!$iQualibat->enCache) { if (!$iQualibat->enCache) {
@ -227,9 +409,30 @@ foreach ($tabQualibat as $i=>$idQualibat) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=round($nbCache/$nbTot*100,2); $pct=round($nbCache/$nbTot*100,2);
if (!$partiel) { if (!$partiel) {
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Tout est fini !", "FIN des $nbTot requêtes traitées dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Tout est fini !", "FIN des $nbTot requêtes traitées dont $nbCache en cache ($pct %)");
} }
echo date('Y/m/d - H:i:s')." - FIN des $nbTot requêtes dont $nbCache en cache ($pct %)".EOL; echo date('Y/m/d - H:i:s')." - FIN des $nbTot requêtes dont $nbCache en cache ($pct %)".EOL;
function isSimilar($idTxtUnique) {
global $tabRsSiren;
$taille=strlen($idTxtUnique);
if ($taille<40) return false;
foreach ($tabRsSiren as $idTxt=>$siren) {
if (levenshtein($idTxtUnique, $idTxt)<2)
return $siren;
}
return false;
}
die(); die();

View File

@ -18,14 +18,14 @@ include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] [numero Orias] $strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] [numero Orias]
Téléchargement et mise à jour de la base Orias. Téléchargement et mise à jour de la base Orias.
Options: Options:
-d Mode debug -d Mode debug
-f Forcer la mise à jour depuis l'ORIAS -f Forcer la mise à jour depuis l'ORIAS
-m(=AA) Retourne le dernier numéro Orias en base (pour l'année AA ou AAAA) -m(=AA) Retourne le dernier numéro Orias en base (pour l'année AA ou AAAA)
(*): Valeur par défaut ! (*): Valeur par défaut !
"; ";
$iDb=new WDb(); $iDb=new WDb();
@ -60,35 +60,35 @@ if ($_SERVER['argc']>1)
if ($max) { if ($max) {
$numOrias=$iOrias->getMaxOrias($annee); $numOrias=$iOrias->getMaxOrias($annee);
echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $iOrias->annee : '$numOrias'.".EOL; echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $iOrias->annee : '$numOrias'.".EOL;
die(); die();
} }
echo date('Y/m/d - H:i:s')." - Début du script...".EOL; echo date('Y/m/d - H:i:s')." - Début du script...".EOL;
if (count($tabOrias)==0) { if (count($tabOrias)==0) {
$partiel=false; $partiel=false;
// Année 2007 // Année 2007
$iAn=0; $iAn=0;
for ($an=7; $an<=date('y')*1; $an++) { for ($an=7; $an<=date('y')*1; $an++) {
$annee=sprintf('%02d',$an); $annee=sprintf('%02d',$an);
$maxAn=$iOrias->getMaxOrias($annee); $maxAn=$iOrias->getMaxOrias($annee);
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $annee : '$maxAn'.".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $annee : '$maxAn'.".EOL;
for ($id=$iAn; $id<=substr($maxAn,2)*1/*38829*/; $id++) { for ($id=$iAn; $id<=substr($maxAn,2)*1/*38829*/; $id++) {
$numOriasTmp=("$an".sprintf('%06d',$id))*1; $numOriasTmp=("$an".sprintf('%06d',$id))*1;
$tabOrias[]=$numOriasTmp; $tabOrias[]=$numOriasTmp;
// if ($modeDebug) echo "$numOriasTmp, "; // if ($modeDebug) echo "$numOriasTmp, ";
} }
$iAn=$id; $iAn=$id;
//if ($modeDebug) echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $annee : '$id'.".EOL; //if ($modeDebug) echo date('Y/m/d - H:i:s')." - Dernier numéro ORIAS de l'année $annee : '$id'.".EOL;
} }
// Recherche du dernier numéro Orias attribué non encore en base // Recherche du dernier numéro Orias attribué non encore en base
$iOrias->force=$force; $iOrias->force=$force;
$nbAcces=0; $nbAcces=0;
while(true) { while(true) {
$numOriasTmp++; $numOriasTmp++;
echo date('Y/m/d - H:i:s')." - Recherche du dernier numéro ORIAS attribué : "; echo date('Y/m/d - H:i:s')." - Recherche du dernier numéro ORIAS attribué : ";
if ($iOrias->getInfosOrias(0,$numOriasTmp)) { if ($iOrias->getInfosOrias(0,$numOriasTmp)) {
if (!$iOrias->enCache) { if (!$iOrias->enCache) {
randsleep($tMin,$tMax); randsleep($tMin,$tMax);
@ -104,10 +104,10 @@ if (count($tabOrias)==0) {
} }
shuffle($tabOrias); shuffle($tabOrias);
echo date('Y/m/d - H:i:s')." - Mise à jour de la base ORIAS...".EOL; echo date('Y/m/d - H:i:s')." - Mise à jour de la base ORIAS...".EOL;
} else { } else {
$partiel=true; $partiel=true;
echo date('Y/m/d - H:i:s')." - Chargement de numéros ORIAS...".EOL; echo date('Y/m/d - H:i:s')." - Chargement de numéros ORIAS...".EOL;
} }
$nb=count($tabOrias); $nb=count($tabOrias);
$nbAcces=$nbCache=0; $nbAcces=$nbCache=0;
@ -116,12 +116,12 @@ foreach ($tabOrias as $i=>$numOrias) {
echo date('Y/m/d - H:i:s')." - $i/$nb: $numOrias ... "; echo date('Y/m/d - H:i:s')." - $i/$nb: $numOrias ... ";
$iOrias->force=$force; $iOrias->force=$force;
print_r($iOrias->getInfosOrias(0,$numOrias)); print_r($iOrias->getInfosOrias(0,$numOrias));
echo date('Y/m/d - H:i:s')." - $i/$nb: $numOrias ... récupéré "; echo date('Y/m/d - H:i:s')." - $i/$nb: $numOrias ... récupéré ";
if (!$partiel && date('Hi')*1>=1930) { if (!$partiel && date('Hi')*1>=1930) {
//if (date('Hi')*1>=2235) { //if (date('Hi')*1>=2235) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=@round($nbCache/$nbTot*100,2); $pct=@round($nbCache/$nbTot*100,2);
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Orias - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Orias - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)");
die(); die();
} }
if (!$iOrias->enCache) { if (!$iOrias->enCache) {
@ -137,10 +137,10 @@ foreach ($tabOrias as $i=>$numOrias) {
$nbTot=$nbAcces+$nbCache; $nbTot=$nbAcces+$nbCache;
$pct=round($nbCache/$nbTot*100,2); $pct=round($nbCache/$nbTot*100,2);
if (!$partiel) { if (!$partiel) {
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Orias - Tout est fini !", "FIN des $nbTot requêtes traitées dont $nbCache en cache ($pct %)"); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Orias - Tout est fini !", "FIN des $nbTot requêtes traitées dont $nbCache en cache ($pct %)");
} }
echo date('Y/m/d - H:i:s')." - FIN des $nbTot requêtes dont $nbCache en cache ($pct %)".EOL; echo date('Y/m/d - H:i:s')." - FIN des $nbTot requêtes dont $nbCache en cache ($pct %)".EOL;
die(); die();

View File

@ -7,11 +7,11 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php'); include_once(FWK_PATH.'mail/sendMail.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS] $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIERS]
Génération du cache des variables courantes si nécessaire. Génération du cache des variables courantes si nécessaire.
Options : Options :
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache -f Forcer la re-Génération du cache
"; ";
$modeDebug=$modeGeneration=false; $modeDebug=$modeGeneration=false;

View File

@ -5,11 +5,11 @@ include_once(FWK_PATH.'common/curl.php');
$modeDebug=$noTimer=false; $modeDebug=$noTimer=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice. Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/ /**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options : Options :
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles) -d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
-t Pas de timer du tout -t Pas de timer du tout
";/* -i:XXXXX Reprendre au code commune Insee XXXXX ";/* -i:XXXXX Reprendre au code commune Insee XXXXX
@ -36,7 +36,7 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
** **
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007 ** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/ **/
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des juridictions par communes...".EOL; echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des juridictions par communes...".EOL;
$referer='http://www.justice.gouv.fr/recherche-juridictions/consult.php'; $referer='http://www.justice.gouv.fr/recherche-juridictions/consult.php';
$iDb=new WDB('insee'); $iDb=new WDB('insee');
@ -50,7 +50,7 @@ foreach ($lstCom as $i=>$tabCom) {
} }
$nbVilles=count($tabVilles); $nbVilles=count($tabVilles);
shuffle($tabTri); shuffle($tabTri);
echo date ('Y/m/d - H:i:s')." - Il y a $nbVilles communes à mettre à jour...".EOL; echo date ('Y/m/d - H:i:s')." - Il y a $nbVilles communes à mettre à jour...".EOL;
foreach ($tabTri as $i=>$codeInsee) { foreach ($tabTri as $i=>$codeInsee) {
$numInsee=substr($codeInsee,1,5); $numInsee=substr($codeInsee,1,5);
@ -67,20 +67,20 @@ foreach ($tabTri as $i=>$codeInsee) {
/*<div id="contenu"> /*<div id="contenu">
<h1>02397-Jussy</h1> <h1>02397-Jussy</h1>
<div class="presentation"> <div class="presentation">
<p><strong>Région</strong>&nbsp;: Picardie</p> <p><strong>Région</strong>&nbsp;: Picardie</p>
<p><strong>Département</strong>&nbsp;: 02-Aisne</p> <p><strong>Département</strong>&nbsp;: 02-Aisne</p>
<p><strong>Arrondissement</strong>&nbsp;: Saint-Quentin</p> <p><strong>Arrondissement</strong>&nbsp;: Saint-Quentin</p>
<p><strong>Canton</strong>&nbsp;: Saint-Simon</p> <p><strong>Canton</strong>&nbsp;: Saint-Simon</p>
<p><strong>Commune</strong>&nbsp;: 02397-Jussy</p> <p><strong>Commune</strong>&nbsp;: 02397-Jussy</p>
</div> </div>
<h2>Populations légales 2007 de la commune</h2> <h2>Populations légales 2007 de la commune</h2>
<p>Pour les communes concernées, les données relatives aux <strong>fractions cantonales</strong> et/ou aux <strong>communes <p>Les populations légales sont désormais actualisées chaque année. Toutefois, les enquêtes de recensement étant réparties sur cinq années, il est recommandé de calculer les évolutions sur des périodes d'au moins cinq ans. Pour l'instant, <strong>la référence pou le calcul des évolutions reste donc le recensement de 1999</strong>.</p> <p>Pour les communes concernées, les données relatives aux <strong>fractions cantonales</strong> et/ou aux <strong>communes <p>Les populations légales sont désormais actualisées chaque année. Toutefois, les enquêtes de recensement étant réparties sur cinq années, il est recommandé de calculer les évolutions sur des périodes d'au moins cinq ans. Pour l'instant, <strong>la référence pou le calcul des évolutions reste donc le recensement de 1999</strong>.</p>
<table summary="02397 - Populations légales 2007 de la commune de Jussy - Population légale de la commune"> <table summary="02397 - Populations légales 2007 de la commune de Jussy - Population légale de la commune">
<caption>Populations légales 2007 de la commune de Jussy</caption> <caption>Populations légales 2007 de la commune de Jussy</caption>
<thead> <thead>
<tr> <tr>
<th scope="col"><a href="/fr/methodes/default.asp?page=definitions/population-municipale-rrp.htm">Po pulation municipale</a></th> <th scope="col"><a href="/fr/methodes/default.asp?page=definitions/population-municipale-rrp.htm">Po pulation municipale</a></th>
<th scope="col"><a href="/fr/methodes/default.asp?page=definitions/popul-comptee-a-part-rrp.htm">Pop ulation comptée à part</a></th> <th scope="col"><a href="/fr/methodes/default.asp?page=definitions/popul-comptee-a-part-rrp.htm">Pop ulation comptée à part</a></th>
<th scope="col"><a href="/fr/methodes/default.asp?page=definitions/population-totale-rrp.htm">Popula tion totale</a></th> <th scope="col"><a href="/fr/methodes/default.asp?page=definitions/population-totale-rrp.htm">Popula tion totale</a></th>
</tr> </tr>
</thead> </thead>
@ -91,9 +91,9 @@ foreach ($tabTri as $i=>$codeInsee) {
</tfoot> </tfoot>
<tbody> <tbody>
<tr> <tr>
<td class="tab-chiffre">1 244</td> <td class="tab-chiffre">1 244</td>
<td class="tab-chiffre">23</td> <td class="tab-chiffre">23</td>
<td class="tab-chiffre">1 267</td> <td class="tab-chiffre">1 267</td>
</tr>*/ </tr>*/
if (preg_match('/<tbody>(?:\s+)<tr>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<\/tr>/Uis', $body, $results)) { if (preg_match('/<tbody>(?:\s+)<tr>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<td class="tab-chiffre">(.*)<\/td>(?:\s+)<\/tr>/Uis', $body, $results)) {
//print_r($results); //print_r($results);
@ -106,9 +106,9 @@ foreach ($tabTri as $i=>$codeInsee) {
'popTotale' => trim(strtr($results[3], array(chr(160)=>'', ' '=>'')))*1, 'popTotale' => trim(strtr($results[3], array(chr(160)=>'', ' '=>'')))*1,
'popAnnee' => 2007, 'popAnnee' => 2007,
); );
if (preg_match('/<p><strong>Région<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2)) if (preg_match('/<p><strong>Région<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2))
$tabInsert['region']=trim($results2[1]); $tabInsert['region']=trim($results2[1]);
if (preg_match('/<p><strong>Département<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2)) if (preg_match('/<p><strong>Département<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2))
$tabInsert['dept']=trim($results2[1]); $tabInsert['dept']=trim($results2[1]);
if (preg_match('/<p><strong>Arrondissement<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2)) if (preg_match('/<p><strong>Arrondissement<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2))
$tabInsert['arrond']=trim($results2[1]); $tabInsert['arrond']=trim($results2[1]);

View File

@ -10,56 +10,56 @@ define('PRIVILEGES_FTP_DIR_PUT', '/var/home_ftp/score/Receive/');
define('PRIVILEGES_FTP_LOCALDIR', '/home/data/infogreffe/'); define('PRIVILEGES_FTP_LOCALDIR', '/home/data/infogreffe/');
define('PRIVILEGES_BACKUP_DIR', '/home/data/infogreffe/histo/'); define('PRIVILEGES_BACKUP_DIR', '/home/data/infogreffe/histo/');
$ftpDelete=true; // Par défaut on supprime les fichiers téléchargés $ftpDelete=true; // Par défaut on supprime les fichiers téléchargés
$tabRejets=array( $tabRejets=array(
'_00'=>"Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier", '_00'=>"Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier",
'_01'=>"Surveillance PRIV posée : inscription existante sur le dossier", '_01'=>"Surveillance PRIV posée : inscription existante sur le dossier",
'_02'=>"GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR", '_02'=>"GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR",
'_03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR", '_03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR",
'_04'=>"GAGI-surveillance en attente envoyée au GAGI", '_04'=>"GAGI-surveillance en attente envoyée au GAGI",
'_05'=>"Surveillance en attente de validation au greffe", '_05'=>"Surveillance en attente de validation au greffe",
'_06'=>"Erreur de chargement", '_06'=>"Erreur de chargement",
'_10'=>"Surveillance impossible car société radiée", '_10'=>"Surveillance impossible car société radiée",
'_11'=>"Surveillance impossible car société transférée dans un autre greffe", '_11'=>"Surveillance impossible car société transférée dans un autre greffe",
'_12'=>"SIREN inconnu", '_12'=>"SIREN inconnu",
'_13'=>"Raison sociale erronée", '_13'=>"Raison sociale erronée",
'_14'=>"Adresse erronée", '_14'=>"Adresse erronée",
'_15'=>"Surveillance impossible sur un établissement secondaire", '_15'=>"Surveillance impossible sur un établissement secondaire",
'_16'=>"Demande incomplète ou incorrecte", '_16'=>"Demande incomplète ou incorrecte",
'_17'=>"Surveillance Privilège impossible", '_17'=>"Surveillance Privilège impossible",
'_18'=>"Surveillance impossible par le greffe", '_18'=>"Surveillance impossible par le greffe",
'_19'=>"Surveillance RCS impossible", '_19'=>"Surveillance RCS impossible",
'_20'=>"Cette surveillance concerne un autre Greffe", '_20'=>"Cette surveillance concerne un autre Greffe",
'_21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)", '_21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
'_22'=>"Plusieurs Bottins (débiteurs) (GAGI)", '_22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
'_23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce", '_23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
'_24'=>"Surveillance impossible car société en liquidation judiciaire", '_24'=>"Surveillance impossible car société en liquidation judiciaire",
'_25'=>"Greffe inconnu", '_25'=>"Greffe inconnu",
'_26'=>"Millésime bilan à surveiller incorrect", '_26'=>"Millésime bilan à surveiller incorrect",
'_27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)", '_27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
'_28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)", '_28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
'_30'=>"Siren absent (ne concerne que les surveillances de type WebService)", '_30'=>"Siren absent (ne concerne que les surveillances de type WebService)",
'_31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)", '_31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
'_50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé", '_50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
'_51'=>"Etablissement non trouvé", '_51'=>"Etablissement non trouvé",
'_52'=>"Code catalogue de la surveillance non renseigné ou incorrect", '_52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
'_53'=>"le siren est déjà sous surveillance", '_53'=>"le siren est déjà sous surveillance",
'_54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement", '_54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement",
'_55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes", '_55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes",
'_56'=>"Le siren est déjà en attente de validation par le greffe", '_56'=>"Le siren est déjà en attente de validation par le greffe",
'_57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)", '_57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)",
'_58'=>"Surveillance impossible sur un agent commercial (statut P ou M)", '_58'=>"Surveillance impossible sur un agent commercial (statut P ou M)",
'_59'=>"Surveillance impossible sur une entreprise non inscrite au RCS mais seulement à l'INSEE(URSSAF, Chambre d'Agriculture ou Chambre des Métiers)", '_59'=>"Surveillance impossible sur une entreprise non inscrite au RCS mais seulement à l'INSEE(URSSAF, Chambre d'Agriculture ou Chambre des Métiers)",
'_88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement", '_88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
'_99'=>"Surveillance impossible pour raisons à examiner", '_99'=>"Surveillance impossible pour raisons à examiner",
'_R'=>"Radiation RCS", '_R'=>"Radiation RCS",
'_L'=>"Liquidation Judiciaire", '_L'=>"Liquidation Judiciaire",
'_T'=>"Transfert dans un autre greffe", '_T'=>"Transfert dans un autre greffe",
); );
function exporte($txt, $lon, $sep='') { function exporte($txt, $lon, $sep='') {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>'')); $txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt); if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -78,12 +78,12 @@ define('CSF_FTP_DIR', '/home/data/ftp/creditsafe/send/');
define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/'); define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIER1] ... $strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIER1] ...
Gestion de la surveillance Privilèges avec Infogreffe Gestion de la surveillance Privilèges avec Infogreffe
Options : Options :
-f Ne pas générer le fichier de demandes de surveillance Privilèges (DE) -f Ne pas générer le fichier de demandes de surveillance Privilèges (DE)
-c Compter uniquement le nombre de demandes de surveillance Privilèges (DE) à traiter -c Compter uniquement le nombre de demandes de surveillance Privilèges (DE) à traiter
-d Mode debug (Verbosité au maximum) -d Mode debug (Verbosité au maximum)
"; ";
// -i Forcer les questions Interactives // -i Forcer les questions Interactives
// -t Charger en test (implique -j -d -i) // -t Charger en test (implique -j -d -i)
@ -95,13 +95,13 @@ Options :
$iRncs=new MRncs(); $iRncs=new MRncs();
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0; $nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
$modeDebug=false; // Mode débug $modeDebug=false; // Mode débug
$questions=false; // Questions interactives autorisées $questions=false; // Questions interactives autorisées
$genereDE=true; // Génére le fichier des demandes/suppressions de surveillance PRIVILEGES $genereDE=true; // Génére le fichier des demandes/suppressions de surveillance PRIVILEGES
$compteDE=false; // Compter le nb de nvelles DE et stopper ! $compteDE=false; // Compter le nb de nvelles DE et stopper !
$tabFichier=$tabFichLigneCmd=array(); $tabFichier=$tabFichLigneCmd=array();
$strMailInfo=''; // Initialisation du mail d'exécution du traitement $strMailInfo=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv']; $argv=$_SERVER['argv'];
@ -123,7 +123,7 @@ Options :
} else $tabFichLigneCmd[]=$argv[$i]; } else $tabFichLigneCmd[]=$argv[$i];
} }
echo date('Y/m/d - H:i:s'). " - Début du programme de gestion des flux Privilèges...".EOL; echo date('Y/m/d - H:i:s'). " - Début du programme de gestion des flux Privilèges...".EOL;
/** Lecture de la table surveillance_site et maj de la table greffe_surv_stock /** Lecture de la table surveillance_site et maj de la table greffe_surv_stock
**/ **/
@ -133,16 +133,16 @@ Options :
$resPriv=$iDb->query("SELECT DISTINCT (siren) AS siren, 0 AS retry, '' AS steNom, '' AS steVoieNum, '' AS steVoieType, '' AS steVoieLib, '' AS steVoieComp1, '' AS steVoieComp2, '' AS steCP, '' AS steVille, '' AS dateInsert FROM surveillances_site $resPriv=$iDb->query("SELECT DISTINCT (siren) AS siren, 0 AS retry, '' AS steNom, '' AS steVoieNum, '' AS steVoieType, '' AS steVoieLib, '' AS steVoieComp1, '' AS steVoieComp2, '' AS steCP, '' AS steVille, '' AS dateInsert FROM surveillances_site
WHERE source='privileges' AND siren>100 AND siren NOT IN (SELECT siren FROM greffes_priv_stock) WHERE source='privileges' AND siren>100 AND siren NOT IN (SELECT siren FROM greffes_priv_stock)
UNION UNION
/* 2ème essai en cas de 1er retour négatif */ /* 2ème essai en cas de 1er retour négatif */
SELECT siren, retry, steNom, steVoieNum, steVoieType, steVoieLib, steVoieComp1, steVoieComp2, steCP, steVille, dateInsert SELECT siren, retry, steNom, steVoieNum, steVoieType, steVoieLib, steVoieComp1, steVoieComp2, steCP, steVille, dateInsert
FROM greffes_priv_stock WHERE retry=1 FROM greffes_priv_stock WHERE retry=1
UNION UNION
/* Reconduction annuelle si encore en surveillance privilèges par le client */ /* Reconduction annuelle si encore en surveillance privilèges par le client */
SELECT siren, 100 AS retry, steNom, steVoieNum, steVoieType, steVoieLib, steVoieComp1, steVoieComp2, steCP, steVille, dateInsert SELECT siren, 100 AS retry, steNom, steVoieNum, steVoieType, steVoieLib, steVoieComp1, steVoieComp2, steCP, steVille, dateInsert
FROM greffes_priv_stock WHERE greDateSurvFin<DATE(NOW()) AND greDateSurvFin<>0 AND siren IN(SELECT siren FROM surveillances_site WHERE source='privileges' AND siren>100);", FROM greffes_priv_stock WHERE greDateSurvFin<DATE(NOW()) AND greDateSurvFin<>0 AND siren IN(SELECT siren FROM surveillances_site WHERE source='privileges' AND siren>100);",
false, MYSQL_ASSOC, true); false, MYSQL_ASSOC, true);
$nbPriv=mysql_num_rows($resPriv); $nbPriv=mysql_num_rows($resPriv);
echo date ('Y/m/d - H:i:s') . " - Il y a $nbPriv nouveau siren à mettre en surveillance privilèges Infogreffe...".EOL; echo date ('Y/m/d - H:i:s') . " - Il y a $nbPriv nouveau siren à mettre en surveillance privilèges Infogreffe...".EOL;
if ($compteDE) die(); if ($compteDE) die();
$timeStamp=date('YmdHis'); $timeStamp=date('YmdHis');
@ -153,7 +153,7 @@ Options :
while ($tabSiren=$iDb->fetch(MYSQL_ASSOC)) { while ($tabSiren=$iDb->fetch(MYSQL_ASSOC)) {
//print_r($tabSiren); //print_r($tabSiren);
$siren=$tabSiren['siren']; $siren=$tabSiren['siren'];
if ($tabSiren['retry']==1) { // Réenvoi après rejet if ($tabSiren['retry']==1) { // Réenvoi après rejet
$tabInsert=$tabSiren; $tabInsert=$tabSiren;
$tabInsert['retry']=0; $tabInsert['retry']=0;
} elseif($tabSiren['retry']==100) { // Reconduction annuelle } elseif($tabSiren['retry']==100) { // Reconduction annuelle
@ -174,13 +174,13 @@ Options :
'dateInsert'=>$timeStamp, 'dateInsert'=>$timeStamp,
); );
if (trim($tabInsert['steNom'])=='') { if (trim($tabInsert['steNom'])=='') {
/** Entreprise absente au RCS (période RNCS Coface ORT) **/ /** Entreprise absente au RCS (période RNCS Coface ORT) **/
$tabIdInsee=@$iInsee->getIdentiteLight($siren); $tabIdInsee=@$iInsee->getIdentiteLight($siren);
$tabInsert['steNom'] = @$tabIdInsee['Nom']; $tabInsert['steNom'] = @$tabIdInsee['Nom'];
} }
if (trim($tabInsert['steVille'])=='') { if (trim($tabInsert['steVille'])=='') {
/** Etablissement absent au RCS (période RNCS Coface ORT) **/ /** Etablissement absent au RCS (période RNCS Coface ORT) **/
$tabIdInsee=@$iInsee->getIdentiteLight($siren); $tabIdInsee=@$iInsee->getIdentiteLight($siren);
$tabInsert['steVoieNum'] = @trim($tabIdInsee['AdresseNum'].' '.$tabIdInsee['AdresseBtq']); $tabInsert['steVoieNum'] = @trim($tabIdInsee['AdresseNum'].' '.$tabIdInsee['AdresseBtq']);
$tabInsert['steVoieType']= @$tabIdInsee['AdresseVoie']; $tabInsert['steVoieType']= @$tabIdInsee['AdresseVoie'];
@ -196,45 +196,45 @@ Options :
$iDb2->update('greffes_priv_stock', $tabInsert, "siren=$siren"); $iDb2->update('greffes_priv_stock', $tabInsert, "siren=$siren");
else { else {
print_r($tabInsert); print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors d'insertion du siren $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors d'insertion du siren $siren...".EOL;
} }
} }
$strOutput=''; $strOutput='';
$strOutput.=exporte('07100001', 8); // N° Abonné = 07100001 $strOutput.=exporte('07100001', 8); // N° Abonné = 07100001
$strOutput.=exporte('C', 1); // C/S Création ou Suppression de surveillance $strOutput.=exporte('C', 1); // C/S Création ou Suppression de surveillance
$strOutput.=exporte($tabInsert['dateInsert'], 8); // Date de la demande $strOutput.=exporte($tabInsert['dateInsert'], 8); // Date de la demande
$strOutput.=exporte('', 50); // Réf Intene S&D $strOutput.=exporte('', 50); // Réf Intene S&D
$strOutput.=exporte('', 2); // Type Réponse Extelia $strOutput.=exporte('', 2); // Type Réponse Extelia
$strOutput.=exporte('', 8); // Date Réponse Extelia $strOutput.=exporte('', 8); // Date Réponse Extelia
$strOutput.=exporte('', 4); // N° du greffe $strOutput.=exporte('', 4); // N° du greffe
$strOutput.=exporte($tabInsert['siren'], 9); $strOutput.=exporte($tabInsert['siren'], 9);
$strOutput.=exporte('', 10); // N° de gestion RCS $strOutput.=exporte('', 10); // N° de gestion RCS
$strOutput.=exporte($tabInsert['steNom'], 160); // Dénomination $strOutput.=exporte($tabInsert['steNom'], 160); // Dénomination
$strOutput.=exporte('', 8); // N° de débiteur $strOutput.=exporte('', 8); // N° de débiteur
$strOutput.=exporte($tabInsert['steVoieNum'], 10); // Adresse : Numéro de voie $strOutput.=exporte($tabInsert['steVoieNum'], 10); // Adresse : Numéro de voie
$strOutput.=exporte($tabInsert['steVoieType'], 4); // Adresse : Type de voie $strOutput.=exporte($tabInsert['steVoieType'], 4); // Adresse : Type de voie
$strOutput.=exporte($tabInsert['steVoieLib'], 20); // Adresse : Libellé de la voie $strOutput.=exporte($tabInsert['steVoieLib'], 20); // Adresse : Libellé de la voie
$strOutput.=exporte($tabInsert['steVoieComp1'], 32);// Adresse : Complément 1 $strOutput.=exporte($tabInsert['steVoieComp1'], 32);// Adresse : Complément 1
$strOutput.=exporte($tabInsert['steVoieComp2'], 32);// Adresse : Complément 2 $strOutput.=exporte($tabInsert['steVoieComp2'], 32);// Adresse : Complément 2
$strOutput.=exporte($tabInsert['steCP'], 5); // Adresse : Code Postal $strOutput.=exporte($tabInsert['steCP'], 5); // Adresse : Code Postal
$strOutput.=exporte('', 1); // Filler $strOutput.=exporte('', 1); // Filler
$strOutput.=exporte($tabInsert['steVille'], 30); // Adresse : Ville $strOutput.=exporte($tabInsert['steVille'], 30); // Adresse : Ville
$strOutput.=exporte('', 4); // Millésime Bilan $strOutput.=exporte('', 4); // Millésime Bilan
$strOutput.=exporte('', 4); // Filler $strOutput.=exporte('', 4); // Filler
$strOutput.=exporte('71', 10); // Code Catalogue = 71 $strOutput.=exporte('71', 10); // Code Catalogue = 71
$strOutput.=exporte('', 4); // Filler $strOutput.=exporte('', 4); // Filler
$strOutput.=exporte('', 8); // Flux retour : Date de l'AR $strOutput.=exporte('', 8); // Flux retour : Date de l'AR
$strOutput.=exporte('', 3); // Flux retour : Code AR ou rejet $strOutput.=exporte('', 3); // Flux retour : Code AR ou rejet
$strOutput.=exporte('00000000', 8); // Si Suppression : Référence du lot $strOutput.=exporte('00000000', 8); // Si Suppression : Référence du lot
$strOutput.=exporte('0000000000', 10); // Si Suppression : Référence détail suppr. $strOutput.=exporte('0000000000', 10); // Si Suppression : Référence détail suppr.
$strOutput.=exporte('', 8); // Flux retour : Date de début de Surveillance $strOutput.=exporte('', 8); // Flux retour : Date de début de Surveillance
$strOutput.=exporte('', 8); // Flux retour : Date de Fin de Surveillance $strOutput.=exporte('', 8); // Flux retour : Date de Fin de Surveillance
$strOutput.=exporte('', 11); // Filler $strOutput.=exporte('', 11); // Filler
echo $strOutput.EOL; echo $strOutput.EOL;
if ($modeDebug && $nbLignes==0) if ($modeDebug && $nbLignes==0)
echo date ('Y/m/d - H:i:s') . " - Le fichier '$nomFicDem' fait ".strlen($strOutput)." caractères.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier '$nomFicDem' fait ".strlen($strOutput)." caractères.".EOL;
fwrite($fp, $strOutput.EOL); fwrite($fp, $strOutput.EOL);
$nbLignes++; $nbLignes++;
@ -243,9 +243,9 @@ Options :
if ($nbLignes==0) { if ($nbLignes==0) {
unlink(PRIVILEGES_FTP_LOCALDIR.$nomFicDem); unlink(PRIVILEGES_FTP_LOCALDIR.$nomFicDem);
echo date ('Y/m/d - H:i:s') . " - Pas de flux de demandes de surveillance Privilèges pour Infogreffe.".EOL; echo date ('Y/m/d - H:i:s') . " - Pas de flux de demandes de surveillance Privilèges pour Infogreffe.".EOL;
} else } else
echo date ('Y/m/d - H:i:s') . " - Fin de la génération des demandes pour Infogreffe : $nbLignes lignes traitées.".EOL; echo date ('Y/m/d - H:i:s') . " - Fin de la génération des demandes pour Infogreffe : $nbLignes lignes traitées.".EOL;
} }
$conn_id = ftp_connect(PRIVILEGES_FTP_HOST); $conn_id = ftp_connect(PRIVILEGES_FTP_HOST);
@ -254,8 +254,9 @@ Options :
$login_result = ftp_login($conn_id, PRIVILEGES_FTP_LOGIN, PRIVILEGES_FTP_PASS); $login_result = ftp_login($conn_id, PRIVILEGES_FTP_LOGIN, PRIVILEGES_FTP_PASS);
if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP d'Extelia.".EOL; die(); } if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP d'Extelia.".EOL; die(); }
// Récupération du contenu d'un dossier // Récupération du contenu d'un dossier
$contents = ftp_nlist($conn_id, PRIVILEGES_FTP_DIR_GET); $contents = ftp_nlist($conn_id, PRIVILEGES_FTP_DIR_GET);
//print_r($contents);
//die('ici'); //die('ici');
if ($contents) { if ($contents) {
@ -263,8 +264,7 @@ Options :
$tailleDist = ftp_size($conn_id, $server_file); $tailleDist = ftp_size($conn_id, $server_file);
$dateDist = ftp_mdtm($conn_id, $server_file); $dateDist = ftp_mdtm($conn_id, $server_file);
$server_fileName=basename($server_file); $server_fileName=basename($server_file);
if (!preg_match('/IPRDESCO|IPSARSCO|IPSRESCO/i', $server_fileName)) {
if (!preg_match('/IPRDESCO/i', $server_fileName)) {
if ($modeDebug) echo date('Y/m/d - H:i:s'). " - Le fichier distant '$server_fileName' n'est pas un flux PRIVILEGES.".EOL; if ($modeDebug) echo date('Y/m/d - H:i:s'). " - Le fichier distant '$server_fileName' n'est pas un flux PRIVILEGES.".EOL;
continue; continue;
} elseif ($modeDebug) } elseif ($modeDebug)
@ -273,11 +273,11 @@ Options :
if ($dateDist != -1) { if ($dateDist != -1) {
$tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist); $tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
if ($modeDebug) if ($modeDebug)
echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_fileName a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n"; echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_fileName a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
} else { } else {
$tabFichiers[$server_fileName]['dateDispo']=NULL; $tabFichiers[$server_fileName]['dateDispo']=NULL;
if ($modeDebug) if ($modeDebug)
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n"; echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
} }
$tabFichiers[$server_fileName]['taille']=$tailleDist; $tabFichiers[$server_fileName]['taille']=$tailleDist;
$tabFichiers[$server_fileName]['cheminNom']=$server_file; $tabFichiers[$server_fileName]['cheminNom']=$server_file;
@ -299,21 +299,21 @@ Options :
$tDur = round($tFin-$tDeb,3); $tDur = round($tFin-$tDeb,3);
$tailleDistKo=round($tailleDist/1024,1); $tailleDistKo=round($tailleDist/1024,1);
$tRatio=@round($tailleDistKo/$tDur,1); $tRatio=@round($tailleDistKo/$tDur,1);
echo date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL; echo date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName téléchargé avec succès : $tailleDistKo Ko en $tDur sec. ($tRatio Ko/s)".EOL;
if ($ftpDelete && ftp_delete($conn_id, $server_file)) { if ($ftpDelete && ftp_delete($conn_id, $server_file)) {
echo date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL; echo date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier distant $server_fileName supprimé avec succès.".EOL;
} }
} else } else
die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL);
} elseif ($modeDebug) } elseif ($modeDebug)
echo date ('Y/m/d - H:i:s') ." - Le fichier $server_fileName a déjà été téléchargé le ".$tabFichiers[$server_fileName]['dateDownload']."($tailleDistKo Ko).".EOL; echo date ('Y/m/d - H:i:s') ." - Le fichier $server_fileName a déjà été téléchargé le ".$tabFichiers[$server_fileName]['dateDownload']."($tailleDistKo Ko).".EOL;
} }
} }
if (@$nbLignes>0) { if (@$nbLignes>0) {
/** Dépot du fichier des demandes **/ /** Dépot du fichier des demandes **/
$tailleLoc=filesize(PRIVILEGES_FTP_LOCALDIR.$nomFicDem); $tailleLoc=filesize(PRIVILEGES_FTP_LOCALDIR.$nomFicDem);
$tDeb = microtime(true); $tDeb = microtime(true);
if (ftp_put($conn_id, PRIVILEGES_FTP_DIR_PUT.$nomFicDem, PRIVILEGES_FTP_LOCALDIR.$nomFicDem, FTP_ASCII)) { if (ftp_put($conn_id, PRIVILEGES_FTP_DIR_PUT.$nomFicDem, PRIVILEGES_FTP_LOCALDIR.$nomFicDem, FTP_ASCII)) {
@ -321,16 +321,16 @@ Options :
$tDur = round($tFin-$tDeb); $tDur = round($tFin-$tDeb);
$tailleLocKo=round($tailleLoc/1024,1); $tailleLocKo=round($tailleLoc/1024,1);
$tRatio=@round($tailleLocKo/$tDur,1); $tRatio=@round($tailleLocKo/$tDur,1);
echo date ('Y/m/d - H:i:s')." - Fichier '$nomFicDem' déposé avec succès : $tailleLocKo Ko en $tDur sec. ($tRatio Ko/s)".EOL; echo date ('Y/m/d - H:i:s')." - Fichier '$nomFicDem' déposé avec succès : $tailleLocKo Ko en $tDur sec. ($tRatio Ko/s)".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier '$nomFicDem' déposé avec succès : $tailleLocKo Ko en $tDur sec. ($tRatio Ko/s)".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier '$nomFicDem' déposé avec succès : $tailleLocKo Ko en $tDur sec. ($tRatio Ko/s)".EOL;
} else { } else {
die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier local '$nomFicDem' non déposé !".EOL); die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier local '$nomFicDem' non déposé !".EOL);
} }
} }
// Fermeture de la connexion // Fermeture de la connexion
ftp_close($conn_id); ftp_close($conn_id);
echo date ('Y/m/d - H:i:s')." - Fin du transfert des fichiers Privilèges en FTP.".EOL; echo date ('Y/m/d - H:i:s')." - Fin du transfert des fichiers Privilèges en FTP.".EOL;
if (count($tabFichLigneCmd)==0) { if (count($tabFichLigneCmd)==0) {
@ -338,8 +338,8 @@ Options :
while (false !== ($filename = readdir($dh))) { while (false !== ($filename = readdir($dh))) {
$idF=substr($filename, 14, 8); $idF=substr($filename, 14, 8);
if ($filename<>'.' && $filename<>'..' && if ($filename<>'.' && $filename<>'..' &&
($idF=='IPSARSCO' || // Fichier des Accusés de Réception des demandes de surveillance ($idF=='IPSARSCO' || // Fichier des Accusés de Réception des demandes de surveillance
$idF=='IPSRESCO' || // Fichier des Révélations $idF=='IPSRESCO' || // Fichier des Révélations
$idF=='IPSPOSCO') ) // Fichier "Portefeuille" $idF=='IPSPOSCO') ) // Fichier "Portefeuille"
$tabFichier[] = PRIVILEGES_FTP_LOCALDIR.$filename; $tabFichier[] = PRIVILEGES_FTP_LOCALDIR.$filename;
} }
@ -354,7 +354,7 @@ Options :
$fichier=basename($fichier); $fichier=basename($fichier);
$idF=substr($fichier, 14, 8); $idF=substr($fichier, 14, 8);
echo date('Y/m/d - H:i:s'). " - Début du traitement du fichier $fichier (IDF='$idF')...".EOL; echo date('Y/m/d - H:i:s'). " - Début du traitement du fichier $fichier (IDF='$idF')...".EOL;
$dateDispo=date('YmdHis', filemtime($fichierAvecRep)); $dateDispo=date('YmdHis', filemtime($fichierAvecRep));
/* /*
$dateFichierMod=substr(''.$dateDispo,0,8)*1; $dateFichierMod=substr(''.$dateDispo,0,8)*1;
@ -369,14 +369,14 @@ Options :
$nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0; $nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0;
$a = fgets($fp, 4096); $a = fgets($fp, 4096);
if (strlen($a)<800) { if (strlen($a)<800) {
echo date('Y/m/d - H:i:s') ." - Le fichier RNCS à charger $fichier n'est pas au format IMR Infogreffe/Extelia !".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier RNCS à charger $fichier n'est pas au format IMR Infogreffe/Extelia !".EOL;
die(); die();
}*/ }*/
$nbLignesTot=0; $nbLignesTot=0;
while (!feof($fp)) { while (!feof($fp)) {
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
if ($nbLignesTot==0 && strlen($a)<500) { if ($nbLignesTot==0 && strlen($a)<500) {
echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu !".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu !".EOL;
die(); die();
} }
$nbLignesTot++; $nbLignesTot++;
@ -387,19 +387,19 @@ Options :
$nbLignesCharges=$tabTmp[0]['nb']; $nbLignesCharges=$tabTmp[0]['nb'];
$dateChargement=$tabTmp[0]['dateChargement']; $dateChargement=$tabTmp[0]['dateChargement'];
if ($nbLignesCharges==$nbLignesUtil) { if ($nbLignesCharges==$nbLignesUtil) {
echo date('Y/m/d - H:i:s'). " - Le fichier $fichier a déjà été chargé le $dateChargement ($nbLignesCharges/$nbLignesUtil lignes)...".EOL; echo date('Y/m/d - H:i:s'). " - Le fichier $fichier a déjà été chargé le $dateChargement ($nbLignesCharges/$nbLignesUtil lignes)...".EOL;
fclose($fp); fclose($fp);
continue; continue;
} else { } else {
echo date('Y/m/d - H:i:s'). " - Attention : Le fichier $fichier a déjà été partiellement chargé le $dateChargement ($nbLignesCharges/$nbLignesUtil lignes)...".EOL; echo date('Y/m/d - H:i:s'). " - Attention : Le fichier $fichier a déjà été partiellement chargé le $dateChargement ($nbLignesCharges/$nbLignesUtil lignes)...".EOL;
echo date('Y/m/d - H:i:s'). " - Arrêt du traitement.".EOL; echo date('Y/m/d - H:i:s'). " - Arrêt du traitement.".EOL;
die(); die();
} }
} else } else
echo date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL;
/* /*
if ($iFic==0 && $nbLignesTot>2000000 && !$stock) { if ($iFic==0 && $nbLignesTot>2000000 && !$stock) {
// C'est le 1er fichier, il comporte plus de 2M de lignes et il n'est pas déclaré comme stock ! // C'est le 1er fichier, il comporte plus de 2M de lignes et il n'est pas déclaré comme stock !
echo date('Y/m/d - H:i:s') ." - Ce fichier est-il un stock annuel ? Merci de confirmer (O/N) "; echo date('Y/m/d - H:i:s') ." - Ce fichier est-il un stock annuel ? Merci de confirmer (O/N) ";
while (1) { while (1) {
$saisie = trim(strtoupper(fgets(STDIN))); $saisie = trim(strtoupper(fgets(STDIN)));
@ -413,12 +413,12 @@ Options :
} }
} }
*/ */
$message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL; $message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL;
echo $message; echo $message;
rewind($fp); rewind($fp);
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
$sirenPre=0; // Valeur du Siren précédent $sirenPre=0; // Valeur du Siren précédent
$siren=0; $siren=0;
$modifDir=$modifJug=false; $modifDir=$modifJug=false;
$table=''; $table='';
@ -427,82 +427,82 @@ Options :
$nbLignes++; $nbLignes++;
$codeEnr = ''.trim( substr($a, 0, 2)); $codeEnr = ''.trim( substr($a, 0, 2));
switch ($codeEnr) { switch ($codeEnr) {
case '00': // Structure de contrôle entête(1 par fichier) case '00': // Structure de contrôle entête(1 par fichier)
$nbLignes00++; $nbLignes00++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier $tabEntete['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier
break; break;
case '01': // PRIVILEGES case '01': // PRIVILEGES
//die("'$a'"); //die("'$a'");
$nbLignes01++; $nbLignes01++;
$tabInsert=array(); $tabInsert=array();
// Données sur la surveillance // Données sur la surveillance
$tabInsert['dateEven']=trim(substr($a, 2 , 8 )); // Date de l'événement $tabInsert['dateEven']=trim(substr($a, 2 , 8 )); // Date de l'événement
$tabInsert['refLot']=trim(substr($a, 10 , 8 )); // Référence Extelia du lot $tabInsert['refLot']=trim(substr($a, 10 , 8 )); // Référence Extelia du lot
$tabInsert['refSurv']=trim(substr($a, 18 , 10 )); // Référence Extelia de la surveillance $tabInsert['refSurv']=trim(substr($a, 18 , 10 )); // Référence Extelia de la surveillance
$tabInsert['siren']=trim(substr($a, 28 , 9 )); // Siren $tabInsert['siren']=trim(substr($a, 28 , 9 )); // Siren
$tabInsert['greffe']=trim(substr($a, 37 , 4 )); // Greffe $tabInsert['greffe']=trim(substr($a, 37 , 4 )); // Greffe
$tabInsert['numDebiteur']=trim(substr($a, 41 , 8 )); // Numéro du débiteur $tabInsert['numDebiteur']=trim(substr($a, 41 , 8 )); // Numéro du débiteur
$tabInsert['sirenage']=trim(substr($a, 49 , 2 )); // Flag indicateur de sirénage $tabInsert['sirenage']=trim(substr($a, 49 , 2 )); // Flag indicateur de sirénage
$tabInsert['typeEven']=trim(substr($a, 51 , 10 )); // Type de l'événement (PRNINS, PRNMOL, PRNRAD) $tabInsert['typeEven']=trim(substr($a, 51 , 10 )); // Type de l'événement (PRNINS, PRNMOL, PRNRAD)
$tabInsert['dateFraiche']=trim(substr($a, 61 , 8 )); // Date de fraîcheur $tabInsert['dateFraiche']=trim(substr($a, 61 , 8 )); // Date de fraîcheur
$tabInsert['codeRev']=trim(substr($a, 69 , 10 )); // Code de dernière révélation $tabInsert['codeRev']=trim(substr($a, 69 , 10 )); // Code de dernière révélation
// Données sur le débiteur // Données sur le débiteur
$tabInsert['debRaisonSociale']=trim(substr($a, 79 , 160 )); // Raison sociale du débiteur $tabInsert['debRaisonSociale']=trim(substr($a, 79 , 160 )); // Raison sociale du débiteur
$tabInsert['debSigle']=trim(substr($a, 239 , 80 )); // Sigle du débiteur $tabInsert['debSigle']=trim(substr($a, 239 , 80 )); // Sigle du débiteur
$tabInsert['debCiv']=trim(substr($a, 319 , 10 )); // Civilité débiteur $tabInsert['debCiv']=trim(substr($a, 319 , 10 )); // Civilité débiteur
$tabInsert['debNom']=trim(substr($a, 329 , 160 )); // Nom du débiteur $tabInsert['debNom']=trim(substr($a, 329 , 160 )); // Nom du débiteur
$tabInsert['debPrenom']=trim(substr($a, 489 , 64 )); // Prénom du débiteur $tabInsert['debPrenom']=trim(substr($a, 489 , 64 )); // Prénom du débiteur
$tabInsert['debConjoint']=trim(substr($a, 553 , 32 )); // Conjoint débiteur $tabInsert['debConjoint']=trim(substr($a, 553 , 32 )); // Conjoint débiteur
$tabInsert['debUsage']=trim(substr($a, 585 , 32 )); // Usage débiteur $tabInsert['debUsage']=trim(substr($a, 585 , 32 )); // Usage débiteur
$tabInsert['debEnseigne']=trim(substr($a, 617 , 64 )); // Enseigne débiteur $tabInsert['debEnseigne']=trim(substr($a, 617 , 64 )); // Enseigne débiteur
$tabInsert['debActivite']=trim(substr($a, 681 , 64 )); // Activité du débiteur $tabInsert['debActivite']=trim(substr($a, 681 , 64 )); // Activité du débiteur
$tabInsert['debFj']=trim(substr($a, 745 , 10 )); // Code forme juridique du débiteur $tabInsert['debFj']=trim(substr($a, 745 , 10 )); // Code forme juridique du débiteur
$tabInsert['debFjLib']=trim(substr($a, 755 , 80 )); // Libellé de la forme juridique du débiteur $tabInsert['debFjLib']=trim(substr($a, 755 , 80 )); // Libellé de la forme juridique du débiteur
$tabInsert['debResidence']=trim(substr($a, 835 , 50 )); // Résidence débiteur $tabInsert['debResidence']=trim(substr($a, 835 , 50 )); // Résidence débiteur
$tabInsert['debNumVoie']=trim(substr($a, 885 , 10 )); // Numéro de la voie débiteur $tabInsert['debNumVoie']=trim(substr($a, 885 , 10 )); // Numéro de la voie débiteur
$tabInsert['debTypVoie']=trim(substr($a, 895 , 20 )); // Type de voie débiteur $tabInsert['debTypVoie']=trim(substr($a, 895 , 20 )); // Type de voie débiteur
$tabInsert['debLibVoie']=trim(substr($a, 915 , 50 )); // Nom de la voie débiteur $tabInsert['debLibVoie']=trim(substr($a, 915 , 50 )); // Nom de la voie débiteur
$tabInsert['debAdrComp']=trim(substr($a, 965 , 50 )); // Localité débiteur $tabInsert['debAdrComp']=trim(substr($a, 965 , 50 )); // Localité débiteur
$tabInsert['debCP']=trim(substr($a, 1015 , 15 )); // Code postal débiteur $tabInsert['debCP']=trim(substr($a, 1015 , 15 )); // Code postal débiteur
$tabInsert['debVille']=trim(substr($a, 1030 , 50 )); // Bureau distributeur débiteur $tabInsert['debVille']=trim(substr($a, 1030 , 50 )); // Bureau distributeur débiteur
$tabInsert['debPays']=trim(substr($a, 1080 , 10 )); // Pays débiteur $tabInsert['debPays']=trim(substr($a, 1080 , 10 )); // Pays débiteur
// Données sur l'inscription // Données sur l'inscription
$tabInsert['insType']=trim(substr($a, 1090 , 10 )); // Type de privilège $tabInsert['insType']=trim(substr($a, 1090 , 10 )); // Type de privilège
$tabInsert['insLib']=trim(substr($a, 1100 , 80 )); // Libellé du privilège $tabInsert['insLib']=trim(substr($a, 1100 , 80 )); // Libellé du privilège
$tabInsert['insNum']=trim(substr($a, 1180 , 9 )); // Numéro d'inscription $tabInsert['insNum']=trim(substr($a, 1180 , 9 )); // Numéro d'inscription
$tabInsert['insDate']=trim(substr($a, 1189 , 8 ))*1; // Date d'inscription $tabInsert['insDate']=trim(substr($a, 1189 , 8 ))*1; // Date d'inscription
$tabInsert['insObjet']=trim(substr($a, 1197 , 500 )); // Objet de l'inscription ou Descriptif $tabInsert['insObjet']=trim(substr($a, 1197 , 500 )); // Objet de l'inscription ou Descriptif
$tabInsert['insMontant']=trim(substr($a, 1697 , 15 ).'.'.substr($a, 1712 , 5 ))*1; // Montant de la créance (15 entiers, 5 décimales) $tabInsert['insMontant']=trim(substr($a, 1697 , 15 ).'.'.substr($a, 1712 , 5 ))*1; // Montant de la créance (15 entiers, 5 décimales)
$tabInsert['insDev']=trim(substr($a, 1717 , 10 )); // Devise de la créance $tabInsert['insDev']=trim(substr($a, 1717 , 10 )); // Devise de la créance
$tabInsert['insDateEch']=trim(substr($a, 1727 , 8 ))*1; // Date d'exigibilité $tabInsert['insDateEch']=trim(substr($a, 1727 , 8 ))*1; // Date d'exigibilité
$tabInsert['insDateFin']=trim(substr($a, 1735 , 8 ))*1; // Date de caducité/Date de péremption $tabInsert['insDateFin']=trim(substr($a, 1735 , 8 ))*1; // Date de caducité/Date de péremption
$tabInsert['insNanTx']=trim(substr($a, 1743 , 5 )); // Nantissements : Taux d'intérêt $tabInsert['insNanTx']=trim(substr($a, 1743 , 5 )); // Nantissements : Taux d'intérêt
$tabInsert['insNanTitre']=trim(substr($a, 1748 , 150 )); // Nantissements : Titre de l'acte et date $tabInsert['insNanTitre']=trim(substr($a, 1748 , 150 )); // Nantissements : Titre de l'acte et date
$tabInsert['insNanOppo']=trim(substr($a, 1898 , 200 )); // Nantissements : Election de domicile pour les oppositions $tabInsert['insNanOppo']=trim(substr($a, 1898 , 200 )); // Nantissements : Election de domicile pour les oppositions
$tabInsert['insProNat']=trim(substr($a, 2098 , 80 )); // Protêts : Nature de l'effet $tabInsert['insProNat']=trim(substr($a, 2098 , 80 )); // Protêts : Nature de l'effet
$tabInsert['insProHui']=trim(substr($a, 2178 , 300 )); // Protêts : Nom et adresse de l'huissier $tabInsert['insProHui']=trim(substr($a, 2178 , 300 )); // Protêts : Nom et adresse de l'huissier
$tabInsert['insProRep']=trim(substr($a, 2478 , 200 )); // Protêts : Réponse $tabInsert['insProRep']=trim(substr($a, 2478 , 200 )); // Protêts : Réponse
$tabInsert['insNSCA']=trim(substr($a, 2678 , 300 )); // Nantissements de parts de sociétés civiles : Acceptation $tabInsert['insNSCA']=trim(substr($a, 2678 , 300 )); // Nantissements de parts de sociétés civiles : Acceptation
$tabInsert['insNSCParts']=trim(substr($a, 2978 , 150 )); // Nantissements de parts de sociétés civiles : Parts $tabInsert['insNSCParts']=trim(substr($a, 2978 , 150 )); // Nantissements de parts de sociétés civiles : Parts
$tabInsert['insNSCSigni']=trim(substr($a, 3128 , 200 )); // Nantissements de parts de sociétés civiles : Signification $tabInsert['insNSCSigni']=trim(substr($a, 3128 , 200 )); // Nantissements de parts de sociétés civiles : Signification
// Données sur les créanciers // Données sur les créanciers
$tabInsert['creNom']=trim(substr($a, 3328 , 160 )); // Nom/raison sociale du 1er créancier $tabInsert['creNom']=trim(substr($a, 3328 , 160 )); // Nom/raison sociale du 1er créancier
$tabInsert['creNumVoi']=trim(substr($a, 3488 , 10 )); // Numéro de la voie créancier $tabInsert['creNumVoi']=trim(substr($a, 3488 , 10 )); // Numéro de la voie créancier
$tabInsert['creTypVoi']=trim(substr($a, 3498 , 20 )); // Type de voie créancier $tabInsert['creTypVoi']=trim(substr($a, 3498 , 20 )); // Type de voie créancier
$tabInsert['creLibVoi']=trim(substr($a, 3518 , 50 )); // Nom de la voie créancier $tabInsert['creLibVoi']=trim(substr($a, 3518 , 50 )); // Nom de la voie créancier
$tabInsert['creAdrComp1']=trim(substr($a, 3568 , 50 )); // Résidence créancier $tabInsert['creAdrComp1']=trim(substr($a, 3568 , 50 )); // Résidence créancier
$tabInsert['creAdrComp2']=trim(substr($a, 3618 , 50 )); // Localité créancier $tabInsert['creAdrComp2']=trim(substr($a, 3618 , 50 )); // Localité créancier
$tabInsert['creCP']=trim(substr($a, 3668 , 15 )); // Code postal créancier $tabInsert['creCP']=trim(substr($a, 3668 , 15 )); // Code postal créancier
$tabInsert['creVille']=trim(substr($a, 3683 , 50 )); // Bureau distributeur créancier $tabInsert['creVille']=trim(substr($a, 3683 , 50 )); // Bureau distributeur créancier
$tabInsert['crePays']=trim(substr($a, 3733 , 10 )); // Pays créancier $tabInsert['crePays']=trim(substr($a, 3733 , 10 )); // Pays créancier
$tabInsert['creAutres']=trim(substr($a, 3743 , 900 )); // Nom des 9 autres créanciers $tabInsert['creAutres']=trim(substr($a, 3743 , 900 )); // Nom des 9 autres créanciers
// Données sur la radiation // Données sur la radiation
$tabInsert['radDate']=trim(substr($a, 4643 , 8 ))*1; // Date de radiation définitive $tabInsert['radDate']=trim(substr($a, 4643 , 8 ))*1; // Date de radiation définitive
$tabInsert['radMention']=trim(substr($a, 4651 , 8 ))*1; // Date de la dernière mention de radiation partielle $tabInsert['radMention']=trim(substr($a, 4651 , 8 ))*1; // Date de la dernière mention de radiation partielle
$tabInsert['radPartiel']=trim(substr($a, 4659 , 300 )); // Mention de radiation partielle (la plus récente) $tabInsert['radPartiel']=trim(substr($a, 4659 , 300 )); // Mention de radiation partielle (la plus récente)
$tabInsert['radPartMt']=trim(substr($a, 4959 , 15).'.'.substr($a, 4974 , 5 ))*1; // Montant radiation partielle (15 entiers et 5 décimales) $tabInsert['radPartMt']=trim(substr($a, 4959 , 15).'.'.substr($a, 4974 , 5 ))*1; // Montant radiation partielle (15 entiers et 5 décimales)
$tabInsert['radDev']=trim(substr($a, 4979 , 10 )); // Devise du montant de la radiation partielle $tabInsert['radDev']=trim(substr($a, 4979 , 10 )); // Devise du montant de la radiation partielle
$tabInsert['radDiv']=trim(substr($a, 4989 , 10 )); // Zone libre $tabInsert['radDiv']=trim(substr($a, 4989 , 10 )); // Zone libre
$tabInsert['idFichier']=$fichier; $tabInsert['idFichier']=$fichier;
@ -523,7 +523,7 @@ Options :
" AND radDate=".$tabInsert['radDate']. " AND radDate=".$tabInsert['radDate'].
" AND radPartMt=".$tabInsert['radPartMt'])) { " AND radPartMt=".$tabInsert['radPartMt'])) {
print_r($tabInsert); print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la MAJ de siren=".$tabInsert['siren']. echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la MAJ de siren=".$tabInsert['siren'].
" AND greffe=".$tabInsert['greffe']. " AND greffe=".$tabInsert['greffe'].
" AND numDebiteur='".$tabInsert['numDebiteur']."' " AND numDebiteur='".$tabInsert['numDebiteur']."'
AND insType=".$tabInsert['insType']. AND insType=".$tabInsert['insType'].
@ -538,16 +538,16 @@ Options :
} }
} else { } else {
print_r($tabInsert); print_r($tabInsert);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors d'insertion du siren=".$tabInsert['siren'].EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors d'insertion du siren=".$tabInsert['siren'].EOL;
die(); die();
} }
} }
case '99': // Structure de contrôle fin de fichier (1 par fichier) case '99': // Structure de contrôle fin de fichier (1 par fichier)
$nbLignes99++; $nbLignes99++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabFin['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier $tabFin['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier
$tabFin['nbLignes01'] = trim( substr($a, 28, 10)); // Nombre de lignes NAN (privilèges) $tabFin['nbLignes01'] = trim( substr($a, 28, 10)); // Nombre de lignes NAN (privilèges)
$tabFin['nbLignes02'] = trim( substr($a, 38, 10)); // Nombre de lignes RCS (procol) $tabFin['nbLignes02'] = trim( substr($a, 38, 10)); // Nombre de lignes RCS (procol)
$tabFin['nbLignes03'] = trim( substr($a, 48, 10)); // Nombre de lignes BIL (bilans) $tabFin['nbLignes03'] = trim( substr($a, 48, 10)); // Nombre de lignes BIL (bilans)
break; break;
@ -556,7 +556,7 @@ Options :
} // Fin lecture fichier } // Fin lecture fichier
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) { if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
unlink($fichierAvecRep); unlink($fichierAvecRep);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
} }
} elseif ($fp && $idF=='IPSARSCO') { // Fichier AR } elseif ($fp && $idF=='IPSARSCO') { // Fichier AR
$nbLignes=$nbLignes00=$nbLignes99=0; $nbLignes=$nbLignes00=$nbLignes99=0;
@ -565,13 +565,13 @@ Options :
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
$len=strlen($a); $len=strlen($a);
if ($nbLignesTot==0 && ($len<481 || $len>482)) { if ($nbLignesTot==0 && ($len<481 || $len>482)) {
echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu (ligne de $len caractères) !".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu (ligne de $len caractères) !".EOL;
die("'$a'"); die("'$a'");
} }
$nbLignesTot++; $nbLignesTot++;
} }
echo date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier à charger $fichier contient $nbLignesTot lignes.".EOL;
$message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL; $message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier n°$iFic, $fichier...".EOL;
echo $message; echo $message;
rewind($fp); rewind($fp);
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
@ -580,40 +580,40 @@ Options :
//992010040607100001AR00000000010000000156 //992010040607100001AR00000000010000000156
$codeEnr = ''.trim( substr($a, 0, 2)); $codeEnr = ''.trim( substr($a, 0, 2));
switch ($codeEnr) { switch ($codeEnr) {
case '00': // Structure de contrôle entête(1 par fichier) case '00': // Structure de contrôle entête(1 par fichier)
$nbLignes00++; $nbLignes00++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO) $tabEntete['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO)
$tabEntete['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier $tabEntete['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier
break; break;
case '99': // Structure de contrôle fin de fichier (1 par fichier) case '99': // Structure de contrôle fin de fichier (1 par fichier)
$nbLignes99++; $nbLignes99++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabFin['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO) $tabFin['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO)
$tabFin['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier $tabFin['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier
$tabFin['nbLignes'] = trim( substr($a, 30, 10)); // Nombre de lignes AR (ou PO) $tabFin['nbLignes'] = trim( substr($a, 30, 10)); // Nombre de lignes AR (ou PO)
echo date('Y/m/d - H:i:s') ." - Le fichier $idF chargé $fichier contenait $nbLignes/".$tabFin['nbLignes']." lignes.".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier $idF chargé $fichier contenait $nbLignes/".$tabFin['nbLignes']." lignes.".EOL;
break; break;
default: default:
$nbLignes++; $nbLignes++;
$siren = trim(substr($a, 81 , 9 ));// Siren $siren = trim(substr($a, 81 , 9 ));// Siren
$tabUpdate=array(); $tabUpdate=array();
// Données sur la surveillance // Données sur la surveillance
$tabUpdate['greRepType'] = trim(substr($a, 67 , 2 ));// Type de réponse Extelia $tabUpdate['greRepType'] = trim(substr($a, 67 , 2 ));// Type de réponse Extelia
$tabUpdate['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia $tabUpdate['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia
$tabUpdate['greffe'] = trim(substr($a, 77 , 4 ));// N° du Greffe de l'AR $tabUpdate['greffe'] = trim(substr($a, 77 , 4 ));// N° du Greffe de l'AR
$tabUpdate['greArDate'] = trim(substr($a, 424 , 8 ));// Date de l'Accusé Réception Extelia $tabUpdate['greArDate'] = trim(substr($a, 424 , 8 ));// Date de l'Accusé Réception Extelia
$tabUpdate['greArCode'] = trim(substr($a, 432 , 3 ));// Code Accusé Réception $tabUpdate['greArCode'] = trim(substr($a, 432 , 3 ));// Code Accusé Réception
$tabUpdate['greSurvRefLot'] = trim(substr($a, 435 , 8 ));// Référence Extelia du lot de surveillance $tabUpdate['greSurvRefLot'] = trim(substr($a, 435 , 8 ));// Référence Extelia du lot de surveillance
$tabUpdate['greSurvRefDetail'] =trim(substr($a, 443 , 10 ));// Référence Extelia de la surveillance détail $tabUpdate['greSurvRefDetail'] =trim(substr($a, 443 , 10 ));// Référence Extelia de la surveillance détail
$tabUpdate['greDateSurvDeb'] = trim(substr($a, 453 , 8 ));// Date de début de la surveillance $tabUpdate['greDateSurvDeb'] = trim(substr($a, 453 , 8 ));// Date de début de la surveillance
$tabUpdate['greDateSurvFin'] = trim(substr($a, 461 , 8 ));// Date de fin de la surveillance $tabUpdate['greDateSurvFin'] = trim(substr($a, 461 , 8 ));// Date de fin de la surveillance
$tabUpdate['idFichier']=$fichier; $tabUpdate['idFichier']=$fichier;
if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) { if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) {
print_r($tabUpdate); print_r($tabUpdate);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du siren $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du siren $siren...".EOL;
die(); die();
} }
break; break;
@ -623,7 +623,7 @@ Options :
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) { if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
unlink($fichierAvecRep); unlink($fichierAvecRep);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
} }
} elseif ($fp && $idF=='IPSPOSCO') { // Fichier Portefeuille } elseif ($fp && $idF=='IPSPOSCO') { // Fichier Portefeuille
@ -632,51 +632,51 @@ Options :
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
$len=strlen($a); $len=strlen($a);
if ($nbLignesTot==0 && ($len<481 || $len>482)) { if ($nbLignesTot==0 && ($len<481 || $len>482)) {
echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu (ligne de $len caractères) !".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier $idF à charger $fichier n'est pas au format attendu (ligne de $len caractères) !".EOL;
die("'$a'"); die("'$a'");
} }
$nbLignesTot++; $nbLignesTot++;
} }
echo date('Y/m/d - H:i:s') ." - Le fichier Portefeuille à charger $fichier contient $nbLignesTot lignes.".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier Portefeuille à charger $fichier contient $nbLignesTot lignes.".EOL;
//fclose($fp); //fclose($fp);
//echo date('Y/m/d - H:i:s') ." - Pour l'instant, on ignore les fichiers !".EOL; //echo date('Y/m/d - H:i:s') ." - Pour l'instant, on ignore les fichiers !".EOL;
$message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier Portefeuille n°$iFic, $fichier...".EOL; $message=date('Y/m/d - H:i:s'). " - Début de traitement du fichier Portefeuille n°$iFic, $fichier...".EOL;
echo $message; echo $message;
rewind($fp); rewind($fp);
$a = fgets($fp, 5096); $a = fgets($fp, 5096);
while (!feof($fp)) { while (!feof($fp)) {
$codeEnr = ''.trim( substr($a, 0, 2)); $codeEnr = ''.trim( substr($a, 0, 2));
switch ($codeEnr) { switch ($codeEnr) {
case '00': // Structure de contrôle entête(1 par fichier) case '00': // Structure de contrôle entête(1 par fichier)
$nbLignes00++; $nbLignes00++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO) $tabEntete['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO)
$tabEntete['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier $tabEntete['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier
break; break;
case '99': // Structure de contrôle fin de fichier (1 par fichier) case '99': // Structure de contrôle fin de fichier (1 par fichier)
$nbLignes99++; $nbLignes99++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe $tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné $tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabFin['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO) $tabFin['typeFichier'] = trim( substr($a, 18, 2)); // AR (sinon PO)
$tabFin['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier $tabFin['numChrono'] = trim( substr($a, 20, 10)); // N° chrono du fichier
$tabFin['nbLignes'] = trim( substr($a, 30, 10)); // Nombre de lignes AR (ou PO) $tabFin['nbLignes'] = trim( substr($a, 30, 10)); // Nombre de lignes AR (ou PO)
echo date('Y/m/d - H:i:s') ." - Le fichier $idF chargé $fichier contenait $nbLignes/".$tabFin['nbLignes']." lignes.".EOL; echo date('Y/m/d - H:i:s') ." - Le fichier $idF chargé $fichier contenait $nbLignes/".$tabFin['nbLignes']." lignes.".EOL;
break; break;
default: default:
$nbLignes++; $nbLignes++;
$siren = trim(substr($a, 81 , 9 )); // Siren $siren = trim(substr($a, 81 , 9 )); // Siren
$tabUpdate=array(); $tabUpdate=array();
// Données sur la surveillance // Données sur la surveillance
//$tabUpdate['greRepType'] = trim(substr($a, 67 , 2 )); // Type de réponse Extelia = PO //$tabUpdate['greRepType'] = trim(substr($a, 67 , 2 )); // Type de réponse Extelia = PO
$tabUpdate['dateDerPO'] = trim(substr($a, 69 , 8 )); // Date de la réponse Extelia $tabUpdate['dateDerPO'] = trim(substr($a, 69 , 8 )); // Date de la réponse Extelia
$tabUpdate['greffe'] = trim(substr($a, 77 , 4 )); // N° du Greffe de l'AR $tabUpdate['greffe'] = trim(substr($a, 77 , 4 )); // N° du Greffe de l'AR
$tabUpdate['greArDate'] = trim(substr($a, 424 , 8 )); // Date de l'Accusé Réception Extelia $tabUpdate['greArDate'] = trim(substr($a, 424 , 8 )); // Date de l'Accusé Réception Extelia
$tabUpdate['greArCode'] = trim(substr($a, 432 , 3 )); // Code Accusé Réception $tabUpdate['greArCode'] = trim(substr($a, 432 , 3 )); // Code Accusé Réception
$tabUpdate['greSurvRefLot'] = trim(substr($a, 435 , 8 )); // Référence Extelia du lot de surveillance $tabUpdate['greSurvRefLot'] = trim(substr($a, 435 , 8 )); // Référence Extelia du lot de surveillance
$tabUpdate['greSurvRefDetail'] =trim(substr($a, 443 , 10 )); // Référence Extelia de la surveillance détail $tabUpdate['greSurvRefDetail'] =trim(substr($a, 443 , 10 )); // Référence Extelia de la surveillance détail
$tabUpdate['greDateSurvDeb'] = trim(substr($a, 453 , 8 )); // Date de début de la surveillance $tabUpdate['greDateSurvDeb'] = trim(substr($a, 453 , 8 )); // Date de début de la surveillance
$tabUpdate['greDateSurvFin'] = trim(substr($a, 461 , 8 )); // Date de fin de la surveillance $tabUpdate['greDateSurvFin'] = trim(substr($a, 461 , 8 )); // Date de fin de la surveillance
//$tabUpdate['idFichier']=$fichier; //$tabUpdate['idFichier']=$fichier;
@ -698,9 +698,9 @@ Options :
$ret=$iDb2->select('greffes_priv_stock', 'greffe,greArDate,greArCode,greSurvRefLot,greSurvRefDetail,greDateSurvDeb,greDateSurvFin,numDebiteur', "siren=$siren", false, MYSQL_ASSOC); $ret=$iDb2->select('greffes_priv_stock', 'greffe,greArDate,greArCode,greSurvRefLot,greSurvRefDetail,greDateSurvDeb,greDateSurvFin,numDebiteur', "siren=$siren", false, MYSQL_ASSOC);
if (isset($ret[0])) $ret=$ret[0]; if (isset($ret[0])) $ret=$ret[0];
else { else {
echo date ('Y/m/d - H:i:s') ." - ERREUR : Code AR '".$tabUpdate['greArCode']."' non géré pour le siren $siren...".EOL; echo date ('Y/m/d - H:i:s') ." - ERREUR : Code AR '".$tabUpdate['greArCode']."' non géré pour le siren $siren...".EOL;
$tabUpdate['greRepType'] = trim(substr($a, 67 , 2 ));// Type de réponse Extelia $tabUpdate['greRepType'] = trim(substr($a, 67 , 2 ));// Type de réponse Extelia
$tabUpdate['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia $tabUpdate['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia
$tabUpdate['numGestion'] = trim(substr($a, 90 , 10 ));// $tabUpdate['numGestion'] = trim(substr($a, 90 , 10 ));//
$tabUpdate['steNom'] = trim(substr($a, 100 , 160 ));// $tabUpdate['steNom'] = trim(substr($a, 100 , 160 ));//
$tabUpdate['steVoieNum'] = trim(substr($a, 268 , 10 ));// $tabUpdate['steVoieNum'] = trim(substr($a, 268 , 10 ));//
@ -721,7 +721,7 @@ Options :
elseif($tabUpdate['greArCode']=='05') { unset($tabUpdate['greArCode']); unset($tabUpdate['greArDate']); unset($tabUpdate['greDateSurvDeb']); unset($tabUpdate['greDateSurvFin']); unset($tabUpdate['numDebiteur']); } elseif($tabUpdate['greArCode']=='05') { unset($tabUpdate['greArCode']); unset($tabUpdate['greArDate']); unset($tabUpdate['greDateSurvDeb']); unset($tabUpdate['greDateSurvFin']); unset($tabUpdate['numDebiteur']); }
else { else {
//$eeee=fgets(STDIN); //$eeee=fgets(STDIN);
echo date ('Y/m/d - H:i:s') ." - ERREUR : Code AR '".$tabUpdate['greArCode']."' non géré pour le siren $siren...".EOL; echo date ('Y/m/d - H:i:s') ." - ERREUR : Code AR '".$tabUpdate['greArCode']."' non géré pour le siren $siren...".EOL;
echo "EN BASE".EOL; echo "EN BASE".EOL;
print_r($ret); print_r($ret);
echo "A METTRE A JOUR".EOL; echo "A METTRE A JOUR".EOL;
@ -730,7 +730,7 @@ Options :
} }
if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) { if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) {
print_r($tabUpdate); print_r($tabUpdate);
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du siren $siren...".EOL; echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .' : '. mysql_error() ." lors de la mise à jour du siren $siren...".EOL;
die(); die();
} }
break; break;
@ -743,7 +743,7 @@ Options :
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) { if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
unlink($fichierAvecRep); unlink($fichierAvecRep);
echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL; echo date ('Y/m/d - H:i:s') . " - Le fichier n°$iFic, $fichier vient d'être historisé.".EOL;
} }
continue; continue;
} }
@ -752,7 +752,7 @@ Options :
@fclose($fp); @fclose($fp);
} // fin foreach ($tabFichier as $iFic=>$fichier) } // fin foreach ($tabFichier as $iFic=>$fichier)
echo date('Y/m/d - H:i:s'). " - Fin du programme de gestion des flux Privilèges.".EOL; echo date('Y/m/d - H:i:s'). " - Fin du programme de gestion des flux Privilèges.".EOL;
die(); die();
?> ?>

View File

@ -7,11 +7,11 @@ include_once(FWK_PATH.'common/dates.php');
$modeDebug=false; $modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " <option> $strInfoScript='Usage : '.basename($argv[0]). " <option>
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice. Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/ /**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options : Options :
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles) -d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -i:XXXXX Reprendre au code commune Insee XXXXX ";/* -i:XXXXX Reprendre au code commune Insee XXXXX
@ -62,7 +62,7 @@ $tabZones=array('codeQE'=>'&nbsp;<b>Code QE n&deg;</b>(?:.*)&nbsp;(\d+)</td>',
'naf'=>'<strong>Code NAF :</strong>(.*)<br>', 'naf'=>'<strong>Code NAF :</strong>(.*)<br>',
'qualifs[qualifType,qualifClasse,qualifLib,qualifCode]'=>'<p> <strong><span class="textvert4">(.*)- classe :(.*)<br>(?:.*)</span></strong>(?:.*)</p>(?:.*)<span class="textvert2"><strong>(.*)</strong></span><br>(?:.*)</strong>(.*)<br>', 'qualifs[qualifType,qualifClasse,qualifLib,qualifCode]'=>'<p> <strong><span class="textvert4">(.*)- classe :(.*)<br>(?:.*)</span></strong>(?:.*)</p>(?:.*)<span class="textvert2"><strong>(.*)</strong></span><br>(?:.*)</strong>(.*)<br>',
); );
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL; echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des entreprises '$table'...".EOL;
$ret=$iDb->select($table, 'MAX(id)', '1', false); $ret=$iDb->select($table, 'MAX(id)', '1', false);
$iDeb=$ret[0][0]; $iDeb=$ret[0][0];
@ -107,7 +107,7 @@ for($i=$iDeb;;$i++) {
//print_r($tabInsert); //print_r($tabInsert);
if ($nbVides<20) continue; if ($nbVides<20) continue;
else { else {
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL; echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die(); die();
} }
} }

Some files were not shown because too many files have changed in this diff Show More