Add new service Entreprise version 0.9
This commit is contained in:
parent
dcc2b1767d
commit
3e4686fda0
6
library/WsScore/Entreprise/v0.9/Changelog
Normal file
6
library/WsScore/Entreprise/v0.9/Changelog
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
- Nouvelle version mieux standardisé
|
||||||
|
- getRNVP
|
||||||
|
- getIdentite
|
||||||
|
Indicateur Groupe
|
||||||
|
Indicateur RNVP
|
||||||
|
- Séparation des evaluation (Scoring, Valo)
|
14
library/WsScore/Entreprise/v0.9/Config.php
Normal file
14
library/WsScore/Entreprise/v0.9/Config.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
return array(
|
||||||
|
'Identite' => 'Identite',
|
||||||
|
'IdentiteBourse' => 'IdentiteBourse',
|
||||||
|
'IdentiteBilan' => 'IdentiteBilan',
|
||||||
|
'AutreSiren' => 'AutreSiren',
|
||||||
|
'AutreSiret' => 'AutreSiret',
|
||||||
|
'GeoInfos' => 'GeoInfos',
|
||||||
|
'AdresseDomEnt' => 'AdresseDomEnt',
|
||||||
|
'AvisRncs' => 'AvisRncs',
|
||||||
|
'AvisRncsAdmin' => 'AvisRncsAdmin',
|
||||||
|
'AvisRncsDepot' => 'AvisRncsDepot',
|
||||||
|
'Rnvp' => 'Rnvp',
|
||||||
|
);
|
674
library/WsScore/Entreprise/v0.9/Service.php
Normal file
674
library/WsScore/Entreprise/v0.9/Service.php
Normal file
@ -0,0 +1,674 @@
|
|||||||
|
<?php
|
||||||
|
require_once 'framework/fwk.php';
|
||||||
|
require_once 'framework/mail/sendMail.php';
|
||||||
|
require_once 'Metier/insee/classMInsee.php';
|
||||||
|
require_once 'Metier/insee/classMSirene.php';
|
||||||
|
require_once 'Metier/partenaires/classMBilans.php';
|
||||||
|
require_once 'Metier/partenaires/classMBourse.php';
|
||||||
|
require_once 'Metier/partenaires/classMTva.php';
|
||||||
|
require_once 'Metier/partenaires/classMMap.php';
|
||||||
|
require_once 'Metier/partenaires/classMGreffes.php';
|
||||||
|
require_once 'Metier/partenaires/classMPrivileges.php';
|
||||||
|
require_once 'Metier/partenaires/classMLiens2.php';
|
||||||
|
require_once 'Metier/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Retourne les informations identitaires de l'entreprise ou de l'établissement demandé
|
||||||
|
* @param string $siret Siren de l'entreprise ou siret de l'établissement
|
||||||
|
* @param int $id Identifiant interne
|
||||||
|
* @return Identite
|
||||||
|
*/
|
||||||
|
public function getIdentite($siret, $id = 0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('identite');
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($id)) { $id = 0; }
|
||||||
|
$forceVerif = false;
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
$len = strlen($siret);
|
||||||
|
$siren = substr($siret,0,9);
|
||||||
|
if ($len == 14) {
|
||||||
|
$nic = substr($siret,9,5)*1;
|
||||||
|
} elseif ($len == 9) {
|
||||||
|
$nic = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($siren*1==0 && $id==0) {
|
||||||
|
$this->sendError('1010');
|
||||||
|
} elseif ($len!=14 && $len!=9) {
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = new WDB();
|
||||||
|
|
||||||
|
$iInsee = new MInsee($db);
|
||||||
|
$entrep = $iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif);
|
||||||
|
if (empty($entrep) || empty($entrep['id']) ) {
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$identite = new Identite();
|
||||||
|
$identite->id = $entrep['id'];
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->SiretSiege = $entrep['SiretSiege'];
|
||||||
|
$identite->Siege = $entrep['Siege'];
|
||||||
|
$identite->AncienSiege = $entrep['AncienSiege'];
|
||||||
|
$identite->AncienSiegeDateFin = $entrep['AncienSiegeDateFin'];
|
||||||
|
$identite->TribunalCode = prepareString($entrep['Tribunal']);
|
||||||
|
$identite->TribunalLib = prepareString($entrep['TribunalLib']);
|
||||||
|
$identite->NumRC = $entrep['numRC'];
|
||||||
|
$identite->Actif = $entrep['Actif'];
|
||||||
|
$identite->ActifEco = $entrep['ActifEco'];
|
||||||
|
$identite->ActifEcoDate = $entrep['ActifEcoDate'];
|
||||||
|
$identite->ActifEcoType = $entrep['ActifEcoType'];
|
||||||
|
$identite->EntActiveRCS = $entrep['EntActiveRCS'];
|
||||||
|
$identite->AutreId = $entrep['AutreId'];
|
||||||
|
$identite->Source = $entrep['Source'];
|
||||||
|
$identite->SourceId = $entrep['SourceId'];
|
||||||
|
$identite->Isin = $entrep['Isin'];
|
||||||
|
$identite->Nom = $entrep['NOMEN_LONG'];
|
||||||
|
if (empty($identite->Nom)) {
|
||||||
|
$identite->Nom = prepareString(strtr($entrep['Nom'],'/*',' '));
|
||||||
|
}
|
||||||
|
$identite->Nom2 = prepareString($entrep['Nom2']);
|
||||||
|
$identite->NomLong = prepareString($entrep['nomLong']);
|
||||||
|
$identite->NomCommercial = prepareString($entrep['NomCommercial']);
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Sigle = prepareString($entrep['Sigle']);
|
||||||
|
$identite->SigleLong = prepareString($entrep['sigleLong']);
|
||||||
|
$identite->Enseigne = prepareString($entrep['Enseigne']);
|
||||||
|
$identite->EnseigneLong = prepareString($entrep['enseigneLong']);
|
||||||
|
$identite->Adresse = prepareString($entrep['Adresse']);
|
||||||
|
$identite->Adresse2 = prepareString($entrep['Adresse2']);
|
||||||
|
$identite->AdresseNum = prepareString($entrep['AdresseNum']);
|
||||||
|
$identite->AdresseBtq = prepareString($entrep['AdresseBtq']);
|
||||||
|
$identite->AdresseVoie = prepareString($entrep['AdresseVoie']);
|
||||||
|
$identite->AdresseRue = prepareString($entrep['AdresseRue']);
|
||||||
|
$identite->CP = $entrep['CP'];
|
||||||
|
$identite->Ville = prepareString($entrep['Ville']);
|
||||||
|
$identite->Pays = prepareString($entrep['Pays']);
|
||||||
|
$identite->PaysIso2 = $entrep['PaysIso2'];
|
||||||
|
$identite->AdresseDom = $entrep['AdresseDom'];
|
||||||
|
|
||||||
|
$tabAdresseDomEnt = array();
|
||||||
|
if (isset($entrep['AdresseDomEnt']) && count($entrep['AdresseDomEnt'])>0){
|
||||||
|
foreach ($entrep['AdresseDomEnt'] as $element){
|
||||||
|
$adresseDomEnt = new AdresseDomEnt();
|
||||||
|
$adresseDomEnt->siren = $element['siren'];
|
||||||
|
$adresseDomEnt->nom = $element['nom'];
|
||||||
|
$tabAdresseDomEnt[] = $adresseDomEnt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$identite->AdresseDomEnt = $tabAdresseDomEnt;
|
||||||
|
$identite->AdresseDomNb = $entrep['AdresseDomNb'];
|
||||||
|
|
||||||
|
// --- Indicateur Adresse RNVP
|
||||||
|
try {
|
||||||
|
$rnvpM = new Application_Model_VillesRnvpSources();
|
||||||
|
$sql = $rnvpM->select(true)->columns(array('dateRetourRnvp','codeRetour'))
|
||||||
|
->where('source=?', $entrep['Source'])->where('source_id=?', $entrep['SourceId']);
|
||||||
|
$rnvpResult = $rnvpM->fetchRow($sql);
|
||||||
|
if ($rnvpResult !== null) {
|
||||||
|
$identite->AdresseRnvpDate = $rnvpResult->dateRetourRnvp;
|
||||||
|
$identite->AdresseRnvpCode = $rnvpResult->codeRetour;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {}
|
||||||
|
|
||||||
|
|
||||||
|
$identite->Civilite = $entrep['Civilite'];
|
||||||
|
$identite->NbEtab = $entrep['NbEtab'];
|
||||||
|
$identite->Tel = prepareString($entrep['Tel']);
|
||||||
|
$identite->Fax = prepareString($entrep['Fax']);
|
||||||
|
$identite->Web = prepareString($entrep['Web']);
|
||||||
|
$identite->Mail = prepareString($entrep['Mail']);
|
||||||
|
$identite->GeoLat = $entrep['GeoLat'];
|
||||||
|
$identite->GeoLon = $entrep['GeoLon'];
|
||||||
|
$identite->GeoPrecis = $entrep['GeoPrecis'];
|
||||||
|
|
||||||
|
$geoInfos = new GeoInfos();
|
||||||
|
$geoInfos->CUCS = $entrep['GeoInfos']['CUCS'];
|
||||||
|
$geoInfos->NCUCS = $entrep['GeoInfos']['NCUCS'];
|
||||||
|
$geoInfos->ZRU = $entrep['GeoInfos']['ZRU'];
|
||||||
|
$geoInfos->NZRU = $entrep['GeoInfos']['NZRU'];
|
||||||
|
$geoInfos->ZFU = $entrep['GeoInfos']['ZFU'];
|
||||||
|
$geoInfos->NZFU = $entrep['GeoInfos']['NZFU'];
|
||||||
|
$geoInfos->ZUS = $entrep['GeoInfos']['ZUS'];
|
||||||
|
$geoInfos->NZUS = $entrep['GeoInfos']['NZUS'];
|
||||||
|
$geoInfos->AFR = $entrep['GeoInfos']['AFR'];
|
||||||
|
$geoInfos->NAFR = $entrep['GeoInfos']['NAFR'];
|
||||||
|
$geoInfos->ZRR = $entrep['GeoInfos']['ZRR'];
|
||||||
|
$geoInfos->NZRR = $entrep['GeoInfos']['NZRR'];
|
||||||
|
$identite->GeoInfos = $geoInfos;
|
||||||
|
|
||||||
|
$identite->TvaNumero = $entrep['TvaNumero'];
|
||||||
|
$identite->TvaAttribue = $entrep['TvaAttribue'];
|
||||||
|
$identite->FJ = $entrep['FJ'];
|
||||||
|
$identite->FJ_Lib = $entrep['FJ_lib'];
|
||||||
|
$identite->FJ2 = $entrep['FJ2'];
|
||||||
|
$identite->FJ2_Lib = $entrep['FJ2_Lib'];
|
||||||
|
$identite->Siren = $entrep['Siren'];
|
||||||
|
$identite->Nic = $entrep['Nic'];
|
||||||
|
$identite->NafEnt = $entrep['NafEnt'];
|
||||||
|
$identite->NafEntLib = $entrep['NafEntLib'];
|
||||||
|
$identite->NafEtab = $entrep['NafEtab'];
|
||||||
|
$identite->NafEtabLib = $entrep['NafEtabLib'];
|
||||||
|
$identite->NaceEtab = $entrep['NaceEtab'];
|
||||||
|
$identite->NaceEnt = $entrep['NaceEnt'];
|
||||||
|
$identite->Nafa = $entrep['APRM'];
|
||||||
|
$identite->NafaLib = prepareString($entrep['APRM_Lib']);
|
||||||
|
$identite->NumRM = $entrep['NumRM'];
|
||||||
|
$identite->Activite = $entrep['Activite'];
|
||||||
|
$identite->Capital = $entrep['Capital'];
|
||||||
|
$identite->CapitalDev = $entrep['CapitalDev'];
|
||||||
|
$identite->CapitalLib = $entrep['CapitalLib'];
|
||||||
|
$identite->CapitalType = prepareString($entrep['CapitalType']);
|
||||||
|
|
||||||
|
$classWdate = new WDate();
|
||||||
|
$identite->DateCreaEt = $classWdate->dateT('Ymd','Y-m-d',$entrep['DateCreaEt']);
|
||||||
|
$identite->DateCreaEn = $classWdate->dateT('Ymd','Y-m-d',$entrep['DateCreaEn']);
|
||||||
|
$identite->DateClotEt = $entrep['DateClotEt']; //@todo : date
|
||||||
|
$identite->DateImmat = $entrep['dateImmat'];
|
||||||
|
$identite->DateRadiation = $entrep['dateRad'];
|
||||||
|
$identite->EffEnTr = $entrep['EffEnTr'];
|
||||||
|
$identite->EffEnTrLib = $entrep['EffEnTrLib'];
|
||||||
|
$identite->Effectif = $entrep['Effectif'];
|
||||||
|
$identite->EffEtTr = $entrep['EffEtTr'];
|
||||||
|
$identite->EffEtTrLib = $entrep['EffEtTrLib'];
|
||||||
|
$identite->EffectifEtab = $entrep['EffectifEtab'];
|
||||||
|
$identite->Dept = $entrep['Dept'];
|
||||||
|
$identite->codeCommune = prepareString($entrep['codeCommune']);
|
||||||
|
$identite->AnneeEffEn = $entrep['AnneeEffEn'];
|
||||||
|
$identite->AnneeEffEt = $entrep['AnneeEffEt'];
|
||||||
|
$identite->AnneeTCA = $entrep['AnneeTCA'];
|
||||||
|
$identite->TrancheCA = $entrep['TrancheCA'];
|
||||||
|
$identite->TrancheCALib = $entrep['TrancheCALib'];
|
||||||
|
$identite->TrancheCAType = $entrep['TrancheCAType'];
|
||||||
|
$identite->dir1Code = $entrep['dir1Code'];
|
||||||
|
$identite->dir1Titre = prepareString($entrep['dir1Titre']);
|
||||||
|
$identite->dir1NomPrenom = prepareString($entrep['dir1NomPrenom']);
|
||||||
|
$identite->dir1DateFct = prepareString($entrep['dir1DateFct']); //@todo : date
|
||||||
|
$identite->dir1DateNaiss = $entrep['dir1DateNaiss']; //@todo : date
|
||||||
|
$identite->dir1LieuNaiss = prepareString($entrep['dir1LieuNaiss']);
|
||||||
|
$identite->dir2Code = $entrep['dir2Code'];
|
||||||
|
$identite->dir2Titre = prepareString($entrep['dir2Titre']);
|
||||||
|
$identite->dir2NomPrenom = prepareString($entrep['dir2NomPrenom']);
|
||||||
|
$identite->dir2DateFct = $entrep['dir2DateFct']; //@todo : date
|
||||||
|
$identite->dir2DateNaiss = prepareString($entrep['dir2DateNaiss']); //@todo : date
|
||||||
|
$identite->dir2LieuNaiss = prepareString($entrep['dir2LieuNaiss']);
|
||||||
|
$identite->Rivoli = $entrep['Rivoli'];
|
||||||
|
|
||||||
|
$identite->InfosIris->codIris = $entrep['InfosIris']['codIris'];
|
||||||
|
$identite->InfosIris->codComIris = $entrep['InfosIris']['codComIris'];
|
||||||
|
$identite->InfosIris->libIris = prepareString($entrep['InfosIris']['libIris']);
|
||||||
|
$identite->InfosIris->typIris = prepareString($entrep['InfosIris']['typIris']);
|
||||||
|
$identite->InfosIris->evoIris = $entrep['InfosIris']['evoIris'];
|
||||||
|
$identite->InfosIris->trIris = $entrep['InfosIris']['trIris'];
|
||||||
|
$identite->InfosIris->grdQuartier = $entrep['InfosIris']['grdQuartier'];
|
||||||
|
$identite->NatureActivite = $entrep['NatureActivite']; // Nature de l'activité
|
||||||
|
$identite->OrigineCreation = $entrep['OrigineCreation']; // Origine de la création
|
||||||
|
$identite->TypeExploitation = $entrep['TypeExploitation'];
|
||||||
|
$identite->Auxiliaire = $entrep['Auxiliaire']; // 1=Auxiliaire / 0=Non auxiliaire
|
||||||
|
$identite->Saisonnalite = $entrep['Saisonnalite']; // P=Activité permanente / S=Activité saisonnière
|
||||||
|
$identite->SurfaceMagasin = $entrep['ACTISURF']*1; // 0=N/D, 1=inf. à 300m2,2=300 à 400m2, 3=400 à 2500m2, 4=sup. à 2500m2
|
||||||
|
$identite->SituationJuridique = $entrep['SituationJuridique'];
|
||||||
|
$identite->Bilan->Millesime = $entrep['bilanAnnee'];
|
||||||
|
$identite->Bilan->Cloture = $entrep['bilanDate']; //@todo : date
|
||||||
|
$identite->Bilan->Duree = $entrep['bilanMois'];
|
||||||
|
$identite->Bilan->Devise = $entrep['bilanDevise'];
|
||||||
|
$identite->Bilan->Capital = $entrep['bilanDA'];
|
||||||
|
$identite->Bilan->CA = $entrep['bilanFL'];
|
||||||
|
$identite->Bilan->CAestime = $entrep['bilanFLestime'];
|
||||||
|
$identite->Bilan->Resultat = prepareString($entrep['bilanHN']);
|
||||||
|
$identite->Bilan->Effectif = $entrep['bilanYP'];
|
||||||
|
|
||||||
|
$iBourse = new MBourse($siren, $db);
|
||||||
|
$bourse = $iBourse->getInfosBourse($siren);
|
||||||
|
$identite->Bourse->placeCotation = $bourse['placeCotation'];
|
||||||
|
$identite->Bourse->nombreTitres = $bourse['nombreTitres'];
|
||||||
|
$identite->Bourse->capitalisation = $bourse['close'] * $bourse['nombreTitres'];
|
||||||
|
$identite->Bourse->derCoursDate = $bourse['date']; //@todo : date
|
||||||
|
$identite->Bourse->derCoursCloture = $bourse['close']; //@todo : date
|
||||||
|
|
||||||
|
$tabAutreSiren = array();
|
||||||
|
if (isset($entrep['AutreSiren'])) {
|
||||||
|
$autreSiren = new AutreSiren();
|
||||||
|
$autreSiren->siren = $entrep['AutreSiren']['listeSiren']['siren'];
|
||||||
|
$autreSiren->type = $entrep['AutreSiren']['listeSiren']['type'];
|
||||||
|
$tabAutreSiren[] = $autreSiren;
|
||||||
|
}
|
||||||
|
$identite->AutreSiren = $tabAutreSiren;
|
||||||
|
|
||||||
|
$tabAutreSiret = array();
|
||||||
|
if (count($entrep['AutreSiret'])) {
|
||||||
|
foreach($entrep['AutreSiret'] as $type => $item) {
|
||||||
|
$autreSiret = new AutreSiret();
|
||||||
|
$autreSiret->type = $type;
|
||||||
|
$autreSiret->siren = $item['siren'];
|
||||||
|
$autreSiret->nic = $item['nic'];
|
||||||
|
$autreSiret->apeEtab = $item['apeEtab'];
|
||||||
|
$autreSiret->codeEve = $item['codeEve'];
|
||||||
|
$autreSiret->dateEve = $item['dateEve'];
|
||||||
|
$autreSiret->adrL1 = $item['adrL1'];
|
||||||
|
$autreSiret->adrL2 = $item['adrL2'];
|
||||||
|
$autreSiret->adrL3 = $item['adrL3'];
|
||||||
|
$autreSiret->adrL4 = $item['adrL4'];
|
||||||
|
$autreSiret->adrL5 = $item['adrL5'];
|
||||||
|
$autreSiret->adrL6 = $item['adrL6'];
|
||||||
|
$autreSiret->adrL7 = $item['adrL7'];
|
||||||
|
$autreSiret->depCom = $item['depCom'];
|
||||||
|
$autreSiret->rivoli = $item['rivoli'];
|
||||||
|
$autreSiret->siege = $item['siege'];
|
||||||
|
$autreSiret->destinat = $item['destinat'];
|
||||||
|
$autreSiret->typEtab = $item['typeEtab'];
|
||||||
|
$autreSiret->origine = $item['origine'];
|
||||||
|
$tabAutreSiret[] = $autreSiret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$identite->AutreSiret = $tabAutreSiret;
|
||||||
|
|
||||||
|
$identite->DateMajINSEE = $entrep['DateMajINSEE']; //@todo : date
|
||||||
|
$identite->DateMajRCS = $entrep['DateMajRCS']; //@todo : date
|
||||||
|
$identite->DateMajBILAN = $entrep['bilanDateMaj']; //@todo : date
|
||||||
|
$identite->DateMajANN = $entrep['dateMajANN']; //@todo : date
|
||||||
|
$identite->DateMajID = $entrep['dateMajIdentite']; //@todo : date
|
||||||
|
|
||||||
|
// --- Ancien NAF
|
||||||
|
if (preg_match('/NAF4/i', $this->User->pref)) {
|
||||||
|
$entrep2 = $iInsee->getNaf4($siren, $nic, $id);
|
||||||
|
if ( $entrep2 !== false ) {
|
||||||
|
$identite->Naf4Ent = $entrep2['apen4'];
|
||||||
|
$identite->Naf4Etab = $entrep2['apet4'];
|
||||||
|
$identite->Naf4EntLib = prepareString($entrep2['apen4_lib']);
|
||||||
|
$identite->Naf4EtabLib = prepareString($entrep2['apet4_lib']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Détermination du groupe - Tête de groupe
|
||||||
|
if (!empty($siren)) {
|
||||||
|
$lienM = new MLiens2($siren, 'siren');
|
||||||
|
$grpFiche = $lienM->getIdentity();
|
||||||
|
$grpHeadId = $lienM->getHead(null, 50);
|
||||||
|
if ($grpFiche->id != $grpHeadId) {
|
||||||
|
$grpHeadFiche = $lienM->getIdentity($grpHeadId);
|
||||||
|
$identite->GroupeId = str_pad($grpHeadFiche->id, 20, 0, STR_PAD_LEFT); // Ajouter source
|
||||||
|
$identite->GroupeName = $grpHeadFiche->RS;
|
||||||
|
// --- Recherche code Isin
|
||||||
|
$nbIdNum = 3;
|
||||||
|
for ($i=0;$i<$nbIdNum;$i++) {
|
||||||
|
if( !empty($grpHeadFiche->{'idLoc'.$i.'Num'}) && $grpHeadFiche->{'idLoc'.$i.'Type'} == 63 ) {
|
||||||
|
$identite->GroupeIsin = $grpHeadFiche->{'idLoc'.$i.'Num'};
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$identite->GroupeCountryCode = $grpHeadFiche->adresse_pays;
|
||||||
|
if (!empty($grpHeadFiche->adresse_pays)) {
|
||||||
|
try {
|
||||||
|
$countryM = new Application_Model_JoTabPays();
|
||||||
|
$sql = $countryM->select()->from($countryM, array('codPays3', 'libPays'));
|
||||||
|
$result = $countryM->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {}
|
||||||
|
|
||||||
|
$tabPays = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tabPays[$item->codPays3] = $item->libPays;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$libPays = '';
|
||||||
|
if ($grpHeadFiche->adresse_pays!='') {
|
||||||
|
$libPays = array_key_exists($grpHeadFiche->adresse_pays, $tabPays) ?
|
||||||
|
$tabPays[$grpHeadFiche->adresse_pays] : $grpHeadFiche->adresse_pays;
|
||||||
|
} else {
|
||||||
|
$libPays = $tabPays['FRA'];
|
||||||
|
}
|
||||||
|
$identite->GroupeCountryLabel = $libPays;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$this->wsLog('identite', $siret, $id);
|
||||||
|
|
||||||
|
return $identite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Avis RNCS
|
||||||
|
* @param string $siren
|
||||||
|
* @return AvisRncs
|
||||||
|
*/
|
||||||
|
public function getAvisRncs($siren)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('avisrncs');
|
||||||
|
|
||||||
|
$len = strlen($siren);
|
||||||
|
if ( $len != 9 ) {
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new AvisRncs();
|
||||||
|
$iDb = new WDB();
|
||||||
|
$rncs = new MRncs($iDb);
|
||||||
|
|
||||||
|
//jo.etablissements => insee uniquement, rncs ?
|
||||||
|
|
||||||
|
//Entreprise
|
||||||
|
$infosEtab = $rncs->getIdentiteEtab($siren);
|
||||||
|
if ( $infosEtab === false ) {
|
||||||
|
throw new SoapFault('MSG', "Cette entreprise n'est pas inscrite au RNCS ou radié depuis plus de 5 ans.");
|
||||||
|
}
|
||||||
|
|
||||||
|
$output->Nom = $infosEtab['raisonSociale']; //@todo personne physique
|
||||||
|
$output->Sigle = $infosEtab['sigle'];
|
||||||
|
$output->Enseigne = $infosEtab['enseigne'];
|
||||||
|
$output->NomCommercial = $infosEtab['nomCommercial'];
|
||||||
|
|
||||||
|
$output->Siren = $infosEtab['siren'];
|
||||||
|
$output->NumGest = $infosEtab['numRC'];
|
||||||
|
$output->RadiationDate = $infosEtab['dateRad'];
|
||||||
|
$output->ImmatDate = $infosEtab['dateImma'];
|
||||||
|
$output->NafCode = $infosEtab['nafEnt'];
|
||||||
|
$output->NafLabel = $infosEtab['nafEntLib'];
|
||||||
|
|
||||||
|
if (empty($infosEtab['dateRad']) || $infosEtab['dateRad'] = '0000-00-00') {
|
||||||
|
$output->TribunalCode = $infosEtab['triCode']; //@todo
|
||||||
|
$output->TribunalLabel = $infosEtab['libGreffe']; // @todo
|
||||||
|
$output->FjCode = $infosEtab['cj'];
|
||||||
|
$output->FjLabel = $infosEtab['cjLib'];
|
||||||
|
$output->Capital = $infosEtab['capital'];
|
||||||
|
$output->CapitalDev = 'EUR';
|
||||||
|
if ( !empty($infosEtab['capitalDevIso'])) {
|
||||||
|
$output->CapitalDev = $infosEtab['capitalDevIso'];
|
||||||
|
}
|
||||||
|
$output->CapitalType = $infosEtab['capitalType'];
|
||||||
|
|
||||||
|
$output->SiegeAdresseNum = intval($infosEtab['adrNumVoie']);
|
||||||
|
$output->SiegeAdresseBtq = $infosEtab['adrIndRep'];
|
||||||
|
$output->SiegeAdresseVoieType = $infosEtab['adrTypeVoie'] ;
|
||||||
|
$output->SiegeAdresseVoieLabel = $infosEtab['adrVoie'];
|
||||||
|
$output->SiegeAdresseComp = $infosEtab['adrComp'];
|
||||||
|
$output->SiegeAdresseCP = $infosEtab['cp'];
|
||||||
|
$output->SiegeAdresseVille = $infosEtab['commune'];
|
||||||
|
|
||||||
|
$output->DateMajRCS = $infosEtab['DateMajRCS'];
|
||||||
|
|
||||||
|
//Durée de la société - impossible
|
||||||
|
$output->DureeDate = '';
|
||||||
|
|
||||||
|
//Date du dernier bilan - MOIS/JOUR au pire chercher dans l'annonce
|
||||||
|
try {
|
||||||
|
$bilanM = new Application_Model_JoBilans();
|
||||||
|
$sql = $bilanM->select(true)
|
||||||
|
->columns(array('dateExercice'))
|
||||||
|
->where('siren=?', $siren)
|
||||||
|
->order('dateExercice DESC')->limit(1);
|
||||||
|
$result = $bilanM->fetchRow($sql);
|
||||||
|
if ($result !== null) {
|
||||||
|
$output->CompteArretMois = substr($result->dateExercice,4,2);
|
||||||
|
$output->CompteArretJour = substr($result->dateExercice,6,2);
|
||||||
|
}
|
||||||
|
} catch(Zend_Db_Exception $e) {}
|
||||||
|
|
||||||
|
//=> Avec l'adresse du premier siège
|
||||||
|
$output->ConstitutionTribunalCode = '';
|
||||||
|
$output->ConstitutionTribunalLabel = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee($iDb);
|
||||||
|
$dirs = $iInsee->getDirigeants($siren, false);
|
||||||
|
$liste = array();
|
||||||
|
foreach ($dirs as $nb => $dir)
|
||||||
|
{
|
||||||
|
$dirigeant = new AvisRncsAdmin();
|
||||||
|
|
||||||
|
$dirigeant->Code = $dir['Fonction'];
|
||||||
|
$dirigeant->Label = $dir['Titre'];
|
||||||
|
$dirigeant->CompanyName = $dir['Societe'];
|
||||||
|
$dirigeant->CompanyId = (array_key_exists('Siren', $dir) && intval($dir['Siren'])!=0) ? $dir['Siren'] : '' ;
|
||||||
|
$dirigeant->Civilite = $dir['Civilite'];
|
||||||
|
$dirigeant->Nom = $dir['Nom'];
|
||||||
|
$dirigeant->Prenom = $dir['Prenom'];
|
||||||
|
$dirigeant->NomUsage = $dir['NomUsage'];
|
||||||
|
$dirigeant->NaissanceDate = $dir['NaissDate'];
|
||||||
|
$dirigeant->NaissanceVille = $dir['NaissVille'];
|
||||||
|
$dirigeant->NaissanceCp = $dir['NaissDepPays'];
|
||||||
|
$liste[] = $dirigeant;
|
||||||
|
}
|
||||||
|
$output->Administration = $liste;
|
||||||
|
|
||||||
|
$insee = $iInsee->getIdentiteEntreprise($siren);
|
||||||
|
|
||||||
|
//Origine, code à transformer - getIdentiteEntreprise - insee
|
||||||
|
$output->Origine = $insee['OrigineCreation'];
|
||||||
|
|
||||||
|
//Activité réelle - getIdentiteEntreprise - insee
|
||||||
|
$output->Activite = $insee['Activite'];
|
||||||
|
$output->BodaccActivite = $insee['Activite'];
|
||||||
|
|
||||||
|
//Date de création à l'insee - getIdentiteEntreprise - insee
|
||||||
|
//@todo : Aller cherche dans les annonces bodacc création + acquisition
|
||||||
|
$output->ActiviteDate = substr($insee['DateCreaEn'],0,4).'-'.substr($insee['DateCreaEn'],4,2).'-'.substr($insee['DateCreaEn'],6,2);
|
||||||
|
|
||||||
|
//Type d'exploitation - getIdentiteEntreprise - insee
|
||||||
|
$output->Exploitation = $insee['TypeExploitation'];
|
||||||
|
|
||||||
|
//Liste des jugements
|
||||||
|
$output->Evenements = array();
|
||||||
|
$evens = $rncs->getListeJugements($siren);
|
||||||
|
if ( count($evens)>0 ) {
|
||||||
|
foreach ( $evens as $even ) {
|
||||||
|
$output->Evenements[] = $even['dateEffet'] . ' - ' . $even['libEven'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Liste des dépots
|
||||||
|
$output->Depots = array();
|
||||||
|
$infogreffe = new SdMetier_Infogreffe_DocAC($siren);
|
||||||
|
$depots = $infogreffe->getList();
|
||||||
|
if ( count($depots)>0 ) {
|
||||||
|
$i = 0;
|
||||||
|
$listNumDepot = array();
|
||||||
|
foreach ( $depots as $depot ) {
|
||||||
|
$acte = new AvisRncsDepot();
|
||||||
|
$acte->DepotNum = $depot->DepotNum;
|
||||||
|
$acte->DepotDate = $depot->DepotDate;
|
||||||
|
$acte->ActeNum = $depot->ActeNum;
|
||||||
|
$acte->ActeDate = $depot->ActeDate;
|
||||||
|
$acte->ActeType = $depot->ActeType;
|
||||||
|
$acte->ActeTypeLabel = $depot->ActeTypeLabel;
|
||||||
|
$acte->infos = $depot->infos;
|
||||||
|
$result = $rncs->getListeDepots($siren, $depot->DepotDate);
|
||||||
|
if (count($result)>0) {
|
||||||
|
foreach ($result as $infos) {
|
||||||
|
$acte->infos[] = $infos['libDepot'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Acte constitutif - Statut
|
||||||
|
//@todo : STATUTS CONSTITUTIFS
|
||||||
|
$date = substr($depot->ActeDate,0,4);
|
||||||
|
if ( in_array($depot->ActeType, array('04')) && intval($date)>1995 ) {
|
||||||
|
$output->ConstitutionActeDate = $depot->ActeDate;
|
||||||
|
$output->ConstitutionDepotDate = $depot->DepotDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
$i++;
|
||||||
|
if ($i < 4 || $i > count($depots)-4) {
|
||||||
|
$output->Depots[] = $acte;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Liste des établissements actifs au RNCS
|
||||||
|
$output->Etablissements = array();
|
||||||
|
$result = $iInsee->getEtablissements($siren, '', 0, 200, 200, 0, 1);
|
||||||
|
if ( count($result['reponses'])>0 ) {
|
||||||
|
foreach ( $result['reponses'] as $item ) {
|
||||||
|
$output->Etablissements[] = $item['Adresse'] . ' ' . $item['Adresse2'] . ' - ' .
|
||||||
|
$item['CP'] . ' ' . strtoupper($item['Ville']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->wsLog('avisrncs', $siren);
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RNVP
|
||||||
|
* @param string $companyId
|
||||||
|
* Identifiant etablissement
|
||||||
|
* @param string $type (sd|siren, sd ou null par defaut)
|
||||||
|
* Type de l'identifiant :
|
||||||
|
* sd|null = Identifiant Scores & Decisions
|
||||||
|
* siren = SIRET de l'etablissement
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return Rnvp
|
||||||
|
*/
|
||||||
|
public function getRNVP($companyId, $type = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('RNVP');
|
||||||
|
|
||||||
|
// --- Identifiant SD : source + id
|
||||||
|
if ($type === null) {
|
||||||
|
$source = substr($companyId,0,3);
|
||||||
|
$sourceId = substr($companyId,3,20);
|
||||||
|
}
|
||||||
|
// --- Siren
|
||||||
|
elseif (strtolower($type) == 'siren') {
|
||||||
|
if ( strlen($companyId) != 14 ) {
|
||||||
|
throw new SoapFault('ERR', 'Identifiant incorrect.');
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$etabM = new Application_Model_JoEtablissements();
|
||||||
|
$sql = $etabM->select(true)->columns(array('LPAD(source,3,0)', 'LPAD(source_id,20,0)'))
|
||||||
|
->where('siren=?', substr($companyId,0,9))
|
||||||
|
->where('nic=?', substr($companyId,9,5));
|
||||||
|
$etabResult = $etabM->fetchRow($sql);
|
||||||
|
if ($etabResult === null) {
|
||||||
|
throw new SoapFault('MSG', 'Etablissement inconnu.');
|
||||||
|
}
|
||||||
|
$source = $etabResult->source;
|
||||||
|
$sourceId = $etabResult->source_id;
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Erreur
|
||||||
|
else {
|
||||||
|
throw new SoapFault('ERR', 'type identifiant inconnu');
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Formattage pour la sortie
|
||||||
|
try {
|
||||||
|
$rnvpM = new Application_Model_VillesRnvpSources();
|
||||||
|
$sql = $rnvpM->select(true)->columns(array(
|
||||||
|
'L1rnvp',
|
||||||
|
'L2rnvp',
|
||||||
|
'L3rnvp',
|
||||||
|
'L4rnvp',
|
||||||
|
'L5rnvp',
|
||||||
|
'L6rnvp',
|
||||||
|
'L7rnvp',
|
||||||
|
'dateRetourRnvp',
|
||||||
|
'codeRetour',
|
||||||
|
'LPAD(Insee,5,0) as Insee',
|
||||||
|
'CorrectionImportante',
|
||||||
|
'CorrectionDouteuse',
|
||||||
|
'CQadrs',
|
||||||
|
'HexaCle',
|
||||||
|
'NumDept',
|
||||||
|
'IdHexavia',
|
||||||
|
'IdHexaposte',
|
||||||
|
'Iris_Rivoli',
|
||||||
|
'Iris_Ilot99',
|
||||||
|
'Iris_CodeIris',
|
||||||
|
'Iris_Canton',
|
||||||
|
'dateInsert',
|
||||||
|
'dateUpdate',
|
||||||
|
))->where('source=?', $source)->where('source_id=?', $sourceId);
|
||||||
|
$rnvpResult = $rnvpM->fetchRow($sql);
|
||||||
|
if ($rnvpResult === null) {
|
||||||
|
throw new SoapFault('MSG', "Aucun résultat");
|
||||||
|
}
|
||||||
|
|
||||||
|
$InfoRNVP = new Rnvp();
|
||||||
|
$InfoRNVP->L1 = $rnvpResult->L1rnvp;
|
||||||
|
$InfoRNVP->L2 = $rnvpResult->L2rnvp;
|
||||||
|
$InfoRNVP->L3 = $rnvpResult->L3rnvp;
|
||||||
|
$InfoRNVP->L4 = $rnvpResult->L4rnvp;
|
||||||
|
$InfoRNVP->L5 = $rnvpResult->L5rnvp;
|
||||||
|
$InfoRNVP->L6 = $rnvpResult->L6rnvp;
|
||||||
|
$InfoRNVP->L7 = $rnvpResult->L7rnvp;
|
||||||
|
|
||||||
|
$InfoRNVP->ProcessDate = $rnvpResult->dateRetourRnvp;
|
||||||
|
$InfoRNVP->ProcessCode = $rnvpResult->codeRetour;
|
||||||
|
switch($rnvpResult->codeRetour) {
|
||||||
|
case 'ND':
|
||||||
|
$InfoRNVP->ProcessLabel = "ND";
|
||||||
|
break;
|
||||||
|
case 'KO':
|
||||||
|
$InfoRNVP->ProcessLabel = "KO";
|
||||||
|
break;
|
||||||
|
case 'OK':
|
||||||
|
$InfoRNVP->ProcessLabel = "Adresse correcte";
|
||||||
|
if ($rnvpResult->CorrectionImportante == 'I') {
|
||||||
|
$InfoRNVP->ProcessLabel = "Adresse avec correction(s) importante(s)";
|
||||||
|
}
|
||||||
|
if ($rnvpResult->CorrectionDouteuse == 'D') {
|
||||||
|
$InfoRNVP->ProcessLabel = "Adresse mais correction(s) douteuse(s)";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$InfoRNVP->QualityCode = $rnvpResult->CQadrs;
|
||||||
|
$InfoRNVP->QualityLabel = ''; // Label CQadrs
|
||||||
|
|
||||||
|
$InfoRNVP->GeoInseeCommune = $rnvpResult->Insee;
|
||||||
|
$InfoRNVP->GeoHexavia = $rnvpResult->IdHexavia;
|
||||||
|
$InfoRNVP->GeoHexapost = $rnvpResult->IdHexaposte;
|
||||||
|
$InfoRNVP->GeoHexacle = $rnvpResult->HexaCle;
|
||||||
|
$InfoRNVP->GeoDepartement = $rnvpResult->NumDept;
|
||||||
|
$InfoRNVP->GeoRivoliCode = $rnvpResult->Iris_Rivoli;
|
||||||
|
$InfoRNVP->GeoIlot = $rnvpResult->Iris_Ilot99;
|
||||||
|
$InfoRNVP->GeoIris = $rnvpResult->Iris_CodeIris;
|
||||||
|
$InfoRNVP->GeoCanton = $rnvpResult->Iris_Canton;
|
||||||
|
|
||||||
|
$InfoRNVP->DateInsert = $rnvpResult->dateInsert;
|
||||||
|
$InfoRNVP->DateUpdate = $rnvpResult->dateUpdate;
|
||||||
|
|
||||||
|
$this->wsLog('rnvp');
|
||||||
|
|
||||||
|
return $InfoRNVP;
|
||||||
|
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getIndiScore(){}
|
||||||
|
protected function getReportStd(){}
|
||||||
|
protected function getReportComment(){}
|
||||||
|
protected function getValo(){}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
1445
library/WsScore/Entreprise/v0.9/Types.php
Normal file
1445
library/WsScore/Entreprise/v0.9/Types.php
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user