enrichissement/library/Scores/Enrichissement.php

478 lines
11 KiB
PHP
Raw Normal View History

2012-01-15 17:43:37 +00:00
<?php
class Enrichissement
{
//Traiter la demande en créant les requetes sql nécessaires
protected $tabDico = array(
2012-01-19 08:19:02 +00:00
'idSd' => array(
'lib' => "Identifiant S&D"
),
'source' => array(
'lib' => "Source S&D"
),
'triCode' => array(
'lib' => "Code Tribunal"
),
'autre_id' => array(
'lib' => "Autre ID (N°RC/Waldec)"
),
'actif' => array(
'lib' => 'ACTIF'
),
'siege' => array(
'lib' => "Siège ou Etablissement"
),
'raisonSociale' => array(
'lib' => "Raison Sociale"
),
'enseigne' => array(
'lib' => "Enseigne"
),
'sigle' => array(
'lib' => "Sigle"
),
'marques' => array(
'lib' => "Marques déposées"
),
'adr_num' => array(
'lib' => "Adresse : Numéro dans la voie"
),
'adr_btq' => array(
'lib' => "Adresse : Bis/Ter/etc.."
),
'adr_typeVoie' => array(
'lib' => "Adresse : Type de voie"
),
'adr_libVoie' => array(
'lib' => "Adresse : Libellé de la voie"
),
'adr_comp' => array(
'lib' => "Adresse : Complément"
),
'adr_cp' => array(
'lib' => "Adresse : Code Postal"
),
'adr_ville' => array(
'lib' => "Adresse : Ville"
),
'adr_dep' => array(
'lib' => "Adresse : Département"
),
'adr_codeCom' => array(
'lib' => "Adresse Code Commune étab"
),
'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' => "NAF de l'établissement"
),
'ape_entrep' => array(
'lib' => "NAF de l'entreprise"
),
2012-01-19 09:39:57 +00:00
'SiretEnBase' => array(
'lib' => "Vérifier la présence en base du siren/siret"
),
2012-01-19 08:19:02 +00:00
'etActifInsee' => array(
2012-01-19 09:39:57 +00:00
'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 : Adresse - NAF de l'entreprise"
),
'nafEtInsee' => array(
'lib' => "Insee : Adresse - NAF de l'etablissement"
),
'APRM' => array(
'lib' => "Insee : APRM"
),
'ACTIVNAT' => array(
'lib' => "Insee : ACTIVNAT"
),
'ORIGINE' => array(
'lib' => "Insee : Origine de création"
),
'MODET' => array(
'lib' => "Insee : MODET"
),
'EXPLET' => array(
'lib' => 'Insee : EXPLET'
),
'LIEUACT' => array(
'lib' => "Insee : LIEUACT"
),
'ACTISURF' => array(
'lib' => "Insee : ACTISURF"
),
'MODEN' => array(
'lib' => "Insee : MODEN"
),
'PRODPART' => array(
'lib' => "Insee : PRODPART"
),
'EXPLEN' => array(
'lib' => "Insee : EXPLEN"
),
'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"
),
'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"
),
'EFF_ET' => array(
'lib' => "Insee : Effectif de l'établissement"
),
'CODEVOIE' => array(
'lib' => "Insee : Code voie"
),
'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"
),
'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"
),
'entActiveRncs' => array(
'lib' => "RNCS : Active"
),
'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(
),
2012-01-15 17:43:37 +00:00
'fax' => array(),
'web' => array(),
'mail' => array(),
2012-01-19 09:39:57 +00:00
'nicSiege'=> array(
'lib' => "NIC du siège (si nic absent)"
),
2012-01-19 08:19:02 +00:00
'tva'=> array(
'lib' => "Numéro de TVA (non validés)"
),
2012-01-15 17:43:37 +00:00
'dateFermetureEn'=> array(),
'dateFermetureEt'=> array(),
'activite'=> array(),
'situationJuridique'=> array(),
'situationParution'=> array(),
'situationDernCode'=> array(),
'situationDernEven'=> array(),
'indiScore'=> array(),
'dirigeant'=> array(),
'encours'=> array(),
'dateBilan'=> array(),
2012-01-16 14:19:25 +00:00
'bilanN'=> array('values'=>''),
'bilanN1'=> array('values'=>''),
'bilanN2'=> array('values'=>''),
'annonces'=> array('values'=>''),
2012-01-15 17:43:37 +00:00
);
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($opts->file, '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;
}
//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";
}
}
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()
{
2012-01-16 14:19:25 +00:00
return $this->tabDico;
2012-01-15 17:43:37 +00:00
}
//Retourne le libellé pour chaque clés du dictionnaire
public function getDicoLib($key)
{
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 les caractéristiques des clés
public function getDicoDef($key)
{
}
}