1314 lines
51 KiB
PHP
1314 lines
51 KiB
PHP
|
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|||
|
<?php
|
|||
|
|
|||
|
include_once(FWK_PATH.'common/curl.php');
|
|||
|
include_once(FWK_PATH.'common/chiffres.php');
|
|||
|
include_once(FWK_PATH.'common/dates.php');
|
|||
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
|||
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|||
|
|
|||
|
$modeDebug=false;
|
|||
|
$doAct=false;
|
|||
|
$doPar=false;
|
|||
|
$doPurge=false;
|
|||
|
$doNomPrenom=false;
|
|||
|
$doMajTVA=false;
|
|||
|
$doDoublons=false;
|
|||
|
$doIdentite=false;
|
|||
|
$doEven=false;
|
|||
|
$doAssocGer=false;
|
|||
|
|
|||
|
$strInfoScript='Usage : '.basename($argv[0]). " <option>
|
|||
|
Mise <EFBFBD> jour des liens actionnaires et participations.
|
|||
|
|
|||
|
Options :
|
|||
|
-v Mode debug (Verbosit<EFBFBD> au maximum et fonctionnement sans timer ni contraintes temporelles)
|
|||
|
-a Traiter les actionnaires
|
|||
|
-p Traiter les participations
|
|||
|
-d Purge les tables
|
|||
|
-n Mise <EFBFBD> jour des zones Nom/Pr<EFBFBD>noms par rapport <EFBFBD> la raison sociale
|
|||
|
-t Mise <EFBFBD> jour TVA
|
|||
|
-i Mise <EFBFBD> jour de l'identit<EFBFBD>
|
|||
|
-e Mise <EFBFBD> jour suite aux <EFBFBD>v<EFBFBD>nements
|
|||
|
-g Mise <EFBFBD> jour des Associ<EFBFBD>s G<EFBFBD>rants RNCS
|
|||
|
-m Traitement des multiples doublons dans liensRef
|
|||
|
|
|||
|
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
|
|||
|
|
|||
|
";*/
|
|||
|
|
|||
|
$argv=$_SERVER['argv'];
|
|||
|
$tabSiren=array();
|
|||
|
for ($i=1,$j=0; isset($argv[$i]); $i++) {
|
|||
|
if (substr($argv[$i],0,1)=='-') {
|
|||
|
switch (substr($argv[$i],1,1)) {
|
|||
|
case 'a': $doAct=true; break;
|
|||
|
case 'p': $doPar=true; break;
|
|||
|
case 'd': $doPurge=true; break;
|
|||
|
case 'n': $doNomPrenom=true; break;
|
|||
|
case 'v': $modeDebug=true; break;
|
|||
|
case 't': $doMajTVA=true; break;
|
|||
|
case 'i': $doIdentite=true; break;
|
|||
|
case 'e': $doEven=true; break;
|
|||
|
case 'g': $doAssocGer=true; break;
|
|||
|
case 'm': $doDoublons=true; break;
|
|||
|
case '-':
|
|||
|
case '?': die($strInfoScript); break;
|
|||
|
default: die('Option '. $argv[$i] . " inconnue !\n");
|
|||
|
}
|
|||
|
} else $tabSiren[]=$argv[$i];
|
|||
|
}
|
|||
|
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
|
|||
|
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
|
|||
|
**
|
|||
|
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
|
|||
|
**/
|
|||
|
|
|||
|
$iDb=new WDB('jo');
|
|||
|
$iDbSem=new WDB('tmp');
|
|||
|
$iInsee=new MInsee();
|
|||
|
|
|||
|
$tabZones=array('nom'=>'<h3 class="sem">(.*)</h3>',
|
|||
|
'sigle'=>'<p class="sigle">(.*)</p>',
|
|||
|
'ville'=>'<h3 class="subTitle"><strong>(.*)</strong>',
|
|||
|
'dept'=>'<h3 class="subTitle"><strong>(?:.*)Dpt : (.*)Région',
|
|||
|
'secteur'=>'<p class="low-margin"><strong>Secteur :</strong>(.*)</p>',
|
|||
|
'domaine'=>'<p class="low-margin"><strong>Domaine :</strong>(.*)</p>',
|
|||
|
'activite'=>'<p><strong>Activité principale :</strong>(.*)</p>',
|
|||
|
'activiteDetail'=>'<p class="activite">Détail de l\'activité :(.*)</p>',
|
|||
|
'realisation'=>'<p><strong>Réalisations :</strong>(.*)</p>',
|
|||
|
'certification'=>'<p><strong>Certification :</strong>(.*)</p>',
|
|||
|
'dateCrea'=>'<p>Créée le (.*)</p>',
|
|||
|
'capital'=>'<p>Capital :(.*)</p>',
|
|||
|
'caAnnuel'=>'<p>C.A. annuel :(.*)</p>',
|
|||
|
'nbSalaries'=>'<p>Nombre de salariés : (.*)</p>',
|
|||
|
'adresse1'=>'<h3>Coordonnées bureau </h3>(?:.*)<div>(.*)</div>',
|
|||
|
'adresse2'=>'<h3>Coordonnées bureau </h3>(?:.*)<div>(?:.*)</div>(?:.*)<div>(.*)</div>',
|
|||
|
'adresse3'=>'<h3>Coordonnées bureau </h3>(?:.*)<div>(?:.*)</div>(?:.*)<div>(?:.*)</div>(?:.*)<div>(.*)</div>',
|
|||
|
'adresse4'=>'<h3>Coordonnées bureau </h3>(?:.*)<div>(?:.*)</div>(?:.*)<div>(?:.*)</div>(?:.*)<div>(?:.*)</div>(?:.*)<div>(.*)</div>',
|
|||
|
'tel'=>'<p class="low-margin">Tél. :(.*)</p>',
|
|||
|
'fax'=>'<p class="low-margin">Fax : (.*)</p>',
|
|||
|
'web'=>'<p class="low-margin">Web : <a href="(.*)" target="_blank"></a></p>',
|
|||
|
'mail'=>'<p>E-mail : <a href="mailto:(.*)">',
|
|||
|
'actCol'=>'<h3>Actionnariat</h3>(?:.*)<p><strong>Collectivités territoriales : </strong>(.*).</p>',
|
|||
|
'actEta'=>'<h3>Actionnariat</h3>(?:.*)<p><strong>État :</strong>(.*).</p>',
|
|||
|
'actDiv'=>'<h3>Actionnariat</h3>(?:.*)<p><strong>Autres : </strong>(.*).</p>',
|
|||
|
/*
|
|||
|
'tvaValide'=>'<b><span class="validStyle">(.*)</span></b>',
|
|||
|
'tvaInvalide'=>'<b><span class="invalidStyle">(.*)</span></b>',
|
|||
|
'tvaNumero'=>'<td class="labelStyle">Num(?:.*)ro de TVA</td>(?:.*)<td>(.*)</td>',
|
|||
|
'etat'=>'<td class="labelStyle">(?:.*)tat Membre</td>(?:.*)<td>(.*)</td>',
|
|||
|
'raisonSociale'=>'<td class="labelStyle">Nom</td>(?:.*)<td>(.*)</td>',
|
|||
|
'adresse'=>'<td class="labelStyle">Adresse</td>(?:.*)<td>(.*)</td>',*/
|
|||
|
);
|
|||
|
|
|||
|
$urlBase="http://www.lesepl.fr/contacts-epl/";
|
|||
|
$url="http://www.lesepl.fr/contacts-epl/index.php?act=search®ion=&dpt=&sigle=&typ_orga=&domaine=&activite=&x=38&y=9#start";
|
|||
|
//$url="http://www.lesepl.fr/contacts-epl/centre/3-vals-amenagement/164/";
|
|||
|
$page=getUrl($url, '', '', '', false);
|
|||
|
$referer=$url;
|
|||
|
$body=$page['body'];
|
|||
|
$nbResults=0;
|
|||
|
|
|||
|
if ($page['code']<>200) die('Pas 200'.EOL);
|
|||
|
$cookie=$page['header']['Set-Cookie'];
|
|||
|
|
|||
|
if(preg_match('/<h4 class="subTitle" id="start">Résultats de votre recherche \((.*)Epl\) <a name="result">/Uis', $body, $matches)) {
|
|||
|
$nbResults=$matches[1];
|
|||
|
$nbPages=ceil($nbResults/6);
|
|||
|
}
|
|||
|
|
|||
|
if ($nbResults>0) {
|
|||
|
$pageCour=1;
|
|||
|
while($pageCour<=$nbPages) {
|
|||
|
$body=preg_replace('/^.*<div id="searchResults" style="display\:block">/Uis','',$body);
|
|||
|
if(preg_match_all('/<li><a href="(.*)">(.*)<\/a> \-(.*)<br \/>(?:.*)<span class="raison">\((.*)\)<\/span>(?:.*)<\/li>/Uis', $body, $matches)) {
|
|||
|
for($iLigne=0; $iLigne<=5 && isset($matches[1][$iLigne]); $iLigne++) {
|
|||
|
$urlFiche=$urlBase.$matches[1][$iLigne];
|
|||
|
$rs=$matches[2][$iLigne];
|
|||
|
$ville=$matches[3][$iLigne];
|
|||
|
|
|||
|
echo "$pageCour/$nbPages\t$iLigne\t$rs\t$ville".EOL;
|
|||
|
$page2=getUrl($urlFiche, $cookie, '', '', false);
|
|||
|
$tabHtml=html2array($page2['body'], $tabZones);
|
|||
|
//print_r($tabHtml);
|
|||
|
|
|||
|
$tabInsert=$tabHtml;
|
|||
|
$tabInsert['urlFiche']=$urlFiche;
|
|||
|
|
|||
|
$iRet=$iDbSem->insert('sem', $tabInsert, false);
|
|||
|
echo "\t".mysql_error().'-';
|
|||
|
$tabInsert['id']=$iRet;
|
|||
|
|
|||
|
$tabAct=array();
|
|||
|
$tabAct['COL']=explode(';', $tabInsert['actCol']);
|
|||
|
$tabAct['ETA']=explode(';', $tabInsert['actEta']);
|
|||
|
$tabAct['DIV']=explode(';', $tabInsert['actDiv']);
|
|||
|
unset($tabInsert['actCol']);
|
|||
|
unset($tabInsert['actEta']);
|
|||
|
unset($tabInsert['actDiv']);
|
|||
|
|
|||
|
foreach ($tabAct as $actType=>$actTab) {
|
|||
|
foreach($actTab as $iAct=>$actNom) {
|
|||
|
$tabInsert['actType']=$actType;
|
|||
|
$tabInsert['actNom']=$actNom;
|
|||
|
$iDbSem->insert('semAct', $tabInsert, false);
|
|||
|
echo mysql_error().'.';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
echo mysql_error().EOL;
|
|||
|
|
|||
|
}
|
|||
|
//print_r($matches);
|
|||
|
//die();
|
|||
|
}
|
|||
|
|
|||
|
$pageCour++;
|
|||
|
$url=$urlBase."index.php?page=$pageCour&filter=1#result";
|
|||
|
$page=getUrl($url, $cookie, '', $referer, false);
|
|||
|
$referer=$url;
|
|||
|
$body=$page['body'];
|
|||
|
}
|
|||
|
/*
|
|||
|
*
|
|||
|
^M^M
|
|||
|
|
|||
|
^M^M
|
|||
|
<li><a href="poitou-charentes/3d-energies/1660/">3D ENERGIES</a> - NIORT<br />^M^M
|
|||
|
<span class="raison">(3D ENERGIES)</span>^M^M
|
|||
|
</li>^M^M
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
$tabHtml=html2array($body, $tabZones);
|
|||
|
|
|||
|
die($body);
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des liens...".EOL;
|
|||
|
if ($doNomPrenom) {
|
|||
|
$iBodacc=new MBodacc();
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des mise <20> jour des Zones Noms/Pr<50>noms...".EOL;
|
|||
|
$ret=$iDb->select('liensRef',
|
|||
|
'id, PpPm, RS, civilite, nom, prenom, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville, adresse_pays',
|
|||
|
" PpPm='PP' AND RS LIKE '% %' AND nom='' and prenom='' AND /*id>999*/ id>=902511 AND RS NOT LIKE '%FAMILLE%'", false, MYSQL_ASSOC);//OR idLoc1Num LIKE 'FR%'
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des $nb zones...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
$id=$lien['id'];
|
|||
|
$rs=$lien['RS'];
|
|||
|
$civ=$lien['civilite'];
|
|||
|
$tmp=$iBodacc->getNomPrenomGenre($rs);
|
|||
|
$nom=$tmp['Nom'];
|
|||
|
$prenom=$tmp['Prenoms'];
|
|||
|
$sexe=$tmp['Genre'];
|
|||
|
if ($civ=='' && $sexe='M') $civ2='M';
|
|||
|
elseif ($civ=='' && $sexe='F') $civ2='MME';
|
|||
|
else $civ2=$civ;
|
|||
|
echo "$i/$nb - $id, $rs : $civ $nom [$civ2] $prenom".EOL;
|
|||
|
$tabUpdate=array( 'nom' => $nom,
|
|||
|
'prenom'=> $prenom,
|
|||
|
'civilite'=> $civ2);
|
|||
|
$iDb->update('liensRef', $tabUpdate, "id=$id", false);
|
|||
|
if (mysql_errno()) echo mysql_error().EOL;
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if ($doDoublons) {
|
|||
|
$iBodacc=new MBodacc();
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des Doublons...".EOL;
|
|||
|
$ret=$iDb->select('liensRef',
|
|||
|
'COUNT(*) AS nb, siren',
|
|||
|
"siren>0 GROUP BY siren having nb>1 ORDER BY nb DESC", false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des $nb doublons...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
$siren=$lien['siren'];
|
|||
|
echo "$i/$nb : $siren = ".$lien['nb']." doublons...";
|
|||
|
$ret2=$iDb->select( 'liensRef',
|
|||
|
'id, rs, nom, prenom',
|
|||
|
"siren=$siren", false, MYSQL_ASSOC);
|
|||
|
foreach ($ret2 as $j=>$tmp) {
|
|||
|
if ($j==0) {
|
|||
|
// La 1<>re fiche est la bonne !
|
|||
|
$idRef=$tmp['id'];
|
|||
|
continue;
|
|||
|
}
|
|||
|
// on recherche tous les cas ou cette 2nde fiche est act
|
|||
|
$idPre=$tmp['id'];
|
|||
|
$ret3=$iDb->update( 'liens2', array('idAct'=>$idRef), "idAct=$idPre", false);
|
|||
|
// on recherche tous les cas ou cette 2nde fiche est par
|
|||
|
$ret3=$iDb->update( 'liens2', array('idPar'=>$idRef), "idPar=$idPre", false);
|
|||
|
// On supprime physiquement la fiche
|
|||
|
$ret3=$iDb->delete( 'liensRef', "id=$idPre", false);
|
|||
|
echo "$idPre remplac<61> par $idRef, ";
|
|||
|
}
|
|||
|
echo EOL;
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
if ($doEven) {
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des modifications RNCS...".EOL;
|
|||
|
$ret=$iDb->select( 'rncs_modifs',
|
|||
|
'siren, champs, valeur, flux',
|
|||
|
"flux>='2013-01-15' AND `table`='rncs_entrep' AND (champs='capitalMontant' OR champs='capitalType' OR champs='cj' OR champs='actif' OR champs='raisonSociale') GROUP BY siren, champs", false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but du traitement des $nb modifications...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
$siren=$lien['siren'];
|
|||
|
$champs=$lien['champs'];
|
|||
|
$valeur=$lien['valeur'];
|
|||
|
//echo "$i/$nb : $siren = ".$lien['nb']." doublons...";
|
|||
|
$ret2=$iDb->select( 'liensRef', 'id, siren, actif, RS, cj, capital, dateCapital',
|
|||
|
"siren=$siren", false, MYSQL_ASSOC);
|
|||
|
$idRef=@$ret2[0]['id'];
|
|||
|
$lien2=@$ret2[0];
|
|||
|
if ($idRef>0) {
|
|||
|
$ret3=$iDb->select( 'liens2', 'count(*) AS nb', "idAct=$idRef AND actif=1", false);
|
|||
|
$nbAct=$ret3[0]['nb'];
|
|||
|
$ret3=$iDb->select( 'liens2', 'count(*) AS nb', "idPar=$idRef AND actif=1", false);
|
|||
|
$nbPar=$ret3[0]['nb'];
|
|||
|
if ($nbAct>0 || $nbPar>0) {
|
|||
|
echo "$i/$nb : $siren ($champs='$valeur') - $nbAct fois actionnaire et $nbPar fois participation".EOL;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
|||
|
print_r($lien2);
|
|||
|
print_r($tabId);
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
if ($doAssocGer) {
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des associ<63>s g<>rants au RNCS...".EOL;
|
|||
|
$ret=$iDb->select( 'rncs_dirigeants',
|
|||
|
'id, siren, adr_dep, typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu,
|
|||
|
nat, adresse, fonction_code, fonction_lib, actif, dateFin, flux, dateInsert, dateUpdate',
|
|||
|
"fonction_code=0209 AND flux>='2013-01-01' AND (typeDir='PP' OR (typeDir='PM' AND dirSiren>1000)) GROUP BY siren ASC, actif DESC", false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but du traitement des $nb associ<63>s g<>rants...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
// Participation
|
|||
|
$sirenPar=$lien['siren'];
|
|||
|
$rsPar=$lien['raisonSociale'];
|
|||
|
$typeDir=$lien['typeDir'];
|
|||
|
// echo "$i/$nb : $siren = ".$lien['nb']." doublons...";
|
|||
|
$ret2=$iDb->select( 'liensRef', 'id, siren, actif, RS, cj, capital, dateCapital',
|
|||
|
"siren=$sirenPar", false, MYSQL_ASSOC);
|
|||
|
$idRef=@$ret2[0]['id'];
|
|||
|
$lien2=@$ret2[0];
|
|||
|
if (!@$iInsee->valideSiren($sirenPar)) {
|
|||
|
echo "$i/$nb : $siren, $rs ($typeDir) - Siren invalide !!!".EOL;;
|
|||
|
die();
|
|||
|
continue;
|
|||
|
} else
|
|||
|
$sirenParV=1;
|
|||
|
|
|||
|
if ($idRef>0) {
|
|||
|
$tabAct=$iDb->select( 'liensRef', 'id, siren, actif, RS, cj, capital, dateCapital',
|
|||
|
"id=(SELECT idPar FROM liens2 WHERE idAct=$idRef AND actif=1)", false, MYSQL_ASSOC);
|
|||
|
$nbAct=count($tabAct);
|
|||
|
$tabPar=$iDb->select( 'liensRef', 'id, siren, actif, RS, cj, capital, dateCapital',
|
|||
|
"id=(SELECT idAct FROM liens2 WHERE idPar=$idRef AND actif=1)", false, MYSQL_ASSOC);
|
|||
|
$nbPar=count($tabPar);
|
|||
|
if ($nbAct>0 || $nbPar>0) {
|
|||
|
echo "$i/$nb : $sirenParPar, $rsPar ($typeDir) - $nbAct fois actionnaire et $nbPar fois participation".EOL;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenPar, 0, 0, false, false);
|
|||
|
print_r($lien2);
|
|||
|
//print_r($tabId);
|
|||
|
print_r($tabAct);
|
|||
|
print_r($tabPar);
|
|||
|
print_r($lien);
|
|||
|
|
|||
|
die();
|
|||
|
} else
|
|||
|
echo "$i/$nb : $sirenPar, $rsPar ($typeDir) - Ni actionnaire, Ni participation !".EOL;
|
|||
|
|
|||
|
} else {
|
|||
|
//echo "$i/$nb : $sirenPar, $rsPar ($typeDir) - ABSENTE de liensRef !".EOL;
|
|||
|
//print_r($lien);
|
|||
|
|
|||
|
// Actionnaire
|
|||
|
$sirenAct=$lien['dirSiren'];
|
|||
|
$civ=$naf='';
|
|||
|
if ($sirenAct>1000 && @$iInsee->valideSiren($sirenAct)) {
|
|||
|
$sirenActV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenAct, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array( 'capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
} else {
|
|||
|
// id, siren, adr_dep, , raisonSociale, dirSiren, , , nom, prenom, naissance_nom, naissance_date, naissance_lieu
|
|||
|
// nat, adresse, fonction_code, fonction_lib, actif, dateFin, flux, dateInsert, dateUpdate
|
|||
|
$nom=trim($lien['dirRS']);
|
|||
|
$nomTemp=" $nom ";
|
|||
|
$ppPm=$lien['typeDir'];
|
|||
|
$civ=$lien['civilite'];
|
|||
|
$sirenAct=$sirenActV=0;
|
|||
|
$cj=1900;
|
|||
|
$tabInsertComp=array();
|
|||
|
$actif=1;
|
|||
|
$cp=$dep=$codPays3='';
|
|||
|
if (preg_match('/^(.*)\((.*)\)/U', $lien['naissance_lieu'], $matches)) {
|
|||
|
$lieuNaiss=trim($matches[1]);
|
|||
|
$depPaysNaiss=trim($matches[2]);
|
|||
|
if ($depPaysNaiss>1000 && $depPaysNaiss<98000) {
|
|||
|
$cp=$depPaysNaiss;
|
|||
|
if ($cp<97000) { $dep=substr(''.$cp,0,2); $codPays3='FRA'; }
|
|||
|
elseif ($cp<98000) $dep=substr(''.$cp,0,3);
|
|||
|
} elseif ($depPaysNaiss>0 && $depPaysNaiss<980) {
|
|||
|
$dep=$depPaysNaiss;
|
|||
|
$codPays3='FRA';
|
|||
|
} else {
|
|||
|
$codPays3=getCodePays3fromLib(preg_replace('/\((.*)\)/','',$depPaysNaiss));
|
|||
|
if ($codPays3=='') {
|
|||
|
$dep=getCodeDep($depPaysNaiss);
|
|||
|
if ($dep>0 && $dep<977) $codPays3='FRA';
|
|||
|
}
|
|||
|
}
|
|||
|
echo ( $lien['naissance_lieu']." : Ville = '$lieuNaiss'\tDept='$dep'\tPays='$codPays3'".EOL);
|
|||
|
continue;
|
|||
|
}
|
|||
|
else {
|
|||
|
$lieuNaiss=trim($lien['naissance_lieu'].EOL);
|
|||
|
}
|
|||
|
//$pays=$lien['Pays'];
|
|||
|
//if ($pays=='') $pays='FRA';
|
|||
|
$ville='';
|
|||
|
}
|
|||
|
continue;
|
|||
|
|
|||
|
if ($civ=='') $civ=$lien['civilite'];
|
|||
|
$tabInsertComp['nom']=strtoupper($lien['nom']);
|
|||
|
$tabInsertComp['prenom']=$lien['prenom'];
|
|||
|
$tabInsertComp['nom_usage']=strtoupper($lien['naissance_nom']);
|
|||
|
$tabInsertComp['naissance_date']=$lien['naissance_date'];
|
|||
|
$tabInsertComp['naissance_lieu']=$lien['naissance_lieu'];
|
|||
|
$tabInsertComp['adresse_comp']=$lien['adresse'];
|
|||
|
|
|||
|
if ($typeDir=='PP') $rsAct=$civ.' '.strtoupper($lien['nom']).' '.$lien['prenom'];
|
|||
|
|
|||
|
//id`, `siren`, `sirenValide, source, actif, PpPm, RS, sigle
|
|||
|
//naissance_dept_pays, nat`, `adresse_num`, `adresse_btq`, `adresse_codvoie`, `adresse_libvoie`, ``, `adresse_cp`, `adresse_ville`,
|
|||
|
//`adresse_pays`, `tel`, `fax`, `web`, `email`, `dateSaisie`, `cj`, `ape`, `categorie`, `capital`, `deviseCapital`, `dateCapital`, `nbActions`,
|
|||
|
//`dateNbActions`, `idLoc1Type`, `idLoc1Num`, `idLoc2Type`, `idLoc2Num`, `idLoc3Type`, `idLoc3Num`, `bilMillesime`, `bilDev`, `bilFL`, `bilHN`, `bilFPr`, `bilEE`, `grpTop`, `grpNom`, `dateInsert`, `idInsert`, `dateUpdate`, `idUpdate`, `dateSuppr`, `idSuppr
|
|||
|
|
|||
|
|
|||
|
/* [id] => 14049526
|
|||
|
[siren] => 324311463
|
|||
|
[adr_dep] => 75
|
|||
|
[typeDir] => PM
|
|||
|
[raisonSociale] => ROTHSCHILD & COMPAGNIE GESTION
|
|||
|
[dirSiren] => 000000000
|
|||
|
[dirRS] => RCG GESTION
|
|||
|
[] =>
|
|||
|
[] =>
|
|||
|
[] =>
|
|||
|
[] =>
|
|||
|
[nat] =>
|
|||
|
[] =>
|
|||
|
[fonction_code] => 0209
|
|||
|
[fonction_lib] => Associ<EFBFBD>-g<EFBFBD>rant
|
|||
|
[actif] => 1
|
|||
|
[dateFin] => 0000-00-00
|
|||
|
[flux] => 2013-01-01
|
|||
|
[dateInsert] => 2013-01-01 07:20:09
|
|||
|
[dateUpdate] => 0000-00-00 00:00:00
|
|||
|
*/
|
|||
|
|
|||
|
//if ($ppPm=='PP') print_r($tabId);
|
|||
|
if ($sirenAct<1000) $sirenAct=0;
|
|||
|
$tabInsertRef2=array( 'siren'=>$sirenAct,
|
|||
|
'sirenValide'=>$sirenActV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$rsAct,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($nom, $cj, $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>$lien['idNational'],
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$tabInsertTmp=array_merge($tabInsertRef2,$tabInsertComp);
|
|||
|
print_r($tabInsertTmp);
|
|||
|
die();
|
|||
|
$iDb->insert('liensRef', $tabInsertTmp, false);
|
|||
|
if ($sirenAct*1>1000) $where="siren=$sirenAct";
|
|||
|
else $where="actif=$actif AND RS='".addslashes($nom)."' AND civilite='$civ' AND
|
|||
|
adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays' AND cj=$cj AND ape='$naf'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
|
|||
|
$ret2=$iDb->select('liensRef', 'id', $where, false, MYSQL_ASSOC);
|
|||
|
$idAct=$ret2[0]['id'];
|
|||
|
if (!isset($ret2[0]['id'])) die($where);
|
|||
|
$nomAct=$nom;
|
|||
|
//die("Ajout de l'actionaire n<>$idAct".EOL);
|
|||
|
// Participation
|
|||
|
/* [id] => 14049526
|
|||
|
[siren] => 324311463
|
|||
|
[adr_dep] => 75
|
|||
|
[typeDir] => PM
|
|||
|
[raisonSociale] => ROTHSCHILD & COMPAGNIE GESTION
|
|||
|
[dirSiren] => 000000000
|
|||
|
[dirRS] => RCG GESTION
|
|||
|
[civilite] =>
|
|||
|
[nom] =>
|
|||
|
[prenom] =>
|
|||
|
[naissance_nom] =>
|
|||
|
[naissance_date] => 0000-00-00
|
|||
|
[naissance_lieu] =>
|
|||
|
[nat] =>
|
|||
|
[adresse] =>
|
|||
|
[fonction_code] => 0209
|
|||
|
[fonction_lib] => Associ<EFBFBD>-g<EFBFBD>rant
|
|||
|
[actif] => 1
|
|||
|
[dateFin] => 0000-00-00
|
|||
|
[flux] => 2013-01-01
|
|||
|
[dateInsert] => 2013-01-01 07:20:09
|
|||
|
[dateUpdate] => 0000-00-00 00:00:00
|
|||
|
*/
|
|||
|
//$sirenPar=$lien['Siren1'];
|
|||
|
//if (!@$iInsee->valideSiren($sirenPar)) continue;
|
|||
|
//if (@trim($tabId['Nom'])=='') continue;
|
|||
|
$civ=$naf='';
|
|||
|
if ($sirenPar>1000 && @$iInsee->valideSiren($sirenPar)) {
|
|||
|
$sirenParV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenPar, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array('capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
} else {
|
|||
|
$sirenPar=$sirenParV=0;
|
|||
|
$ppPm='P'.$lien['PpPm'];
|
|||
|
$nom=trim($lien['RaisonSociale']);
|
|||
|
if ($ppPm=='PP') die("$sirenAct / $sirenPar : Attention, personne physique participation !!!".EOL);
|
|||
|
$cj=0;
|
|||
|
$tabInsertComp=array();
|
|||
|
$ville='';
|
|||
|
$actif=1;
|
|||
|
}
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
if ($sirenPar<1000) $sirenPar=0;
|
|||
|
$tabInsertRef1=array( 'siren'=>$sirenPar,
|
|||
|
'sirenValide'=>$sirenParV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$nom,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($nom, $cj, $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$iDb->insert('liensRef', array_merge($tabInsertRef1,$tabInsertComp), false);
|
|||
|
if ($sirenPar*1>1000) $where="siren=$sirenPar";
|
|||
|
else $where="actif=$actif AND RS='".addslashes($nom)."' AND civilite='$civ' AND
|
|||
|
adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays' AND cj=$cj AND ape='$naf'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
|
|||
|
$ret2=$iDb->select('liensRef', 'id', $where, false, MYSQL_ASSOC);
|
|||
|
$idPar=$ret2[0]['id'];
|
|||
|
if (!isset($ret2[0]['id'])) die($where);
|
|||
|
$nomPar=$nom;
|
|||
|
|
|||
|
// Lien
|
|||
|
$iDb->insert('liens2', array( 'idAct'=>$idAct,
|
|||
|
'idPar'=>$idPar,
|
|||
|
'actif'=>$lien['actif'],
|
|||
|
'source'=>$lien['source'],
|
|||
|
'PDetention'=>$lien['Pmin'],
|
|||
|
'MajMin'=>$lien['MajMin'],
|
|||
|
'dateEffetLien'=>$lien['dateLien'],
|
|||
|
'docRef'=>'',
|
|||
|
'dateDocRef'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']), false);
|
|||
|
|
|||
|
echo "$i/$nb - $idAct, $sirenAct ($nomAct) d<>tient ".$lien['Pmin']." % de $idPar, $sirenPar ($nomPar) au ".$lien['dateLien'].' [id='.$lien['id'].']'.EOL;
|
|||
|
//die();
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
if ($doIdentite) {
|
|||
|
$iBodacc=new MBodacc();
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des mise <20> jour Identitaires...".EOL;
|
|||
|
if(count($tabSiren)>0) {
|
|||
|
$strSiren=' AND siren IN(';
|
|||
|
$strSiren.=implode(',',$tabSiren);
|
|||
|
$strSiren.=') ';
|
|||
|
} else $strSiren=" AND (RS='' OR (adresse_libvoie='' AND adresse_cp='')) ";
|
|||
|
$ret=$iDb->select( 'liensRef',
|
|||
|
'id, actif, siren, PpPm, RS, sigle, civilite, nom, prenom, nom_usage, naissance_date, naissance_lieu, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville, adresse_pays, tel, fax, web, email, cj, ape, categorie, capital, deviseCapital',
|
|||
|
// id, actif, siren, PpPm, RS, civilite, nom, prenom, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville, adresse_pays, tel, fax, web, email, dateSaisie, cj, ape, categorie, capital, deviseCapital, dateCapital, nbActions, dateNbActions, bilMillesime, bilDev, bilFL, bilHN, bilFPr, bilEE, dateInsert, idInsert, dateUpdate, idUpdate',
|
|||
|
"siren>1000 $strSiren AND sirenValide=1 /*AND PpPm='PM' /*LIMIT 0,200000*/ ORDER BY siren ASC", false, MYSQL_ASSOC);//OR idLoc1Num LIKE 'FR%'
|
|||
|
// "siren>0 AND sirenValide=1 AND idSuppr=0 AND adresse_libvoie='' AND PpPm='PM' /*LIMIT 0,200000*/ ORDER BY id DESC", false, MYSQL_ASSOC);//OR idLoc1Num LIKE 'FR%'
|
|||
|
// "siren>0 AND sirenValide=1 AND idSuppr=0 AND siren>303459218 AND PpPm='PP' LIMIT 0,200000", false, MYSQL_ASSOC);//OR idLoc1Num LIKE 'FR%'
|
|||
|
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des $nb zones...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
$id=$lien['id'];
|
|||
|
$siren=$lien['siren'];
|
|||
|
$rs=$lien['RS'];
|
|||
|
if (!@$iInsee->valideSiren($siren)) {
|
|||
|
$iDb->update('liensRef', array('sirenValide'=>0), "id=$id", false);
|
|||
|
if ($modeDebug) echo "$i/$nb : $siren siren invalide pour $rs (id=$id)".EOL;
|
|||
|
continue;
|
|||
|
}
|
|||
|
// Fiche LienRef invalide !!!
|
|||
|
/*if ($rs=='') {
|
|||
|
if ($modeDebug) echo "$i/$nb : $siren - Pas de Raison Sociale pour l'id $id".EOL;
|
|||
|
continue;
|
|||
|
}*/
|
|||
|
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
|
|||
|
if ($tabId['Nom']=='') {
|
|||
|
if ($modeDebug) echo "$i/$nb : $siren - Fiche d'identit<69> inexistante pour l'id $id".EOL;
|
|||
|
continue; // Le siren est valide mais n'existe pas !
|
|||
|
}
|
|||
|
//print_r($tabId);die();
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
$sigle=$tabId['Sigle'];
|
|||
|
$civ=$rs=$nom=$prenom=$nomUsage=$lieuNaiss='';
|
|||
|
$dateNaiss='0000-00-00';
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=trim($tabId['dir1Nom']);
|
|||
|
$prenom=trim($tabId['dir1Prenom']);
|
|||
|
$nomUsage=trim($tabId['dir1NomUsage']);
|
|||
|
$dateNaiss=$tabId['dir1DateNaiss'];
|
|||
|
$lieuNaiss=$tabId['dir1LieuNaiss'];
|
|||
|
$rs=trim($civ.' '.strtoupper($nom).' '.ucwords(strtolower($prenom)));
|
|||
|
if (strlen($rs)<4) $rs=$tabId['Nom'];
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
if (isset($tabId['nomLong']) && strlen($tabId['nomLong'])>strlen($tabId['Nom']))
|
|||
|
$rs=$tabId['nomLong'];
|
|||
|
else
|
|||
|
$rs=$tabId['Nom'];
|
|||
|
}
|
|||
|
//echo "$id - $siren : NOM='$rs'".EOL;
|
|||
|
//if ($tabId['FJ']==5499) die(print_r($tabId,1));
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
if ($actif==0 && @$tabId['EntActiveRCS']==1) $actif=1;
|
|||
|
$tabUpdate=array( 'id'=>$id,
|
|||
|
'siren'=>$siren,
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$rs,
|
|||
|
'sigle'=>$sigle,
|
|||
|
'civilite'=>$civ,
|
|||
|
'nom'=>$nom,
|
|||
|
'prenom'=>$prenom,
|
|||
|
'nom_usage'=>$nomUsage,
|
|||
|
'naissance_date'=>$dateNaiss,
|
|||
|
'naissance_lieu'=>$lieuNaiss,
|
|||
|
'adresse_num'=>$tabId['AdresseNum'],
|
|||
|
'adresse_btq'=>$tabId['AdresseBtq'],
|
|||
|
'adresse_codvoie'=>$tabId['AdresseVoie'],
|
|||
|
'adresse_libvoie'=>$tabId['AdresseRue'],
|
|||
|
'adresse_comp'=>$tabId['Adresse2'],
|
|||
|
'adresse_cp'=>$tabId['CP'],
|
|||
|
'adresse_ville'=>$tabId['Ville'],
|
|||
|
'adresse_pays'=>getCodePays3($tabId['PaysIso2']),
|
|||
|
'tel'=>$tabId['Tel'],
|
|||
|
'fax'=>$tabId['Fax'],
|
|||
|
'web'=>$tabId['Web'],
|
|||
|
'email'=>$tabId['Mail'],
|
|||
|
'cj'=>$tabId['FJ'],
|
|||
|
'ape'=>$tabId['NafEnt'],
|
|||
|
'categorie'=>getCategorie($rs, $cj, $civ, $naf),
|
|||
|
'capital'=>$tabId['Capital']*1,
|
|||
|
'deviseCapital'=>$tabId['CapitalDev'],
|
|||
|
/*'dateCapital'=>$tabId['Mail'],
|
|||
|
'nbActions'=>$tabId['Mail'],
|
|||
|
'dateNbActions'=>$tabId['Mail'],*/
|
|||
|
);
|
|||
|
//$iDb->update('liensRef', $tabUpdate, "id=$id", false);
|
|||
|
$tabUpdateDiff = array_diff_assoc($tabUpdate, $lien);
|
|||
|
/*echo "$i/$nb : $siren - Table liensRef :".EOL;
|
|||
|
print_r($lien);
|
|||
|
//echo "$i/$nb : $siren - Fiche d'identit<69> :".EOL;
|
|||
|
//print_r($tabId);
|
|||
|
echo "$i/$nb : $siren - MISE A JOUR :".EOL;
|
|||
|
print_r($tabUpdateDiff);
|
|||
|
*/
|
|||
|
//die();
|
|||
|
if (count($tabUpdateDiff)>0) {
|
|||
|
if (isset($tabUpdateDiff['capital']) && round($tabUpdate['capital'])==$lien['capital'] && count($tabUpdateDiff)==1) {
|
|||
|
echo "$i/$nb : $siren - Pas de mise <20> jour car capitaux identiques : ".$lien['capital'].EOL;
|
|||
|
continue;
|
|||
|
}
|
|||
|
$iDb->update('liensRef', $tabUpdateDiff, "id=$id", false);
|
|||
|
echo mysql_error().EOL;
|
|||
|
//print_r($lien);
|
|||
|
/*echo round($tabUpdate['capital']).EOL;
|
|||
|
echo @$tabUpdateDiff['capital'].EOL;
|
|||
|
*/
|
|||
|
if (isset($tabUpdateDiff['capital'])) echo "$i/$nb : $siren - Changement de capital de '".$lien['capital'].' '.$lien['deviseCapital']."' a '".$tabUpdate['capital'].' '.$tabUpdate['deviseCapital']."'".EOL;
|
|||
|
if (isset($tabUpdateDiff['actif'])) echo "$i/$nb : $siren - Changement de statut de '".$lien['actif']."' a '".$tabUpdate['actif']."'".EOL;
|
|||
|
if (isset($tabUpdateDiff['RS'])) echo "$i/$nb : $siren - Changement de NOM de '".$lien['RS']."' a '".$tabUpdate['RS']."'".EOL;
|
|||
|
//if (isset($tabUpdateDiff['adresse_cp']))echo "$i/$nb : $siren - Changement de CP de '".$lien['adresse_cp']."' a '".$tabUpdate['adresse_cp']."'".EOL;
|
|||
|
if (isset($tabUpdateDiff['cj'])) echo "$i/$nb : $siren - Changement de FJur de '".$lien['cj']."' a '".$tabUpdate['cj']."'".EOL;
|
|||
|
if (isset($tabUpdateDiff['ape'])) echo "$i/$nb : $siren - Changement d'activit<69> de '".$lien['ape']."' a '".$tabUpdate['ape']."'".EOL;
|
|||
|
} elseif ($modeDebug)
|
|||
|
echo "$i/$nb : $siren - Pas de mise <20> jour".EOL;
|
|||
|
// die("$id\t$siren".EOL);
|
|||
|
|
|||
|
/*
|
|||
|
|
|||
|
'sirenValide'=>$sirenParV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$nom,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$iDb->insert('liensRef', array_merge($tabInsertRef1,$tabInsertComp), false);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
[dateSaisie] => 0000-00-00 00:00:00
|
|||
|
[cj] => 5710
|
|||
|
[ape] => 4669B
|
|||
|
[categorie] => NA
|
|||
|
[capital] => 64086
|
|||
|
[deviseCapital] => EUR
|
|||
|
[dateCapital] =>
|
|||
|
[nbActions] => 0
|
|||
|
[dateNbActions] =>
|
|||
|
[bilMillesime] =>
|
|||
|
[bilDev] =>
|
|||
|
[bilFL] =>
|
|||
|
[bilHN] =>
|
|||
|
[bilFPr] =>
|
|||
|
[bilEE] =>
|
|||
|
[dateInsert] => 0000-00-00 00:00:00
|
|||
|
[idInsert] =>
|
|||
|
[dateUpdate] => 2010-01-15 00:20:30
|
|||
|
[idUpdate] => 0
|
|||
|
)
|
|||
|
|
|||
|
$civ=$lien['civilite'];
|
|||
|
|
|||
|
|
|||
|
|
|||
|
echo "$i/$nb - $id, $rs : $civ $nom [$civ2] $prenom".EOL;
|
|||
|
/* $tabUpdate=array( 'nom' => $nom,
|
|||
|
'prenom'=> $prenom,
|
|||
|
'civilite'=> $civ2);
|
|||
|
$iDb->update('liensRef', $tabUpdate, "id=$id", false);
|
|||
|
if (mysql_errno()) echo mysql_error().EOL;*/
|
|||
|
//print_r($lien);
|
|||
|
|
|||
|
|
|||
|
/*die();/*
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array( 'capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
/* [Adresse] => 0016 RUE DU DOCTEUR MESLIER
|
|||
|
[Adresse2] =>
|
|||
|
[AdresseNum] => 0016
|
|||
|
[AdresseBtq] =>
|
|||
|
[AdresseVoie] => RUE
|
|||
|
[AdresseRue] => DU DOCTEUR MESLIER
|
|||
|
[Tel] => 06.75.22.60.55
|
|||
|
[Fax] => 01 40 21 80 82
|
|||
|
[Web] =>
|
|||
|
[Mail] =>
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
*/
|
|||
|
//die();
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
if ($doMajTVA) {
|
|||
|
$tabZones=array('tvaValide'=>'<b><span class="validStyle">(.*)</span></b>',
|
|||
|
'tvaInvalide'=>'<b><span class="invalidStyle">(.*)</span></b>',
|
|||
|
'tvaNumero'=>'<td class="labelStyle">Num(?:.*)ro de TVA</td>(?:.*)<td>(.*)</td>',
|
|||
|
'etat'=>'<td class="labelStyle">(?:.*)tat Membre</td>(?:.*)<td>(.*)</td>',
|
|||
|
'raisonSociale'=>'<td class="labelStyle">Nom</td>(?:.*)<td>(.*)</td>',
|
|||
|
'adresse'=>'<td class="labelStyle">Adresse</td>(?:.*)<td>(.*)</td>',
|
|||
|
);
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des mise <20> jour d'infos TVA...".EOL;
|
|||
|
$ret=$iDb->select('liensRef',
|
|||
|
/*BE
|
|||
|
CZ
|
|||
|
DK
|
|||
|
FI*/
|
|||
|
'id, PpPm, RS, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville, adresse_pays, tel, fax, web, email, idLoc1Type, idLoc1Num',
|
|||
|
" idLoc1Num NOT LIKE '%*%' AND ( idLoc1Num LIKE 'AT%'
|
|||
|
OR idLoc1Num LIKE 'SK%'
|
|||
|
OR idLoc1Num LIKE 'BE%'
|
|||
|
OR idLoc1Num LIKE 'BG%'
|
|||
|
OR idLoc1Num LIKE 'CY%'
|
|||
|
OR idLoc1Num LIKE 'CZ%'
|
|||
|
OR idLoc1Num LIKE 'DE%'
|
|||
|
OR idLoc1Num LIKE 'DK%'
|
|||
|
OR idLoc1Num LIKE 'EE%'
|
|||
|
OR idLoc1Num LIKE 'EL%'
|
|||
|
OR idLoc1Num LIKE 'ES%'
|
|||
|
OR idLoc1Num LIKE 'FI%'
|
|||
|
OR idLoc1Num LIKE 'GB%'
|
|||
|
OR idLoc1Num LIKE 'HU%'
|
|||
|
OR idLoc1Num LIKE 'IE%'
|
|||
|
OR idLoc1Num LIKE 'IT%'
|
|||
|
OR idLoc1Num LIKE 'LT%'
|
|||
|
OR idLoc1Num LIKE 'LU%'
|
|||
|
OR idLoc1Num LIKE 'LV%'
|
|||
|
OR idLoc1Num LIKE 'MT%'
|
|||
|
OR idLoc1Num LIKE 'NL%'
|
|||
|
OR idLoc1Num LIKE 'PL%'
|
|||
|
OR idLoc1Num LIKE 'PT%'
|
|||
|
OR idLoc1Num LIKE 'RO%'
|
|||
|
OR idLoc1Num LIKE 'SE%'
|
|||
|
OR idLoc1Num LIKE 'SI%') ORDER BY idLoc1Num ASC", false, MYSQL_ASSOC);//OR idLoc1Num LIKE 'FR%'
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des $nb identifiants TVA...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
$id=$lien['id'];
|
|||
|
$pays=substr($lien['idLoc1Num'],0,2);
|
|||
|
$vat=substr($lien['idLoc1Num'],2);
|
|||
|
|
|||
|
$url="http://ec.europa.eu/taxation_customs/vies/viesquer.do?locale=fr&memberStateCode=$pays&number=$vat&action=check";
|
|||
|
$page=getUrl($url, '', '', '', false);
|
|||
|
$referer=$url;
|
|||
|
$body=$page['body'];
|
|||
|
$tabHtml=html2array($body, $tabZones);
|
|||
|
|
|||
|
echo $lien['RS'].' ('.$lien['adresse_pays'].") : TVA = $pays $vat ";
|
|||
|
if (@substr($tabHtml['tvaValide'],0,3)=='Oui') {
|
|||
|
$valide=1;
|
|||
|
echo '(valide)';
|
|||
|
switch ($lien['adresse_pays']) {
|
|||
|
case 'FRA': $type=2; break;
|
|||
|
case 'DEU': $type=5; break;
|
|||
|
case 'AUT': $type=9; break;
|
|||
|
case 'BEL': $type=10; break;
|
|||
|
case 'ESP': $type=13; break;
|
|||
|
case 'FIN': $type=14; break;
|
|||
|
case 'GRC': $type=16; break;
|
|||
|
case 'IRL': $type=17; break;
|
|||
|
case 'ITA': $type=19; break;
|
|||
|
case 'LUX': $type=22; break;
|
|||
|
case 'NLD': $type=24; break;
|
|||
|
case 'PRT': $type=26; break;
|
|||
|
case 'GBR': $type=27; break;
|
|||
|
case 'SWE': $type=29; break;
|
|||
|
case 'POL': $type=31; break;
|
|||
|
case 'DNK': $type=32; break;
|
|||
|
case 'BGR': $type=49; break;
|
|||
|
case 'EST': $type=50; break;
|
|||
|
case 'HUN': $type=51; break;
|
|||
|
case 'LVA': $type=52; break;
|
|||
|
case 'LTU': $type=53; break;
|
|||
|
case 'CZE': $type=54; break;
|
|||
|
case 'SVK': $type=55; break;
|
|||
|
case 'SVN': $type=56; break;
|
|||
|
default: $type='NULL'; break;
|
|||
|
}
|
|||
|
$rsVies=strtoupper($tabHtml['raisonSociale']);
|
|||
|
$adrVies=$tabHtml['adresse'];
|
|||
|
$tabUpdate=array( 'RS' => $rsVies,
|
|||
|
'adresse_comp' => $adrVies,
|
|||
|
'idLoc1Type' => $type,
|
|||
|
);
|
|||
|
//, adresse_num, adresse_btq, adresse_codvoie, adresse_libvoie, adresse_comp, adresse_cp, adresse_ville
|
|||
|
echo " - $rsVies [$adrVies]";
|
|||
|
//die();
|
|||
|
$iDb->update('liensRef', $tabUpdate, "id=$id", false);
|
|||
|
} else {
|
|||
|
$valide=0;
|
|||
|
echo '(INVALIDE)';
|
|||
|
}
|
|||
|
echo EOL;
|
|||
|
randsleep(3,7);//,21);
|
|||
|
}
|
|||
|
die();
|
|||
|
}
|
|||
|
|
|||
|
if ($doPurge) {
|
|||
|
die();
|
|||
|
while (1) {
|
|||
|
echo date('Y/m/d - H:i:s') ." - Confirmez la demande de purge des nouvelles tables LIENS ? (O/N) ... ";
|
|||
|
$saisie = trim(strtoupper(fgets(STDIN)));
|
|||
|
if ($saisie=='O' || $saisie=='o') break;
|
|||
|
}
|
|||
|
$iDb->query('TRUNCATE TABLE liens2;');
|
|||
|
$iDb->query('TRUNCATE TABLE liensRef;');
|
|||
|
|
|||
|
$tabInsert=array(
|
|||
|
array('id'=>1, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PM', 'RS'=>'ETAT FRANCAIS', 'categorie'=>'Etat/Autorit<69> publique', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>2, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'FAMILLE', 'categorie'=>'Personne(s) ou famille(s)', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>3, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'PERSONNES PHYSIQUES', 'categorie'=>'Personne(s) ou famille(s)', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>4, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'CADRES DU GROUPE', 'categorie'=>'Employ<6F>s/Directeurs', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>5, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'PUBLIC', 'categorie'=>'Public', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>6, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'ADHERENTS', 'categorie'=>'NA', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>7, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'MANAGEMENT', 'categorie'=>'Employ<6F>s/Directeurs', 'dateInsert'=>'20070401120000'),
|
|||
|
array('id'=>8, 'siren'=>0, 'source'=>9999, 'actif'=>1, 'PpPm'=>'PP', 'RS'=>'SALARIES', 'categorie'=>'Employ<6F>s/Directeurs', 'dateInsert'=>'20070401120000'),
|
|||
|
);
|
|||
|
foreach($tabInsert as $tabInsertRef)
|
|||
|
$iDb->insert('liensRef', $tabInsertRef, false);
|
|||
|
|
|||
|
$iDb->query('ALTER TABLE liensRef AUTO_INCREMENT=1000;');
|
|||
|
}
|
|||
|
|
|||
|
if ($doAct) {
|
|||
|
|
|||
|
$limNb=100000;
|
|||
|
for($limI=0;$limI<700000;$limI+=$limNb) {
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s')." - Recherche des liens actionnaires [limite=$limI]...".EOL;
|
|||
|
$ret=$iDb->select('liens', 'id, Siren1, actif, source, ActionPart, Pmin, MajMin, PpPm, idNational, Siren2, RaisonSociale, Pays, dateLien, dateInsert, dateUpdate', "ActionPart=1 /*AND Siren2=552100554 /*AND idNational<>''*/ AND id>=1206687 ORDER BY id ASC LIMIT $limI,$limNb", false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des $nb liens actionnaires...".EOL;
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
//print_r($lien);
|
|||
|
|
|||
|
// Participation
|
|||
|
$sirenPar=$lien['Siren1'];
|
|||
|
if (!@$iInsee->valideSiren($sirenPar)) continue;
|
|||
|
else $sirenParV=1;
|
|||
|
|
|||
|
// Actionnaire
|
|||
|
$sirenAct=$lien['Siren2'];
|
|||
|
$civ=$naf='';
|
|||
|
if ($sirenAct>1000 && @$iInsee->valideSiren($sirenAct)) {
|
|||
|
$sirenActV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenAct, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array( 'capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
} else {
|
|||
|
$nom=trim($lien['RaisonSociale']);
|
|||
|
$nomTemp=" $nom ";
|
|||
|
$ppPm='P'.$lien['PpPm'];
|
|||
|
if (preg_match('/^( MONSIEUR | MADAME | MADEMOISELLE | M | M\. | MME | MLLE | MLE )/i', $nomTemp, $matches) && strlen($nom)>11 && count(explode(' ',$nom))>2) {
|
|||
|
if ($ppPm<>'PP' && $ppPm<>'PM') $ppPm='PP';
|
|||
|
switch(trim($matches[1])) {
|
|||
|
case 'MONSIEUR':
|
|||
|
case 'M':
|
|||
|
case 'M.': $civ='M'; break;
|
|||
|
case 'MADAME':
|
|||
|
case 'MME': $civ='MME'; break;
|
|||
|
case 'MADEMOISELLE':
|
|||
|
case 'MLLE':
|
|||
|
case 'MLE': $civ='MLE'; break;
|
|||
|
default: $civ=''; break;
|
|||
|
}
|
|||
|
$nom=trim(preg_replace('/^( MONSIEUR | MADAME | MADEMOISELLE | M | M\. | MME | MLLE | MLE )/i', '', $nomTemp));
|
|||
|
}
|
|||
|
$sirenAct=$sirenActV=0;
|
|||
|
$cj=0;
|
|||
|
$tabInsertComp=array();
|
|||
|
$actif=1;
|
|||
|
$pays=$lien['Pays'];
|
|||
|
if ($pays=='') $pays='FRA';
|
|||
|
$ville='';
|
|||
|
}
|
|||
|
|
|||
|
//if ($ppPm=='PP') print_r($tabId);
|
|||
|
if ($sirenAct<1000) $sirenAct=0;
|
|||
|
$tabInsertRef2=array( 'siren'=>$sirenAct,
|
|||
|
'sirenValide'=>$sirenActV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$nom,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($nom, $cj, $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>$lien['idNational'],
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$iDb->insert('liensRef', array_merge($tabInsertRef2,$tabInsertComp), false);
|
|||
|
if ($sirenAct*1>1000) $where="siren=$sirenAct";
|
|||
|
else $where="actif=$actif AND RS='".addslashes($nom)."' AND civilite='$civ' AND
|
|||
|
adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays' AND cj=$cj AND ape='$naf'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
|
|||
|
$ret2=$iDb->select('liensRef', 'id', $where, false, MYSQL_ASSOC);
|
|||
|
$idAct=$ret2[0]['id'];
|
|||
|
if (!isset($ret2[0]['id'])) die($where);
|
|||
|
$nomAct=$nom;
|
|||
|
|
|||
|
// Participation
|
|||
|
//$sirenPar=$lien['Siren1'];
|
|||
|
//if (!@$iInsee->valideSiren($sirenPar)) continue;
|
|||
|
//if (@trim($tabId['Nom'])=='') continue;
|
|||
|
$civ=$naf='';
|
|||
|
if ($sirenPar>1000 && @$iInsee->valideSiren($sirenPar)) {
|
|||
|
$sirenParV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenPar, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array('capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
} else {
|
|||
|
$sirenPar=$sirenParV=0;
|
|||
|
$ppPm='P'.$lien['PpPm'];
|
|||
|
$nom=trim($lien['RaisonSociale']);
|
|||
|
if ($ppPm=='PP') die("$sirenAct / $sirenPar : Attention, personne physique participation !!!".EOL);
|
|||
|
$cj=0;
|
|||
|
$tabInsertComp=array();
|
|||
|
$ville='';
|
|||
|
$actif=1;
|
|||
|
}
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
if ($sirenPar<1000) $sirenPar=0;
|
|||
|
$tabInsertRef1=array('siren'=>$sirenPar,
|
|||
|
'sirenValide'=>$sirenParV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$nom,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($nom, $cj, $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$iDb->insert('liensRef', array_merge($tabInsertRef1,$tabInsertComp), false);
|
|||
|
if ($sirenPar*1>1000) $where="siren=$sirenPar";
|
|||
|
else $where="actif=$actif AND RS='".addslashes($nom)."' AND civilite='$civ' AND
|
|||
|
adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays' AND cj=$cj AND ape='$naf'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
|
|||
|
$ret2=$iDb->select('liensRef', 'id', $where, false, MYSQL_ASSOC);
|
|||
|
$idPar=$ret2[0]['id'];
|
|||
|
if (!isset($ret2[0]['id'])) die($where);
|
|||
|
$nomPar=$nom;
|
|||
|
|
|||
|
// Lien
|
|||
|
$iDb->insert('liens2', array( 'idAct'=>$idAct,
|
|||
|
'idPar'=>$idPar,
|
|||
|
'actif'=>$lien['actif'],
|
|||
|
'source'=>$lien['source'],
|
|||
|
'PDetention'=>$lien['Pmin'],
|
|||
|
'MajMin'=>$lien['MajMin'],
|
|||
|
'dateEffetLien'=>$lien['dateLien'],
|
|||
|
'docRef'=>'',
|
|||
|
'dateDocRef'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']), false);
|
|||
|
|
|||
|
echo "$i/$nb - $idAct, $sirenAct ($nomAct) d<>tient ".$lien['Pmin']." % de $idPar, $sirenPar ($nomPar) au ".$lien['dateLien'].' [id='.$lien['id'].']'.EOL;
|
|||
|
//die();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ($doPar) {
|
|||
|
|
|||
|
echo date ('Y/m/d - H:i:s')." - D<>but de la mise <20> jour des liens participations...".EOL;
|
|||
|
|
|||
|
$ret=$iDb->select('liens', 'id, Siren1, actif, source, ActionPart, Pmin, MajMin, PpPm, idNational, Siren2, RaisonSociale, Pays, dateLien, dateInsert, dateUpdate', "ActionPart=2 AND Siren1>=318610615 /*AND idNational<>''*/ ORDER BY Siren1 ASC", false, MYSQL_ASSOC);
|
|||
|
$nb=count($ret);
|
|||
|
foreach ($ret as $i=>$lien) {
|
|||
|
//print_r($lien);
|
|||
|
|
|||
|
// Actionnaire
|
|||
|
$sirenAct=$lien['Siren1'];
|
|||
|
if (!@$iInsee->valideSiren($sirenAct)) continue;
|
|||
|
else $sirenActV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenAct, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if (@trim($tabId['Nom'])=='') continue;
|
|||
|
//($siren, $nic=0, $id=0, $forceVerif=false, $accesDist=true) {
|
|||
|
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
else $civ='';
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array('capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
//if ($ppPm=='PP') print_r($tabId);
|
|||
|
if ($sirenAct<1000) $sirenAct=0;
|
|||
|
$tabInsertRef1=array('siren'=>$sirenAct,
|
|||
|
'sirenValide'=>$sirenActV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$tabId['Actif'],
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$tabId['Nom'],
|
|||
|
'cj'=>$tabId['FJ'],
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($tabId['Nom'], $tabId['FJ'], $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$tabId['Ville'],
|
|||
|
'adresse_pays'=>getCodePays3($tabId['PaysIso2']),
|
|||
|
'idLoc1Num'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
$iDb->insert('liensRef', array_merge($tabInsertRef1,$tabInsertComp), false);
|
|||
|
$ret2=$iDb->select('liensRef', 'id', "siren=$sirenAct", false, MYSQL_ASSOC);
|
|||
|
$idAct=$ret2[0]['id'];
|
|||
|
$nomAct=$tabId['Nom'];
|
|||
|
|
|||
|
// Participation
|
|||
|
$sirenPar=$lien['Siren2'];
|
|||
|
$civ=$naf='';
|
|||
|
|
|||
|
if ($sirenPar>1000 && @$iInsee->valideSiren($sirenPar)) {
|
|||
|
$sirenParV=1;
|
|||
|
$tabId=@$iInsee->getIdentiteEntreprise($sirenPar, 0, 0, false, false);
|
|||
|
$naf=$tabId['NafEnt'];
|
|||
|
if ($tabId['FJ']<2000) {
|
|||
|
$ppPm='PP';
|
|||
|
$tabInsertComp=array( 'nom'=>$tabId['dir1Nom'],
|
|||
|
'prenom'=>$tabId['dir1Prenom'],
|
|||
|
'nom_usage'=>$tabId['dir1NomUsage']);
|
|||
|
} else {
|
|||
|
$ppPm='PM';
|
|||
|
$tabInsertComp=array('capital'=>$tabId['Capital'],
|
|||
|
'deviseCapital'=>$tabId['CapitalDev']);
|
|||
|
if (isset($tabId['CapitalNbActions']) && $tabId['CapitalNbActions']) $tabInsertComp['nbActions']=$tabId['CapitalNbActions'];
|
|||
|
}
|
|||
|
if ($tabId['Civilite']==1) $civ='M';
|
|||
|
elseif ($tabId['Civilite']==2) $civ='MME';
|
|||
|
$nom=$tabId['Nom'];
|
|||
|
$cj=$tabId['FJ'];
|
|||
|
$actif=$tabId['Actif'];
|
|||
|
$ville=$tabId['Ville'];
|
|||
|
$pays=getCodePays3($tabId['PaysIso2']);
|
|||
|
} else {
|
|||
|
$sirenPar=$sirenParV=0;
|
|||
|
$ppPm='P'.$lien['PpPm'];
|
|||
|
$nom=trim($lien['RaisonSociale']);
|
|||
|
if ($ppPm=='PP') {
|
|||
|
echo "$sirenAct / $sirenPar : Attention, personne physique participation !!!".EOL;
|
|||
|
continue;
|
|||
|
}
|
|||
|
$cj=0;
|
|||
|
$tabInsertComp=array();
|
|||
|
$actif=1;
|
|||
|
$pays=$lien['Pays'];
|
|||
|
if ($pays=='') $pays='FRA';
|
|||
|
$ville='';
|
|||
|
}
|
|||
|
|
|||
|
//if ($ppPm=='PP') print_r($tabId);
|
|||
|
if ($sirenPar<1000) $sirenPar='0';
|
|||
|
$tabInsertRef2=array( 'siren'=>$sirenPar,
|
|||
|
'sirenValide'=>$sirenActV,
|
|||
|
'source'=>$lien['source'],
|
|||
|
'actif'=>$actif,
|
|||
|
'PpPm'=>$ppPm,
|
|||
|
'RS'=>$nom,
|
|||
|
'cj'=>$cj,
|
|||
|
'ape'=>$naf,
|
|||
|
'categorie'=>getCategorie($nom, $cj, $civ, $naf),
|
|||
|
'civilite'=>$civ,
|
|||
|
'adresse_ville'=>$ville,
|
|||
|
'adresse_pays'=>$pays,
|
|||
|
'idLoc1Num'=>$lien['idNational'],
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']);
|
|||
|
if (!$iDb->insert('liensRef', array_merge($tabInsertRef2,$tabInsertComp), false)) {
|
|||
|
if (mysql_errno()<>1062) die(mysql_errno().': '.mysql_error().EOL.print_r(array_merge($tabInsertRef2,$tabInsertComp), true));
|
|||
|
}
|
|||
|
if ($sirenPar*1>1000) $where="siren=$sirenPar";
|
|||
|
//else $where="RS='".addslashes($nom)."' AND adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
else $where="actif=$actif AND RS='".addslashes($nom)."' AND civilite='$civ' AND
|
|||
|
adresse_ville='".addslashes($ville)."' AND adresse_pays='$pays' AND cj=$cj AND ape='$naf'"; /* civilite, nom, prenom, naissance_nom, naissance_date, nat, adresse_ville*/
|
|||
|
|
|||
|
$ret2=$iDb->select('liensRef', 'id', $where, false, MYSQL_ASSOC);
|
|||
|
$idPar=$ret2[0]['id'];
|
|||
|
if (!isset($ret2[0]['id'])) die($where);
|
|||
|
$nomPar=$nom;
|
|||
|
|
|||
|
// Lien
|
|||
|
$iDb->insert('liens2', array( 'idAct'=>$idAct,
|
|||
|
'idPar'=>$idPar,
|
|||
|
'actif'=>$lien['actif'],
|
|||
|
'source'=>$lien['source'],
|
|||
|
'PDetention'=>$lien['Pmin'],
|
|||
|
'MajMin'=>$lien['MajMin'],
|
|||
|
'dateEffetLien'=>$lien['dateLien'],
|
|||
|
'docRef'=>'',
|
|||
|
'dateDocRef'=>'',
|
|||
|
'dateInsert'=>$lien['dateInsert'],
|
|||
|
'dateUpdate'=>$lien['dateUpdate']), false);
|
|||
|
|
|||
|
//echo "$i/$nb - $idAct ($sirenAct) d<>tient ".$lien['Pmin']." % de $idPar ($sirenPar) au ".$lien['dateLien'].EOL;
|
|||
|
echo "$i/$nb - $idAct, $sirenAct ($nomAct) d<>tient ".$lien['Pmin']." % de $idPar, $sirenPar ($nomPar) au ".$lien['dateLien'].EOL;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function getCodePays3($codePays2) {
|
|||
|
global $iDb;
|
|||
|
$ret=$iDb->select('tabPays', 'codPays3', "codPays='$codePays2'", false, MYSQL_ASSOC);
|
|||
|
return $ret[0]['codPays3'];
|
|||
|
}
|
|||
|
|
|||
|
function getCodePays3fromLib($libPays) {
|
|||
|
global $iDb;
|
|||
|
$ret=$iDb->select('tabPays', 'codPays3', "libPays LIKE '%$libPays%' OR libPaysEN LIKE '%$libPays%'", false, MYSQL_ASSOC);
|
|||
|
//print_r($ret);
|
|||
|
if (count($ret)==1) return $ret[0]['codPays3'];
|
|||
|
else return '';
|
|||
|
}
|
|||
|
|
|||
|
function getCodeDep($libDep) {
|
|||
|
global $iDb;
|
|||
|
$ret=$iDb->select('insee.departements', 'numdep, libdep', "libdep LIKE '%$libDep%'", false, MYSQL_ASSOC);
|
|||
|
if (count($ret)==1) return $ret[0]['numdep'];
|
|||
|
else return '';
|
|||
|
}
|
|||
|
|
|||
|
function getCategorie($nom, $cj=0, $civ='', $naf='') {
|
|||
|
$naf2=substr($naf,0,2)*1;
|
|||
|
// 'Actionnaires priv<69>s', 'Actionnaires anonymes'
|
|||
|
/*
|
|||
|
'Private Equity',
|
|||
|
'Fond de pension',
|
|||
|
'Fondation/Institut de recherche',
|
|||
|
/*
|
|||
|
'ETAT FRANCAIS', 'categorie'=>'', 'dateInsert'=>'20070401120000'),
|
|||
|
'CADRES DU GROUPE', 'categorie'=>'Employ<6F>s/Directeurs', 'dateInsert'=>'20070401120000'),
|
|||
|
'PUBLIC', 'categorie'=>'Public', 'dateInsert'=>'20070401120000'),
|
|||
|
'ADHERENTS', 'categorie'=>'NA', 'dateInsert'=>'20070401120000'),
|
|||
|
'MANAGEMENT', 'categorie'=>'Employ<6F>s/Directeurs', 'dateInsert'=>'20070401120000'),
|
|||
|
'SALARIES'*/
|
|||
|
|
|||
|
if ($civ=='M' || $civ=='MME' || $civ=='MLLE') return 'Personne(s) ou famille(s)';
|
|||
|
elseif (preg_match('/FAMILLE |MONSIEUR |MADAME |MADEMOISELLE|PERSONNES PHYSIQUES/i', $nom)) return 'Personne(s) ou famille(s)';
|
|||
|
elseif (preg_match('/^(M | MME)/i', $nom)) return 'Personne(s) ou famille(s)';
|
|||
|
elseif (preg_match('/CADRES|MANAGEMENT|SALARIES|DIRECTION|DIRECTEUR|EMPLOYEES|PERSONNEL/i', $nom)) return 'Employ<6F>s/Directeurs';
|
|||
|
elseif ($cj>=4000 && $cj<5000) return 'Etat/Autorit<69> publique'; // 4 - Personne morale de droit public soumise au droit commercial
|
|||
|
elseif ($cj>=7000 && $cj<8000) return 'Etat/Autorit<69> publique'; // 7 - Personne morale et organisme soumis au droit administratif
|
|||
|
elseif ($cj==3210) return 'Etat/Autorit<69> publique'; // Etat, collectivit<69> ou <20>tablissement public <20>tranger
|
|||
|
elseif ($cj>=1000 && $cj<2000) return 'Personne(s) ou famille(s)';
|
|||
|
elseif ($cj==2110 || $cj==2210 ||
|
|||
|
$cj==2310 || $cj==2385) return 'Personne(s) ou famille(s)'; // Indivision, SEP
|
|||
|
elseif ($cj==6100 || $cj==6595 ||
|
|||
|
$cj==6596 || $naf=='6411Z' || $naf=='6419Z') return 'Banque';
|
|||
|
elseif ($cj==6411 || $naf2==65) return 'Assurances';
|
|||
|
elseif ($naf2==64 || $naf2==66 || preg_match('/FINANCIERE/i', $nom)) return 'Compagnie financi<63>re';
|
|||
|
elseif ($naf2>=5 && $naf2<=39) return 'Industrie';
|
|||
|
elseif (preg_match('/PUBLIC/i', $nom)) return 'Public';
|
|||
|
elseif (preg_match('/ETAT|GOVERNMENT OF FRANCE/i', $nom)) return 'Etat/Autorit<69> publique';
|
|||
|
|
|||
|
return 'NA';
|
|||
|
}
|
|||
|
|
|||
|
?>
|