array( 'lib' => "SD : Identifiant - Etablissement", 'help' => "Identifiant interne propre à SD, usage restreint", 'columns' => array( 'id' => 'Identifiant Interne', ) ), 'source' => array( 'lib' => "SD : Source" //@todo : Yoann ), 'triCode' => array( 'lib' => "?? : Code BODACC du Tribunal - Etablissement", 'help' => "Code BODACC du tribunal, voir la table jo.tribunaux (à confirmer, sortir triNom)
Entreprise exclusivement INSEE pas de code tribunal", 'columns' => array( 'triCode' => '' ) ), 'autre_id' => array( 'lib' => "Autre ID (SIREN ou WALDEC)", 'help' => "Doublon SIREN (source RNCS) ou WALDEC (source JOAFE) si association", 'columns' => array( 'autre_id' => "Autre ID (SIREN ou WALDEC)", ), ), 'actif' => array( 'lib' => 'SD : ACTIF', //@todo : Yoann ), 'siege' => array( 'lib' => "SD : Siège ou Etablissement", 'help' => "Valeur : 0 les établissements Secondaires (source INSEE), 1 l'établissement Siège de l'entreprise (source INSEE) ; 2 notion RNCS désignant l'établissement Principal qui n'est pas obligatoirement le siège http://www.greffe-tc-caen.fr/rcs_etabs.php", ), 'raisonSociale' => array( 'lib' => "SD : Raison Sociale", 'help' => "Regle de composition de la donnée" ), 'enseigne' => array( 'lib' => "SD : Enseigne", 'help' => "Regle de composition de la donnée" ), 'sigle' => array( 'lib' => "SD : Sigle", 'help' => "Regle de composition de la donnée" ), 'marques' => array( 'lib' => "SD : Marques déposées", 'help' => "Chaine de caractère assemblé - Regle de composition de la donnée" ), 'adr_num' => array( 'lib' => "SD : Adresse Numéro dans la voie - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_btq' => array( 'lib' => "SD : Adresse Bis/Ter/etc.. - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_typeVoie' => array( 'lib' => "SD : Adresse Type de voie - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_libVoie' => array( 'lib' => "SD : Adresse Libellé de la voie - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_comp' => array( 'lib' => "SD : Adresse Complément - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_cp' => array( 'lib' => "SD : Adresse Code Postal - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_ville' => array( 'lib' => "SD : Adresse Ville - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_dep' => array( 'lib' => "SD : Adresse Département - Etablissement", 'help' => "Regle de composition de la donnée" ), 'adr_codeCom' => array( 'lib' => "SD : Adresse Code Commune étab - Etablissement", 'help' => "Regle de composition de la donnée" ), 'telEtab' => array( 'lib' => "Téléphone" ), 'faxEtab' => array( 'lib' => "Télécopie" ), 'cj' => array( 'lib' => "Forme juridique" ), 'capital' => array( 'lib' => "Capital" ), 'capitalDev' => array( 'lib' => "Devise du capital" ), 'ape_etab' => array( 'lib' => "SD : NAF Etablissement", 'help' => "Code NAF 5 positions", 'columns' => array( 'ape_etab' => "SD : NAF Etablissement", ), ), 'ape_entrep' => array( 'lib' => "SD : NAF Entreprise", 'help' => "Code NAF 5 positions", 'columns' => array( 'ape_entrep' => "SD : NAF Entreprise", ), ), 'NaceEtab' => array( 'lib' => "SD : NACE Etablissement", 'help' => "", 'columns' => array( 'NaceEtab' => "SD : NACE Etablissement", 'NaceEtabLib' => "SD : NACE Etablissement", ), ), 'NaceEn' => array( 'lib' => "SD : NACE Entreprise", 'help' => "", 'columns' => array( 'NaceEn' => "SD : NACE Entreprise", 'NaceEnLib' => "SD : NACE Entreprise", ), ), 'SiretEnBase' => array( 'lib' => "Vérifier la présence en base du siren/siret" ), 'etActifInsee' => array( 'lib' => "Insee : Actif" ), 'nomInsee' => array( 'lib' => 'Insee : Raison Sociale' ), 'nomInsee2' => array( 'lib' => 'Insee : Raison Sociale (suite)' ), 'sigleInsee' => array( 'lib' => 'Insee : Sigle' ), 'enseigneInsee' => array( 'lib' => 'Insee : Enseigne' ), 'adrNumVoieInsee' => array( 'lib' => 'Insee : Adresse - Numéro dans la voie' ), 'adrBtqInsee' => array( 'lib' => 'Insee : Adresse - Bis/Ter/etc' ), 'adrTypeVoieInsee' => array( 'lib' => 'Insee : Adresse - Type de voie' ), 'adrVoieInsee' => array( 'lib' => 'Insee : Adresse - Libellé de la voie' ), 'adrCompInsee' => array( 'lib' => 'Insee : Adresse - Complément' ), 'adrCPInsee' => array( 'lib' => 'Insee : Adresse - Code Postal' ), 'adrVilleInsee' => array( 'lib' => 'Insee : Adresse - Commune' ), 'adrDistSPInsee' => array( 'lib' => 'Insee : Adresse - Distribution spéciale' ), 'CjInsee' => array( 'lib' => "Insee : Forme juridique de l'entreprise" ), 'nafEnInsee' => array( 'lib' => "Insee : NAF de l'entreprise" ), 'nafEtInsee' => array( 'lib' => "Insee : NAF de l'etablissement" ), 'APRM' => array( 'lib' => "Insee : APRM" ), 'ACTIVNAT' => array( 'lib' => "Insee : ACTIVNAT" ), 'ORIGINE' => array( 'lib' => "Insee : Origine de création de l'établissement" ), 'MODET' => array( 'lib' => "Insee : MODET" ), 'EXPLET' => array( 'lib' => 'Insee : EXPLET' ), 'LIEUACT' => array( 'lib' => "Insee : LIEUACT" ), 'ACTISURF' => array( 'lib' => "Insee : ACTISURF" ), 'DEFET' => array( 'lib' => "Insee : Année MAJ de l'effectif de l'établissement" ), 'MODEN' => array( 'lib' => "Insee : MODEN" ), 'PRODPART' => array( 'lib' => "Insee : PRODPART" ), 'EXPLEN' => array( 'lib' => "Insee : EXPLEN" ), 'DEFEN' => array( 'lib' => "Insee : Année MAJ de l'effectif de l'entreprise" ), 'MONOREG' => array( 'lib' => "Insee : Mono-régionalité" ), 'REGIMP' => array( 'lib' => "Insee : Principale région d'implantation" ), 'MONOACT' => array( 'lib' => "Insee : Mono-activité" ), 'DCREN' => array( 'lib' => "Insee : Date de création de l'entreprise" ), 'SIEGE' => array( 'lib' => "Insee : Siege", 'help' => "Qualité de siege ou non de l'établissement", 'columns' => array( 'SIEGE' => 'Insee : Siege', ) ), 'AUXILT' => array( 'lib' => "Insee : Auxiliarité" ), 'SAISONAT' => array( 'lib' => "Insee : Saisonalité" ), 'CIVILITE' => array( 'lib' => "Insee : Civilité" ), 'TCA' => array( 'lib' => "Insee : Tranche de chiffre d'affaire" ), 'TCAEXP' => array( 'lib' => "Insee : Tranche de chiffre d'affaire à l'export" ), 'EFF_ENT' => array( 'lib' => "Insee : Effectif de l'entreprise" ), 'DCRET' => array( 'lib' => "Insee : Date de création de l'établissement" ), 'TEFF_ENT' => array( 'lib' => "Insee : Tranche effectif entreprise", ), 'ADR_DEP' => array( 'lib' => "Insee : Adresse - Département", 'help' => "Département de localisation de l'établissement (2 caractères)", 'columns'=> array( 'ADR_DEP' => 'Insee : Departement', ), ), 'ADR_COM' => array( 'lib' => "Insee : Commune de localisation de l'établissement", 'help' => "(3 chiffres)", 'columns' => array( 'ADR_COM' => "Insee : Code commune", ), ), 'EFF_ET' => array( 'lib' => "Insee : Effectif de l'établissement" ), 'TEFF_ET' => array( 'lib' => "Insee : Tranche effectif etablissement", ), 'CODEVOIE' => array( 'lib' => "Insee : Code voie", 'help' => "Code Rivoli / Ex Fantoir", ), 'dateMajInsee' => array( 'lib' => "Insee : Date de la dernière mise à jour" ), 'insRPET' => array( 'lib' => "Insee : RPET" ), 'insDEPCOMEN' => array( 'lib' => "Insee : Code commune siège" ), 'insRPEN' => array( 'lib' => "Insee : RPEN" ), 'insARRONET' => array( 'lib' => "Insee : Arrondissement de l'établissement" ), 'insCTONET' => array( 'lib' => "Insee : Canton de l'établissement" ), 'insTCD' => array( 'lib' => "Insee : Tranche de commune détaillé" ), 'insZEMET' => array( 'lib' => "Insee : ZEMET" ), 'insDU' => array( 'lib' => "Insee : DU" ), 'insTU' => array( 'lib' => "Insee : TU" ), 'insUU' => array( 'lib' => "Insee : UU" ), 'insMMINTRET' => array( 'lib' => "Insee : MMINTRET", ), 'insMMINTREN' => array( 'lib' => "Insee : MMINTREN", ), 'insRECME' => array( 'lib' => "Insee : RCEM" ), 'insEAEANT' => array( 'lib' => "Insee : EAEANT" ), 'insEAEAPET' => array( 'lib' => "Insee : EAEAPET" ), 'insEAESEC1T' => array( 'lib' => "Insee : EAESEC1T" ), 'insEAESEC2T' => array( 'lib' => "Insee : EAESEC2T" ), 'insEAEANN' => array( 'lib' => "Insee : EAEANN" ), 'insEAEAPEN' => array( 'lib' => "Insee : EAEAPEN" ), 'insEAESEC1N' => array( 'lib' => "Insee : EAESEC1N" ), 'insEAESEC2N' => array( 'lib' => "Insee : EAESEC2N" ), 'insEAESEC3N' => array( 'lib' => "Insee : EAESEC3N" ), 'insEAESEC4N' => array( 'lib' => "Insee : EAESEC4N" ), 'dateMajNotice' => array( 'lib' => "Insee : Date de la dernière MAJ notice" ), 'NBETEXPL' => array( 'lib' => "Insee : Nombre d'établissement exploitant actif" ), 'entActiveRncs' => array( 'lib' => "RNCS : Actif - Entreprise" ), 'numRC2' => array( 'lib' => "RNCS : Numéro RC" ), 'raisonSocialeRncs' => array( 'lib' => "RNCS : Raison Sociale" ), 'sigleRncs' => array( 'lib' => "RNCS : Sigle" ), 'dateNaiss' => array( 'lib' => "RNCS : Date Naissance PP" ), 'lieuNaiss' => array( 'lib' => "RNCS : Lieu Naissance PP" ), 'nationalite' => array( 'lib' => "RNCS : Nationalité PP" ), 'pays' => array( 'lib' => "RNCS : Pays" ), 'nafEnRncs' => array( 'lib' => "RNCS : NAF Entrepise" ), 'cjRncs' => array( 'lib' => "RNCS : Forme juridique" ), 'dateImma' => array( 'lib' => "RNCS : Date Immatriculation" ), 'dateRad' => array( 'lib' => "RNCS : Date de radiation" ), 'capitalType' => array( 'lib' => "RNCS : Type de capital" ), 'dateMajEnRncs' => array( 'lib' => "RNCS : Date MAJ Entreprise" ), 'etActifRncs' => array( 'lib' => "RNCS : Actif" ), 'siegeRncs' => array( 'lib' => "RNCS : Siège" ), 'enseigneRncs' => array( 'lib' => "RNCS : Enseigne" ), 'nomCommercialRncs' => array( 'lib' => "RNCS : Nom Commercial" ), 'adrNumVoieRncs' => array( 'lib' => "RNCS : Numéro" ), 'adrIndRepRncs' => array( 'lib' => "RNCS : Adresse - Numéro" ), 'adrLibVoieRncs' => array( 'lib' => "RNCS : Adresse - Bis/Ter/etc" ), 'adrTypeVoieRncs' => array( 'lib' => "RNCS : Adresse - Type de la voie" ), 'adrVoieRncs' => array( 'lib' => "RNCS : Adresse - Libellé de la voie" ), 'cpRncs' => array( 'lib' => "RNCS : Adresse - Code postal" ), 'villeRncs' => array( 'lib' => "RNCS : Adresse - Ville" ), 'adrCompRncs' => array( 'lib' => "RNCS : Adresse - Complément" ), 'nafEtRncs' => array( 'lib' => "RNCS : NAF Etablissement" ), 'dateMajEtRncs' => array( 'lib' => "RNCS : Date MAJ établissement" ), 'isin' => array( 'lib' => "Code ISIN (société en bourse)" ), 'tel' => array( ), 'fax' => array(), 'web' => array(), 'mail' => array(), 'nicSiege'=> array( 'lib' => "NIC du siège (si nic absent)" ), 'tva'=> array( 'lib' => "Numéro de TVA (non validés)" ), 'dateFermetureEn'=> array(), 'dateFermetureEt'=> array(), 'activite'=> array(), 'situationJuridique'=> array(), 'indiScore'=> array( 'lib' => 'SD : indiScore', ), 'AdresseNormalise' => array( 'lib' => 'AdresseNormalise', 'columns' => array( 'AdresseL1_NOM' => '', 'AdresseL2_NOM2' => '', 'AdresseL3_ADRCOMP' => '', 'AdresseL4_VOIE' => '', 'AdresseL5_DISTSP' => '', 'AdresseL6_POST' => '', 'AdresseL7_PAYS' => '', ), ), 'AdresseNormaliseInsee' => array( 'lib' => 'AdresseNormaliseInsee', 'columns' => array( 'L1_NOM' => 'L1_NOMEN', 'L2_NOM2' => 'L2_COMP', 'L3_ADRCOMP' => 'L3_CADR', 'L4_VOIE' => 'L4_VOIE', 'L5_DISTSP' => 'L5_DISP', 'L6_POST' => 'L6_POST', 'L7_PAYS' => 'L7_ETRG', ), ), 'SiretSuc' => array( 'lib' => 'INSEE : Siret Successeur', 'help' => "", 'columns' => array( 'SiretSuc' => '', 'SiretSucNbDem' => '', 'SiretSucSiege' => '', 'SiretSucActif' => '', 'SiretSucCodeEve' => '', 'SiretSucDateEve' => '', 'SiretSucOrigine' => '', ) ), 'dirigeant'=> array(), 'bilanN'=> array('values'=>''), 'bilanN1'=> array('values'=>''), 'bilanN2'=> array('values'=>''), 'annonces'=> array('values'=>''), 'privilege' => array(), 'GPS' => array( 'lib' => 'SD : Coordonnées GPS - Etablissement', 'help' => "", 'columns' => array( 'latitude' => "Latitude en degrés et décimales de degrés", 'longitude' => "Longitude en degrés et décimales de degrés", 'altitude' => "Altitude en mètres", 'precis' => "Précision du géocodage (de 0=non géocodé à 8/9=géocodage à l'adresse)", ) ), 'TelOrder' => array( 'lib' => 'Telephone priorisé', 'help' => "", 'columns' => array() ), 'LienHead' => array( 'lib' => 'Tête de lien financier', 'help' => "", 'columns' => array() ), 'LienHeadUltimate' => array( 'lib' => 'Tête de lien ultime', 'help' => "", 'columns' => array() ), ); public function __construct(){} //Vérifie que les entêtes du fichier sont correct public function checkFileEntete($pathFile) { $posKeySiren = $posKeySiret = $posKeyNic = false; $row = 0; $error = array(); if (($handle = fopen($pathFile, 'r')) !== FALSE) { while (($data = fgetcsv($handle, 0, ',', '"')) !== FALSE) { $num = count($data); //Traitement de la première ligne if ($row == 0) { for ($c=0; $c < $num; $c++) { //Détection clé importante switch(strtolower($data[$c])) { case 'siren': $posKeySiren = $c; break; case 'nic': $posKeyNic = $c; break; case 'siret': $posKeySiret = $c; break; case 'ref': //Clé réference break; default: //Détection clé pour enrichissement $values = false; if (preg_match('/(.*)\((.*)\)/', $key, $matches)) { $key = $matches[1]; $values = $matches[2]; } else { $key = $data[$c]; } if (!array_key_exists($key, $this->tabDico)){ $error[] = "Clé enrichissement $key incorrect"; } break; } } if ($posKeySiren!==false && $posKeyNic!==false && $posKeySiret!==false || $posKeySiren!==false && $posKeySiret!==false ){ $error[] = "Trop de clé!"; } if ($posKeySiren===false && $posKeySiret===false){ $error[] = "Aucune clé détecté!"; } } else { //Erreur dans les entetes, on arrete if (count($error)>0){ break; } } $row++; } fclose($handle); if (count($error)>0){ return $error; } return $row-1; } return false; } //Retourne les clés de dictionnaire pour les données d'enrichissement public function getDico() { return $this->tabDico; } //Retourne le libellé pour chaque clés du dictionnaire public function getDicoLib($key) { //Si () alors traitement champs spécial if ( preg_match('/(.*)\((.*)\)/', $key, $matches) ) { $key = $matches[1]; } if (array_key_exists($key, $this->tabDico)) { $element = $this->tabDico[$key]; if (array_key_exists('lib', $element) && !empty($element['lib'])) { return $element['lib']; } return $key; } return false; } //Retourne le texte d'aide public function getDicoHelp($key) { if (array_key_exists($key, $this->tabDico)) { $element = $this->tabDico[$key]; if (array_key_exists('help', $element) && !empty($element['help'])) { return $element['help']; } return ''; } return false; } //Retourne les colonnes de sortie public function getDicoColumns($key) { if (array_key_exists($key, $this->tabDico)) { $element = $this->tabDico[$key]; if ( array_key_exists('columns', $element) ) { return $element['columns']; } return array(); } return false; } }