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
-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=false;
$updateCache=$millesime=$ratio=$modeVerbose=false;
$tabRatiosToCalc=array();
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
@ -37,6 +40,16 @@ for ($i=1; isset($argv[$i]); $i++) {
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;
@ -96,6 +109,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$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);
@ -107,34 +121,50 @@ for ($i=1; isset($argv[$i]); $i++) {
/** On met en table temporaire les siren en cas de plantage du script **/
$modeSuite=false;
// Date du dernier bilan inseré
$tabLast=$iDb->select( 'bilans',
'MAX(dateInsert) AS lastDateInsert',
"siren>100 AND dateInsert>='$lastUpdate' AND typeBilan IN ('N','',' ','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);
$lastDate=strtr($lastUpdate,array(' '=>'',':'=>'','-'=>''));
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows entreprises avec nouveaux bilans pour calcul des ratios secteurs...".EOL;
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, 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);
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)) {
$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;
$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
$b=0; // Compteur total de bilans
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if ($modeSuite && $k==0) $lastDate=$entrep['lastUpdate'];
if ($modeSuite && $k==0) $lastDateUpdate=$entrep['lastUpdate'];
$millesime=$entrep['millesime'];
$k++;
if ($k<$iDeb) continue;
@ -158,52 +188,68 @@ for ($i=1; isset($argv[$i]); $i++) {
$nbBilansTot=count($tabBilans);
$tabBilans2=array();
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) {
print_r($infosBilan);
echo date('Y/m/d - H:i:s') ." - Erreur : Bilans vide en base pour le siren $siren !".EOL;
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 ($infosBilan['dateInsert']>=$lastDate)
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) {
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);
//die();
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);
$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 ($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));
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) {
if ($f==0) $b++;
$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 )
//echo "Le ratio n°$id est non significatif (".$R[$id].") pour le siren $siren et l'année $annee !".EOL;
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;
@ -211,10 +257,10 @@ for ($i=1; isset($argv[$i]); $i++) {
/** On vérifie les bornes MIN et MAX **/
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;
} 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;
} //else
//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 :
-t Calculer tous les ratios (*)
-i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache
-i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) 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;
@ -65,21 +65,21 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabFormule['f'.$id]['min']=$formule['borneMin'];
$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();
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);
$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)) {
if ($tabFormule['f'.$entrep['id']]['unite']=='EUR') $mt=$entrep['montant']/1000;
else $mt=$entrep['montant'];
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;
} 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;
} /*else
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,
);
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);
}
}

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné.
Calcul des redevances INSEE pour un mois donné.
Options :
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX
-t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
}
$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;
foreach ($tabClient as $idClient=>$nomClient) {
$iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$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) **/
$iClient=0;

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné.
Calcul des redevances INSEE pour un mois donné.
Options :
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX
-t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
}
$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;
foreach ($tabClient as $idClient=>$nomClient) {
$iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$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) **/
$iClient=0;

View File

@ -52,13 +52,13 @@ Scorer toute la base entreprise S&D.
Options :
-t Calculer tous les scores (*)
-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
-l Lister les déclencheurs existants pour le recalcul des scores
-d:XXX Lancer le calcul des scores pour le déclencheur XXX
-l Lister les déclencheurs existants pour le recalcul des scores
-d:XXX Lancer le calcul des scores pour le déclencheur XXX
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) 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
*/
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";
$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",
//asso_bilans', 'dateCloture, dateCloture*1 as dateClotureNum', "siren=$siren ORDER BY DESC LIMIT 0,5", true, MYSQL_ASSOC);
/* 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",
/* 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",
/* 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",
/* 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",
@ -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",
/* 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",
/* 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",
/* 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",
@ -157,7 +157,7 @@ $tabQueries=array(
/** @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",
/* 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",
@ -175,13 +175,13 @@ if ($listeDeclencheur) {
echo "\t- $key".EOL;
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;
foreach ($tabQueries as $declencheur=>$query) {
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);
echo mysql_error().EOL;
@ -189,7 +189,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbRowsTot+=$nbRows;
@$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();
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$iRow++;
@ -205,7 +205,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbModifs = ($entrep['nbModifs']*1)+1;
if ($procol=='P') {
$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;
}
//echo date('Y/m/d - H:i:s') ." - Siren $siren : AVANT SCORE".EOL;
@ -226,14 +226,14 @@ foreach ($tabQueries as $declencheur=>$query) {
$encours ==$encoursPre &&
$dateScore<>0 ) {
$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);
if (!$iDb2->update('scores_surveillance', $tabUpdate2, "siren=$siren")) {
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);
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
*/
} else {
if ($dateScore==0) {
@ -310,7 +310,7 @@ foreach ($tabQueries as $declencheur=>$query) {
if (!$iDb2->update('scores_surveillance', $tabUpdate, "siren=$siren")) {
print_r($tabUpdate);
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
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;
}
}
$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 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 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 ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL;
foreach($tabNbRows as $declencheur=>$nbTot) {
$nbModifs=$tabNbScoresModif[$declencheur]*1;
$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');
$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 :
-d:SSAAMMJJ Initialiser tous les scores secteurs depuis SSAAMMJJ
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
-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)
-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)
-v Mode bavard
";
@ -72,27 +72,27 @@ function getNaf5($naf4ou5) {
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) {
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',
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
'1');
$lastUpdate=$tabLast[0]['lastInsert'];
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 {
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
if ($dateFin) {
$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' ) ";
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 {
$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) {
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';
$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);
$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;
$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) {
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 **/
//$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',
"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;
$mois=MONTH;
$nbInsert=$nbUpdate=0;
@ -173,16 +173,16 @@ if (DAY*1==1 || $initStatProfil) {
$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) {
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;
/** Mise à jour des Jugements FP IG **/
/** Mise à jour des Jugements FP IG **/
$nbAnnonces=$iDb->select(
'bodacc_detail',
'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%')
ORDER BY dateSource ASC;",
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)) {
$siren=$annonce['siren'];
$typeEven=$annonce['typeEven'];
@ -213,7 +213,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/
/** Mise à jour des scores secteurs **/
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
$tabTmp=$iDb2->select( 'scores_secteurs',
'nbInter, nbEntrep, annee, mois',
@ -239,7 +239,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
}
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 ";
$tabTmp=$iDb2->select( 'scores_profils',
'nbInter, nbEntrep, annee, mois',
@ -270,7 +270,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
}
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 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;
/** 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%' ))
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*/
1101,/*Jugement arrêtant plan de sauvegarde*/
1101,/*Jugement arrêtant plan de sauvegarde*/
1200,/*Redressement Judiciaire*/
1201,/*Conversion sauvegarde en Redressement Judiciaire*/
1202,/*Renouvellement de la période d'observation*/
1207,/*Règlements amiables*/
1209,/*Règlement judiciaire*/
1210,/*Production de titres et créances*/
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
1216,/*Autre avis de dépôt*/
1202,/*Renouvellement de la période d'observation*/
1207,/*Règlements amiables*/
1209,/*Règlement judiciaire*/
1210,/*Production de titres et créances*/
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
1216,/*Autre avis de dépôt*/
1300,/*Conversion Redressement Judiciaire en Liquidation Judiciaire*/
1301,/*Ouverture Liquidation Judiciaire*/
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
1304,/*Réouverture Liquidation Judiciaire*/
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
1304,/*Réouverture Liquidation Judiciaire*/
1305,/*Liquidation Judiciaire*/
1306,/*Liquidation Judiciaire simplifiée*/
1306,/*Liquidation Judiciaire simplifiée*/
1307,/*Conversion sauvegarde en Liquidation Judiciaire*/
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
1310,/*Procédure d'insolvabilité européenne*/
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
1310,/*Procédure d'insolvabilité européenne*/
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
1312,/*Liquidation Judiciaire avec continuation d'exploitation*/
1313,/*Liquidation Judiciaire sans remise des accessoires*/
1410,/*Suite règlement/liquidation*/
1410,/*Suite règlement/liquidation*/
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*/
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
1419,/*Jugement d'extension d'une procédure de sauvegarde*/
1507,/*Extrait d'arrêt de la cour d'appel*/
1515,/*Arrêt divers*/
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
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*/
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*/
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
1546,/*Autre rétractation sur tierce opposition*/
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
1419,/*Jugement d'extension d'une procédure de sauvegarde*/
1507,/*Extrait d'arrêt de la cour d'appel*/
1515,/*Arrêt divers*/
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
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*/
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*/
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
1546,/*Autre rétractation sur tierce opposition*/
1550,/*Jugement d'homologation de l'accord*/
1600,/*Faillite personnelle*/
1601,/*Interdiction de gérer*/
1602,/*Jugement de réhabilitation*/
1601,/*Interdiction de gérer*/
1602,/*Jugement de réhabilitation*/
1603,/*Liquidation de biens*/
1604,/*Banqueroute
1605,/*Jugement autorisant la reprise des poursuites individuelles*/
1610,/*Faillite personnelle (Loi de 1985)*/
1611,/*Interdiction de gérer (Loi de 1985)*/
1999 /*Autre procédure collective*/ )
1611,/*Interdiction de gérer (Loi de 1985)*/
1999 /*Autre procédure collective*/ )
) ORDER BY dateSource ASC;";
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
$res=$iDb->query($query);
$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;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -396,7 +396,7 @@ $nbProcol=mysql_num_rows($res2);
$trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/
/** Mise à jour des scores secteurs **/
$tabTmp=$iDb2->select( 'scores_secteurs',
'nbProcol, nbEntrep, annee, mois',
"naf5='$naf' AND annee=$annee AND mois=$mois",
@ -421,7 +421,7 @@ $nbProcol=mysql_num_rows($res2);
}
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 ";
$tabTmp=$iDb2->select( 'scores_profils',
@ -460,12 +460,12 @@ $nbProcol=mysql_num_rows($res2);
$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 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 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')." - 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');
$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 :
-d:SSAAMMJJ Initialiser toutes les stats depuis SSAAMMJJ
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
-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)
-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)
-v Mode bavard
";
@ -72,33 +72,33 @@ function getNaf5($naf4ou5) {
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) {
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',
'max(dateInsert) AS lastInsert',
'1');
$lastUpdate=$tabLast[0]['lastInsert'];
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 {
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
if ($dateFin) {
$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' ) ";
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 {
$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) {
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;
/** 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
FROM bodacc_detail
WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND (
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 '%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 '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR typeEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR typeEven LIKE '%5650%' /* Entreprise indemnisée */
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 '%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 '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR typeEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR typeEven LIKE '%5650%' /* Entreprise indemnisée */
OR typeEven LIKE '%5900%' /* Autre achat, apport, attribution */
OR typeEven LIKE '%5999%' /* Ventes/Cessions */ ) )
UNION
(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
FROM annonces
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 '%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 '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR strEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR strEven LIKE '%5650%' /* Entreprise indemnisée */)
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 '%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 '%5510%' /* Entreprise réalisant la vente : Co-propriétaire */
OR strEven LIKE '%5600%' /* Entreprise Précédent exploitant */
OR strEven LIKE '%5650%' /* Entreprise indemnisée */)
)
ORDER BY dateSource ASC;";
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
$res=$iDb->query($query);
$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;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -151,7 +151,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
if ($nic==0) {
if ($source=='collecte') {
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];
}
}
@ -221,7 +221,7 @@ $nbProcol=mysql_num_rows($res2);
$trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **
/** Mise à jour des scores secteurs **
$tabTmp=$iDb2->select( 'scores_secteurs',
'nbProcol, nbEntrep, annee, mois',
"naf5='$naf' AND annee=$annee AND mois=$mois",
@ -246,7 +246,7 @@ $nbProcol=mysql_num_rows($res2);
}
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 ";
$tabTmp=$iDb2->select( 'scores_profils',
@ -285,14 +285,14 @@ $nbProcol=mysql_num_rows($res2);
$sirenPre=$siren;
}
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 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 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')." - 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;

View File

@ -4,8 +4,8 @@
error_reporting(E_ALL ^ E_NOTICE);
/** @todo Si MAJ en annule et remplace prévoir les manips SQL suivantes :
** Création d'une table insee.tmp sans aucun index
/** @todo Si MAJ en annule et remplace prévoir les manips SQL suivantes :
** Création d'une table insee.tmp sans aucun index
** A la fin du chargement construire les index
** Si pas d'erreur :
** 1. detruire insee
@ -20,17 +20,17 @@ error_reporting(E_ALL ^ E_NOTICE);
$argv=$_SERVER['argv'];
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:
Les arguments obligatoires pour les options de formes longues le sont aussi
pour les options de formes courtes.
-s=CHAR séparateur de champs (virgule, point-virgule*, /t=tabulation, etc...)
-c=CHAR caractère encadrant les zones alphanumériques (inopérationnel)
-s=CHAR séparateur de champs (virgule, point-virgule*, /t=tabulation, etc...)
-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++) {
if (substr($argv[$i],0,1)=='-') {
@ -51,23 +51,23 @@ pour les options de formes courtes.
if ($separator=='/t') {
$separator="\t";
echo "séparateur = tabulation\n";
echo "séparateur = tabulation\n";
} elseif (!isset($separator) || $separator=='') {
$separator=';';
echo "séparateur = '$separator'\n";
echo "séparateur = '$separator'\n";
}
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,
'CLE'=>'INSEE_MAJ_ENCOURS');
$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();
for ($nbFichiers=0; isset($fichier_csv[$nbFichiers]); $nbFichiers++)
@ -81,14 +81,14 @@ pour les options de formes courtes.
'HEURE_FIN'=>$heureFin,
'CODE_RETOUR'=>0,
'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;
exit();
}
$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();
while (($data = fgetcsv($fp, 3000, $separator)) !== FALSE)
@ -135,7 +135,7 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
/*
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
$nbColonnes=count($data);
$sql="CREATE TABLE IF NOT EXISTS `$nom_table` (";
@ -144,15 +144,15 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
$tabTailles[$i]=0;
$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.=") TYPE = MYISAM COMMENT = '$comment'";
//echo $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 {
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();
continue;
@ -183,14 +183,14 @@ ORDER BY ScoreNom DESC, ScorePrenom DESC
//print_r($tabDataToInsert);
$ret=$iDb->insert($nom_table, $tabDataToInsert);
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();
}
unset($tabDataToInsert);*/
}
fclose ($fp);
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++)
{
//$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 ";
echo $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
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();}
}
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);
$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);
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 :
-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é.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) 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
*/
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);
$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) {
if ($k<$iDeb) continue;
@ -77,7 +77,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabRet=@$iWs->searchSiren($siren);
$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);
}

View File

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

View File

@ -30,7 +30,7 @@ foreach ($tabLigne as $i=>$ligne) {
@$tabCj[$libCj]+=$nbrCj;
}
$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)
echo "'$libCj'=>0,\t// $nbrCj".EOL;
@ -64,16 +64,16 @@ $ferie["Armistice 39-45 "][5] = 8;
$ferie["Toussaint"][11] = 1;
$ferie["Armistice 14-18"][11] = 11;
$ferie["Assomption"][8] = 15;
$ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25;
$ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25;
if ($alsace)
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
// quelques fetes mobiles
$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['nom'] = "Lundi de Pâques";
$lundi_de_paques['nom'] = "Lundi de Pâques";
$ascencion['mois'] = date( "n", 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['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'];
@ -105,20 +105,20 @@ $reponse[$date[$mois]]=$nom;
ksort($reponse);
return $reponse;
}
function tab_jours_feriés($an) {
function tab_jours_feriés($an) {
return ferie(range(1,12),$an);
}
$année = date("Y");
$tabFeriers = tab_jours_feriés($année);
$année = date("Y");
$tabFeriers = tab_jours_feriés($année);
print_r($tabFeriers);
die();
echo "<br>";
while (list($mois, $tab) = each ($fériées)) {
while (list($mois, $tab) = each ($fériées)) {
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(
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"Societe anonyme cooperative a capital variable" ,
"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 responsabilit limit e" ,
"Societe civile de personnes" ,
@ -166,14 +166,14 @@ $tabFormesJuridiques=array(
"Societe d'exercice liberal par actions simplifiee - selas" ,
"Entreprise unipersonnelle a responsabilite limitee" ,
"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 anonyme a capital variable" ,
"Societe cooperative de production a responsabilite limitee a capital variable" ,
"Cooperative ouvriere de product. a resp. lim." ,
"SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" ,
"SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" ,
"Societe anonyme d'economie mixte locale" ,
"Sa a conseil d administration" ,
"Societe cooperative agricole a capital variable" ,
@ -183,13 +183,13 @@ $tabFormesJuridiques=array(
"Cooperative agricole" ,
"Soci t civile" ,
"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 travailleurs (anonyme)" ,
"Soci?t? ? responsabilit? limit?e" ,
"Cooperative ouvriere de production (anonyme)" ,
"Sa coop de production a cap variable" ,
"Sa À conseil d'administration" ,
"Sa À conseil d'administration" ,
"Societe d'interet collectif agricole" ,
"Societe civile agricole" ,
"Societe cooperative de production anonyme a capital variable" ,
@ -200,15 +200,15 @@ $tabFormesJuridiques=array(
"Societe par actions simplifiee a directoire et conseil de surveillance" ,
"Ste coop. prod. a resp. limitee a capital personnel et variable" ,
"Societe d'actions simplifiee a capital variable" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" ,
"Societe d'exercice liberal a responsabilite limitee unipersonnelle%" ,
"Societe cooperative de production" ,
"Societe cooperative ouvriere de production anonyme a capital variable" ,
"Sarl a capital variable" ,
"Societe anonyme d'economie mixte" ,
"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 cooperative de production (sarl)" ,
"Societe d exercice liberal par actions simplifiees" ,
@ -225,31 +225,31 @@ $tabFormesJuridiques=array(
"Societe civile cooperative de construction" ,
"Sarl de presse" ,
"Groupememt d interet economique commercial" ,
"Sa À directoire" ,
"Sa À directoire" ,
"Societe cooperative de production en a.r.l a capital variable" ,
"Societe cooperative interet collectif agricole s.a." ,
"Societe cooperative d'interet collectif anonyme" ,
"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." ,
"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 anonyme cooperative de production d hlm" ,
"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" ,
"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" ,
"Societe anonyme cooperative a capital et personnel variable" ,
"SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" ,
"SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" ,
"Ano societe anonyme a directoire et conseil de surveillance" ,
"Societe par actions simplifiee" ,
"Societe cooperative ouvriere de production" ,
"Societe civile d exploitation agricole a responsabilite limitee" ,
"Exploitation agricole À responsabilitÉ limitÉe" ,
"Exploitation agricole À responsabilitÉ limitÉe" ,
"E.u.r.l." ,
"Societe d'economie mixte a conseil d'administration" ,
"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" ,
"Societe cooperative credit capital variable a.r.l." ,
"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É anonyme d'hlm" ,
"SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" ,
"SociÉtÉ anonyme d'hlm" ,
"Societe d interet collectif agricole" ,
"Societe cooperative d'artisan en arl a capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" ,
"Societe civile d exploitation agricole" ,
"Societe en nom collectif" ,
"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 À associÉ unique et capital variable" ,
"SociÉtÉ par actions simplifiÉe À capital variable" ,
"SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" ,
"S a cooperative d entreprises a capital variable" ,
"Sa a conseil d&#039;administration" ,
"Societe cooperative de credit" ,
"Societe de presse" ,
"Societe anonyme a participation ouvriere" ,
"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" ,
"Societe cooperative d interet collectif a responsabilite limitee" ,
"Sa d'economie mixte a conseil administratif" ,
@ -295,11 +295,11 @@ $tabFormesJuridiques=array(
"Cooperative agricole a capital variable" ,
"Societe cooperative de production en a.r.l. a capital variable" ,
"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" ,
"Union de societes cooperatives a directoire" ,
"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" ,
"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" ,
@ -311,9 +311,9 @@ $tabFormesJuridiques=array(
"Ste cooperative de banque populaire" ,
"Societe cooperative de consommation anonyme" ,
"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" ,
"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" ,
"Etablissement public national" ,
"Sica anonyme a directoire et conseil de surveillance" ,
@ -327,14 +327,14 @@ $tabFormesJuridiques=array(
"Sarl sous forme de eurl" ,
"Ano societe anonyme cooperative a capital variable a directoire" ,
"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" ,
"Societe anonyme capital fixe coop. de banque" ,
"Societe cooperative de banque populaire a capital variable" ,
"Cooperative ouvriere de production en s.a.r.l." ,
"Societe cooperative ouvriere de production a.s.a" ,
"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" ,
"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" ,
"Banque cooperative" ,
"Sarl membre de la ce ou partie l accord sur l espace conomique europ en" ,
"Sascop" ,
@ -345,17 +345,17 @@ $tabFormesJuridiques=array(
"Ste d'investissements a capital variable a conseil -sicav-" ,
"Societe civile en construction vente (loi de 1971) titre1" ,
"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" ,
"Societe anonyme de presse" ,
"Association loi 1901 Émettant des obligations" ,
"Association loi 1901 Émettant des obligations" ,
"Societe civile professionnelle de notaires" ,
"Societe civile immobiliere d attribution" ,
"Societe civile professionnelle de chirurgien-dentistes" ,
"Ste cooperative d'interet collectif a responsabilite limitee a capital variable" ,
"Arl societe a associe unique" ,
"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" ,
"Societe anonyme de consom a capital variable" ,
"Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" ,
@ -372,25 +372,25 @@ $tabFormesJuridiques=array(
"Societe anonyme cooperative a directoire" ,
"Cooperative professionnelle" ,
"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É civile professionnelle d'huissiers de justice" ,
"SociÉtÉ civile professionnelle d'huissiers de justice" ,
"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" ,
"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" ,
"Autres formes juridiques" ,
"Societe civile immobiliere de construction / vente" ,
"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" ,
"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" ,
"Sarl associe unique" ,
"Institution regie - articles l141-1 et suivants du code monetaire et financier" ,
"Societe de droit anglais" ,
"Societe cooperative de consommation anonyme a capital variable" ,
"Union de cooperative" ,
"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 cooperative artisanale a responsabilite limitee" ,
"Societe civile professionnelle de medecins" ,
@ -404,28 +404,28 @@ $tabFormesJuridiques=array(
"Ste anonyme a directoire et conseil d'orientation & surveillance" ,
"Sarl unipersonnelle sportive" ,
"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" ,
"Societe d exploitation agricole a responsabilite limitee" ,
"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" ,
"Etablissement de credit a but non lucratif" ,
"Societe cooperative de travailleurs (sarl)" ,
"E.a.r.l." ,
"Societe d assurance" ,
"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" ,
"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 " ,
"Societe anonyme a directoire et conseil de surveillance" ,
"Cooperative ouvriere de production (sa)" ,
"Societe civile d'attribution" ,
"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" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Societe civile immobiliere a capital variable" ,
"S a r l de presse" ,
"Sarl d'architecture" ,
@ -510,16 +510,16 @@ $tab = array( 'toto.com',
'nono.net',
'dodo.com',
);
// Récupération des résultats
// Récupération des résultats
$output = false;
// Exécution
// Exécution
if($tab){
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);
}
}
// Affichage "brut" des données traitées
// Affichage "brut" des données traitées
if($output){
print_r($output);
}

View File

@ -3,18 +3,18 @@
include_once(INCLUDE_PATH.'insee/classMInsee.php');
$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 :
-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)
-a Re-sirenage de toutes les annonces Bodacc non sirenées !
-i:XXX Reprise à partir du numéro d'annonce XXX
-a Re-sirenage de toutes les annonces Bodacc non sirenées !
-i:XXX Reprise à partir du numéro d'annonce XXX
";
$semiManuel=$sansPropo=$toutes=$index=false;
$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 {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
@ -48,7 +48,7 @@ else {
$iDb=new WDB('tmp');
$iInsee=new MInsee();
$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) {
$siege='';$actif='';$deb=0;$nbRep=20;$maxRep=20;$pertinence=false;
$avecSiren=true;
@ -62,7 +62,7 @@ else {
//print_r($tabEtabs);
//die();
$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) {
$tabSiren[]=$etab['Siren'];
@ -78,14 +78,14 @@ else {
$sigle = $etab['Tel']; // 00000000
$sigle = $etab['Fax']; // 00000000
$sigle = $etab['FJ']; // 1500
$sigle = $etab['FJLib']; // Profession libérale
$sigle = $etab['FJLib']; // Profession libérale
$siren = $etab['Siren']; // 408472603
$nic = $etab['Nic']; // 00039
$actif = $etab['Actif']; // 0
*/
}
$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) {
echo '1;'.$entrep['REF'].';'.$tabUnique[0].';'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL;
} else {
@ -103,15 +103,15 @@ else {
else
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
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($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());
}
} elseif (count($tabTrouve)==0) {
echo " Pas de réponse !\n";
echo " Pas de réponse !\n";
$tabInsert=array( 'idAnn'=>$entrep['id'],
'siren'=>$entrep['sir']);
if (!$iDb->insert('bodacc_sirenage', $tabInsert))
@ -139,13 +139,13 @@ else {
}
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";
// 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($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());
} 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'],
'siren'=>$entrep['sir'],
'siretProposes'=>implode(';',$tabSiret));
@ -155,13 +155,13 @@ else {
//, '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";
echo "$num. Siren trouvé = $sirenNomIdem (raisons sociales identiques) !\n";
if ($table['db']<>'jo')
$iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else
$iDb->update($table['table'], 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";
echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n";
if ($table['db']<>'jo')
$iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error());
else
@ -170,7 +170,7 @@ 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) : ";
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) {

View File

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

View File

@ -22,7 +22,7 @@ $nbInsertAsso=$nbInsertRncs1=$nbInsertRncs2=$nbInsertBod=$nbConjoints=$nbInsertB
$table='etablissements_tmp';
$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.
Options :
@ -63,18 +63,18 @@ if ($_SERVER['argc']>1)
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', '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();
}
/** Par défaut, on consolide toutes les sources **/
/** Par défaut, on consolide toutes les sources **/
if ($all) {
$baseInpi=$baseBodacc=$baseBodaccHisto=true;
}
$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;"))
die($iDb->getLastError());
@ -105,11 +105,11 @@ die($iDb->getLastError());
$strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des dirigeants.".EOL;
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);
$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,
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);
$nbEtab=$retTmp[0]['nbEtab'];
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;
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;
}
if ($baseBodacc) {
$retTmp=$iDb->select('jo.bodacc_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$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
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);
$nbEtab=$retTmp[0]['nbEtab'];
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;
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;
}
if ($baseBodaccHisto) {
$retTmp=$iDb->select('jo.bodacc_dirigeants_histo', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$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
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);
$nbEtab=$retTmp[0]['nbEtab'];
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;
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;
}
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');
$all=true;
$joAsso=$joBodacc=$baseInsee=$baseInpi=$reset=$pageRankOnly=$iGreffe=false;
$joAsso=$joBodacc=$baseInsee=$baseInpi=$reset=$pageRankOnly=$iGreffe=$iLiens=false;
// 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';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
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.
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.
Options :
-a Consolider seulement le JO association.
@ -31,10 +31,11 @@ Options :
-i Consolider les infos SIRENE (Insee)
-n Consolider les infos RNCS (Inpi)
-g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques
-r Reconstruire complètement la base
-l Consolider les entreprises issues de la base Liens
-m Mettre à jour les données sur les marques
-r Reconstruire complètement la base
-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'];
@ -43,46 +44,19 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'a':
$all=false;
$joAsso=true;
break;
case 'g':
$all=false;
$iGreffe=true;
break;
case 'm':
$all=false;
$iMarques=true;
break;
case 'b':
$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;
case 'a': $all=false; $joAsso=true; break;
case 'g': $all=false; $iGreffe=true; break;
case 'l': $all=false; $iLiens=true; break;
case 'm': $all=false; $iMarques=true; break;
case 'b': $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')) {
$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();
}
/** Par défaut, on consolide toutes les sources **/
/** Par défaut, on consolide toutes les sources **/
if ($all) {
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iMarques=true;
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iLiens=$iMarques=true;
}
$iDb=new WDB('jo');
@ -138,11 +112,11 @@ function getCodePrefectures($strPrefecture, $dep=0) {
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);
$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) {
$nb=$tabTmp['nb']*1;
$dep=$tabTmp['Departement']*1;
@ -164,7 +138,7 @@ $iInsee=new MInsee();
//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;"))
die($iDb->getLastError());
@ -218,7 +192,7 @@ if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
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) {
/*$dateInsert=date('YmdHis');
if (!$reset) {
@ -228,11 +202,11 @@ if ($baseInsee) {
$last_id=0;
$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);
$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,
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");
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab'];
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;
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;
/*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/
/* $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);
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)) {
$tabEtab=array( 'source'=>2,
@ -305,7 +279,7 @@ if ($baseInpi) {
$last_id=0;
// include ...
//$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');
@ -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',
"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)) {
$siren=$tabEntrep['siren'];
@ -399,18 +373,18 @@ if ($baseInpi) {
$nbInsertRncs1++;
}
}
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;
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;
$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',
'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);
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)) {
$siren=$tabEt['siren'];
@ -461,13 +435,13 @@ if ($baseInpi) {
} else
$nbInsertRncs2++;
}
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;
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;
}
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');
/* if (!$reset) {
@ -476,7 +450,7 @@ if ($joBodacc) {
} 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 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)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -597,8 +571,8 @@ if ($joBodacc) {
} else
$nbInsertBod++;
}
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;
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;
$dateInsert=date('YmdHis');
@ -608,7 +582,7 @@ if ($joBodacc) {
} 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 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)) {
//if ($tabBodacc['siren']<>0)
@ -746,10 +720,10 @@ if ($joBodacc) {
} else
$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 $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 $nbInsertBodNS établissements Bodacc NS 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;
$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;
/*
$dateInsert=date('YmdHis');
@ -759,7 +733,7 @@ if ($joBodacc) {
} 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);
//
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)) {
if ($tabBodacc['siren']<>0)
@ -818,11 +792,11 @@ if ($joAsso) {
$tabThemes=array();
$retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC);
$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)
$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');
/* if (!$reset) {
$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 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)) {
/*
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
*/
/** Initialisation des valeurs par défaut
/** Initialisation des valeurs par défaut
**/
$naf='';
$actif=1;
$cj=9220; // Association déclarée
$cj=9220; // Association déclarée
// $tabEven=array();
if ($tabAsso['typeAsso']=='ASL') {
//if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
$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 (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
@ -861,10 +835,20 @@ if ($joAsso) {
$cj=9900; // Autre personne morale de droit prive
$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))
$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;
// $tabEven[]=8000;
}
@ -878,13 +862,13 @@ if ($joAsso) {
if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'')
$tabEven[]=8010; // Changement de nom
if (trim($tabAsso['Assoc_NAdresse'])<>'')
$tabEven[]=8011; // Déménagement
$tabEven[]=8011; // Déménagement
if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'')
$tabEven[]=8020; // Modification de l'objet social
if (trim($tabAsso['Assoc_Fusion'])<>'')
$tabEven[]=8030; // Fusion
/*
8021 Additif à l'objet social
8021 Additif à l'objet social
8025 Modification statutaire
8080 Suspension d'association
*
@ -897,29 +881,29 @@ if ($joAsso) {
}
elseif ($tabAsso['Activite']<>'') {
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
$naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a.
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
$naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale
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
$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
$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'])<>'') {
$adr=array( 'num'=>$tabAsso['Assoc_AdrNum'],
@ -941,7 +925,7 @@ if ($joAsso) {
}
if ($updateAdr) {
// On enregistre l'adresse structurée en base
// On enregistre l'adresse structurée en base
$adrComp=strtoupper(@$adr['adrComp0']);
if (@$adr['adrComp1']<>'')
$adrComp.=' '.strtoupper(@$adr['adrComp1']);
@ -955,7 +939,7 @@ if ($joAsso) {
'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']);
}
/*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']);
}*/
@ -976,11 +960,11 @@ if ($joAsso) {
$dep=floor(@$adr['cp']/1000);
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'];
if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) {
$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']);
}
$tabEtab=array( 'source'=>3,
@ -1021,20 +1005,20 @@ if ($joAsso) {
} else
$nbInsertAsso++;
}
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;
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;
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');
$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 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)) {
$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'],
'identite_pre'=>$tabAsso['Assoc_Nom'],
);
@ -1045,19 +1029,19 @@ if ($joAsso) {
} else
$nbUpdateAsso++;
}
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;
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;
}
if ($iGreffe) {
$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');
$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)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -1109,36 +1093,108 @@ if ($iGreffe) {
} else
$nbInsertGreffes++;
}
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;
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;
}
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) {
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);
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;
$strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren'];
$strMarques.=' '.$tabMarques['Marques'];
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));
$ret=$iDb->update($table,$tabUpdate, "siren=$siren");
$ret=$iDb->update($table,$tabUpdate, "siren=$sirenPre");
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();
} else $nbInsertMarques++;
$strMarques='';
}
$strMarques.=' '.$tabMarques['Marques'];
$sirenPre=$siren;
}
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;
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;
}
if ($table<>'etablissements_tmp') {
@ -1147,16 +1203,16 @@ if ($table<>'etablissements_tmp') {
}
} 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 );
$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');
$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;
$tabSiren=array();*/
if ($pageRankOnly) $tableEtab='etablissements';
@ -1165,19 +1221,19 @@ else $tableEtab='etablissements_tmp';
$iDb->query("UPDATE $tableEtab, rangSiren
SET $tableEtab.rang=rangSiren.rang
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)) {
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 );
$strSiren=implode(',',$tabSiren);
if (count($tabSiren)==1) {
$iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]);
} else {
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();
}
@ -1188,11 +1244,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$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;");
//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;");
//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;
$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);
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();
?>

View File

@ -18,16 +18,16 @@ $joAsso=$joBodacc=$baseInsee=$reset=$pageRankOnly=$iGreffe=false;
$nbInsertAsso=$nbInsertBod=$nbInsertBodNS=$nbInsertGreffes=$nbInsertMarques=$nbUpdateAsso=0;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
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.
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.
Options :
-a Consolider seulement le JO association.
-b Consolider seulement le Bodacc
-i Consolider les infos INSEE
-g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques
-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'
";
@ -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) {
$joAsso=$joBodacc=$baseInsee=$iGreffe=$iMarques=true;
}
@ -91,7 +91,7 @@ $iInsee=new MInsee();
//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;"))
die($iDb->getLastError());
@ -144,11 +144,11 @@ if ($baseInsee) {
$last_id=0;
$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);
$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,
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);
$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');
$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)) {
$tabEtab=array( 'source'=>2,
@ -199,7 +199,7 @@ if ($baseInsee) {
}
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');
/* if (!$reset) {
@ -208,7 +208,7 @@ if ($joBodacc) {
} 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);
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)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -324,7 +324,7 @@ if ($joBodacc) {
} else
$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');
/* if (!$reset) {
@ -333,7 +333,7 @@ if ($joBodacc) {
} 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);
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)) {
//if ($tabBodacc['siren']<>0)
@ -452,7 +452,7 @@ if ($joBodacc) {
} else
$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');
@ -462,7 +462,7 @@ if ($joBodacc) {
} 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);
//
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)) {
if ($tabBodacc['siren']<>0)
@ -518,7 +518,7 @@ if ($joBodacc) {
}
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');
/* if (!$reset) {
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
@ -526,59 +526,59 @@ if ($joAsso) {
} 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);
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)) {
/*
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
*/
/** Initialisation des valeurs par défaut
/** Initialisation des valeurs par défaut
**/
$naf='';
$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'])) {
$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']))
$cj=9300; // FONDATION
elseif ($tabAsso['Departement']==57 || $tabAsso['Departement']==67 || $tabAsso['Departement']==68)
$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;
elseif (preg_match('/Dissolution/i', $tabAsso['Type_Annonce']) && !preg_match('/Annulation/i', $tabAsso['Type_Annonce']))
$actif=0;
if ($naf=='') {
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
$naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a.
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
$naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale
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
$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
$naf='9003B'; // Autre création artistique
$naf='9003B'; // Autre création artistique
else
$naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
$naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
}
if ($tabAsso['Assoc_NAdresse']<>'')
@ -604,7 +604,7 @@ if ($joAsso) {
'source_id'=>$tabAsso['id'],
'siren'=>$tabAsso['siren'],
'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'],
'siege'=>1,
'actif'=>$actif,
@ -635,18 +635,18 @@ if ($joAsso) {
} else
$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');
$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);
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)) {
$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'],
'identite_pre'=>$tabAsso['Assoc_Nom'],
);
@ -657,17 +657,17 @@ if ($joAsso) {
} else
$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) {
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');
$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)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -707,23 +707,23 @@ if ($iGreffe) {
} else
$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) {
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);
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;
$strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren'];
$strMarques.=$tabMarques['Marques'];
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 );
$ret=$iDb->update('etablissements_tmp',$tabUpdate, "siren=$siren");
if (!$ret) {
@ -734,22 +734,22 @@ if ($iMarques) {
}
$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 {
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 );
$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');
$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)) {
$tab=array( 'rang'=>$tabRank['rang'] );
if ($pageRankOnly) $tableEtab='etablissements';
@ -760,11 +760,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$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;");
//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;");
//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')." - 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';
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
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.
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.
Options :
-a Consolider seulement le JO association.
@ -31,10 +31,10 @@ Options :
-i Consolider les infos SIRENE (Insee)
-n Consolider les infos RNCS (Inpi)
-g Consolider les entreprises en provenance des Greffes
-m Mettre à jour les données sur les marques
-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'
-t:XXX Mettre à jour la table XXX
-t:XXX Mettre à jour la table XXX
";
$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) {
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iMarques=true;
}
@ -132,11 +132,11 @@ function getCodePrefectures($strPrefecture, $dep=0) {
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);
$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) {
$nb=$tabTmp['nb']*1;
$dep=$tabTmp['Departement']*1;
@ -158,7 +158,7 @@ $iInsee=new MInsee();
//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;"))
die($iDb->getLastError());
@ -212,7 +212,7 @@ if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
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) {
/*$dateInsert=date('YmdHis');
if (!$reset) {
@ -222,11 +222,11 @@ if ($baseInsee) {
$last_id=0;
$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);
$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,
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");
$retTmp=$iDb->select('jo.etablissements_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC);
$nbEtab=$retTmp[0]['nbEtab'];
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;
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;
/*capitalMontant capitalDevise capitalDevIso dateImma dateRad capitalType capitalCent*/
/* $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);
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)) {
$tabEtab=array( 'source'=>2,
@ -299,7 +299,7 @@ if ($baseInpi) {
$last_id=0;
// include ...
//$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');
@ -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',
"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)) {
$siren=$tabEntrep['siren'];
@ -393,18 +393,18 @@ if ($baseInpi) {
$nbInsertRncs1++;
}
}
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;
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;
$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',
'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);
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)) {
$siren=$tabEt['siren'];
@ -455,13 +455,13 @@ if ($baseInpi) {
} else
$nbInsertRncs2++;
}
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;
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;
}
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');
/* if (!$reset) {
@ -470,7 +470,7 @@ if ($joBodacc) {
} 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);
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)) {
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
@ -591,8 +591,8 @@ if ($joBodacc) {
} else
$nbInsertBod++;
}
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;
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;
$dateInsert=date('YmdHis');
@ -602,7 +602,7 @@ if ($joBodacc) {
} 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);
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)) {
//if ($tabBodacc['siren']<>0)
@ -739,10 +739,10 @@ if ($joBodacc) {
} else
$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 $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 $nbInsertBodNS établissements Bodacc NS 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;
$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;
/*
$dateInsert=date('YmdHis');
@ -752,7 +752,7 @@ if ($joBodacc) {
} 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);
//
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)) {
if ($tabBodacc['siren']<>0)
@ -811,11 +811,11 @@ if ($joAsso) {
$tabThemes=array();
$retTmp=$iDb->select('asso_themes', 'theme, naf', "naf<>'' ORDER BY theme ASC", false, MYSQL_ASSOC);
$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)
$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');
/* if (!$reset) {
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
@ -823,28 +823,28 @@ if ($joAsso) {
} 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);
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)) {
/*
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9110 Syndicat de copropriété
9210 Association non déclarée
9221 Association déclarée "entreprises d'insertion par l'économique"
9222 Association intermédiaire
9223 Groupement d'employeurs
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
9230 Association déclarée reconnue d'utilité publique
9240 Congrégation
*/
/** Initialisation des valeurs par défaut
/** Initialisation des valeurs par défaut
**/
$naf='';
$actif=1;
$cj=9220; // Association déclarée
$cj=9220; // Association déclarée
// $tabEven=array();
if ($tabAsso['typeAsso']=='ASL') {
//if (preg_match('/ASL/i', $tabAsso['Type_Annonce']) || preg_match('/syndicale/i', $tabAsso['Type_Annonce'])) {
$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 (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))
$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;
// $tabEven[]=8000;
}
@ -870,13 +870,13 @@ if ($joAsso) {
if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'')
$tabEven[]=8010; // Changement de nom
if (trim($tabAsso['Assoc_NAdresse'])<>'')
$tabEven[]=8011; // Déménagement
$tabEven[]=8011; // Déménagement
if (trim($tabAsso['Assoc_AObjet'])<>'' || trim($tabAsso['Assoc_NObjet'])<>'')
$tabEven[]=8020; // Modification de l'objet social
if (trim($tabAsso['Assoc_Fusion'])<>'')
$tabEven[]=8030; // Fusion
/*
8021 Additif à l'objet social
8021 Additif à l'objet social
8025 Modification statutaire
8080 Suspension d'association
*
@ -889,29 +889,29 @@ if ($joAsso) {
}
elseif ($tabAsso['Activite']<>'') {
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
$naf='9491Z';//913A'; // Organisations religieuses
elseif (preg_match('/communication/i', $tabAsso['Activite'])) // 0003
$naf='6399Z'; // Autres services d'information n.c.a.
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
$naf='8559B';
elseif (preg_match('/(Social|Humanitaire)/i', $tabAsso['Activite']) ) // 0014
$naf='8899B';//853K'; // Autres formes d'action sociale
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
$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
$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'])<>'') {
$adr=array( 'num'=>$tabAsso['Assoc_AdrNum'],
@ -933,7 +933,7 @@ if ($joAsso) {
}
if ($updateAdr) {
// On enregistre l'adresse structurée en base
// On enregistre l'adresse structurée en base
$adrComp=strtoupper(@$adr['adrComp0']);
if (@$adr['adrComp1']<>'')
$adrComp.=' '.strtoupper(@$adr['adrComp1']);
@ -947,7 +947,7 @@ if ($joAsso) {
'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']);
}
/*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']);
}*/
@ -968,11 +968,11 @@ if ($joAsso) {
$dep=floor(@$adr['cp']/1000);
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'];
if ($codTribunal=='' && strlen($tabAsso['Sous_Prefecture'])>5) {
$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']);
}
$tabEtab=array( 'source'=>3,
@ -1013,19 +1013,19 @@ if ($joAsso) {
} else
$nbInsertAsso++;
}
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;
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;
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');
$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);
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)) {
$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'],
'identite_pre'=>$tabAsso['Assoc_Nom'],
);
@ -1036,19 +1036,19 @@ if ($joAsso) {
} else
$nbUpdateAsso++;
}
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;
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;
}
if ($iGreffe) {
$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');
$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)) {
$adr=$iInsee->structureVoie($tabBodacc['adresse']);
@ -1100,24 +1100,24 @@ if ($iGreffe) {
} else
$nbInsertGreffes++;
}
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;
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;
}
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);
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;
$strMarques='';
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
$siren =$tabMarques['Siren'];
$strMarques.=' '.$tabMarques['Marques'];
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));
$ret=$iDb->update($table,$tabUpdate, "siren=$siren");
if (!$ret) {
@ -1128,8 +1128,8 @@ if ($iMarques) {
}
$sirenPre=$siren;
}
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;
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;
}
if ($table<>'etablissements_tmp') {
@ -1138,30 +1138,30 @@ if ($table<>'etablissements_tmp') {
}
} 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 );
$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');
$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;
$tabSiren=array();
if ($pageRankOnly) $tableEtab='etablissements';
else $tableEtab='etablissements_tmp';
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
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 );
$strSiren=implode(',',$tabSiren);
if (count($tabSiren)==1) {
$iDb->update($tableEtab, $tab, 'siren='.$tabSiren[0]);
} else {
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();
}
@ -1172,11 +1172,11 @@ while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
if (!$pageRankOnly) {
echo date ('Y/m/d - H:i:s')." - Mise en place des tables pour l'indexation.".EOL;
$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;");
//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;");
//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;
$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);
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();
?>

View File

@ -4,17 +4,17 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
error_reporting(E_ALL ^ E_NOTICE);
$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 :
-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;
$mInsee=new MInsee();
$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 {
for ($i=1; isset($argv[$i]); $i++) {
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;
$nbRep=30;
@ -74,14 +74,14 @@ $tabTables=array(
);
$iDbSel=new WDB('jo');
$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) ';
if ($toutes)
$strDate='';
$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;
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
$siren=$tabTel['siren'];
@ -98,12 +98,12 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
if (count($tabUpdate)>0) {
$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++;
}
else {
$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 {
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();
?>

View File

@ -7,14 +7,14 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolidation des sites Web et Emails disponibles.
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;
$mInsee=new MInsee();
$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 {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
@ -118,14 +118,14 @@ $tabTables=array(
);
$iDbSel=new WDB('jo');
$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) ';
if ($toutes)
$strDate='';
$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;
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
$siren=$tabTel['siren'];
@ -142,12 +142,12 @@ while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
if (count($tabUpdate)>0) {
$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++;
}
else {
$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 {
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();
?>

View File

@ -10,10 +10,10 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000.
Options :
-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)
-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)
-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) {
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 ($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';
}
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='';
@ -55,15 +55,15 @@ for ($iFic=0; isset($tabFichLigneCmd[$iFic]); $iFic++)
if (preg_match('/APICIL/',$fichierIn)) { $numeroAbonneBil='019400018'; $optionsIdBil='I'; }
if (preg_match('/SOFID/',$fichierIn)) { $numeroAbonneBil='000960030'; $optionsIdBil='I'; }
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);
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
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;
die();

View File

@ -5,22 +5,22 @@ define('VERSION_FICHIER_BODACC','0106');
/**
* @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
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 106 Libellé du Périmètre de la vente
* 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
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/dates.php');
@ -91,21 +91,21 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
case 1: // Ligne ignorée
// Ecriture de l'entête
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$txtEven='Evènement(s)';
$txtAnn ='Texte Annonce';
$ligneOut='';
@ -117,21 +117,21 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ligne100++;
$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
$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
$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
$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);
$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;
@ -139,29 +139,29 @@ foreach ($tabFichier as $iFic=>$fichier) {
case 'S': $cor='Suppression'.$cor; 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);
$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
$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
$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
$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) {
@ -204,13 +204,13 @@ foreach ($tabFichier as $iFic=>$fichier) {
$ligne104tot++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
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";
$ligne999++;
$ligne999tot++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre)
@ -226,7 +226,7 @@ foreach ($tabFichier as $iFic=>$fichier) {
//die();
}
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'];
} elseif ($tabEt['nbReponsesTotal']==0) {
continue;
@ -256,7 +256,7 @@ foreach ($tabFichier as $iFic=>$fichier) {
}
if ($ajoutNic) echo EOL;
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) {
echo "$fichier;$ligne100;";
foreach ($ligne100chap as $chap=>$nb) echo "$nb;";
@ -271,7 +271,7 @@ if ($sortieCSV) {
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;
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();

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
* 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
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 106 Libellé du Périmètre de la vente
* 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
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/dates.php');
@ -31,13 +31,13 @@ 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.
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier spécifique Bouchara-Recordati.
";/*Options :
-d Clients en Diffusion Bodacc (par défaut)
-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).
-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();
@ -66,7 +66,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier);
} 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);
//die();
@ -84,22 +84,22 @@ 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
case 1: // Ligne ignorée
// Ecriture de l'entête
$idannPre ='Identifiant Annonce';
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$txtEven='Evènement(s)';
$txtAnn ='Texte Annonce';
$inter ='Acheteur/Vendeur';
$sirenV ='Siren Vendeur';
@ -116,7 +116,7 @@ foreach ($tabLignes as $i=>$ligne) {
break;
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++;
$idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D
if ($idannPre<>$idann) {
@ -126,7 +126,7 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition=trim($matches[1]);
/** 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]);
echo "Montant de la vente AV: $montantVente\n";
if (substr($montantVente,-3,1)==',') {
@ -155,7 +155,7 @@ foreach ($tabLignes as $i=>$ligne) {
}
if ($catEven=='procol') {
$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]);
else
$opposition='';
@ -168,9 +168,9 @@ foreach ($tabLignes as $i=>$ligne) {
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. ";
$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.='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)<>'') {
@ -186,18 +186,18 @@ foreach ($tabLignes as $i=>$ligne) {
}
$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
$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
$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
$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 ).' '.
@ -213,7 +213,7 @@ foreach ($tabLignes as $i=>$ligne) {
$cor='';
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) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
@ -221,22 +221,22 @@ foreach ($tabLignes as $i=>$ligne) {
case 'S': $cor='Suppression'.$cor; 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);
$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
$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
$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
$inter='Vendeur'; // Par défaut, nous sommes avec un vendeur
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
@ -268,7 +268,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
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";
$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";
@ -278,9 +278,9 @@ foreach ($tabLignes as $i=>$ligne) {
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. ";
$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.='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)<>'') {
@ -297,7 +297,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne999++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre)
@ -314,10 +314,10 @@ foreach ($tabLignes as $i=>$ligne) {
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') . " - 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();
?>

View File

@ -59,211 +59,211 @@ $tabEvenSolib=array(10=>'CR',
$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
1055=>70, // Résolution de la conciliation
1055=>70, // Résolution de la conciliation
1100=>57, // Jugement de sauvegarde
1101=>58, // Plan de sauvegarde
1200=>52, // Redressement Judiciaire
1201=>52, // Conversion sauvegarde en Redressement Judiciaire
1202=>75, // Renouv. Periode Observation
1203=>78, // Avis de dépot de l'état de collocation
1204=>78, // Dépôt des créances
1203=>78, // Avis de dépot de l'état de collocation
1204=>78, // Dépôt des créances
1205=>78,
1206=>78,
1207=>53, // Règlemement amiable
1207=>53, // Règlemement amiable
1208=>78,
1209=>51, // Règlement Judiciaire
1209=>51, // Règlement Judiciaire
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
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
1216=>78, // Autre avis de dépôt
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
1216=>78, // Autre avis de dépôt
1300=>62, // Conversion Redressement Judiciaire en Liquidation
1301=>62, // Ouverture Liquidation Judiciaire
1302=>66, // Ouverture Liquidation Judiciaire Simplifiée
1303=>62, // Ouverture Liquidation Judiciaire sur résolution
1304=>62, // Réouverture Liquidation Judiciaire
1302=>66, // Ouverture Liquidation Judiciaire Simplifiée
1303=>62, // Ouverture Liquidation Judiciaire sur résolution
1304=>62, // Réouverture 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
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
1310=>56, // Procédure d'Insolvabilité Européenne
1311=>62, // Liquidation Judiciaire par extension au(x) gérants
1310=>56, // Procédure d'Insolvabilité Européenne
1311=>62, // Liquidation Judiciaire par extension au(x) gérants
1312=>62, // Liquidation Judiciaire avec continuation d'exploitation
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
1401=>70, // Nomination d'un mandataire judiciaire
1402=>70, // Nomination d'un représentant des créanciers
1403=>70, // Nominnation/Remplacement de commissaire à l'exécution du plan
1404=>70, // Prolongement de la mission du commissaire à l'exécution du plan
1402=>70, // Nomination d'un représentant des créanciers
1403=>70, // Nominnation/Remplacement de 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
1406=>70, // Changement de SYNDIC
1407=>75, // Modif. de Plan
1408=>75, // Modification du plan de cession
1409=>75, // Modif. de de continuation
1410=>75, // Suite de jugement/règlement/liquidation
1411=>75, // Arrêt du plan de cession
1412=>75, // Arrêt du plan de cession partielle
1413=>75, // Arrêt du plan de continuation
1414=>75, // Arrêt du plan de redressement
1410=>75, // Suite de jugement/règlement/liquidation
1411=>75, // Arrêt du plan de cession
1412=>75, // Arrêt du plan de cession partielle
1413=>75, // Arrêt du plan de continuation
1414=>75, // Arrêt du plan de redressement
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
1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire
1419=>57, // Jugement d'extension d'une procédure de sauvegarde
1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire
1419=>57, // Jugement d'extension d'une procédure de sauvegarde
1420=>70, // Nomination d'un liquidateur judiciaire
1421=>70, // Jugement prorogeant le plan de redressement
1425=>70, // Plan de cession avec location gérance
1430=>70, // Jugement autorisant la poursuite d'activité
1431=>70, // Jugement de cessation partielle d'activité
1435=>70, // Suspension de l'exécution provisoire
1425=>70, // Plan de cession avec location gérance
1430=>70, // Jugement autorisant la poursuite d'activité
1431=>70, // Jugement de cessation partielle d'activité
1435=>70, // Suspension de l'exécution provisoire
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
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
1470=>70, // Fin de mission d'administrateur judiciaire
1480=>70, // Jugement ordonnant la jonction des procédures
1500=>79, // Clôture de la procédure
1501=>79, // Clôture de la procédure après cession totale
1502=>76, // Clôture de la procédure pour extinction du passif
1480=>70, // Jugement ordonnant la jonction des procédures
1500=>79, // Clôture de la procédure
1501=>79, // Clôture de la procédure après cession totale
1502=>76, // Clôture de la procédure pour extinction du passif
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
1506=>59, // Rectif ou Annulation RJ
1507=>74, // Appel de jugement
1508=>70, // Extinction du plan de sauvegarde
1509=>70, // Extinction du plan de redressement
1510=>74, // Rejet du plan
1511=>70, // Résolution du plan de cession
1512=>70, // Résolution du plan de continuation
1513=>70, // Résolution du plan de sauvegarde
1515=>74, // Arrêt divers
1517=>59, // Rectification d'une erreur matérielle
1511=>70, // Résolution du plan de cession
1512=>70, // Résolution du plan de continuation
1513=>70, // Résolution du plan de sauvegarde
1515=>74, // Arrêt divers
1517=>59, // Rectification d'une erreur matérielle
1520=>70, // Ordonnance
1525=>74, // Appel du ministère public
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
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
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
1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition
1546=>74, // Autre rétractation sur tierce opposition
1525=>74, // Appel du ministère public
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
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
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
1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition
1546=>74, // Autre rétractation sur tierce opposition
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
1601=>64, // Interdiction de gérer
1602=>70, // Jugement de réhabilitation
1601=>64, // Interdiction de gérer
1602=>70, // Jugement de réhabilitation
1603=>61, // Liquidation de Biens
1604=>80, // Banqueroute
1605=>70, // Jugement autorisant la reprise des poursuites individuelles
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
1650=>80, // Rétablissement Personnel
1700=>70, // Décision soumise à publicité
1650=>80, // Rétablissement Personnel
1700=>70, // Décision soumise à publicité
1900=>80, // Interdiction temporaire d'exercice de la profession de CAC
1901=>80, // Radiation de la liste des CAC
1999=>70, // Autre procédure collective
1999=>70, // Autre procédure collective
// MMD
2000=>40, // Mention d'office
2100=>39, // Chg.Capital/Cess.apport de parts
2101=>39, // Chg.Capital/Cess.apport de parts
2102=>39, // Chg.Capital/Cess.apport de parts
2200=>40, // Cessation d'activité
2201=>40, // Cessation d'activité temporaire
2200=>40, // Cessation d'activité
2201=>40, // Cessation d'activité temporaire
2202=>41, // Dissolution
2203=>41, // Dissolution de la société
2204=>41, // Cessation d'activité avec dissolution
2203=>41, // Dissolution de la société
2204=>41, // Cessation d'activité avec dissolution
2205=>40, // Fermeture du fonds
2206=>39, // Mise en sommeil de la société
2207=>39, // Suppression d'une branche d'activité
2208=>39, // Suppression de l'établissement principal
2206=>39, // Mise en sommeil de la société
2207=>39, // Suppression d'une branche d'activité
2208=>39, // Suppression de l'établissement principal
2209=>39, // Vente du fonds
2210=>39, // Déclaration de dissolution par l'associé unique.
2211=>39, // Clôture de la liquidation
2210=>39, // Déclaration de dissolution par l'associé unique.
2211=>39, // Clôture de la liquidation
2212=>39, // Liquidation amiable
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
2303=>39, // Modification de la date de clôture de l'exercice
2304=>39, // Modification de la date de début d'activité
2305=>39, // Modification de la dénomination
2306=>39, // Modification de la durée de la société
2303=>39, // Modification de la date de clôture de l'exercice
2304=>39, // Modification de la date de début d'activité
2305=>39, // Modification de la dénomination
2306=>39, // Modification de la durée de la société
2307=>39, // Modification de la forme juridique
2308=>39, // Modification du nom
2309=>39, // Modification du nom commercial
2310=>39, // Modification du pseudonyme
2311=>39, // Modification sur l'exploitation
2312=>39, // Modification(s) diverse(s)
2313=>39, // Modification de l'activité
2314=>39, // Poursuite de l'activité
2313=>39, // Modification de l'activité
2314=>39, // Poursuite de l'activité
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
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
2321=>39, // Reconsitution de la moitié de l'actif net
2350=>39, // Déclaration des associés (loi du 1er février 2005)
2401=>39, // Changement de régime matrimonial
2402=>39, // Changement de régime matrimonial (divorce)
2403=>39, // Changement de régime matrimonial (mariage)
2404=>39, // Changement de régime matrimonial (veuvage)
2405=>39, // Changement de régime matrimonial (contrat de maria...
2321=>39, // Reconsitution de la moitié de l'actif net
2350=>39, // Déclaration des associés (loi du 1er février 2005)
2401=>39, // Changement de régime matrimonial
2402=>39, // Changement de régime matrimonial (divorce)
2403=>39, // Changement de régime matrimonial (mariage)
2404=>39, // Changement de régime matrimonial (veuvage)
2405=>39, // Changement de régime matrimonial (contrat de maria...
2406=>39, // Reprise du fonds par le conjoint
2407=>39, // Mention du conjoint collaborateur
2408=>39, // Radiation du conjoint collaborateur
2500=>30, // Confirmation établissement principal ou secondaire
2510=>39, // L'établissement secondaire devient principal
2520=>39, // Extension de l'établissement principal
2600=>39, // Décès
2610=>39, // Décision de l'unique actionnaire
2500=>30, // Confirmation établissement principal ou secondaire
2510=>39, // L'établissement secondaire devient principal
2520=>39, // Extension de l'établissement principal
2600=>39, // Décès
2610=>39, // Décision de l'unique actionnaire
2620=>39, // Transmission universelle du patrimoine
2630=>39, // Donation/Partage
2635=>39, // Cession de parts
2639=>39, // Nantissement de parts sociales
2640=>39, // Changement de domicile personnel
2650=>39, // Changement de nationalité
2660=>39, // Réalisation de l'apport partiel d'actif
2650=>39, // Changement de nationalité
2660=>39, // Réalisation de l'apport partiel d'actif
2661=>39, // Apport partiel
2700=>39, // Fusion/Absorption (entitée absorbante)
2701=>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...
2710=>39, // Projet de fusion (entitée absorbante)
2720=>39, // Fusion/Absorption (entitée absorbée)
2721=>39, // Fusion/Absorption (entitée absorbée non identifiée...
2700=>39, // Fusion/Absorption (entitée absorbante)
2701=>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...
2710=>39, // Projet de fusion (entitée absorbante)
2720=>39, // Fusion/Absorption (entitée absorbée)
2721=>39, // Fusion/Absorption (entitée absorbée non identifiée...
2725=>39, // 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
2750=>39, // Société participation
2800=>37, // Location gérance reçue
2840=>38, // Location/Gérance
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
2860=>38, // Location gérance donnée : Précédent exploitant
2870=>38, // Location gérance donnée
2875=>38, // Gérance/Mandat
2880=>38, // Renouvellement de location gérance
2881=>38, // Changement de location gérance
2885=>42, // Fin de location gérance
2890=>38, // Location gérance relative à une branche
2891=>39, // Location gérance relative à un établissement
2892=>39, // Location gérance relative à un fond
2900=>32, // Transfert d'établissement
2901=>32, // Transfert de siège
2750=>39, // Société participation
2800=>37, // Location gérance reçue
2840=>38, // Location/Gérance
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
2860=>38, // Location gérance donnée : Précédent exploitant
2870=>38, // Location gérance donnée
2875=>38, // Gérance/Mandat
2880=>38, // Renouvellement de location gérance
2881=>38, // Changement de location gérance
2885=>42, // Fin de location gérance
2890=>38, // Location gérance relative à une branche
2891=>39, // Location gérance relative à un établissement
2892=>39, // Location gérance relative à un fond
2900=>32, // Transfert d'établissement
2901=>32, // Transfert de siège
2902=>32, // Transfert du fonds
2903=>32, // Projet de transfert du siège
2904=>32, // Transfert du siège à l'étranger
2950=>32, // Création de fonds
2903=>32, // Projet de transfert du siège
2904=>32, // Transfert du siège à l'étranger
2950=>32, // Création de fonds
2980=>32, // Transfert entre tribunaux
// DEPOTS DES COMPTES
3100=>91,
@ -271,94 +271,94 @@ $tabEven2SO=array( // PROCOL
3300=>91,
3999=>91,
// CREATIONS
4000=>10, // Création d'entreprise
4050=>10, // Création d'entreprise sans activité
4100=>10, // Création d'entreprise sans établissement
4200=>17, // Création d'établissement
4250=>17, // Création suite à transfert
4300=>17, // Création suite à reprise d'activité
4350=>10, // Création suite à fin de 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
4400=>10, // Création suite à changement de FJ
4410=>10, // Création suite à héritage ou donation
4450=>10, // Création suite à reprise par le conjoint
4000=>10, // Création d'entreprise
4050=>10, // Création d'entreprise sans activité
4100=>10, // Création d'entreprise sans établissement
4200=>17, // Création d'établissement
4250=>17, // Création suite à transfert
4300=>17, // Création suite à reprise d'activité
4350=>10, // Création suite à fin de 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
4400=>10, // Création suite à changement de FJ
4410=>10, // Création suite à héritage ou donation
4450=>10, // Création suite à reprise par le conjoint
4500=>17, // Fonds acquis dans le cadre d'une PC
4501=>17, // Fonds acquis par achat
4502=>17, // Fonds acquis par apport
4600=>10, // Immatriculation d'une société de droit européen
4999=>10, // Création
4600=>10, // Immatriculation d'une société de droit européen
4999=>10, // Création
// ventes !!!
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
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
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
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
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
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
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,
// RADIATIONS
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
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
6004=>40, //Radiation pour cause de clôture de la liquidation judiciaire simplifié
6005=>40, //Radiation pour clôture du plan de cession
6100=>40, //Radiation pour cause de décès
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
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
6004=>40, //Radiation pour cause de clôture de la liquidation judiciaire simplifié
6005=>40, //Radiation pour clôture du plan de cession
6100=>40, //Radiation pour cause de décès
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
6400=>40, //Radiation pour cause de transfert
6500=>40, //Radiation pour cause de jugement de clôture du plan de cession
6600=>40, //Radiation d'un établissement
6500=>40, //Radiation pour cause de jugement de clôture du plan de cession
6600=>40, //Radiation d'un établissement
6700=>40, //Radiation
);
$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
2310=>'a', // Modification du pseudonyme
2300=>'b', // Changement d'Adresse
2301=>'b',
2900=>'b', // Transfert d'établissement
2901=>'b', // Transfert de siège
2900=>'b', // Transfert d'établissement
2901=>'b', // Transfert de siège
2902=>'b', // Transfert du fonds
2903=>'b', // Projet de transfert du siège
2904=>'b', // Transfert du siège à l'étranger
2950=>'b', // Création de fonds
2903=>'b', // Projet de transfert du siège
2904=>'b', // Transfert du siège à l'étranger
2950=>'b', // Création de fonds
2980=>'b', // Transfert entre tribunaux
2101=>'c', // Chg.Capital/Cess.apport de parts
2315=>'d', // Changement de Dirigeants
2313=>'e', // Mod Act/obj.soc./Cess./Mise somm.
2307=>'f', // Changement de Forme juridique
2318=>'g', // Opération sur Participations
2318=>'g', // Opération sur Participations
2725=>'h', // Fusion Absorption
2318=>'i', // Mod.garantie financière/Caution
2401=>'j', // Changement de régime matrimonial
2319=>'k', // Non dissolution anticipée
2318=>'l', // Non dissolution anticipée
2318=>'m', // Dissolution anticipée (ou non)
2318=>'i', // Mod.garantie financière/Caution
2401=>'j', // Changement de régime matrimonial
2319=>'k', // Non dissolution anticipée
2318=>'l', // Non dissolution anticipée
2318=>'m', // Dissolution anticipée (ou non)
2303=>'n', // Mod.date cloture exercice social
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
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
5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
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
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
5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>'V',
5650=>'V',
5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
1411=>'F', // Arrêt du plan de cession
5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
1411=>'F', // Arrêt du plan de cession
1408=>'G', // Modification du plan de cession
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='') {
$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);
@ -367,22 +367,22 @@ function exporte($txt, $lon, $sep='') {
/**
* @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
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 106 Libellé du Périmètre de la vente
* 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
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/dates.php');
@ -398,10 +398,10 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Conversion d'un flux surveillance/diffusion Bodacc S&D en fichier SO2000.
";/*Options :
-d Clients en Diffusion Bodacc (par défaut)
-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).
-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=array();
@ -443,7 +443,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier);
} 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='';
@ -459,15 +459,15 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$dateJ=date('Ymd');
$ecrireLignePre=false;
/** Codes/Variables à gérer **/
/** Codes/Variables à gérer **/
$depPar=0;
$SOSTAE='';
foreach ($tabLignes as $i=>$ligne) {
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
case 1: // Ligne ignorée
// Ecriture de l'entête
$ligne001++;
break;
case 100: // Structure Bodacc
@ -479,21 +479,21 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
if($j%16==0) {
// Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$typEnr=9;
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 ?
$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($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce 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 ?
$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($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$ligneTXT.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$ligneTXT.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$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($dateJ, 8, '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.=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($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($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($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$ligneTXT.=exporte($datePar, 8); // Date de parution
$ligneTXT.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
@ -513,55 +513,55 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
break;
}
$nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'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
$tabIdentite=@$iInsee->getIdentiteEntreprise($siren);
$nic = trim(substr($ligne, 22, 5 ))*1; // 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
$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= 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
$numRC = trim(substr($ligne,95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$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
$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
$nomCom = trim(substr($ligne,254, 100 )); // Nom Commerciale
$ens = trim(substr($ligne,354, 100 )); // Enseigne
$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
$capDev = trim(substr($ligne,593, 3 )); // Capital Devise
$adrNum = trim(substr($ligne,596, 4 )); //
$adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,606, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,751, 45 )); // FJ libellé
$adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,606, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,751, 45 )); // FJ libellé
if ($adrCP==0) {
$adrNum = trim(substr($ligne,796, 4 )); // FJ libellé
$adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,806, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,951, 45 )); // FJ libellé
$adrNum = trim(substr($ligne,796, 4 )); // FJ libellé
$adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,806, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,951, 45 )); // FJ libellé
}
$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
$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) {
@ -573,7 +573,7 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
else
$txtEven.='';
$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
$dateEffet=substr($ligne, 1161, 8 ); // Date d'effet
if ($dateEffet*1==0) $dateEffet=$dateJuge;
@ -608,23 +608,23 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$adrVil = $tabIdentite['Ville'];
}
$typEnr=1;
$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($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce 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($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$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($dateJ, 8, '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.=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($ref, 30); // Réf. Client
$DBILS2.=exporte($ref, 30); // Réf. Client
//($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.=initstr('', 9); // Témoin de MAJ
$DBILS2.=initstr('', 9); // Témoin de MAJ
$DBILS2.=exporte($rs, 60); //
$DBILS2.=exporte(substr($rs,60),30); //
$DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide !
@ -635,8 +635,8 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte($adrVil, 32); //
$DBILS2.=initstr($adrCP, 5, '0', ALIGN_RIGHT); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrL2.' '.$adrL3), 30); //
$DBILS2.=exporte($tabIdentite['DateCreaEn'], 8); // Date créa ENT
$DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement
$DBILS2.=exporte($tabIdentite['DateCreaEn'], 8); // Date créa ENT
$DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement
$DBILS2.=initstr($tabIdentite['FJ'], 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOTSEX, 1); // Sexe M/F
@ -663,17 +663,17 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte('', 6);
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2
$DBILS2.=exporte('', 20);
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte('', 39); // Filler C
$ligneID=$DBILS2;
$ligne100++;
$cor='';
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) {
case 'I': $cor='Insertion'.$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;
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);
$SOSEQ++;
@ -689,26 +689,26 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
elseif ($bodacc=='B') $SOJAL='200';
elseif ($bodacc=='C') $SOJAL='300';
else $SOJAL='999';
$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($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce 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($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$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($dateJ, 8, '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.=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($ref, 30); // Réf. Client
$DBILS2.=exporte($ref, 30); // Réf. Client
//($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($datePar, 8); // Date de parution
$DBILS2.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
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);
die($message);
}
@ -721,20 +721,20 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$DBILS2.=exporte($numPar, 3); //
$DBILS2.=initstr($dateJuge, 8, '0', ALIGN_RIGHT); // Date de jugement
$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.=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('', 6); // Code lib injecté
$DBILS2.=exporte('', 6); // Code lib injecté
$tabJuge=$iRncs->getIntervenants($siren);
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($depot['admcode'], 7); // Code Bil
$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('', 3); // Type Voie
$DBILS2.=exporte($depot['admadrVoie'], 33); // Lib Voie
@ -753,7 +753,7 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
$ligne104++;
$txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) {
@ -766,21 +766,21 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
// die('FIN PROVISOIRE !'.EOL);
if (bzip2(DIR_SOFID_IN.$nomFichierIn, 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) {
// Le fichier est vide, on le supprime
unlink(DIR_SOFID_OUT.$nomFichierOut);
} 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');
}
}
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();
?>

View File

@ -16,13 +16,13 @@ $iBodacc=new MBodacc();
$iInsee=new MInsee();
$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 :
-d Clients en Diffusion Bodacc (par défaut)
-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).
-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();
@ -51,7 +51,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichier);
} 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);
//die();
@ -75,28 +75,28 @@ for ($iFic=0; isset($tabFichier[$iFic]); $iFic++)
/*
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) {
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
case 1: // Ligne ignorée
// Ecriture de l'entête
$idannPre ='Identifiant Annonce';
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$txtEven='Evènement(s)';
$txtAnn ='Texte Annonce';
$inter ='Acheteur/Vendeur';
$sirenV ='Siren Vendeur';
@ -110,17 +110,17 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition='Opposition';
$naf='NAF';
$nafLib='Libellé NAF';
$nafLib='Libellé NAF';
$fj='Forme Jur.';
$fjLib='Libellé Forme Juridique';
$fjLib='Libellé Forme Juridique';
$effectif='Effectif';
$typeEf="Type d'effectif";
$dateBilan='Date Bilan';
$ca="Chiffre d'affaire en ME";
$typeCa='Type CA';
$capital='Capital';
$dept='Dépt. Siège';
$annee='Année de Création';
$dept='Dépt. Siège';
$annee='Année de Création';
$ligneOut="$siren;$datePar;$raisonS;$txtEven;$naf;$nafLib;$fj;$fjLib;$effectif;$typeEf;$dateBilan;$ca;$typeCa;$capital;$dept;$annee;$txtAnn";
if ($nbLignesDeja<2) {
@ -130,7 +130,7 @@ foreach ($tabLignes as $i=>$ligne) {
break;
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++;
$idann = substr($ligne, 3 , 10 )*1; // Id interne de l'annonce S&D
if ($idannPre<>$idann) {
@ -140,7 +140,7 @@ foreach ($tabLignes as $i=>$ligne) {
$opposition=trim($matches[1]);
/** 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]);
echo "Montant de la vente AV: $montantVente\n";
if (substr($montantVente,-3,1)==',') {
@ -169,7 +169,7 @@ foreach ($tabLignes as $i=>$ligne) {
}
if ($catEven=='procol') {
$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]);
else
$opposition='';
@ -188,9 +188,9 @@ foreach ($tabLignes as $i=>$ligne) {
else $sirenAffA='';
$message.="Siren : $sirenAffV\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)<>'')
$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.="NAF : $nafLib ($naf)\r\n";
@ -199,16 +199,16 @@ foreach ($tabLignes as $i=>$ligne) {
$message.="Dernier Bilan : $dateBilan\r\n";
$message.="Chiffre d'Affaire $typeCa: $ca ME\r\n";
$message.="Capital : $capital\r\n";
$message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n";
$message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n";
/*
[dir1Titre] => Gérant
[dir1Titre] => Gérant
[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
@ -235,18 +235,18 @@ foreach ($tabLignes as $i=>$ligne) {
}
$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
$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
$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
$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 ).' '.
@ -262,7 +262,7 @@ foreach ($tabLignes as $i=>$ligne) {
$cor='';
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) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
@ -270,22 +270,22 @@ foreach ($tabLignes as $i=>$ligne) {
case 'S': $cor='Suppression'.$cor; 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);
$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
$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
$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
$inter='Vendeur'; // Par défaut, nous sommes avec un vendeur
foreach ($even as $codeEven)
if ($codeEven<>0) {
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
@ -331,8 +331,8 @@ foreach ($tabLignes as $i=>$ligne) {
$caBilan=$tabIdentite['bilanFL'];
$dateBilan=str_replace('//','',WDate::dateT('Ymd','d/m/Y',$tabIdentite['bilanDate']));
if ($effBilan>0) { $effectif=$effBilan; $typeEf='Réel'; }
elseif ($effInsee>0) { $effectif=$effInsee; $typeEf='Estimé'; }
if ($effBilan>0) { $effectif=$effBilan; $typeEf='Réel'; }
elseif ($effInsee>0) { $effectif=$effInsee; $typeEf='Estimé'; }
else { $effectif='N/C'; $typeEf=''; }
$caEstime=0;
@ -340,13 +340,13 @@ foreach ($tabLignes as $i=>$ligne) {
$caEstime=$iInsee->getCAnafEffectif($naf, $effInsee);
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==6){ $ca=20; $typeCa='Approchant'; }
elseif ($caInsee==7){ $ca=50; $typeCa='Approchant'; }
elseif ($caInsee==8){ $ca=100; $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;
} else {
// On ignore cette ligne
@ -372,7 +372,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
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";
$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";
@ -384,9 +384,9 @@ foreach ($tabLignes as $i=>$ligne) {
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. ";
$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.='Entrée en base S&D : '. WDate::dateT('Ymd','d/m/Y',$dateInsert)."\r\n";
$message.="Tribunal : $libTri"."\r\n";
$message.="NAF : $nafLib ($naf)\r\n";
@ -395,8 +395,8 @@ foreach ($tabLignes as $i=>$ligne) {
$message.="Dernier Bilan : $dateBilan\r\n";
$message.="Chiffre d'Affaire $typeCa: $ca ME\r\n";
$message.="Capital : $capital\r\n";
$message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n";
$message.="Département : $dept\r\n";
$message.="Année de création : $annee\r\n";
$message.="\r\n";
if (trim($raisonSA)<>'') {
@ -413,7 +413,7 @@ foreach ($tabLignes as $i=>$ligne) {
$ligne999++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
//if ($ecrireLignePre)
@ -426,7 +426,7 @@ foreach ($tabLignes as $i=>$ligne) {
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°$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
Service support
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
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
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";
$emailEnvoi='vfahmy@verdoso.com,contact@scores-decisions.com';
//$emailEnvoi='ylenaour@scores-decisions.com';
//$emailEnvoi='vfahmy@verdoso.com,contact@scores-decisions.com';
$emailEnvoi='ylenaour@scores-decisions.com';
if ($catEven<>'Chapitre') {
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);
}
}
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();
?>

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
/**
* @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
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 106 Libellé du Périmètre de la vente
* 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
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/dates.php');
@ -29,10 +29,10 @@ $repProduction='/mnt/samba/partage/production/';
$incrementationDesTour=true;
$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 :
-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'];
@ -64,9 +64,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$lonLigne=LONGUEUR_LIGNE_SORTIE-90;
$str='';
switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc
case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète
case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) {
@ -75,7 +75,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
}
break;
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;
}
return $str;
@ -141,14 +141,14 @@ function getListeAdherents($prestation) {
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);
//print_r($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();
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';
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";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL;
@ -183,37 +183,37 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else
$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;
}
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;
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;
continue;
}
/****
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;
} 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;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
//} Bloc a décommenter
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
//} 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');
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);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
'';
@ -221,12 +221,12 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$nbLignes=1;
/**
** On génère les lignes de détail
** On génère les lignes de détail
**/
$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',";
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
$strRubrique.="'creations',";
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des 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
$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;
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;
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;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$tabOptOutput[105]=true; else $tabOptOutput[105]=false;
$tabSiren=$iDb->select('mederic', 'distinct(siren)', '1', true, MYSQL_ASSOC);
$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();
foreach ($tabSiren as $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';
$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) .') ';
// 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' ";
// ... 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' ";
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;
//$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 : Début de génération du fichier client...".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;
//while(=$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'];***/
//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;
$numInter=0;
@ -350,34 +350,34 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$tribunalCode=$tribunalCode[0][0];
$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($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($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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de 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($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
// (ex: 230A, 001B)
// 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($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['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 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['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car
@ -387,88 +387,88 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($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['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
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(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['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['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['Repr'], 80) . // Représentant
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]['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]['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['Repr'], 80) . // Représentant
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]['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]['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['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(FILLER, 89) .
'';
fwrite($fp, rtrim($str).$optionEOL);
$nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// 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
// 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
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($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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
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($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(FILLER, 18) . // REF CLI
'';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
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));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
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=$annoncetxt[0][0];
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++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
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);
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) {
$iDbCrm=new WDB('sugarcrm');
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
"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) {
case 'zip':
$zip = new ZipArchive;
@ -541,9 +541,9 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
break;
default:
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
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;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -5,22 +5,22 @@ define('VERSION_FICHIER_BODACC','0106');
/**
* @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
* 101 Commentaire
* 102 Activite déclaré au Bodacc
* 102 Activite déclaré au Bodacc
* 103 texte rectificatif
* 104 Annonce complète au format texte
* 104 Annonce complète au format texte
* 105 Structure Dirigeants BODACC
* 106 Libellé du Périmètre de la vente
* 106 Libellé du Périmètre de la vente
* 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
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/dates.php');
@ -37,7 +37,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Extaction Bodacc pour CSF.
Options :
-a:2004 Année 2004
-a:2004 Année 2004
";
$argv=$_SERVER['argv'];
@ -71,9 +71,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc
case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète
case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) {
@ -82,15 +82,15 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
}
break;
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;
}
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';
$optionEOL="\r\n";
@ -104,14 +104,14 @@ $dateFinPrestation=''.$annee.'1231';
$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');
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);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
@ -121,7 +121,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
$nbLignes=1;
/**
** On génère les lignes de détail
** On génère les lignes de détail
**/
$strRubrique='';
$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";
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
echo date ('Y/m/d - H:i:s')." - $nbAnnonces annonces à traiter...".EOL;
$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')." - 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;
$numPre=-1;
@ -172,7 +172,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
'Tribunal'=>$ann['triNom'],
'TribunalSiret'=>$ann['triSiret'],
'Rubrique'=>$rub,
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],
//'texteRectificatif'=>$ann['corrTexteRectificatif'],
// 'texteAnnonce'=>$ann['annonceTxt'],
'dateEffet'=>$ann['DATE'],
@ -242,31 +242,31 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
}*/
$numAnnonceSD++;
$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($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'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(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($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('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// R=Rectif, S=Suppression
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, 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, 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, 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, 18) . // REFERENCE DU CLIENT
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(FILLER, 100) . // Nom commercial de l'entreprise
initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement
initstr(FILLER, 30) . // Nationalité si Personne physique
initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement
initstr(FILLER, 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 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, 3) . // Devise du capital (format ISO)
// Adresse / 150 car
@ -276,75 +276,75 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
initstr(FILLER, 50) .
initstr(FILLER, 50) .
initstr(FILLER, 40) .
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr(FILLER, 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr(FILLER, 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['E1ENRU'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['E1EBTQ'], 1) . //
initstr($annonce['E1ETVI'], 5) .
initstr($annonce['E1EVOI'], 50) .
initstr(FILLER, 50) .
initstr(FILLER, 40) .
initstr($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal 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(FILLER, 100) . // NOM du JAL si publication
initstr(FILLER, 8) . // Date de publication du JAL si publication
initstr(FILLER, 8) . // Date de cessation des paiements
initstr($dateJ, 8) . // Date du jugement
initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(FILLER, 8) . // Date de début d'activité
initstr(FILLER, 1) . // FILLER (Replace type de création)
initstr(FILLER, 8) . // Date de début d'activité
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($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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['Repr'], 80) . // Représentant
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]['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]['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['Repr'], 80) . // Représentant
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]['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]['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['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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 de fin de la période d'observation
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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 de fin de la période d'observation
'';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// 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
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
// 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
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($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($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('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, 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, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée // (ex: 230A, 001B)
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, 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, 18) .
'';
@ -359,22 +359,22 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
' Capital:'=>'. Capital : ',
' Enseigne:'=>'. Enseigne : ',
' Sigle:'=>'. Sigle : ',
' Activité:'=>'. Activité : ',
' Activité:'=>'. Activité : ',
' Commentaires:'=>'. Commentaires : ',
' Adresse:'=>'. Adresse : ',
' Date de cessation des paiements:'=>'. Date de cessation des paiements : ',
' 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 ',
" 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 exploitant '=>'. Précédent exploitant : ',
' Première insertion:'=>'. Première insertion : ',
' Précédent propriétaire '=>'. Précédent propriétaire : ',
' Précédent exploitant '=>'. Précédent exploitant : ',
' Première insertion:'=>'. Première insertion : ',
' oppositions:'=>'. Oppositions : ',
' Oppositions:'=>'. Oppositions : ',
' Adresse du siège social:'=>'. Adresse du siège social : ',
" Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ",
' Adresse du siège social:'=>'. Adresse du siège social : ',
" Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ",
' Administration:'=>'. Administration : ',
))), 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++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
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);
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) {
$iDbCrm=new WDB('sugarcrm');
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
"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) {
case 'zip':
$zip = new ZipArchive;
@ -434,7 +434,7 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
case 'bzip2':
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$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) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else {
@ -445,9 +445,9 @@ $clientIdentifiant='CSF_BodaccAB_'.$annee;
break;
default:
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
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;
}

View File

@ -6,8 +6,8 @@ if (!defined('VERSION_FICHIER_BODACC'))
/**
* @todo
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement
*/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
@ -22,15 +22,15 @@ $ignoreDateDerExec=$retroActivite=false;
$codeAdherent='';
$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 :
-d Clients en Diffusion Bodacc (par défaut)
-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 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
-r:XX Faire une rétroactivté de XX jours
-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...)
-c:AAA Limiter le traitement au fichier de l'abonné AAA
-r:XX Faire une rétroactivté de XX jours
";
$argv=$_SERVER['argv'];
@ -80,9 +80,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc
case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète
case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) {
@ -91,7 +91,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
}
break;
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;
}
return $str;
@ -160,15 +160,15 @@ function getListeAdherents($prestation, $codeAdherent='') {
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')));
$tabAdherents=getListeAdherents($typePrestaton, $codeAdherent);
//print_r($tabAdherents);die();
$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();
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';
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";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL;
@ -207,38 +207,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$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;
}
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;
}
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;
} 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;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// Bloc a décommenter
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// 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');
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);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // 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;
/**
** On génère les lignes de détail
** On génère les lignes de détail
**/
$strRubrique='';
$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',";
$tabRubCollecte[]=" typeEven LIKE '3%' ";
}
if (strpos($tabAdherent['optionPrestation'], 'creations')) { // Export des créations
if (strpos($tabAdherent['optionPrestation'], 'creations')) { // Export des créations
$strRubrique.="'creations',";
$tabRubCollecte[]=" typeEven LIKE '4%' ";
}
@ -277,11 +277,11 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$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;
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;
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;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$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";
$where=$whereCol='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 (count($tabRubCollecte)>0)
$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 (!$retroActivite) {
$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) ) ";
}
}
// ... 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)
if (!$retroActivite) {
$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') {
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';
$tablesCol='annonces a';
// Credit safe
@ -377,7 +377,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($typePrestaton=='surveillanceBodacc') {
$tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC);
$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';
$fieldsCol.=', s.ref';
$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
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
@ -403,11 +403,11 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$strCollecte='(avec Collecte)';
} else {
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)';
}
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 : $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;
//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;
$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;
//while(=$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;
@ -508,20 +508,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$avecMand=true;
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');
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);
$interNom=$interTel=$interCp=$interVille='';
$interSiren=0;
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;
//print_r($annonce);
$mandId=$mand['inter'.$iInter.'id'];
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);
$mand2=$tabTmp[0];
$adr=$iInsee->structureVoie($mand2['adresse']);
@ -532,13 +532,13 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$interVille=strtoupper($mand2['ville']);
$interTel=strtr($mand2['tel'],array(' '=>'',','=>'','.'=>'', '-'=>'/','-'=>''))*1;
} 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')
// 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);
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;
$mand['inter'.$iInter.'nom']=$matches[1];
}
@ -550,7 +550,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$interCp=$adr['cp']*1;
$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);
}
$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;
else $even2=1999;
$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']);
@ -599,41 +599,41 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
switch (substr($annonce['source'],0,1)) {
case 'G': // G=Greffes
case 'P': // P=Inpi
case 'J': // J=Journal d'Annonces Légales
case 'J': // J=Journal d'Annonces Légales
case 'T': // T=Tribunal
$codeSourceBodacc=substr($annonce['source'],0,1); break;
default: $codeSourceBodacc='J'; break;
}
}
$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['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'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(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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de 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($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
// (ex: 230A, 001B)
// 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($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['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 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['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car
@ -643,87 +643,87 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($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['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
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(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['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['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['Repr'], 80) . // Représentant
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]['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]['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['Repr'], 80) . // Représentant
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]['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]['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['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['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
'';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// 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
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
// 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
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($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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
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($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($refLigneClient, 18) . // REF CLI
'';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
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));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
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' ) {
$tabCollecte=$iInsee->getProColPart($annonce['siren']);
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++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
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);
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) {
$iDbCrm=new WDB('sugarcrm');
@ -780,7 +780,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
"id_c='".$tabAdherent['idPrestationBdd']."'");
}
/** Conversion du fichier si nécessaire en CSV
/** Conversion du fichier si nécessaire en CSV
**/
if ($tabAdherent['formatEnvois']=='csv') {
$ligneOut='';
@ -792,40 +792,40 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
case 1: // Ligne ignorée
// Ecriture de l'entête
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$dateEve='Date évènement';
$txtEven='Evènement(s)';
$dateEve='Date évènement';
$txtAnn ='Texte Annonce';
$ligne001++;
break;
case 100: // Structure Bodacc
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$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
$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
$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
$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
$dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment
$dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc...
if ($dateEve1>0)
@ -835,7 +835,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else
$dateEve='';
$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) {
case 'I': $cor='Insertion'.$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;
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);
$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
$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
$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) {
@ -873,21 +873,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
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";
$ligne999++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL);
}
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) {
case 'zip':
$zip = new ZipArchive;
@ -934,7 +934,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2';
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$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) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else {
@ -959,14 +959,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt';
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
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
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 (!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
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;
}
@ -974,44 +974,44 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/** Sauvegarde des fichiers dans clients **/
$repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']);
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))
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'))
// 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))
echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL;
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 (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL;
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
$repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']);
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))
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'))
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))
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
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 (!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
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
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement
* 2. Pouvoir faire du multiligne avec : 106 Libellé du Périmètre de la vente
* 5. JugesCommissaires à intégrer correctement
*/
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
@ -22,15 +22,15 @@ $ignoreDateDerExec=$retroActivite=false;
$codeAdherent='';
$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 :
-d Clients en Diffusion Bodacc (par défaut)
-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 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
-r:XX Faire une rétroactivté de XX jours
-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...)
-c:AAA Limiter le traitement au fichier de l'abonné AAA
-r:XX Faire une rétroactivté de XX jours
";
$argv=$_SERVER['argv'];
@ -79,9 +79,9 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
$str='';
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
switch ($typeLigne) {
case '102': // Activité déclarée au Bodacc
case '102': // Activité déclarée au Bodacc
case '103': // Texte rectificatif
case '104': // Annonce Bodacc Complète
case '104': // Annonce Bodacc Complète
case '105': // Structure dirigeants
$tabLigne=str_split($chaine, $lonLigne);
foreach ($tabLigne as $i=>$ligne) {
@ -90,7 +90,7 @@ function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLi
}
break;
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;
}
return $str;
@ -159,15 +159,15 @@ function getListeAdherents($prestation, $codeAdherent='') {
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')));
$tabAdherents=getListeAdherents($typePrestaton, $codeAdherent);
//print_r($tabAdherents);die();
$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();
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';
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";
elseif (strpos($tabAdherent['optionSupport'], 'os=unix')) $optionEOL="\n";
else $optionEOL=EOL;
@ -206,38 +206,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$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;
}
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;
}
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;
} 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;
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// Bloc a décommenter
/* Il faudra vérifier si on génère le stocke et depuis quand sinon on prond le dernier Bodacc */
}// 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');
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);
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // 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;
/**
** On génère les lignes de détail
** On génère les lignes de détail
**/
$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',";
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
if (strpos($tabAdherent['optionPrestation'], 'creations')) // Export des créations
$strRubrique.="'creations',";
if (strpos($tabAdherent['optionPrestation'], 'mmd')) // Export des 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
$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;
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;
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;
if (strpos($tabAdherent['optionPrestation'], '105')) // Structure Dirigeants BODACC
$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';
$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) .') ';
// 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 (!$retroActivite)
$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) ) ";
}
}
// ... 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)
if (!$retroActivite)
$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') {
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';
// Credit safe
@ -345,7 +345,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($typePrestaton=='surveillanceBodacc') {
$tabSiren=$iDb->select('surveillances_listes', 'siren, ref', "idClient='$clientIdentifiant' AND dateSuppr='0000-00-00'", true, MYSQL_ASSOC);
$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';
$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' ";
@ -354,14 +354,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/*dateAjout dateConf dateSuppr rs cp ville indTrt dateDerEnvoi
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
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
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;
$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 : Début de génération du fichier client en version $versionEvenClient...".EOL;
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';
$tables='bodacc_detail d';
@ -372,20 +372,20 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$where.=')';
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);
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;
//while(=$iDb->fetch(MYSQL_ASSOC)) {
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
/** Marquer les liens REF/SIREN envoyées à chaque client
** Gérer les versions de tables even pour les clients
/** Marquer les liens REF/SIREN envoyées à chaque client
** 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);
@ -393,7 +393,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
//$siren=$record['siren'];***/
//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;
$numInter=0;
@ -473,38 +473,38 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
elseif ($even<7000) $even2=6700;
else $even2=1999;
$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
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['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(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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de 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($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
// (ex: 230A, 001B)
// 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($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['nomCommercial'], 100) . // Nom commercial de l'entreprise
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
initstr($annonce['enseigne'], 100) . // Enseigne de l'établissement
initstr($annonce['nationalite'], 30) . // Nationalité si Personne physique
//initstr(MInsee::getFJInsee($annonce['siren']), 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['CapitalDev'], 3) . // Devise du capital (format ISO)
// Adresse / 150 car
@ -514,87 +514,87 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
initstr($annonce['adrLibVoie'], 50) .
initstr($annonce['adrComp1'], 50) .
initstr($annonce['adrComp2'], 40) .
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['codePostal'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
initstr($annonce['villeSiege'], 45) . // Ville de l'établissement
// Adresse du siège / 150 car
initstr($annonce['adrNumSiege'], 4, '0', ALIGN_RIGHT) . //
initstr($annonce['adrIndRepSiege'], 1) . //
initstr($annonce['adrTypVoieSiege'], 5) .
initstr($annonce['adrLibVoieSiege'], 50) .
initstr($annonce['adrComp1Siege'], 50) .
initstr($annonce['adrComp2Siege'], 40) .
initstr($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT) . // Code Postal 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($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['dateCessationPaiement']), 8) . // Date de cessation des paiements
initstr(WDate::dateT('Y-m-d','Ymd',$annonce['dateJugement']), 8) . // Date du jugement
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(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['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['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[0]['Nom'], 80) . // Raison sociale
initstr($inter[0]['Repr'], 80) . // Représentant
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[0]['Repr'], 80) . // Représentant
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]['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]['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]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
initstr($inter[1]['Nom'], 80) . // Raison sociale
initstr($inter[1]['Repr'], 80) . // Représentant
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
initstr($inter[1]['Repr'], 80) . // Représentant
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]['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]['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['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['dateFinObservation']), 8) . // Date de fin de la période d'observation
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // 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['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
'';
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
$nbLignes++;
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
// 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
initstr($annonce['siren'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
// 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
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($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(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($annonce['typeAnnonce'], 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
// 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(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['corrNumParution'], 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parution dans l'année de annonce corri(ex: 230A, 001B)
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($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($refLigneClient, 18) . // REF CLI
'';
if ($tabOptOutput[101]==true && $annonce['commentaires']<>'') // Commentaires
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));
if ($annonce['corrTexteRectificatif']<>'') // Texte rectificatif
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=$annoncetxt[0][0];
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++;
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
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(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($clientIdentifiant, 36) . // Identifiant Client
initstr($typePrestaton, 32) . // Type de prestation
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);
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) {
$iDbCrm=new WDB('sugarcrm');
@ -640,7 +640,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
"id_c='".$tabAdherent['idPrestationBdd']."'");
}
/** Conversion du fichier si nécessaire en CSV
/** Conversion du fichier si nécessaire en CSV
**/
if ($tabAdherent['formatEnvois']=='csv') {
$ligneOut='';
@ -652,40 +652,40 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
case 1: // Ligne ignorée
// Ecriture de l'entête
$siren ='Siren';
$nic ='Nic';
$ref ='Référence';
$ref ='Référence';
$numPar ='Parution';
$bodacc ='Bodacc';
$datePar='Date parution';
$numAnn ='Numéro Annonce';
$numAnn ='Numéro Annonce';
$cor ='Type Annonce';
$libTri ='Tribunal';
$numRC ='Numéro RCS';
$numRC ='Numéro RCS';
$raisonS='Raison sociale';
$catEven='Chapitre';
$txtEven='Evènement(s)';
$dateEve='Date évènement';
$txtEven='Evènement(s)';
$dateEve='Date évènement';
$txtAnn ='Texte Annonce';
$ligne001++;
break;
case 100: // Structure Bodacc
$ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$dateEve;$txtAnn";
$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
$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
$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
$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
$dateEve1=substr($ligne, 1144, 8 ); // Date de jugezment
$dateEve2=substr($ligne, 1161, 8 ); // Date d'effet, etc...
if ($dateEve1>0)
@ -695,7 +695,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
else
$dateEve='';
$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) {
case 'I': $cor='Insertion'.$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;
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);
$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
$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
$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) {
@ -733,21 +733,21 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ligne104++;
$txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce
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";
$ligne999++;
$ecrireLignePre=true;
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL);
}
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) {
case 'zip':
$zip = new ZipArchive;
@ -794,7 +794,7 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction=$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2';
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
$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) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
} else {
@ -819,14 +819,14 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
$ficProduction= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt';
$ficProduction_csv= $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.csv';
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
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 (!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
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;
}
@ -834,44 +834,44 @@ foreach ($tabAdherents as $i=>$tabAdherent) // On boucle sur les prestations
/** Sauvegarde des fichiers dans clients **/
$repBakClient='/home/data/clients/'.strtolower($tabAdherent['nomClient']);
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))
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'))
// 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))
echo date ('Y/m/d - H:i:s')." - ERREUR : Copy du fichier $ficProduction dans Backup impossible !".EOL;
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 (!copy($repProduction.$ficProduction_csv, $repBakClient.'/'.$ficProduction_csv))
echo date ('Y/m/d - H:i:s')." - ERREUR : Historisation du fichier $ficProduction_csv impossible !".EOL;
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
$repFtpClient='/home/data/ftp/'.strtolower($tabAdherent['nomClient']);
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))
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'))
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))
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
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 (!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
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
<?php
/*
$tabSiret=array(19330142100015,
19331460600016,
39186692800016,
15400073100013,
39909992800018,
18330008600067
);*/
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);
@ -43,11 +35,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
$siretReprise=0;
$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 :
-r:SIRET Reprendre après ce siret
-v Verbosité maximum
-r:SIRET Reprendre après ce siret
-v Verbosité maximum
";
$argv=$_SERVER['argv'];
@ -82,125 +74,30 @@ echo date ('Y/m/d - H:i:s')." - Il y a $nbRows communes avec des adresses de dom
while($tabCom=$iDb->fetch(MYSQL_ASSOC))
$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);
$iCotation=new ICotation(array());
$iLiens=new MLiens(0);
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'];
}*/
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion des Etablissements.\n";
$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,
cj, capital, capitalDev, capitalSrc, ape_etab, ape_entrep, age_entrep, age_etab, tca, tcaexp,
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';
$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'];
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;
$fp=fopen('./veolia_'.date('Ymd').'.txt','w');
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);
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;
$tabTva=array();
@ -213,10 +110,10 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$nic=$entrep['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;
// Reprendre que à partir du siret...
// Reprendre que à partir du siret...
if ($siret*1<$siretReprise) 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)
$strOutput.=exporte('I', 1); // Source INSEE
else
$strOutput.=exporte('S', 1); // Source Scores & Décisions
$strOutput.=exporte('S', 1); // Source Scores & Décisions
if ($entrep['dirCiv']==0 || $entrep['dirCiv']=='') $civ='';
elseif ($entrep['dirCiv']*1==1) $civ='M';
@ -300,7 +197,7 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
}
if ($siren<>$sirenPre) {
// Lecture du numéro de TVA
// Lecture du numéro de TVA
$tvaValide=$entrep['tvaIntraValide'];
$tvaCle=$entrep['tvaIntraCle'];
if ($tvaCle===null) {
@ -309,7 +206,7 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} else
$tabTva=array();
// Recherche du siren de la maison mère
// Recherche du siren de la maison mère
if ($entrep['nbActio']>0) {
if (isset($tabSirenVisites[$siren*1])) {
$sirenMere=$tabSirenVisites[$siren];
@ -352,14 +249,14 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$strOutput.=exporte($effectifFr, 6);
$strOutput.=exporte($entrep['eff_etab'], 6);
if (@count($tabPostes)>1) {
if (@count($tabPostes)>10) {
$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['FK']*$uniteMultiple), 13);
$strOutput.=exporte(str_replace('NS','', @$tabPostes['HN']*$uniteMultiple), 13);
$iDb2->update('etablissements_act',
$iDb2->update('etablissements_actmp',
array_merge($tabTva, $tabNace,
array( 'bilType' =>'R',
'bilAnnee' =>@substr($tabBilan['dateExercice'],0,4),
@ -384,11 +281,11 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
} elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) {
$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('', 13); // CA Export
$strOutput.=exporte('', 13); // Résultat Net
$iDb2->update('etablissements_act',
$strOutput.=exporte('', 13); // Résultat Net
$iDb2->update('etablissements_actmp',
array_merge($tabTva, $tabNace,
array( 'bilType' =>'E',
'bilAnnee' =>$anneeEstime,
@ -398,11 +295,11 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
'bilFL' =>$caEstime)),
"siren=$siren AND nic=$nic") or die('Err2');
} 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);
$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);
@ -417,26 +314,39 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
}
}
$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;
$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;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$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);
$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');
$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];
$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();
?>
?>

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
<?php
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;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -52,19 +52,24 @@ $nbSirValides=$nbSirInvalides=0;
$nbNicValides=$nbNicInvalides=0;
$nbInsert=0;
$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.
$eff69=$dateDebut=$nafAMS=false;
$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 :
-1 Prestation 1 Mise à jour 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
-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
-1 Prestation 1 Mise à jour 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
-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
-p Purger la table addeco_out
-r=SIRET Reprendre au siret supérieur
-v Verbosité maximum
-r=SIRET Reprendre au siret supérieur
-v Verbosité maximum
-m Traitement AMS
-6 Traitement des 6 à 9 salariés
";
$presta2='';
$argv=$_SERVER['argv'];
if ($_SERVER['argc']>1)
@ -74,8 +79,10 @@ if ($_SERVER['argc']>1)
switch (strtolower(substr($argv[$i],1,1))) {
case '1': $presta=1; break;
case '2': $presta=2; break;
case 'a': $presta=3.1; break;
case 'b': $presta=3.2; break;
case '6': $eff69=true; $presta2='_69'; 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 'p': $purge=true; 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) {
/* Chargement du fichier Entrant adecco */
$nomFichier=$tabFichier[0];
$fp=fopen($nomFichier, 'r');
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;
die();
}
@ -105,14 +119,14 @@ if (count($tabFichier)==1) {
$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);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$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')
die('Première ligne du flux Adecco innatendue !'.EOL);
die('Première ligne du flux Adecco innatendue !'.EOL);
$dateInsert=date('YmdHis');
$nbLignesLues=1;
while (!feof($fp))
@ -154,11 +168,11 @@ if (count($tabFichier)==1) {
$a['siret']=''.$tabEtab[1].''.$tabEtab[2];
if ($iDb3->insert('adecco_in', $a))
$nbInsert++;
else
elseif (mysql_errno()<>1062)
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) {
@ -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;
die();
}
///home/data/clients/adecco/
$fp=fopen('./adecco'.$presta."_$date.txt",'w');
// Ligne d'entête
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);
$nomFichier='/home/data/clients/adecco/adecco'.$presta.$presta2."_$date.txt";
$fp=fopen($nomFichier,'w');
// 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,'','','','','');
//die();
if ($purge) {
$iDb3->query('/*TRUNCATE TABLE adecco_out;*/');
//$iDb3->query('/*TRUNCATE TABLE adecco_out;*/');
}
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);
if ($eff69) $where="moinsDe10=1"; else $where='1';
$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*/',
'1', true, MYSQL_ASSOC, true);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
"$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;
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 :
- enregistrer chaque ligne fourni en bdd
- vérifier les fusions
- vérifier les fusions
*/
} elseif ($presta==3.1) {
$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);
$nbRows=count($tabSiret);
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 **/
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 **/
/*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",
"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 ('510','520') AND insTYPETAB IN(9,11,21,31)) AND
(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);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
insEVE IN ('510','520') AND insTYPETAB IN(9,11,21,31)) $strDateDeb $where10 $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 mysql_error().EOL;
if (mysql_errno()>0) die();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
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) {
/** 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",
"(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);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
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 mysql_error().EOL;
if (mysql_errno()>0) die();
fwrite($fp, "adSIREN|adNIC|sdActif|sdEvenDate|sdEven".EOL);
@ -228,7 +270,7 @@ if ($presta==1) {
case '400': $even.='suppression du doublon '; break;
case '410': $even.='cessation juridique de l\'entreprise '; break;
case '420':
case '425': $even.='cessation économique de l\'entreprise '; break;
case '425': $even.='cessation économique de l\'entreprise '; break;
case 'M0F':
case '430':
case '435': $even.='fermeture de l\'etablissement '; break;
@ -238,19 +280,35 @@ if ($presta==1) {
case '621':
case '650': $even.='cessation economique de l\'etablissement '; 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;
}
$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;
}
} elseif ($presta==3.3) {
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",
"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);
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows établissements Adecco en Presta $presta...".EOL;
"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 mysql_error().EOL;
if (mysql_errno()>0) die();
fwrite($fp, "adSIREN|adNIC|sdPctAct|sdSirenAct|sdNomAct".EOL);
@ -287,41 +345,88 @@ if ($presta==1) {
}
} else {
/** @todo
- Non présents dans le fichier source Adecco
- 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.
Les 2 NAF suivants sont à exclure
- Non présents dans le fichier source Adecco
- 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.
Les 2 NAF suivants sont à exclure
6820B = SCI/location de terrains
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();
$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)) {
$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;
$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') ." - 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",
"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);
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;
if (mysql_errno()>0) die();
//die();
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
if (!in_array($tabTmp['siret'], $tabSiret))
exporteAdecco($tabTmp['siret'],$tabTmp['REF'],$fp, $presta);
if (!in_array($tabTmp['siret'], $tabSiret)) {
//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;
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();
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;
$siren=substr($siret,0,9);
$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,
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,
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="
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,
@ -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);
$tmp=$ret[0];
$actif=$tmp['sdActif']*1;
$even="Etablissement déménagé $nbDem fois ";
$even="Etablissement déménagé $nbDem fois ";
} else
break;
//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];
//$actif=$tmp['sdActif'];
$effet=$tmp['efetcent']*1;
$effetTR=$tmp['tefet']*1;
//(insEFENCENT>5 || insTEFET>2)
$tmp2=@$ret2[0];
$afficherNotice=false;
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 410: $even.='cessation juridique de l\'entreprise '; $infoFusion=true; break;
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 435: $even.='fermeture de l\'etablissement '; break;
// case 510:
@ -473,7 +583,7 @@ insEAEAPEN AS EAEAPEN, insEAESEC1N AS EAESEC1N, insEAESEC2N AS EAESEC2N, insEAES
$ANNONCEFUSDATE=$depot['DateParution'];
$ANNONCEFUS++;
$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)) {
foreach ($matches[1] as $FUSIONPROJET_SIREN) {
$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
/*$ret=$iDb2->select('jo.etablissements', 'dirNom,dirPrenom', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC);

View File

@ -2,7 +2,7 @@
<?php
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;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -37,7 +37,7 @@ $iInsee=new MInsee();
$iBilan=new MBilans(0);
$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();
$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'];
}*/
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');
$tabSiren=array();
@ -54,31 +54,31 @@ $fpEn=fopen('/root/sql/pointp/ppEntrep20110214.txt','w');
$fpEt=fopen('/root/sql/pointp/ppEtabs20110214.txt','w');
// 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
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
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|
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
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|
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|
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
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|
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|
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
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|||||||||
200022374|20091007|1|Syndicat intercommunal à vocation unique (SIVU)|0||4211Z||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|||||||||
491649737|20090629|1|Artisan |0||4332A||0|0|||||||||||0|0|||||||||
504369604|20090722|1|Artisan |0||4332B||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|||||||||
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,
@ -134,7 +134,7 @@ $iLimitNb=100000;*/
/*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);
//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();
//$numRow=0;
@ -174,12 +174,12 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
$siret=$siren.$nic;
//print_r($entrep);
//die($siret);
/*Dénomination (ligne 1) pour control|
RCS|date de création entreprise|Nombre établissements|Libellé catégorie juridique|
/*Dénomination (ligne 1) pour control|
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
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
*/
$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(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($iInsee->getLibelleFJ($entrep['cj']));
$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(str_replace('|',' ',$entrep['enseigne']));
$strOutput.=exporte(str_replace('|',' ',$entrep['sigle']));
if ($entrep['siege']*1==1) $strOutput.=exporte('Établissement siège');
else $strOutput.=exporte('Établissement secondaire');
if ($entrep['siege']*1==1) $strOutput.=exporte('Établissement siège');
else $strOutput.=exporte('Établissement secondaire');
$strOutput.=exporte($entrep['ape_etab']);
$strOutput.=exporte($iInsee->getLibelleNaf($entrep['ape_etab']));
$strOutput.=exporte($entrep['eff_etab']*1);
@ -265,7 +265,7 @@ dirCiv, dirNom, dirPrenom, dirFct, nbEtab, bilType, bilAnnee, bilCA, bilCAexp, b
if ($numRow%10000==0) {
$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();
}
@ -280,24 +280,24 @@ function getTca($montantCA) {
$montantCA=$montantCA*1;
if ($montantCA>=200000000) // 9 : 200 millions d'euros ou plus)
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;
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;
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;
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;
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;
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;
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;
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;
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';
$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');
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
@ -491,20 +491,20 @@ while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$strOutput.=exporte($entrep['EFF_ET'], 6);
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['r3']), 13);
$strOutput.=exporte(str_replace('NS','', $tabRatios['r10']), 13);
//die(print_r($tabRatios));
} elseif ($naf5<>'' && $naf5<>'0000Z' && $effectifFr>0) {
$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('', 13); // CA Export
$strOutput.=exporte('', 13); // Résultat Net
$strOutput.=exporte('', 13); // Résultat Net
} else{
//$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);

View File

@ -56,11 +56,13 @@ $tabFichier=array();
$nbSirValides=$nbSirInvalides=0;
$nbNicValides=$nbNicInvalides=0;
$nbInsert=0;
$modeDebug=false;
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Kompass.
Options :
-s @todo Prévoir le chargement du stock
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
-4 Prestation 4 Mise à disposition de la base Liens
@ -74,6 +76,7 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (strtolower(substr($argv[$i],1,1))) {
case 'v': $modeDebug=true; break;
case '1': $presta=1; break;
case '3': $presta=3; break;
case '4': $presta=4; break;
@ -91,9 +94,11 @@ if ($presta<>1 && $presta<>3 && $presta<>4 && $presta<>5) {
if (count($tabFichier)<>1)
echo date('Y/m/d - H:i:s') ." - Prestation '$presta' inconnue !".EOL;
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
if ($presta==1) {
@ -113,62 +118,88 @@ if ($presta==3) {
/** @todo prendre les fichiers jugements (1er lundi du mois) **/
define('DIR_KOMPASS_IN','/home/data/clients/kompass international/');
$fichierIn=false;
$ligneOut=$ligne100tot=0;
$dh = opendir(DIR_KOMPASS_IN);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.txt' &&
substr($filename, 0,45)=='surveillanceBodacc_SURBODPRDFTSKOMPASS_'.date('Ym'))
$fichierIn = $filename;
}
$ligne100=$ligneOut=0;
$tabLignes=file(DIR_KOMPASS_IN.$fichierIn);
foreach ($tabLignes as $i=>$ligne) {
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
$siren=$ref=$typeJuge=$dateJuge='';
switch ($typeLigne) {
case 100: // Structure Bodacc
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
$ligne100++;
$siren = substr($ligne, 13, 9 ); // Siren de l'entreprise concernée par l'annonce
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$datePar= substr($ligne, 31, 8 ); // Date de parution du Bodacc Format AAAAMMJJ
$dateJuge=substr($ligne, 1144, 8 ); // Date du jugement
if ($dateJuge<=19900101)
$dateJuge=substr($ligne, 1161, 8 ); // Date d'effet (Ventes/MMD/Créations)
$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
foreach ($even as $codeEven) {
$codeEven=$codeEven*1;
if ($codeEven>1199 && $codeEven<1300) $typeJuge='RJ';
elseif ($codeEven>1099 && $codeEven<1200) $typeJuge='SV';
elseif ($codeEven>1299 && $codeEven<1400) $typeJuge='LJ';
elseif ($codeEven==1408 || $codeEven==1415) $typeJuge='CE';
elseif ($codeEven==1409 || $codeEven==1413 || $codeEven==1414) $typeJuge='CO';
elseif ($codeEven==1412 || $codeEven==1425) $typeJuge='CP';
elseif ($codeEven==1411) $typeJuge='CT';
substr($filename, 0,39)=='surveillanceBodacc_SURBODPRDFTSKOMPASS_'/*.date('Ym')*/) {
$fichierIn = $filename;
$tabLignes=file(DIR_KOMPASS_IN.$fichierIn);
$ligne100=0;
foreach ($tabLignes as $i=>$ligne) {
$ecrireLignePre=false;
$typeLigne=substr($ligne, 0, 3)*1;
$siren=$ref=$typeJuge=$dateJuge='';
switch ($typeLigne) {
case 100: // Structure Bodacc
/*Identité du vendeur Rubrique Siren acheteur Raison Sociale Adresse du fonds */
$ligne100++;
$siren = substr($ligne, 13, 9 ); // Siren de l'entreprise concernée par l'annonce
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$datePar= substr($ligne, 31, 8 ); // Date de parution du Bodacc Format AAAAMMJJ
$dateJuge=substr($ligne, 1144, 8 ); // Date du jugement
if ($dateJuge<=19900101)
$dateJuge=substr($ligne, 1161, 8 ); // Date d'effet (Ventes/MMD/Créations)
$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
foreach ($even as $codeEven) {
$codeEven=$codeEven*1;
if ((($codeEven>1199 && $codeEven<1300) ||
$codeEven==1418) && $codeEven<>1203 && $codeEven<>1207) $typeJuge='RJ'; // Redressement judiciaire
elseif (($codeEven>1099 && $codeEven<1110) || $codeEven==1419) $typeJuge='SV'; // Sauvegarde
elseif (($codeEven>1299 && $codeEven<1400) || $codeEven==1417) $typeJuge='LJ'; // Liquidation judiciaire
elseif ($codeEven==1408 || $codeEven==1415) $typeJuge='CE'; // Plan de cession
elseif ($codeEven==1409 || $codeEven==1413 || $codeEven==1414) $typeJuge='CO'; // Plan de continuation
elseif ($codeEven==1412 || $codeEven==1425) $typeJuge='CP'; // Plan de cession partielle
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<>'') {
//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;
} // Fin du fichier
$ligne100tot+=$ligne100;
echo date('Y/m/d - H:i:s') ." - Traitement du fichier $fichierIn : $ligne100 annonces...".EOL;
move(DIR_KOMPASS_IN.$fichierIn,DIR_KOMPASS_IN.$fichierIn.'.done');
}
}
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
@ -251,13 +282,36 @@ if ($presta==4) {
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) {
$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;
$nbSir=0;
while($tabTmp=$iDb->fetch(MYSQL_ASSOC)) {
$nbSir++;
$siren=$tabTmp['siren'];
$ref=trim($tabTmp['ref']);
$tabId=@$iInsee->getIdentiteLight($siren);
@ -277,13 +331,14 @@ if ($presta==5) {
$dateFraicheur=$p['DATE_FRAICHE_BILAN'];
$unite=@strtoupper($p['MONNAIE_LIV_UNITE']);
if ($unite=='') $unite='U';
$conso='N';
if ($p['CONSOLIDE']=='C') $conso='C';
elseif ($p['CONSOLIDE']=='S') $p=$mBil->bilanSimplifie2Normal($p);
$uniteMultiple=1;
elseif ($p['CONSOLIDE']=='S') $p=@$mBil->bilanSimplifie2Normal($p);
$uniteMultiple=1;/*
switch (strtoupper($unite)) {
case 'K': $uniteMultiple=1000; break;
case 'M': $uniteMultiple=1000000; break;
}
}*/
$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']);
@ -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'];
$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'];
$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'];
@ -301,14 +356,14 @@ if ($presta==5) {
$r80=$dlt;
if ($r80<0) $r80=0;
$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;
$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'];
$bfrca=round(($bfr*360)/@$p['FL'],0);
$bfrca=@round(($bfr*360)/@$p['FL'],0);
$treso=$fdr-$bfr;
$end=round((@$p['EC']*100)/$cap,2);
$end=@round((@$p['EC']*100)/$cap,2);
if ($effectif==0) {
switch($tabId['EffEnTr']*1) {
@ -329,28 +384,32 @@ if ($presta==5) {
}
}
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
initstr($nic, 5, '0', ALIGN_RIGHT) .
initstr($ref, 7, '0', ALIGN_RIGHT) .
initstr($nom, 60) .
initstr($conso, 1) .
initstr($effectif, 7) .
initstr(substr($dateClot, 4,2).substr($dateClot, 0,4), 6, '0', ALIGN_RIGHT) . // BILAN_DATE Date de clôture du bilan Format AAAAMMJJ
initstr($duree, 2, '0', ALIGN_RIGHT) . // BILAN_DUREE Durée de l'exercice en mois
initstr($devise, 3) . // BILAN_MONNAIE Code devise de livraison selon la norme ISO 4217 (3 lettres)
initstr(@round($p['FL']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA
initstr(@round($ebe*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE
initstr(@round($p['HN']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN
initstr(@round($caf*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CAF
initstr(@round($inv*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Investissements
initstr(@round($liq*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Liquidités
initstr(sprintf("%+07.2f", $ren), 7) . // Rentabilite
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) .
/*$calc=($p['FL']*$uniteMultiple)/$uniteLiv;
echo "$siren le $dateClot en $unite $devise ($uniteMultiple, $uniteLiv): CA=$calc\t".$p['FL'].EOL;
*/
$ligne= initstr($siren, 9, '0', ALIGN_RIGHT) .
initstr($nic, 5, '0', ALIGN_RIGHT) .
initstr($ref, 7, '0', ALIGN_RIGHT) .
initstr($nom, 60) .
initstr($conso, 1) .
initstr($effectif, 7, ' ', 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($duree, 2, '0', ALIGN_RIGHT) . // BILAN_DUREE Durée de l'exercice en mois
initstr($devise, 3) . // BILAN_MONNAIE Code devise de livraison selon la norme ISO 4217 (3 lettres)
initstr(@round(($p['FL']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CA
initstr(@round(($ebe*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // EBE
initstr(@round(($p['HN']*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // HN
initstr(@round(($caf*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // CAF
initstr(@round(($inv*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Investissements
initstr(@round(($liq*$uniteMultiple)/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Liquidités
initstr(sprintf("%+07.2f", $ren), 7) . // Rentabilite
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['GV']*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Res. Fi
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($dlt*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes LT
initstr(@round($dct*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Dettes CT
initstr(sprintf("%+07.2f", $ind), 7) . // Ind. Finan.
initstr(' ', 3) .
initstr(sprintf("%+07.2f", $ind), 7) . // Ind. Finan.
initstr(' ', 3) .
initstr(@round($fdr*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // FR
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($treso*$uniteMultiple/$uniteLiv,0), 10, ' ', ALIGN_RIGHT) . // Trésorerie
initstr(sprintf("%+07.2f", $end), 7) . // Tx endettement
initstr(' ', 3) .
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(sprintf("%+07.2f", $end), 7) . // Tx endettement
initstr(' ', 3) .
initstr(str_replace('/','',WDate::dateT('Ymd','d/m/Y',$dateFraicheur)), 8);
//echo $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();
?>

View File

@ -5,7 +5,7 @@
**/
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;
elseif ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -38,15 +38,15 @@ $iDb=new WDB('jo');
$iInsee=new MInsee();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Kompass.
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION] [Stock Adecco à charger]
Traitement spécifique Kompass.
Options :
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
-4 Prestation 4 Mise à disposition de la base Liens
-5 Prestation 5 Mise à disposition de la base Ratios
-v Verbosité maximum
-1 Prestation 1 Mise à disposition du stock des Entrep Risques Fort
-3 Prestation 3 Transformation de la surveillance Bodacc en spécifique Kompass
-4 Prestation 4 Mise à disposition de la base Liens
-5 Prestation 5 Mise à disposition de la base Ratios
-v Verbosité maximum
";
$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>
Where <type of data> is :
id Fiche d'identité (source BIL, RNCS puis INSEE)
idi Fiche d'identité (source INSEE pure)
id Fiche d'identité (source BIL, RNCS puis INSEE)
idi Fiche d'identité (source INSEE pure)
pf Partenaires Financiers
ann Annonces Légales
ann Annonces Légales
dir Liste des dirigeants
lbil Bilans disponibles
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)
ch Score Conan & Holder (à 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)
ch Score Conan & Holder (à la date de cloture demandée ou dernier dispo)
sv1 SolvaBil 1
sv2 SolvaBil 2
sv3 SolvaBil 3
@ -31,8 +31,8 @@ Where <type of data> is :
Where <fileOutFmt> is : csv / SO2000
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.
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.
<?php
}
@ -41,7 +41,7 @@ include('automate.class.php');
include('includes/ICotation.inc');
$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) {
$bil->setDebug(true);
if ($bil->connect($argv[2], $argv[3]))
@ -76,12 +76,12 @@ if ($ligneDebutLecture>$nbLignes) {echoHeader();die('Erreur : Le fichier IN co
$bil->setRetour('csv');
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')
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) {
//die("Position = $key, NbLignes=$nbLignes, Lire à la ligne $ligneDebutLecture");
//die("Position = $key, NbLignes=$nbLignes, Lire à la ligne $ligneDebutLecture");
if ($key<$ligneDebutLecture)
continue;
if ($argv[3]=='csv'){
@ -99,7 +99,7 @@ if ($argv[3]=='csv'){
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');
$dateCloture=$derCloture[0]['RBDTCN'];
$dureCloture=$derCloture[0]['RDDURN'];
@ -110,18 +110,18 @@ if ($argv[3]=='csv'){
//$bil->connect('900000179', 'SOUPE');
$typeFiche='ci';
/*
hbilsoid Requête IDENTITE FORMAT SO2000
hbilsoid Requête IDENTITE FORMAT SO2000
hbilsoids
hbilsoidci Fiche identité Complete INSEE SO2000
hbilsoidc Fiche identité Complete SO2000
hbilsoidci Fiche identité Complete INSEE SO2000
hbilsoidc Fiche identité Complete SO2000
*/
$retour=$bil->getFicheIdentite($siren, $nic, $typeFiche, '', $ref, $fileOutFmt);
}
else
{
// $bil->connect('900000183', 'CONGE'); // SVB1 Spé Bouygues Tél
//$bil->connect('900000182', 'XXXX'); // CA-LEASING Séparateur Nom/Prénom + Filtre annonces
// $bil->connect('900000183', 'CONGE'); // SVB1 Spé Bouygues Tél
//$bil->connect('900000182', 'XXXX'); // CA-LEASING Séparateur Nom/Prénom + Filtre annonces
$bil->connect('900000114', 'CHANT');
if ($argv[1]=='id')
$retour=$bil->getFicheIdentite($siren, $nic, 'c', '', $ref, $fileOutFmt);
@ -201,7 +201,7 @@ if ($argv[3]=='csv'){
$noteFinanciere = $icotation->getNotationFin($noteTot/6);
$libNoteFinanciere = $icotation->getInfosNotation($noteFinanciere);
$suite = $noteFinanciere .';'. // Notation Financière
$suite = $noteFinanciere .';'. // Notation Financière
$noteMoy .';'; // Note Moyenne
for ($i=1; $i<7; $i++)
@ -218,10 +218,10 @@ if ($argv[3]=='csv'){
$tabIdentite['SONOM'] .';'. // Raison sociale
$tabIdentite['SOCP'] .';'. // Code Postal
$tabIdentite['SOCOM'] .';'. // Ville
$dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois
$dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois
$tabIdentite['SOAPET'] .';'. // NAF
$secteur .'-'. $libSecteur .';'. // Libellé du secteur d'activité
$secteur .'-'. $libSecteur .';'. // Libellé du secteur d'activité
$suite ."\n";
}
elseif ($argv[1]=='ch') {
@ -257,8 +257,8 @@ if ($argv[3]=='csv'){
if ($n>16.5) { $s=20; $situation="Excellente"; }
elseif ($n>16) { $s=19; $situation="Excellente"; }
elseif ($n>15) { $s=18; $situation="Très bonne"; }
elseif ($n>14) { $s=17; $situation="Très bonne"; }
elseif ($n>15) { $s=18; $situation="Très bonne"; }
elseif ($n>14) { $s=17; $situation="Très bonne"; }
elseif ($n>13) { $s=16; $situation="Bonne"; }
elseif ($n>12) { $s=15; $situation="Bonne"; }
elseif ($n>11) { $s=14; $situation="Bonne"; }
@ -292,8 +292,8 @@ if ($argv[3]=='csv'){
$tabIdentite['SONOM'] .';'. // Raison sociale
$tabIdentite['SOCP'] .';'. // Code Postal
$tabIdentite['SOCOM'] .';'. // Ville
$dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois
$dateCloture .';'. // Date de clôture du bilan
$dureCloture .';'. // Durée du bilan en mois
$tabIdentite['SOAPET'] .';'. // NAF
$suite ."\n";
}
@ -312,7 +312,7 @@ if ($argv[3]=='csv'){
//echo "Produits disponibles :<br/>";
//print_r($bil->getListeProduits('552144503'));
// echo "Fiche d'identité :<br/>";
// echo "Fiche d'identité :<br/>";
$fp=fopen('identites.csv', 'w');
foreach ($tab as $key=>$siren) {
$ret=$bil->getFicheIdentite($siren);
@ -406,49 +406,49 @@ function array2xml($array,$level=0){
$tabCJ=array(
'10'=>'Personne physique',
'11'=>'Artisan Commerçant',
'12'=>'Commerçant',
'11'=>'Artisan Commerçant',
'12'=>'Commerçant',
'13'=>'Artisan (civil)',
'14'=>'Officier public ou ministériel',
'15'=>'Profession libérale',
'14'=>'Officier public ou ministériel',
'15'=>'Profession libérale',
'16'=>'Exploitant agricole',
'17'=>'Agent commercial',
'18'=>'Associé-Gérant de société',
'18'=>'Associé-Gérant de société',
'19'=>'Personne Physique',
'21'=>'Indivision',
'22'=>'Sté créée de Fait',
'23'=>'Sté en Participation',
'22'=>'Sté créée de Fait',
'23'=>'Sté en Participation',
'27'=>'Paroisse hors zone concordataire',
'29'=>'Groupement droit privé,n/pers.morale',
'31'=>'P.M.droit étranger immatriculé RCS',
'32'=>'P.M.droit étranger n/immat.RCS',
'41'=>'Ets public-régie indus/commerciale',
'51'=>'Sté coopérative commerciale',
'52'=>'Sté en nom collectif',
'53'=>'Sté en commandite',
'29'=>'Groupement droit privé,n/pers.morale',
'31'=>'P.M.droit étranger immatriculé RCS',
'32'=>'P.M.droit étranger n/immat.RCS',
'41'=>'Ets public-régie indus/commerciale',
'51'=>'Sté coopérative commerciale',
'52'=>'Sté en nom collectif',
'53'=>'Sté en commandite',
'54'=>'S.A.R.L',
'55'=>'S.A à conseil d\'administration',
'56'=>'S.A à directoire',
'57'=>'SA par action simplifiée',
'61'=>'Caisse d\'Epargne & Prévoyance',
'55'=>'S.A à conseil d\'administration',
'56'=>'S.A à directoire',
'57'=>'SA par action simplifiée',
'61'=>'Caisse d\'Epargne & Prévoyance',
'62'=>'G.I.E',
'63'=>'Sté coopérative agricole',
'64'=>'Sté n/commerciale d\'assurance',
'65'=>'Société Civile',
'69'=>'Autres PM de droit privé inscrites au R',
'63'=>'Sté coopérative agricole',
'64'=>'Sté n/commerciale d\'assurance',
'65'=>'Société Civile',
'69'=>'Autres PM de droit privé inscrites au R',
'71'=>'Administration d\'Etat',
'72'=>'Collectivité Territoriale',
'72'=>'Collectivité Territoriale',
'73'=>'Ets Public Administratif',
'74'=>'P.M. de droit public,administration',
'81'=>'Organisme de protection sociale',
'82'=>'Organisme mutualiste',
'83'=>'Comité d\'Entreprise',
'83'=>'Comité d\'Entreprise',
'84'=>'Organisme Professionnel',
'85'=>'Org.de retraite adh. n/obligatoire',
'91'=>'Syndicat de Propriétaires',
'92'=>'Association 1901 ou Assimilé',
'91'=>'Syndicat de Propriétaires',
'92'=>'Association 1901 ou Assimilé',
'93'=>'Fondation',
'99'=>'P.M. de droit privé',
'99'=>'P.M. de droit privé',
);
$tabCJbilans=array('54','55','56','57');

View File

@ -38,24 +38,24 @@ $sep=',';
$eol=EOL;
$modeDebug=false;
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi
$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();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Gestion des échanges avec Fedaso.
Gestion des échanges avec Fedaso.
Options :
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*)
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*)
-v Mode verbose (ou debug)
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) 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
*/
for ($i=1; isset($argv[$i]); $i++) {
@ -99,7 +99,7 @@ if (!$modeDebug) {
die();
break;
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();
break;
}
@ -117,25 +117,25 @@ if (count($tabFichLigneCmd)==0) {
} else $tabFichierIn=$tabFichLigneCmd;
if ($initReferentiel) {
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;
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;
$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));
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);
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);
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);
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
FROM insee.BDF_Etabs b, insee.BDF_Guichets g
WHERE b.bdfFibCodeEtab = g.bdfFibCodeEtab
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);
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;
$res=$zip->open($repPdfInfogreffe."/tableReferentiel_$verFedasoRef.zip", ZipArchive::OVERWRITE);
if ($res === TRUE) {
@ -154,9 +154,9 @@ if ($initReferentiel) {
unlink($repPdfInfogreffe."/tableCodesFonctions_$verFedasoRef.csv");
unlink($repPdfInfogreffe."/tableCodesGuichets_$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 {
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);
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) {
if ($lastDepot)
@ -207,10 +207,10 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
// L'acte est un acte/document divers
if (preg_match('/\|/', $params)) {
$multiDepot=true;
// L'acte contient plusieurs dépôts
// L'acte contient plusieurs dépôts
$tabParams=explode('-', $params);
$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);
$tabDepots=array();
if (count($tabTmp2)>0) {
@ -226,7 +226,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
continue;
} else {
$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) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) {
@ -289,7 +289,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
}
}
} 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 {
$multiDepot=false;
@ -304,7 +304,7 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
}
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) {
$tabTmp2=$iDb2->select('fedaso', 'count(*) AS nb', "siren=$siren AND page='$pageAc' AND params='$params'", false, MYSQL_ASSOC);
if ($tabTmp2[0]['nb']>0) {
@ -410,22 +410,22 @@ if ($lastDepot || ($genereDepot && $nbEncours==0)) {
$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;
$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);
$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;
$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);
$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;
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();
for ($i=0; isset($tabFichierIn[$i]); $i++)
{
@ -434,7 +434,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$dateFichier=date('YmdHis', filectime($repCsvFedaso.$nomFichier));
$fp=fopen($repCsvFedaso.$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') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -446,7 +446,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$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;
@ -454,7 +454,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne=1;
rewind($fp);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$a = utf8_decode(fgets($fp, 2048));
while (!feof($fp))
@ -480,7 +480,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
elseif (substr($refDoc,2,1)=='-') $pageAc='greffe_actes';
$tabTmp=$iDb2->select('fedaso', 'siren', "page='$pageAc' AND params='$refDoc'", false, MYSQL_ASSOC);
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))
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 103: // Page blanche
case 104: // Fichier absent
case 105: // Page partiellement scannée
case 106: // Document complémentaire concernant une autre société
case 105: // Page partiellement scannée
case 106: // Document complémentaire concernant une autre société
case 107: // Page(s) manquante(s)
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;
break;
case 200: // Aucune information dirigeants
case 210: // Aucune information actionnaire
case 211: // Aucune information capitalistique
case 220: // Aucune information RIB
case 251: // Raison Sociale en double : entête 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;
case 251: // Raison Sociale en double : entête 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;
break;
case 201: // Code fonction inexistant
case 221: // Code guichet inconnu
case 250: // Raison Sociale absente
case 300: // Code pays absent du réferentiel
case 301: // Code devise absent du référentiel
case 300: // Code pays absent du réferentiel
case 301: // Code devise absent du référentiel
$ajoutMailRef=true;
break;
case 0:
@ -525,10 +525,10 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
die();
break;
}
// Récupération de la date du document
// Récupération de la date du document
$tmp=@explode('-', $refDoc);
$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));
$tabTypeActes[$refDoc][]=$typeActe;
@ -593,7 +593,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
if ($siren2<>0 && $iInsee->valideSiren($siren2))
$dir['dirSirenValide']=1;
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)));
@ -614,7 +614,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$dir['adresse_ville']= strtoupper( trim(substr($a, 922, 40)));
$dir['adresse_pays']= strtoupper( trim(substr($a, 962, 3)));
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_lib']= strtoupper( trim(substr($a, 969, 50)));
@ -637,7 +637,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
case 'A': // lien Actionnaires
case 'P': // lien Participations
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
$lien=array();
$pct=0;
@ -700,7 +700,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
if ($siren2<>0 && $iInsee->valideSiren($siren2))
$lien['siren2Valide']=1;
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;
$lien['civilite'] = strtoupper( trim(substr($a, 514, 3)));
@ -731,7 +731,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$actionPart2=2;
}
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);
elseif ($siren>0 && $siren2<1000)
$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=='') {
$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') {
// On force le lien $siren est détenu par $rs1
// On force le lien $siren est détenu par $rs1
$actionPart1=1;
$inversionActionnaire=true;
}
@ -830,7 +830,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
}
}
/** Contôle des informations **/
/** Contôle des informations **/
if ($table=='fedLiens') {
$refDoc=$lien['refDoc'];
$dateInfo=$lien['dateInfo'];
@ -843,11 +843,11 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
}
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;
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;
if ( ($refDocPre==$refDoc || $documentRecent) &&
(round($lien['capital'])<>round($entrep['Capital']) ||
@ -855,7 +855,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
/* if ($lien['deviseCapital']=='FRF' && $entrep['CapitalDev']=='EUR'
&& round($lien['capital']/6.55957)==round($entrep['Capital']) )
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;
echo $ligneDiff.EOL;
}
@ -868,7 +868,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$msgDiff[]=$ligneDiff;
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;
if (($refDocPre==$refDoc || $documentRecent) &&
(strtoupper($dir['raisonSociale'])<>strtoupper($entrep['Nom']))) {
@ -876,7 +876,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$tmoy= strlen($dir['raisonSociale'].$entrep['Nom']);
$lt=round($lev/$tmoy,2);
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;
echo $ligneDiff.EOL;
}
@ -886,36 +886,36 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne++;
$a = utf8_decode(fgets($fp, 2048));
// Variables de contrôles
// Variables de contrôles
$refDocPre=$refDoc;
$dateInfoPre=$dateInfo;
}
if (bzip2($repCsvFedaso.$nomFichier, FEDASO_BACKUP_DIR.$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) {
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) {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Chargement des flux quotidiens", "Récapitulatif du traitement :
- $nbLiensInsert liens ajoutés
- $nbDirInsert dirigeants ajoutés
- $nbRibInsert RIB ajoutés
Liste des contrôles :".EOL.implode(EOL, $msgDiff));
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "FEDASO : Chargement des flux quotidiens", "Récapitulatif du traitement :
- $nbLiensInsert liens ajoutés
- $nbDirInsert dirigeants ajoutés
- $nbRibInsert RIB ajoutés
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();
/** 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) {
// 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));
$tmp=explode('-', $refDoc);
$siren=$tmp[1];
@ -925,11 +925,11 @@ Liste des contrôles :".EOL.implode(EOL, $msgDiff));
foreach ($tabTypeData[$refDoc] as $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);
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'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.
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;
@ -942,7 +942,7 @@ Liste des contrôles :".EOL.implode(EOL, $msgDiff));
));
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'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.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
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;
} else {
//$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//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
$modeDebug=false;
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi
$genereDepot=false; // Génération du lot de traitement pour envoi vers FEDASO
$lastDepot=false; // Remettre à disposition le précédent envoi
$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();
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Gestion des échanges avec Fedaso.
Gestion des échanges avec Fedaso.
Options :
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*)
-d(:XXX) Mettre à disposition les $nbEnvois documents à traiter par Fedaso (forcer le nombre à XXX).
-l Remettre à disposition les documents du précédent envoi.
-t Forcer la mise à jour hebdomadaire des tables associées.
-c Charger les documents traités et retournés par Fedaso (*)
-m Ne pas envoyer de mails en prod (mode test)
-v Mode verbose (ou debug)
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) 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
*/
for ($i=1; isset($argv[$i]); $i++) {
@ -101,7 +101,7 @@ if (!$modeDebug) {
die();
break;
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();
break;
}
@ -118,266 +118,7 @@ if (count($tabFichLigneCmd)==0) {
sort($tabFichierIn);
} else $tabFichierIn=$tabFichLigneCmd;
/*
$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
// Lecture du dossier des dépots de bilans à demander en saisie
if ($genereDepot) {
$nbEncours=0;
$dh = opendir(BILANS_A_SAISIR_DIR);
@ -402,6 +143,8 @@ if ($genereDepot) {
$sizeKo=round($pdfSize/1024,1);
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,
'dateCloture' => $dateClot,
'duree' => $dureeClot,
@ -420,8 +163,41 @@ if ($genereDepot) {
} else {
$nbEncours++;
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;
$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) {
$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();
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));
$fp=fopen(FEDASO_BILANS_DONE_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') ." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -450,14 +226,14 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$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;
$ligne=1;
rewind($fp);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$a = utf8_decode(fgets($fp));
while (!feof($fp))
@ -466,7 +242,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$a=explode(',',$a);
$refDoc = trim($a[0]);
// On ignore la ligne d'entête
// On ignore la ligne d'entête
if ($refDoc<>'PdfId') {
$siren = trim($a[1])*1;
$nic = trim($a[2])*1;
@ -494,7 +270,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$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)) {
$tmp=explode('-', $refDoc);
$siren=$tmp[1];
@ -526,7 +302,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
'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='$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])) {
/* $bilanPre=$ret[0];
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 (!$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
$messageLigne='';
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
echo $messageLigne;
$messageErrCtrl.=$messageLigne;
$msgBilan.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true;
$msgBilan.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=5;
}
// 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;
//print_r($tabBilans);
$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);
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL;
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL;
//print_r($tabInsert);
//print_r($tabPostes);
if ($typeBilan=='N') {
@ -621,12 +397,12 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
!$totalMin2 && // ... et max
!((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) {
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
$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;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true;
//die();
}
@ -642,7 +418,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
} else
print_r($tabInsert);
/** Mise à jour des informations de saisie **/
/** Mise à jour des informations de saisie **/
$nbPostes=count($tabPostes);
$tabUpdate=array( 'retNic' => $nic,
'retDateClot' => $dateExercice,
@ -662,7 +438,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
);
$iDb2->update('fedaso_bilans', $tabUpdate, "refDoc='$refDoc'");
/** Envoi du mail à l'utilisateur final **/
/** Envoi du mail à l'utilisateur final **/
$filename2=str_replace('.pdf','',$refDoc);
$tabTmp=explode('_', $filename2);
$siren = preg_replace('/^BS/','',$tabTmp[0])*1;
@ -674,23 +450,23 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$sirenAff=implode(' ', str_split($siren,3));
$rs=substr($tabIdentite['Nom'],0,30).'...';
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n";
// Durée de l'exercice
if ($dureeExercice*1>0) $strDuree=" (durée : $dureeExercice mois)";
// Durée de l'exercice
if ($dureeExercice*1>0) $strDuree=" (durée : $dureeExercice mois)";
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";
$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.="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.="NOS SERVICES ONT EFFECTUE LA SAISIE DU BILAN POUR CETTE ENTREPRISE\r\n";
if ($modeTest) $emailEnvoi='lenaoury@gmail.com';
@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
@$tabNbCodeRet['_'.$codeSai]++;
@ -698,33 +474,33 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
$ligne++;
$a = utf8_decode(fgets($fp));
// Variables de contrôles
// Variables de contrôles
$refDocPre=$refDoc;
$dateInfoPre=$dateInfo;
}
if (bzip2(FEDASO_BILANS_DONE_DIR.$nomFichier, FEDASO_BACKUP_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) {
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) {
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();
/** 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) {
// 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));
$tmp=explode('-', $refDoc);
$siren=$tmp[1];
@ -734,11 +510,11 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
foreach ($tabTypeData[$refDoc] as $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);
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'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.
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;
@ -751,7 +527,7 @@ if (count($tabFichierIn)>0 || count($tabFichLigneCmd)>0) {
));
if (!$iDb2->update('fedaso', array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes),
'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.
print_r(array_merge($tabTypeData2, array('typeActesLus'=>implode(';', $typeActes), 'dateRetour'=>$dateFichier)),true));
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;
} else {
//$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier Fedaso à traiter !".EOL;
//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.
Options :
-v Mode debug (Verbosité au maximum)
-d=20080430 Réappliquer les évènements depuis cette date
-f=20091230 Réappliquer les évènements jusqu'à cette date
-v Mode debug (Verbosité au maximum)
-d=20080430 Réappliquer les évènements depuis cette date
-f=20091230 Réappliquer les évènements jusqu'à cette date
-q Traiter le dernier flux Insee (Quotidien)
-h Traiter les flux historiques Insee
-l Traiter les conversions Lamberts
@ -31,7 +31,7 @@ Options :
//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);
//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)=='-') {
@ -53,12 +53,12 @@ Options :
$doQuotidien=$doHisto=$doLamberts=$doAltitudes=true;
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';
$ret=$iDb->select($db_table, 'MAX(idFlux) as idFlux', "1");
$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) {
$idFlux=$idFluxFin;
$idFlux3=(substr($idFlux,0,4)*1)-3;
@ -68,14 +68,14 @@ if ($doQuotidien) {
if (!$dateFin) $dateFin=strtr($idFluxFin, array('-'=>''));
$idFlux=WDate::dateT('Ymd', 'Y-m-d', $dateReprise);
$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;
$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);
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;
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;
//die(mysql_error().EOL);
$tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -99,20 +99,20 @@ if ($doQuotidien) {
$pct=round($nbEnCache/$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.=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) {
/** 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;
$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;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses à géocoder".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;
$tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) {
$nbLignes++;
@ -133,21 +133,21 @@ if ($doHisto) {
$pct=round($nbEnCache/$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.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage Histo ($idFlux3)", $message);
/** Fin à supprimer HISTO **/
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage Histo ($idFlux3)", $message);
/** Fin à supprimer HISTO **/
}
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;
$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);
echo date ('Y/m/d - H:i:s')." - Il y a $nbLoaded adresses sans altitude à mettre à jour...".EOL;
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;
$message='Le '.date('d/m/Y H:i:s')." : $nbLoaded adresses sans altitude".EOL;
$tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -156,7 +156,7 @@ if ($doAltitudes) {
else $pays=trim($adr['insL7_ETRG']);
$codeRivoli=$adr['insDEPCOM'].$adr['insCODEVOIE'];
$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 $imap->adresseValidee.' ('.$imap->geocodeur.')'.EOL;
@$tabGeocodeur[$imap->geocodeur][$imap->enCache]++;
@ -169,22 +169,22 @@ if ($doAltitudes) {
$pct=round($nbEnCache/$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.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage/altitude", $message);
/** Fin à supprimer ALTITUDE **/
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage/altitude", $message);
/** Fin à supprimer ALTITUDE **/
}
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);
$imap=new MMap(false);
$iDb2=new WDB('jo');
$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);
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;
$tabGeocodeur=array();
while($adr=$iDb->fetch(MYSQL_ASSOC)) {
@ -217,12 +217,12 @@ if ($doLamberts) {
$pct=round($nbEnCache/$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.=print_r($tabGeocodeur,true);
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage en Lambert 93", $message);
/** Fin à supprimer LAMBERT **/
sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', "Fin du traitement de géocodage en Lambert 93", $message);
/** Fin à supprimer LAMBERT **/
}
die();

View File

@ -7,10 +7,10 @@ include_once(FWK_PATH.'common/dates.php');
$modeDebug=false;
$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 :
-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
@ -21,7 +21,7 @@ $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 'v': $modeDebug=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
@ -31,7 +31,8 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$iDb=new WDB('sdv1');
$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>',
/* type char(3) latin1_swedish_ci Non Affiche les valeurs distinctes Modifier Supprimer Primaire Unique Index Texte entier
@ -65,17 +66,17 @@ $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>',
);
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);
foreach ($ret as $tAgrNum) {
$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++) {
$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;
@ -108,7 +109,7 @@ for($i=$iDeb;;$i++) {
$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;
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die();
}
}

View File

@ -1,12 +1,150 @@
#!/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(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
** 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
**/
include_once(FWK_PATH.'common/dates.php');
@ -26,8 +164,8 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des annonces JAL.
Options :
-d Mode debug (Verbosité au maximum)
-i:XXX Reprendre à la ligne XXX
-d Mode debug (Verbosité au maximum)
-i:XXX Reprendre à la ligne XXX
";
@ -53,11 +191,37 @@ function html2txt($html) {
//$page=getUrl('http://adls.journal-annonce-legale.fr/journal');
//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;
$urlBase='http://www.journal-annonce-legale.fr';
echo date ('Y/m/d - H:i:s') . " - Début de la récupération des annonces sur le site JAL...".EOL;
/*<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);
$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';
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;
foreach ($matches[1] as $i=>$urlSuite) {
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;
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]);
$even=html2txt($matches[5][$i]);
$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);
$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)) {
@ -128,7 +292,7 @@ if (preg_match_all('/<div class="th_1"><a href="(.*)"\s+target="_blank">(.*)<\/a
$siren=0;
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,
'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;
//die(print_r($tabInsert));
} 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;
} else {
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));
}
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();
/*
POST http://www.affiches-parisiennes.com/recherche.php
En-têtes requête:
En-têtes requête:
Host[www.affiches-parisiennes.com]
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]
Données POST:
Données POST:
rec_option[on]
recherche[]
cible[txt]
@ -276,13 +440,13 @@ SOCIETES
<table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="400">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003262</td>
Annonce n°K003262</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -296,18 +460,18 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<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">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">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>
<br>
<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="p1">Le siège de liquidation est fixé au siège social.</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>
</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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003220</td>
Annonce n°K003220</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</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="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
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>
<br>
<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="p1">Mention au RCS de Créteil.</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>
</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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003249</td>
Annonce n°K003249</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -396,15 +560,15 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<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">Siège social&nbsp;:</div>
<div class="pp">23, rue Delizy ­ 93500 PANTIN</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">23, rue Delizy ­ 93500 PANTIN</div>
<div class="p1">424 305 878 R.C.S. Bobigny</div>
</div>
<br>
<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>
@ -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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003320</td>
Annonce n°K003320</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -444,9 +608,9 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<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">Siège social&nbsp;:</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">45&nbsp;bis, route des Gardes
92190 MEUDON</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>
<br>
<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">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">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="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">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="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 class="sig">
@ -479,13 +643,13 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003162</td>
Annonce n°K003162</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -501,9 +665,9 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<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">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">92250 LA GARENNE-COLOMBES</div>
@ -511,7 +675,7 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
</div>
<br>
<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>
<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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003332</td>
Annonce n°K003332</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -555,15 +719,15 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<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">Siège social&nbsp;:</div>
<div class="pp">111, avenue Victor-Hugo ­ 75016 PARIS</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">111, avenue Victor-Hugo ­ 75016 PARIS</div>
<div class="p1">441 015 799 R.C.S. Paris</div>
</div>
<br>
<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>
</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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003233</td>
Annonce n°K003233</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</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="p1"><span class="gras">EURL</span> au capital de 500&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">13, rue Charles-Tellier ­ 75016 PARIS</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">13, rue Charles-Tellier ­ 75016 PARIS</div>
<div class="p1">501 159 909 R.C.S. Paris</div>
</div>
<br>
<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>
</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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003212</td>
Annonce n°K003212</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</tbody></table>
@ -650,16 +814,16 @@ Parue dans le journal Affiches Parisiennes n°17 du 11/02/2009.</td>
<div class="chap">
<div class="cp15">GOUSSET BENJAMIN SARL</div>
<div class="p1"><span class="gras">Société à responsabilité limitée
à capital variable</span></div>
<div class="p1"><span class="gras">Société à responsabilité limitée
à capital variable</span></div>
<div class="p1">Au capital de 7.500&nbsp;</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">21, rue Henry-Monnier ­ 75009 PARIS</div>
<div class="p1">Siège social&nbsp;:</div>
<div class="pp">21, rue Henry-Monnier ­ 75009 PARIS</div>
<div class="p1">450 500 533 R.C.S. Paris</div>
</div>
<br>
<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>
</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">
<tbody><tr>
<td align="left" bgcolor="#ffffff">
Annonce n°K003158</td>
Annonce n°K003158</td>
<td align="left" bgcolor="#ffffff" width="20">
<a href="#top"><img src="img/a_top.gif" alt="haut de page" border="0"></a></td>
</tr>
<tr>
<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>
</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="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>
<br>
<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>
</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";
$page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr');
$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);
@ -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)) {
$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("/^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 !");
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
else die("Libellé CFE '$libTri' inconnu !");
} else die('Erreur fatale');/*</b><br>
1 RUE JOSEPH BERNIER<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>
<a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a>
</font>*/
@ -810,8 +974,8 @@ foreach ($lstCom as $i=>$tabCom) {
$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;
$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='';
@ -823,7 +987,7 @@ foreach ($lstCom as $i=>$tabCom) {
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} 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);
$tabInsert=array('triType'=>$typeTri,
'triNom'=> $libTri,
@ -849,7 +1013,7 @@ foreach ($lstCom as $i=>$tabCom) {
if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
if (!$ret) {
echo ' Déjà en base.';
echo ' Déjà en base.';
}
else {
echo ' ===> INSERE !!!';

View File

@ -899,7 +899,8 @@ SOCIETE ABSORBEE PAR ABTEY CHOCOLATERIE SIREN 946351376 RTE NATIONALE 466 68990
elseif ($tribunal=='THONON') $tabAnnonce['tribunal']='THONOC';
elseif ($tribunal=='TC DE ANNECY') $tabAnnonce['tribunal']='ANNECC';
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 {
echo date ('Y/m/d - H:i:s')." - Tribunal Tessi inconnu '$tribunal' (Dept.=$dep, source=".$tabAnnonce['natureTribunal'].", siren=$siren) !".EOL;
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) {
$tabAnnBalo=array();
//Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//if ($tabAnnBalo['Societe_Nom']=='')
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>')));
//<p>RCS : <b>393430608 </b>
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>'));
// 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>'))));
// N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</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>'))));
// N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br />
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
// (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
// (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
/*<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="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;
$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:
-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
-l Dernière parution 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)
-l Dernière parution 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)
";
$argv=$_SERVER['argv'];
@ -117,12 +117,12 @@ 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 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') ." - 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;
flush();
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=='') {
$referer='';
@ -136,10 +136,10 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
}
if ($lastJO==true) { // Cas récup dernier JO
if ($lastJO==true) { // Cas récup dernier JO
$dateAff=$dateDerParution;
$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);
$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";
@ -149,7 +149,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$referer=$url;
$body=$page['body'];
$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');
//die(print_r($body));
@ -162,7 +162,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
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);
$AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'");
$nbAnnDb=$AnnDb[0][0];
@ -177,12 +177,12 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
continue;
} 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;
mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
/* mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
mail('lenaoury@gmail.com', 'JO BALO', $message);
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
die();
die();*/
}
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
@ -227,15 +227,32 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$isin='';
if ($siren>1000000) {
/** Recherche du code ISIN / infos boursières **/
/** Recherche du code ISIN / infos boursières **/
$iBourse=new MBourse($siren);
$isin=$iBourse->getCodeIsin($siren);
$strIsin="(Isin=$isin) ";
} else
$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/>';
$infoAnnBalo['Annonce_Html']=$page['body'];
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
@ -246,7 +263,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repBalo.$anneeParution);
$fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w');
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);
$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)) {
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'];
}
/** 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';
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);
$fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
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);
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
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');
if ($tabPdf) {
$taillePdf=$tabPdf['pdfSize']/1024;
@ -293,4 +310,4 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
echo date('Y/m/d - H:i:s') .' - FIN du script'. EOL;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO BALO', $message);
?>
?>

View File

@ -9,10 +9,10 @@ include_once(INCLUDE_PATH.'partenaires/classMGreffes.php');
include_once(FWK_PATH.'mail/sendMail.php');
$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 :
-v Verbosité au maximum
-v Verbosité au maximum
-s Dernier Statut PDF disponible
-b Dernier Bilan PDF disponible
";
@ -35,7 +35,7 @@ for ($i=1,$j=0; isset($argv[$i]); $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();
$iInsee=new MInsee();

View File

@ -4,18 +4,18 @@
global $ligneBilans;
$tabCtrlInter=array(
/** Bilans Réel Normal **/
/** Bilans Réel Normal **/
'S'=>array(
// Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
// Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
),
'N'=>array(
// Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
// Actif Simplifié
//'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
'DA'=>'Capital social',
'EE'=>'Total Passif',
'FL'=>'Chiffre d\'affaires',
'HN'=>'Résultat',
'HN'=>'Résultat',
),
);
@ -50,7 +50,7 @@ global $ligneBilans;
'_R2'=>'BR2,NR2,,',
'_R3'=>'BR3,NR3,,',
),
/** 2033 - Bilan Simplifié **/
/** 2033 - Bilan Simplifié **/
'S'=>array(
// 2033 : Actif (page 1)
'_010'=>'010,012,013,N00',
@ -94,7 +94,7 @@ global $ligneBilans;
'_195'=>' , ,195, ',
'_197'=>' , ,197, ',
'_199'=>' , ,199, ',
// 2033 : Compte de Résultat (page 2)
// 2033 : Compte de Résultat (page 2)
'_209'=>'209, , , ',
'_210'=>'210,N33, , ',
'_214'=>'214,N34, , ',
@ -173,7 +173,7 @@ global $ligneBilans;
'_682'=>'682, , , ',
'_684'=>'684, , , ',
),
/** 2050 - Bilan Réel Normal **/
/** 2050 - Bilan Réel Normal **/
'N'=>array(
// 2050 : ACTIF (page 1)
'_AA'=>'AA, ,AA2,AA3',
@ -368,13 +368,13 @@ global $ligneBilans;
'_UE'=>' ,UE,UF, ',
'_UG'=>' ,UG,UH, ',
'_UJ'=>' ,UJ,UK, ',
// 2050 : Créances et Dettes (page 8)
// 2050 : Créances et Dettes (page 8)
'_UL'=>'UL,UM ,UN , ',
'_UP'=>'UP,UR ,US , ',
'_UT'=>'UT,UV ,UW , ',
'_VA'=>'VA,VA1,VA2, ',
'_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, , , ',
'_UU'=>'UU,UU1,UU2, ',
'_UY'=>'UY,UY1,UY2, ',
@ -408,8 +408,8 @@ global $ligneBilans;
'_VJ'=>'VJ, , ,VL ',
'_VK'=>'VK, , , ',
// 2050 : Pages 9 et 10
// néant
// 2050 : Affectation du résultat et renseignements divers (page 11)
// néant
// 2050 : Affectation du résultat et renseignements divers (page 11)
'_ZE'=>'ZE, , , ',
'_YQ'=>'YQ,YQ1, , ',
'_YR'=>'YR,YR1, , ',
@ -429,9 +429,9 @@ global $ligneBilans;
'_YP'=>'YP,YP1, , ',
'_ZR'=>'ZR, , , ',
),
/** Bilans Consolidés **/
/** Bilans Consolidés **/
'C'=>array(
// Consolidé : ACTIF (page 1)
// Consolidé : ACTIF (page 1)
'_AA'=>'AA, ,AA2,AA3',
'_AB'=>'AB,AC,AC1,AC2',
'_AD'=>'AD,AE,AE1,AE2',
@ -441,7 +441,7 @@ global $ligneBilans;
'_AL'=>'AL,AM,AM1,AM2',
'_A1'=>'A1,A11,A12,A13', // Ecarts d'acqusition
'_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',
'_AP'=>'AP,AQ,AQ1,AQ2',
'_AR'=>'AR,AS,AS1,AS2',
@ -454,7 +454,7 @@ global $ligneBilans;
'_BD'=>'BD,BE,BE1,BE2',
'_BF'=>'BF,BG,BG1,BG2',
'_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',
'_BL'=>'BL,BM,BM1,BM2',
'_BN'=>'BN,BO,BO1,BO2',
@ -475,7 +475,7 @@ global $ligneBilans;
'_CO'=>'CO,1A,1A1,1A2',
'_CP'=>'CP, , , ',
'_CR'=>'CR, , , ',
// Consolidé : PASSIF (page 2)
// Consolidé : PASSIF (page 2)
'_DA'=>'DA,DA1, , ',
'_DB'=>'DB,DB1, , ',
'_EK'=>'EK, , , ',
@ -488,7 +488,7 @@ global $ligneBilans;
'_DG'=>'DG,DG1, , ',
'_DH'=>'DH,DH1, , ',
'_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, , ',//
'_DJ'=>'DJ,DJ1, , ',
'_DK'=>'DK,DK1, , ',
@ -498,10 +498,10 @@ global $ligneBilans;
'_P3'=>'P3,P31, , ', // Autres
'_DO'=>'DO,DO1, , ',
'_P4'=>'P4,P41, , ', // Ecarts de conversions
'_P5'=>'P5,P51, , ', // (Ecarts de conversions) dans les réserves
'_P6'=>'P6,P61, , ', // (Ecarts de conversions) dans les résultats
'_P5'=>'P5,P51, , ', // (Ecarts de conversions) dans les réserves
'_P6'=>'P6,P61, , ', // (Ecarts de conversions) dans les résultats
'_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
'_DP'=>'DP,DP1, , ',
'_DQ'=>'DQ,DQ1, , ',
@ -577,14 +577,14 @@ global $ligneBilans;
'_HI'=>'HI,HI1, , ',
'_HJ'=>'HJ,HJ1, , ',
'_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
'_R3'=>'R3,R31, , ', // Dotation aux amortissements des écarts d'acquisition
'_R4'=>'R4,R41, , ', // Résultat net des sociétés mises en équivalence
'_R5'=>'R5,R51, , ', // Résultat net des entreprises intégrées
'_R6'=>'R6,R61, , ', // Résultat Groupe (Résultat net consolidé)
'_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)
'_R3'=>'R3,R31, , ', // Dotation aux amortissements des écarts d'acquisition
'_R4'=>'R4,R41, , ', // Résultat net des sociétés mises en équivalence
'_R5'=>'R5,R51, , ', // Résultat net des entreprises intégrées
'_R6'=>'R6,R61, , ', // Résultat Groupe (Résultat net consolidé)
'_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)
/* '_HL'=>'HL,HL1, , ',
'_HM'=>'HM,HM1, , ',
'_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).
Options :
-d Mode debug (Verbosité au maximum)
-l:XXXX Reprendre à partir de la ligne XXXX
-r Ne pas exécuter en réel
-d Mode debug (Verbosité au maximum)
-l:XXXX Reprendre à partir de la ligne XXXX
-r Ne pas exécuter en réel
-j Ne pas se connecter au serveur FTP d'Extelia (Bilans INPI via Infogreffe)
-p Ne pas arreter le traitement en cas d'erreur
";/*
-f:AAAAMMJJ Forcer la dateFlux de ce chargement
-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
-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
-h Ne pas charger la notice dans la base des 'historiques'
";*/
$iDb=new WDB();
global $iInsee;
$iInsee=new MInsee();
$iRncs=new MRncs();
//$iWs=new WsEntreprise();
$nbSiretInvalides=0;
$modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
$modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
//$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
$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
$numReprise=0; // Par défaut, on démarre le traitement du fichier à la ligne 0 !
$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
$numReprise=0; // Par défaut, on démarre le traitement du fichier à la ligne 0 !
$affReprise=false;
$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
$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'];
@ -734,14 +733,14 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
}
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);
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);
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);
//print_r($contents);
//die();
@ -760,11 +759,11 @@ if ($ftpStep) {
if ($dateDist != -1) {
$tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
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 {
$tabFichiers[$server_fileName]['dateDispo']=NULL;
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]['cheminNom']=$server_file;
@ -786,24 +785,24 @@ if ($ftpStep) {
$tDur = round($tFin-$tDeb);
$tailleDistKo=round($tailleDist/1024,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;
$messageIni.=$messageLigne;
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;
$messageIni.=$messageLigne;
}
} 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)
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
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) {
@ -823,11 +822,11 @@ if (count($tabFichLigneCmd)==0) {
$tailleUnz=round(filesize(RNCS_IMR_FTP_LOCALDIR.$filename)/1024,1);
$tFin = microtime(true);
$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;
$messageIni.=$messageLigne;
} 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;
}
@ -838,61 +837,38 @@ if (count($tabFichier)==0)
$tabFichier=$tabFichLigneCmd;
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)
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();
*/
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement du flux Bilans INPI".EOL;
foreach ($tabFichier as $iFic=>$fichier)
{
$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
$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;
$fichierAvecRep=$fichier;
$fichier=basename($fichier);
$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);
if (@$tabTmp[0]['nbLignesTot']*1>0) {
$dateDeb=$tabTmp[0]['dateChargementDeb'];
$dateFin=$tabTmp[0]['dateChargementFin'];
$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;
}
/** 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);
$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;
$message.=$messageLigne;
@ -906,7 +882,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$a = fgets($fp, 4096);
$tailleLigne=strlen($a);
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;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com',
'ERREUR : Chargement INPI BILANS', $messageErr);
@ -917,7 +893,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$a = fgets($fp, 4096);
$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;
$message.=$messageLigne;
@ -932,15 +908,16 @@ foreach ($tabFichier as $iFic=>$fichier)
$codeEnr = ''.trim( substr($a, 22, 1));
if (/*$numReprise>0 && */$nbLignes>=$numReprise) {
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;
// 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
$nic = trim( substr($a, 9, 5)); // NIC
$dateCloture= trim( substr($a, 14, 8)); // SSAAMMJJ
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));
$dateFichier= trim( substr($a, 10, 8)); // SSAAMMJJ
$nbBilansCtl= trim( substr($a, 18, 8)); // Nombre de bilans transmis
@ -955,27 +932,27 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbLignes1--;
$ff=true; // Fin de fichier
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;
$message.=$messageLigne;
} 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 {
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();
}
}
// 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) {
case '1': // Structure de début de Bilan
case '1': // Structure de début de Bilan
$nbLignes1++;
if (($sirenPre<>0 && $sirenPre<>$siren) ||
($dateCloturePre<>0 && $dateCloturePre<>$dateCloture) ||
($typeBilanPre<>0 && $typeBilanPre<>$typeBilan) ||
$ff) {
// Enregistrer le Bilan précédent si siren différent
// Enregistrer le Bilan précédent si siren différent
$nbBilans++;
$strPostes='';
foreach($tabPostes as $poste=>$valeur)
@ -984,7 +961,7 @@ foreach ($tabFichier as $iFic=>$fichier)
if ($dateClP==$dateCloturePre) $dateClP=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])) {
$bilanPre=$ret[0];
if ($bilanPre['dureeExercice']>0) $dureeP=$bilanPre['dureeExercice'];
@ -1004,15 +981,24 @@ foreach ($tabFichier as $iFic=>$fichier)
'unite'=>'U',
'partenaire'=>9,
'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);
if (isset($ret[0])) {
$codeCon=false;
$bilanPre=$ret[0];
if ($bilanPre['partenaire']==7 ||
$bilanPre['partenaire']==8 ||
$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++;
} else
$nbNotUpdate++;
@ -1022,6 +1008,7 @@ foreach ($tabFichier as $iFic=>$fichier)
* - Sous-totaux
* - Total Bilan
**/
$codeCon=0;
if ($typeBilan=='N' || $typeBilan=='S') {
$anoBilan=false;
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 (!$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
$messageLigne='';
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
$messageLigne.="$strEcho (saisi ".@$tabPostes[$strCtrl].' <> '.$total." calculé)".EOL;
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;
}
// else echo "ok\t(".@$tabPostes[$strCtrl].'='.$total.')'.EOL;
@ -1075,14 +1063,127 @@ foreach ($tabFichier as $iFic=>$fichier)
//echo 'Liste des Bilans en base :'.EOL;
//print_r($tabBilans);
$tabBilan=@$mBil->getBilan(WDate::dateT('Ymd','d/m/Y',$dateClP), $typeBilan);
/*
echo "Bilan précédent datant du '$dateClP' :".EOL;
//print_r($tabBilan);
echo "Bilan à ajouter datant du '$dateCloturePre' :".EOL;
//print_r($tabInsert);
//print_r($tabPostes);
*/
if ($typeBilan=='N') {
$tabId=$iRncs->getInfosEntrep($sirenPre);
$cj=$tabId['cj'];
$capital=$tabId['capital'];
$capDev=$tabId['capitalDev'];
$capTyp=$tabId['capitalType'];
$numGre=$tabId['numGreffe'];
$dateIm=WDate::dateT('Y-m-d','Ymd',$tabId['dateImma']);
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) {
$total=@$tabBilan[$ctrl]*1;
if ($total==0) continue;
@ -1104,29 +1205,37 @@ foreach ($tabFichier as $iFic=>$fichier)
if (isset($tabBilan[$ctrl]) && // Il y a un poste
!$totalMin1 && // Des seuils min
!$totalMin2 && // ... et max
!((@$tabPostes[$ctrl]*1)>=$totalMin1 && (@$tabPostes[$ctrl]*1)<=$totalMax1)) {
!((@$tabPostesCtrl[$ctrl]*1)>=$totalMin1 && (@$tabPostesCtrl[$ctrl]*1)<=$totalMax1)) {
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
$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;
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
$messageErrCtrl.=$messageLigne; //if ($tabPostes[$strCtrl]<>$total) echo "\tdifférents";
if ($codeSai=='00') $anoBilan=true;
}
}
}
$ret=$iDb->insert('bilans', $tabInsert);
$ret=$iDb->insert('bilans', $tabInsert, false);
$nbInsert++;
}
} else
print_r($tabInsert);
} else {
print_r($tabInsert);
if (strlen($strPostes)>0) die($codeSai.EOL);
}
// Comptage des retours par codes saisies
@$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,
'numRC' => substr($numGest,2), // char(10)
'numRC2' => $numGest,
@ -1138,55 +1247,58 @@ foreach ($tabFichier as $iFic=>$fichier)
'duree_exercice'=> $duree,
'saisie_date' => $dateEnv,
'saisie_code' => $codeSai,
'pages' => $strPagesPostes,
);
if (!$iDb->insert('greffes_bilans', $tabInsert)) {
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=''")) {
echo "Impossible de mettre à jour la table 'greffes_bilans' pour les éléments suivants :".EOL;
if ($codeCon) $tabInsert['ctrl_code']=$codeCon;
if (!$iDb->insert('greffes_bilans', $tabInsert, false)) {
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);
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 ($ffDebug) die("Fin provisoire car $ffDebugStr à vérifier !");
//if ($ffDebug) die("Fin provisoire car $ffDebugStr à vérifier !");
//print_r($tabPostes);
$tabPostes=array();
//print_r($tabInsert);
} elseif ($sirenPre<>0 && $dateCloturePre<>0 && $typeBilanPre<>0) {
$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;
$message.=$messageLigne;
}
$numLot =trim( substr($a, 23, 4)); // numéro de lot
$numGre =trim( substr($a, 27, 4)); // numéro de 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
$numDepP=trim( substr($a, 47, 1)); // premier chiffre du numéro de dépôt
$codeAct=trim( substr($a, 48, 4)); // code activité ?
$numLot =trim( substr($a, 23, 4)); // numéro de lot
$numGre =trim( substr($a, 27, 4)); // numéro de 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
$numDepP=trim( substr($a, 47, 1)); // premier chiffre du numéro de dépôt
$codeAct=trim( substr($a, 48, 4)); // code activité ?
$dateClP=trim( substr($a, 52, 8)); // date de cloture N-1 SSAAMMJJ
$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
$dateEnv=trim( substr($a, 64, 8)); // date d'envoi du bilan SSAAMMJJ
$codeSai=trim( substr($a, 72, 2)); // code motif de non saisie
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, $siren-$nic, $dateCloture ($codeEnr) - Retour n°$codeSai : ".$tabLibCodeSaisie['_'.$codeSai].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;
}
$typeBil=trim( substr($a, 74, 1)); // type de bilan
switch (strtoupper($typeBil)) {
case 'C': $typeBilan='N'; $typeComptes='sociaux'; break; // Complet
case 'S': $typeBilan='S'; $typeComptes='sociaux'; break; // Simplifié
case 'K': $typeBilan='C'; $typeComptes='consolides'; break; // Consolidé
case 'S': $typeBilan='S'; $typeComptes='sociaux'; break; // Simplifié
case 'K': $typeBilan='C'; $typeComptes='consolides'; break; // Consolidé
case 'B': $typeBilan='B'; $typeComptes=''; break; // Banque
case 'A': $typeBilan='A'; $typeComptes=''; break; // Assurance
break;
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;
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com',
'ERREUR : Chargement INPI BILANS', $messageErr);
@ -1194,41 +1306,44 @@ foreach ($tabFichier as $iFic=>$fichier)
break;
}
$codeDev=trim( substr($a, 75, 3)); // Devise EUR
$origDev=trim( substr($a, 78, 1)); // O:devise de dépôt, C=conversion
if ($origDev=='O') // devise de dépôt
$origDev=trim( substr($a, 78, 1)); // O:devise de dépôt, C=conversion
if ($origDev=='O') // devise de dépôt
$monnaieOri=strtoupper($codeDev);
elseif ($origDev=='C') // devise Convertie
$monnaieOri=''; // Rechercher la devise en fonction du mt capital ou pays origine
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
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;
case '2':
$nbLignes2++;
$raisonSociale = trim( substr($a, 23, 67)); // Raison Sociale de l'ENTREP
//$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;
case '3':
$nbLignes3++;
$adresse = trim( substr($a, 23, 67)); // Ligne d'adresse
//$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;
case '4':
$nbLignes4++;
$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 !
$pageBilan = trim( substr($a, 23, 2)); // N° de la page du bilan
@$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;
$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[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[3] =nbrBilExt2int(substr($a,72+$dec, 15),$a); // 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[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[3] =nbrBilExt2int(substr($a,72+$dec, 15),$a); // N° de la page du bilan
if ($montant[0]===false || $montant[0]===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;
if ($stopOnError) {
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
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.=$aPre;
$messageErr.=$a;
@ -1276,12 +1391,12 @@ foreach ($tabFichier as $iFic=>$fichier)
}
fclose($fp);
// 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;
// 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;
echo $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;
foreach ($tabNbCodeRet as $code=>$nb) {
$infoSaisie=$tabLibCodeSaisie[$code];
@ -1289,13 +1404,13 @@ foreach ($tabFichier as $iFic=>$fichier)
if ($codeSaisie=='00') $nbBilansOk=$nb;
elseif ($codeSaisie=='01') $nbBilansAnn=$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;
$message.=$messageLigne;
}
// 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;
// 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;
echo $messageLigne;
$message.=$messageLigne;
@ -1328,19 +1443,20 @@ foreach ($tabFichier as $iFic=>$fichier)
if (count($tabFichLigneCmd)==0) {
if (bzip2(RNCS_IMR_FTP_LOCALDIR.$fichier, RNCS_IMR_BACKUP_DIR.$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;
$iDb->insert('bilans_chargements', $tabInsert);
$iDb->insert('bilans_chargements', $tabInsert, false);
echo mysql_errno();
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',
'Chargement INPI BILANS',
$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);
}
}
@ -1348,4 +1464,4 @@ echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des flux RNCS
die();
?>
?>

View File

@ -9,16 +9,16 @@ include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
include_once(FWK_PATH.'mail/sendMail.php');
$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 :
-t Rechercher les bilans source Tessi (*)
-b Rechercher les bilans source Bodacc C (*)
-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
(*) 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;
$iReprise=0;
@ -41,7 +41,7 @@ for ($i=1; isset($argv[$i]); $i++) {
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();
$iDb2=new WDB();
@ -75,12 +75,12 @@ foreach ($tabQueries as $source=>$query) {
$strLastId='';
$lastPos=@file_get_contents(REP_TEMP.basename($argv[0]).'-'.$source.'.tmp');
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 {
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";
}
// Tous les mois, on repart à 0 !
// Tous les mois, on repart à 0 !
if (date('d')*1==1) $strLastId='';
$res=$iDb->query($query.$strLastId);
@ -88,7 +88,7 @@ foreach ($tabQueries as $source=>$query) {
$nbRows=mysql_num_rows($res);
$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
//continue;
@ -102,11 +102,11 @@ foreach ($tabQueries as $source=>$query) {
$siren=$bilan['siren'];
$dateExercice=$bilan['dateExercice'];
$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);
$tabDeja=@$ret[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;
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
$nbCache++;
@ -114,11 +114,11 @@ foreach ($tabQueries as $source=>$query) {
} elseif ($modeDebug)
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);
$tabDeja=@$ret[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;
$iDb2->update('bilans_deposes', array('dateRecupWeb'=>$tabDeja['dateProvPartenaire']), "siren=$siren AND dateExercice='$dateExercice'", false);
continue;
@ -174,8 +174,8 @@ foreach ($tabQueries as $source=>$query) {
//continue;
foreach ($tabInfo['millesimes'] as $millesime) {
/** On ne récupère que le dernier bilan
@todo Récupérer tous les bilans non encore en base
/** On ne récupère que le dernier bilan
@todo Récupérer tous les bilans non encore en base
**/
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))
$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))
$nbMois=$matches[1];
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
/** Contrôle de cohérence **/
/** Contrôle de cohérence **/
if (isset($tabPostes['FL']) && $chiffreAffaire<>$tabPostes['FL']
&& $source=='collecte') {
$ca1=$chiffreAffaire-1;
@ -339,7 +339,7 @@ foreach ($tabQueries as $source=>$query) {
if (!$modeDebug && date('Hi')*1>=1930) {
$nbTot=$nbAcces+$nbCache;
$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();
}
if ($modeDebug) randsleep(1,2);

View File

@ -16,20 +16,20 @@ $tabReg=array( 'Aquitaine',
'Centre',
'Champagne-Ardenne',
'Corse',
'Franche-Comté',
'Franche-Comté',
'Haute-Normandie',
'Île-de-France',
'Île-de-France',
'Languedoc-Roussillon',
'Limousin',
'Lorraine',
'Midi Pyrénées',
'Midi Pyrénées',
'Nord-Pas-de-Calais',
'Outre-Mer',
'Pays-de-la-Loire',
'Picardie',
'Poitou-Charentes',
'Provence-Alpes-Côte-d\'Azur',
'Rhône-Alpes',
'Provence-Alpes-Côte-d\'Azur',
'Rhône-Alpes',
'Etranger');
function getNextDate($dateCour, $nbJours=7) {
@ -45,7 +45,7 @@ flush();
function getInfosAnnonce($annonceHtml) {
$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['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';
@ -66,15 +66,15 @@ $iInsee=new MInsee();
$iBourse=new MBourse();
$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:
-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
-l Dernières parutions 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)
-l Dernières parutions 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)
";
$argv=$_SERVER['argv'];
@ -127,8 +127,8 @@ if ($lastJO) {
}
$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') ." - La durée maximum entre chaque requête est de $tempsMaxEntreRequetes secondes.". 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;
flush();
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));
$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)';
@ -189,11 +189,11 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
if (preg_match('/<div class="nb_resultats">(?:.*)\:(.*)<\/div>/Uim', $body, $matches))
$nbAnnonces=trim($matches[1]);
else
die('Erreur : Aucun résultat trouvé'.EOL);
die('Erreur : Aucun résultat trouvé'.EOL);
$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;
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();
}
@ -207,29 +207,29 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$c='...';
else {
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);
$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'];
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);
$dateCour=getNextDate($dateCour,1);
continue;
}
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;
/*
mail('ylenaour@scores-decisions.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
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']);
@ -279,7 +279,7 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) {
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);
$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']);
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;
// L'annonce est déjà en base !
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 !
continue;
} 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)
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();
/** 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';
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);
$fp=@fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
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);
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
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;

View File

@ -19,7 +19,7 @@ flush();
$repPdfJoMc='/home/data/jomc';
$urlBaseJoMC='http://www.gouv.mc';
$urlBaseJoMC='http://cloud.gouv.mc';
$tabSrub=array( '(Appel À Candidature)'=> array('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
/**
** 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
** 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
**/
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";
$page=getUrl($url, '', '', $referer, false, 'annuaire-cfe.insee.fr');
$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);
$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)) {
$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("/^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 !");
elseif (preg_match("/^Centre des impôts/i", $libTri)) $typeTri='Z';// CDI
else die("Libellé CFE '$libTri' inconnu !");
} else die('Erreur fatale');/*</b><br>
1 RUE JOSEPH BERNIER<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>
<a href="http://WWW.AIN.CCI.FR" target="_new">WWW.AIN.CCI.FR</a>
</font>*/
@ -82,8 +82,8 @@ foreach ($lstCom as $i=>$tabCom) {
$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;
$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='';
@ -95,7 +95,7 @@ foreach ($lstCom as $i=>$tabCom) {
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} 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);
$tabInsert=array('triType'=>$typeTri,
'triNom'=> $libTri,
@ -121,7 +121,7 @@ foreach ($lstCom as $i=>$tabCom) {
if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$tabCom['codeInsee'],'triId'=>$id));
if (!$ret) {
echo ' Déjà en base.';
echo ' Déjà en base.';
}
else {
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/');
$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 :
-j Ne pas charger les jugements INPI S&D en Amont
-c Ne pas charger les défaillances CSF
-d Mode debug (Verbosité au maximum)
-c Ne pas charger les défaillances CSF
-d Mode debug (Verbosité au maximum)
-i Ne pas poser de questions interactives.
-t Charger en test (implique -j -d)
@ -36,13 +36,13 @@ Options :
$iRncs=new MRncs();
$iGreffe=new MGreffes();
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
$modeDebug=false; // Mode débug
$questions=true; // Questions interactives autorisées
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=$nbSiretRetraitement=0;
$modeDebug=false; // Mode débug
$questions=true; // Questions interactives autorisées
$loadInpiLocal=true; // Charger d'abord les derniers jugements INPI IMR locaux
$loadCSF=true; // Charger les jugements Greffes via CSF
$tabFichier=$tabFichLigneCmd=array();
$message=''; // Initialisation du mail d'exécution du traitement
$message=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv'];
@ -79,18 +79,18 @@ Options :
$nbInsert=$ret['insert'];
$nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja;
$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;
$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;
$ret=$iGreffe->getListeCessions('lj');
$nbInsert=$ret['insert'];
$nbDeja=$ret['update'];
$nbTot=$nbInsert+$nbDeja;
$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;
$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;
$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);
$dateMaj=$tabTmp[0]['lastInsert'];
//$dateMaj='2009-07-01 01:00:00';
@ -118,10 +118,10 @@ Options :
$tabInsert['adresse'] = $tabTmp['Adresse'];
$tabInsert['codePostal'] = $tabTmp['CP'];
$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,
/*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];
if (isset($tabEnbase['id'])) {
$dateJugementEnBase=$tabEnbase['dateJugement'];
@ -135,15 +135,15 @@ Options :
}
}
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();
for ($iMand=1;$iMand<6;$iMand++)
if (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 ($iMand=1; $iMand<6 && isset($tabMandEnBase[$iMand]);$iMand++)
if (in_array($tabInsert['inter'.$iInsert.'type'], $tabMandEnBase)) {
@ -177,10 +177,10 @@ Options :
$tabInsert['inter'.$iInsert.'nom']=$tabMandSav[$typeMand]['nom'];
$iInsert++;
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.
print_r($tabEnbase, true).EOL.
"Informations à mettre à jour :".EOL.
"Informations à mettre à jour :".EOL.
print_r($tabInsert, true).EOL);
//die("Trop d'intervenants".EOL);
}
@ -195,18 +195,33 @@ print_r($tabInsert, true).EOL);
// On met toujours la date INPI en base !
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);
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 {
$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 {
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'))))) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
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));
}
} 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 {*/
$nbAnnInsertJ++;
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;
} else
$message.=" $nbAnnInsertJ ajouts et $nbAnnUpdateJ mises à jours sur $nbAnnonces annonces et $nbSiretRetraitement annonces à retraiter !\r\n\r\n".EOL;
} else
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 (!$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;
$tabCodeEven=array( 'LJ' => 1305, // Liquidation Judiciaire
@ -239,48 +254,48 @@ print_r($tabInsert, true).EOL);
'PDS' => 1100, // Procedure De Sauvegarde
'PS' => 1101, // Plan De Sauvegarde
'RJ' => 1200, // Redressement Judiciaire
'RJS' => 1200, // Redressement Judiciaire Simplifié ?
'RJS' => 1200, // Redressement Judiciaire Simplifié ?
'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
'CSR' => 1201, // Conversion de la sauvegarde en RJ
'DOP' => 1215, // Désignation des organes de procédure
'EC' => 1203, // Dépôt de l'état de collocation
'DOP' => 1215, // Désignation des organes de procédure
'EC' => 1203, // Dépôt de l'état de collocation
'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
'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
'EXPDS' => 1419, // Extension de la procédure de sauvegarde
'EXRJ' => 1418, // Extension de la procédure de redresseent judiciaire
'EXPDS' => 1419, // Extension de la procédure de sauvegarde
'EXRJ' => 1418, // Extension de la procédure de redresseent judiciaire
'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
'JIG' => 1601, // Interdiction de gérer
'JIG' => 1601, // Interdiction de gérer
'LB' => 1603, // Liquidation de biens
'PC' => 1411, // Plan de cession
'PCL' => 1411, // Plan de cession avec location-gérance
'PCM' => 1408, // Jugement lié au plan de cession
'PCL' => 1411, // Plan de cession avec location-gérance
'PCM' => 1408, // Jugement lié au plan de cession
'PCP' => 1412, // Plan de cession partielle
'PCR' => 1413, // Plan de continuation/Redressement
'PCRM' => 1409, // Jugement lié au plan de continuation/redressement
'PR' => 1407, // Jugement lié au projet de répartition
'PSM' => 1407, // Jugement lié au plan de sauvegarde
'RGJ' => 1209, // Règlement judiciaire
'PCRM' => 1409, // Jugement lié au plan de continuation/redressement
'PR' => 1407, // Jugement lié au projet de répartition
'PSM' => 1407, // Jugement lié au plan de sauvegarde
'RGJ' => 1209, // Règlement judiciaire
'STOP_LJ'=>1544, // Rétractation de jugement de liquidation judiciaire
'STOP_PCL'=>1506, // Rétractation de jugement => Infirmation Jugement
'STOP_RJ'=>1543, // Rétractation de jugement de redressement judiciaire
'STOP_LJ'=>1544, // Rétractation de jugement de liquidation judiciaire
'STOP_PCL'=>1506, // Rétractation de jugement => Infirmation Jugement
'STOP_RJ'=>1543, // Rétractation de jugement de redressement judiciaire
'CRE' => 1210, // Jugement lié aux créances => Production de titres et créances
'AMP' => 1525, // Appel du ministère public => Appel de jugement
'CRE' => 1210, // Jugement lié aux créances => Production de titres et créances
'AMP' => 1525, // Appel du ministère public => Appel de jugement
'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
'PA' => 1430, // Jugement autorisant la poursuite d'activité
'PUB' => 1700, // Décision soumise à publicité
'SEP' => 1435, // Suspension de l'éxecution provisoire
'PA' => 1430, // Jugement autorisant la poursuite d'activité
'PUB' => 1700, // Décision soumise à publicité
'SEP' => 1435, // Suspension de l'éxecution provisoire
'SP' => 1436, // Suspension provisoire des poursuites
);
/*
@ -304,7 +319,7 @@ print_r($tabInsert, true).EOL);
$fp=fopen(CSF_FTP_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')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -316,28 +331,28 @@ print_r($tabInsert, true).EOL);
$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;
$ligne=1;
rewind($fp);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$a = trim(fgets($fp, 2048));
$tab=explode("\t", $a);
$erreur='';
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[ 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[ 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[ 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[ 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[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[ 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[ 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[ 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[ 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[ 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[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';
//Ref_client date_fraicheur RCS Raison_sociale adresse1 adresse2 adresse3 CCJ_CSFR
//CCJ_date Tribunal mandataire Ref_csfr
@ -355,7 +370,7 @@ print_r($tabInsert, true).EOL);
$a = trim(fgets($fp, 1024));
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;
$tab=explode("\t", $a);
@ -363,7 +378,7 @@ print_r($tabInsert, true).EOL);
$tabAnn=array();
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];
@ -385,7 +400,7 @@ print_r($tabInsert, true).EOL);
$tabAnn['ville'] = trim(substr($cpVille,5));
$dep=substr($cpVille,0,2)*1;
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);
//echo '?';
//$line = trim(fgets(STDIN));
@ -458,7 +473,7 @@ print_r($tabInsert, true).EOL);
elseif ($source=='P' && $dep>0 && $dep<977) {
$tabIdentite=@$iInsee->getIdentiteEntreprise($tabAnn['siren'],0,0,false,false);
$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)
if ($trib['triType']=='C' && $trib['triStatut']=='Actif') {
$tabAnn['tribunal']=$trib['triCode'];
@ -489,9 +504,9 @@ print_r($tabInsert, true).EOL);
else {
echo date ('Y/m/d - H:i:s')." - Ligne $ligne/$nbLignes : Tribunal CSF inconnu '$tribunal' (Dept.=$dep, source=$source) !".EOL;
$tabAnn['tribunal']=$tribunal.'*';
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;
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);
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;
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 ($dateJugeKbis>date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y')))) {
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;
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 {
// Provisoirement, on ignore l'annonce car déjà en procol
// Provisoirement, on ignore l'annonce car déjà en procol
/** @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;
}
} else {
$tabAnn['source'] = $source.'C';
$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})';
$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
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;
} 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 !
*/
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
Jugement kbis du ".$tabAnn['dateJugement'].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);
}//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('.'=>'/','-'=>'/')));
$dateJugeMin=date('Ymd', mktime(0, 0, 0,
@ -593,8 +608,30 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
echo "Date de jugement RETENUE : ".$tabAnn['dateJugement'].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("/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('.'=>'/','-'=>'/'))));
@ -609,10 +646,10 @@ Ordonnance de Monsieur le Président de la Chambre des Procédures Collectives d
}
$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'=>'',':'=>'',','=>''));
$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(':'=>''));
} elseif (preg_match('/JUGE.{1,5}COMMISSAIRE(.*)$/Uis', $texte, $matches)) {
$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='';
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]));
}
/*
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
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 ,
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 ,
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 NOEL,
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,
Juge Commissaire Mme Lefebvre H. ,
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 ,
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 .
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 ,
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 .
*/
//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) {
echo date ('Y/m/d - H:i:s') ." - A l'insertion sur $table :".EOL;
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));
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']);
if ($tabAnn['typeEven']<>$even) {
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) {
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']);
}
if (strlen($comp)==0 && @$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) {
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 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;
$sortie=false;
if ($questions) {
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) {
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();
}
$iDb->update($table,$tabAnn,'id='.$tabAnnEnBase['id']);
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);
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));
else die("ERREUR SQL 2".EOL);
}
/*echo mysql_error().EOL."En base:".EOL;
print_r($tabAnnEnBase);
echo mysql_error().EOL."A mettre à jour :".EOL;
echo mysql_error().EOL."A mettre à jour :".EOL;
print_r($tabAnn);
echo "?";
$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;
}
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') {
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);
}
if (bzip2(CSF_FTP_DIR.$nomFichier, CSF_BACKUP_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;
$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;
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.=" $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 {
$message.="Aucun fichier CSF à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier CSF à traiter !".EOL;
$message.="Aucun fichier CSF à traiter !\r\n";
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);

View File

@ -23,19 +23,19 @@ $dateDeb=getPrevDate(date('Ymd'), rand(2,10));
$dateF=getPrevDate(date('Ymd'));
$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:
-d:JJ/MM/AAAA Date de début 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)
-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)
-h Récupération de l'historique complet
-c=DEV Récupération limité à la devise passée en paramètre
-d:JJ/MM/AAAA Date de début 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)
-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)
-h Récupération de l'historique complet
-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();
$argv=$_SERVER['argv'];
@ -82,10 +82,10 @@ else {
$iDb=new WDb('sdv1');
$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) {
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;
$url= 'http://fxtop.com/fr/showpays.php3';
$referer= '';
@ -99,20 +99,20 @@ if($pays || date('d')*1==1) {
$tabLigne=explode('</TD><TD>', $strTmp);
if ($i==0) {
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;
} 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')
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')
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')
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')
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')
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 {
$libPays=trim(strip_tags($tabLigne[0]));
@ -132,7 +132,7 @@ if($pays || date('d')*1==1) {
fwrite($fp, $page['body']);
fclose($fp);
$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,
@ -144,22 +144,22 @@ if($pays || date('d')*1==1) {
if (!$iDb2->insert('tabPays', $tabInsert)) {
if (!$iDb2->update('tabPays', $tabUpdate, "codPays='$codPays'", true)) {
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
$maj++;
} 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++;
}
}
}
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;
$tabDevisesSite=array();
$url= 'http://fxtop.com/fr/historates.php3';
@ -172,7 +172,7 @@ foreach ($tabTmp as $i=>$strTmp) {
$tabLigne=explode('">', $strTmp);
if ($i==0) {
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;
} else {
$devise =trim($tabLigne[0]);
@ -184,17 +184,17 @@ foreach ($tabTmp as $i=>$strTmp) {
if (!$iDb->update('devise_liste', $tabUpdate, "devIso='$devise'", true)) {
if (!$iDb->insert('devise_liste', $tabUpdate)) {
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 {
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++;
}
} 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 ) {
//$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))
$tabDevises[]=array(0=>$currency);
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';
$DD1=WDate::dateT('Ymd','d', $dateDeb);
@ -225,9 +225,9 @@ $YYYY2=WDate::dateT('Ymd','Y', $dateF);
foreach ($tabDevises as $tabDevise) {
$devise=$tabDevise[0];
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
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";
$referer= 'http://fxtop.com/fr/historates.php3';
randsleep($tmin, $tmax);
@ -240,11 +240,11 @@ foreach ($tabDevises as $tabDevise) {
foreach ($tabTmp as $i=>$strTmp) {
$tabLigne=explode('</TD><TD>', $strTmp);
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')
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')
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 {
$date=$tabLigne[0];
if ($i==1) $dateMax=$date;
@ -258,7 +258,7 @@ foreach ($tabDevises as $tabDevise) {
);
if (!$iDb->insert('devise_cours', $tabInsert))
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;

View File

@ -13,7 +13,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement du/des fichier dirigeant en provenance de CSF.
Options :
-d Mode debug (Verbosité au maximum)
-d Mode debug (Verbosité au maximum)
";
$iDb=new WDB('jo');
@ -40,54 +40,54 @@ Options :
} 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;
$tabFctCSF=array(
'f0100'=>'Administrateur',
'f0101'=>'Administrateur délégué',
'f0101'=>'Administrateur délégué',
'f0108'=>'Administrateur provisoire',
'f0209'=>'Associé-gérant',
'f0400'=>'Co-gérant',
'f0603'=>'Contrôleur de gestion',
'f0709'=>'Directeur général',
'f0704'=>'Directeur général délégué',
'f0713'=>'Directeur général non administrateur',
'f0708'=>'Directeur général unique',
'f0900'=>'Gérant',
'f0209'=>'Associé-gérant',
'f0400'=>'Co-gérant',
'f0603'=>'Contrôleur de gestion',
'f0709'=>'Directeur général',
'f0704'=>'Directeur général délégué',
'f0713'=>'Directeur général non administrateur',
'f0708'=>'Directeur général unique',
'f0900'=>'Gérant',
'f1650'=>'Gouverneur',
'f1900'=>'Liquidateur',
'f1300'=>'Président',
'f1301'=>'Président Directeur Général',
'f1306'=>'Président du conseil d\'administration',
'f1307'=>'Président du conseil de surveillance',
'f1308'=>'Président du directoire',
'f1401'=>'Représentant en France d\'une société étrangère',
'f1300'=>'Président',
'f1301'=>'Président Directeur Général',
'f1306'=>'Président du conseil d\'administration',
'f1307'=>'Président du conseil de surveillance',
'f1308'=>'Président du directoire',
'f1401'=>'Représentant en France d\'une société étrangère',
'f1651'=>'Sous-gouverneur',
'f1800'=>'Vice-président',
'f1800'=>'Vice-président',
);
/*
200 Gérant
300 Co-gérant
1200 Associé-gérant
200 Gérant
300 Co-gérant
1200 Associé-gérant
600 Administrateur
100 Président
100 Président
4100 Liquidateur
110 Président du conseil d'administration
400 Directeur général
120 Président Directeur Général
900 Président du conseil de surveillance
500 Vice-président
430 Directeur général délégué
4400 Représentant en France d'une société étrangère
1300 Contrôleur de gestion
700 Président du directoire
410 Directeur général non administrateur
110 Président du conseil d'administration
400 Directeur général
120 Président Directeur Général
900 Président du conseil de surveillance
500 Vice-président
430 Directeur général délégué
4400 Représentant en France d'une société étrangère
1300 Contrôleur de gestion
700 Président du directoire
410 Directeur général non administrateur
4300 Administrateur provisoire
420 Directeur général unique
600 Administrateur délégué
420 Directeur général unique
600 Administrateur délégué
150 Sous-gouverneur
Gouverneur
*/
@ -107,7 +107,7 @@ Options :
$fp=fopen($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')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -119,25 +119,25 @@ Options :
$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;
$nbLignes=0;
rewind($fp);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$a = trim(fgets($fp, 1024));
$tab=explode("\t", $a);
$erreur='';
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[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE 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[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[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[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[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE 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[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[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 ($erreur<>'') {
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".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'");
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');
// $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))
{
@ -233,15 +233,15 @@ Options :
//$line = trim(fgets(STDIN));
}
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'");
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'");
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;

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],'()-.',' ')))));
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],'()-.',' ')))));
//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]));
$mail=trim($matches[4][$j]);
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);
die();
$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/
$lev=@levenshtein ($urlapprox,$url);
@ -211,7 +211,7 @@ die();
$host=preg_replace('/\/$/','',$info['host']);
$ext=getFileExtension($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') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) {
@ -236,7 +236,7 @@ die();
[0] => Array
(
[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/
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68
[DisplayUrl] => www3.scores-decisions.com
@ -257,8 +257,8 @@ die();
)
[1] => Array
(
[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
[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
[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
[DisplayUrl] => www3.scores-decisions.com/societe.php
@ -1926,7 +1926,7 @@ foreach ($tabSiren as $i=>$siren) {
'Nom' =>$dir['Nom'],
'Prenom'=>$dir['Prenom']);
break;
default: // Autres commissaires aux comptes suppléeants
default: // Autres commissaires aux comptes suppléeants
$cac2[$dir['DateFct']]=array( 'RS' =>$dir['Societe'],
'Nom' =>$dir['Nom'],
'Prenom'=>$dir['Prenom']);
@ -1981,11 +1981,11 @@ foreach ($tabRet as $i=>$tabSiren) {
$str= $id."\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($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['FJ'], 4 , '0', ALIGN_RIGHT) ."\t". // Obligatoire CJ Catégorie Juridique de l'entreprise
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
$a['Nom']."\t".
$a['NomCommercial']."\t".
$a['Enseigne']."\t".
@ -2128,16 +2128,16 @@ $ferie["Armistice 39-45 "][5] = 8;
$ferie["Toussaint"][11] = 1;
$ferie["Armistice 14-18"][11] = 11;
$ferie["Assomption"][8] = 15;
$ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25;
$ferie["Fête du travail "][5] = 1;
$ferie["Fête nationale"][7] = 14;
$ferie["Noël"][12] = 25;
if ($alsace)
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
$ferie["Lendemain de Noël (Alsace seulement)"][12] = 25;
// quelques fetes mobiles
$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['nom'] = "Lundi de Pâques";
$lundi_de_paques['nom'] = "Lundi de Pâques";
$ascencion['mois'] = date( "n", 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['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'];
@ -2169,20 +2169,20 @@ $reponse[$date[$mois]]=$nom;
ksort($reponse);
return $reponse;
}
function tab_jours_feriés($an) {
function tab_jours_feriés($an) {
return ferie(range(1,12),$an);
}
$année = date("Y");
$tabFeriers = tab_jours_feriés($année);
$année = date("Y");
$tabFeriers = tab_jours_feriés($année);
print_r($tabFeriers);
die();
echo "<br>";
while (list($mois, $tab) = each ($fériées)) {
while (list($mois, $tab) = each ($fériées)) {
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(
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"SociÉtÉ À responsabilitÉ limitÉe À capital variable" ,
"Societe anonyme cooperative a capital variable" ,
"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 responsabilit limit e" ,
"Societe civile de personnes" ,
@ -2230,14 +2230,14 @@ $tabFormesJuridiques=array(
"Societe d'exercice liberal par actions simplifiee - selas" ,
"Entreprise unipersonnelle a responsabilite limitee" ,
"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 anonyme a capital variable" ,
"Societe cooperative de production a responsabilite limitee a capital variable" ,
"Cooperative ouvriere de product. a resp. lim." ,
"SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" ,
"SociÉtÉ civile de moyens" ,
"Affaire personnelle commerÇant" ,
"SociÉtÉ civile professionnelle" ,
"Societe anonyme d'economie mixte locale" ,
"Sa a conseil d administration" ,
"Societe cooperative agricole a capital variable" ,
@ -2247,13 +2247,13 @@ $tabFormesJuridiques=array(
"Cooperative agricole" ,
"Soci t civile" ,
"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 travailleurs (anonyme)" ,
"Soci?t? ? responsabilit? limit?e" ,
"Cooperative ouvriere de production (anonyme)" ,
"Sa coop de production a cap variable" ,
"Sa À conseil d'administration" ,
"Sa À conseil d'administration" ,
"Societe d'interet collectif agricole" ,
"Societe civile agricole" ,
"Societe cooperative de production anonyme a capital variable" ,
@ -2264,15 +2264,15 @@ $tabFormesJuridiques=array(
"Societe par actions simplifiee a directoire et conseil de surveillance" ,
"Ste coop. prod. a resp. limitee a capital personnel et variable" ,
"Societe d'actions simplifiee a capital variable" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" ,
"SociÉtÉ anonyme coopÉrative d'intÉrÊt collectif pour l'accession À la propriÉtÉ" ,
"Groupement d'intÉrÊt Économique" ,
"Societe d'exercice liberal a responsabilite limitee unipersonnelle%" ,
"Societe cooperative de production" ,
"Societe cooperative ouvriere de production anonyme a capital variable" ,
"Sarl a capital variable" ,
"Societe anonyme d'economie mixte" ,
"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 cooperative de production (sarl)" ,
"Societe d exercice liberal par actions simplifiees" ,
@ -2289,31 +2289,31 @@ $tabFormesJuridiques=array(
"Societe civile cooperative de construction" ,
"Sarl de presse" ,
"Groupememt d interet economique commercial" ,
"Sa À directoire" ,
"Sa À directoire" ,
"Societe cooperative de production en a.r.l a capital variable" ,
"Societe cooperative interet collectif agricole s.a." ,
"Societe cooperative d'interet collectif anonyme" ,
"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." ,
"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 anonyme cooperative de production d hlm" ,
"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" ,
"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" ,
"Societe anonyme cooperative a capital et personnel variable" ,
"SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" ,
"SociÉtÉ coopÉrative de production À forme sarl." ,
"SociÉtÉ civile immobiliÈre de construction vente" ,
"Ano societe anonyme a directoire et conseil de surveillance" ,
"Societe par actions simplifiee" ,
"Societe cooperative ouvriere de production" ,
"Societe civile d exploitation agricole a responsabilite limitee" ,
"Exploitation agricole À responsabilitÉ limitÉe" ,
"Exploitation agricole À responsabilitÉ limitÉe" ,
"E.u.r.l." ,
"Societe d'economie mixte a conseil d'administration" ,
"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" ,
"Societe cooperative credit capital variable a.r.l." ,
"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É anonyme d'hlm" ,
"SociÉtÉ À responsabilitÉ limitÉe coopÉrative ouvriÈre de production et de crÉdit" ,
"SociÉtÉ anonyme d'hlm" ,
"Societe d interet collectif agricole" ,
"Societe cooperative d'artisan en arl a capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" ,
"SociÉtÉ d'exercice libÉral À forme anonyme" ,
"SociÉtÉ d'investissement À capital variable" ,
"Societe civile d exploitation agricole" ,
"Societe en nom collectif" ,
"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 À associÉ unique et capital variable" ,
"SociÉtÉ par actions simplifiÉe À capital variable" ,
"SociÉtÉ par actions simplifiÉe À associÉ unique et capital variable" ,
"S a cooperative d entreprises a capital variable" ,
"Sa a conseil d&#039;administration" ,
"Societe cooperative de credit" ,
"Societe de presse" ,
"Societe anonyme a participation ouvriere" ,
"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" ,
"Societe cooperative d interet collectif a responsabilite limitee" ,
"Sa d'economie mixte a conseil administratif" ,
@ -2359,11 +2359,11 @@ $tabFormesJuridiques=array(
"Cooperative agricole a capital variable" ,
"Societe cooperative de production en a.r.l. a capital variable" ,
"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" ,
"Union de societes cooperatives a directoire" ,
"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" ,
"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" ,
@ -2375,9 +2375,9 @@ $tabFormesJuridiques=array(
"Ste cooperative de banque populaire" ,
"Societe cooperative de consommation anonyme" ,
"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" ,
"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" ,
"Etablissement public national" ,
"Sica anonyme a directoire et conseil de surveillance" ,
@ -2391,14 +2391,14 @@ $tabFormesJuridiques=array(
"Sarl sous forme de eurl" ,
"Ano societe anonyme cooperative a capital variable a directoire" ,
"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" ,
"Societe anonyme capital fixe coop. de banque" ,
"Societe cooperative de banque populaire a capital variable" ,
"Cooperative ouvriere de production en s.a.r.l." ,
"Societe cooperative ouvriere de production a.s.a" ,
"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" ,
"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" ,
"Banque cooperative" ,
"Sarl membre de la ce ou partie l accord sur l espace conomique europ en" ,
"Sascop" ,
@ -2409,17 +2409,17 @@ $tabFormesJuridiques=array(
"Ste d'investissements a capital variable a conseil -sicav-" ,
"Societe civile en construction vente (loi de 1971) titre1" ,
"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" ,
"Societe anonyme de presse" ,
"Association loi 1901 Émettant des obligations" ,
"Association loi 1901 Émettant des obligations" ,
"Societe civile professionnelle de notaires" ,
"Societe civile immobiliere d attribution" ,
"Societe civile professionnelle de chirurgien-dentistes" ,
"Ste cooperative d'interet collectif a responsabilite limitee a capital variable" ,
"Arl societe a associe unique" ,
"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" ,
"Societe anonyme de consom a capital variable" ,
"Entreprise unipersonnelle a responsabilite limitee (eurl) et a capital variable" ,
@ -2436,25 +2436,25 @@ $tabFormesJuridiques=array(
"Societe anonyme cooperative a directoire" ,
"Cooperative professionnelle" ,
"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É civile professionnelle d'huissiers de justice" ,
"SociÉtÉ civile professionnelle d'huissiers de justice" ,
"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" ,
"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" ,
"Autres formes juridiques" ,
"Societe civile immobiliere de construction / vente" ,
"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" ,
"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" ,
"Sarl associe unique" ,
"Institution regie - articles l141-1 et suivants du code monetaire et financier" ,
"Societe de droit anglais" ,
"Societe cooperative de consommation anonyme a capital variable" ,
"Union de cooperative" ,
"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 cooperative artisanale a responsabilite limitee" ,
"Societe civile professionnelle de medecins" ,
@ -2468,28 +2468,28 @@ $tabFormesJuridiques=array(
"Ste anonyme a directoire et conseil d'orientation & surveillance" ,
"Sarl unipersonnelle sportive" ,
"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" ,
"Societe d exploitation agricole a responsabilite limitee" ,
"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" ,
"Etablissement de credit a but non lucratif" ,
"Societe cooperative de travailleurs (sarl)" ,
"E.a.r.l." ,
"Societe d assurance" ,
"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" ,
"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 " ,
"Societe anonyme a directoire et conseil de surveillance" ,
"Cooperative ouvriere de production (sa)" ,
"Societe civile d'attribution" ,
"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" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Scp de mandataires judiciaires À la liquidation des entreprises" ,
"Societe civile immobiliere a capital variable" ,
"S a r l de presse" ,
"Sarl d'architecture" ,
@ -2574,16 +2574,16 @@ $tab = array( 'toto.com',
'nono.net',
'dodo.com',
);
// Récupération des résultats
// Récupération des résultats
$output = false;
// Exécution
// Exécution
if($tab){
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);
}
}
// Affichage "brut" des données traitées
// Affichage "brut" des données traitées
if($output){
print_r($output);
}
@ -2604,7 +2604,7 @@ $tab = array( 'toto.com',
elseif ($genre=='' && $tabPrenom['genre']==2 && $tabPrenom['mixte']==0)
$genre='F';
} 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.' ';
}
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
<?php
$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];
$tabParam=explode('.', $param);
$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);
$retT=$iDb->select($table,"MAX(LENGTH($nameRow))", '1', true);
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
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();
}

View File

@ -2,8 +2,8 @@
<?php
/**
** Ce script récupère les informations relatives à un Domaine .fr
** Les domaines .fr doivent être contenu dans un fichier texte séparateur ; ou |
** Ce script récupère les informations relatives à un Domaine .fr
** 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/dates.php');
@ -22,7 +22,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Extraction des informations Whois Html de l'Afnic.
Options :
-d Mode debug (Verbosité au maximum)
-d Mode debug (Verbosité au maximum)
";
$iDb=new WDB('jo');
@ -45,9 +45,9 @@ Options :
} 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) {
$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))
$strTmp=$matches2[1];
// 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];
if (preg_match('/<b>Date anniversaire : <\/b>(.*)<br>/Uis', $strTmp, $matches2))
$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])));
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]));
if (preg_match('/http\:\/\/www\.euridile\.com\/index_vitrine\.ow\?afnic_numrcs=(.*)"/Ui', $strTmp,$matches2))
$siren=$matches2[1];

View File

@ -7,11 +7,11 @@ include_once(FWK_PATH.'common/dates.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 !!!**/
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)
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
@ -57,7 +57,7 @@ $tabZones=array(
'activitePri'=>'<dt>Activit(?:.*)principale :</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);
$iDeb=$ret[0][0];
@ -82,11 +82,11 @@ for($i=$iDeb;;$i++) {
foreach ($tabHtml as $zone=>$data) {
if (is_array($data)) {
foreach ($data as $j=>$tabInsert2) {
// Deb spécifique ecoartisan
// Deb spécifique ecoartisan
$tmp=explode(' ',$tabInsert2['actCode']);
$last=end($tmp);
if ($last*1==0) continue;
// Fin spécifique ecoartisan
// Fin spécifique ecoartisan
$tabInsert2['id']=$i;
$tabInsert2['num']=$j;
$tabInsert2['dateInsert']=date('YmdHis');
@ -107,7 +107,7 @@ for($i=$iDeb;;$i++) {
$nbVides++;
if ($nbVides<50) 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;
echo date('Y/m/d H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
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',
2=>'Horlogerie et Bijoux',
3=>'Instruments de musique',
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',
6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires',
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',
6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires',
8=>'Meubles meublants',
9=>'Meubles incorporels autres que parts sociales',
10=>'Monnaies',
11=>'Objets d\'art, de collection ou d\'antiquité',
11=>'Objets d\'art, de collection ou d\'antiquité',
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',
15=>'Produits textiles',
16=>'Produits alimentaires',
@ -136,7 +136,7 @@ function getGages($siren, $numGage) {
$rs=$matches[3];
$sirenLu=str_replace(' ','',$matches[4]);
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,
'gageNum'=>$numGage,
@ -154,16 +154,16 @@ $bodyGages=array();
$tabGages=array(1=>'Animaux',
2=>'Horlogerie et Bijoux',
/* 3=>'Instruments de musique',
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',
6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires',
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',
6=>'Matériels liés au sport',
7=>'Matériels informatiques et accessoires',
8=>'Meubles meublants',
9=>'Meubles incorporels autres que parts sociales',
10=>'Monnaies',
11=>'Objets d\'art, de collection ou d\'antiquité',
11=>'Objets d\'art, de collection ou d\'antiquité',
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',
15=>'Produits textiles',
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 ($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][2]<>'') $pais='Paiement sécurisé';
if ($results[1][1]<>'') $ench='Ventes aux enchères';
if ($results[1][2]<>'') $pais='Paiement sécurisé';
}
$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];
$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];
}
if (preg_match('/Fax : (.*)<br>/Ui', $body, $results)) {
@ -65,5 +65,5 @@ for ($dep=36; $dep<975; $dep++) {// 1
}
} else break;
} // 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];
}
}
$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)';";
if ($create) {
$sql0="DROP TABLE IF EXISTS `$table`;";
$iDb->query($sql0);
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 {
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) {
$sql="TRUNCATE TABLE `$table`;";
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 {
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;
@ -182,7 +182,7 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
$ret=$iDb->insert($table, $tabDataToInsert);
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;
}
unset($tabDataToInsert);
@ -190,7 +190,7 @@ function loadCsv($nomFichier, $db, $table='', $create=false, $reload=false) {
fclose($fp);
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++) {
if ($tabTailles[$i]<256) {
$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 ";
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
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');
$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:
-d Mode debug
-t Traiter tous les fichiers à mettre à jour (*)
-t Traiter tous les fichiers à mettre à jour (*)
-r Traiter les fichiers Risques (prim.net)
-x Traiter les fichiers Imports/Exports des Douanes
-p Traiter les fichiers du Registre français des émissions polluantes
-f Traiter le fichier Finess (Etablissements de Santé)
-p Traiter les fichiers du Registre français des émissions polluantes
-f Traiter le fichier Finess (Etablissements de Santé)
(*): Valeur par défaut !
(*): Valeur par défaut !
";
$modeDebug=false;
$tAll=true;
@ -261,18 +261,18 @@ if ($_SERVER['argc']>1)
}
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
**/
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');
$tabSelect=$tabTables=array();
$url='http://finess.sante.gouv.fr/finess/jsp/rechercheSimple.jsp';
$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'];
$referer=$url;
$iDb=new WDB('sante');
@ -291,8 +291,8 @@ if ($tSante) {
if ($publ>0) $table.="_$publ";
$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')))) {
// 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;
// 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 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;
$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.'"');
$str=file_get_contents('/tmp/wget.htm');
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
$cookie=$matches[1][0].'; '.$matches[1][1];*/
randsleep(7,21);
@ -364,9 +364,9 @@ if ($tSante) {
//if (mb_detect_encoding($strCsv, 'UTF-8', true))
// $strCsv=utf8_decode($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
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");
$nbLignesCache=count($tabTmp)-1;
@ -378,12 +378,12 @@ if ($tSante) {
$tdeb=microtime(1);
$nbInsert=@loadCsv("/tmp/$table.csv",'sante',$table,$recreate);
$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);
} 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;
}
}
@ -393,17 +393,17 @@ if ($tSante) {
$tabErreur=array();
$sql="DROP TABLE IF EXISTS `finess_old`;";
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`;";
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` (
`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,
`APE` varchar(5) 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,
`Lieudit/BP` varchar(32) DEFAULT NULL,
`Code postal` bigint(5) unsigned zerofill NOT NULL,
@ -417,12 +417,12 @@ if ($tSante) {
`Lib statut` varchar(59) DEFAULT NULL,
`Code tarif` tinyint(2) unsigned 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,
`FINESS juridique` char(9) DEFAULT NULL,
`recupTel` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `idxFiness` (`Numéro FINESS`),
KEY `idxFiness` (`Numéro FINESS`),
KEY `idxSiret` (`SIRET`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Ficher National des Etablissements Sanitaires et Sociaux';";
if (!$iDb->query($sql)) $tabErreur[]='CREATE TABLE '.mysql_errno().':'.mysql_error();
@ -449,11 +449,11 @@ if ($tSante) {
if ($tRisks) {
$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',
'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',
'struc'=>array('codeInsee','libCommune','population','datePAC','dateDICRIM','datePCS'),
),
@ -465,11 +465,11 @@ if ($tRisks) {
'table'=>'prim_Risques',
'struc'=>array('codeInsee','libCommune','risque'),
),
4=>array( 'lib'=>'Plan de prévention',
4=>array( 'lib'=>'Plan de prévention',
'table'=>'prim_PlansPrev',
'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',
'struc'=>array('codeInsee','libCommune','risque','dateDeb','dateFin','dateArret','dateJO'),
),
@ -477,27 +477,27 @@ if ($tRisks) {
for($i=1;$i<6;$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) {
// $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";
$cookie=$post='';
$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);
if ($page['code']==200) {
$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);
} 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
INSEE;Commune;Population;Date transmission PAC;Date arrêté DICRIM;Date notification PCS
Information préventive pour la région Guadeloupe
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]);
// Lecture et chargement du fichier
@ -521,23 +521,23 @@ if ($tRisks) {
}
}
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();
}
/**
** Registre français des émissions polluantes.
** Registre français des émissions polluantes.
**/
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';
$cookie=$post='';
$referer='http://www.pollutionsindustrielles.ecologie.gouv.fr/IREP/';
$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';
@ -548,7 +548,7 @@ if ($tPollu) {
fwrite($fp, $zip);
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;
if ($zip->open('/tmp/Base_iREP.zip') === TRUE) {
@ -577,12 +577,12 @@ if ($tPollu) {
// print_r($tabIndex);die();
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 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->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) {
if (in_array(basename(str_replace('.csv', '', $nomFichier)),$tabFichiersConnus)) {
@ -596,7 +596,7 @@ if ($tPollu) {
while (($data = fgetcsv($fp, 5000, ';')) !== FALSE) {
$nbLignes++;
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
$nbColonnes=count($data);
$sql="CREATE TABLE IF NOT EXISTS `$table` (";
@ -605,13 +605,13 @@ if ($tPollu) {
$tabTailles[$i]=0;
$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)'";
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 {
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();
continue;
@ -637,13 +637,13 @@ if ($tPollu) {
$ret=$iDb->insert($table, $tabDataToInsert);
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();
}
unset($tabDataToInsert);
}
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++) {
if ($tabTailles[$i]<256) {
$tabTmp=array_unique($tabTypes[$i]);
@ -659,20 +659,20 @@ if ($tPollu) {
}
$sql="ALTER TABLE `$table` CHANGE `".$champ[$i]."` `".$champ[$i]."` $strType NULL DEFAULT NULL ";
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
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();
}
}
} 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
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 {
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
**
** @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) {
@ -699,26 +699,26 @@ if ($tXport) {
'R09', // Poitou-Charentes
'R10', // Limousin
'R11', // Aquitaine
'R12', // Midi-Pyrénées
'R12', // Midi-Pyrénées
'R13', // Champagne-Ardenne
'R14', // Lorraine
'R15', // Alsace
'R16', // Franche-Comté
'R16', // Franche-Comté
'R17', // Bourgogne
'R18', // Auvergne
'R19', // Rhône-Alpes
'R19', // Rhône-Alpes
'R20', // Languedoc-Roussillon
'R21', // Provence-Alpes-Côte-d'Azur
'R21', // Provence-Alpes-Côte-d'Azur
'R22', // Corse
'R24', // Les départements d'Outre-mer
'R24', // Les départements d'Outre-mer
);
/*
de 1 à 9 salariés : micro-entreprises
de 10 à 49 salariés : petites entreprises
de 50 à 249 salariés : moyennes entreprises
Ces trois premières catégories constituent les Micro entreprises et les PME.
de 1 à 9 salariés : micro-entreprises
de 10 à 49 salariés : petites entreprises
de 50 à 249 salariés : moyennes entreprises
Ces trois premières catégories constituent les Micro entreprises et les PME.
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();
@ -727,11 +727,11 @@ if ($tXport) {
$cookie=$page['header']['Set-Cookie'];
$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]);
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
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';
@ -755,7 +755,7 @@ if ($tXport) {
if ($zip->open('/tmp/importExport.zip') === TRUE) {
$zip->extractTo('/tmp/');
$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);
$fp = fopen('/tmp/'.$nomFichierCsv, 'r');
$nbRows=$nbInsert=0;
@ -777,13 +777,13 @@ if ($tXport) {
}
}
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 {
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();
}
} 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');
$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 :
-d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache
-d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache
";
$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);
//die();
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++;
}
elseif ($iDb->getLastErrorNum()==1062 && ($annee==date('Y') || $annee==date('Y')-1)) {
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");
}
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++;
}
else
$nbDoublon++;
}
} 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;
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 !!!
$strObjet="Mise à jour des informations financières";
$strObjet="Mise à jour des informations financières";
function getInfosAnnonce($annonceHtml) {
$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['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['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">
<!---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>*/
$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['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();
$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:
-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
-l Dernières parutions 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)
-l Dernières parutions 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)
";
$argv=$_SERVER['argv'];
@ -111,11 +111,11 @@ $dateCour=$dateDeb;
$tabSansSiren=array();
$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;
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
@ -124,7 +124,7 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$dateFin = WDate::dateT('Ymd', 'd/m/Y', getNextDate($dateCour,1));
$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 **/
$url='http://www.info-financiere.fr/search.php';
@ -135,21 +135,21 @@ while ($dateCour<=$dateF/* || $lastJO*/) { // Boucle sur les dates
$referer=$url;
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";
$page=getUrl($url, $cookie, '', $referer);
$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]);
else {
print_r($page);
die('Erreur : Aucun résultat trouvé'.EOL);
die('Erreur : Aucun résultat trouvé'.EOL);
}
$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;
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();
}
@ -167,14 +167,14 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$c='...';
else {
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);
$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'];
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;
echo $message;
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
@ -182,13 +182,13 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
continue;
}
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;
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 {
$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;
echo $message;
}
@ -242,7 +242,7 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$fp=@fopen($repPdf.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) {
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);
$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']);
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++;
// L'annonce est déjà en base !
// L'annonce est déjà en base !
continue;
} 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++;
}
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++;
}
}
@ -295,7 +295,7 @@ zbcshSKSPPQ7FQDadgf9AiBwqWtyCwQwPVXxt9WdSAL*3lmT91!XuzSPPzWmeHeZ!fguJNuzxdJhf7UL
$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;
echo $message;
@ -303,8 +303,8 @@ echo $message;
if (count($tabSansSiren)>0) {
$strObjet.=" avec ISIN sans SIREN !!!";
$strMessage.=EOL.EOL."--------------------------------------------------------------------".EOL.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;
$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;
$strMessage.="ISIN\tRaison Sociale\tLien\tPDF".EOL;
foreach ($tabSansSiren as $tabMarche)
$strMessage.= $tabMarche['isin']."\t".

View File

@ -18,7 +18,7 @@ $strInfoScript='Usage : '.basename($argv[0]). " <option>
Chargement des fichiers en provenance de GE FactoFrance.
Options :
-d Mode debug (Verbosité au maximum)
-d Mode debug (Verbosité au maximum)
";
$iDb=new WDB('sdv1');
@ -34,9 +34,9 @@ Options :
die();*/
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
$modeDebug=false; // Mode débug
$modeDebug=false; // Mode débug
$tabFichier=$tabFichLigneCmd=array();
$message=''; // Initialisation du mail d'exécution du traitement
$message=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv'];
@ -62,7 +62,7 @@ Options :
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++)
{
@ -71,7 +71,7 @@ Options :
$fp=fopen(GE_FTP_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')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter (".$nomFichier.")".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -83,13 +83,13 @@ Options :
$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;
$iligne=1;
rewind($fp);
/** Traitement de la 1ère ligne **/
/** Traitement de la 1ère ligne **/
$ligne = trim(fgets($fp, 2048));
$taille=strlen($ligne);
if ($taille<=30) {
@ -100,7 +100,7 @@ Options :
}elseif ($taille==118){ $iFacto->setTypeFic(0); $table='ge_acheteurs'; }
elseif ($taille==72) { $iFacto->setTypeFic(2); $table='ge_paiements'; }
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;
die();
}
@ -121,7 +121,7 @@ Options :
if ($table=='ge_cs2') {
$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'];
$datePre=@$ret[0]['dateFin'];
if ($a['cs']<>$csPre || $a['dateFin']<>$datePre) {
/*echo 'A insérer :'.EOL;
/*echo 'A insérer :'.EOL;
print_r($a);
echo 'En base :'.EOL;
print_r($ret[0]);*/
// La CS a bougée
// La CS a bougée
$iDb->update($table, array_merge($a, array( 'dateConf'=>$dateFichier,
'csPre'=>$csPre,
'dateCsPre'=>$datePre,
@ -162,24 +162,24 @@ Options :
$iligne++;
}
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')
$iDb->update($table, array('dateSuppr'=>$dateInsert), 'indTrt=0');
if (bzip2(GE_FTP_DIR.$nomFichier, GE_BACKUP_DIR.$nomFichier.'-'.date('Ym'))) {
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;
$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;
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.=" $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 {
$message.="Aucun fichier GE à traiter !\r\n";
echo date ('Y/m/d - H:i:s') . " - Aucun fichier GE à traiter !".EOL;
$message.="Aucun fichier GE à traiter !\r\n";
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);

View File

@ -7,11 +7,11 @@ 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.
Mise à jour des hébergements touristiques classés.
Options :
-v Mode debug (Verbosité au maximum)
-b Mise à jour de la base complète
-v Mode debug (Verbosité au maximum)
-b Mise à jour de la base complète
";
$iDb=new WDB('jo');
$iInsee=new MInsee();
@ -20,7 +20,7 @@ $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
$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)=='-') {
@ -34,9 +34,53 @@ for ($i=1,$j=0; isset($argv[$i]); $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='';
$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);
$referer=$url;
if ($page['code']<>200) {
@ -44,20 +88,47 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
die('Erreur Code Retour <> 200 !');
}
$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);
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;
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',
$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',
'R%C3%89SIDENCE%20DE%20TOURISME'=>'Résidences de tourisme',
'CAMPING'=>'Campings',
'MEUBL%C3%89%20DE%20TOURISME'=>'Meublés de tourisme',
'MEUBL%C3%89%20DE%20TOURISME'=>'Meublés de tourisme',
);
else
$tabTypeEtab=array(' '=>'Derniers établissements classés');
$tabTypeEtab=array(' '=>'Derniers établissements classés');
foreach ($tabTypeEtab as $typeEtab=>$libTypeEtab) {
@ -85,19 +156,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$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)) {
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 : $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)) {
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;
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;
@ -110,10 +181,10 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
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) É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>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'*/
@ -123,19 +194,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$tabHotel=array('nom'=>trim($nom));
// echo "$i:$nom".EOL;
$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['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['typeClasse']=trim($matches2[1]);
$tabHotel['categorie']=trim(strtr($matches2[3],array('«'=>'','»'=>'')));
} elseif (preg_match('/<div>(.*)(\d) ÉTOILES?(?:\s+)- (.*)<\/div>/Uis',$strHotel,$matches2)) {
$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('«'=>'','»'=>'')));
$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]);
}
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['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]);
}
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 :";
print_r($tabHotel);
}
$nom=strtr($nom, array( 'MEUBLÉ DE MONSIEUR '=>'',
'MEUBLÉ DE MADAME '=>'',
$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'];
@ -192,19 +263,19 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
$tabHotel['nafEt']=$tabTrouve[0]['NafEtab'];
}
/*
5510Z Hôtels et hébergement similaire
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
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
551A Hôtels touristiques avec restaurant
5610A Restauration traditionnelle
741J Administration d'entreprises
7010Z Activités des sièges sociaux
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
551C Hôtels touristiques sans restaurant
553A Restauration de type traditionnel
*/
$nom=@addslashes($tabHotel['nom']);
@ -262,7 +333,7 @@ for ($i=1,$j=0; isset($argv[$i]); $i++) {
}
}
//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();
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/');
$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 :
-d Mode debug (Verbosité au maximum)
-d Mode debug (Verbosité au maximum)
";
$iDb=new WDB('jo');
@ -39,29 +39,29 @@ Options :
} 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,
md5('Administrateur délégué') => 0101,
md5('Administrateur délégué') => 0101,
md5('Administrateur provisoire') => 0108,
md5('Associé-gérant') => 0209,
md5('Co-gérant') => 0400,
md5('Contrôleur de gestion') => 0603,
md5('Directeur général') => 0709,
md5('Directeur général délégué') => 0704,
md5('Directeur général non administrateur') => 0713,
md5('Directeur général unique') => 0708,
md5('Gérant') => 0900,
md5('Associé-gérant') => 0209,
md5('Co-gérant') => 0400,
md5('Contrôleur de gestion') => 0603,
md5('Directeur général') => 0709,
md5('Directeur général délégué') => 0704,
md5('Directeur général non administrateur') => 0713,
md5('Directeur général unique') => 0708,
md5('Gérant') => 0900,
md5('Gouverneur') => 1650,
md5('Liquidateur') => 1900,
md5('Président') => 1300,
md5('Président Directeur Général') => 1301,
md5('Président du conseil d\'administration') => 1306,
md5('Président du conseil de surveillance') => 1307,
md5('Président du directoire') => 1308,
md5('Représentant en France d\'une société étrangère') => 1401,
md5('Président') => 1300,
md5('Président Directeur Général') => 1301,
md5('Président du conseil d\'administration') => 1306,
md5('Président du conseil de surveillance') => 1307,
md5('Président du directoire') => 1308,
md5('Représentant en France d\'une société étrangère') => 1401,
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)) {
$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]));
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]));
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]));
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]));
@ -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)) {
$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]));
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]));
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]));
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]));
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]));
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]));
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]));
@ -131,13 +131,13 @@ Options :
$tabDir['nom']=trim(strip_tags($matches[1]));
if (preg_match('/<TD>\((.*)\)<\/TD><\/TR>/Uis', $htmlDir, $matches))
$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['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]));
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]));
if (preg_match('/<TD>demeurant (.*)<\/TD><\/TR></Uis', $htmlDir, $matches))
$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)) {
$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]));
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]));
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]));
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]));
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]));
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_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))
$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]));
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]));
@ -200,7 +200,7 @@ Options :
$fp=fopen($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')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
die();
}
@ -212,25 +212,25 @@ Options :
$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;
$nbLignes=0;
rewind($fp);
/** Traitement de la 1ère ligne *
/** Traitement de la 1ère ligne *
$a = trim(fgets($fp, 1024));
$tab=explode("\t", $a);
$erreur='';
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[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE 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[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[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[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[2]<>'CIVILITE') $erreur='Ligne 1, Champ 3 : libellé CIVILITE 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[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[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 ($erreur<>'') {
echo date ('Y/m/d - H:i:s') . " - Erreur : $erreur !".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');
// 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))
{
@ -306,19 +306,19 @@ Options :
"naissance_date='". $tabDir['naissance_date'] ."' AND ".
"naissance_lieu='". $tabDir['naissance_lieu'] ."' AND ".
"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;
}
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'");
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'");
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;
*/

View File

@ -5,202 +5,268 @@
** 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/dates.php');
include_once(FWK_PATH.'common/ftp.php');
include_once(FWK_PATH.'mail/sendMail.php');
$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;
$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
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;
$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
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;
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Intégration des derniers communiqués boursier.
Sans aucun paramètre, récupère les derniers communiqués.
Sinon:
-v Mode bavard
-h Traite uniquement le diffuseur Hugin
-a idem ActuNews
-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;
$ret=ftp_mget(DIRELEASE_FTP_URL, DIRELEASE_FTP_USER, DIRELEASE_FTP_PASS, '*.xml', DIRELEASE_LOCAL_DIR, true);
if ($ret===false)
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des flux Di Release en FTP incorrecte !".EOL);
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;
else {
$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;
$dh = opendir(BUSINESSWIRE_LOCAL_DIR_INCOMING);
$ret=0;
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
if (!file_exists(BUSINESSWIRE_LOCAL_DIR . $filename) && filesize(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename)>0) {
copy(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename,BUSINESSWIRE_LOCAL_DIR . $filename);
$ret++;
if ($doBusin || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de la récupération des flux BusinessWire...".EOL;
$dh = opendir(BUSINESSWIRE_LOCAL_DIR_INCOMING);
$ret=0;
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
if (!file_exists(BUSINESSWIRE_LOCAL_DIR . $filename) && filesize(BUSINESSWIRE_LOCAL_DIR_INCOMING . $filename)>0) {
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"
**/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Hugin...".EOL;
$tabFichier=array();
$dh = opendir(HUGIN_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
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;
if ($doHugin || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux Hugin...".EOL;
$tabFichier=array();
$dh = opendir(HUGIN_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
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"
**/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux ActusNews...".EOL;
$tabFichier=array();
$dh = opendir(ACTUSNEWS_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(ACTUSNEWS_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);
if ($doActus || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux ActusNews...".EOL;
$tabFichier=array();
$dh = opendir(ACTUSNEWS_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
foreach ($tabTmp as $i_ligne => $ligne) {
if (stripos($ligne, '<communique ')!== false) {//<communique
//echo date ('Y/m/d - H:i:s')." - Première ligne du communiqué...".EOL;
if (stripos($ligne, 'langue="FR"')>0) {
//echo date ('Y/m/d - H:i:s')." - Communiqué en français ($ligne).".EOL;
$french=true;
} else {
//echo date ('Y/m/d - H:i:s')." - Langue non intégrée en base ($ligne) !".EOL;
$french=false;
foreach ($tabFichier as $k => $nomFichier) {
$tabTmp=file(ACTUSNEWS_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);
foreach ($tabTmp as $i_ligne => $ligne) {
if (stripos($ligne, '<communique ')!== false) {//<communique
//echo date ('Y/m/d - H:i:s')." - Première ligne du communiqué...".EOL;
if (stripos($ligne, 'langue="FR"')>0) {
//echo date ('Y/m/d - H:i:s')." - Communiqué en français ($ligne).".EOL;
$french=true;
} else {
//echo date ('Y/m/d - H:i:s')." - Langue non intégrée en base ($ligne) !".EOL;
$french=false;
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) {
//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;
}
unset($dom);
}
$message=date('Y/m/d - H:i:s') ." - FIN de l'intégration des $nbActus communiqués ActusNews.".EOL;
echo $message;
$strMessage.=$message;
}
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux ActusNews...".EOL;
/**
** 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();
$dh = opendir(DIRELEASE_LOCAL_DIR);
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.
** Prendre tous les ISIN et rechercher le SIREN.
**/
**
foreach ($tabFichier as $k => $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';
elseif (stripos($strTmp, 'UTF-8')>0) $encoding='UTF-8';
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;'=>''))),
'pressReleaseHtml'=>$contenu,
'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,
'indexSector'=>$secteur,
'indexMarketPlace'=>$marche_cotation,
@ -305,215 +357,156 @@ foreach ($tabFichier as $k => $nomFichier) {
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbDiRel++;
}
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"
**/
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux BusinessWire...".EOL;
$tabFichier=array();
$dh = opendir(BUSINESSWIRE_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
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;
if ($doBusin || $doAll) {
echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des flux BusinessWire...".EOL;
$tabFichier=array();
$dh = opendir(BUSINESSWIRE_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && substr($filename, -4)=='.xml')
$tabFichier[] = $filename;
}
unset($dom);
}
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration des flux BusinessWire.".EOL;
/**
** INTEGRATION DES COMMUNIQUES "LES ECHOS"
**/
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') {
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;
@ -521,12 +514,86 @@ foreach ($tabFichier as $k => $nomFichier) {
die();
} elseif ($iDb->getLastErrorNum()<>1062) {
echo date ('Y/m/d - H:i:s')." - Communiqué n°$pressReleaseId enregistré avec succès.".EOL;
$nbBusin++;
}
} else
echo date ('Y/m/d - H:i:s')." - Langue du communiqué non intégrée en base ($language).".EOL;
unset($dom);
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();

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).
Options :
-d Mode debug (Verbosité au maximum)
-v Mode debug (Verbosité au maximum)
-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
-r Ne pas exécuter en réel
-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)
-u Ne pas mettre à jour la table identite de l'insee
@ -38,13 +39,14 @@ $iRncs=new MRncs();
//$iWs=new WsEntreprise();
$nbSiretInvalides=0;
$modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
$stock=0; // Stock IMR complet = 1 !
$actifIni=1; // L'état actif est 1 sinon 11 si stock !
$jourStock=0; // Jour du stock SSAMMJJ
$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
$modeDebug=false; // Par défaut, pas de message de debug
$ftpStep=true; // Par défaut, se connecte au serveur FTP de l'INP
$stock=0; // Stock IMR complet = 1 !
$actifIni=1; // L'état actif est 1 sinon 11 si stock !
$jourStock=0; // Jour du stock SSAMMJJ
$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
$doMajSirenDir=false; // Mettre à jour les siren des dirigeants
$tabFichiers=array(); // Tableau des Fichiers téléchargés sur le FTP
$tabFichier=array(); // Fichiers locaux en attente de traitement
@ -58,12 +60,13 @@ $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 'v': $modeDebug=true; break;
case 'j': $ftpStep=false; break;
case 'l': $numReprise=substr($argv[$i],3,strlen($argv[$i])-3); break;
case 's': $stock=1; $actifIni=11;
case 'f': $jourStock=substr($argv[$i],3,8); break;
case 'r': $env='2'; break;
case 'm': $doMajSirenDir=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . ' inconnue !'.EOL); break;
@ -171,7 +174,7 @@ if (count($tabFichLigneCmd)==0) {
if (count($tabFichier)==0)
$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);
elseif (!$ftpStep)
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=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<>0 && $dateFichierNom==0) $dateFlux=$dateFichierMod;
else {
@ -250,6 +253,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbLignes=$nbLignes00=$nbLignes01=$nbLignes02=$nbLignes02p=$nbLignes03=$nbLignes04=$nbLignes05=$nbLignes06=0;
$tabEntete=array();
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;
$a = fgets($fp, 4096);
if (strlen($a)<800) {
@ -367,7 +371,7 @@ foreach ($tabFichier as $iFic=>$fichier)
$nbEtab[$etab['actif']]=$etab['nb'];
$ret=$iDb->update('rncs_etab'.$env, array('actif'=>0,'dateFermeture'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true);
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);
}
} 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'];
$ret=$iDb->update('rncs_dirigeants'.$env, array('actif'=>0,'dateFin'=>$dateFlux), "actif>9 AND siren=$sirenPre", false, 0, true);
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);
}
} 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);
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);
}
} 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,
'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 **/
if (isset($tabDemIMR[$siren])) {
if (isset($tabDemIMR[$siren]) && !$stock) {
$iDb->update('rncs_demandes'.$env, array( 'dateReponse'=>$dateInsert,
'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;
@ -696,6 +703,7 @@ foreach ($tabFichier as $iFic=>$fichier)
print_r($tabInsert);
echo mysql_errno().' : '.mysql_error().EOL;*/
$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;
} else {
$iDb->update($table, $tabUpdate, "siren=$siren AND ".
@ -706,6 +714,7 @@ foreach ($tabFichier as $iFic=>$fichier)
"naissance_date='". $tabUpdate['naissance_date'] ."' AND ".
"fonction_code=". $iRncs->getCodFctBodaccFctDir($codeFonction), false, 0, true);
$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;
}
break;
@ -946,8 +955,11 @@ foreach ($tabFichier as $iFic=>$fichier)
$message.="/".$tabEntete['nbEntrep'];
$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 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 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;
@ -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");
echo mysql_errno();
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_error();
@ -1008,8 +1020,7 @@ foreach ($tabFichier as $iFic=>$fichier)
unlink(REP_TEMP.basename($fichier).'.lock');
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Chargement INPI IMR', $message);
//die();
$doMajSirenDir=true;
}
if ($stock) {
@ -1048,6 +1059,58 @@ if ($stock) {
$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;
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/');
$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 :
-d Mode debug (Verbosité au maximum)
-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
-j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ
-d Mode debug (Verbosité au maximum)
-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
-j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter 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();
$iDbR=new WDB('');
@ -43,14 +43,14 @@ $iGreffes=new MGreffes();
$nbInsert=$nbDeja=0;
$nbNatu=$nbDeci=0;
$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
$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
$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)
$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
$loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles
$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 ...)
$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
$argv=$_SERVER['argv'];
@ -70,14 +70,14 @@ for ($i=1,$j=0; isset($argv[$i]); $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='';
if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock);
$strDateFlux=" AND dateFlux='$dateMaj' ";
$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;
$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;
}
// 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'");*/
// 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
FROM rncs_even e, tabEvenRncs t
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);
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);
$nbEvenMaj=$tabTmp[0]['nb'];
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";
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;
$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;
//die('ici1');
} else {
$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;
$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;
//die('ici2');
$sirenPre=false;
$iEven=-1;
@ -159,19 +159,19 @@ if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
// if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3);
$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";
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;
$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;
$iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'");
}
if ($loadInpiLocal) {
/**
** Evènements importants en collecte INPI
** Evènements importants en collecte INPI
**/
if ($jourStock>0) {
$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";
echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL;
$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;
}
$AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l',
@ -183,14 +183,17 @@ if ($loadInpiLocal) {
(l.codEven>0
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 '%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 '%MISE%SOMMEIL%'
OR j.acte_decision LIKE '%APPORT%PARTIEL%ACTIF%'
OR j.acte_decision LIKE '%SCISSION%'
) ",
false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb);
$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;
$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;
foreach ($AnnDb as $i=>$tabInsert) {
$siren=$tabInsert['siren'];
@ -199,12 +202,20 @@ if ($loadInpiLocal) {
$typeEven=$tabInsert['typeEven']*1;
$strEven='';
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;
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;
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) )
$typeEven=2203;
elseif (preg_match('/MISE.{1,9}SOMMEIL/i', $tabInsert['acte_decision'], $matches)) {
@ -222,9 +233,9 @@ if ($loadInpiLocal) {
$tabInsert['montant']=$tabIdentite['capital'];
//$tabInsert['actionsNb'] ='';
/** @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);
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
// Recherche de l'ancienne RS
$dateFlux=$tabInsert['flux'];
@ -234,7 +245,7 @@ if ($loadInpiLocal) {
AND flux<='$dateFlux' ORDER BY flux DESC LIMIT 0,1", false, MYSQL_ASSOC);
$modif=@trim($rep[0]['valeur']).'';
if ($modif<>'')
$tabInsert['complement'].="Ancienne dénomination : $modif. ";
$tabInsert['complement'].="Ancienne dénomination : $modif. ";
if ($tabIdentite['sigle']<>'')
$tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. ';
@ -244,8 +255,8 @@ if ($loadInpiLocal) {
/** @todo Rechercher l'ancienne FJ **/
} elseif ($typeEven==2315) {
switch ($tabInsert['codeEvenRncs']*1) {
case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break;
case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break;
default: $tabInsert['complement'].='Administration : '; break;
@ -281,7 +292,7 @@ if ($loadInpiLocal) {
$tabInsert['typeEven'] = $typeEven;
if ($typeEven==0) {
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();
}
$tabInsert['adresse'] = $tabTmp['Adresse'];
@ -295,19 +306,19 @@ if ($loadInpiLocal) {
unset($tabInsert['source']);
unset($tabInsert['dateInsert']);
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
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 {
$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]++;
}
}
$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);
}
@ -322,37 +333,37 @@ if ($loadActesDuJour) {
shuffle($tabActes);
$nbActesQuoti=count($tabActes);
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']));
echo "$nbDepots dépot(s).".EOL;
echo "$nbDepots dépot(s).".EOL;
// if (!$iGreffes->enCache) randsleep(1,3);
$nbDepotsTot+=$nbDepots;
}
$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;
$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;
}
if ($loadBilans) {
$tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC);
$lastUpdate=$tabTmp[0]['lastMAJ'];
$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;
$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;
$bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC);
echo mysql_error();
$nbBilans=count($bilansDep);
$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;
$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;
foreach ($bilansDep as $iBilan=>$bil) {
$tabActes=@$iGreffes->getBilansImages($bil['siren']);
// if (!$iGreffes->enCache) randsleep(1,3);
}
$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;
$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;
/** @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/');
$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 :
-d Mode debug (Verbosité au maximum)
-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
-j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter du AAAAMMJJ
-d Mode debug (Verbosité au maximum)
-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
-j Ne pas collecter les évènements INPI (annonces JAL Inpi)
-s:AAAAMMJJ Reprendre le chargement des annonces JAL Inpi à compter 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();
$iDbR=new WDB('');
@ -43,14 +43,14 @@ $iGreffes=new MGreffes();
$nbInsert=$nbDeja=0;
$nbNatu=$nbDeci=0;
$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
$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
$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)
$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
$loadBilans=true; // Par défaut on charge les listes de bilans IMAGES disponibles
$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 ...)
$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
$argv=$_SERVER['argv'];
@ -70,14 +70,14 @@ for ($i=1,$j=0; isset($argv[$i]); $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='';
if ($jourStock>0) {
$dateMaj=WDate::dateT('Ymd', 'Y-m-d', $jourStock);
$strDateFlux=" AND dateFlux='$dateMaj' ";
$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;
$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;
}
// Date du dernier chargement INPI
@ -92,7 +92,7 @@ $nbEvenAnn=$tabTmp[0]['nbEvenAnn'];
/* $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
FROM rncs_even e, tabEvenRncs t
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);
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);
$nbEvenMaj=$tabTmp[0]['nb'];
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";
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;
$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;
//die('ici1');
} else {
$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;
$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;
//die('ici2');
$sirenPre=false;
$iEven=-1;
@ -159,19 +159,19 @@ if ($nbEvenMaj>$nbEven && !$iReprise && $nbEvenAnn>0) {
// if (!$iGreffes->enCache && $sirenPre<>$even['siren']) randsleep(1,3);
$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";
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;
$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;
$iDb->update('rncs_chargements', array('nbEvenAnn'=>@$iEven*1), "nomFichier='$nomFichier'");
}
if ($loadInpiLocal) {
/**
** Evènements importants en collecte INPI
** Evènements importants en collecte INPI
**/
if ($jourStock>0) {
$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";
echo date ('Y/m/d - H:i:s') . " - Forçage du dernier chargement de la collecte INPI en date du $dateMaj...".EOL;
$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;
}
$AnnDb=$iDb->select('rncs_even_info j, rncs_entrep e, tabEvenRncs l',
@ -189,8 +189,8 @@ if ($loadInpiLocal) {
false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb);
$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;
$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;
foreach ($AnnDb as $i=>$tabInsert) {
$siren=$tabInsert['siren'];
@ -221,9 +221,9 @@ if ($loadInpiLocal) {
$tabIdentite=$iRncs->getInfosEntrep($siren);
$tabInsert['montant']=$tabIdentite['capital'];
//$tabInsert['actionsNb'] ='';
} elseif ($typeEven==2305) { // Modification de la dénomination
} elseif ($typeEven==2305) { // Modification de la dénomination
$tabIdentite=$iRncs->getInfosEntrep($siren);
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
$tabInsert['complement'].="Nouvelle dénomination : ".$tabIdentite['raisonSociale'].'. ';
if ($tabIdentite['sigle']<>'')
$tabInsert['complement'].="Sigle : ".$tabIdentite['sigle'].'. ';
} elseif ($typeEven==2307) { // Modification de la forme juridique
@ -231,8 +231,8 @@ if ($loadInpiLocal) {
$tabInsert['nouvFJ']=$tabIdentite['cj'];
} elseif ($typeEven==2315) {
switch ($tabInsert['codeEvenRncs']*1) {
case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 34: $tabInsert['complement'].='Changement de Gérant : '; break;
case 37: $tabInsert['complement'].='Changement de Président : '; break;
case 40: $tabInsert['complement'].='Modification du Conseil d\'Administration : '; break;
case 81: $tabInsert['complement'].='Changement de Commissaire aux Comptes : '; break;
default: $tabInsert['complement'].='Administration : '; break;
@ -267,7 +267,7 @@ if ($loadInpiLocal) {
$tabInsert['typeEven'] = $typeEven;
if ($typeEven==0) {
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();
}
$tabInsert['adresse'] = $tabTmp['Adresse'];
@ -281,19 +281,19 @@ if ($loadInpiLocal) {
unset($tabInsert['source']);
unset($tabInsert['dateInsert']);
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
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 {
$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]++;
}
}
$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);
}
@ -308,37 +308,37 @@ if ($loadActesDuJour) {
shuffle($tabActes);
$nbActesQuoti=count($tabActes);
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']));
echo "$nbDepots dépot(s).".EOL;
echo "$nbDepots dépot(s).".EOL;
// if (!$iGreffes->enCache) randsleep(1,3);
$nbDepotsTot+=$nbDepots;
}
$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;
$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;
}
if ($loadBilans) {
$tabTmp=$iDb->select('bilans_deposes','MAX(DATE(dateInsert)) AS lastMAJ', '1', true, MYSQL_ASSOC);
$lastUpdate=$tabTmp[0]['lastMAJ'];
$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;
$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;
$bilansDep=$iDb->select('bilans_deposes', "siren, nicSiege, dateProvPartenaire, dateExercice, dureeExercice, monnaie, chiffreAffaire", "dateInsert>'$lastUpdate 00:00:00'", true, MYSQL_ASSOC);
echo mysql_error();
$nbBilans=count($bilansDep);
$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;
$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;
foreach ($bilansDep as $iBilan=>$bil) {
$tabActes=@$iGreffes->getBilansImages($bil['siren']);
// if (!$iGreffes->enCache) randsleep(1,3);
}
$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;
$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;
/** @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.
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
-e=xxxxxxxx Réappliquer l'évènement xxxxxxxx
-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
-e=xxxxxxxx Réappliquer l'évènement xxxxxxxx
";
$iDb=new WDB('insee');
@ -58,7 +58,7 @@ Options :
//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);
//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)=='-') {
@ -75,17 +75,17 @@ Options :
} 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');
$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;
/* 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);
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;
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
**/
@ -96,7 +96,7 @@ Options :
}
$tabToIdentite=array();
/** Chargement des fichiers si nécessaire
/** Chargement des fichiers si nécessaire
**/
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');
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;
die();
}
@ -123,13 +123,13 @@ Options :
}
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;
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);
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;
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;
@ -141,7 +141,7 @@ Options :
$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é !
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;
@ -149,92 +149,92 @@ Options :
//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
$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
$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['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['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['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
$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['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
$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['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é
$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
$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['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
$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
$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
$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'];
@ -246,7 +246,7 @@ Options :
else
$tabEve['siretValide']=1;
/** Conversion de la saisonnalité **/
/** Conversion de la saisonnalité **/
$insNOMEN=$tabEve['insNOMEN'];
$tabNoms=getNomPrenom($insNOMEN);
$tabEve['dirNom']=$tabNoms['Nom'];
@ -257,14 +257,14 @@ Options :
$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;
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";
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();
}
@ -272,14 +272,14 @@ Options :
//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;
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é";
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é";
/**********************************************************************************************************************************
@ -287,10 +287,10 @@ Options :
**********************************************************************************************************************************/
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';
// 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';
if ($iReprise>0)
$tabToIdentite=array(0);
@ -303,20 +303,20 @@ Options :
//$idFlux='20080114';
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);
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) {
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);
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 {
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 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;
echo date ('Y/m/d - H:i:s') . " - $ret lignes à mettre à jour...".EOL;
}
$k=$nbInsert=$nbUpdate=$nbDBl=$nbSirenDeja=$nbInsertSiren=0;
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
@ -360,22 +360,22 @@ Options :
case 'M00':
case '00': $even=780; break;
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 '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 '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 '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
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;
@ -391,20 +391,20 @@ Options :
$origine=trim($ligne['insORIGINE']);
$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;
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
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 23: // Établissement fermé (hors transfert)
case 25: // Établissement 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 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=$ligne['insDATEVE'];
$actif=0;
break;
@ -420,28 +420,28 @@ Options :
continue; // On ignore les suppressions de doublons
break;
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'];
$dateFerEN=$ligne['insDATEVE'];
$actif=0;
/** @todo, il faudrait fermer tous les étabs **/
/** @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
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 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
$dateFerET=$ligne['insDATEVE'];
$actif=0;
break;
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 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 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
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
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
$dateFerET=$dateFerEN=0;
$actif=1;
break;
@ -450,32 +450,32 @@ Options :
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
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 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
case 30: // Établissement avant transfert non fermé
case 31: // Établissement après transfert non créé
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 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
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=1;
break;
case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé
case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé
//echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$ligne['insDATEVE'];
$actif=0;
@ -485,25 +485,25 @@ Options :
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
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
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*/
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
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
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*/
}
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
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=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
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;
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'];
$actif=0;
break;
@ -514,44 +514,44 @@ Options :
break;
default:
$actif=-1;
/*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement
/*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement
710 Modification de l'identification du SIREN
711 Modification de l'identification du SIREN suite à correction d'erreur
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
781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire 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
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*/
}
//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')) {
// Etablisement présumé fermé mais on laisse actif juridiquement
// Etablisement présumé fermé mais on laisse actif juridiquement
$actif=-1;
}
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=='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)
$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=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)
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=1;
}
@ -561,7 +561,7 @@ Options :
}
/*
9 Autre
NR Non renseigné
NR Non renseigné
*/
if ($actif==-1) $arrActif=array();
@ -571,38 +571,38 @@ Options :
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
/** 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);
$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 ($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)=>'°')));
$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 ($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)=>'°')));
$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 ($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
@ -610,32 +610,32 @@ Options :
}
$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
'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
'SIEGE'=> $ligne['insSIEGE'], // Siège
'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_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
'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
'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)
'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
// 'TCA'=> trim($ligne['insTCA']), // Tr CA
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
@ -645,8 +645,8 @@ Options :
'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
'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']),
@ -669,9 +669,9 @@ Options :
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'],
'NIC'=> $ligne['insNIC'],
@ -680,26 +680,26 @@ Options :
// 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;
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
** 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
$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;
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;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL;
} else {
$tabInsert=array('siren'=> $siren,
'nic'=> $nic,
@ -707,7 +707,7 @@ Options :
'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 (!$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) {
@ -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;
} else echo ', la table identite n\'est pas mise à jour !'.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,
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
Table identité :
- $nbInsert créations,
- $nbUpdate mises à jour
";
}
$message.=EOL;
@ -749,7 +749,7 @@ Table identité :
$message.=$strCtrl.EOL;
$message.=EOL;
/** Mise à jours des informations de traitement **/
/** Mise à jours des informations de traitement **/
$typeDiffusion=$dateCreation=$nbRecords='';
if (preg_match('/DIFFUSION\s\((.*)\)/Uis', $strCtrl, $matches))
$typeDiffusion=$matches[1];
@ -783,7 +783,7 @@ Table identité :
/* 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;
$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.
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
-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
";
$iDb=new WDB('insee');
@ -56,7 +56,7 @@ Options :
//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);
//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)=='-') {
@ -72,17 +72,17 @@ Options :
} 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';
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;
/* 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);
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;
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
**/
@ -93,7 +93,7 @@ Options :
}
$tabToIdentite=array();
/** Chargement des fichiers si nécessaire
/** Chargement des fichiers si nécessaire
**/
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');
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;
die();
}
@ -117,13 +117,13 @@ Options :
}
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;
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);
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;
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;
@ -135,99 +135,99 @@ Options :
$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é !
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();
}
//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
$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
$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['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['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['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
$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['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
$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['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é
$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
$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['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
$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
$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
$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'];
@ -239,7 +239,7 @@ Options :
else
$tabEve['siretValide']=1;
/** Conversion de la saisonnalité **/
/** Conversion de la saisonnalité **/
$insNOMEN=$tabEve['insNOMEN'];
$tabNoms=getNomPrenom($insNOMEN);
$tabEve['dirNom']=$tabNoms['Nom'];
@ -250,14 +250,14 @@ Options :
$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;
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";
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();
}
@ -265,14 +265,14 @@ Options :
//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;
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é";
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é";
/**********************************************************************************************************************************
@ -280,10 +280,10 @@ Options :
**********************************************************************************************************************************/
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';
// 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';
if (!$dateReprise)//$tabToIdentite
sort($tabToIdentite);
@ -294,9 +294,9 @@ Options :
//$idFlux='20080114';
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);
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 {
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);
@ -22123,7 +22123,7 @@ Options :
998591507,
998724504
) 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;
while($ligne=$iDbR->fetch(MYSQL_ASSOC)) {
@ -22157,22 +22157,22 @@ Options :
case 'M00':
case '00': $even=780; break;
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 '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 '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 '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
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;
@ -22188,14 +22188,14 @@ Options :
$origine=trim($ligne['insORIGINE']);
$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) {
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
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
$dateFerET=$dateFerEN=0;
$actif=1;
break;
@ -22205,44 +22205,44 @@ Options :
continue; // On ignore les suppressions de doublons
break;
case 410: // Cessation juridique 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 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
$dateFerET=$ligne['insDATEVE'];
$dateFerEN=$ligne['insDATEVE'];
$actif=0;
/** @todo, il faudrait fermer tous les étabs **/
/** @todo, il faudrait fermer tous les étabs **/
break;
case 430: // Fermeture d'un établissement
case 435: // Fermeture d'un établissement 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
$dateFerET=$ligne['insDATEVE'];
$actif=0;
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
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 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
case 30: // Établissement avant transfert non fermé
case 31: // Établissement après transfert non créé
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 14: // Siège modifié (hors transfert) : modification de l'activité principale avec activation économique
case 21: // Établissement après transfert créé
case 22: // Établissement créé (hors transfert)
case 24: // Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique
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=1;
break;
case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé
case 10: // Siège avant transfert fermé
case 13: // Siège fermé (hors transfert)
case 15: // Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 20: // Établissement avant transfert fermé
case 23: // Établissement fermé (hors transfert)
case 25: // Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique
case 32: // Établissement supprimé
//echo "case even=$even, typeEtab=$typEtab\n";
$dateFerET=$ligne['insDATEVE'];
$actif=0;
@ -22252,25 +22252,25 @@ Options :
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
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
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*/
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
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
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*/
}
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
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=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
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;
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'];
$actif=0;
break;
@ -22280,44 +22280,44 @@ Options :
break;
default:
$actif=-1;
/*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement
/*631 Autre modification d'activité du SIREN associé
661 Autre modification d'activité au niveau de l'établissement
710 Modification de l'identification du SIREN
711 Modification de l'identification du SIREN suite à correction d'erreur
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
781 Autre modification entraînant la mise à jour d'au moins une variable du répertoire 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
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*/
}
//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') {
// Etablisement présumé fermé mais on laisse actif juridiquement
// Etablisement présumé fermé mais on laisse actif juridiquement
$actif=-1;
}
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=='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)
$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=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)
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=1;
}
@ -22327,7 +22327,7 @@ Options :
}
/*
9 Autre
NR Non renseigné
NR Non renseigné
*/
if ($actif==-1) $arrActif=array();
@ -22337,38 +22337,38 @@ Options :
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
/** 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);
$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 ($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)=>'°')));
$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 ($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)=>'°')));
$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 ($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
@ -22376,32 +22376,32 @@ Options :
}
$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
'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
'SIEGE'=> $ligne['insSIEGE'], // Siège
'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_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
'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
'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)
'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
// 'TCA'=> trim($ligne['insTCA']), // Tr CA
'CODEVOIE'=> trim($ligne['insCODEVOIE']), // Ce RIVOLI
@ -22411,8 +22411,8 @@ Options :
'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
'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']),
@ -22435,9 +22435,9 @@ Options :
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'],
'NIC'=> $ligne['insNIC'],
@ -22446,25 +22446,25 @@ Options :
// 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;
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
** 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
$arrTel=array( 'TEL'=> trim($ligne['insTEL'])); // Téléphone de l'établissement
else
$arrTel=array();
$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;
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;
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt fiche(s) modifiée(s)".EOL;
if ($cpt>1) {
//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;
} else echo ', la table identite n\'est pas mise à jour !'.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 '$nomFichierCharges' :
- $nbLignesCharges lignes traitées,
echo date ('Y/m/d - H:i:s') . " - Fin du traitement de chargement des évènements INSEE".EOL;
$message="Fichier évènements '$nomFichierCharges' :
- $nbLignesCharges lignes traitées,
- $nbSiretInvalidesCharges siret invalides,
- $nbErreurs erreurs lors des insertions.
";
if ($updateInsee) {
$message.="
Table identité :
- $nbInsert créations,
- $nbUpdate mises à jour
Table identité :
- $nbInsert créations,
- $nbUpdate mises à jour
";
}
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/');
$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 :
-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)
-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)
-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
// -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date
" -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)
-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)
// -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date
" -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)
-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)
(*) 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;
$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 !!!
$erase=false; // Par défaut, on n'efface pas les annonces
$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)
$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 !!!
$erase=false; // Par défaut, on n'efface pas les annonces
$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)
$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 {
for ($i=1; isset($argv[$i]); $i++) {
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)) {
/** 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='';
$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_decode($ligne_utf8);
//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)) {
$pageCourante=$matches[1];
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)) {
$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]);
$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_decode($ligne_utf8);
//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)) {
$pageCourante=$matches[1];
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);
} 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) {
$tabAnnBalo=array();
//Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//Société : <b>ARGAN</b><br/>
$tabAnnBalo['Societe_Nom']=trim(str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'Société : <b>', '<b>', '</b>'))));
//if ($tabAnnBalo['Societe_Nom']=='')
// $tabAnnBalo['Societe_Nom']=str_replace(chr(160),' ',html_entity_decode(@getTextInHtml($annonceHtml,'<p>BOAMF: <b>', '<b>', '</b>')));
//<p>RCS : <b>393430608 </b>
$tabAnnBalo['Societe_Rcs']=trim(@getTextInHtml($annonceHtml, 'RCS : <b>', '<b>', '</b>'));
// 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>'))));
// N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</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>'))));
// N° d'affaire : <b>0712845</b><br />
$tabAnnBalo['Num_Affaire']=@getTextInHtml($annonceHtml, 'N° d\'affaire : <b>', '<b>', '</b>');
// Paru le : <b>08-08-2007</b> (Parution n°<b>95</b>) <br />
$tmp=@getTextInHtml($annonceHtml, 'Paru le : <b>', '<b>', '</b>');
$tabAnnBalo['Date_Parution']=substr($tmp,6,4).'-'.substr($tmp,3,2).'-'.substr($tmp,0,2);
// (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
// (Parution n°<b>95</b>) <br />
$tabAnnBalo['Num_Parution']=@getTextInHtml($annonceHtml, '(Parution n°<b>', '<b>', '</b>');
/*<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="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;
$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:
-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
-a:YYYY Année à récupérer
-l Dernière parution 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)
-a:YYYY Année à récupérer
-l Dernière parution 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)
";
$argv=$_SERVER['argv'];
@ -120,8 +120,8 @@ 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 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') ." - 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;
/*
$dt=1322953200;
$dt=1086300000;//000
@ -151,7 +151,7 @@ for ($y=$yDeb;$y<=date('Y');$y++) {
else $num2='0'.$num;
$dateFic=($y.$md)*1;
if ($dateFic>DATE) {
echo "Dernier JORF du jour téléchargé !".EOL;
echo "Dernier JORF du jour téléchargé !".EOL;
break(3);
}
@ -197,7 +197,7 @@ for ($y=$yDeb;$y<=date('Y');$y++) {
die();
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=='') {
$referer='';
@ -211,10 +211,10 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes,$tempsMaxEntreRequetes);
}
if ($lastJO==true) { // Cas récup dernier JO
if ($lastJO==true) { // Cas récup dernier JO
$dateAff=$dateDerParution;
$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);
$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";
@ -224,7 +224,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$referer=$url;
$body=$page['body'];
$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');
//die(print_r($body));
@ -237,7 +237,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
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);
$AnnDb=$iDb->select('balo', 'count(*)', "Date_Parution='$dateDb'");
$nbAnnDb=$AnnDb[0][0];
@ -252,7 +252,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
randsleep($tempsMinEntreRequetes, $tempsMaxEntreRequetes);
continue;
} 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;
mail('ylenaour@scores-decisions.com', 'JO BALO', $message);
mail('lenaoury@gmail.com', 'JO BALO', $message);
@ -302,13 +302,13 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$isin='';
if ($siren>1000000) {
/** Recherche du code ISIN / infos boursières **/
/** Recherche du code ISIN / infos boursières **/
$iBourse=new MBourse($siren);
$isin=$iBourse->getCodeIsin($siren);
$strIsin="(Isin=$isin) ";
} else
$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');
//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);
$fp=@fopen($repBalo.$anneeParution.'/'.basename($infoAnnBalo['Url_Annonce_Pdf']), 'w');
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);
$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)) {
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'];
}
/** 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';
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);
$fp=fopen($repBaloComp.$anneeParution.'/'.$anneeParution.'_'.sprintf("%03d", $numParution).'_monte_final.PDF', 'w');
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);
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
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');
if ($tabPdf) {
$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/');
$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 :
-v Mode debug (Verbosité au maximum)
-f Ne pas générer les annonces de fusions
-m:SSAAMM Forcer le mois de mise à jour à SSAAMM (sinon mois précedent)
-v Mode debug (Verbosité au maximum)
-f Ne pas générer les annonces de fusions
-m:SSAAMM Forcer le mois de mise à jour à SSAAMM (sinon mois précedent)
-l:links.txt Chemin et nom du fichier des liens
-e:entities.txt Chemin et nom du fichier des entites
@ -56,11 +56,11 @@ Options :
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..') {
if (strtolower(substr($filename,-4))=='.zip') {
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;
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;
$zip = zip_open(LIENS_FTP_LOCALDIR.$filename);
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)) {
$tDeb = microtime(true);
$filenameGz=zip_entry_name($zip_entry);
@ -76,18 +76,18 @@ Options :
zip_entry_close($zip_entry);
fclose($fp);
} 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);
$tailleUnz=round(filesize(LIENS_FTP_LOCALDIR.$filenameGz)/1024,1);
$tFin = microtime(true);
$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;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier $filename 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;
$fichierZip=$filename;
}
zip_close($zip);
} 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) {
echo $strInfoScript;
die('Aucun fichier Liens à traiter'.EOL);
die('Aucun fichier Liens à traiter'.EOL);
} elseif (!$entities) {
echo $strInfoScript;
die('Aucun fichier Entites à traiter'.EOL);
die('Aucun fichier Entites à traiter'.EOL);
} else {
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;
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;
}
$fp=fopen($entities, 'r');
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;
die();
}
@ -117,8 +117,8 @@ Options :
$nbLignes++;
$a = trim(fgets($fp, 1024));
}
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;
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;
$nbLignes=0;
rewind($fp);
@ -152,17 +152,17 @@ Options :
// print_r($tabEntites);
// die();
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;
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;
// 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");
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');
$fp=fopen($links, 'r');
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;
die();
}
@ -174,8 +174,8 @@ Options :
$a = trim(fgets($fp, 1024));
}
$nbLinks=$nbLignes;
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;
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;
$nbLignes=0;
rewind($fp);
@ -239,7 +239,7 @@ Options :
'id2'=>$idPar,
)), "Siren1=$siren AND ActionPart=2 AND Siren2=$siren2 AND RaisonSociale='$nomTmp' AND Pays='$pays'",true)) {
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);
echo date('Y/m/d - H:i:s').' - ERREUR 1 SQL : '.mysql_error().EOL;
}
@ -251,7 +251,7 @@ Options :
} else {
if (!$iDb->insert($table, $tabInsert1,true)) {
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);
echo date('Y/m/d - H:i:s').' - ERREUR 2 SQL : '.mysql_error().EOL;
}
@ -279,7 +279,7 @@ Options :
'id1'=>$idPar,
)), "Siren1=$siren2 AND ActionPart=1 AND Siren2=$siren AND RaisonSociale='$nomTmp' AND Pays='$pays2'",true)) {
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);
echo date('Y/m/d - H:i:s').' - ERREUR 3 SQL : '.mysql_error().EOL;
}
@ -291,7 +291,7 @@ Options :
} else {
if (!$iDb->insert($table, $tabInsert2,true)) {
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);
echo date('Y/m/d - H:i:s').' - ERREUR 4 SQL : '.mysql_error().EOL;
}
@ -303,33 +303,33 @@ Options :
}
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();
}
}
fclose($fp);
//print_r($tabEntites);
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;
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;
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;
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;
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;
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;
$res=$iDb->select($table, 'count(*) AS nb', "actif<>11 AND source=1800");
$nbNonConf=$res[0]['nb'];
$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') . " - $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;
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;
$res=$iDb->select($table, 'count(*) AS nb', "actif=11 AND source=1800");
$nbConf=$res[0]['nb'];
$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;
$strMailInfo.=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;
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);
@ -361,7 +361,7 @@ Options :
$nbAbsorption++;
}
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) {
$tabIdentite=$iInsee->getIdentiteLight($siren1);
@ -375,7 +375,7 @@ Options :
'ville'=>$tabIdentite['Ville'],
'dateJugement'=>$dateEven,
'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',
'parutionIdJal'=>1800,
'dateSource'=>$dateLien,
@ -397,7 +397,7 @@ Options :
'ville'=>$tabIdentite['Ville'],
'dateJugement'=>$dateEven,
'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',
'parutionIdJal'=>1800,
'dateSource'=>$dateLien,
@ -407,12 +407,12 @@ Options :
if ($modeDebug)
echo "Insertions OK.".EOL;
} elseif ($modeDebug)
echo "Déjà en base.".EOL;
echo "Déjà en base.".EOL;
}
}
$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;
$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')." - 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;
@ -421,8 +421,8 @@ Options :
if ($fichierZip && move(LIENS_FTP_LOCALDIR.$fichierZip, LIENS_BACKUP_DIR.$fichierZip)) {
unlink($entities);
unlink($links);
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;
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;
} else {
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;

View File

@ -11,13 +11,13 @@ include_once(FWK_PATH.'mail/sendMail.php');
$dateTime=date('YmdHis');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Récuperer les logos non encore en base.
Récuperer les logos non encore en base.
Options :
-b Rechercher les logo via Bing
-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;
$iReprise=0;
@ -35,7 +35,7 @@ for ($i=1; isset($argv[$i]); $i++) {
}
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');
@ -76,7 +76,7 @@ if (!preg_match_all('/<li(?:.*)>(?:\s+)<a href="(http\:\/\/www\.annuaire\.com\/(
foreach ($matches[1] as $i=>$urlFiche) {
$siren=str_replace('/','',substr($urlFiche,-10));
$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/') {
$extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) {
@ -98,7 +98,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
if ($nbDeja==0) {
$tabEntrep=array('siren'=>$siren);
$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/' &&
file_exists("/home/data/logos/$siren.$extension"))
$tabEntrep['logo']=1;
@ -112,7 +112,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
$tabEntrep['nom']=$nom=$matches[4][$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<>'') {
$extension=substr(strrchr($urlLogo,'.'),1);
if (!file_exists("/home/data/logos/$siren.$extension")) {
@ -173,7 +173,7 @@ foreach ($matches[1] as $i=>$urlFiche) {
}
//print_r($matches);
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();
// Recherche BING
@ -209,6 +209,8 @@ for($i=0; $i<1000; $i++) {
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";
$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'];
$tabJson=json_decode($json, true);
$tabJson=$tabJson['SearchResponse'];
@ -281,7 +283,7 @@ die();
foreach ($tabJson['Web']['Results'] as $i=> $result) {
$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/
$lev=@levenshtein ($urlapprox,$url);
@ -301,7 +303,7 @@ die();
$host=preg_replace('/\/$/','',$info['host']);
$ext=getFileExtension($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') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) {
@ -326,7 +328,7 @@ die();
[0] => Array
(
[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/
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68
[DisplayUrl] => www3.scores-decisions.com
@ -347,8 +349,8 @@ die();
)
[1] => Array
(
[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
[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
[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
[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');
$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:
-v Mode verbose ou debug
-f Forcer la mise à jour depuis Qualibat
-m Retourne le dernier numéro Qualibat en base
-i Les paramètres sont des numéros de marques
-r Les paramètres sont des Raisons Sociales
-p Récupère les PDF non encore en base
-b Mise à jour des marques issues des PDF
-v Mode verbose ou debug
-f Forcer la mise à jour depuis Qualibat
-m Retourne le dernier numéro Qualibat en base
-i Les paramètres sont des numéros de marques
-r Les paramètres sont des Raisons Sociales
-d=SSAAMMJJ Récupères les dépots du SSAAMMJJ
-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();
$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();
@ -34,7 +40,8 @@ if ($_SERVER['argc']>1)
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'v': $modeDebug=true;
case 'v': define(MODE_VERBOSE,true);
$modeDebug=true;
define('TMIN',1);
define('TMAX',2);
break;
@ -44,8 +51,12 @@ if ($_SERVER['argc']>1)
case 'i': $majNum=true; break;
case 'r': $majNom=true; break;
case 'r': $majObj=true; break;
case 'd': $majDate=true; break;
case 'p': $getPdf=true; break;
case 'b': $getMBopi=true; break;
case 's': $majSiren=true; break;
case 'a': $majAdresses=true; break;
case 't': $majImages=true; break;
case '-':
case '?': die($strInfoScript); break;
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('TMAX')) define('TMAX',160);
@ -68,19 +81,22 @@ if (!defined('TMAX')) define('TMAX',20);
$iDb=new WDB('bopi');
if ($getPdf) {
if ($annee) $strAnnee="nomPdf LIKE '%$annee%'";
else $strAnnee='1';
$ret=$iDb->select( 'infos_bopi',
'MAX(nomPdf) as nomPdf',
'1', false, MYSQL_ASSOC);
$strAnnee, false, MYSQL_ASSOC);
$ret=$ret[0];
$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'=>''));
$tabAnneeMois=explode('-', $anneeMois);
$lastAnnee=$tabAnneeMois[0];
$numFin =$tabAnneeMois[1];
//$lastAnnee=2011;
for ($annee=$lastAnnee; $annee<=date('Y'); $annee++) {
if ($annee==date('Y')) {
$numDeb=$lastMois;
$numDeb=$numFin;
$numFin=date('W');
//echo 'A'.EOL;
} elseif ($numFin==52 && $annee+1==date('Y')) {
@ -93,7 +109,9 @@ if ($getPdf) {
$numFin=52;
//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++) {
$taille=$iMarque->getEditionPdf('marques', $annee, $num);
$taille=round($taille/(1024*1024),2);
@ -116,14 +134,15 @@ $nb=count($tabMarques);
$nbAcces=$nbCache=0;
foreach ($tabMarques as $i=>$marque) {
echo date('Y/m/d - H:i:s')." - Marque $i/$nb : n°$marque...";
if ($majNum) {
echo date('Y/m/d - H:i:s')." - Marque $i/$nb : n°$marque... ";
$ret=$iMarque->getMarques(0, $marque);
if (is_array($ret) && count($ret)>0) {
print_r($ret);
$nbCache++;
} else {
$res=$iMarque->getListeMarques($marque, '', '', true);
$majAdresses=$majSiren=true;
$res=$iMarque->getListeMarques($marque, '', '', '', true);
if ($getMBopi) {
$iDb->update( 'infos_bopi_marques',
array('dateRecup'=>date('Ymd'),
@ -134,19 +153,182 @@ foreach ($tabMarques as $i=>$marque) {
if (!$modeDebug && date('Hi')*1>1930) {
$nbTot=$nbAcces+$nbCache;
$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 %)");
die();
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Marques - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)");
break;
}
}
}
}
elseif ($majNom)
$iMarque->getListeMarques('', $marque, '', true);
$iMarque->getListeMarques('', $marque, '', '', true);
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();
$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='';
@ -164,7 +346,7 @@ if ($max) {
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) {
$partiel=false;
@ -176,11 +358,11 @@ if (count($tabQualibat)==0) {
$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;
while(true) {
$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->enCache) {
randsleep($tMin/10,$tMax/10);
@ -194,10 +376,10 @@ if (count($tabQualibat)==0) {
}
}
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 {
$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);
$nbAcces=$nbCache=0;
@ -206,12 +388,12 @@ foreach ($tabQualibat as $i=>$idQualibat) {
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... ";
$iQualibat->force=$force;
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 (date('Hi')*1>=2235) {
$nbTot=$nbAcces+$nbCache;
$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();
}
if (!$iQualibat->enCache) {
@ -227,9 +409,30 @@ foreach ($tabQualibat as $i=>$idQualibat) {
$nbTot=$nbAcces+$nbCache;
$pct=round($nbCache/$nbTot*100,2);
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();

View File

@ -18,14 +18,14 @@ include_once(FWK_PATH.'mail/sendMail.php');
$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:
-d Mode debug
-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)
-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)
(*): Valeur par défaut !
(*): Valeur par défaut !
";
$iDb=new WDb();
@ -60,35 +60,35 @@ if ($_SERVER['argc']>1)
if ($max) {
$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();
}
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) {
$partiel=false;
// Année 2007
// Année 2007
$iAn=0;
for ($an=7; $an<=date('y')*1; $an++) {
$annee=sprintf('%02d',$an);
$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++) {
$numOriasTmp=("$an".sprintf('%06d',$id))*1;
$tabOrias[]=$numOriasTmp;
// if ($modeDebug) echo "$numOriasTmp, ";
}
$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;
$nbAcces=0;
while(true) {
$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->enCache) {
randsleep($tMin,$tMax);
@ -104,10 +104,10 @@ if (count($tabOrias)==0) {
}
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 {
$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);
$nbAcces=$nbCache=0;
@ -116,12 +116,12 @@ foreach ($tabOrias as $i=>$numOrias) {
echo date('Y/m/d - H:i:s')." - $i/$nb: $numOrias ... ";
$iOrias->force=$force;
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 (date('Hi')*1>=2235) {
$nbTot=$nbAcces+$nbCache;
$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();
}
if (!$iOrias->enCache) {
@ -137,10 +137,10 @@ foreach ($tabOrias as $i=>$numOrias) {
$nbTot=$nbAcces+$nbCache;
$pct=round($nbCache/$nbTot*100,2);
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();

View File

@ -7,11 +7,11 @@ include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(FWK_PATH.'mail/sendMail.php');
$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 :
-d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache
-d Mode debug (Verbosité au maximum)
-f Forcer la re-Génération du cache
";
$modeDebug=$modeGeneration=false;

View File

@ -5,11 +5,11 @@ include_once(FWK_PATH.'common/curl.php');
$modeDebug=$noTimer=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 !!!**/
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)
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
-t Pas de timer du tout
";/* -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
**/
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';
$iDb=new WDB('insee');
@ -50,7 +50,7 @@ foreach ($lstCom as $i=>$tabCom) {
}
$nbVilles=count($tabVilles);
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) {
$numInsee=substr($codeInsee,1,5);
@ -67,20 +67,20 @@ foreach ($tabTri as $i=>$codeInsee) {
/*<div id="contenu">
<h1>02397-Jussy</h1>
<div class="presentation">
<p><strong>Région</strong>&nbsp;: Picardie</p>
<p><strong>Département</strong>&nbsp;: 02-Aisne</p>
<p><strong>Région</strong>&nbsp;: Picardie</p>
<p><strong>Département</strong>&nbsp;: 02-Aisne</p>
<p><strong>Arrondissement</strong>&nbsp;: Saint-Quentin</p>
<p><strong>Canton</strong>&nbsp;: Saint-Simon</p>
<p><strong>Commune</strong>&nbsp;: 02397-Jussy</p>
</div>
<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>
<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>
<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>
<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>
<thead>
<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/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>
</tr>
</thead>
@ -91,9 +91,9 @@ foreach ($tabTri as $i=>$codeInsee) {
</tfoot>
<tbody>
<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">1 267</td>
<td class="tab-chiffre">1 267</td>
</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)) {
//print_r($results);
@ -106,9 +106,9 @@ foreach ($tabTri as $i=>$codeInsee) {
'popTotale' => trim(strtr($results[3], array(chr(160)=>'', ' '=>'')))*1,
'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]);
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]);
if (preg_match('/<p><strong>Arrondissement<\/strong>&nbsp;\:(.*)<\/p>/Uis', $body, $results2))
$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_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(
'_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",
'_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",
'_04'=>"GAGI-surveillance en attente envoyée au GAGI",
'_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",
'_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",
'_04'=>"GAGI-surveillance en attente envoyée au GAGI",
'_05'=>"Surveillance en attente de validation au greffe",
'_06'=>"Erreur de chargement",
'_10'=>"Surveillance impossible car société radiée",
'_11'=>"Surveillance impossible car société transférée dans un autre greffe",
'_10'=>"Surveillance impossible car société radiée",
'_11'=>"Surveillance impossible car société transférée dans un autre greffe",
'_12'=>"SIREN inconnu",
'_13'=>"Raison sociale erronée",
'_14'=>"Adresse erronée",
'_15'=>"Surveillance impossible sur un établissement secondaire",
'_16'=>"Demande incomplète ou incorrecte",
'_17'=>"Surveillance Privilège impossible",
'_13'=>"Raison sociale erronée",
'_14'=>"Adresse erronée",
'_15'=>"Surveillance impossible sur un établissement secondaire",
'_16'=>"Demande incomplète ou incorrecte",
'_17'=>"Surveillance Privilège impossible",
'_18'=>"Surveillance impossible par le greffe",
'_19'=>"Surveillance RCS impossible",
'_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)",
'_22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
'_23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
'_24'=>"Surveillance impossible car société en liquidation judiciaire",
'_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)",
'_23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
'_24'=>"Surveillance impossible car société en liquidation judiciaire",
'_25'=>"Greffe inconnu",
'_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)",
'_28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
'_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)",
'_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)",
'_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é",
'_51'=>"Etablissement non trouvé",
'_52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
'_53'=>"le siren est déjà sous surveillance",
'_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é",
'_51'=>"Etablissement non trouvé",
'_52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
'_53'=>"le siren est déjà sous surveillance",
'_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",
'_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)",
'_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)",
'_88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
'_99'=>"Surveillance impossible pour raisons à examiner",
'_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",
'_99'=>"Surveillance impossible pour raisons à examiner",
'_R'=>"Radiation RCS",
'_L'=>"Liquidation Judiciaire",
'_T'=>"Transfert dans un autre greffe",
);
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);
@ -78,12 +78,12 @@ define('CSF_FTP_DIR', '/home/data/ftp/creditsafe/send/');
define('CSF_BACKUP_DIR', '/home/data/jal/creditsafe/');
$strInfoScript='Usage : '.basename($argv[0]). " <option> [FICHIER1] ...
Gestion de la surveillance Privilèges avec Infogreffe
Gestion de la surveillance Privilèges avec Infogreffe
Options :
-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
-d Mode debug (Verbosité au maximum)
-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
-d Mode debug (Verbosité au maximum)
";
// -i Forcer les questions Interactives
// -t Charger en test (implique -j -d -i)
@ -95,13 +95,13 @@ Options :
$iRncs=new MRncs();
$nbSiretValides=$nbSiretInvalides=$nbInsert=$nbUpdate=0;
$modeDebug=false; // Mode débug
$questions=false; // Questions interactives autorisées
$genereDE=true; // Génére le fichier des demandes/suppressions de surveillance PRIVILEGES
$modeDebug=false; // Mode débug
$questions=false; // Questions interactives autorisées
$genereDE=true; // Génére le fichier des demandes/suppressions de surveillance PRIVILEGES
$compteDE=false; // Compter le nb de nvelles DE et stopper !
$tabFichier=$tabFichLigneCmd=array();
$strMailInfo=''; // Initialisation du mail d'exécution du traitement
$strMailInfo=''; // Initialisation du mail d'exécution du traitement
$argv=$_SERVER['argv'];
@ -123,7 +123,7 @@ Options :
} 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
**/
@ -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
WHERE source='privileges' AND siren>100 AND siren NOT IN (SELECT siren FROM greffes_priv_stock)
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
FROM greffes_priv_stock WHERE retry=1
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
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);
$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();
$timeStamp=date('YmdHis');
@ -153,7 +153,7 @@ Options :
while ($tabSiren=$iDb->fetch(MYSQL_ASSOC)) {
//print_r($tabSiren);
$siren=$tabSiren['siren'];
if ($tabSiren['retry']==1) { // Réenvoi après rejet
if ($tabSiren['retry']==1) { // Réenvoi après rejet
$tabInsert=$tabSiren;
$tabInsert['retry']=0;
} elseif($tabSiren['retry']==100) { // Reconduction annuelle
@ -174,13 +174,13 @@ Options :
'dateInsert'=>$timeStamp,
);
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);
$tabInsert['steNom'] = @$tabIdInsee['Nom'];
}
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);
$tabInsert['steVoieNum'] = @trim($tabIdInsee['AdresseNum'].' '.$tabIdInsee['AdresseBtq']);
$tabInsert['steVoieType']= @$tabIdInsee['AdresseVoie'];
@ -196,45 +196,45 @@ Options :
$iDb2->update('greffes_priv_stock', $tabInsert, "siren=$siren");
else {
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.=exporte('07100001', 8); // N° Abonné = 07100001
$strOutput.=exporte('C', 1); // C/S Création ou Suppression de surveillance
$strOutput.=exporte('07100001', 8); // N° Abonné = 07100001
$strOutput.=exporte('C', 1); // C/S Création ou Suppression de surveillance
$strOutput.=exporte($tabInsert['dateInsert'], 8); // Date de la demande
$strOutput.=exporte('', 50); // Réf Intene S&D
$strOutput.=exporte('', 2); // Type Réponse Extelia
$strOutput.=exporte('', 8); // Date Réponse Extelia
$strOutput.=exporte('', 4); // N° du greffe
$strOutput.=exporte('', 50); // Réf Intene S&D
$strOutput.=exporte('', 2); // Type Réponse Extelia
$strOutput.=exporte('', 8); // Date Réponse Extelia
$strOutput.=exporte('', 4); // N° du greffe
$strOutput.=exporte($tabInsert['siren'], 9);
$strOutput.=exporte('', 10); // N° de gestion RCS
$strOutput.=exporte($tabInsert['steNom'], 160); // Dénomination
$strOutput.=exporte('', 8); // N° de débiteur
$strOutput.=exporte($tabInsert['steVoieNum'], 10); // Adresse : Numéro de voie
$strOutput.=exporte('', 10); // N° de gestion RCS
$strOutput.=exporte($tabInsert['steNom'], 160); // Dénomination
$strOutput.=exporte('', 8); // N° de débiteur
$strOutput.=exporte($tabInsert['steVoieNum'], 10); // Adresse : Numéro de voie
$strOutput.=exporte($tabInsert['steVoieType'], 4); // Adresse : Type de voie
$strOutput.=exporte($tabInsert['steVoieLib'], 20); // Adresse : Libellé de la voie
$strOutput.=exporte($tabInsert['steVoieComp1'], 32);// Adresse : Complément 1
$strOutput.=exporte($tabInsert['steVoieComp2'], 32);// Adresse : Complément 2
$strOutput.=exporte($tabInsert['steVoieLib'], 20); // Adresse : Libellé de la voie
$strOutput.=exporte($tabInsert['steVoieComp1'], 32);// Adresse : Complément 1
$strOutput.=exporte($tabInsert['steVoieComp2'], 32);// Adresse : Complément 2
$strOutput.=exporte($tabInsert['steCP'], 5); // Adresse : Code Postal
$strOutput.=exporte('', 1); // Filler
$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('71', 10); // Code Catalogue = 71
$strOutput.=exporte('', 4); // Filler
$strOutput.=exporte('', 8); // Flux retour : Date de l'AR
$strOutput.=exporte('', 3); // Flux retour : Code AR ou rejet
$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('', 8); // Flux retour : Date de début de Surveillance
$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('', 8); // Flux retour : Date de début de Surveillance
$strOutput.=exporte('', 8); // Flux retour : Date de Fin de Surveillance
$strOutput.=exporte('', 11); // Filler
echo $strOutput.EOL;
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);
$nbLignes++;
@ -243,9 +243,9 @@ Options :
if ($nbLignes==0) {
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
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);
@ -254,8 +254,9 @@ Options :
$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(); }
// 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);
//print_r($contents);
//die('ici');
if ($contents) {
@ -263,8 +264,7 @@ Options :
$tailleDist = ftp_size($conn_id, $server_file);
$dateDist = ftp_mdtm($conn_id, $server_file);
$server_fileName=basename($server_file);
if (!preg_match('/IPRDESCO/i', $server_fileName)) {
if (!preg_match('/IPRDESCO|IPSARSCO|IPSRESCO/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;
continue;
} elseif ($modeDebug)
@ -273,11 +273,11 @@ Options :
if ($dateDist != -1) {
$tabFichiers[$server_fileName]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
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 {
$tabFichiers[$server_fileName]['dateDispo']=NULL;
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]['cheminNom']=$server_file;
@ -299,21 +299,21 @@ Options :
$tDur = round($tFin-$tDeb,3);
$tailleDistKo=round($tailleDist/1024,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;
$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;
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;
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;
$strMailInfo.=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;
}
} 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)
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) {
/** Dépot du fichier des demandes **/
/** Dépot du fichier des demandes **/
$tailleLoc=filesize(PRIVILEGES_FTP_LOCALDIR.$nomFicDem);
$tDeb = microtime(true);
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);
$tailleLocKo=round($tailleLoc/1024,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;
$strMailInfo.=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;
} 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
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) {
@ -338,8 +338,8 @@ Options :
while (false !== ($filename = readdir($dh))) {
$idF=substr($filename, 14, 8);
if ($filename<>'.' && $filename<>'..' &&
($idF=='IPSARSCO' || // Fichier des Accusés de Réception des demandes de surveillance
$idF=='IPSRESCO' || // Fichier des Révélations
($idF=='IPSARSCO' || // Fichier des Accusés de Réception des demandes de surveillance
$idF=='IPSRESCO' || // Fichier des Révélations
$idF=='IPSPOSCO') ) // Fichier "Portefeuille"
$tabFichier[] = PRIVILEGES_FTP_LOCALDIR.$filename;
}
@ -354,7 +354,7 @@ Options :
$fichier=basename($fichier);
$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));
/*
$dateFichierMod=substr(''.$dateDispo,0,8)*1;
@ -369,14 +369,14 @@ Options :
$nbCreations=$nbModifI=$nbModifF=$nbModifS=$nbFermetures=$nbModifErr=0;
$a = fgets($fp, 4096);
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();
}*/
$nbLignesTot=0;
while (!feof($fp)) {
$a = fgets($fp, 5096);
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();
}
$nbLignesTot++;
@ -387,19 +387,19 @@ Options :
$nbLignesCharges=$tabTmp[0]['nb'];
$dateChargement=$tabTmp[0]['dateChargement'];
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);
continue;
} 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'). " - Arrêt du traitement.".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;
die();
}
} 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) {
// 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) ";
while (1) {
$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;
rewind($fp);
$a = fgets($fp, 5096);
$sirenPre=0; // Valeur du Siren précédent
$sirenPre=0; // Valeur du Siren précédent
$siren=0;
$modifDir=$modifJug=false;
$table='';
@ -427,82 +427,82 @@ Options :
$nbLignes++;
$codeEnr = ''.trim( substr($a, 0, 2));
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++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['numChrono'] = trim( substr($a, 18, 10)); // N° chrono du fichier
break;
case '01': // PRIVILEGES
//die("'$a'");
$nbLignes01++;
$tabInsert=array();
// Données sur la surveillance
$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['refSurv']=trim(substr($a, 18 , 10 )); // Référence Extelia de la surveillance
// Données sur la surveillance
$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['refSurv']=trim(substr($a, 18 , 10 )); // Référence Extelia de la surveillance
$tabInsert['siren']=trim(substr($a, 28 , 9 )); // Siren
$tabInsert['greffe']=trim(substr($a, 37 , 4 )); // Greffe
$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['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['codeRev']=trim(substr($a, 69 , 10 )); // Code de dernière révélation
// Données sur le 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['debCiv']=trim(substr($a, 319 , 10 )); // Civilité 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['debConjoint']=trim(substr($a, 553 , 32 )); // Conjoint débiteur
$tabInsert['debUsage']=trim(substr($a, 585 , 32 )); // Usage débiteur
$tabInsert['debEnseigne']=trim(substr($a, 617 , 64 )); // Enseigne 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['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['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['debLibVoie']=trim(substr($a, 915 , 50 )); // Nom de la voie débiteur
$tabInsert['debAdrComp']=trim(substr($a, 965 , 50 )); // Localité 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['debPays']=trim(substr($a, 1080 , 10 )); // Pays débiteur
// Données sur l'inscription
$tabInsert['insType']=trim(substr($a, 1090 , 10 )); // Type de 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['numDebiteur']=trim(substr($a, 41 , 8 )); // Numéro du débiteur
$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['dateFraiche']=trim(substr($a, 61 , 8 )); // Date de fraîcheur
$tabInsert['codeRev']=trim(substr($a, 69 , 10 )); // Code de dernière révélation
// Données sur le 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['debCiv']=trim(substr($a, 319 , 10 )); // Civilité 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['debConjoint']=trim(substr($a, 553 , 32 )); // Conjoint débiteur
$tabInsert['debUsage']=trim(substr($a, 585 , 32 )); // Usage débiteur
$tabInsert['debEnseigne']=trim(substr($a, 617 , 64 )); // Enseigne 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['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['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['debLibVoie']=trim(substr($a, 915 , 50 )); // Nom de la voie débiteur
$tabInsert['debAdrComp']=trim(substr($a, 965 , 50 )); // Localité 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['debPays']=trim(substr($a, 1080 , 10 )); // Pays débiteur
// Données sur l'inscription
$tabInsert['insType']=trim(substr($a, 1090 , 10 )); // Type de 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['insDate']=trim(substr($a, 1189 , 8 ))*1; // Date d'inscription
$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['insDev']=trim(substr($a, 1717 , 10 )); // Devise de la créance
$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['insNanTx']=trim(substr($a, 1743 , 5 )); // Nantissements : Taux d'intérêt
$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['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['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['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['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['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['insNSCSigni']=trim(substr($a, 3128 , 200 )); // Nantissements de parts de sociétés civiles : Signification
// Données sur les créanciers
$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['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['creAdrComp1']=trim(substr($a, 3568 , 50 )); // Résidence créancier
$tabInsert['creAdrComp2']=trim(substr($a, 3618 , 50 )); // Localité 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['crePays']=trim(substr($a, 3733 , 10 )); // Pays créancier
$tabInsert['creAutres']=trim(substr($a, 3743 , 900 )); // Nom des 9 autres créanciers
// Données sur la radiation
$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['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['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['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['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
// Données sur les créanciers
$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['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['creAdrComp1']=trim(substr($a, 3568 , 50 )); // Résidence créancier
$tabInsert['creAdrComp2']=trim(substr($a, 3618 , 50 )); // Localité 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['crePays']=trim(substr($a, 3733 , 10 )); // Pays créancier
$tabInsert['creAutres']=trim(substr($a, 3743 , 900 )); // Nom des 9 autres créanciers
// Données sur la radiation
$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['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['radDev']=trim(substr($a, 4979 , 10 )); // Devise du montant de la radiation partielle
$tabInsert['radDiv']=trim(substr($a, 4989 , 10 )); // Zone libre
$tabInsert['idFichier']=$fichier;
@ -523,7 +523,7 @@ Options :
" AND radDate=".$tabInsert['radDate'].
" AND radPartMt=".$tabInsert['radPartMt'])) {
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 numDebiteur='".$tabInsert['numDebiteur']."'
AND insType=".$tabInsert['insType'].
@ -538,16 +538,16 @@ Options :
}
} else {
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();
}
}
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++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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['nbLignes02'] = trim( substr($a, 38, 10)); // Nombre de lignes RCS (procol)
$tabFin['nbLignes03'] = trim( substr($a, 48, 10)); // Nombre de lignes BIL (bilans)
break;
@ -556,7 +556,7 @@ Options :
} // Fin lecture fichier
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
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
$nbLignes=$nbLignes00=$nbLignes99=0;
@ -565,13 +565,13 @@ Options :
$a = fgets($fp, 5096);
$len=strlen($a);
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'");
}
$nbLignesTot++;
}
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;
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;
echo $message;
rewind($fp);
$a = fgets($fp, 5096);
@ -580,40 +580,40 @@ Options :
//992010040607100001AR00000000010000000156
$codeEnr = ''.trim( substr($a, 0, 2));
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++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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;
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++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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)
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;
default:
$nbLignes++;
$siren = trim(substr($a, 81 , 9 ));// Siren
$tabUpdate=array();
// Données sur la surveillance
$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['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['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['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
// Données sur la surveillance
$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['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['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['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['greDateSurvFin'] = trim(substr($a, 461 , 8 ));// Date de fin de la surveillance
$tabUpdate['idFichier']=$fichier;
if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) {
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();
}
break;
@ -623,7 +623,7 @@ Options :
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
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
@ -632,51 +632,51 @@ Options :
$a = fgets($fp, 5096);
$len=strlen($a);
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'");
}
$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);
//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;
rewind($fp);
$a = fgets($fp, 5096);
while (!feof($fp)) {
$codeEnr = ''.trim( substr($a, 0, 2));
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++;
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabEntete['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabEntete['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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;
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++;
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$tabFin['dateCreation'] = trim( substr($a, 2, 8)); // Date création fichier par Infogreffe
$tabFin['numAbonne'] = trim( substr($a, 10, 8)); // N° d'abonné
$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)
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;
default:
$nbLignes++;
$siren = trim(substr($a, 81 , 9 )); // Siren
$tabUpdate=array();
// Données sur la surveillance
//$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['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['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['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
// Données sur la surveillance
//$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['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['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['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['greDateSurvFin'] = trim(substr($a, 461 , 8 )); // Date de fin de la surveillance
//$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);
if (isset($ret[0])) $ret=$ret[0];
else {
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['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia
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['greRepDate'] = trim(substr($a, 69 , 8 ));// Date de la réponse Extelia
$tabUpdate['numGestion'] = trim(substr($a, 90 , 10 ));//
$tabUpdate['steNom'] = trim(substr($a, 100 , 160 ));//
$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']); }
else {
//$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;
print_r($ret);
echo "A METTRE A JOUR".EOL;
@ -730,7 +730,7 @@ Options :
}
if (!$iDb2->update('greffes_priv_stock', $tabUpdate, "siren=$siren")) {
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();
}
break;
@ -743,7 +743,7 @@ Options :
if (bzip2($fichierAvecRep, PRIVILEGES_BACKUP_DIR.$fichier)) {
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;
}
@ -752,7 +752,7 @@ Options :
@fclose($fp);
} // 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();
?>

View File

@ -7,11 +7,11 @@ include_once(FWK_PATH.'common/dates.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 !!!**/
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)
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
";/* -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>',
'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);
$iDeb=$ret[0][0];
@ -107,7 +107,7 @@ for($i=$iDeb;;$i++) {
//print_r($tabInsert);
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;
echo date('Y/m/d - H:i:s')." - $i : Il semble que le dernier numéro '$table' attribué soit le ".($i-$nbVides).EOL;
die();
}
}

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