#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini Mise à jour des liens actionnaires et participations. Options : -v Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles) -a Traiter les actionnaires -p Traiter les participations -d Purge les tables -n Mise à jour des zones Nom/Prénoms par rapport à la raison sociale -t Mise à jour TVA -i Mise à jour de l'identité -e Mise à jour suite aux évènements -g Mise à jour des Associés Gé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'); $iInsee=new MInsee(); echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des liens...".EOL; if ($doNomPrenom) { $iBodacc=new MBodacc(); echo date ('Y/m/d - H:i:s')." - Recherche des mise à jour des Zones Noms/Pré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 à 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 à 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é 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(); */ $ret=$iDb->select( 'liensRef', 'id, siren, actif, RS', "id>=1000", 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) { $idRef=$lien['id']; $siren=$lien['siren']; $RS=$lien['RS']; 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 : $idRef, $siren ($RS) - $nbAct fois actionnaire et $nbPar fois participation".EOL; $iDb->delete('liensRef', "id=$idRef", false); //die(); } } } die(); } if ($doAssocGer) { echo date ('Y/m/d - H:i:s')." - Recherche des associé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é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é-gé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é-gé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 à 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 PpPm='PM' /*LIMIT 0,200000*/ ORDER BY dateInsert DESC, dateUpdate DESC", 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 "SELECT 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 FROM liensRef WHERE siren>1000 $strSiren AND sirenValide=1 ORDER BY siren ASC".EOL; */ echo date ('Y/m/d - H:i:s')." - Début de la mise à 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é 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é :".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 à 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é de '".$lien['ape']."' a '".$tabUpdate['ape']."'".EOL; } elseif ($modeDebug) echo "$i/$nb : $siren - Pas de mise à 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'=>'(.*)', 'tvaInvalide'=>'(.*)', 'tvaNumero'=>'