816 lines
39 KiB
PHP
816 lines
39 KiB
PHP
#!/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();
|
|
?>
|