#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini 0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0); $procoltot=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0); foreach ($tabFichier as $iFic=>$fichier) { $ligne001=$ligne100=$ligne104=$ligne200=$ligne999=0; $ligne100chap=array('comptes'=>0, 'creations'=>0, 'mmd'=>0, 'procol'=>0, 'radiations'=>0, 'ventes'=>0); $procol=array('CONC'=>0, 'SAUV'=>0, 'RJ'=>0, 'LJ'=>0, 'SUITE'=>0); $tabLignes=file($fichier); $fp=fopen($fichier.'.csv', 'w'); foreach ($tabLignes as $i=>$ligne) { $ligne=strtr($ligne,';',' '); $ecrireLignePre=false; $typeLigne=substr($ligne, 0, 3)*1; switch ($typeLigne) { case 1: // Ligne ignorée // if ($csvAnn && !$csvId) // Ecriture de l'entête $siren ='Siren'; $nic ='Nic'; $ref ='Référence'; $numPar ='Parution'; $bodacc ='Bodacc'; $datePar='Date parution'; $numAnn ='Numéro Annonce'; $cor ='Type Annonce'; $libTri ='Tribunal'; $numRC ='Numéro RCS'; $raisonS='Raison sociale'; $catEven='Chapitre'; $txtEven='Evènement(s)'; $txtAnn ='Texte Annonce'; $codeTri ='Code Tribunal'; $actifEt ='Etab. Actif'; $siege ='Siège'; $nomCom ='Nom Commercial'; $enseigne ='Enseigne'; $sigle ='Sigle'; $adrEtNum ='Adresse Num'; $adrEtBtq ='Adresse Btq'; $adrEtTypV ='Adresse Type Voie'; $adrEtVoie ='Adresse Lib Voie'; $adrEtComp ='Complèment adresse'; $adrEtDisp ='Adresse Distribution Spéciale'; $adrEtCp ='Adresse CP'; $adrEtVille ='Adresse Ville'; $adrEtPays ='Adresse Pays'; $capital ='Capital'; $capitalDev =''; $cj ='Forme Juridique'; $civilite ='Civilité'; $nbEtab ='Nb Etab'; $dateMaj ='Date MAJ'; $sitJur ='Situation Juridique'; $depCom ='Code Commune'; $rivoli ='Fantoir'; $iris ='IRIS'; $ilot ='Ilot'; $indDom ='Domiciliation'; $tel ='Téléphone'; $fax ='Fax'; $web ='Web'; $mail ='Mail'; $auxil ='Auxiliarité'; $saisonat ='Saisonnalité'; $activnat ='Nature Activité'; $origine ='Origine création'; $typexploit ='Type Exploitation'; $lieuact ='Lieu Activité'; $actisurf ='Type magasin'; $prodpart ='ProdPart'; $arronet ='Arrondissemeent'; $ctonet ='Canton'; $tcd ='Tranche commune'; $zemet ='Zone Emploi'; $du ='Dépt Unité Urbaine'; $tu ='Taille Unité Urbaine'; $uu ='Numéro Unité Urbaine'; $dcret ='Date création étab.'; $apet ='NAF étab.'; $nacet ='NACE étab'; $dapet ='Année NAF étab'; $effet ='Effectif étab.'; $teffet ='Tranche Eff. ét.'; $defet ='Année effectif étab.'; $modet ='Modalité APE étab.'; $explet ='Etab. exploitant'; $rpet ='Région étab.'; $dreactet ='Date réactivation étab.'; $dateferet ='Date fermeture étab.'; $eaeant ='Année EAE'; $eaeapet ='APE1 EAE'; $eaesec1t ='APE2 EAE'; $eaesec2t ='APE3 EAE'; $dcren ='Date création ent.'; $apen ='NAF ent.'; $nacen ='NACE ent.'; $dapen ='Année NAF ent.'; $effen ='Effectif ent.'; $teffen ='Tranche Eff. ent'; $defen ='Année effectif ent.'; $moden ='Modalité APE ent.'; $explen ='Ent. exploitante'; $rpen ='Région ent.'; $dreacten ='Date réactivation ent.'; $dateferen ='Date fermeture ent.'; $dateImma ='Date Immatriculation'; $dateRad ='Date Radiation'; $tca ='Tranche CA'; $tcaExp ='Tranche CA Exp.'; $zus ='ZUS'; $zru ='ZRU'; $zfu ='ZFU'; $cucs ='CUCS'; $afr ='AFR'; $zrr ='ZRR'; $tva ='TVA'; $isin ='ISIN'; $dir1nom ='Dirigeant 1 nom'; $dir1prenom ='Dirigeant 1 prénom'; $dir1cfct ='Dirigeant 1 code Fct'; $dir2nom ='Dirigeant 2 nom'; $dir2prenom ='Dirigeant 2 prénom'; $dir2cfct ='Dirigeant 2 code Fct'; $bilanClot ='Date dernier bilan'; $bilanDuree ='Durée bilan'; $bilanCA ='Dernier CA'; $bilanRES ='Dernier Résultat'; $ligneOut=''; $ligne001++; $ligne001tot++; break; case 200: // Structure Identité if (!$csvId) break; $ligneOut ="$siren;$nic;$codeTri;$libTri;$numRC;$actifEt;$siege;$raisonS;$nomCom;$enseigne;$sigle;"; $ligneOut.="$adrEtNum;$adrEtBtq;$adrEtTypV;$adrEtVoie;$adrEtComp;$adrEtDisp;$adrEtCp;$adrEtVille;$adrEtPays;"; $ligneOut.="$capital $capitalDev;$cj;$civilite;$nbEtab;$dateMaj;$sitJur;$depCom;$rivoli;$iris;$ilot;$indDom;"; $ligneOut.="$tel;$fax;$web;$mail;$auxil;$saisonat;$activnat;$origine;$typexploit;$lieuact;$actisurf;$prodpart;"; $ligneOut.="$arronet;$ctonet;$tcd;$zemet;$du;$tu;$uu;$dcret;$apet;$nacet;$dapet;$effet;$teffet;"; $ligneOut.="$defet;$modet;$explet;$rpet;$dreactet;$dateferet;$eaeant;$eaeapet;$eaesec1t;$eaesec2t;"; $ligneOut.="$dcren;$apen;$nacen;$dapen;$effen;$teffen;$moden;$explen;$rpen;$dreacten;$dateferen;$dateImma;$dateRad;$tca;$tcaExp;"; $ligneOut.="$zus;$zru;$zfu;$cucs;$afr;$zrr;$tva;$isin;$dir1nom;$dir1prenom;$dir1cfct;$dir2nom;$dir2prenom;$dir2cfct;"; $ligneOut.="$bilanClot;$bilanDuree;$bilanCA;$bilanRES"; $ligne200++; $ligne200tot++; $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise $nic = trim(substr($ligne, 22, 5 )); // Nic de l'établissement /* $ref = trim(substr($ligne, 71, 18 )); // Référence Client $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $cor=''; if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); switch($typeAnn) { case 'I': $cor='Insertion'.$cor; break; case 'A': $cor='Additif'.$cor; break; case 'R': $cor='Rectificatif'.$cor; break; case 'S': $cor='Suppression'.$cor; break; default: break; } */ $codeTri=trim(substr($ligne, 41 , 6 )); // Code Tribunal Codification interne utilisée par le Bodacc $libTri=@$iBodacc->getTribunalNom($codeTri); $adrEtNum= trim(substr($ligne, 513 , 4)); // Adresse de l'établissement : Numéro dans la voie $adrEtBtq= trim(substr($ligne, 517 , 1 )); // ADR_BTQ Indicateur de répétition (Bis, Ter, etc...) $adrEtTypV= trim(substr($ligne, 518 , 4 )); // ADR_TYPVOIE Type de voie $adrEtVoie= trim(substr($ligne, 522 , 32 )); // Adresse de l'établissement : Libellé de la voie $adrEtComp= trim(substr($ligne, 591 , 38 )); // ADR_COMP Complément d'adresse $adrEtDisp = trim(substr($ligne, 629 , 38 )); // ADR_DISTSP Distribution spéciale $adrEtCp= trim(substr($ligne, 586 , 5 )); // Code Postal de l'établissement $adrEtVille=trim(substr($ligne, 554 , 32 )); // Ville de l'établissement $adrEtPays = trim(substr($ligne, 667 , 38 )); // PAYS Pays $numRC = trim(substr($ligne, 31 , 10 )); // Numéro de RC (Registre du Commerce) de l'entreprise $raisonS= trim(substr($ligne, 73 , 160 )); // Raison sociale de l'entreprise /* $siren = substr($ligne, 3 , 10 ); // ID Numéro unique d'identification interne d'un établissement S&D $siren = substr($ligne, 27 , 3 ); // SOURCE Source de la fiche d'identité $siren = substr($ligne, 30 , 1 ); // SIRETVALIDE Siren/siret valide */ $dateMaj= substr($ligne, 47 , 8 ); // DATEMAJ Date de la dernière mise à jour dans la base S&D $actifEt = substr($ligne, 55 , 1 ); // ACTIF Établissement juridiquement actif // $siren = substr($ligne, 56 , 1 ); // ACTIFECO Établissement économiquement actif $sitJur = trim(substr($ligne, 57 , 2 )); // SITJUR Situation Juridique de l'entreprise // $siren = substr($ligne, 59 , 3 ); // EVE Dernier événement Insee recensé $dateEve = substr($ligne, 62 , 8 ); // DATEVE Date du dernier événement Insee recensé // $siren = substr($ligne, 70 , 2 ); // TYPETAB Type d'établissement concerné par l'événement $siege = substr($ligne, 72 , 1 ); // SIEGE Établissement siège, secondaire ou principal $nomCom = trim(substr($ligne, 233 , 160 )); // NOMCOM Nom commercial $enseigne = trim(substr($ligne, 393 , 80 )); // ENSEIGNE Enseigne de l'établissement $sigle = trim(substr($ligne, 473 , 40 )); // SIGLE sigle de l'entreprise $depCom = substr($ligne, 707 , 5 ); // ADR_DEP Département de l'établissement $rivoli = trim(substr($ligne, 712 , 5 )); // CODEVOIE Code voie de l'établissement $iris = trim(substr($ligne, 717 , 4 )); // CODEIRIS Code Iris de l'établissement $ilot = trim(substr($ligne, 721 , 5 )); // CODEILOT Code Ilot de l'établissement $indDom = trim(substr($ligne, 726 , 1 )); // ADRESSEDOM Indicateur d'adresse de domiciliation $tel= trim(substr($ligne, 727 , 15 )); // TEL Numéro de téléphone $fax = trim(substr($ligne, 742 , 15 )); // FAX Numéro de télécopie $web = trim(substr($ligne, 757 , 80 )); // WEB Site Web $mail = trim(substr($ligne, 837 , 80 )); // MAIL Adresse Email de contact générique $auxilt = trim(substr($ligne, 917 , 1 )); // AUXILT Auxiliarité de l'activité de l'établissement $saisonat= trim(substr($ligne, 918 , 1 )); // SAISONAT Saisonnalité de l'établissement $activnat= trim(substr($ligne, 919 , 2 )); // ACTIVNAT Nature de l'activité de l'établissement $origine= trim(substr($ligne, 921 , 2 )); // ORIGINE Origine de la création de l'établissement $typexploit= trim(substr($ligne, 923 , 2 )); // TYPEXPLOIT Type d'exploitation $lieuact=trim(substr($ligne, 925 , 2 )); // LIEUACT Lieu de l'activité de l'établissement $actisurf=trim(substr($ligne, 927 , 2 )); // ACTISURF Type de magasin $prodpart=trim(substr($ligne, 929 , 1 )); // PRODPART Participation particulière à la production de l'établissement $arronet=trim(substr($ligne, 930 , 2 )); // ARRONET Arrondissement de l'établissement $ctonet = trim(substr($ligne, 932 , 3 )); // CTONET Canton $tcd=trim(substr($ligne, 935 , 2 )); // TCD Tranche de commune détaillée $zemet= trim(substr($ligne, 937 , 2 )); // ZEMET Zone d'emploi $du= trim(substr($ligne, 939 , 2 )); // DU Département de l'unité urbaine de localisation $tu= trim(substr($ligne, 941 , 1 )); // TU Taille de l'unité urbaine $uu= trim(substr($ligne, 942 , 2 )); // UU Numéro de l'untié urbaine $dcret = substr($ligne, 944 , 8 ); // DCRET Date de création de l'établissement $apet = substr($ligne, 952 , 5 ); // APE_ETAB Code activité dans la NAF rév2 de l'établissement $nacet= trim(substr($ligne, 957 , 5 )); // NACE_ETAB Code activité NACE de l'établissement $dapet = trim(substr($ligne, 962 , 4 )); // DAPET Année de validité de l'activité principale de l'établissement $effet = trim(substr($ligne, 966 , 7 ))*1; // EFF_ET Effectif de l'établissement $teffet = substr($ligne, 973 , 2 ); // TEFF_ET Tranche d'effectif de l'établissement $defet = trim(substr($ligne, 975 , 4 )); // DEFET Année de mise à jour de l'effectif établissement $modet = trim(substr($ligne, 979 , 1 )); // MODET Modalité de l'activité pricipale de l'établissement $explet= trim(substr($ligne, 980 , 1 )); // EXPLET Etablissement exploitant tout ou partie des moyens de production $rpet = trim(substr($ligne, 981 , 2 )); // RPET Région de localisation de l'établissement $dreactet = trim(substr($ligne, 983 , 8 )); // DREACTET Date de réactivation de l'établissement $dateferet = trim(substr($ligne, 991 , 8 )); // DATEFERET Date de fermeture de l'établissement $eaeant = trim(substr($ligne, 999 , 4 )); // EAEANT Année de validité des rubriques de niveau Etab provenant des EAE* $eaeapet = trim(substr($ligne, 1003 , 5 )); // EAEAPET Activité principale de l'établissement issue des EAE $eaesec1t = trim(substr($ligne, 1008 , 5 )); // EAESEC1T Activité secondaire de l'établissement issue des EAE $eaesec2t = trim(substr($ligne, 1013 , 5 )); // EAESEC2T Autre activité secondaire de l'établissement issue des EAE $dcren = substr($ligne, 1018 , 8 ); // DCREN Date de création de l'entreprise $apen = substr($ligne, 1026 , 5 ); // APE_ENT Code activité dans la NAF rév2 de l'entreprise $nacen = substr($ligne, 1031 , 5 ); // NACE_ENT Code activité NACE de l'entreprise $dapen = substr($ligne, 1036 , 4 ); // DAPEN Année de validité de l'activité principale de l'entreprise $effen = trim(substr($ligne, 1040 , 7 ))*1; // EFF_ENT Effectif de l'entreprise $teffen = substr($ligne, 1047 , 2 ); // TEFF_ENT Tranche d'effectif de l'entreprise $defen = substr($ligne, 1049 , 4 ); // DEFEN Année de mise à jour de l'effectif entreprise $moden = substr($ligne, 1053 , 1 ); // MODEN Modalité de l'activité pricipale de l'entreprise $explen = substr($ligne, 1054 , 1 ); // EXPLEN Entreprise exploitant tout ou partie des moyens de production $rpen = substr($ligne, 1055 , 2 ); // RPEN Région de localisation du siège de l'entreprise $dreacten = substr($ligne, 1057 , 8 ); // DREACTEN Date de réactivation de l'entreprise $dateferen = substr($ligne, 1065 , 8 ); // DATEFEREN Date de fermeture de l'entreprise $dateImma = substr($ligne, 1073 , 8 ); // DATEIMMAT Date d'immatriculation de l'entreprise au RCS $dateRad = substr($ligne, 1081 , 8 ); // DATERAD Date de radiation de l'entreprise du RCS $capital = trim(substr($ligne, 1089 , 15 ))*1; // CAPITAL Montant du capital de l'entreprise // $siren = substr($ligne, 1104 , 1 ); // CAPITALTYPE Type de capital $capitalDev= trim(substr($ligne, 1105 , 3 )); // CAPITALDEV Devise du capital $cj = substr($ligne, 1108 , 4 ); // CJ Catégorie Juridique de l'entreprise $civilite= trim(substr($ligne, 1112 , 1 )); // CIVILITE Civilité de l'entreprise si Personne Physique $nbEtab = trim(substr($ligne, 1113 , 4 ))*1; // NBETAB Nombre d'établissements actifs de l'entreprise $tca= substr($ligne, 1117 , 1 ); // TCA Tranche de chiffre d'affaire $tcaExp = substr($ligne, 1118 , 1 ); // TCAEXP Tranche de chiffre d'affaire à l'export /* $siren = substr($ligne, 1119 , 6 ); // APRM Activité principale au registre des métiers $siren = substr($ligne, 1125 , 1 ); // MONOREG Mono-régionalité de l'entreprise $siren = substr($ligne, 1126 , 2 ); // REGIMP Principale région d'implantation de l'entreprise $siren = substr($ligne, 1128 , 1 ); // MONOACT Mono-activité de l'entreprise $siren = substr($ligne, 1129 , 5 ); // NICSIEGE Nic de l'établissement siège $siren = substr($ligne, 1134 , 1 ); // RECME Répertoire des Entreprises Contrôlées Majoritairement par l’État $siren = substr($ligne, 1135 , 14 ); // SIRETLIE Siret lié : prédécesseur, successeur, doublon, autre $siren = substr($ligne, 1149 , 1 ); // SIRETLIETYPE Type de sitet lié $siren = substr($ligne, 1150 , 5 ); // NICPREC Nic de l'établissement prédécesseur (dans le cadre d'un transfert) $siren = substr($ligne, 1155 , 5 ); // NICSUIV Nic de l'établissement successeur (dans le cadre d'un transfert) $siren = substr($ligne, 1160 , 2 ); // insDESTINAT Destination Insee $siren = substr($ligne, 1162 , 5 ); // insDEPCOMEN Code commune Insee du siège de l'entreprise $siren = substr($ligne, 1167 , 1 ); // insMNICSIEGE Indicateur de MAJ du NIC SIEGE $siren = substr($ligne, 1168 , 1 ); // insMNOMEN Indicateur de MAJ de la Raison Sociale $siren = substr($ligne, 1169 , 1 ); // insMCJ Indicateur de MAJ de la Forme Juridique $siren = substr($ligne, 1170 , 1 ); // insMAPEN Indicateur de MAJ du NAF entreprise $siren = substr($ligne, 1171 , 1 ); // insMENSEIGNE Indicateur de MAJ de l'ENSEIGNE $siren = substr($ligne, 1172 , 1 ); // insMAPET Indicateur de MAJ du NAF établissement $siren = substr($ligne, 1173 , 1 ); // insMADRESSE Indicateur de MAJ de l'ADRESSE de l'établissement $siren = substr($ligne, 1174 , 1 ); // insMAUXILT Indicateur de MAJ de l'AUXILIARITE $siren = substr($ligne, 1175 , 1 ); // insMSIGLE Indicateur de MAJ du SIGLE $siren = substr($ligne, 1176 , 1 ); // insMEXPLEN Indicateur de MAJ du caractère EXPLOITANT entrep $siren = substr($ligne, 1177 , 1 ); // insMEXPLET Indicateur de MAJ du caractère EXPLOITANT étab $siren = substr($ligne, 1178 , 1 ); // ADR_RNVP Type de Prestation RNVP si RNVP $siren = substr($ligne, 1179 , 38 ); // L1_nomen Ligne 1 : Nom de l'entreprise $siren = substr($ligne, 1217 , 38 ); // L2_COMP Ligne 2 : Complément de nom $siren = substr($ligne, 1255 , 38 ); // L3_CADR Ligne 3 : Complément d'adresse $siren = substr($ligne, 1293 , 38 ); // L4_VOIE Ligne 4 : Adresse $siren = substr($ligne, 1331 , 38 ); // L5_DISP Ligne 5 : Distribution spéciale $siren = substr($ligne, 1369 , 38 ); // L6_POST Ligne 6 : Code Postal, commune, etc.. $siren = substr($ligne, 1407 , 38 ); // L7_ETRG Ligne 7 : Pays si étranger $siren = substr($ligne, 1445 , 4 ); // EAEANN Année de validité des rubriques de niveau ENTREP provenant des EAE* $siren = substr($ligne, 1449 , 5 ); // EAEAPEN Activité principale de l'entreprise issue des EAE $siren = substr($ligne, 1454 , 5 ); // inseaesec1n Activité secondaire n°1 de l'entreprise issue des EAE $siren = substr($ligne, 1459 , 5 ); // inseaesec2n Activité secondaire n°2 de l'entreprise issue des EAE $siren = substr($ligne, 1464 , 5 ); // inseaesec3n Activité secondaire n°3 de l'entreprise issue des EAE $siren = substr($ligne, 1469 , 5 ); // inseaesec4n Activité secondaire n°4 de l'entreprise issue des EAE $siren = substr($ligne, 1474 , 12 ); // GPSX Latitude en ° et décimales de ° (format WGS1984) $siren = substr($ligne, 1486 , 12 ); // GPSY Longitude en ° et décimales de ° (format WGS1984) $siren = substr($ligne, 1498 , 1 ); // GPSP Niveau de précision du géocodage (de 0 à 9) */ $zus = trim(substr($ligne, 1499 , 10 )); // ZUS Identifiant de la Zone Urbaine Sensible $zru = trim(substr($ligne, 1509 , 10 )); // ZRU Identifiant de la Zone de Rénovation Urbaine $zfu = trim(substr($ligne, 1519 , 10 )); // ZFU Identifiant de la Zone Franche Urbaine $cucs = trim(substr($ligne, 1529 , 10 )); // CUCS Identifiant de la Zone Contrat Urbain de Cohésion Social $afr = trim(substr($ligne, 1539 , 10 )); // AFR Identifiant de la Zone AFR $zrr = trim(substr($ligne, 1549 , 10 )); // ZRR Identifiant de la ZRR $tva = trim(substr($ligne, 1559 , 15 )); // TVA Numéro de TVA Intracommunataire $tvaValide = substr($ligne, 1574 , 1 ); // TVAVALIDE Numéro de TVA validé // $siren = substr($ligne, 1575 , 1 ); // ANCIENSIEGE Ancien siège $isin= trim(substr($ligne, 1576 , 12 )); // CODEISIN Code ISIN de l'entreprise si cotation en bourse $dir1nom = trim(substr($ligne, 1588 , 40 )); // PPDIR1NOM Nom du principal dirigeant $dir1prenom = trim(substr($ligne, 1628 , 30 )); // PPDIR1PRENOM Prénom du principal dirigeant /* $siren = substr($ligne, 1658 , 40 ); // PPDIR1NNAISS Nom de naissance du ppl dirigeant $siren = substr($ligne, 1698 , 8 ); // PPDIR1DNAISS Date de naissance $siren = substr($ligne, 1706 , 35 ); // PPDIR1LNAISS Lieu de Naissance */ $dir1cfct= substr($ligne, 1741 , 4 ); // PPDIR1FONC Code Fonction // $siren = substr($ligne, 1745 , 8 ); // PPDIR1MAJ Date de MAJ du ppl dirigeant $dir2nom= trim(substr($ligne, 1753 , 40 )); // PPDIR2NOM Nom du seconde principal dirigeant $dir2prenom = trim(substr($ligne, 1793 , 30 )); // PPDIR2PRENOM Prénom du 2ème principal dirigeant /* $siren = substr($ligne, 1823 , 40 ); // PPDIR2NNAISS Nom de naissance du 2ème ppl dirigeant $siren = substr($ligne, 1863 , 8 ); // PPDIR2DNAISS Date de naissance du 2ème ppl dirigeant $siren = substr($ligne, 1871 , 35 ); // PPDIR2LNAISS Lieu de Naissance du 2ème ppl dirigeant */ $dir2cfct = substr($ligne, 1906 , 4 ); // PPDIR2FONC Code Fonction du 2ème ppl dirigeant // $siren = substr($ligne, 1910 , 8 ); // PPDIR2MAJ Date de MAJ du 2ème ppl dirigeant $bilanClot= trim(substr($ligne, 1918 , 8 ))*1; // BILANCLOT Date de dernière clôture de bilan disponible $bilanDuree = trim(substr($ligne, 1926 , 2 ))*1; // BILANDUREE Durée du dernier exercice disponible $bilanCA= trim(substr($ligne, 1928 , 15 ))*1; // BILANCA Chiffre d'affaires au dernier bilan disponible $bilanRES = trim(substr($ligne, 1943 , 15 ))*1; // BILANRES Résultat au dernier bilan disponible // $siren = substr($ligne, 1958 , 41 ); // FILLER1 Zone libre $ecrireLignePre=true; break; case 100: // Structure Bodacc $ligne100++; $ligne100tot++; if (!$csvAnn) break; $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn"; $siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce $nic = trim(substr($ligne, 22, 5 )); // Nic $ref = trim(substr($ligne, 71, 18 )); // Référence Client $numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année $bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C $datePar= WDate::dateT('Ymd','d/M/Y',substr($ligne,31,8)); // Date de parution du Bodacc Format AAAAMMJJ $numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc $typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce $corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion $corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ $corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion $corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion $cor=''; if ($typeAnn<>'I') $cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate); switch($typeAnn) { case 'I': $cor='Insertion'.$cor; break; case 'A': $cor='Additif'.$cor; break; case 'R': $cor='Rectificatif'.$cor; break; case 'S': $cor='Suppression'.$cor; break; default: break; } $codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc $libTri=$iBodacc->getTribunalNom($codeTri); $adrEtNum= substr($ligne, 596 , 4 ); // Adresse de l'établissement : Numéro dans la voie $adrEtVoie= substr($ligne, 606 , 50 ); // Adresse de l'établissement : Libellé de la voie $adrEtCp= substr($ligne, 746 , 5 ); // Code Postal de l'établissement $adrEtVille=substr($ligne, 751 , 45 ); // Ville de l'établissement $adrEnNum= substr($ligne, 796 , 4 ); // Adresse de l'établissement : Numéro dans la voie $adrEnVoie= substr($ligne, 806 , 50 ); // Adresse de l'établissement : Libellé de la voie $adrEnCp= substr($ligne, 946 , 5 ); // Code Postal de l'établissement $adrEnVille=substr($ligne, 951 , 45 ); // Ville de l'établissement $numRC = trim(substr($ligne, 95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise $raisonS= trim(substr($ligne, 104 , 150 )); // Raison sociale de l'entreprise $even=array(); $even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN $even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN $even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN $even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN $even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN $even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN $even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN $even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN $txtEven=''; foreach ($even as $codeEven) if ($codeEven<>0) { $txtEven.=$iBodacc->getEvenement($codeEven).', '; $catEven=$iBodacc->getChapitreEvenement($codeEven); } else $txtEven.=''; if ($catEven=='procol') { switch($codeEven) { case 1050: case 1055: $procol['CONC']++; $procoltot['CONC']++; break; case 1100: $procol['SAUV']++; $procoltot['SAUV']++; break; case 1200: case 1201: case 1211: case 1212: $procol['RJ']++; $procoltot['RJ']++; break; case 1300: case 1301: case 1302: case 1303: case 1304: case 1305: case 1306: case 1307: case 1311: case 1312: case 1313: $procol['LJ']++; $procoltot['LJ']++; break; default: $procol['SUITE']++; $procoltot['SUITE']++; break; } } @$ligne100chap[$catEven]++; @$ligne100chaptot[$catEven]++; $txtEven=substr($txtEven,0,strlen($txtEven)-2); $txtAnn=''; $ecrireLignePre=true; break; case 104: // Annonce $ligne104++; $ligne104tot++; $txtAnn=trim($txtAnn.' '.str_replace(';','.',trim(substr($ligne, 89 , 1910)))); // Texte Annonce break; case 999: // Ligne ignorée if ($csvId) { $ligneOut ="$siren;$nic;$codeTri;$libTri;$numRC;$actifEt;$siege;$raisonS;$nomCom;$enseigne;$sigle;"; $ligneOut.="$adrEtNum;$adrEtBtq;$adrEtTypV;$adrEtVoie;$adrEtComp;$adrEtDisp;$adrEtCp;$adrEtVille;$adrEtPays;"; $ligneOut.="$capital $capitalDev;$cj;$civilite;$nbEtab;$dateMaj;$sitJur;$depCom;$rivoli;$iris;$ilot;$indDom;"; $ligneOut.="$tel;$fax;$web;$mail;$auxil;$saisonat;$activnat;$origine;$typexploit;$lieuact;$actisurf;$prodpart;"; $ligneOut.="$arronet;$ctonet;$tcd;$zemet;$du;$tu;$uu;$dcret;$apet;$nacet;$dapet;$effet;$teffet;"; $ligneOut.="$defet;$modet;$explet;$rpet;$dreactet;$dateferet;$eaeant;$eaeapet;$eaesec1t;$eaesec2t;"; $ligneOut.="$dcren;$apen;$nacen;$dapen;$effen;$teffen;$moden;$explen;$rpen;$dreacten;$dateferen;$dateImma;$dateRad;$tca;$tcaExp;"; $ligneOut.="$zus;$zru;$zfu;$cucs;$afr;$zrr;$tva;$isin;$dir1nom;$dir1prenom;$dir1cfct;$dir2nom;$dir2prenom;$dir2cfct;"; $ligneOut.="$bilanClot;$bilanDuree;$bilanCA;$bilanRES"; } elseif ($csvAnn) $ligneOut="$siren;$nic;$ref;$numPar;$bodacc;$datePar;$numAnn;$cor;$libTri;$numRC;$raisonS;$catEven;$txtEven;$txtAnn"; $ligne999++; $ligne999tot++; $ecrireLignePre=true; break; default: // Ligne non gérée break; } if ($ecrireLignePre) fwrite($fp, $ligneOut.EOL); if ($ajoutNic && ($typeLigne==1 || $typeLigne==999 || $catEven=='procol' || ($catEven<>'comptes' && (preg_match('/VITRY.*SEINE/i', $adrEtVille) || preg_match('/VITRY.*SEINE/i', $adrEnVille))) )) { // $nic=0; if ($siren*1>1000) { $tabEt=$iInsee->getEtablissements($siren, '', 0, 200, 200, 94); //print_r($tabEt); //die(); } if ($tabEt['nbReponsesTotal']==1) { // 1 seul établissement connu : on le valide en auto @todo : Vérifier adresser $nic=$tabEt['reponses'][0]['Nic']; } elseif ($tabEt['nbReponsesTotal']==0) { continue; } else { $nicTrouve=$nbNic=0; foreach ($tabEt['reponses'] as $iEt=>$tabIdEt) { $villeRec=$tabIdEt['Ville']; $numRec=substr($tabIdEt['Adresse'],0,4)*1; $numDemEt=$adrEtNum*1; $numDemEn=$adrEnNum*1; if (($numDemEt==0 && $numDemEn==0) || $numRec==0) continue; if ($numDemEt==$numRec && preg_match('/VITRY.*SEINE/i', $villeRec)) { $nicTrouve=$tabIdEt['Nic']; $nbNic++; } elseif ($numDemEn==$numRec && preg_match('/VITRY.*SEINE/i', $villeRec)) { $nicTrouve=$tabIdEt['Nic']; $nbNic++; } } //if ($nbNic==1) { $nic=$nicTrouve; //} } echo substr($ligne,0,22).initstr($nic*1,5,'0',ALIGN_RIGHT).substr($ligne,27,2000); } } if ($ajoutNic) echo EOL; fclose($fp); if ($verbose) echo date ('Y/m/d - H:i:s')." - Conversion terminée de $fichier ($ligne100 annonces)" . EOL; elseif ($sortieCSV) { echo "$fichier;$ligne100;"; foreach ($ligne100chap as $chap=>$nb) echo "$nb;"; foreach ($procol as $chap=>$nb) echo "$nb;"; echo EOL; } } if ($sortieCSV) { echo "$iFic fichiers;$ligne100tot;"; foreach ($ligne100chaptot as $chap=>$nb) echo "$nb;"; foreach ($procoltot as $chap=>$nb) echo "$nb;"; echo EOL; } else echo date ('Y/m/d - H:i:s')." - Conversion terminée : $iFic fichiers, $ligne001tot entêtes, $ligne200tot etab., $ligne100tot annonces, $ligne104tot lignes de texte, $ligne999tot fin de fichier !" . EOL; die(); ?>