#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini select('mederic', 'ID_CLIENT, REF, RAISON_SOCIALE, ENSEIGNE2, SIGLE2, ADRESSE, CP, VILLE', 'SIREN=0', true); echo date('Y/m/d - H:i:s') ." - Nombre d'entreprises à traiter : ".count($listeNonSirene). EOL; foreach ($listeNonSirene as $k=>$entrep) { $siege='';$actif='';$deb=0;$nbRep=20;$maxRep=20;$pertinence=false; $avecSiren=true; $tabEtabs=@$iInsee->rechercheEtab($entrep['RAISON_SOCIALE'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren); if (@$tabEtabs[nbReponses]==0 && $entrep['ENSEIGNE2']<>'') { $tabEtabs=@$iInsee->rechercheEtab($entrep['ENSEIGNE2'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren); } elseif (@$tabEtabs[nbReponses]==0 && $entrep['SIGLE2']<>'') { $tabEtabs=@$iInsee->rechercheEtab($entrep['SIGLE2'], $entrep['ADRESSE'], $entrep['CP'], $entrep['VILLE'], $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren); } //print_r($tabEtabs); //die(); $tabSiren=array(); //echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... "; foreach ($tabEtabs['reponses'] as $i=>$etab) { $tabSiren[]=$etab['Siren']; /* $siret = $etab['Siret']; // 40847260300039 $siege = $etab['Siege']; // 0 $nom = $etab['Nom']; // SETTIER JEAN MARC $nom2 = $etab['Nom2']; // $sigle = $etab['Sigle']; // $sigle = $etab['Enseigne'];// $sigle = $etab['Adresse']; // 0059 R DE PATAY $sigle = $etab['CP']; // 45000 $sigle = $etab['Ville']; // ORLEANS $sigle = $etab['Tel']; // 00000000 $sigle = $etab['Fax']; // 00000000 $sigle = $etab['FJ']; // 1500 $sigle = $etab['FJLib']; // Profession libérale $siren = $etab['Siren']; // 408472603 $nic = $etab['Nic']; // 00039 $actif = $etab['Actif']; // 0 */ } $tabUnique=array_unique($tabSiren); //echo "RECHERCHE DE : ". $entrep['RAISON_SOCIALE']. $entrep['ENSEIGNE2']. $entrep['SIGLE2']. $entrep['ADRESSE']. $entrep['CP']. $entrep['VILLE'].' ('.$tabEtabs['nbReponsesTotal']. " réponses)... "; if (count($tabUnique)==1) { echo '1;'.$entrep['REF'].';'.$tabUnique[0].';'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL; } else { echo count($tabUnique).';'.$entrep['REF'].';000000000;;'.$etab['Nom'].';'.$entrep['RAISON_SOCIALE'].';'.$entrep['ENSEIGNE2'].';'.$entrep['SIGLE2'].';'.$entrep['ADRESSE'].';'.$entrep['CP'].';'.$entrep['VILLE'].EOL; } // die();// /* if (count($tabTrouve)==1) { $entrepT=$tabTrouve[0]; $siren=substr($entrepT['Siret'],0,9); $nic=substr($entrepT['Siret'],9,5); echo "$siren $nic\n"; //print_r($entrepT);die(); /*if ($table['db']<>'jo') $iDb->update($table['table'], array($table['champSiren']=>$siren), "id='".$entrep['id']."'", true) or die($iDb->getLastError()); else if (trim($siren)<>'') { $tabTmp=$iDb->select('bodacc_detail','count(*)', 'id='. $entrep['id'] ." AND siren=$siren", true); if ($tabTmp[0][0]<>0) { // Cette annonce est déjà ratachée au siren, on supprime donc ce lien inutile référençant le même siren //$iDb->delete('bodacc_detail', 'id='. $entrep['id'] .' AND siren='.$entrep['sir'], true); } else $iDb->update('bodacc_detail', array('siren'=>$siren, $table['champNic']=>$nic, $table['champSirenValide']=>3, $table['champNicValide']=>3), 'id='.$entrep['id'].' AND siren='.$entrep['sir'], true) or die($iDb->getLastError()); // On efface l'information de la table A sirener au cas où ! $iDb->delete('bodacc_sirenage', 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError()); } } elseif (count($tabTrouve)==0) { echo " Pas de réponse !\n"; $tabInsert=array( 'idAnn'=>$entrep['id'], 'siren'=>$entrep['sir']); if (!$iDb->insert('bodacc_sirenage', $tabInsert)) $iDb->update('bodacc_sirenage', array('siretProposes'=>''), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($iDb->getLastError()); } else { // Plusieurs siren possibles echo "\n"; $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 "PROBABLES : \n"; $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']; } 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($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($iDb->getLastError()); } else { /** On insère en base toutes les multipropositions pour le sirenage manuel $tabInsert=array( 'idAnn'=>$entrep['id'], 'siren'=>$entrep['sir'], 'siretProposes'=>implode(';',$tabSiret)); if ($iDb->insert('bodacc_sirenage', $tabInsert)) $iDb->update('bodacc_sirenage', array('siretProposes'=>implode(';',$tabSiret)), 'idAnn='.$entrep['id'].' AND siren='.$entrep['sir']) or die($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($table['table'], array($table['champSiren']=>$sirenNomIdem), "id='".$entrep['id']."'", true) or die(mysql_error()); else $iDb->update($table['table'], array($table['champSiren']=>$sirenNomIdem, $table['champSirenValide']=>5), 'id='.$entrep['id'], true) or die(mysql_error()); } elseif ($sirenAdrIdem!=false) { echo "$num. Siren trouvé = $sirenNomIdem (adresses identiques) !\n"; if ($table['db']<>'jo') $iDb->update($table['table'], array($table['champSiren']=>$sirenAdrIdem), "id='".$entrep['id']."'", true) or die(mysql_error()); else $iDb->update($table['table'], 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($table['table'], array($table['champSiren']=>$sir), "id='".$entrep['id']."'", true) or die(mysql_error()); else $iDb->update($table['table'], array($table['champSiren']=>$sir, $table['champSirenValide']=>2), 'id='.$entrep['id'], true) or die(mysql_error()); break; } else $saisie=''; } }*/ } echo date('Y/m/d - H:i:s') ." - FIN du programme de SIRENAGE.".EOL; die(); ?>