1263 lines
61 KiB
PHP
1263 lines
61 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
/**
|
|
** @todo
|
|
**
|
|
**/
|
|
|
|
echo date ('Y/m/d - H:i:s')." - DEBUT de la consolidation de la base Etablissements".EOL;
|
|
|
|
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(INCLUDE_PATH.'partenaires/classMRncs.php');
|
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|
|
|
$all=true;
|
|
$joAsso=$joBodacc=$baseInsee=$baseInpi=$reset=$pageRankOnly=$iGreffe=$iLiens=false;
|
|
// Compteurs
|
|
$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.
|
|
|
|
Options :
|
|
-a Consolider seulement le JO association.
|
|
-b Consolider seulement le Bodacc
|
|
-i Consolider les infos SIRENE (Insee)
|
|
-n Consolider les infos RNCS (Inpi)
|
|
-g Consolider les entreprises en provenance des Greffes
|
|
-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
|
|
";
|
|
|
|
$argv=$_SERVER['argv'];
|
|
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 '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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
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);
|
|
die();
|
|
}
|
|
|
|
/** Par défaut, on consolide toutes les sources **/
|
|
if ($all) {
|
|
$joAsso=$joBodacc=$baseInsee=$baseInpi=$iGreffe=$iLiens=$iMarques=true;
|
|
}
|
|
|
|
$iDb=new WDB('jo');
|
|
global $iBodacc;
|
|
$iBodacc=new MBodacc();
|
|
|
|
|
|
function getCodePrefectures($strPrefecture, $dep=0) {
|
|
global $iBodacc;
|
|
$type='?';
|
|
|
|
if (preg_match('/sous.pr.f.cture(.*)/i',$strPrefecture, $matches)) {
|
|
$pref=$matches[1];
|
|
$type='B';
|
|
$tabTmp=$iBodacc->getTribunauxParDep($dep);
|
|
foreach ($tabTmp as $i=>$tribunal)
|
|
if ($tribunal['triType']=='B') {
|
|
$spref=levenshtein($tribunal['triNom'], 'SOUS PREFECTURE '.strtoupper(trim($pref)));
|
|
//echo $tribunal['triNom'] .'<=>SOUS PREFECTURE '.strtoupper($pref)."\n";
|
|
//print_r($matches);
|
|
if ($spref<=5) {
|
|
return $tribunal['triCode'];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
elseif (preg_match('/pr.f.cture(.*)/i',$strPrefecture, $matches)) {
|
|
$pref=$matches[1];
|
|
$type='A';
|
|
$tabTmp=$iBodacc->getTribunauxParDep($dep);
|
|
foreach ($tabTmp as $i=>$tribunal)
|
|
if ($tribunal['triType']=='A') {
|
|
return $tribunal['triCode'];
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($dep==75 || preg_match('/police/i',$strPrefecture)) return 'PARISA';
|
|
|
|
return '';
|
|
}
|
|
// 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;
|
|
foreach ($retTmp as $i=>$tabTmp) {
|
|
$nb=$tabTmp['nb']*1;
|
|
$dep=$tabTmp['Departement']*1;
|
|
$strPref=$tabTmp['Sous_Prefecture'];
|
|
$codTri=getCodePrefectures($strPref, $dep);
|
|
echo "$nb - $dep:$codTri:$strPref\n";
|
|
}
|
|
|
|
die();
|
|
// Fin test
|
|
*/
|
|
|
|
if (!$pageRankOnly) {
|
|
|
|
$iDb2=new WDB('jo');
|
|
$iDbInsee=new WDB('insee');
|
|
|
|
$iInsee=new MInsee();
|
|
//if (0==1) {
|
|
|
|
|
|
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());
|
|
|
|
if (!$iDb->query("CREATE TABLE jo.etablissements_tmp (
|
|
`id` bigint(20) NOT NULL auto_increment,
|
|
`source` tinyint(3) unsigned zerofill NOT NULL,
|
|
`source_id` bigint(20) unsigned NOT NULL,
|
|
`triCode` varchar(6) NOT NULL,
|
|
`autre_id` varchar(15) NOT NULL,
|
|
`siren` int(9) unsigned zerofill NOT NULL,
|
|
`nic` mediumint(5) unsigned zerofill NOT NULL,
|
|
`actif` tinyint(1) NOT NULL,
|
|
`siege` tinyint(1) unsigned NOT NULL,
|
|
`raisonSociale` varchar(80) NOT NULL,
|
|
`enseigne` varchar(40) NOT NULL,
|
|
`sigle` varchar(20) NOT NULL,
|
|
`identite_pre` varchar(255) NOT NULL,
|
|
`marques` TEXT NOT NULL,
|
|
`adr_num` smallint(4) unsigned zerofill NOT NULL,
|
|
`adr_btq` char(1) NOT NULL,
|
|
`adr_typeVoie` char(4) NOT NULL,
|
|
`adr_libVoie` varchar(32) NOT NULL,
|
|
`adr_comp` varchar(38) NOT NULL,
|
|
`adr_cp` mediumint(5) unsigned zerofill NOT NULL,
|
|
`adr_ville` varchar(32) NOT NULL,
|
|
`adr_dep` char(3) NOT NULL,
|
|
`adr_com` smallint(3) unsigned zerofill NOT NULL,
|
|
`tel` bigint(10) unsigned zerofill NOT NULL,
|
|
`fax` bigint(10) unsigned zerofill NOT NULL,
|
|
`cj` smallint(4) unsigned zerofill NOT NULL,
|
|
`capital` bigint(15) unsigned zerofill NOT NULL,
|
|
`capitalDev` char(3) NOT NULL,
|
|
`capitalSrc` tinyint(3) unsigned zerofill NOT NULL,
|
|
`ape_etab` char(5) NOT NULL,
|
|
`ape_entrep` char(5) NOT NULL,
|
|
`age_entrep` tinyint(3) unsigned NOT NULL,
|
|
`age_etab` tinyint(3) unsigned NOT NULL,
|
|
`tca` tinyint(1) unsigned zerofill NULL,
|
|
`tcaexp` tinyint(1) unsigned zerofill NOT NULL,
|
|
`teff_entrep` tinyint(2) unsigned NULL,
|
|
`teff_etab` tinyint(2) unsigned NULL,
|
|
`rang` smallint unsigned NOT NULL,
|
|
`dateInsert` datetime NOT NULL,
|
|
`dateUpdate` timestamp NOT NULL default '0000-00-00 00:00:00' on update CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `source` (`source`,`source_id`),
|
|
KEY `idxTel` (`tel`),
|
|
KEY `idxFax` (`fax`),
|
|
KEY `idxSiret` (`siren`,`nic`,`actif`,`siege`),
|
|
KEY `idxAutreId` (`autre_id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1;", true))
|
|
die($iDb->getLastError());
|
|
|
|
$strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des établissements.".EOL;
|
|
if ($baseInsee) {
|
|
/*$dateInsert=date('YmdHis');
|
|
if (!$reset) {
|
|
$tabTmp=$iDb->select('etablissements_tmp', 'max(source_id)', 'source=2', true);
|
|
$last_id=$tabTmp[0][0]*1;
|
|
} else {
|
|
$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;
|
|
|
|
$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;
|
|
|
|
/*$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,
|
|
ADR_BTQ as adr_btq, ADR_TYPVOIE as adr_typevoie, ADR_LIBVOIE as adr_libvoie, ADR_COMP as adr_comp,
|
|
ADR_CP as adr_cp, ADR_LIBCOM as adr_ville, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS adr_dep,
|
|
TEL as tel, FAX as fax, CJ as cj, APE_ETAB as ape_etab, APE_ENT as apen_entrep, 0 as rank, DATE_MAJ as dateInsert,
|
|
0 as dateUpdate FROM insee.identite");
|
|
|
|
/*
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(e.sigle,'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(i.SIGLE,'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(e.sigle,' ',''),'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(i.SIGLE,' ',''),'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(i.NOM,'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(e.raisonSociale,'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.',''),
|
|
' ',REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(ENSEIGNE,'@','A'), '&',' ET '),'/',''),',',''),'-',''),'.','')
|
|
*/
|
|
$iDb->query("INSERT INTO jo.etablissements_tmp SELECT 0 AS id, '2' AS source, id AS source_id, e.triCode AS triCode, IF(e.numRC2 IS NOT NULL OR e.numRC2<>'', e.numRC2, i.NUMRC) AS autre_id, i.SIREN AS siren, i.NIC AS nic, i.ACTIF%10 as actif,
|
|
SIEGE as siege, i.NOM as raisonSociale, i.ENSEIGNE AS enseigne, i.SIGLE AS sigle, TRIM(CONCAT_WS(' ',i.IDENTITE_PRE,i.NOM2,e.raisonSociale,e.sigle)) AS identite_pre, '' AS marques, ADR_NUMVOIE as adr_num,
|
|
ADR_BTQ as adr_btq, ADR_TYPVOIE as adr_typevoie, ADR_LIBVOIE as adr_libvoie, ADR_COMP as adr_comp,
|
|
ADR_CP as adr_cp, ADR_LIBCOM as adr_ville, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS adr_dep, ADR_COM as adr_com,
|
|
TEL as tel, FAX as fax, i.CJ as cj, IF(e.capitalMontant IS NOT NULL OR e.capitalMontant>0, e.capitalMontant, i.CAPITAL) AS capital, IF(e.capitalDevIso IS NOT NULL OR e.capitalDevIso<>'', e.capitalDevIso, i.CAPITAL_DEV) AS capitalDev, IF(e.capitalMontant IS NOT NULL OR e.capitalMontant>0, 5, 2) AS capitalSrc, APE_ETAB as ape_etab, APE_ENT as apen_entrep, YEAR(NOW())-YEAR(DCREN) as age_entrep, YEAR(NOW())-YEAR(DCRET) as age_etab,
|
|
TCA as tca, TCAEXP as tcaexp, IF(TEFF_ENT='NN', NULL, TEFF_ENT*1) AS teff_entrep, IF(TEFF_ET='NN', NULL, TEFF_ET*1) AS teff_etab,
|
|
0 as rank, DATE_MAJ as dateInsert,
|
|
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;
|
|
|
|
/*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;
|
|
|
|
while ($tabSiren=$iDbInsee->fetch(MYSQL_ASSOC)) {
|
|
$tabEtab=array( 'source'=>2,
|
|
'source_id'=>$tabSiren['id'],
|
|
'siren'=>$tabSiren['SIREN'],
|
|
'nic'=>$tabSiren['NIC'],
|
|
'triCode'=>'',
|
|
'autre_id'=>$tabSiren['NUMRC'],
|
|
'siege'=>$tabSiren['SIEGE'],
|
|
'raisonSociale'=>$tabSiren['NOM'].$tabSiren['NOM2'],
|
|
'enseigne'=>$tabSiren['ENSEIGNE'],
|
|
'sigle'=>$tabSiren['SIGLE'],
|
|
'adr_num'=>$tabSiren['ADR_NUMVOIE'],
|
|
'adr_btq'=>$tabSiren['ADR_BTQ'],
|
|
'adr_typeVoie'=>$tabSiren['ADR_TYPVOIE'],
|
|
'adr_libVoie'=>$tabSiren['ADR_LIBVOIE'],
|
|
'adr_comp'=>$tabSiren['ADR_COMP'],
|
|
'adr_cp'=>$tabSiren['ADR_CP'],
|
|
'adr_ville'=>$tabSiren['ADR_LIBCOM'],
|
|
'adr_dep'=>$tabSiren['ADR_DEP'],
|
|
'tel'=>$tabSiren['TEL'],
|
|
'fax'=>$tabSiren['FAX'],
|
|
'cj'=>$tabSiren['CJ'],
|
|
'ape_etab'=>$tabSiren['APE_ETAB'],
|
|
'ape_entrep'=>$tabSiren['APE_ENT'],
|
|
'dateInsert'=>$dateInsert,
|
|
|
|
);
|
|
if (!$iDb->insert('etablissements',$tabEtab))
|
|
$zerqzfqsd=0;
|
|
// $iDb->update('etablissements',$tabEtab);
|
|
}*/
|
|
}
|
|
|
|
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;
|
|
|
|
$dateInsert=date('YmdHis');
|
|
|
|
//$nbBodS=$iDb->select('rncs_entrep r','r.siren, r.sirenValide, r.actif AS actifEnt, r.triCode, r.triId, r.numGreffe, r.numRC2, r.raisonSociale, r.sigle, r.naf, r.cj, r.capitalMontant, r.capitalDevIso, r.dateImma, r.dateRad, r.capitalType, r.provisoires, r.flux', 'r.siren NOT IN (SELECT distinct siren FROM etablissements)', false,MYSQL_ASSOC,true);
|
|
|
|
$nbBodS=$iDb->select('rncs_entrep g LEFT JOIN etablissements_tmp e ON g.siren = e.siren',
|
|
'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;
|
|
|
|
while ($tabEntrep=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$siren=$tabEntrep['siren'];
|
|
$ret1=$iDb2->select('rncs_etab', 'id, siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, naf, dateFermeture, flux', "siren=$siren", false, MYSQL_ASSOC);
|
|
|
|
$ret2=$iDb2->select('rncs_etab_prov', 'id, siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, naf, dateFermeture, flux', "siren=$siren", false, MYSQL_ASSOC);
|
|
|
|
$ret=@array_merge($ret1, $ret2);
|
|
/* if (count($ret)==0 && $this->iInsee->valideSiren($siren)) {
|
|
$etab=$iGeffes->getIdentite($siren);
|
|
if ($etab) {
|
|
$ret[]=array( 'id' => $etab['id'],
|
|
'Pertinence'=> $etab['Pertinence'],
|
|
'Siret' => $etab['Siret'],
|
|
'Siege' => $etab['Siege'],
|
|
'Nom' => prepareString($etab['Nom']),
|
|
'Nom2' => prepareString($etab['Nom2']),
|
|
'Sigle' => prepareString($etab['Sigle']),
|
|
'Enseigne' => prepareString($etab['Enseigne']),
|
|
'Adresse' => prepareString($etab['Adresse']),
|
|
'Adresse2' => prepareString($etab['Adresse2']),
|
|
'CP' => $etab['CP'],
|
|
'Ville' => prepareString($etab['Ville']),
|
|
'Tel' => $etab['Tel'],
|
|
'Fax' => $etab['Fax'],
|
|
'FJ' => $etab['FJ'],
|
|
'FJLib' => prepareString($etab['FJLib']),
|
|
'Siren' => $etab['Siren'],
|
|
'Nic' => $etab['Nic'],
|
|
'Actif' => $etab['Actif'],
|
|
'NafEtab' => $etab['NafEtab'],
|
|
'NafEtabLib'=> prepareString($etab['NafEtabLib']),
|
|
'NafEnt' => $etab['NafEnt'],
|
|
'NafEntLib' => prepareString($etab['NafEntLib']),
|
|
);
|
|
}
|
|
}
|
|
*/
|
|
|
|
foreach ($ret as $tabEt) {
|
|
$actif=$tabEt['actif'];
|
|
if ($tabEntrep['actif']==0) $actif=0;
|
|
$dep=floor($tabEt['cp']/1000);
|
|
if ($dep>96) $dep=floor($tabEt['cp']/100);
|
|
$tabEtab=array( 'source'=>5,
|
|
'source_id'=>$tabEt['id'],
|
|
'siren'=>$tabEntrep['siren'],
|
|
'nic'=>$tabEt['nic'],
|
|
'triCode'=>$tabEntrep['triCode'],
|
|
'autre_id'=>$tabEntrep['numRC2'],
|
|
'siege'=>$tabEt['siege'],
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$tabEntrep['raisonSociale'],
|
|
'enseigne'=>$tabEt['enseigne'],
|
|
'sigle'=>$tabEntrep['sigle'],
|
|
'identite_pre'=>$tabEt['nomCommercial'],
|
|
'adr_num'=>$tabEt['adrNumVoie'],// , , , cp, commune, ,
|
|
'adr_btq'=>$tabEt['adrIndRep'],
|
|
'adr_typeVoie'=>$tabEt['adrTypeVoie'],
|
|
'adr_libVoie'=>$tabEt['adrVoie'],
|
|
'adr_comp'=>$tabEt['adrComp'],
|
|
'adr_cp'=>$tabEt['cp'],
|
|
'adr_ville'=>$tabEt['commune'],
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$tabEntrep['cj'],
|
|
'capital'=>$tabEntrep['capitalMontant'],
|
|
'capitalDev'=>$tabEntrep['capitalDevIso'],
|
|
'capitalSrc'=>5,
|
|
'ape_etab'=>$tabEt['naf'],
|
|
'ape_entrep'=>$tabEntrep['naf'],
|
|
'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 RNCS sur le siren ". $tabEntrep['siren'] .' : '. $tabEntrep['raisonSociale'] .' ('. $tabEt['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} else
|
|
$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;
|
|
|
|
|
|
$dateInsert=date('YmdHis');
|
|
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;
|
|
|
|
while ($tabEt=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$siren=$tabEt['siren'];
|
|
|
|
$ret=$iDb2->select('rncs_entrep', 'siren, actif, numGreffe, triCode, triId, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, dateFer, capitalType, capitalCent, provisoires, flux, dateInsert', "siren=$siren", false, MYSQL_ASSOC);
|
|
$tabEntrep=$ret[0];
|
|
|
|
$actif=$tabEt['actif'];
|
|
if ($tabEntrep['actif']==0) $actif=0;
|
|
|
|
$dep=floor($tabEt['cp']/1000);
|
|
if ($dep>96) $dep=floor($tabEt['cp']/100);
|
|
$tabEtab=array( 'source'=>5,
|
|
'source_id'=>$tabEt['id'],
|
|
'siren'=>$siren,
|
|
'nic'=>$tabEt['nic'],
|
|
'triCode'=>$tabEntrep['triCode'],
|
|
'autre_id'=>$tabEntrep['numRC2'],
|
|
'siege'=>$tabEt['siege'],
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$tabEntrep['raisonSociale'],
|
|
'enseigne'=>$tabEt['enseigne'],
|
|
'sigle'=>$tabEntrep['sigle'],
|
|
'identite_pre'=>$tabEt['nomCommercial'],
|
|
'adr_num'=>$tabEt['adrNumVoie'],
|
|
'adr_btq'=>$tabEt['adrIndRep'],
|
|
'adr_typeVoie'=>$tabEt['adrTypeVoie'],
|
|
'adr_libVoie'=>$tabEt['adrVoie'],
|
|
'adr_comp'=>$tabEt['adrComp'],
|
|
'adr_cp'=>$tabEt['cp'],
|
|
'adr_ville'=>$tabEt['commune'],
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$tabEntrep['cj'],
|
|
'capital'=>$tabEntrep['capitalMontant'],
|
|
'capitalDev'=>$tabEntrep['capitalDevIso'],
|
|
'capitalSrc'=>5,
|
|
'ape_etab'=>$tabEt['naf'],
|
|
'ape_entrep'=>$tabEntrep['naf'],
|
|
'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 RNCS sur le siren ". $tabEntrep['siren'] .' : '. $tabEntrep['raisonSociale'] .' ('. $tabEt['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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;
|
|
}
|
|
|
|
|
|
if ($joBodacc) {
|
|
echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table établissements depuis le Bodacc.".EOL;
|
|
|
|
$dateInsert=date('YmdHis');
|
|
/* if (!$reset) {
|
|
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1', true);
|
|
$last_id=$tabTmp[0][0]*1;
|
|
} 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;
|
|
|
|
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
|
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
|
$cj=$naf='';
|
|
$dep=floor($tabBodacc['codePostalSiege']/1000);
|
|
if ($dep>96) $dep=floor($tabBodacc['codePostalSiege']/100);
|
|
|
|
$actif=1;
|
|
$tabEven=explode(';',$tabBodacc['typeEven']);
|
|
foreach ($tabEven as $even) {
|
|
$typeEven=$even*1;
|
|
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
|
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven==2720) $actif=0;
|
|
}
|
|
|
|
if (trim(@$tabBodacc['adresseSiege'])<>'') {
|
|
$siege=1;
|
|
$adr_num=$tabBodacc['adrSiegeNum'];
|
|
$adr_btq=$tabBodacc['adrSiegeIndRep'];
|
|
$adr_typeVoie=$tabBodacc['adrSiegeTypVoie'];
|
|
$adr_libVoie=$tabBodacc['adrSiegeLibVoie'];
|
|
$adr_comp=trim(strtoupper($tabBodacc['adrSiegeComp1'].' '.$tabBodacc['adrSiegeComp2']));
|
|
$adr_cp=$tabBodacc['codePostalSiege'];
|
|
$adr_ville=strtoupper(trim(strtr($tabBodacc['villeSiege'], '{.!}',' ')));
|
|
} else {
|
|
$siege=0;
|
|
$adr_num=$tabBodacc['adrNum'];
|
|
$adr_btq=$tabBodacc['adrIndRep'];
|
|
$adr_typeVoie=$tabBodacc['adrTypVoie'];
|
|
$adr_libVoie=$tabBodacc['adrLibVoie'];
|
|
$adr_comp=trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2']));
|
|
$adr_cp=$tabBodacc['codePostal'];
|
|
$adr_ville=strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' ')));
|
|
}
|
|
|
|
$matches1=$matches2=array();
|
|
$raisonSociale=trim($tabBodacc['raisonSociale']);
|
|
if (preg_match("/ Nom d'usage (.*)/i", $raisonSociale, $matches1))
|
|
$raisonSociale=trim(preg_replace("/ Nom d'usage .*/i", '', $raisonSociale));
|
|
if (preg_match("/ Pseudonyme (.*)/i", $raisonSociale, $matches2))
|
|
$raisonSociale=trim(preg_replace("/ Pseudonyme .*/i", '', $raisonSociale));
|
|
|
|
if (preg_match("/^S E L A R L /i", $raisonSociale) || preg_match("/ S E L A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S E L A R L','SELARL',$raisonSociale));
|
|
elseif (preg_match("/^S A R L /i", $raisonSociale) || preg_match("/ S A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A R L','SARL',$raisonSociale));
|
|
elseif (preg_match("/^S A S /i", $raisonSociale) || preg_match("/ S A S$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
|
elseif (preg_match("/^S C I /i", $raisonSociale) || preg_match("/ S C I$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
|
elseif (preg_match("/^S C P /i", $raisonSociale) || preg_match("/ S C P$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C P','SCP',$raisonSociale));
|
|
elseif (preg_match("/^S N C /i", $raisonSociale) || preg_match("/ S N C$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S N C','SNC',$raisonSociale));
|
|
elseif (preg_match("/^S A /i", $raisonSociale) || preg_match("/ S A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A','SA',$raisonSociale));
|
|
elseif (preg_match("/^S C E A /i", $raisonSociale) || preg_match("/ S C E A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C E A','SCEA',$raisonSociale));
|
|
elseif (preg_match("/^S C A /i", $raisonSociale) || preg_match("/ S C A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C A','SCA',$raisonSociale));
|
|
elseif (preg_match("/^S C /i", $raisonSociale) || preg_match("/ S C$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C','SC',$raisonSociale));
|
|
elseif (preg_match("/^E A R L /i", $raisonSociale) || preg_match("/ E A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A R L','EARL',$raisonSociale));
|
|
elseif (preg_match("/^E A R /i", $raisonSociale) || preg_match("/ E A R$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A R','EAR',$raisonSociale));
|
|
elseif (preg_match("/^E A /i", $raisonSociale) || preg_match("/ E A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A','EA',$raisonSociale));
|
|
elseif (preg_match("/^E U R L /i", $raisonSociale) || preg_match("/ E U R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E U R L','EURL',$raisonSociale));
|
|
|
|
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.strtoupper($raisonSociale).' ', array(' DENOMINATION '=>' ', ' SUCCESSION '=>' '))));
|
|
|
|
$identitePre=trim(@$matches1[1].' '.@$matches1[2]);
|
|
$dep=floor($adr_cp/1000);
|
|
if ($dep>96) $dep=floor($adr_cp/100);
|
|
|
|
$tabEtab=array( 'source'=>1,
|
|
'source_id'=>$tabBodacc['id'],
|
|
'siren'=>$tabBodacc['siren'],
|
|
'nic'=>$tabBodacc['nic'],
|
|
'triCode'=>$tabBodacc['Tribunal_Code'],
|
|
'autre_id'=>$tabBodacc['RC'],
|
|
'siege'=>$siege,
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$raisonSociale,
|
|
'enseigne'=>$tabBodacc['enseigne'],
|
|
'sigle'=>$tabBodacc['sigle'],
|
|
'identite_pre'=>$identitePre,
|
|
'adr_num'=>$adr_num,
|
|
'adr_btq'=>$adr_btq,
|
|
'adr_typeVoie'=>$adr_typeVoie,
|
|
'adr_libVoie'=>$adr_libVoie,
|
|
'adr_comp'=>$adr_comp,
|
|
'adr_cp'=>$adr_cp,
|
|
'adr_ville'=>$adr_ville,
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$cj,
|
|
'capital'=>$tabBodacc['Capital'],
|
|
'capitalDev'=>$tabBodacc['CapitalDev'],
|
|
'capitalSrc'=>1,
|
|
'ape_etab'=>$naf,
|
|
'ape_entrep'=>$naf,
|
|
'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 BODACC sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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;
|
|
|
|
|
|
$dateInsert=date('YmdHis');
|
|
/* if (!$reset) {
|
|
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1', true);
|
|
$last_id=$tabTmp[0][0]*1;
|
|
} 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;
|
|
|
|
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
|
//if ($tabBodacc['siren']<>0)
|
|
// $ret=$iDb2->select('etablissements_tmp', 'count(*)', 'SIREN='.$tabBodacc['siren']);
|
|
|
|
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
|
$cj=$naf='';
|
|
$dep=floor($tabBodacc['codePostalSiege']/1000);
|
|
if ($dep>96) $dep=floor($tabBodacc['codePostalSiege']/100);
|
|
|
|
$actif=1;
|
|
$tabEven=explode(';',$tabBodacc['typeEven']);
|
|
foreach ($tabEven as $even) {
|
|
$typeEven=$even*1;
|
|
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
|
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven==2720) $actif=0;
|
|
}
|
|
|
|
if (@$tabBodacc['adresseSiege']<>'') {
|
|
$siege=1;
|
|
$adr_num=$tabBodacc['adrSiegeNum'];
|
|
$adr_btq=$tabBodacc['adrSiegeIndRep'];
|
|
$adr_typeVoie=$tabBodacc['adrSiegeTypVoie'];
|
|
$adr_libVoie=$tabBodacc['adrSiegeLibVoie'];
|
|
$adr_comp=trim(strtoupper($tabBodacc['adrSiegeComp1'].' '.$tabBodacc['adrSiegeComp2']));
|
|
$adr_cp=$tabBodacc['codePostalSiege'];
|
|
$adr_ville=strtoupper(trim(strtr($tabBodacc['villeSiege'], '{.!}',' ')));
|
|
} else {
|
|
$siege=0;
|
|
$adr_num=$tabBodacc['adrNum'];
|
|
$adr_btq=$tabBodacc['adrIndRep'];
|
|
$adr_typeVoie=$tabBodacc['adrTypVoie'];
|
|
$adr_libVoie=$tabBodacc['adrLibVoie'];
|
|
$adr_comp=trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2']));
|
|
$adr_cp=$tabBodacc['codePostal'];
|
|
$adr_ville=strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' ')));
|
|
}
|
|
/** Suppression des Noms d'usage et Pseudonymes dans la raison sociale **/
|
|
$matches1=$matches2=array();
|
|
$raisonSociale=trim($tabBodacc['raisonSociale']);
|
|
if (preg_match("/ Nom d'usage (.*)/i", $raisonSociale, $matches1))
|
|
$raisonSociale=trim(preg_replace("/ Nom d'usage .*/i", '', $raisonSociale));
|
|
if (preg_match("/ Pseudonyme (.*)/i", $raisonSociale, $matches2))
|
|
$raisonSociale=trim(preg_replace("/ Pseudonyme .*/i", '', $raisonSociale));
|
|
|
|
if (preg_match("/^S E L A R L /i", $raisonSociale) || preg_match("/ S E L A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S E L A R L','SELARL',$raisonSociale));
|
|
elseif (preg_match("/^S A R L /i", $raisonSociale) || preg_match("/ S A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A R L','SARL',$raisonSociale));
|
|
elseif (preg_match("/^S A S /i", $raisonSociale) || preg_match("/ S A S$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
|
elseif (preg_match("/^S C I /i", $raisonSociale) || preg_match("/ S C I$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A S','SAS',$raisonSociale));
|
|
elseif (preg_match("/^S C P /i", $raisonSociale) || preg_match("/ S C P$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C P','SCP',$raisonSociale));
|
|
elseif (preg_match("/^S N C /i", $raisonSociale) || preg_match("/ S N C$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S N C','SNC',$raisonSociale));
|
|
elseif (preg_match("/^S A /i", $raisonSociale) || preg_match("/ S A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S A','SA',$raisonSociale));
|
|
elseif (preg_match("/^S C E A /i", $raisonSociale) || preg_match("/ S C E A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C E A','SCEA',$raisonSociale));
|
|
elseif (preg_match("/^S C A /i", $raisonSociale) || preg_match("/ S C A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C A','SCA',$raisonSociale));
|
|
elseif (preg_match("/^S C /i", $raisonSociale) || preg_match("/ S C$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('S C','SC',$raisonSociale));
|
|
elseif (preg_match("/^E A R L /i", $raisonSociale) || preg_match("/ E A R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A R L','EARL',$raisonSociale));
|
|
elseif (preg_match("/^E A R /i", $raisonSociale) || preg_match("/ E A R$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A R','EAR',$raisonSociale));
|
|
elseif (preg_match("/^E A /i", $raisonSociale) || preg_match("/ E A$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E A','EA',$raisonSociale));
|
|
elseif (preg_match("/^E U R L /i", $raisonSociale) || preg_match("/ E U R L$/i", $raisonSociale))
|
|
$raisonSociale=trim(str_replace('E U R L','EURL',$raisonSociale));
|
|
|
|
$raisonSociale=trim(preg_replace("/ +/",' ', strtr(' '.strtoupper($raisonSociale).' ', array(' DENOMINATION '=>' ', ' SUCCESSION '=>' '))));
|
|
|
|
$identitePre=trim(@$matches1[1].' '.@$matches1[2]);
|
|
|
|
$dep=floor($adr_cp/1000);
|
|
if ($dep>96) $dep=floor($adr_cp/100);
|
|
|
|
$tabEtab=array( 'source'=>1,
|
|
'source_id'=>$tabBodacc['id'],
|
|
'siren'=>$tabBodacc['siren'],
|
|
'nic'=>$tabBodacc['nic'],
|
|
'triCode'=>$tabBodacc['Tribunal_Code'],
|
|
'autre_id'=>$tabBodacc['RC'],
|
|
'siege'=>$siege,
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$raisonSociale,
|
|
'enseigne'=>$tabBodacc['enseigne'],
|
|
'sigle'=>$tabBodacc['sigle'],
|
|
'identite_pre'=>$identitePre,
|
|
'adr_num'=>$adr_num,
|
|
'adr_btq'=>$adr_btq,
|
|
'adr_typeVoie'=>$adr_typeVoie,
|
|
'adr_libVoie'=>$adr_libVoie,
|
|
'adr_comp'=>$adr_comp,
|
|
'adr_cp'=>$adr_cp,
|
|
'adr_ville'=>$adr_ville,
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$cj,
|
|
'capital'=>$tabBodacc['Capital'],
|
|
'capitalDev'=>$tabBodacc['CapitalDev'],
|
|
'capitalSrc'=>1,
|
|
'ape_etab'=>$naf,
|
|
'ape_entrep'=>$naf,
|
|
'dateInsert'=>$dateInsert,
|
|
);
|
|
|
|
if ($tabBodacc['sirenValide']==9) {
|
|
//$conjoint=$iDb2->select('bodacc_detail', 'siren', 'id='.$tabBodacc['id']." AND typeEven='".$tabBodacc['typeEven']."' AND siren>=1000", false, MYSQL_ASSOC);
|
|
$conjoint=$iDb2->select('bodacc_detail', 'siren', 'id='.$tabBodacc['id']." AND typeEven='".$tabBodacc['typeEven']."' AND siren>=1000 AND dateSuppr=0", false, MYSQL_ASSOC);
|
|
if (is_array($conjoint) && count($conjoint)==1) {
|
|
$ret=$iDb2->select('etablissements_tmp','identite_pre', 'siren='.$conjoint[0]['siren'], false, MYSQL_ASSOC);
|
|
if (isset($ret[0])) {
|
|
$tabUpdate=array( 'identite_pre'=>$ret[0]['identite_pre'].' '.$raisonSociale);
|
|
$ret=$iDb->update('etablissements_tmp',$tabUpdate, 'siren='.$conjoint[0]['siren']);
|
|
$nbConjoints++;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
$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 BODACC sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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;
|
|
|
|
/*
|
|
$dateInsert=date('YmdHis');
|
|
if (!$reset) {
|
|
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=1 AND siege=0', true);
|
|
$last_id=$tabTmp[0][0]*1;
|
|
} 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;
|
|
|
|
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
|
if ($tabBodacc['siren']<>0)
|
|
$ret=$iDb2->select('etablissements', 'count(*)', 'SIREN='.$tabBodacc['siren']);
|
|
|
|
if ($ret[0][0]==0 || $tabBodacc['siren']==0) {
|
|
// Si le siren n'existe pas dans la base etablissement, on l'ajoute
|
|
$cj=$naf='';
|
|
$dep=floor($tabBodacc['codePostal']/1000);
|
|
if ($dep>96) $dep=floor($tabBodacc['codePostal']/100);
|
|
|
|
$actif=1;
|
|
$tabEven=explode(';',$tabBodacc['typeEven']);
|
|
foreach ($tabEven as $even) {
|
|
$typeEven=$even*1;
|
|
if ($typeEven>=6000 && $typeEven<=6700) $actif=0;
|
|
elseif ($typeEven==2000 || $typeEven==2206) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven>=2200 && $typeEven<=2204) $actif=0;
|
|
elseif ($typeEven==2720) $actif=0;
|
|
}
|
|
|
|
$tabEtab=array( 'source'=>1,
|
|
'source_id'=>$tabBodacc['id'],
|
|
'siren'=>$tabBodacc['siren'],
|
|
'nic'=>$tabBodacc['nic'],
|
|
'triCode'=>$tabBodacc['Tribunal_Code'],
|
|
'autre_id'=>$tabBodacc['RC'],
|
|
'siege'=>0,
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$tabBodacc['raisonSociale'],
|
|
'enseigne'=>$tabBodacc['enseigne'],
|
|
'sigle'=>'',
|
|
'adr_num'=>$tabBodacc['adrNum'],
|
|
'adr_btq'=>$tabBodacc['adrIndRep'],
|
|
'adr_typeVoie'=>$tabBodacc['adrTypVoie'],
|
|
'adr_libVoie'=>strtoupper($tabBodacc['adrLibVoie']),
|
|
'adr_comp'=>trim(strtoupper($tabBodacc['adrComp1'].' '.$tabBodacc['adrComp2'])),
|
|
'adr_cp'=>$tabBodacc['codePostal'],
|
|
'adr_dep'=>$dep,
|
|
'adr_ville'=>strtoupper(trim(strtr($tabBodacc['ville'], '{.!}',' '))),
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$cj,
|
|
'ape_etab'=>$naf,
|
|
'dateInsert'=>$dateInsert,
|
|
);
|
|
$iDb->insert('etablissements',$tabEtab);
|
|
}
|
|
}*/
|
|
}
|
|
|
|
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;
|
|
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;
|
|
$dateInsert=date('YmdHis');
|
|
/* if (!$reset) {
|
|
$tabTmp=$iDb->select('etablissements', 'max(source_id)', 'source=3', true);
|
|
$last_id=$tabTmp[0][0]*1;
|
|
} else*/ $last_id=0;
|
|
//$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
|
|
$nbAsso=$iDb->select('asso', 'id, Assoc_Nom, siren, nic, Waldec, Activite, codThemes, Type_Annonce, typeAsso, Date_Parution, Departement, Sous_Prefecture, codTribunal, Assoc_Adresse, Assoc_AdrNum, Assoc_AdrIndRep, Assoc_AdrTypVoie, Assoc_AdrLibVoie, Assoc_AdrCP, Assoc_AdrVille, Assoc_AdrComp, Assoc_NAdresse, Assoc_ANom, Assoc_NNom, Assoc_NObjet, Assoc_AObjet, Assoc_Fusion, Assoc_Date_Declaration2, codEven, dateInsert', "id>$last_id AND siren<100 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;
|
|
|
|
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
|
|
9223 Groupement d'employeurs
|
|
9230 Association déclarée reconnue d'utilité publique
|
|
9240 Congrégation
|
|
*/
|
|
/** Initialisation des valeurs par défaut
|
|
**/
|
|
$naf='';
|
|
$actif=1;
|
|
$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
|
|
}
|
|
elseif ($tabAsso['typeAsso']=='FON')
|
|
//elseif (preg_match('/Fondation/i', $tabAsso['Type_Annonce']))
|
|
$cj=9300; // FONDATION
|
|
elseif ($tabAsso['typeAsso']=='FOD') { // Fond de dotation
|
|
$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'])) {
|
|
$actif=0;
|
|
// $tabEven[]=8000;
|
|
}
|
|
elseif (preg_match('/Dissolution/i', $tabAsso['Type_Annonce']) && !preg_match('/Annulation/i', $tabAsso['Type_Annonce'])) {
|
|
$actif=0;
|
|
// $tabEven[]=8090;
|
|
}/*
|
|
elseif (trim($tabAsso['codEven'])=='') {
|
|
$tabEven[]=8079;
|
|
//, 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_Date_Declaration2, dateInsert', "id>$last_id AND siren<100", false,MYSQL_ASSOC,true);
|
|
if (trim($tabAsso['Assoc_ANom'])<>'' || trim($tabAsso['Assoc_NNom'])<>'')
|
|
$tabEven[]=8010; // Changement de nom
|
|
if (trim($tabAsso['Assoc_NAdresse'])<>'')
|
|
$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
|
|
8025 Modification statutaire
|
|
8080 Suspension d'association
|
|
*
|
|
}*/
|
|
|
|
if ($naf=='') {
|
|
if ($tabAsso['codThemes']<>'') {
|
|
$tabTmp=@explode(';', $tabAsso['codThemes']);
|
|
$naf=@$tabThemes['_'.$tabTmp[0]];
|
|
}
|
|
elseif ($tabAsso['Activite']<>'') {
|
|
if (preg_match('/sport/i', $tabAsso['Activite'])) // 0015
|
|
$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
|
|
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
|
|
elseif (preg_match('/Loisir/i', $tabAsso['Activite'])) // 0005
|
|
$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
|
|
}
|
|
}
|
|
|
|
if ($naf=='') $naf='9499Z'; // Autres organisations fonctionnant par adhésion volontaire
|
|
|
|
/** L'adresse est elle structurée en base ?
|
|
**/
|
|
if (trim($tabAsso['Assoc_AdrLibVoie'])<>'' || trim($tabAsso['Assoc_AdrCP'])<>'') {
|
|
$adr=array( 'num'=>$tabAsso['Assoc_AdrNum'],
|
|
'indRep'=>$tabAsso['Assoc_AdrIndRep'],
|
|
'typeVoie'=>$tabAsso['Assoc_AdrTypVoie'],
|
|
'libVoie'=>strtoupper($tabAsso['Assoc_AdrLibVoie']),
|
|
'adrComp0'=>$tabAsso['Assoc_AdrComp'],
|
|
'cp'=>$tabAsso['Assoc_AdrCP'],
|
|
'ville'=>trim(strtoupper($tabAsso['Assoc_AdrVille'])),
|
|
);
|
|
$updateAdr=false;
|
|
}
|
|
elseif ($tabAsso['Assoc_NAdresse']<>'') {
|
|
$adr=$iInsee->structureVoie($tabAsso['Assoc_NAdresse']);
|
|
$updateAdr=true;
|
|
} else {
|
|
$adr=$iInsee->structureVoie($tabAsso['Assoc_Adresse']);
|
|
$updateAdr=true;
|
|
}
|
|
|
|
if ($updateAdr) {
|
|
// On enregistre l'adresse structurée en base
|
|
$adrComp=strtoupper(@$adr['adrComp0']);
|
|
if (@$adr['adrComp1']<>'')
|
|
$adrComp.=' '.strtoupper(@$adr['adrComp1']);
|
|
$adr['adrComp0']=$adrComp;
|
|
$iDb2->update('asso', array('Assoc_AdrNum'=>@$adr['num'],
|
|
'Assoc_AdrIndRep'=>@$adr['indRep'],
|
|
'Assoc_AdrTypVoie'=>@$adr['typeVoie'],
|
|
'Assoc_AdrLibVoie'=>@$adr['libVoie'],
|
|
'Assoc_AdrComp'=>@$adr['adrComp0'],
|
|
'Assoc_AdrCP'=>@$adr['cp'],
|
|
'Assoc_AdrVille'=>@$adr['ville']), 'id='.$tabAsso['id']);
|
|
}
|
|
/*if (trim($tabAsso['codEven'])=='' && count($tabEven)>0) {
|
|
// On enregistre les codes évènements
|
|
$iDb2->update('asso', array('codEven'=>@implode(';', $tabEven)), 'id='.$tabAsso['id']);
|
|
}*/
|
|
|
|
$raisonSociale=trim($tabAsso['Assoc_Nom']);
|
|
if ($raisonSociale=='')
|
|
$raisonSociale=trim($tabAsso['Assoc_ANom']);
|
|
|
|
if (preg_match("/^(.*) \((.*)\)$/U", $raisonSociale, $matches)) {
|
|
$raisonSociale=trim($matches[1]);
|
|
$sigle=trim(strtr($matches[2],array('.'=>'')));
|
|
}
|
|
else
|
|
$sigle='';
|
|
|
|
if ($tabAsso['Departement']*1>0) {
|
|
$dep=$tabAsso['Departement']*1;
|
|
} else {
|
|
$dep=floor(@$adr['cp']/1000);
|
|
if ($dep>96) $dep=floor(@$adr['cp']/100);
|
|
}
|
|
/** 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'
|
|
$iDb2->update('asso', array('codTribunal'=>$codTribunal), 'id='.$tabAsso['id']);
|
|
}
|
|
$tabEtab=array( 'source'=>3,
|
|
'source_id'=>$tabAsso['id'],
|
|
'siren'=>$tabAsso['siren'],
|
|
'nic'=>$tabAsso['nic'],
|
|
'triCode'=>$codTribunal,
|
|
'autre_id'=>$tabAsso['Waldec'],
|
|
'siege'=>1,
|
|
'actif'=>$actif,
|
|
'raisonSociale'=>$raisonSociale,
|
|
'enseigne'=>'',
|
|
'identite_pre'=>$tabAsso['Assoc_ANom'],
|
|
'sigle'=>$sigle,
|
|
'adr_num'=>@$adr['num'],
|
|
'adr_btq'=>@$adr['indRep'],
|
|
'adr_typeVoie'=>@$adr['typeVoie'],
|
|
'adr_libVoie'=>strtoupper(@$adr['libVoie']),
|
|
'adr_comp'=>@$adr['adrComp0'],
|
|
'adr_cp'=>@$adr['cp'],
|
|
'adr_ville'=>trim(strtoupper(@$adr['ville'])),
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$cj,
|
|
'capital'=>0,
|
|
'capitalDev'=>'',
|
|
'capitalSrc'=>3,
|
|
'ape_etab'=>$naf,
|
|
'ape_entrep'=>$naf,
|
|
'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 Associations sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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')." - 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;
|
|
|
|
while ($tabAsso=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$tabEtab=array( 'triCode'=>$tabAsso['Sous_Prefecture'], // Gérer la table des préfecture
|
|
'autre_id'=>$tabAsso['Waldec'],
|
|
'identite_pre'=>$tabAsso['Assoc_Nom'],
|
|
);
|
|
$ret=$iDb->update('etablissements_tmp',$tabEtab, 'siren='.$tabAsso['siren']);
|
|
if (!$ret || mysql_errno()<>0) {
|
|
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations Associations sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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;
|
|
}
|
|
|
|
|
|
if ($iGreffe) {
|
|
$iRncs=new MRncs();
|
|
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;
|
|
|
|
while ($tabBodacc=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$adr=$iInsee->structureVoie($tabBodacc['adresse']);
|
|
$adr_cp=@$tabBodacc['cp'];
|
|
$numRC=$tabBodacc['numRC'];
|
|
if ($numRC<>'' && substr($numRC,0,2)*1>=30)
|
|
$numRC='19'.$numRC;
|
|
elseif ($numRC<>'' && substr($numRC,0,2)*1<30)
|
|
$numRC2='20'.$numRC;
|
|
|
|
$dep=floor($adr_cp/1000);
|
|
if ($dep>96) $dep=floor($adr_cp/100);
|
|
|
|
$tabEtab=array( 'source'=>4,
|
|
'source_id'=>$tabBodacc['id'],
|
|
'siren'=>$tabBodacc['siren'],
|
|
'nic'=>0,
|
|
'triCode'=>@$iRncs->getCodeBodaccTribunal($tabBodacc['numGreffe']),
|
|
'autre_id'=>$numRC,
|
|
'siege'=>1,
|
|
'actif'=>0,
|
|
'raisonSociale'=>$tabBodacc['nom'],
|
|
'enseigne'=>$tabBodacc['enseigne'],
|
|
'sigle'=>'',
|
|
'identite_pre'=>'',
|
|
'adr_num'=>@$adr['num'],
|
|
'adr_btq'=>@$adr['adr_btq'],
|
|
'adr_typeVoie'=>@$adr['typeVoie'],
|
|
'adr_libVoie'=>strtoupper(@$adr['libVoie']),
|
|
'adr_comp'=>'',
|
|
'adr_cp'=>$adr_cp,
|
|
'adr_ville'=>strtoupper(@$tabBodacc['ville']),
|
|
'adr_dep'=>$dep,
|
|
'tel'=>'',
|
|
'fax'=>'',
|
|
'cj'=>$tabBodacc['fj'],
|
|
'capital'=>0,
|
|
'capitalDev'=>'',
|
|
'capitalSrc'=>4,
|
|
'ape_etab'=>$tabBodacc['naf'],
|
|
'ape_entrep'=>$tabBodacc['naf'],
|
|
'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 GREFFES sur le siren ". $tabBodacc['siren'] .' : '. $tabBodacc['raisonSociale'] .' ('. $tabBodacc['id'].') !'.EOL;
|
|
echo date ('Y/m/d - H:i:s'). mysql_error();
|
|
} 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;
|
|
}
|
|
|
|
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;
|
|
|
|
$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;
|
|
$sirenPre=false;
|
|
$strMarques='';
|
|
while ($tabMarques=$iDb->fetch(MYSQL_ASSOC)) {
|
|
$siren =$tabMarques['Siren'];
|
|
if ($sirenPre<>$siren && $sirenPre<>false) {
|
|
/** Il faut mettre à jour l'ensemble des marques pour ce siren **/
|
|
$tabUpdate=array( 'marques'=>trim($strMarques));
|
|
$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 $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;
|
|
}
|
|
|
|
if ($table<>'etablissements_tmp') {
|
|
date ('Y/m/d - H:i:s')." - Fin du traitement car la table courante n'est pas 'etablissements_tmp' ($table) !".EOL;
|
|
die();
|
|
}
|
|
|
|
} else {
|
|
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;
|
|
/*$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;
|
|
$rangPre=-1;
|
|
$tabSiren=array();*/
|
|
if ($pageRankOnly) $tableEtab='etablissements';
|
|
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;
|
|
|
|
/*
|
|
while ($tabRank=$iDbRanks->fetch(MYSQL_ASSOC)) {
|
|
if ($tabRank['rang']<>$rangPre && $rangPre<>-1) {
|
|
// 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;
|
|
}
|
|
$tabSiren=array();
|
|
}
|
|
$tabSiren[]=substr($tabRank['siren'],0,9);
|
|
$rangPre=$tabRank['rang'];
|
|
}*/
|
|
|
|
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;
|
|
//$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;
|
|
//$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')." - 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;
|
|
|
|
//echo date ('Y/m/d - H:i:s')." - Lancement de la commande : indexer --all --config /usr/local/etc/sphinx.conf --rotate".EOL;
|
|
/*$nb=@$nbAsso+@$nbBodS+@$nbBodE;
|
|
if ($nb>0) die(0);
|
|
else die(1);*/
|
|
|
|
sendMail('production@scores-decisions.com', 'support@scores-decisions.com,ylenaour@scores-decisions.com', 'Consolidation des établissements', $strMailInfo);
|
|
die();
|
|
?>
|