600 lines
32 KiB
PHP
600 lines
32 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||
<?php
|
||
|
||
define('VERSION_FICHIER_BODACC','0106');
|
||
|
||
/**
|
||
* @todo
|
||
* 1. Numéroter toutes les procédures OK
|
||
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
|
||
* 101 Commentaire
|
||
* 102 Activite déclaré au Bodacc
|
||
* 103 texte rectificatif
|
||
* 104 Annonce complète au format texte
|
||
* 105 Structure Dirigeants BODACC
|
||
* 106 Libellé du Périmètre de la vente
|
||
* 3.
|
||
* 5. JugesCommissaires à intégrer correctement
|
||
|
||
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
|
||
|
||
Raison sociale du vendeur Anum. 255
|
||
Siren du vendeur (en cas de Vente/Cessions) Num. 9
|
||
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
|
||
*/
|
||
include_once(FWK_PATH.'common/chiffres.php');
|
||
include_once(FWK_PATH.'common/dates.php');
|
||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||
include_once(FWK_PATH.'mail/sendMail.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
||
|
||
$iBodacc=new MBodacc();
|
||
$iInsee=new MInsee();
|
||
|
||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||
Conversion de fichier(s) plat(s) multi-structures S&D en fichier(s) CSV.
|
||
|
||
Options :
|
||
-v Mode verbose
|
||
-n Ajout des nics A6CMO
|
||
-x Formater la sortie standard en CSV pour exploitation
|
||
";
|
||
|
||
$tabFichier=array();
|
||
$verbose=false;
|
||
$sortieCSV=false;
|
||
$ajoutNic=false;
|
||
$csvAnn=false;
|
||
$csvId=false;
|
||
|
||
$argv=$_SERVER['argv'];
|
||
for ($i=1; isset($argv[$i]); $i++) {
|
||
if (substr($argv[$i],0,1)=='-') {
|
||
switch (substr($argv[$i],1,1)) {
|
||
case 'a':
|
||
$csvAnn=true;
|
||
break;
|
||
case 'i':
|
||
$csvId=true;
|
||
break;
|
||
case 'n':
|
||
$ajoutNic=true;
|
||
break;
|
||
case 'v':
|
||
$verbose=true;
|
||
break;
|
||
case '-':
|
||
case '?':
|
||
die($strInfoScript);
|
||
break;
|
||
default:
|
||
die('Option '. $argv[$i] . " inconnue !\n");
|
||
break;
|
||
}
|
||
} else $tabFichier[]=$argv[$i];
|
||
}
|
||
if (count($tabFichier)<1)
|
||
die($strInfoScript);
|
||
|
||
if (!$csvAnn && !$csvId) $csvAnn=true;
|
||
|
||
$ligne001tot=$ligne100tot=$ligne104tot=$ligne200tot=$ligne999tot=0;
|
||
$ligne100chaptot=array('comptes'=>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();
|
||
|
||
?>
|