#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini $table) { $ret=$iDb->select($table, 'count(*) as nb', '1', false); $nb=$ret[0][0]; echo date ('Y/m/d - H:i:s')." - Table $table : $nb enregistrements.".EOL; if ($table=='insee200707') $origine=1; else $origine=0; if ($table=='insee200707') $ideb=0; else $ideb=0; for ($i=$ideb; $i<$nb; $i=$i+$nbRecords) { $ret=$iDb->select($table, $fields, "1 LIMIT $i, $nbRecords", true, MYSQL_ASSOC, true); echo date ('Y/m/d - H:i:s')." - Table $table : enregistrement $i à ".($i+$nbRecords)." / $nb".EOL; //die($ret); $k=0; while($ligne=$iDb->fetch(MYSQL_ASSOC)) { $k++; $siren=$ligne['insSIREN']; $nic =$ligne['insNIC']; $ret2=$iDbEve->select('etablissements', $fieldsEtab, "SIREN=$siren AND NIC=$nic"); $cpt=count($ret2); if ($cpt>1) { //die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL); $tabSirenDoubles[]=$siren;// RAF print_r($ret2); echo EOL.'==============================================='.EOL; } elseif ($cpt==1) { //echo date ('Y/m/d - H:i:s')." - Siret $siren $nic : $cpt correspondances".EOL; $etab=$ret2[0]; //echo "Raison Sociale = '".$etab['SONOM']."' <--> '".$ligne['insNOMEN']."'".EOL; if ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==1) // 1 : Saisonnier $statut=7; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=5; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==1) // 1 : Saisonnier $statut=3; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=1; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=2; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=6; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==1) // 1 : Saisonnier $statut=4; else $statut=8; $tabUpdate=array( 'SOORIG'=> $origine, // Mise à jour Notice 80 mensuel Insee 'SOSTAE'=> $statut, // Siège + Saisonnat + Auxil 'DISTSP'=> trim($ligne['insDISTSP']), // Distribution Spéciale 'ACHPOSTE'=>trim($ligne['insACHPOSTE']), // Acheminement Postal 'DCRET'=> substr($ligne['insDCRET'],2,4).substr($ligne['insDCRET'],0,2).'00', // Date CREA Etab. ); $retUpdate=$iDbEve->update('etablissements', $tabUpdate, "SIREN=$siren AND NIC=$nic", false); if (!$retUpdate) die('Erreur lors de MAJ Mysql n°'. mysql_errno() .' : '.mysql_error()); } elseif ($cpt==0) { $siegeDep=substr($ligne['insDEPCOMEN'], 0, 2); // Département du siège $siegeLoc=substr($ligne['insDEPCOMEN'], 2, 3); // Code commune du siège //$statut=0; //Siège + Saisonnat + Auxil if ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==1) // 1 : Saisonnier $statut=7; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=5; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==1) // 1 : Saisonnier $statut=3; elseif ($ligne['insSIEGE']==1 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=1; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==0 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=2; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==1 && $ligne['insAUXILT']==0) // 1 : Saisonnier $statut=6; elseif ($ligne['insSIEGE']==0 && $ligne['insSAISONAT']==1) // 1 : Saisonnier $statut=4; else $statut=8; $tabInsert=array( 'SIREN'=> $ligne['insSIREN'], 'NIC'=> $ligne['insNIC'], 'SOORIG'=> $origine, // Mise à jour Notice 80 mensuel Insee 'SONOM'=> trim($ligne['insNOMEN']), // Raison Sociale de l'entreprise 'SOENS'=> trim($ligne['insNOMET']), // Nom de l'établissement ou enseigne 'SOSIG'=> trim($ligne['insSIGLE']), // Sigle 'SONRU'=> trim($ligne['insNUMVOIE']), // N° dans la voie 'SOBTQ'=> trim($ligne['insINDREP']), // BTQ /**/ 'TYPVOIE'=> trim($ligne['insTYPVOIE']), // Type de voie 'SORUE'=> trim($ligne['insLIBVOIE']), // Lib Voie 'SOCP'=> trim($ligne['insCODPOS']), // Code Postal 'SOCOM'=> trim($ligne['insLIBCOM']), // Commune 'SOCPLA'=> trim($ligne['insCADR']), // Complément d'adresse /**/ 'DISTSP'=> trim($ligne['insDISTSP']), // Distribution Spéciale /**/ 'ACHPOSTE'=>trim($ligne['insACHPOSTE']), // Acheminement Postal /**/ 'DCRET'=> substr($ligne['insDCRET'],2,4).substr($ligne['insDCRET'],0,2).'00', // Date CREA Etab. 'SODTCT'=> substr($ligne['insDCREN'],2,4).substr($ligne['insDCREN'],0,2).'00', // Date CREA Entrep. 'SOSTAE'=> $statut,//Siège + Saisonnat + Auxil 'SOCJEN'=> trim($ligne['insCJ']), 'SOTSEX'=> trim($ligne['insSEXE']), 'SONBET'=> trim($ligne['insNBTOA']), // Nombre d'établissement de l'entreprise 'SOAPET'=> $ligne['insAPEN700'], // Code NAF de l'entreprise (cf. table APE) 'SOAPEE'=> $ligne['insAPET700'], // Code NAF de l'établissement (cf. table APE) 'SORLJ'=> $ligne['SORLJ_N'], // Procédure Collective sur l'entreprise : O = Présence ProCol dans l'historique annonces 'SOEFF'=> $ligne['insEFENCENT'], // Effectif connu à la centaine de l'entreprise 'SOETEL'=> $ligne['SOETEL'], // Téléphone de l'établissement 'SOEFAX'=> $ligne['SOEFAX'], // FAX de l'établissement 'SOEDRQ'=> $ligne['SOEDRQ'], // Qualité du dirigeant de l'entreprise (cf. table DQA) 'SOEDRN'=> $ligne['SOEDRN_X'], // Nom & Prénom du dirigeant 'SDEDRD'=> $ligne['SOEDRD_D'], // Date de naissance du dirigeant (SSAAMMJJ) 'SOEDRL'=> $ligne['SOEDRL_N'], // Lieu de naissance du dirigeant 'SOCLAT'=> $ligne['insTEFEN'], // Tranche d'effectif de l'entreprise (cf. table INL) //'SOERGS'=> $ligne['insRPEN'], // Code région INSEE du siège (cf. table ING) //'SOERGE'=> $ligne['insRPET'], // Code région INSEE de l'étab. (cf. table ING) //'SOEDPS'=> $siegeDep, // Département du siège //'SOELCS'=> $siegeLoc, // Code localité du siège 'SOEDPE'=> $ligne['insDEPET'], // Département de l'établissement 'SOELCE'=> $ligne['insCOMET'], // Code localité de l'établissement 'SOECA'=> $ligne['insTCA'], // Code tranche CA de l'entreprise (cf. table INT) 'SOECAX'=> $ligne['insTCAEXPOR'], // Code tranche CA Expor. Entrep. (cf. table INP) 'SOSINE'=> $ligne['insSINGT'], // Code Singularité établissement (cf. table INE) 'dateInsert'=>$ligne['SODTEN_D'], ); $retInsert=$iDbEve->insert('etablissements', $tabInsert, true); if (!$retInsert) die('Erreur Mysql n°'. mysql_errno() .' : '.mysql_error()); // print_r($tabInsert); // fgets(STDIN); /* Vérifier les champs insee non intégrées dans la base des étab !!! insAPET31, insTEFET, insEFETCENT, insORIGINE, insMMINTRET, insNATURE, insMODET, insDAPET, insDEFET, insEAEANT, insEAEAPET, insEAESEC1T, insEAESEC2T, insAPEN31, insAPRM, insRECME, insDAPEN, insDEFEN, insMMINTREN, insMONOACT, insMODEN, insORDIN, insEAEANN, insEAEAPEN, insEAESEC1N, insEAESEC2N, insEAESEC3N, insEAESEC4N, insREGIMP, insMONOREG, SPEACT, SOEVT, SOROL, SODJL_D, SORSNC, SORSNO, SODTEN_D Il manque les zones suivantes depuis la base SOCAPI 13 Montant du capital de l'entreprise SORCE 9 Numéro de RC de l'entreprise SODCAP 8 Date de mise à jour du capital (SSAAMMJJ) SOCAPO 3 Monnaie d'origine du capital (cf. table BDV) */ } else die(date ('Y/m/d - H:i:s')." - Siret $siren $nic : Nb $cpt correspondances impossible !!!".EOL); } } } //print_r(array_unique($tabSirenDoubles)); ?>