Sytem : Class chargé dans le server soap, nom du fichier dorénavant "Service.php"
This commit is contained in:
parent
13dc262ba0
commit
dcc2b1767d
@ -77,8 +77,8 @@ class ServiceController extends Zend_Controller_Action
|
|||||||
// --- Charger les classes et les types pour le service suivant la version
|
// --- Charger les classes et les types pour le service suivant la version
|
||||||
if ('clients' == $serviceName)
|
if ('clients' == $serviceName)
|
||||||
{
|
{
|
||||||
$pathServiceClassIni = 'WsScore/Clients/'.$clientClassName.'/v'.$version.'/Config.php';
|
$pathServiceClassIni = 'WsScore/Clients/'.$clientClassName.'/v'.$version.'/Config.php';
|
||||||
$pathServiceClassPhp = 'WsScore/Clients/'.$clientClassName.'/v'.$version.'/Entreprise.php';
|
$pathServiceClassPhp = 'WsScore/'.$serviceClassName.'/v'.$version.'/Service.php';
|
||||||
// --- Gestion du mode de génération du wsdl
|
// --- Gestion du mode de génération du wsdl
|
||||||
if ( APPLICATION_ENV == 'development'
|
if ( APPLICATION_ENV == 'development'
|
||||||
|| array_key_exists('mode', $serviceVersions[$version])
|
|| array_key_exists('mode', $serviceVersions[$version])
|
||||||
@ -94,8 +94,8 @@ class ServiceController extends Zend_Controller_Action
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$pathServiceClassIni = 'WsScore/'.$serviceClassName.'/v'.$version.'/Config.php';
|
$pathServiceClassIni = 'WsScore/'.$serviceClassName.'/v'.$version.'/Config.php';
|
||||||
$pathServiceClassPhp = 'WsScore/'.$serviceClassName.'/v'.$version.'/'.$serviceClassName.'.php';
|
$pathServiceClassPhp = 'WsScore/'.$serviceClassName.'/v'.$version.'/Service.php';
|
||||||
//Gestion du mode de génération du wsdl
|
// --- Gestion du mode de génération du wsdl
|
||||||
if ( APPLICATION_ENV == 'development'
|
if ( APPLICATION_ENV == 'development'
|
||||||
|| array_key_exists('mode', $serviceVersions[$version])
|
|| array_key_exists('mode', $serviceVersions[$version])
|
||||||
&& $serviceVersions[$version]['mode']=='auto') {
|
&& $serviceVersions[$version]['mode']=='auto') {
|
||||||
@ -149,7 +149,7 @@ class ServiceController extends Zend_Controller_Action
|
|||||||
// --- Génération/Fourniture du wsdl
|
// --- Génération/Fourniture du wsdl
|
||||||
} elseif (isset($_GET['wsdl']) && !file_exists($wsdlPath . '/' . $fichierWsdl)) {
|
} elseif (isset($_GET['wsdl']) && !file_exists($wsdlPath . '/' . $fichierWsdl)) {
|
||||||
$wsdl->dump($wsdlPath . '/' . $fichierWsdl);
|
$wsdl->dump($wsdlPath . '/' . $fichierWsdl);
|
||||||
if (!headers_sent()) {
|
if ( !headers_sent() ) {
|
||||||
header('Content-Type: text/xml');
|
header('Content-Type: text/xml');
|
||||||
}
|
}
|
||||||
echo file_get_contents($wsdlPath . '/' . $fichierWsdl);
|
echo file_get_contents($wsdlPath . '/' . $fichierWsdl);
|
||||||
|
@ -13,7 +13,7 @@ class Scores_Ws_Doc
|
|||||||
{
|
{
|
||||||
$this->serviceClass = $serviceClass;
|
$this->serviceClass = $serviceClass;
|
||||||
$this->classmap = $classmap;
|
$this->classmap = $classmap;
|
||||||
require_once $path . $this->serviceClass . '.php';
|
require_once $path . 'Service.php';
|
||||||
$this->parseService();
|
$this->parseService();
|
||||||
$this->parseTypes();
|
$this->parseTypes();
|
||||||
}
|
}
|
||||||
|
482
library/WsScore/Catalog/v0.1/Service.php
Normal file
482
library/WsScore/Catalog/v0.1/Service.php
Normal file
@ -0,0 +1,482 @@
|
|||||||
|
<?php
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Catalog extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Naf5
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getNaf5($id=null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'codNaf5',
|
||||||
|
'libNaf5',
|
||||||
|
'libNaf5en',
|
||||||
|
'codNaf4',
|
||||||
|
'codNaf3',
|
||||||
|
'codNaf2',
|
||||||
|
'codNaf1',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('codNaf5', 'libNaf5', 'codNaf4', 'codNaf3', 'codNaf2', 'codNaf1');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_JoTabNaf5();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('codNaf5=?', $id);
|
||||||
|
}
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tab[$item->codNaf5] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tab);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cities
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCity($id=null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'codePostal',
|
||||||
|
'LIBGEO',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('codePostal', 'LIBGEO');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_InseeTabVilles();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('codePostal=?', $id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
$i=0;
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
//$tab[] = $item->toArray();
|
||||||
|
$tab[$i]['code'] = $item->codePostal;
|
||||||
|
$tab[$i]['libelle'] = $item->LIBGEO;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Departements
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDepartements($id=null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'numdep',
|
||||||
|
'libdep',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('numdep', 'libdep');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_InseeDepartements();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('numdep=?', $id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
$i=0;
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
//$tab[] = $item->toArray();
|
||||||
|
$tab[$i]['numdep'] = $item->numdep;
|
||||||
|
$tab[$i]['libdep'] = $item->libdep;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Legal Form
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLegalForm($id=null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'code',
|
||||||
|
'libelle',
|
||||||
|
'libelleEn',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('code', 'libelle');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_JoTabFJur();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('code=?', $id);
|
||||||
|
}
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tab[$item->code] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getEvent($id=null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'codEven',
|
||||||
|
'libEven',
|
||||||
|
'libEvenEn',
|
||||||
|
'Bodacc_Code',
|
||||||
|
'Rubrique',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('codEven', 'libEven','Bodacc_Code', 'Rubrique');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_JoTabEvenements();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('codeEven=?', $id);
|
||||||
|
}
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tab[$item->codEven] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Countries List
|
||||||
|
* @param string $id Code Pays 3
|
||||||
|
* @param array $columns Column list to be return
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCountry($id = null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'codPays',
|
||||||
|
'numPays',
|
||||||
|
'codPays3',
|
||||||
|
'codePaysInpi',
|
||||||
|
'codePaysInsee',
|
||||||
|
'codeFips',
|
||||||
|
'codeTld',
|
||||||
|
'codeIoc',
|
||||||
|
'codeITU',
|
||||||
|
'codeDS',
|
||||||
|
'codeWMO',
|
||||||
|
'codeGAUL',
|
||||||
|
'codeMARC',
|
||||||
|
'dependance',
|
||||||
|
'libPaysEN',
|
||||||
|
'libPays',
|
||||||
|
'libPaysMajAuto',
|
||||||
|
'zone',
|
||||||
|
'drapeau',
|
||||||
|
'devise',
|
||||||
|
'indTel',
|
||||||
|
'remarques',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('codPays3', 'libPays');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$countryM = new Application_Model_JoTabPays();
|
||||||
|
$sql = $countryM->select()->from($countryM, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('codPays3=?', $id);
|
||||||
|
} else {
|
||||||
|
$sql->where('codPays3 IS NOT NULL');
|
||||||
|
}
|
||||||
|
$result = $countryM->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
|
||||||
|
$tabPays = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tabPays[$item->codPays3] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tabPays);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Currencies
|
||||||
|
* @param string $id
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCurrency($id = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsDisplay = array('devIso', 'devNom');
|
||||||
|
try {
|
||||||
|
$currencyM = new Application_Model_JoTabDevises();
|
||||||
|
$sql = $currencyM->select()->from($currencyM, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('devIso=?', $id);
|
||||||
|
} else {
|
||||||
|
$sql->where("devIso!=''");
|
||||||
|
}
|
||||||
|
$result = $currencyM->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tab[$item->devIso] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bodacc Fonctions
|
||||||
|
* @param string $id
|
||||||
|
* @param array $columns
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDirFonction($id = null, $columns = array())
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$columnsList = array(
|
||||||
|
'codeFct',
|
||||||
|
'libelle',
|
||||||
|
'libelleEn',
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($columns) || count($columns)==0) {
|
||||||
|
$columnsDisplay = array('codeFct', 'libelle');
|
||||||
|
}
|
||||||
|
// Check authorize column
|
||||||
|
else {
|
||||||
|
foreach ( $columns as $column ) {
|
||||||
|
if ( in_array($column, $columnsList) ) {
|
||||||
|
$columnsDisplay[] = $column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$model = new Application_Model_JoBodaccFonctions();
|
||||||
|
$sql = $model->select()->from($model, $columnsDisplay);
|
||||||
|
if ( $id!==null ) {
|
||||||
|
$sql->where('codeFct=?', $id);
|
||||||
|
}
|
||||||
|
$result = $model->fetchAll($sql);
|
||||||
|
} catch (Zend_Db_Adapter_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
} catch (Zend_Exception $e) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
$tab = array();
|
||||||
|
if ( $result->count()>0 ) {
|
||||||
|
foreach ( $result as $item ) {
|
||||||
|
$tab[$item->codeFct] = $item->toArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($tab);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getHelp($app, $category, $name)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function setHelp($app, $category, $name, $label, $content)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
270
library/WsScore/Clients/Afnic/v2.2/Service.php
Normal file
270
library/WsScore/Clients/Afnic/v2.2/Service.php
Normal file
@ -0,0 +1,270 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Afnic';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne une fiche identite entreprise
|
||||||
|
* @param string $siret Siren de l'entreprise ou siret de l'établissement
|
||||||
|
* @param int $id Identifiant interne
|
||||||
|
* @param int $dept
|
||||||
|
* @param string $waldec Identifiant Registre National des Associations ou Waldec
|
||||||
|
* @return EntrepResult
|
||||||
|
*/
|
||||||
|
public function getIdentite($siret, $id, $dept, $waldec)
|
||||||
|
{
|
||||||
|
$forceVerif=false;
|
||||||
|
debugLog('W',"Recherche par identifiant Siren=$siret, Dept=$dep, Id=$id, Waldec=$waldec",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$result = new EntrepResult();
|
||||||
|
|
||||||
|
|
||||||
|
if ($waldec<>'' && substr($waldec,0,1)=='W' && $siret*1==0) {
|
||||||
|
debugLog('I',"AFNIC Recherche par identifiant Waldec $waldec (Siren=$siret, Dept=$dep, Id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$rep=$iInsee->getEtablissementsParId('AUTRE', $waldec, 0, 20, 20);
|
||||||
|
|
||||||
|
$etabs=$rep['reponses'];
|
||||||
|
if ($rep['nbReponses']>0) {
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$siret=$etab['Siret'];
|
||||||
|
$id=$etab['id'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debugLog('W', "Waldec $waldec non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 108;
|
||||||
|
$error->errmsg = 'Waldec inconnu';
|
||||||
|
$result->error = $error;
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$tabRet=array();
|
||||||
|
$siret=trim($siret);
|
||||||
|
$len=strlen($siret);
|
||||||
|
$id=trim($id)*1;
|
||||||
|
if ($len==14) $nic=substr(''.$siret,9,5)*1;
|
||||||
|
elseif ($len== 9) $nic='';
|
||||||
|
elseif ($len== 0) {
|
||||||
|
$siren=0; $nic='';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 102;
|
||||||
|
$error->errmsg = 'Siren Siret inexistant';
|
||||||
|
$result->error = $error;
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
$siren=substr(''.$siret,0,9)*1;
|
||||||
|
if ($siren==0 && $id==0) {
|
||||||
|
debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 102;
|
||||||
|
$error->errmsg = 'Siren inexistant';
|
||||||
|
$result->error = $error;
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($id==0 && !$iInsee->valideSiren($siren, $nic)) {
|
||||||
|
debugLog('W', "Siren $siren/$nic invalide (105)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 105;
|
||||||
|
$error->errmsg = 'Siren invalide';
|
||||||
|
$result->error = $error;
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($dep==974) {
|
||||||
|
debugLog('I',"AFNIC Recherche par Siren/Dept (Waldec=$waldec, Siren=$siret, Dept=$dep, Id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$rep=$iInsee->getEtablissements($siren, $nic, 0, 20, 20, $dep);
|
||||||
|
$etabs=$rep['reponses'];
|
||||||
|
if ($rep['nbReponses']>0) {
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$siren=$etab['siren'];
|
||||||
|
$nic=$etab['nic'];
|
||||||
|
$id=$etab['id'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debugLog('W', "Siren $siren/Waldec $waldec non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 107;
|
||||||
|
$error->errmsg = 'Entreprise ou Association non présente dans le département demandé';
|
||||||
|
$result->error = $error;
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog('I',"AFNIC Identités demandée pour siret ".strtr(print_r($siret, true),array("\r"=>'',"\n"=>'')). " (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$entrep=$iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif);
|
||||||
|
debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if (empty($entrep)) {
|
||||||
|
debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errnum = 102;
|
||||||
|
$error->errmsg = 'Siren inexistant';
|
||||||
|
$result->error = $error;
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
$codePaysIso2='FR';
|
||||||
|
if ($entrep['Dept']>98) {
|
||||||
|
$codePaysInsee=$entrep['codeCommune'];
|
||||||
|
$iDb=new WDB('jo');
|
||||||
|
$tabTmp=$iDb->select(
|
||||||
|
'jo.tabPays j, insee.insee_tabPays i',
|
||||||
|
'j.codPays, j.numPays, j.codPays3, j.codePaysInpi, j.libPays, i.LIBCOG, i.ACTUAL',
|
||||||
|
"j.codePaysInsee=$codePaysInsee AND j.codePaysInsee=substring( i.COG, 3, 3 ) AND i.ACTUAL IN (1,4) AND j.numPays is NOT NULL", true, MYSQL_ASSOC);
|
||||||
|
if (count($tabTmp)==1) {
|
||||||
|
$codePaysIso2=$tabTmp[0]['codPays'];
|
||||||
|
} else {
|
||||||
|
$codePaysIso2='';
|
||||||
|
foreach ($tabTmp as $tabTmp2) {
|
||||||
|
if (trim(strtoupper(strtr($tabTmp2['libPays'],
|
||||||
|
'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ',
|
||||||
|
"aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUY")))==trim(strtoupper($tabTmp2['LIBCOG']))) {
|
||||||
|
$codePaysIso2=$tabTmp2['codPays'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($codePaysIso2=='') {
|
||||||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Afnic $siret/$waldec ($dep) Plusieurs Codes Pays", "Siret $siret
|
||||||
|
Waldec $waldec
|
||||||
|
Département $dep
|
||||||
|
Id=$id".EOL.
|
||||||
|
print_r($entrep, true).EOL.
|
||||||
|
print_r($tabTmp, true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$autreId=$entrep['AutreId'];
|
||||||
|
if ($params->siret>0 && $waldec<>'')
|
||||||
|
$autreId=$waldec;
|
||||||
|
|
||||||
|
// Source RNCS prioritaire pour les infos entreprises
|
||||||
|
$nom=$entrep['nomLong'];
|
||||||
|
if ($nom=='') $nom=$entrep['Nom'];
|
||||||
|
$sigle=$entrep['sigleLong'];
|
||||||
|
if ($sigle=='') $sigle=$entrep['Sigle'];
|
||||||
|
|
||||||
|
// Actif RNCS
|
||||||
|
if ($entrep['EntActiveRCS']) $actif=1;
|
||||||
|
// Inactif RNCS
|
||||||
|
elseif (isset($entrep['EntActiveRCS']) && $entrep['EntActiveRCS']==0) $actif=0;
|
||||||
|
// Actif Insee et périmètre Insee
|
||||||
|
elseif ($entrep['Actif'] || $entrep['NbEtab']) $actif=1;
|
||||||
|
else $actif=0;
|
||||||
|
|
||||||
|
// Source INSEE prioritaire sur l'établissement
|
||||||
|
$enseigne=$entrep['Enseigne'];
|
||||||
|
if ($enseigne=='') $enseigne=$entrep['enseigneLong'];
|
||||||
|
$tabCarInvalides=array('/'=>' ','*'=>' ', '&'=>' ET ', '&'=>' ET ', '&'=>' ET ',
|
||||||
|
'"'=>' ', "'"=>' ');
|
||||||
|
|
||||||
|
$item = new EntrepElement();
|
||||||
|
$item->id = $entrep['id'];
|
||||||
|
$item->Siret = $entrep['Siret'];
|
||||||
|
$item->SiretSiege = $entrep['SiretSiege'];
|
||||||
|
$item->Siege = $entrep['Siege'];
|
||||||
|
$item->Actif = $actif;
|
||||||
|
$item->AutreId = $autreId;
|
||||||
|
$item->idSd = $entrep['Source'].'-'.$entrep['SourceId'];
|
||||||
|
$item->Nom = trim(prepareString(preg_replace('/ +/',' ', strtr($nom,$tabCarInvalides))));
|
||||||
|
$item->Nom2 = trim(prepareString(preg_replace('/ +/',' ', strtr($entrep['Nom2'],$tabCarInvalides))));
|
||||||
|
$item->NomCommercial = trim(prepareString(preg_replace('/ +/',' ', strtr($entrep['NomCommercial'],$tabCarInvalides))));
|
||||||
|
$item->Sigle = trim(prepareString(preg_replace('/ +/',' ', strtr($sigle,$tabCarInvalides))));
|
||||||
|
$item->Enseigne = trim(prepareString(preg_replace('/ +/',' ', strtr($enseigne,$tabCarInvalides))));
|
||||||
|
$item->Adresse = prepareString($entrep['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($entrep['Adresse2']);
|
||||||
|
$item->AdresseNum = prepareString($entrep['AdresseNum']);
|
||||||
|
$item->AdresseBtq = prepareString($entrep['AdresseBtq']);
|
||||||
|
$item->AdresseVoie = prepareString($entrep['AdresseVoie']);
|
||||||
|
$item->AdresseRue = prepareString($entrep['AdresseRue']);
|
||||||
|
$item->CP = $entrep['CP'];
|
||||||
|
$item->Ville = prepareString($entrep['Ville']);
|
||||||
|
$item->Pays = prepareString($entrep['Pays']); // Ajouté le 18 02 2008
|
||||||
|
$item->PaysIso2 = $codePaysIso2;
|
||||||
|
$item->Civilite = $entrep['Civilite'];
|
||||||
|
$item->NbEtab = $entrep['NbEtab'];
|
||||||
|
$item->Tel = prepareString($entrep['Tel']);
|
||||||
|
$item->Fax = prepareString($entrep['Fax']);
|
||||||
|
$item->Web = prepareString($entrep['Web']);
|
||||||
|
$item->Mail = prepareString($entrep['Mail']);
|
||||||
|
$item->FJ = $entrep['FJ'];
|
||||||
|
$item->FJ_lib = trim(prepareString(preg_replace('/ +/',' ', strtr($entrep['FJ_lib'],$tabCarInvalides))));
|
||||||
|
$item->Siren = $entrep['Siren'];
|
||||||
|
$item->Nic = $entrep['Nic'];
|
||||||
|
$item->NafEnt = $entrep['NafEnt'];
|
||||||
|
$item->NafEntLib = trim(prepareString(preg_replace('/ +/',' ', strtr($entrep['NafEntLib'],$tabCarInvalides))));
|
||||||
|
$item->Capital = $entrep['Capital'];
|
||||||
|
$item->CapitalDev = $entrep['CapitalDev'];
|
||||||
|
$item->CapitalLib = prepareString($entrep['CapitalLib']); // Ajouté le 18 02 2008
|
||||||
|
$item->DateCreaEt = $entrep['DateCreaEt'];
|
||||||
|
$item->DateCreaEn = $entrep['DateCreaEn'];
|
||||||
|
$item->DateClotEn = $entrep['DateClotEn'];
|
||||||
|
$item->EffEnTr = prepareString($entrep['EffEnTr']);
|
||||||
|
$item->EffEnTrLib = prepareString($entrep['EffEnTrLib']);
|
||||||
|
$item->Effectif = prepareString($entrep['Effectif']);
|
||||||
|
$item->Dept = $entrep['Dept'];
|
||||||
|
$item->codeCommune = prepareString($entrep['codeCommune']);
|
||||||
|
$item->TrancheCA = prepareString($entrep['TrancheCA']);
|
||||||
|
$item->TrancheCALib = prepareString($entrep['TrancheCALib']);
|
||||||
|
$item->dir1Titre = prepareString($entrep['dir1Titre']);//utf8
|
||||||
|
$item->dir1NomPrenom = prepareString($entrep['dir1NomPrenom']);
|
||||||
|
$item->dir1DateFct = prepareString($entrep['dir1DateFct']);
|
||||||
|
$item->SituationJuridique = strtoupper(substr($entrep['SituationJuridique'],0,1));
|
||||||
|
|
||||||
|
if (preg_match('/NAF4/i', $this->User->pref)) {
|
||||||
|
$entrep2 = $iInsee->getNaf4($siren, $nic, $id);
|
||||||
|
$item->Naf4Ent = $entrep2['apen4'];
|
||||||
|
$item->Naf4Etab = $entrep2['apet4'];
|
||||||
|
$item->Naf4EntLib = prepareString($entrep2['apen4_lib']);
|
||||||
|
$item->Naf4EtabLib = prepareString($entrep2['apet4_lib']);
|
||||||
|
}
|
||||||
|
debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->wsLog('identite',$siret,$id);
|
||||||
|
|
||||||
|
$error = new ErrorElement();
|
||||||
|
$error->errmsg = '';
|
||||||
|
$error->errnum = 0;
|
||||||
|
$result->result = $item;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
304
library/WsScore/Clients/Mixdata/v0.1/Service.php
Normal file
304
library/WsScore/Clients/Mixdata/v0.1/Service.php
Normal file
@ -0,0 +1,304 @@
|
|||||||
|
<?php
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
require_once 'framework/fwk.php';
|
||||||
|
require_once 'Metier/partenaires/classMTel.php';
|
||||||
|
require_once 'Metier/insee/classMInsee.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Mixdata';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode spécifique
|
||||||
|
* @param string $siren
|
||||||
|
* @return Data
|
||||||
|
*/
|
||||||
|
public function getData($siren)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
$len = strlen($siren);
|
||||||
|
if ($len != 9)
|
||||||
|
{
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (intval($siren)<100)
|
||||||
|
{
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get default DB
|
||||||
|
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
|
||||||
|
$db->setFetchMode(Zend_Db::FETCH_OBJ);
|
||||||
|
|
||||||
|
//Identite
|
||||||
|
$modelIdentite = new Data();
|
||||||
|
$identiteEtabRncsSql = $db->select()
|
||||||
|
->from('rncs_etab', array(
|
||||||
|
'LPAD(siren,9,0) AS siren',
|
||||||
|
'LPAD(nic,5,0) AS nic',
|
||||||
|
'siege',
|
||||||
|
'enseigne',
|
||||||
|
'nomCommercial',
|
||||||
|
'naf',
|
||||||
|
), 'jo')
|
||||||
|
->where('siren=?', $siren)
|
||||||
|
->where('actif=1')
|
||||||
|
->where('siege=1');
|
||||||
|
$identiteEtabRncsResult = $db->fetchRow($identiteEtabRncsSql);
|
||||||
|
|
||||||
|
if ($identiteEtabRncsResult === null)
|
||||||
|
{
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
$nic = $identiteEtabRncsResult->nic;
|
||||||
|
|
||||||
|
$identiteEntrepRncsSql = $db->select()
|
||||||
|
->from('rncs_entrep', array(
|
||||||
|
'raisonSociale',
|
||||||
|
'sigle',
|
||||||
|
'naf',
|
||||||
|
'cj',
|
||||||
|
'dateImma',
|
||||||
|
'capitalMontant',
|
||||||
|
'capitalDevIso',
|
||||||
|
), 'jo')
|
||||||
|
->where('siren=?', $siren);
|
||||||
|
$identiteEntrepRncsResult = $db->fetchRow($identiteEntrepRncsSql);
|
||||||
|
|
||||||
|
$modelIdentite->Siret = $identiteEtabRncsResult->siren.$identiteEtabRncsResult->nic;
|
||||||
|
$modelIdentite->Ape = $identiteEntrepRncsResult->naf;
|
||||||
|
$modelIdentite->Siege = $identiteEtabRncsResult->siege;
|
||||||
|
$modelIdentite->RaisonSociale = $identiteEntrepRncsResult->raisonSociale;
|
||||||
|
$modelIdentite->NomCommercial = $identiteEtabRncsResult->nomCommercial;
|
||||||
|
$modelIdentite->Enseigne = $identiteEtabRncsResult->enseigne;
|
||||||
|
$modelIdentite->Sigle = $identiteEntrepRncsResult->sigle;
|
||||||
|
$modelIdentite->FormeJuridique = substr($identiteEntrepRncsResult->cj, 0, 2);
|
||||||
|
$modelIdentite->ImmatDate = $identiteEntrepRncsResult->dateImma;
|
||||||
|
$modelIdentite->Capital = $identiteEntrepRncsResult->capitalMontant;
|
||||||
|
$modelIdentite->CapitalDev = $identiteEntrepRncsResult->capitalDevIso;
|
||||||
|
|
||||||
|
$mTel = new MTel();
|
||||||
|
$telephones = $mTel->getTel($siren, $nic, true, 1);
|
||||||
|
if ($telephones > 0)
|
||||||
|
{
|
||||||
|
$modelIdentite->Telephone = $telephones[0]['telephone'];
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$identiteEntrepInseeSql = $db->select()->from('identite', array('EFF_ENT'), 'insee')
|
||||||
|
->where('SIREN=?', $siren)
|
||||||
|
->where('NIC=?', $nic);
|
||||||
|
$identiteEntrepInseeResult = $db->fetchRow($identiteEntrepInseeSql);
|
||||||
|
if ($identiteEntrepInseeResult !== null) {
|
||||||
|
$modelIdentite->Eff = $identiteEntrepInseeResult->EFF_ENT;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$inseeM = new MInsee();
|
||||||
|
$tabProcol = $inseeM->getAnnoncesLegales($siren, 0, 'P', false);
|
||||||
|
if ( count($tabProcol)>0 ) {
|
||||||
|
$modelIdentite->JugementDate = $tabProcol[0]['dateJugement'];
|
||||||
|
$modelIdentite->JugementTypeEven = $tabProcol[0]['evenements'][0]['CodeEven'];
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$bilanSql = $db->select()->from('bilans_postes', array(
|
||||||
|
'dateExercice',
|
||||||
|
'YP',
|
||||||
|
'FL',
|
||||||
|
'FK',
|
||||||
|
'HN',
|
||||||
|
), 'jo')
|
||||||
|
->where('consolide=0')
|
||||||
|
->where('siren=?', $siren)
|
||||||
|
->order('dateExercice DESC')
|
||||||
|
->limit(1);
|
||||||
|
$bilanResult = $db->fetchRow($bilanSql);
|
||||||
|
if ($bilanResult !== null)
|
||||||
|
{
|
||||||
|
$modelIdentite->BilanYP = $bilanResult->YP;
|
||||||
|
$modelIdentite->BilanType = 'R';
|
||||||
|
$modelIdentite->BilanClotureDate = substr($bilanResult->dateExercice,0,4).'-'.substr($bilanResult->dateExercice,4,2).'-'.substr($bilanResult->dateExercice,6,2);
|
||||||
|
$modelIdentite->BilanFL = round($bilanResult->FL/1000);
|
||||||
|
$modelIdentite->BilanFK = round($bilanResult->FK/1000);
|
||||||
|
$modelIdentite->BilanHN = round($bilanResult->HN/1000);
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$bodaccSql = $db->select()->from('bodacc_activite', array('activite'), 'jo')
|
||||||
|
->where('siren=?', $siren)
|
||||||
|
->limit(1);
|
||||||
|
$bodaccResult = $db->fetchRow($bilanSql);
|
||||||
|
if ($bilanResult !== null)
|
||||||
|
{
|
||||||
|
$modelIdentite->ActiviteReel = $bodaccResult->activite;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Etablissemements actifs
|
||||||
|
$modelEtablissements = array();
|
||||||
|
try {
|
||||||
|
$etabSql = $db->select()
|
||||||
|
->from('etablissements', array(
|
||||||
|
'LPAD(siren,9,0) AS siren',
|
||||||
|
'LPAD(nic,5,0) AS nic',
|
||||||
|
'siege',
|
||||||
|
'adr_num',
|
||||||
|
'adr_typeVoie',
|
||||||
|
'adr_libVoie',
|
||||||
|
'adr_comp',
|
||||||
|
'adr_cp',
|
||||||
|
'adr_ville'
|
||||||
|
), 'jo')
|
||||||
|
->where('actif=1')
|
||||||
|
->where('siren=?', $siren)
|
||||||
|
->order('siege DESC');
|
||||||
|
$etabResult = $db->fetchAll($etabSql);
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($etabResult) > 0)
|
||||||
|
{
|
||||||
|
foreach ($etabResult as $item)
|
||||||
|
{
|
||||||
|
if ($item->siege == 1)
|
||||||
|
{
|
||||||
|
$modelIdentite->AdrNum = $item->adr_num;
|
||||||
|
$modelIdentite->AdrTypeVoie = $item->adr_typeVoie;
|
||||||
|
$modelIdentite->AdrLibVoie = $item->adr_libVoie;
|
||||||
|
$modelIdentite->AdrComp = $item->adr_comp;
|
||||||
|
$modelIdentite->AdrCp = $item->adr_cp;
|
||||||
|
$modelIdentite->AdrVille = $item->adr_ville;
|
||||||
|
}
|
||||||
|
|
||||||
|
$etablissement = new Etablissement();
|
||||||
|
$etablissement->Siret = $item->siren.$item->nic;
|
||||||
|
$etablissement->Siege = $item->siege;
|
||||||
|
|
||||||
|
$itemEtabRncsResult = null;
|
||||||
|
try {
|
||||||
|
$itemEtabRncsSql = $db->select()
|
||||||
|
->from('rncs_etab', array(
|
||||||
|
'LPAD(siren,9,0) AS siren',
|
||||||
|
'LPAD(nic,5,0) AS nic',
|
||||||
|
'siege',
|
||||||
|
'enseigne',
|
||||||
|
'nomCommercial',
|
||||||
|
'naf',
|
||||||
|
), 'jo')
|
||||||
|
->where('siren=?', $item->siren)
|
||||||
|
->where('nic=?', $item->nic);
|
||||||
|
$itemEtabRncsResult = $db->fetchRow($itemEtabRncsSql);
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($itemEtabRncsResult)
|
||||||
|
{
|
||||||
|
$etablissement->Siret = $itemEtabRncsResult->siren.$itemEtabRncsResult->nic;
|
||||||
|
$etablissement->Ape = $itemEtabRncsResult->naf;
|
||||||
|
$etablissement->Siege = $itemEtabRncsResult->siege;
|
||||||
|
$etablissement->NomCommercial = $itemEtabRncsResult->nomCommercial;
|
||||||
|
$etablissement->Enseigne = $itemEtabRncsResult->enseigne;
|
||||||
|
}
|
||||||
|
|
||||||
|
$etablissement->AdrNum = $item->adr_num;
|
||||||
|
$etablissement->AdrTypeVoie = $item->adr_typeVoie;
|
||||||
|
$etablissement->AdrLibVoie = $item->adr_libVoie;
|
||||||
|
$etablissement->AdrComp = $item->adr_comp;
|
||||||
|
$etablissement->AdrCp = $item->adr_cp;
|
||||||
|
$etablissement->AdrVille = $item->adr_ville;
|
||||||
|
|
||||||
|
$mTel = new MTel();
|
||||||
|
$telephones = $mTel->getTel($item->siren, $item->nic, true, 1);
|
||||||
|
if ($telephones > 0)
|
||||||
|
{
|
||||||
|
$etablissement->Telephone = $telephones[0]['telephone'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$modelEtablissements[] = $etablissement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Dirigeants actifs
|
||||||
|
try {
|
||||||
|
$dirigeantSql = $db->select()->from('rncs_dirigeants',
|
||||||
|
array(
|
||||||
|
'dirRS',
|
||||||
|
'nom',
|
||||||
|
'prenom',
|
||||||
|
'naissance_nom',
|
||||||
|
'fonction_code',
|
||||||
|
'fonction_lib'
|
||||||
|
), 'jo')
|
||||||
|
->where('siren=?', $siren)->where('actif%10=1');
|
||||||
|
$dirigeantResult = $db->fetchAll($dirigeantSql);
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', __LINE__ . ' : ' . $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$modelDirigeants = array();
|
||||||
|
if (count($dirigeantResult) > 0)
|
||||||
|
{
|
||||||
|
foreach ($dirigeantResult as $item)
|
||||||
|
{
|
||||||
|
$dirigeant = new Dirigeant();
|
||||||
|
$dirigeant->RaisonSociale = $item->dirRS;
|
||||||
|
$dirigeant->Nom = $item->nom;
|
||||||
|
$dirigeant->Prenom = $item->prenom;
|
||||||
|
$dirigeant->NomNaissance = $item->naissance_nom;
|
||||||
|
$dirigeant->FonctionCode = $item->fonction_code;
|
||||||
|
$dirigeant->FonctionLib = $item->fonction_lib;
|
||||||
|
$modelDirigeants[] = $dirigeant;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Return
|
||||||
|
$modelIdentite->Etablissements = $modelEtablissements;
|
||||||
|
$modelIdentite->Dirigeants = $modelDirigeants;
|
||||||
|
|
||||||
|
$this->wsLog('identite', $siren);
|
||||||
|
|
||||||
|
return $modelIdentite;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
173
library/WsScore/Clients/Rrg/v0.1/Service.php
Normal file
173
library/WsScore/Clients/Rrg/v0.1/Service.php
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<?php
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
require_once 'framework/fwk.php';
|
||||||
|
require_once 'Metier/insee/classMInsee.php';
|
||||||
|
require_once 'Metier/scores/classMScores.php';
|
||||||
|
require_once 'Metier/partenaires/classMRnvp.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Rrg';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode spécifique
|
||||||
|
* @param string $siren
|
||||||
|
* @return Infos
|
||||||
|
*/
|
||||||
|
public function getData($siren)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
// --- Vérification du siren
|
||||||
|
if ( strlen($siren) != 9 ) {
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
$classInsee = new MInsee();
|
||||||
|
|
||||||
|
// --- Vérifier SIREN valide
|
||||||
|
if( !$classInsee->valideSiren($siren) ) {
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Vérifier SIREN existe
|
||||||
|
if ( !$classInsee->sirenExiste($siren) ) {
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Evaluation
|
||||||
|
$evaluation = calculIndiScore($siren, 0, false, 1);
|
||||||
|
|
||||||
|
$db = Zend_Db_Table::getDefaultAdapter();
|
||||||
|
$sql = $db->select()
|
||||||
|
->from('etablissements', array('LPAD(source_id,10,0) AS source_id'), 'jo')
|
||||||
|
->where('siren=?', $evaluation['Siren'])->where('nic=?', $evaluation['Nic']);
|
||||||
|
$etablissement = $db->fetchRow($sql, null, Zend_Db::FETCH_OBJ);
|
||||||
|
|
||||||
|
$Infos = new Infos();
|
||||||
|
$Infos->SourceId = $etablissement->source_id;
|
||||||
|
$Infos->Siren = $evaluation['Siren'];
|
||||||
|
$Infos->Nic = $evaluation['Nic'];
|
||||||
|
$Infos->Nom = $evaluation['Nom'];
|
||||||
|
$Infos->Sigle = $evaluation['Sigle'];
|
||||||
|
$Infos->Enseigne = $evaluation['Enseigne'];
|
||||||
|
$Infos->FJ = $evaluation['FJ'];
|
||||||
|
|
||||||
|
if ( $evaluation['DateCreaEt'] > 0 && $evaluation['DateCreaEt'] < $evaluation['DateCreaEn'] ) {
|
||||||
|
$DateCreaEn = $evaluation['DateCreaEt'];
|
||||||
|
} elseif ( $evaluation['DateCreaEn'] > 0 ) {
|
||||||
|
$DateCreaEn = $evaluation['DateCreaEn'];
|
||||||
|
}
|
||||||
|
if ( !empty($DateCreaEn) ) {
|
||||||
|
if (substr($DateCreaEn, -2) * 1 == 0) {
|
||||||
|
$Infos->DateCreaEn = substr($DateCreaEn,0,6).'01';
|
||||||
|
} else {
|
||||||
|
$Infos->DateCreaEn = $DateCreaEn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$Infos->AdresseNum = str_pad($evaluation['AdresseNum'], 5, 0, STR_PAD_LEFT);
|
||||||
|
$Infos->AdresseBtq = $evaluation['AdresseBtq'];
|
||||||
|
$Infos->AdresseVoie = $evaluation['AdresseVoie'];
|
||||||
|
if ($evaluation['AdresseRue'] != '') {
|
||||||
|
$Infos->AdresseVoie.= ' '.$evaluation['AdresseRue'];
|
||||||
|
}
|
||||||
|
$Infos->CP = $evaluation['CP'];
|
||||||
|
$Infos->AdresseVille = $evaluation['Ville'];
|
||||||
|
|
||||||
|
try {
|
||||||
|
$sql = $db->select()->from('identite', array(
|
||||||
|
'insL1_NOMEN',
|
||||||
|
'insL2_COMP',
|
||||||
|
'insL3_CADR',
|
||||||
|
'insL4_VOIE',
|
||||||
|
'insL5_DISP',
|
||||||
|
'insL6_POST',
|
||||||
|
), 'insee')->where('SIREN=?', $Infos->Siren)->where('NIC=?', $Infos->Nic);
|
||||||
|
$inseeLResult = $db->fetchRow($sql, null, Zend_Db::FETCH_OBJ);
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($inseeLResult !== null) {
|
||||||
|
$rnvp = new MRnvp();
|
||||||
|
$rnvpResult = $rnvp->normaliseAdresse(
|
||||||
|
$inseeLResult->insL1_NOMEN,
|
||||||
|
$inseeLResult->insL2_COMP,
|
||||||
|
$inseeLResult->insL3_CADR,
|
||||||
|
$inseeLResult->insL4_VOIE,
|
||||||
|
$inseeLResult->insL5_DISP,
|
||||||
|
$inseeLResult->insL6_POST
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($rnvpResult) && array_key_exists('HexaViaMat', $rnvpResult)) {
|
||||||
|
$Infos->AdresseComplement = $rnvpResult['L3'];
|
||||||
|
$Infos->AdresseDistributionSpecial = $rnvpResult['L5'];
|
||||||
|
$Infos->AdresseComplementPostal = $rnvpResult['L6'];
|
||||||
|
$Infos->AdresseHexaviaMatricule = $rnvpResult['HexaViaMat'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$Infos->PaiementCS = $evaluation['cs'];
|
||||||
|
|
||||||
|
$PaiementInfo = '';
|
||||||
|
if ( in_array($PaiementCS, array('0', 'I', 'P', 'D')) ) {
|
||||||
|
$iFacto = new MFacto();
|
||||||
|
$info = $iFacto->getLibInfoCS($PaiementCS);
|
||||||
|
$PaiementInfo = $info['LibCS'];
|
||||||
|
}
|
||||||
|
$Infos->PaiementInfo = $PaiementInfo;
|
||||||
|
|
||||||
|
if ($evaluation['NbBilansScore'] > 0)
|
||||||
|
{
|
||||||
|
$bilan = $evaluation['tabBilan'][0];
|
||||||
|
$Infos->BilanCA = $bilan['FL'];
|
||||||
|
$Infos->BilanDateCloture = $bilan['DATE_CLOTURE'];
|
||||||
|
$Infos->BilanDuree = $bilan['DUREE_MOIS'];
|
||||||
|
$Infos->BilanUnite = $bilan['MONNAIE_LIV_UNITE'];
|
||||||
|
$Infos->BilanDevise = $bilan['MONNAIE'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$Infos->Indiscore = $evaluation['Indiscore20'];
|
||||||
|
$Infos->Encours = round($evaluation['encours']/1000) * 1000;
|
||||||
|
|
||||||
|
// --- Ajouter en surveillance
|
||||||
|
$survM = new Application_Model_JoSurveillancesSite();
|
||||||
|
try {
|
||||||
|
$sql = $survM->select()->where('login=?', $this->User->login)->where('siren=', $Infos->Siren);
|
||||||
|
$survExist = $survM->fetchRow($sql);
|
||||||
|
} catch (Zend_Db_Exception $e) {}
|
||||||
|
|
||||||
|
if ( empty($survExist) ) {
|
||||||
|
$data = array(
|
||||||
|
'source' => 'score',
|
||||||
|
'login' => $this->User->login,
|
||||||
|
'email' => '',
|
||||||
|
'siren' => $Infos->Siren,
|
||||||
|
'nic' => $Infos->Nic,
|
||||||
|
'ref' => $Infos->SourceId,
|
||||||
|
'encoursClient' => 0,
|
||||||
|
'rs' => $Infos->Nom,
|
||||||
|
'cp' => $Infos->CP,
|
||||||
|
'ville' => $Infos->AdresseVille,
|
||||||
|
'dateAjout' => date('Y-m-d'),
|
||||||
|
'dateSuppr' => 0,
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
$survM->insert($data);
|
||||||
|
} catch (Zend_Db_Exception $e) {}
|
||||||
|
}
|
||||||
|
// --- Fin ajout surveillance
|
||||||
|
|
||||||
|
$this->wsLog('identite', $siren);
|
||||||
|
|
||||||
|
return $Infos;
|
||||||
|
}
|
||||||
|
}
|
71
library/WsScore/Clients/Sfr/v0.1/Service.php
Normal file
71
library/WsScore/Clients/Sfr/v0.1/Service.php
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Sfr';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Evaluation
|
||||||
|
* @param string $siren
|
||||||
|
* Identifiant de l'entreprise (9 chiffres)
|
||||||
|
* @return Evaluation
|
||||||
|
*/
|
||||||
|
public function getEvaluate($siren)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if ( strlen($siren) != 9 ) {
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once 'Metier/insee/classMInsee.php';
|
||||||
|
$classInsee = new MInsee();
|
||||||
|
|
||||||
|
//Vérifier SIREN valide
|
||||||
|
if( !$classInsee->valideSiren($siren) ) {
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Vérifier SIREN existe
|
||||||
|
if ( !$classInsee->sirenExiste($siren) ) {
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$sfrM = new SdMetier_Sfr_Scoring();
|
||||||
|
$sfrM->forceIdentite = true;
|
||||||
|
$sfrM->evaluate($siren);
|
||||||
|
|
||||||
|
//Calculate
|
||||||
|
$eval = new Evaluation();
|
||||||
|
$eval->indicateur = $sfrM->getIndicateur($value);
|
||||||
|
$eval->po = $sfrM->getPo();
|
||||||
|
$eval->comment = $sfrM->getComment();
|
||||||
|
$eval->dateScore = $sfrM->getDateCalculIndiscore();
|
||||||
|
|
||||||
|
$this->wsLog('indiscore', $siren);
|
||||||
|
|
||||||
|
return $eval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
707
library/WsScore/Clients/Veolia/v0.1/Service.php
Normal file
707
library/WsScore/Clients/Veolia/v0.1/Service.php
Normal file
@ -0,0 +1,707 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Veolia';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($id)) {
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
$forceVerif = false;
|
||||||
|
|
||||||
|
debugLog('I',"Identités demandée pour siret $siret (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
$siret = trim($siret);
|
||||||
|
$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');
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$entrep = $iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif, false);
|
||||||
|
debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (empty($entrep) || empty($entrep['id']) ) {
|
||||||
|
debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adresse Normalisé
|
||||||
|
$adresse = $iInsee->getAdresse($siren, $nic);
|
||||||
|
$adresseNorme = new AdresseNorme();
|
||||||
|
$adresseNorme->L1 = $adresse['L1_NOM'];
|
||||||
|
$adresseNorme->L2 = $adresse['L2_NOM2'];
|
||||||
|
$adresseNorme->L3 = $adresse['L3_ADRCOMP'];
|
||||||
|
$adresseNorme->L4 = $adresse['L4_VOIE'];
|
||||||
|
$adresseNorme->L5 = $adresse['L5_DISTSP'];
|
||||||
|
$adresseNorme->L6 = $adresse['L6_POST'];
|
||||||
|
$adresseNorme->L7 = $adresse['L7_PAYS'];
|
||||||
|
|
||||||
|
//Formattage du retour
|
||||||
|
$identite = new Identite();
|
||||||
|
$identite->id = $entrep['id'];
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->SiretSiege = $entrep['SiretSiege'];
|
||||||
|
$identite->Siege = $entrep['Siege'];
|
||||||
|
$identite->NumRC = $entrep['numRC']; // Ajouté le 4 08 2009
|
||||||
|
$identite->Actif = $entrep['Actif'];
|
||||||
|
$identite->ActifEco = $entrep['ActifEco']; // Etab éco actif, ajout le 28/04/2011
|
||||||
|
$identite->ActifEcoDate = $entrep['ActifEcoDate']; // Date si éco inactif et jur actif
|
||||||
|
$identite->ActifEcoType = $entrep['ActifEcoType']; // vide ou NPAI ou PFER ou ECOF
|
||||||
|
$identite->EntActiveRCS = $entrep['EntActiveRCS'];
|
||||||
|
$identite->AutreId = $entrep['AutreId'];
|
||||||
|
$identite->Nom = prepareString(strtr($entrep['Nom'],'/*',' '));
|
||||||
|
$identite->Nom2 = prepareString($entrep['Nom2']);
|
||||||
|
$identite->NomLong = prepareString($entrep['nomLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->NomCommercial = prepareString($entrep['NomCommercial']); // Ajouté le 16 11 2010
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Sigle = prepareString($entrep['Sigle']);
|
||||||
|
$identite->SigleLong = prepareString($entrep['sigleLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->Enseigne = prepareString($entrep['Enseigne']);
|
||||||
|
$identite->EnseigneLong = prepareString($entrep['enseigneLong']); // Ajouté le 16 11 2010
|
||||||
|
$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']); // Ajouté le 18 02 2008
|
||||||
|
$identite->PaysIso2 = $entrep['PaysIso2'];
|
||||||
|
$identite->AdresseNorme = $adresseNorme;
|
||||||
|
$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'];
|
||||||
|
$identite->TvaNumero = $entrep['TvaNumero'];
|
||||||
|
$identite->TvaAttribue = $entrep['TvaAttribue'];
|
||||||
|
$identite->FJ = $entrep['FJ'];
|
||||||
|
$identite->FJ_Lib = $entrep['FJ_lib'];
|
||||||
|
$identite->FJ2 = $entrep['FJ2']; // Ajouté le 4 08 2009
|
||||||
|
$identite->FJ2_Lib = $entrep['FJ2_Lib']; // Ajouté le 4 08 2009
|
||||||
|
$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->NumRM = $entrep['NumRM'];
|
||||||
|
$identite->Activite = $entrep['Activite'];
|
||||||
|
$identite->Capital = $entrep['Capital'];
|
||||||
|
$identite->CapitalDev = $entrep['CapitalDev'];
|
||||||
|
$identite->CapitalLib = $entrep['CapitalLib']; // Ajouté le 18 02 2008
|
||||||
|
$identite->CapitalType = prepareString($entrep['CapitalType']); // Ajouté le 4 08 2009
|
||||||
|
$identite->DateCreaEt = WDate::dateT('Ymd','Y-m-d',$entrep['DateCreaEt']);
|
||||||
|
$identite->DateCreaEn = WDate::dateT('Ymd','Y-m-d',$entrep['DateCreaEn']);
|
||||||
|
$identite->DateClotEt = $entrep['DateClotEt']; //@todo : date
|
||||||
|
$identite->DateImmat = $entrep['dateImmat']; // Ajouté le 4 08 2009
|
||||||
|
$identite->DateRadiation = $entrep['dateRad']; // Ajouté le 4 08 2009
|
||||||
|
$identite->EffEnTr = $entrep['EffEnTr'];
|
||||||
|
$identite->EffEnTrLib = $entrep['EffEnTrLib'];
|
||||||
|
$identite->Effectif = $entrep['Effectif'];
|
||||||
|
$identite->EffEtTr = $entrep['EffEtTr']; // Ajout le 11 08 2010
|
||||||
|
$identite->EffEtTrLib = $entrep['EffEtTrLib']; // Ajout le 11 08 2010
|
||||||
|
$identite->EffectifEtab = $entrep['EffectifEtab']; // Ajout le 11 08 2010
|
||||||
|
$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 // Ajouté le 4 08 2009
|
||||||
|
$identite->dir1LieuNaiss = prepareString($entrep['dir1LieuNaiss']); // Ajouté le 4 08 2009
|
||||||
|
$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 // Ajouté le 4 08 2009
|
||||||
|
$identite->dir2LieuNaiss = prepareString($entrep['dir2LieuNaiss']); // Ajouté le 4 08 2009
|
||||||
|
$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->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'];
|
||||||
|
$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
|
||||||
|
|
||||||
|
debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->wsLog('identite',$siret,$id);
|
||||||
|
|
||||||
|
return $identite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche
|
||||||
|
* @param EntrepriseCriteres $criteres
|
||||||
|
* @param integer $position Position de parcours des résultats retournées (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées lors d'une requête (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses maximum pouvant être retournées lors d'une requête (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (false par défaut)
|
||||||
|
* @param boolean $avecSiren Seulement les entités sirénées (false par défaut)
|
||||||
|
* @return SearchEntrepriseReturn
|
||||||
|
*/
|
||||||
|
public function searchEntreprise($criteres, $position = 0, $nbRep = 20, $maxRep = 200, $pertinence = false, $avecSiren = false)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($position)) { $position = 0;}
|
||||||
|
if (empty($nbRep)) { $nbRep = 20; }
|
||||||
|
if (empty($maxRep)) { $maxRep = 200; }
|
||||||
|
|
||||||
|
$entCriteres = new EntrepriseCriteres();
|
||||||
|
$entCriteres = $criteres;
|
||||||
|
$identifiant = $entCriteres->identifiant;
|
||||||
|
$typeId = '';
|
||||||
|
|
||||||
|
//Detection autour de l'identifiant
|
||||||
|
if ($identifiant!='') {
|
||||||
|
$len = strlen($identifiant);
|
||||||
|
//Numéro WALDEC
|
||||||
|
if (strtoupper(substr($identifiant,0,1))=='W') {
|
||||||
|
$typeId = 'W';
|
||||||
|
//Code ISIN
|
||||||
|
} elseif ($len==12){
|
||||||
|
$typeId = 'I';
|
||||||
|
//TVA Intracommunautaire
|
||||||
|
} elseif (in_array(substr($identifiant,0,2),
|
||||||
|
array('AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES',
|
||||||
|
'FI','GB','HU','IE','IT','LT','LU','LV','MT','NL','PL',
|
||||||
|
'PT','RO','SE','SI','SK'))){
|
||||||
|
//"La recherche par numéro de TVA n'est pas encore possible sur ce pays !";
|
||||||
|
//Pour la france
|
||||||
|
} elseif (substr($identifiant,0,2)=='FR') {
|
||||||
|
$typeId = 'S';
|
||||||
|
if ($len==13) $identifiant = substr($identifiant,4,9);
|
||||||
|
else $identifiant = '';
|
||||||
|
//Numéro RC
|
||||||
|
} elseif (preg_match('/A|B|C|D/i', $identifiant)) {
|
||||||
|
$typeId = 'R';
|
||||||
|
//Siren normal on enleve tout ce qui n'est pas un chiffre
|
||||||
|
} else {
|
||||||
|
$typeId = 'S';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$adresse = trim($entCriteres->adresse);
|
||||||
|
|
||||||
|
//Détection Tel/Fax uniquement
|
||||||
|
if ( empty($typeId)
|
||||||
|
&& empty($entCriteres->raisonSociale)
|
||||||
|
&& empty($adresse)
|
||||||
|
&& empty($entCriteres->codePostal)
|
||||||
|
&& empty($entCriteres->ville)
|
||||||
|
&& empty($entCriteres->naf) ){
|
||||||
|
$typeId = 'TEL';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_array($typeId, array('R', 'W', 'I'))){
|
||||||
|
|
||||||
|
$O = $this->searchAutreId(
|
||||||
|
$typeId,
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'S'){
|
||||||
|
|
||||||
|
$O = $this->searchSiren(
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
$output->info = $O->info;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'TEL'){
|
||||||
|
|
||||||
|
$O = $this->searchTelFax(
|
||||||
|
$entCriteres->telFax,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$O = $this->searchNomAdr(
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->raisonSociale),
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->adresse),
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->ville),
|
||||||
|
empty($entCriteres->siege) ? false : $entCriteres->siege,
|
||||||
|
empty($entCriteres->actif) ? false : $entCriteres->actif,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
empty($pertinence) ? false : $pertinence,
|
||||||
|
empty($avecSiren) ? false : $avecSiren,
|
||||||
|
$entCriteres->naf
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche entreprise par nom et adresse
|
||||||
|
* @param string $raisonSociale Raison Sociale ou Enseigne ou Sigle
|
||||||
|
* @param string $adresse Adresse de l'entreprise, du type : 3 rue des Plantes
|
||||||
|
* @param string $codePostal Code postal (ex: 75014)
|
||||||
|
* @param string $ville Ville
|
||||||
|
* @param boolean $siege Limitation de la recherche au sièges (si true)
|
||||||
|
* @param boolean $actif Limitation aux établissements actifs (si true)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (si true)
|
||||||
|
* @param boolean $avecSiren Ne proposer que les entités sirénées
|
||||||
|
* @param string $ape_etab
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchNomAdr($raisonSociale, $adresse='', $codePostal='', $ville='', $siege=false, $actif=false, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false, $avecSiren=false, $ape_etab='')
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche Entreprise de $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if (empty($adresse)) $adresse = '';
|
||||||
|
if (empty($codePostal)) $codePostal = '';
|
||||||
|
if (empty($ville)) $ville = '';
|
||||||
|
if (empty($siege)) $siege = false;
|
||||||
|
|
||||||
|
if ( $actif ) {
|
||||||
|
$actif = 1;
|
||||||
|
} else {
|
||||||
|
$actif = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($pertinence)) $pertinence = false;
|
||||||
|
if (empty($avecSiren)) $avecSiren = false;
|
||||||
|
if (empty($ape_etab)) $ape_etab = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$etabs = $iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren, $ape_etab);
|
||||||
|
|
||||||
|
$result = new SearchReturn();
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs['reponses'])) {
|
||||||
|
foreach ($etabs['reponses'] as $etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = strtr($etab['Nom'],'/*',' ');
|
||||||
|
$reponse->Nom2 = $etab['Nom2'];
|
||||||
|
$reponse->Sigle = $etab['Sigle'];
|
||||||
|
$reponse->Enseigne = $etab['Enseigne'];
|
||||||
|
$reponse->Adresse = $etab['Adresse'];
|
||||||
|
$reponse->Adresse2 = $etab['Adresse2'];
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = $etab['Ville'];
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = $iInsee->getLibelleFJ($etab['FJ']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $iInsee->getLibelleNaf($etab['NafEtab']); // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $iInsee->getLibelleNaf($etab['NafEnt']);
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fp=@fopen(LOG_PATH.'/recherches.log','a');
|
||||||
|
|
||||||
|
$siretTrouve = 0;
|
||||||
|
if ($etabs['nbReponses']==0) {
|
||||||
|
|
||||||
|
$str="NbRep=0, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : AUCUN RESULTAT, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = count($tabRet);
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($etabs['nbReponses']==1) $siretTrouve=$etabs['reponses'][0]['Siret'];
|
||||||
|
$str="NbRep=".$etabs['nbReponses'].", S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : ".$etabs['nbReponses']." RESULTATS, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = $etabs['nbReponses'];
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur identifiant SIREN ou SIRET
|
||||||
|
* @param string $siret Siren ou Siret de l'entreprise ou de l'établissement sur 9 ou 14 chiffres significatifs
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param integer $dep Département
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchSiren($siret, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche par Siret de $siret (dep=$dep) avec un maximum de $maxRep réponses pour la tranche $deb à $nbRep",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if ( strlen($siret)!=14 && strlen($siret)!=9 ){
|
||||||
|
debugLog('W', "Siren/Siret $siret incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$nbReponsesTotal = $nbReponses = 0;
|
||||||
|
|
||||||
|
$siren = substr($siret,0,9);
|
||||||
|
if (strlen($siret)==14) $nic = substr($siret,9,5);
|
||||||
|
elseif (strlen($siret)== 9) $nic = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
if (count($rep['reponses'])==0 && $dep>0) {
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs)>0){
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib']; // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$nbReponses = $rep['nbReponses'];
|
||||||
|
|
||||||
|
/** Si le siren est valide, on part chez Infogreffe **/
|
||||||
|
if (count($tabRet)==0 && $iInsee->valideSiren($siren)) {
|
||||||
|
$iGeffes = new MGreffes();
|
||||||
|
$etab = $iGeffes->getIdentite($siren);
|
||||||
|
if ($etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString($etab['Nom']);
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = utf8_encode(prepareString(utf8_decode($etab['FJLib'])));
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab'];
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib'];
|
||||||
|
$reponse->NafEnt = $etab['NafEnt'];
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
$nbReponses = 1;
|
||||||
|
$nbReponsesTotal = 1;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$iDb = new WDB();
|
||||||
|
$iDb->insert('siren_inexistants',
|
||||||
|
array( 'siren'=>$siren,
|
||||||
|
'nic'=>$nic,
|
||||||
|
'dep'=>$dep,
|
||||||
|
'login'=>$this->User->login,
|
||||||
|
'client'=>$this->User->idClient,
|
||||||
|
'dateInsert'=>date('YmdHis')));
|
||||||
|
$nbReponses = 0;
|
||||||
|
$nbReponsesTotal = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $nbReponses;
|
||||||
|
$output->nbReponsesTotal = $nbReponsesTotal;
|
||||||
|
$output->result = $tabRet;
|
||||||
|
$output->info = $rep['info'];
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par un autre Identifiant
|
||||||
|
*
|
||||||
|
* @param string $typeId I=Code Isin, W=N°Waldec (Associations) ou R=N°RC (Registre Greffe)
|
||||||
|
* @param string $identifiant Identifiant recherché
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchAutreId($typeId, $identifiant, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$typeId = substr(trim(strtoupper($typeId)),0,1);
|
||||||
|
|
||||||
|
if ($typeId!='I' && $typeId!='W' && $typeId!='R') {
|
||||||
|
debugLog('I',"Type d'identifiant $typeId inexistant",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1021');
|
||||||
|
}
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par identifiant $typeId de $identifiantavec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if ($typeId=='W' || $typeId=='R')
|
||||||
|
{
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('AUTRE', $identifiant, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
} else {
|
||||||
|
$iBourse = new MBourse($siren);
|
||||||
|
$siren = $iBourse->getCodeSiren($identifiant);
|
||||||
|
return $this->searchSiren($siren, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur TEL FAX
|
||||||
|
*
|
||||||
|
* @param string $telFax Téléphone ou fax de l'établissement (ex: 0175438010)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchTelFax($telFax, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par Tel/Fax de $telFax avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
//$assocs=$this->iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $nbRep, $pertinence);
|
||||||
|
/** @todo A FAIRE **/
|
||||||
|
if (strlen($telFax)<10 || strlen($telFax)>14) {
|
||||||
|
debugLog('W', "Tel/Fax $telFax incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1011');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('TEL', $telFax, $deb, $nbRep, $maxRep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
790
library/WsScore/Clients/Veolia/v0.2/Service.php
Normal file
790
library/WsScore/Clients/Veolia/v0.2/Service.php
Normal file
@ -0,0 +1,790 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Veolia';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($id)) {
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
$forceVerif = false;
|
||||||
|
|
||||||
|
debugLog('I',"Identités demandée pour siret $siret (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
$siret = trim($siret);
|
||||||
|
$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');
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$entrep = $iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif, false);
|
||||||
|
debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (empty($entrep) || empty($entrep['id']) ) {
|
||||||
|
debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adresse Normalisé
|
||||||
|
$adresse = $iInsee->getAdresse($siren, $nic);
|
||||||
|
$adresseNorme = new AdresseNorme();
|
||||||
|
$adresseNorme->L1 = $adresse['L1_NOM'];
|
||||||
|
$adresseNorme->L2 = $adresse['L2_NOM2'];
|
||||||
|
$adresseNorme->L3 = $adresse['L3_ADRCOMP'];
|
||||||
|
$adresseNorme->L4 = $adresse['L4_VOIE'];
|
||||||
|
$adresseNorme->L5 = $adresse['L5_DISTSP'];
|
||||||
|
$adresseNorme->L6 = $adresse['L6_POST'];
|
||||||
|
$adresseNorme->L7 = $adresse['L7_PAYS'];
|
||||||
|
|
||||||
|
//Formattage du retour
|
||||||
|
$identite = new Identite();
|
||||||
|
$identite->id = $entrep['id'];
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->SiretSiege = $entrep['SiretSiege'];
|
||||||
|
$identite->Siege = $entrep['Siege'];
|
||||||
|
$identite->NumRC = $entrep['numRC']; // Ajouté le 4 08 2009
|
||||||
|
$identite->Actif = $entrep['Actif'];
|
||||||
|
$identite->ActifEco = $entrep['ActifEco']; // Etab éco actif, ajout le 28/04/2011
|
||||||
|
$identite->ActifEcoDate = $entrep['ActifEcoDate']; // Date si éco inactif et jur actif
|
||||||
|
$identite->ActifEcoType = $entrep['ActifEcoType']; // vide ou NPAI ou PFER ou ECOF
|
||||||
|
$identite->EntActiveRCS = $entrep['EntActiveRCS'];
|
||||||
|
$identite->AutreId = $entrep['AutreId'];
|
||||||
|
$identite->Nom = prepareString(strtr($entrep['Nom'],'/*',' '));
|
||||||
|
$identite->Nom2 = prepareString($entrep['Nom2']);
|
||||||
|
$identite->NomLong = prepareString($entrep['nomLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->NomCommercial = prepareString($entrep['NomCommercial']); // Ajouté le 16 11 2010
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Sigle = prepareString($entrep['Sigle']);
|
||||||
|
$identite->SigleLong = prepareString($entrep['sigleLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->Enseigne = prepareString($entrep['Enseigne']);
|
||||||
|
$identite->EnseigneLong = prepareString($entrep['enseigneLong']); // Ajouté le 16 11 2010
|
||||||
|
$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']); // Ajouté le 18 02 2008
|
||||||
|
$identite->PaysIso2 = $entrep['PaysIso2'];
|
||||||
|
$identite->AdresseNorme = $adresseNorme;
|
||||||
|
$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'];
|
||||||
|
$identite->TvaNumero = $entrep['TvaNumero'];
|
||||||
|
$identite->TvaAttribue = $entrep['TvaAttribue'];
|
||||||
|
$identite->FJ = $entrep['FJ'];
|
||||||
|
$identite->FJ_Lib = $entrep['FJ_lib'];
|
||||||
|
$identite->FJ2 = $entrep['FJ2']; // Ajouté le 4 08 2009
|
||||||
|
$identite->FJ2_Lib = $entrep['FJ2_Lib']; // Ajouté le 4 08 2009
|
||||||
|
$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->NumRM = $entrep['NumRM'];
|
||||||
|
$identite->Activite = $entrep['Activite'];
|
||||||
|
$identite->Capital = $entrep['Capital'];
|
||||||
|
$identite->CapitalDev = $entrep['CapitalDev'];
|
||||||
|
$identite->CapitalLib = $entrep['CapitalLib']; // Ajouté le 18 02 2008
|
||||||
|
$identite->CapitalType = prepareString($entrep['CapitalType']); // Ajouté le 4 08 2009
|
||||||
|
$identite->DateCreaEt = WDate::dateT('Ymd','Y-m-d',$entrep['DateCreaEt']);
|
||||||
|
$identite->DateCreaEn = WDate::dateT('Ymd','Y-m-d',$entrep['DateCreaEn']);
|
||||||
|
$identite->DateClotEt = $entrep['DateClotEt']; //@todo : date
|
||||||
|
$identite->DateImmat = $entrep['dateImmat']; // Ajouté le 4 08 2009
|
||||||
|
$identite->DateRadiation = $entrep['dateRad']; // Ajouté le 4 08 2009
|
||||||
|
$identite->EffEnTr = $entrep['EffEnTr'];
|
||||||
|
$identite->EffEnTrLib = $entrep['EffEnTrLib'];
|
||||||
|
$identite->Effectif = $entrep['Effectif'];
|
||||||
|
$identite->EffEtTr = $entrep['EffEtTr']; // Ajout le 11 08 2010
|
||||||
|
$identite->EffEtTrLib = $entrep['EffEtTrLib']; // Ajout le 11 08 2010
|
||||||
|
$identite->EffectifEtab = $entrep['EffectifEtab']; // Ajout le 11 08 2010
|
||||||
|
$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 // Ajouté le 4 08 2009
|
||||||
|
$identite->dir1LieuNaiss = prepareString($entrep['dir1LieuNaiss']); // Ajouté le 4 08 2009
|
||||||
|
$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 // Ajouté le 4 08 2009
|
||||||
|
$identite->dir2LieuNaiss = prepareString($entrep['dir2LieuNaiss']); // Ajouté le 4 08 2009
|
||||||
|
$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->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'];
|
||||||
|
$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
|
||||||
|
|
||||||
|
debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->wsLog('identite',$siret,$id);
|
||||||
|
|
||||||
|
return $identite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche
|
||||||
|
* @param EntrepriseCriteres $criteres
|
||||||
|
* @param integer $position Position de parcours des résultats retournées (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées lors d'une requête (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses maximum pouvant être retournées lors d'une requête (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (false par défaut)
|
||||||
|
* @param boolean $avecSiren Seulement les entités sirénées (false par défaut)
|
||||||
|
* @return SearchEntrepriseReturn
|
||||||
|
*/
|
||||||
|
public function searchEntreprise($criteres, $position = 0, $nbRep = 20, $maxRep = 200, $pertinence = false, $avecSiren = false)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($position)) { $position = 0;}
|
||||||
|
if (empty($nbRep)) { $nbRep = 20; }
|
||||||
|
if (empty($maxRep)) { $maxRep = 200; }
|
||||||
|
|
||||||
|
$entCriteres = new EntrepriseCriteres();
|
||||||
|
$entCriteres = $criteres;
|
||||||
|
$identifiant = $entCriteres->identifiant;
|
||||||
|
$typeId = '';
|
||||||
|
|
||||||
|
//Detection autour de l'identifiant
|
||||||
|
if ($identifiant!='') {
|
||||||
|
$len = strlen($identifiant);
|
||||||
|
//Numéro WALDEC
|
||||||
|
if (strtoupper(substr($identifiant,0,1))=='W') {
|
||||||
|
$typeId = 'W';
|
||||||
|
//Code ISIN
|
||||||
|
} elseif ($len==12){
|
||||||
|
$typeId = 'I';
|
||||||
|
//TVA Intracommunautaire
|
||||||
|
} elseif (in_array(substr($identifiant,0,2),
|
||||||
|
array('AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES',
|
||||||
|
'FI','GB','HU','IE','IT','LT','LU','LV','MT','NL','PL',
|
||||||
|
'PT','RO','SE','SI','SK'))){
|
||||||
|
//"La recherche par numéro de TVA n'est pas encore possible sur ce pays !";
|
||||||
|
//Pour la france
|
||||||
|
} elseif (substr($identifiant,0,2)=='FR') {
|
||||||
|
$typeId = 'S';
|
||||||
|
if ($len==13) $identifiant = substr($identifiant,4,9);
|
||||||
|
else $identifiant = '';
|
||||||
|
//Numéro RC
|
||||||
|
} elseif (preg_match('/A|B|C|D/i', $identifiant)) {
|
||||||
|
$typeId = 'R';
|
||||||
|
//Siren normal on enleve tout ce qui n'est pas un chiffre
|
||||||
|
} else {
|
||||||
|
$typeId = 'S';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$adresse = trim($entCriteres->adresse);
|
||||||
|
|
||||||
|
//Détection Tel/Fax uniquement
|
||||||
|
if ( empty($typeId)
|
||||||
|
&& empty($entCriteres->raisonSociale)
|
||||||
|
&& empty($adresse)
|
||||||
|
&& empty($entCriteres->codePostal)
|
||||||
|
&& empty($entCriteres->ville)
|
||||||
|
&& empty($entCriteres->naf) ){
|
||||||
|
$typeId = 'TEL';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_array($typeId, array('R', 'W', 'I'))){
|
||||||
|
|
||||||
|
$O = $this->searchAutreId(
|
||||||
|
$typeId,
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'S'){
|
||||||
|
|
||||||
|
$O = $this->searchSiren(
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
$output->info = $O->info;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'TEL'){
|
||||||
|
|
||||||
|
$O = $this->searchTelFax(
|
||||||
|
$entCriteres->telFax,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$O = $this->searchNomAdr(
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->raisonSociale),
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->adresse),
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->ville),
|
||||||
|
empty($entCriteres->siege) ? false : $entCriteres->siege,
|
||||||
|
empty($entCriteres->actif) ? false : $entCriteres->actif,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
empty($pertinence) ? false : $pertinence,
|
||||||
|
empty($avecSiren) ? false : $avecSiren,
|
||||||
|
$entCriteres->naf
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche entreprise par nom et adresse
|
||||||
|
* @param string $raisonSociale Raison Sociale ou Enseigne ou Sigle
|
||||||
|
* @param string $adresse Adresse de l'entreprise, du type : 3 rue des Plantes
|
||||||
|
* @param string $codePostal Code postal (ex: 75014)
|
||||||
|
* @param string $ville Ville
|
||||||
|
* @param boolean $siege Limitation de la recherche au sièges (si true)
|
||||||
|
* @param boolean $actif Limitation aux établissements actifs (si true)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (si true)
|
||||||
|
* @param boolean $avecSiren Ne proposer que les entités sirénées
|
||||||
|
* @param string $ape_etab
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchNomAdr($raisonSociale, $adresse='', $codePostal='', $ville='', $siege=false, $actif=false, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false, $avecSiren=false, $ape_etab='')
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche Entreprise de $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if (empty($adresse)) $adresse = '';
|
||||||
|
if (empty($codePostal)) $codePostal = '';
|
||||||
|
if (empty($ville)) $ville = '';
|
||||||
|
if (empty($siege)) $siege = false;
|
||||||
|
|
||||||
|
if ( $actif ) {
|
||||||
|
$actif = 1;
|
||||||
|
} else {
|
||||||
|
$actif = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($pertinence)) $pertinence = false;
|
||||||
|
if (empty($avecSiren)) $avecSiren = false;
|
||||||
|
if (empty($ape_etab)) $ape_etab = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$etabs = $iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren, $ape_etab);
|
||||||
|
|
||||||
|
$result = new SearchReturn();
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs['reponses'])) {
|
||||||
|
foreach ($etabs['reponses'] as $etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = strtr($etab['Nom'],'/*',' ');
|
||||||
|
$reponse->Nom2 = $etab['Nom2'];
|
||||||
|
$reponse->Sigle = $etab['Sigle'];
|
||||||
|
$reponse->Enseigne = $etab['Enseigne'];
|
||||||
|
$reponse->Adresse = $etab['Adresse'];
|
||||||
|
$reponse->Adresse2 = $etab['Adresse2'];
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = $etab['Ville'];
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = $iInsee->getLibelleFJ($etab['FJ']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $iInsee->getLibelleNaf($etab['NafEtab']); // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $iInsee->getLibelleNaf($etab['NafEnt']);
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fp=@fopen(LOG_PATH.'/recherches.log','a');
|
||||||
|
|
||||||
|
$siretTrouve = 0;
|
||||||
|
if ($etabs['nbReponses']==0) {
|
||||||
|
|
||||||
|
$str="NbRep=0, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : AUCUN RESULTAT, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = count($tabRet);
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($etabs['nbReponses']==1) $siretTrouve=$etabs['reponses'][0]['Siret'];
|
||||||
|
$str="NbRep=".$etabs['nbReponses'].", S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : ".$etabs['nbReponses']." RESULTATS, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = $etabs['nbReponses'];
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur identifiant SIREN ou SIRET
|
||||||
|
* @param string $siret Siren ou Siret de l'entreprise ou de l'établissement sur 9 ou 14 chiffres significatifs
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param integer $dep Département
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchSiren($siret, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche par Siret de $siret (dep=$dep) avec un maximum de $maxRep réponses pour la tranche $deb à $nbRep",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if ( strlen($siret)!=14 && strlen($siret)!=9 ){
|
||||||
|
debugLog('W', "Siren/Siret $siret incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$nbReponsesTotal = $nbReponses = 0;
|
||||||
|
|
||||||
|
$siren = substr($siret,0,9);
|
||||||
|
if (strlen($siret)==14) $nic = substr($siret,9,5);
|
||||||
|
elseif (strlen($siret)== 9) $nic = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
if (count($rep['reponses'])==0 && $dep>0) {
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs)>0){
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib']; // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$nbReponses = $rep['nbReponses'];
|
||||||
|
|
||||||
|
/** Si le siren est valide, on part chez Infogreffe **/
|
||||||
|
if (count($tabRet)==0 && $iInsee->valideSiren($siren)) {
|
||||||
|
$iGeffes = new MGreffes();
|
||||||
|
$etab = $iGeffes->getIdentite($siren);
|
||||||
|
if ($etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString($etab['Nom']);
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = utf8_encode(prepareString(utf8_decode($etab['FJLib'])));
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab'];
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib'];
|
||||||
|
$reponse->NafEnt = $etab['NafEnt'];
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
$nbReponses = 1;
|
||||||
|
$nbReponsesTotal = 1;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$iDb = new WDB();
|
||||||
|
$iDb->insert('siren_inexistants',
|
||||||
|
array( 'siren'=>$siren,
|
||||||
|
'nic'=>$nic,
|
||||||
|
'dep'=>$dep,
|
||||||
|
'login'=>$this->User->login,
|
||||||
|
'client'=>$this->User->idClient,
|
||||||
|
'dateInsert'=>date('YmdHis')));
|
||||||
|
$nbReponses = 0;
|
||||||
|
$nbReponsesTotal = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $nbReponses;
|
||||||
|
$output->nbReponsesTotal = $nbReponsesTotal;
|
||||||
|
$output->result = $tabRet;
|
||||||
|
$output->info = $rep['info'];
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par un autre Identifiant
|
||||||
|
*
|
||||||
|
* @param string $typeId I=Code Isin, W=N°Waldec (Associations) ou R=N°RC (Registre Greffe)
|
||||||
|
* @param string $identifiant Identifiant recherché
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchAutreId($typeId, $identifiant, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$typeId = substr(trim(strtoupper($typeId)),0,1);
|
||||||
|
|
||||||
|
if ($typeId!='I' && $typeId!='W' && $typeId!='R') {
|
||||||
|
debugLog('I',"Type d'identifiant $typeId inexistant",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1021');
|
||||||
|
}
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par identifiant $typeId de $identifiantavec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if ($typeId=='W' || $typeId=='R')
|
||||||
|
{
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('AUTRE', $identifiant, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
} else {
|
||||||
|
$iBourse = new MBourse($siren);
|
||||||
|
$siren = $iBourse->getCodeSiren($identifiant);
|
||||||
|
return $this->searchSiren($siren, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur TEL FAX
|
||||||
|
*
|
||||||
|
* @param string $telFax Téléphone ou fax de l'établissement (ex: 0175438010)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchTelFax($telFax, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par Tel/Fax de $telFax avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
//$assocs=$this->iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $nbRep, $pertinence);
|
||||||
|
/** @todo A FAIRE **/
|
||||||
|
if (strlen($telFax)<10 || strlen($telFax)>14) {
|
||||||
|
debugLog('W', "Tel/Fax $telFax incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1011');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('TEL', $telFax, $deb, $nbRep, $maxRep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste des établissements d'une entreprise
|
||||||
|
* @param string $siren Siren de l'entreprise
|
||||||
|
* @param integer $departement Limiter aux établissements du departement
|
||||||
|
* @param integer $actif Otpionnel 1=Uniquements les actifs, 0=inactifs, -1=Tous
|
||||||
|
* @param integer $position
|
||||||
|
* @param integer $nbRep
|
||||||
|
* @return ListeEtablissementsReturn
|
||||||
|
*/
|
||||||
|
public function getListeEtablissements($siren, $dep = 0, $actif = -1, $position = 0, $nbRep = 20)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($dep)) { $dep = 0; }
|
||||||
|
if (empty($actif)) { $actif = -1; }
|
||||||
|
if (empty($position)) { $position = 0; }
|
||||||
|
if (empty($nbRep)) { $nbRep = 20; }
|
||||||
|
|
||||||
|
//Valeur max
|
||||||
|
if($nbRep > 200) { $nbRep = 200; }
|
||||||
|
$departement = $dep;
|
||||||
|
|
||||||
|
debugLog('I',"Liste des établissements demandée pour $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (strlen($siren)<>9) {
|
||||||
|
debugLog('W', "Siren $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
} elseif ($siren*1==0) {
|
||||||
|
debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissements($siren, '', $position, $nbRep, 200, $departement, $actif);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
$nbReponses = $rep['nbReponsesTotal'];
|
||||||
|
$result = array();
|
||||||
|
if (count($etabs)>0)
|
||||||
|
{
|
||||||
|
foreach ($etabs as $nb => $etab)
|
||||||
|
{
|
||||||
|
$etablissement = new Etablissement();
|
||||||
|
$etablissement->id = $etab['id'];
|
||||||
|
$etablissement->Siege = $etab['Siege'];
|
||||||
|
$etablissement->Enseigne = $etab['Enseigne'];
|
||||||
|
$etablissement->Adresse = $etab['Adresse'];
|
||||||
|
$etablissement->Adresse2 = $etab['Adresse2'];
|
||||||
|
$etablissement->CP = $etab['CP'];
|
||||||
|
$etablissement->Ville = $etab['Ville'];
|
||||||
|
$etablissement->Tel = $etab['Tel'];
|
||||||
|
$etablissement->Fax = $etab['Fax'];
|
||||||
|
$etablissement->Nic = $etab['Nic'];
|
||||||
|
$etablissement->Actif = $etab['Actif'];
|
||||||
|
$etablissement->NafEtab = $etab['NafEtab'];
|
||||||
|
$etablissement->NafEtabLib = $etab['NafEtabLib'];
|
||||||
|
$etablissement->EffEtTr = $etab['EffEtTr'];
|
||||||
|
$etablissement->EffEtTrLib = $etab['EffEtTrLib'];
|
||||||
|
|
||||||
|
// Adresse Normalisé
|
||||||
|
$adresse = $iInsee->getAdresse($siren, $etab['Nic']);
|
||||||
|
$adresseNorme = new AdresseNorme();
|
||||||
|
$adresseNorme->L1 = $adresse['L1_NOM'];
|
||||||
|
$adresseNorme->L2 = $adresse['L2_NOM2'];
|
||||||
|
$adresseNorme->L3 = $adresse['L3_ADRCOMP'];
|
||||||
|
$adresseNorme->L4 = $adresse['L4_VOIE'];
|
||||||
|
$adresseNorme->L5 = $adresse['L5_DISTSP'];
|
||||||
|
$adresseNorme->L6 = $adresse['L6_POST'];
|
||||||
|
$adresseNorme->L7 = $adresse['L7_PAYS'];
|
||||||
|
|
||||||
|
$etablissement->AdresseNorme = $adresseNorme;
|
||||||
|
|
||||||
|
$result[] = $etablissement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
debugLog('I', "Nb Etablissements retournés ($departement, $actif) = ". count($result), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->wsLog('etablissements',$siren);
|
||||||
|
$output = new ListeEtablissementsReturn();
|
||||||
|
$output->nbReponses = $nbReponses;
|
||||||
|
$output->result = $result;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
620
library/WsScore/Clients/Vwbank/v0.1/Service.php
Normal file
620
library/WsScore/Clients/Vwbank/v0.1/Service.php
Normal file
@ -0,0 +1,620 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Vwbank';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($id)) {
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
$forceVerif = false;
|
||||||
|
|
||||||
|
$tdeb = microtime(1);
|
||||||
|
debugLog('I',"Identités demandée pour siret $siret (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
$siret = trim($siret);
|
||||||
|
$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');
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$entrep = $iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif);
|
||||||
|
debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (empty($entrep) || empty($entrep['id']) ) {
|
||||||
|
debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$identite = new Identite();
|
||||||
|
$identite->id = $entrep['id'];
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Nom = prepareString(strtr($entrep['Nom'],'/*',' '));
|
||||||
|
$identite->Nom2 = prepareString($entrep['Nom2']);
|
||||||
|
$identite->NomLong = prepareString($entrep['nomLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->NomCommercial = prepareString($entrep['NomCommercial']); // Ajouté le 16 11 2010
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Sigle = prepareString($entrep['Sigle']);
|
||||||
|
$identite->SigleLong = prepareString($entrep['sigleLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->Enseigne = prepareString($entrep['Enseigne']);
|
||||||
|
$identite->EnseigneLong = prepareString($entrep['enseigneLong']); // Ajouté le 16 11 2010
|
||||||
|
$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']); // Ajouté le 18 02 2008
|
||||||
|
$identite->PaysIso2 = $entrep['PaysIso2'];
|
||||||
|
$identite->AdresseDom = $entrep['AdresseDom'];
|
||||||
|
$identite->NbEtab = $entrep['NbEtab'];
|
||||||
|
$identite->TvaNumero = $entrep['TvaNumero'];
|
||||||
|
$identite->TvaAttribue = $entrep['TvaAttribue'];
|
||||||
|
$identite->FJ = $entrep['FJ'];
|
||||||
|
$identite->FJ_Lib = $entrep['FJ_lib'];
|
||||||
|
$identite->NafEtab = $entrep['NafEtab'];
|
||||||
|
$identite->NafEtabLib = $entrep['NafEtabLib'];
|
||||||
|
$identite->Effectif = $entrep['Effectif'];
|
||||||
|
$identite->DateMajINSEE = $entrep['DateMajINSEE']; //@todo : date
|
||||||
|
$identite->DateMajRCS = $entrep['DateMajRCS']; //@todo : date
|
||||||
|
$identite->DateMajID = $entrep['dateMajIdentite']; //@todo : date
|
||||||
|
|
||||||
|
debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$this->wsLog('identite',$siret,$id);
|
||||||
|
return $identite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche
|
||||||
|
* @param EntrepriseCriteres $criteres
|
||||||
|
* @param integer $position Position de parcours des résultats retournées (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées lors d'une requête (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses maximum pouvant être retournées lors d'une requête (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (false par défaut)
|
||||||
|
* @param boolean $avecSiren Seulement les entités sirénées (false par défaut)
|
||||||
|
* @return SearchEntrepriseReturn
|
||||||
|
*/
|
||||||
|
public function searchEntreprise($criteres, $position = 0, $nbRep = 20, $maxRep = 200, $pertinence = false, $avecSiren = false)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($position)) { $position = 0;}
|
||||||
|
if (empty($nbRep)) { $nbRep = 20; }
|
||||||
|
if (empty($maxRep)) { $maxRep = 200; }
|
||||||
|
|
||||||
|
$entCriteres = new EntrepriseCriteres();
|
||||||
|
$entCriteres = $criteres;
|
||||||
|
$identifiant = $entCriteres->identifiant;
|
||||||
|
$typeId = '';
|
||||||
|
|
||||||
|
//Detection autour de l'identifiant
|
||||||
|
if ($identifiant!='') {
|
||||||
|
$len = strlen($identifiant);
|
||||||
|
//Numéro WALDEC
|
||||||
|
if (strtoupper(substr($identifiant,0,1))=='W') {
|
||||||
|
$typeId = 'W';
|
||||||
|
//Code ISIN
|
||||||
|
} elseif ($len==12){
|
||||||
|
$typeId = 'I';
|
||||||
|
//TVA Intracommunautaire
|
||||||
|
} elseif (in_array(substr($identifiant,0,2),
|
||||||
|
array('AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES',
|
||||||
|
'FI','GB','HU','IE','IT','LT','LU','LV','MT','NL','PL',
|
||||||
|
'PT','RO','SE','SI','SK'))){
|
||||||
|
//"La recherche par numéro de TVA n'est pas encore possible sur ce pays !";
|
||||||
|
//Pour la france
|
||||||
|
} elseif (substr($identifiant,0,2)=='FR') {
|
||||||
|
$typeId = 'S';
|
||||||
|
if ($len==13) $identifiant = substr($identifiant,4,9);
|
||||||
|
else $identifiant = '';
|
||||||
|
//Numéro RC
|
||||||
|
} elseif (preg_match('/A|B|C|D/i', $identifiant)) {
|
||||||
|
$typeId = 'R';
|
||||||
|
//Siren normal on enleve tout ce qui n'est pas un chiffre
|
||||||
|
} else {
|
||||||
|
$typeId = 'S';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$adresse = trim($entCriteres->adresse);
|
||||||
|
|
||||||
|
//Détection Tel/Fax uniquement
|
||||||
|
if ( empty($typeId)
|
||||||
|
&& empty($entCriteres->raisonSociale)
|
||||||
|
&& empty($adresse)
|
||||||
|
&& empty($entCriteres->codePostal)
|
||||||
|
&& empty($entCriteres->ville)
|
||||||
|
&& empty($entCriteres->naf) ){
|
||||||
|
$typeId = 'TEL';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_array($typeId, array('R', 'W', 'I'))){
|
||||||
|
|
||||||
|
$O = $this->searchAutreId(
|
||||||
|
$typeId,
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'S'){
|
||||||
|
|
||||||
|
$O = $this->searchSiren(
|
||||||
|
$identifiant,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
$entCriteres->codePostal
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
$output->info = $O->info;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'TEL'){
|
||||||
|
|
||||||
|
$O = $this->searchTelFax(
|
||||||
|
$entCriteres->telFax,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$O = $this->searchNomAdr(
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->raisonSociale),
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->adresse),
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->ville),
|
||||||
|
empty($entCriteres->siege) ? false : $entCriteres->siege,
|
||||||
|
empty($entCriteres->actif) ? false : $entCriteres->actif,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
empty($pertinence) ? false : $pertinence,
|
||||||
|
empty($avecSiren) ? false : $avecSiren,
|
||||||
|
$entCriteres->naf
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche entreprise par nom et adresse
|
||||||
|
* @param string $raisonSociale Raison Sociale ou Enseigne ou Sigle
|
||||||
|
* @param string $adresse Adresse de l'entreprise, du type : 3 rue des Plantes
|
||||||
|
* @param string $codePostal Code postal (ex: 75014)
|
||||||
|
* @param string $ville Ville
|
||||||
|
* @param boolean $siege Limitation de la recherche au sièges (si true)
|
||||||
|
* @param boolean $actif Limitation aux établissements actifs (si true)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (si true)
|
||||||
|
* @param boolean $avecSiren Ne proposer que les entités sirénées
|
||||||
|
* @param string $ape_etab
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchNomAdr($raisonSociale, $adresse='', $codePostal='', $ville='', $siege=false, $actif=false, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false, $avecSiren=false, $ape_etab='')
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche Entreprise de $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if (empty($adresse)) $adresse = '';
|
||||||
|
if (empty($codePostal)) $codePostal = '';
|
||||||
|
if (empty($ville)) $ville = '';
|
||||||
|
if (empty($siege)) $siege = false;
|
||||||
|
|
||||||
|
if ( $actif ) {
|
||||||
|
$actif = 1;
|
||||||
|
} else {
|
||||||
|
$actif = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($pertinence)) $pertinence = false;
|
||||||
|
if (empty($avecSiren)) $avecSiren = false;
|
||||||
|
if (empty($ape_etab)) $ape_etab = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$etabs = $iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren, $ape_etab);
|
||||||
|
|
||||||
|
$result = new SearchReturn();
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs['reponses'])) {
|
||||||
|
foreach ($etabs['reponses'] as $etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = strtr($etab['Nom'],'/*',' ');
|
||||||
|
$reponse->Nom2 = $etab['Nom2'];
|
||||||
|
$reponse->Sigle = $etab['Sigle'];
|
||||||
|
$reponse->Enseigne = $etab['Enseigne'];
|
||||||
|
$reponse->Adresse = $etab['Adresse'];
|
||||||
|
$reponse->Adresse2 = $etab['Adresse2'];
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = $etab['Ville'];
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = $iInsee->getLibelleFJ($etab['FJ']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $iInsee->getLibelleNaf($etab['NafEtab']); // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $iInsee->getLibelleNaf($etab['NafEnt']);
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fp=@fopen(LOG_PATH.'/recherches.log','a');
|
||||||
|
|
||||||
|
$siretTrouve = 0;
|
||||||
|
if ($etabs['nbReponses']==0) {
|
||||||
|
|
||||||
|
$str="NbRep=0, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : AUCUN RESULTAT, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = count($tabRet);
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($etabs['nbReponses']==1) $siretTrouve=$etabs['reponses'][0]['Siret'];
|
||||||
|
$str="NbRep=".$etabs['nbReponses'].", S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
@fwrite($fp, $str.EOL);
|
||||||
|
@fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : ".$etabs['nbReponses']." RESULTATS, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = $etabs['nbReponses'];
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur identifiant SIREN ou SIRET
|
||||||
|
* @param string $siret Siren ou Siret de l'entreprise ou de l'établissement sur 9 ou 14 chiffres significatifs
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param integer $dep Département
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchSiren($siret, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche par Siret de $siret (dep=$dep) avec un maximum de $maxRep réponses pour la tranche $deb à $nbRep",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if ( strlen($siret)!=14 && strlen($siret)!=9 ){
|
||||||
|
debugLog('W', "Siren/Siret $siret incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$nbReponsesTotal = $nbReponses = 0;
|
||||||
|
|
||||||
|
$siren = substr($siret,0,9);
|
||||||
|
if (strlen($siret)==14) $nic = substr($siret,9,5);
|
||||||
|
elseif (strlen($siret)== 9) $nic = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
if (count($rep['reponses'])==0 && $dep>0) {
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs)>0){
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib']; // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$nbReponses = $rep['nbReponses'];
|
||||||
|
|
||||||
|
/** Si le siren est valide, on part chez Infogreffe **/
|
||||||
|
if (count($tabRet)==0 && $iInsee->valideSiren($siren)) {
|
||||||
|
$iGeffes = new MGreffes();
|
||||||
|
$etab = $iGeffes->getIdentite($siren);
|
||||||
|
if ($etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString($etab['Nom']);
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = utf8_encode(prepareString(utf8_decode($etab['FJLib'])));
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab'];
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib'];
|
||||||
|
$reponse->NafEnt = $etab['NafEnt'];
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
$nbReponses = 1;
|
||||||
|
$nbReponsesTotal = 1;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$iDb = new WDB();
|
||||||
|
$iDb->insert('siren_inexistants',
|
||||||
|
array( 'siren'=>$siren,
|
||||||
|
'nic'=>$nic,
|
||||||
|
'dep'=>$dep,
|
||||||
|
'login'=>$this->User->login,
|
||||||
|
'client'=>$this->User->idClient,
|
||||||
|
'dateInsert'=>date('YmdHis')));
|
||||||
|
$nbReponses = 0;
|
||||||
|
$nbReponsesTotal = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $nbReponses;
|
||||||
|
$output->nbReponsesTotal = $nbReponsesTotal;
|
||||||
|
$output->result = $tabRet;
|
||||||
|
$output->info = $rep['info'];
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par un autre Identifiant
|
||||||
|
*
|
||||||
|
* @param string $typeId I=Code Isin, W=N°Waldec (Associations) ou R=N°RC (Registre Greffe)
|
||||||
|
* @param string $identifiant Identifiant recherché
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
protected function searchAutreId($typeId, $identifiant, $deb=0, $nbRep=20, $maxRep=200, $dep=0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
$typeId = substr(trim(strtoupper($typeId)),0,1);
|
||||||
|
|
||||||
|
if ($typeId!='I' && $typeId!='W' && $typeId!='R') {
|
||||||
|
debugLog('I',"Type d'identifiant $typeId inexistant",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1021');
|
||||||
|
}
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par identifiant $typeId de $identifiantavec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if ($typeId=='W' || $typeId=='R')
|
||||||
|
{
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('AUTRE', $identifiant, $deb, $nbRep, $maxRep, $dep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
} else {
|
||||||
|
$iBourse = new MBourse($siren);
|
||||||
|
$siren = $iBourse->getCodeSiren($identifiant);
|
||||||
|
return $this->searchSiren($siren, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur TEL FAX
|
||||||
|
*
|
||||||
|
* @param string $telFax Téléphone ou fax de l'établissement (ex: 0175438010)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchTelFax($telFax, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par Tel/Fax de $telFax avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
//$assocs=$this->iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $nbRep, $pertinence);
|
||||||
|
/** @todo A FAIRE **/
|
||||||
|
if (strlen($telFax)<10 || strlen($telFax)>14) {
|
||||||
|
debugLog('W', "Tel/Fax $telFax incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1011');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('TEL', $telFax, $deb, $nbRep, $maxRep);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
806
library/WsScore/Clients/Vwbank/v0.2/Service.php
Normal file
806
library/WsScore/Clients/Vwbank/v0.2/Service.php
Normal file
@ -0,0 +1,806 @@
|
|||||||
|
<?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/scores/classMFinancier.php';
|
||||||
|
require_once 'Metier/scores/classMSolvabilite.php';
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Entreprise extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->serviceClient = true;
|
||||||
|
$this->serviceClientName = 'Vwbank';
|
||||||
|
$this->serviceName = 'Entreprise';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($id)) {
|
||||||
|
$id = 0;
|
||||||
|
}
|
||||||
|
$forceVerif = false;
|
||||||
|
|
||||||
|
$tdeb = microtime(1);
|
||||||
|
debugLog('I',"Identités demandée pour siret $siret (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
$siret = trim($siret);
|
||||||
|
$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');
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$entrep = $iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif, false);
|
||||||
|
debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (empty($entrep) || empty($entrep['id']) ) {
|
||||||
|
debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1020');
|
||||||
|
}
|
||||||
|
|
||||||
|
$identite = new Identite();
|
||||||
|
$identite->id = $entrep['id'];
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Nom = prepareString(strtr($entrep['Nom'],'/*',' '));
|
||||||
|
$identite->Nom2 = prepareString($entrep['Nom2']);
|
||||||
|
$identite->NomLong = prepareString($entrep['nomLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->NomCommercial = prepareString($entrep['NomCommercial']); // Ajouté le 16 11 2010
|
||||||
|
$identite->Siret = $entrep['Siret'];
|
||||||
|
$identite->Sigle = prepareString($entrep['Sigle']);
|
||||||
|
$identite->SigleLong = prepareString($entrep['sigleLong']); // Ajouté le 4 08 2009
|
||||||
|
$identite->Enseigne = prepareString($entrep['Enseigne']);
|
||||||
|
$identite->EnseigneLong = prepareString($entrep['enseigneLong']); // Ajouté le 16 11 2010
|
||||||
|
$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']); // Ajouté le 18 02 2008
|
||||||
|
$identite->PaysIso2 = $entrep['PaysIso2'];
|
||||||
|
$identite->AdresseDom = $entrep['AdresseDom'];
|
||||||
|
$identite->NbEtab = $entrep['NbEtab'];
|
||||||
|
$identite->TvaNumero = $entrep['TvaNumero'];
|
||||||
|
$identite->TvaAttribue = $entrep['TvaAttribue'];
|
||||||
|
$identite->FJ = $entrep['FJ'];
|
||||||
|
$identite->FJ_Lib = $entrep['FJ_lib'];
|
||||||
|
$identite->NafEtab = $entrep['NafEtab'];
|
||||||
|
$identite->NafEtabLib = $entrep['NafEtabLib'];
|
||||||
|
$identite->Effectif = $entrep['Effectif'];
|
||||||
|
$identite->DateMajINSEE = $entrep['DateMajINSEE']; //@todo : date
|
||||||
|
$identite->DateMajRCS = $entrep['DateMajRCS']; //@todo : date
|
||||||
|
$identite->DateMajID = $entrep['dateMajIdentite']; //@todo : date
|
||||||
|
$identite->SituationJuridique = $entrep['SituationJuridique'];
|
||||||
|
$identite->Capital = $entrep['Capital'];
|
||||||
|
$identite->CapitalDev = $entrep['CapitalDev'];
|
||||||
|
$identite->CapitalLib = $entrep['CapitalLib'];
|
||||||
|
$identite->CapitalType = prepareString($entrep['CapitalType']);
|
||||||
|
$identite->DateCreaEn = WDate::dateT('Ymd','Y-m-d',$entrep['DateCreaEn']);
|
||||||
|
|
||||||
|
//Présence de privilèges
|
||||||
|
$identite->Privileges = false;
|
||||||
|
$nbPrivileges = 0;
|
||||||
|
$iPriv = new MPrivileges();
|
||||||
|
$ret = $iPriv->getPrivilegesDetail($siren);
|
||||||
|
$nbPrivileges = count($ret);
|
||||||
|
if ($nbPrivileges>0) {
|
||||||
|
$identite->Privileges = true;
|
||||||
|
} else {
|
||||||
|
$iDb = new WDB('sdv1');
|
||||||
|
$sql = "SELECT count(*) AS nbPriv FROM ge_cs2 WHERE cs = 'P' AND dateFin >= NOW() AND dateSuppr=0 AND siren=$siren;";
|
||||||
|
$ret = $iDb->query($sql);
|
||||||
|
if ($ret[0]['nbPriv']>0) {
|
||||||
|
$identite->Privileges = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$this->wsLog('identite',$siret,$id);
|
||||||
|
return $identite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne l'ensemble des informations identitaires des dirigeants de l'entreprise
|
||||||
|
*
|
||||||
|
* @param string $siren Siren de l'entreprise
|
||||||
|
* @param bool $histo Afficher l'historique des dirigeants
|
||||||
|
* @return DirigeantsReturn Liste des dirigeants actifs de l'entreprise
|
||||||
|
*/
|
||||||
|
public function getDirigeants( $siren , $histo = false)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('dirigeants');
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
if (empty($histo)) { $histo = false; }
|
||||||
|
|
||||||
|
//Zend_Registry::get('WsLogger')->info('HISTO : '.$histo);
|
||||||
|
|
||||||
|
debugLog('I',"Dirigeants demandée pour $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$tabRet = array();
|
||||||
|
if (strlen($siren)<>9) {
|
||||||
|
debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
} elseif ($siren*1==0) {
|
||||||
|
debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$dirs = $iInsee->getDirigeants($siren, $histo);
|
||||||
|
//debugLog('W', print_r($dirs, true), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$liste = array();
|
||||||
|
foreach ($dirs as $nb => $dir)
|
||||||
|
{
|
||||||
|
//debugLog('I', "Siren/Siret $siren trouvé : ".$etab['Siren'].' '.$etab['Nic'].', '.$etab['Nom'] .', '.$etab['CP'].', '.$etab['Ville'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$dirigeant = new Dirigeant();
|
||||||
|
$dirigeant->Code = $dir['Fonction'];
|
||||||
|
$dirigeant->Titre = $dir['Titre'];
|
||||||
|
$dirigeant->Societe = $dir['Societe'];
|
||||||
|
$dirigeant->Siren = (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->NaissDate = $dir['NaissDate']; //@todo : date
|
||||||
|
$dirigeant->NaissVille = $dir['NaissVille'];
|
||||||
|
$dirigeant->NaissDepPays = $dir['NaissDepPays'];
|
||||||
|
$dirigeant->Ancien = $dir['Ancien'];
|
||||||
|
$dirigeant->DateFct = $dir['DateFct']; //@todo : date
|
||||||
|
$liste[] = $dirigeant;
|
||||||
|
}
|
||||||
|
$this->wsLog('dirigeants',$siren,$option);
|
||||||
|
debugLog('I', 'Nb Dirigeants retournés = '. count($dirs), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$output = new DirigeantsReturn();
|
||||||
|
$output->result = $liste;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche
|
||||||
|
* @param EntrepriseCriteres $criteres
|
||||||
|
* @param integer $position Position de parcours des résultats retournées (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées lors d'une requête (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses maximum pouvant être retournées lors d'une requête (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (false par défaut)
|
||||||
|
* @param boolean $avecSiren Seulement les entités sirénées (false par défaut)
|
||||||
|
* @return SearchEntrepriseReturn
|
||||||
|
*/
|
||||||
|
public function searchEntreprise($criteres, $position = 0, $nbRep = 20, $maxRep = 200, $pertinence = false, $avecSiren = false)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($position)) { $position = 0;}
|
||||||
|
if (empty($nbRep)) { $nbRep = 20; }
|
||||||
|
if (empty($maxRep)) { $maxRep = 200; }
|
||||||
|
|
||||||
|
$entCriteres = new EntrepriseCriteres();
|
||||||
|
$entCriteres = $criteres;
|
||||||
|
$identifiant = $entCriteres->identifiant;
|
||||||
|
$typeId = '';
|
||||||
|
|
||||||
|
//Detection autour de l'identifiant
|
||||||
|
if ($identifiant!='') {
|
||||||
|
$len = strlen($identifiant);
|
||||||
|
//Numéro WALDEC
|
||||||
|
if (strtoupper(substr($identifiant,0,1))=='W') {
|
||||||
|
$typeId = 'W';
|
||||||
|
//Code ISIN
|
||||||
|
} elseif ($len==12){
|
||||||
|
$typeId = 'I';
|
||||||
|
//TVA Intracommunautaire
|
||||||
|
} elseif (in_array(substr($identifiant,0,2),
|
||||||
|
array('AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES',
|
||||||
|
'FI','GB','HU','IE','IT','LT','LU','LV','MT','NL','PL',
|
||||||
|
'PT','RO','SE','SI','SK'))){
|
||||||
|
//"La recherche par numéro de TVA n'est pas encore possible sur ce pays !";
|
||||||
|
//Pour la france
|
||||||
|
} elseif (substr($identifiant,0,2)=='FR') {
|
||||||
|
$typeId = 'S';
|
||||||
|
if ($len==13) $identifiant = substr($identifiant,4,9);
|
||||||
|
else $identifiant = '';
|
||||||
|
//Numéro RC
|
||||||
|
} elseif (preg_match('/A|B|C|D/i', $identifiant)) {
|
||||||
|
$typeId = 'R';
|
||||||
|
//Siren normal on enleve tout ce qui n'est pas un chiffre
|
||||||
|
} else {
|
||||||
|
$typeId = 'S';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$adresse = trim($entCriteres->adresse);
|
||||||
|
|
||||||
|
//Détection Tel/Fax uniquement
|
||||||
|
if ( empty($typeId)
|
||||||
|
&& empty($entCriteres->raisonSociale)
|
||||||
|
&& empty($adresse)
|
||||||
|
&& empty($entCriteres->codePostal)
|
||||||
|
&& empty($entCriteres->ville)
|
||||||
|
&& empty($entCriteres->naf) ){
|
||||||
|
$typeId = 'TEL';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_array($typeId, array('R', 'W', 'I'))){
|
||||||
|
|
||||||
|
$O = $this->searchAutreId(
|
||||||
|
$typeId,
|
||||||
|
$identifiant,
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
($entCriteres->actif==false) ? 2 : 1,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'S'){
|
||||||
|
|
||||||
|
$O = $this->searchSiren(
|
||||||
|
$identifiant,
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
($entCriteres->actif==false) ? 2 : 1,
|
||||||
|
$entCriteres->siege,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
$output->info = $O->info;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} elseif ($typeId == 'TEL'){
|
||||||
|
|
||||||
|
$O = $this->searchTelFax(
|
||||||
|
$entCriteres->telFax,
|
||||||
|
($entCriteres->actif==false) ? 2 : 1,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$O = $this->searchNomAdr(
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->raisonSociale),
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->adresse),
|
||||||
|
$entCriteres->codePostal,
|
||||||
|
Scores_Locale_String::cleanstring($entCriteres->ville),
|
||||||
|
empty($entCriteres->siege) ? false : $entCriteres->siege,
|
||||||
|
($entCriteres->actif==false) ? 2 : 1,
|
||||||
|
empty($position) ? 0 : $position,
|
||||||
|
empty($nbRep) ? 20 : $nbRep,
|
||||||
|
empty($maxRep) ? 200 : $maxRep,
|
||||||
|
empty($pertinence) ? false : $pertinence,
|
||||||
|
empty($avecSiren) ? false : $avecSiren,
|
||||||
|
$entCriteres->naf
|
||||||
|
);
|
||||||
|
|
||||||
|
$output = new SearchEntrepriseReturn();
|
||||||
|
$output->nbReponses = $O->nbReponses;
|
||||||
|
$output->nbReponsesTotal = $O->nbReponsesTotal;
|
||||||
|
$output->result = $O->result;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par un autre Identifiant
|
||||||
|
*
|
||||||
|
* @param string $typeId I=Code Isin, W=N°Waldec (Associations) ou R=N°RC (Registre Greffe)
|
||||||
|
* @param string $identifiant Identifiant recherché
|
||||||
|
* @param integer $dep Département
|
||||||
|
* @param integer $actif 0 : Filtre sur les inactfis, 1: Filtre sur les actifs, 2 : Tous (defaut)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchAutreId($typeId, $identifiant, $dep=0, $actif=2, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
if (!in_array($actif, array(0,1,2))) $actif = 2;
|
||||||
|
|
||||||
|
$typeId = substr(trim(strtoupper($typeId)),0,1);
|
||||||
|
|
||||||
|
if ($typeId!='I' && $typeId!='W' && $typeId!='R') {
|
||||||
|
debugLog('I',"Type d'identifiant $typeId inexistant",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1021');
|
||||||
|
}
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par identifiant $typeId de $identifiant avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if ($typeId=='W' || $typeId=='R')
|
||||||
|
{
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('AUTRE', $identifiant, $deb, $nbRep, $maxRep, $dep, $actif);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
} else {
|
||||||
|
$iBourse = new MBourse($siren);
|
||||||
|
$siren = $iBourse->getCodeSiren($identifiant);
|
||||||
|
return $this->searchSiren($siren, $dep, $actif, $deb, $nbRep, $maxRep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur TEL FAX
|
||||||
|
*
|
||||||
|
* @param string $telFax Téléphone ou fax de l'établissement (ex: 0175438010)
|
||||||
|
* @param integer $actif 0 : Filtre sur les inactfis, 1: Filtre sur les actifs, 2 : Tous (defaut)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
protected function searchTelFax($telFax, $actif=2, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 0;
|
||||||
|
if (empty($maxRep)) $maxRep = 0;
|
||||||
|
if (!in_array($actif, array(0,1,2))) $actif = 2;
|
||||||
|
|
||||||
|
$tabRet = array();
|
||||||
|
debugLog('I',"Recherche par Tel/Fax de $telFax avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
//$assocs=$this->iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $nbRep, $pertinence);
|
||||||
|
/** @todo A FAIRE **/
|
||||||
|
if (strlen($telFax)<10 || strlen($telFax)>14) {
|
||||||
|
debugLog('W', "Tel/Fax $telFax incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1011');
|
||||||
|
}
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$rep = $iInsee->getEtablissementsParId('TEL', $telFax, $deb, $nbRep, $maxRep, 0, $actif);
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
foreach ($etabs as $nb=>$etab)
|
||||||
|
{
|
||||||
|
$item = new EntrepriseItem();
|
||||||
|
$item->id = $etab['id'];
|
||||||
|
$item->Pertinence = $etab['Pertinence'];
|
||||||
|
$item->Siret = $etab['Siret'];
|
||||||
|
$item->Siege = $etab['Siege'];
|
||||||
|
$item->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$item->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$item->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$item->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$item->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$item->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$item->CP = $etab['CP'];
|
||||||
|
$item->Ville = prepareString($etab['Ville']);
|
||||||
|
$item->Tel = $etab['Tel'];
|
||||||
|
$item->Fax = $etab['Fax'];
|
||||||
|
$item->FJ = $etab['FJ'];
|
||||||
|
$item->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$item->Siren = $etab['Siren'];
|
||||||
|
$item->Nic = $etab['Nic'];
|
||||||
|
$item->Actif = $etab['Actif'];
|
||||||
|
$item->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$item->NafEtabLib = prepareString($etab['NafEtabLib']); // Etablissement
|
||||||
|
$item->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$item->NafEntLib = prepareString($etab['NafEntLib']);
|
||||||
|
$tabRet[] = $item;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $rep['nbReponses'];
|
||||||
|
$output->nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$output->result = $tabRet;
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche entreprise par nom et adresse
|
||||||
|
* @param string $raisonSociale Raison Sociale ou Enseigne ou Sigle
|
||||||
|
* @param string $adresse Adresse de l'entreprise, du type : 3 rue des Plantes
|
||||||
|
* @param string $codePostal Code postal (ex: 75014)
|
||||||
|
* @param string $ville Ville
|
||||||
|
* @param boolean $siege Limitation de la recherche aux sièges (si true)
|
||||||
|
* @param integer $actif 0 : Filtre sur les inactfis, 1: Filtre sur les actifs, 2 : Tous (defaut)
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @param boolean $pertinence Recherche orthographique stricte sur le nom, l'adresse et la ville (si true)
|
||||||
|
* @param boolean $avecSiren Ne proposer que les entités sirénées
|
||||||
|
* @param string $ape_etab
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchNomAdr($raisonSociale, $adresse='', $codePostal='', $ville='', $siege=false, $actif=2, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false, $avecSiren=false, $ape_etab='')
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche Entreprise de $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if (empty($adresse)) $adresse = '';
|
||||||
|
if (empty($codePostal)) $codePostal = '';
|
||||||
|
if (empty($ville)) $ville = '';
|
||||||
|
if (empty($siege)) $siege = false;
|
||||||
|
if (!in_array($actif, array(0,1,2))) $actif = 2;
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($pertinence)) $pertinence = false;
|
||||||
|
if (empty($avecSiren)) $avecSiren = false;
|
||||||
|
if (empty($ape_etab)) $ape_etab = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$etabs = $iInsee->rechercheEtab($raisonSociale, $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren, $ape_etab);
|
||||||
|
|
||||||
|
$result = new SearchReturn();
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs['reponses'])) {
|
||||||
|
foreach ($etabs['reponses'] as $etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = strtr($etab['Nom'],'/*',' ');
|
||||||
|
$reponse->Nom2 = $etab['Nom2'];
|
||||||
|
$reponse->Sigle = $etab['Sigle'];
|
||||||
|
$reponse->Enseigne = $etab['Enseigne'];
|
||||||
|
$reponse->Adresse = $etab['Adresse'];
|
||||||
|
$reponse->Adresse2 = $etab['Adresse2'];
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = $etab['Ville'];
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = $iInsee->getLibelleFJ($etab['FJ']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $iInsee->getLibelleNaf($etab['NafEtab']); // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $iInsee->getLibelleNaf($etab['NafEnt']);
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fp=fopen(LOG_PATH.'/recherches.log','a');
|
||||||
|
|
||||||
|
$siretTrouve = 0;
|
||||||
|
if ($etabs['nbReponses']==0) {
|
||||||
|
|
||||||
|
$str="NbRep=0, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
fwrite($fp, $str.EOL);
|
||||||
|
fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : AUCUN RESULTAT, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = count($tabRet);
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($etabs['nbReponses']==1) $siretTrouve=$etabs['reponses'][0]['Siret'];
|
||||||
|
$str="NbRep=".$etabs['nbReponses'].", S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab, ($deb, $nbRep, $maxRep, $siege, $actif, $pertinence, $avecSiren), SiretTrouve=$siretTrouve";
|
||||||
|
fwrite($fp, $str.EOL);
|
||||||
|
fclose($fp);
|
||||||
|
debugLog('I', "rechercheEtab : ".$etabs['nbReponses']." RESULTATS, S=$raisonSociale, R=$adresse, L=$codePostal, V=$ville, A=$ape_etab ($siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
$result->nbReponses = $etabs['nbReponses'];
|
||||||
|
$result->nbReponsesTotal = $etabs['nbReponsesTotal'];
|
||||||
|
$result->result = $tabRet;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recherche d'entreprise ou d'établissement par leur identifiant SIREN ou SIRET
|
||||||
|
* @param string $siret Siren ou Siret de l'entreprise ou de l'établissement sur 9 ou 14 chiffres significatifs
|
||||||
|
* @param integer $dep Département
|
||||||
|
* @param integer $actif 0 : Filtre sur les inactfis, 1: Filtre sur les actifs, 2 : Tous (defaut)
|
||||||
|
* @param integer $siege 1 : Filtre au siege, 0 : Filtre aux établissements
|
||||||
|
* @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
|
||||||
|
* @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
|
||||||
|
* @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
|
||||||
|
* @return SearchReturn
|
||||||
|
*/
|
||||||
|
public function searchSiren($siret, $dep=0, $actif=2, $siege=null, $deb=0, $nbRep=20, $maxRep=200)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
debugLog('I',"Recherche par Siret de $siret (dep=$dep) avec un maximum de $maxRep réponses pour la tranche $deb à $nbRep",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
|
||||||
|
if ( strlen($siret)!=14 && strlen($siret)!=9 ){
|
||||||
|
debugLog('W', "Siren/Siret $siret incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($deb)) $deb = 0;
|
||||||
|
if (empty($nbRep)) $nbRep = 20;
|
||||||
|
if (empty($maxRep)) $maxRep = 200;
|
||||||
|
if (empty($dep)) $dep = 0;
|
||||||
|
|
||||||
|
if (!in_array($actif, array(0,1,2))) $actif = 2;
|
||||||
|
if ( $actif==2 ) $actif = -1;
|
||||||
|
|
||||||
|
$nbReponsesTotal = $nbReponses = 0;
|
||||||
|
|
||||||
|
$siren = substr($siret,0,9);
|
||||||
|
if (strlen($siret)==14) $nic = substr($siret,9,5);
|
||||||
|
elseif (strlen($siret)== 9) $nic = '';
|
||||||
|
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep, $dep, $actif, $siege);
|
||||||
|
if ( count($rep['reponses'])==0 && $dep>0 ) {
|
||||||
|
$rep = $iInsee->getEtablissements($siren, $nic, $deb, $nbRep, $maxRep, 0, $actif, $siege);
|
||||||
|
}
|
||||||
|
$etabs = $rep['reponses'];
|
||||||
|
$tabRet = array();
|
||||||
|
if (count($etabs)>0){
|
||||||
|
foreach ($etabs as $nb=>$etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString(strtr($etab['Nom'],'/*',' '));
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab']; // Etablissement
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib']; // Etablissement
|
||||||
|
$reponse->NafEnt = $etab['NafEnt']; // Entreprise
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
|
$nbReponses = $rep['nbReponses'];
|
||||||
|
|
||||||
|
if (count($tabRet)==0)
|
||||||
|
{
|
||||||
|
if ($siege===null || $actif==2)
|
||||||
|
{
|
||||||
|
/** Si le siren est valide, on part chez Infogreffe **/
|
||||||
|
if ($iInsee->valideSiren($siren)) {
|
||||||
|
$iGeffes = new MGreffes();
|
||||||
|
$etab = $iGeffes->getIdentite($siren);
|
||||||
|
if ($etab) {
|
||||||
|
$reponse = new EntrepriseItem();
|
||||||
|
$reponse->id = $etab['id'];
|
||||||
|
$reponse->Pertinence = $etab['Pertinence'];
|
||||||
|
$reponse->Siret = $etab['Siret'];
|
||||||
|
$reponse->Siege = $etab['Siege'];
|
||||||
|
$reponse->Nom = prepareString($etab['Nom']);
|
||||||
|
$reponse->Nom2 = prepareString($etab['Nom2']);
|
||||||
|
$reponse->Sigle = prepareString($etab['Sigle']);
|
||||||
|
$reponse->Enseigne = prepareString($etab['Enseigne']);
|
||||||
|
$reponse->Adresse = prepareString($etab['Adresse']);
|
||||||
|
$reponse->Adresse2 = prepareString($etab['Adresse2']);
|
||||||
|
$reponse->CP = $etab['CP'];
|
||||||
|
$reponse->Ville = prepareString($etab['Ville']);
|
||||||
|
$reponse->Tel = $etab['Tel'];
|
||||||
|
$reponse->Fax = $etab['Fax'];
|
||||||
|
$reponse->FJ = $etab['FJ'];
|
||||||
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
|
$reponse->Siren = $etab['Siren'];
|
||||||
|
$reponse->Nic = $etab['Nic'];
|
||||||
|
$reponse->Actif = $etab['Actif'];
|
||||||
|
$reponse->NafEtab = $etab['NafEtab'];
|
||||||
|
$reponse->NafEtabLib = $etab['NafEtabLib'];
|
||||||
|
$reponse->NafEnt = $etab['NafEnt'];
|
||||||
|
$reponse->NafEntLib = $etab['NafEntLib'];
|
||||||
|
|
||||||
|
$tabRet[] = $reponse;
|
||||||
|
$nbReponses = 1;
|
||||||
|
$nbReponsesTotal = 1;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$iDb = new WDB();
|
||||||
|
$iDb->insert('siren_inexistants', array(
|
||||||
|
'siren'=>$siren,
|
||||||
|
'nic'=>$nic,
|
||||||
|
'dep'=>$dep,
|
||||||
|
'login'=>$this->User->login,
|
||||||
|
'client'=>$this->User->idClient,
|
||||||
|
'dateInsert'=>date('YmdHis')));
|
||||||
|
$nbReponses = 0;
|
||||||
|
$nbReponsesTotal = 0;
|
||||||
|
$rep['info'] = 'Siren inexistant';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($iInsee->sirenExiste($siren) ) {
|
||||||
|
$info = 'Aucun ';
|
||||||
|
if ( $siege == 1 ) $info.= 'siege';
|
||||||
|
else $info.= 'etablissement';
|
||||||
|
|
||||||
|
if ( $actif == 0 ) $info.= ' inactif';
|
||||||
|
elseif ( $actif == 1) $info.= ' actif';
|
||||||
|
|
||||||
|
$rep['info'] = $info;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$rep['info'] = 'Siren inexistant';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = new SearchReturn();
|
||||||
|
$output->nbReponses = $nbReponses;
|
||||||
|
$output->nbReponsesTotal = $nbReponsesTotal;
|
||||||
|
$output->result = $tabRet;
|
||||||
|
$output->info = $rep['info'];
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne les liens financiers pour une entreprise.
|
||||||
|
* @param string $siren Siren de l'entreprise
|
||||||
|
* @return Actionnaire[]
|
||||||
|
*/
|
||||||
|
public function getLiens($siren)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
//Initialisation
|
||||||
|
$actifsUniquement = true;
|
||||||
|
|
||||||
|
$tabAct = $tabPar = array();
|
||||||
|
|
||||||
|
debugLog('I',"Liens entreprises demandés pour $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
if (strlen($siren)<>9){
|
||||||
|
debugLog('W', "Siren $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
} elseif ($siren*1==0) {
|
||||||
|
debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||||
|
$this->sendError('1010');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Actionnaires
|
||||||
|
require_once 'Metier/partenaires/classMLiens2.php';
|
||||||
|
$mLiens = new MLiens2($siren, 'siren');
|
||||||
|
$tabA = $mLiens->getActionnaires(null, $actifsUniquement);
|
||||||
|
$nbA = count($tabA);
|
||||||
|
$tabAct = array();
|
||||||
|
if ($nbA > 0) {
|
||||||
|
foreach ($tabA as $i => $lien) {
|
||||||
|
$sirenLien = str_pad($lien->siren, 9, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$actionnaire = new Actionnaire();
|
||||||
|
$actionnaire->Pmin = $lien->PDetention;
|
||||||
|
$actionnaire->MajMin = $lien->MajMin;
|
||||||
|
$actionnaire->RaisonSociale = $lien->RS;
|
||||||
|
if ($lien->PpPm=='PP') {
|
||||||
|
$actionnaire->RaisonSociale = $lien->civilite.' '.$lien->nom.' '.$lien->prenom;
|
||||||
|
}
|
||||||
|
|
||||||
|
$actionnaire->TypeEntrep = $lien->PpPm;
|
||||||
|
$actionnaire->Pays = $lien->adresse_pays;
|
||||||
|
$actionnaire->Siren = $sirenLien;
|
||||||
|
$actionnaire->Actif = 1;
|
||||||
|
$actionnaire->DateLien = $lien->dateEffetLien;
|
||||||
|
|
||||||
|
if ($item->dateUpdate=='0000-00-00 00:00:00'){
|
||||||
|
$actionnaire->DateMaj = substr($lien->dateInsert,0,10);
|
||||||
|
} else {
|
||||||
|
$actionnaire->DateMaj = substr($lien->dateUpdate,0,10);
|
||||||
|
}
|
||||||
|
|
||||||
|
$actionnaire->Identite = new ActionnaireIdentite();
|
||||||
|
if ( intval($sirenLien)>1000 ) {
|
||||||
|
$iInsee = new MInsee();
|
||||||
|
$identite = $iInsee->getIdentiteLight($sirenLien);
|
||||||
|
$actionnaire->Identite->Adresse = $identite['Adresse'];
|
||||||
|
$actionnaire->Identite->Adresse2 = $identite['Adresse2'];
|
||||||
|
$actionnaire->Identite->AdresseNum = $identite['AdresseNum'];
|
||||||
|
$actionnaire->Identite->AdresseBtq = $identite['AdresseBtq'];
|
||||||
|
$actionnaire->Identite->AdresseVoie = $identite['AdresseVoie'];
|
||||||
|
$actionnaire->Identite->CP = $identite['CP'];
|
||||||
|
$actionnaire->Identite->Ville = $identite['Ville'];
|
||||||
|
$actionnaire->Identite->DateCreaEn = $identite['DateCreaEn'];
|
||||||
|
$actionnaire->Identite->DateImmat = $identite['DateImmat'];
|
||||||
|
$actionnaire->Identite->FJ = $identite['FJ'];
|
||||||
|
$actionnaire->Identite->FJ_Lib = $identite['FJ_Lib'];
|
||||||
|
}
|
||||||
|
$tabAct[] = $actionnaire;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->wsLog('liens',$siren);
|
||||||
|
return $tabAct;
|
||||||
|
}
|
||||||
|
}
|
2881
library/WsScore/Entreprise/v0.2/Service.php
Normal file
2881
library/WsScore/Entreprise/v0.2/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3269
library/WsScore/Entreprise/v0.3/Service.php
Normal file
3269
library/WsScore/Entreprise/v0.3/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3307
library/WsScore/Entreprise/v0.4/Service.php
Normal file
3307
library/WsScore/Entreprise/v0.4/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3423
library/WsScore/Entreprise/v0.5/Service.php
Normal file
3423
library/WsScore/Entreprise/v0.5/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3503
library/WsScore/Entreprise/v0.6/Service.php
Normal file
3503
library/WsScore/Entreprise/v0.6/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
4224
library/WsScore/Entreprise/v0.7/Service.php
Normal file
4224
library/WsScore/Entreprise/v0.7/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
5393
library/WsScore/Entreprise/v0.8/Service.php
Normal file
5393
library/WsScore/Entreprise/v0.8/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
1075
library/WsScore/Gestion/v0.1/Service.php
Normal file
1075
library/WsScore/Gestion/v0.1/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
1300
library/WsScore/Gestion/v0.2/Service.php
Normal file
1300
library/WsScore/Gestion/v0.2/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
2114
library/WsScore/Gestion/v0.3/Service.php
Normal file
2114
library/WsScore/Gestion/v0.3/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
1260
library/WsScore/Gestion/v0.4/Service.php
Normal file
1260
library/WsScore/Gestion/v0.4/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
4217
library/WsScore/Interne/v0.2/Service.php
Normal file
4217
library/WsScore/Interne/v0.2/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3398
library/WsScore/Interne/v0.3/Service.php
Normal file
3398
library/WsScore/Interne/v0.3/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
3548
library/WsScore/Interne/v0.4/Service.php
Normal file
3548
library/WsScore/Interne/v0.4/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
2704
library/WsScore/Interne/v0.5/Service.php
Normal file
2704
library/WsScore/Interne/v0.5/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
2887
library/WsScore/Interne/v0.6/Service.php
Normal file
2887
library/WsScore/Interne/v0.6/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
440
library/WsScore/Order/v0.1/Service.php
Normal file
440
library/WsScore/Order/v0.1/Service.php
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
<?php
|
||||||
|
require_once __DIR__ . '/Types.php';
|
||||||
|
|
||||||
|
class Order extends Scores_Ws_Server
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Financial account : Place an order to have number enter in database
|
||||||
|
* @param string $siren
|
||||||
|
* @param string $date
|
||||||
|
* @param string $type N:Normal, S:Simplifié, C:Consolidé
|
||||||
|
* @param string $source
|
||||||
|
* @param integer $private
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function setBilanInput($siren, $date, $type, $source, $private = 0)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('UPLOADBILAN');
|
||||||
|
|
||||||
|
//Check siren
|
||||||
|
|
||||||
|
$refCommande = uniqid();
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
'refCommande' => $refCommande,
|
||||||
|
'siren' => $siren,
|
||||||
|
'userId' => $this->User->id,
|
||||||
|
'bilanConfidentiel' => $private,
|
||||||
|
'bilanSource' => $source,
|
||||||
|
'bilanCloture' => $date,
|
||||||
|
'bilanType' => $type,
|
||||||
|
'dateInsert' => date('YmdHis'),
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1OrderBilanInput();
|
||||||
|
$commandeM->insert($data);
|
||||||
|
return $refCommande;
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Financial account : Tag file is sent
|
||||||
|
* @param string $ref
|
||||||
|
* @param string $filename
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function setBilanInputFile($ref, $filename)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('UPLOADBILAN');
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
'bilanFileSent' => date('YmdHis'),
|
||||||
|
'bilanFile' => $filename,
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1OrderBilanInput();
|
||||||
|
$commandeM->update($data, 'refCommande="'.$ref.'"');
|
||||||
|
return true;
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient==1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste des commandes de saisie de bilan
|
||||||
|
* @param string $month
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return BilanInput[]
|
||||||
|
*/
|
||||||
|
public function getBilanInputList($month = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if ($month === null) {
|
||||||
|
$month = date('Y-m');
|
||||||
|
}
|
||||||
|
$dateStart = $month.'-01 00:00:00';
|
||||||
|
$dateEnd = $month.'-31 23:59:59';
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1OrderBilanInput();
|
||||||
|
$sql = $commandeM->select()->where('userId=?', $this->User->id);
|
||||||
|
$result = $commandeM->fetchAll($sql);
|
||||||
|
if (count($result) > 0) {
|
||||||
|
foreach($result as $item) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Siren = $item->siren;
|
||||||
|
$cmd->BilanFileRecv = $item->bilanFileRecv;
|
||||||
|
$cmd->BilanCloture = $item->bilanCloture;
|
||||||
|
$cmd->BilanType = $item->bilanType;
|
||||||
|
$cmd->ErreurDate = $item->erreurDate;
|
||||||
|
$cmd->ErreurLabel = $item->erreurTxt;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateSaisie = $item->dateSaisie;
|
||||||
|
$list[] = $cmd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détail d'un bilan en commande saisie
|
||||||
|
* @param string $ref
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return BilanInput|NULL
|
||||||
|
*/
|
||||||
|
protected function getBilanInputDetail($ref)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1OrderBilanInput();
|
||||||
|
$sql = $commandeM->select()->where('userId=?', $this->User->id)->where('refCommande=?', $ref);
|
||||||
|
$item = $commandeM->fetchRow($sql);
|
||||||
|
if ($item !== null) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Siren = $item->siren;
|
||||||
|
$cmd->BilanFileRecv = $item->bilanFileRecv;
|
||||||
|
$cmd->BilanCloture = $item->bilanCloture;
|
||||||
|
$cmd->BilanType = $item->bilanType;
|
||||||
|
$cmd->ErreurDate = $item->erreurDate;
|
||||||
|
$cmd->ErreurLabel = $item->erreurTxt;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateSaisie = $item->dateSaisie;
|
||||||
|
return $cmd;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste des commandes KBIS
|
||||||
|
* @param string $month
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return PieceKbis[]
|
||||||
|
*/
|
||||||
|
public function getKbisList($month = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if ($month === null) {
|
||||||
|
$month = date('Y-m');
|
||||||
|
}
|
||||||
|
$dateStart = $month.'-01 00:00:00';
|
||||||
|
$dateEnd = $month.'-31 23:59:59';
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesKb();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login);
|
||||||
|
$result = $commandeM->fetchAll($sql);
|
||||||
|
if (count($result) > 0) {
|
||||||
|
foreach($result as $item) {
|
||||||
|
$cmd = new PieceKbis();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
$list[] = $cmd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detail de la commande d'un KBIS
|
||||||
|
* @param unknown $ref
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return BilanInput|NULL
|
||||||
|
*/
|
||||||
|
protected function getKbisDetail($ref)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesKb();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login)->where('refCommande=?', $ref);
|
||||||
|
$item = $commandeM->fetchRow($sql);
|
||||||
|
if ($item !== null) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
return $cmd;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getKbisFile($ref)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
// --- Paramètres
|
||||||
|
$hostname = 'http://'.$_SERVER['SERVER_NAME'];
|
||||||
|
if ($_SERVER['SERVER_PORT']!='80'){
|
||||||
|
$hostname.= ':'.$_SERVER['SERVER_PORT'];
|
||||||
|
}
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$path = realpath($c->profil->path->secure).'/kbis';
|
||||||
|
$file = null;
|
||||||
|
|
||||||
|
// --- Lecture des informations de la commande
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesKb();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login)->where('refCommande=?', $ref);
|
||||||
|
$item = $commandeM->fetchRow($sql);
|
||||||
|
if ($item !== null) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
return $cmd;
|
||||||
|
}
|
||||||
|
} 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 getActeList($month = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if ($month === null) {
|
||||||
|
$month = date('Y-m');
|
||||||
|
}
|
||||||
|
$dateStart = $month.'-01 00:00:00';
|
||||||
|
$dateEnd = $month.'-31 23:59:59';
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesAc();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login);
|
||||||
|
$result = $commandeM->fetchAll($sql);
|
||||||
|
if (count($result) > 0) {
|
||||||
|
foreach($result as $item) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
|
||||||
|
//@todo : Génére le libellé du document
|
||||||
|
$cmd->DocDepotNum;
|
||||||
|
$cmd->DocDepotDate;
|
||||||
|
$cmd->DocActeNum;
|
||||||
|
$cmd->DocActeType;
|
||||||
|
$cmd->DocActeDate;
|
||||||
|
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
$list[] = $cmd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getActeDetail($ref){}
|
||||||
|
protected function getActeFile($ref){}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste des commandes de bilan infogreffe
|
||||||
|
* @param string $month
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return multitype:BilanInput
|
||||||
|
*/
|
||||||
|
protected function getBilanList($month = null)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
if ($month === null) {
|
||||||
|
$month = date('Y-m');
|
||||||
|
}
|
||||||
|
$dateStart = $month.'-01 00:00:00';
|
||||||
|
$dateEnd = $month.'-31 23:59:59';
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesBi();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login);
|
||||||
|
$result = $commandeM->fetchAll($sql);
|
||||||
|
if (count($result) > 0) {
|
||||||
|
foreach($result as $item) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
$cmd->DocBilanCloture = $item->bilanCloture;
|
||||||
|
$cmd->DocBilanType = $item->bilanType;
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
$list[] = $cmd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détail de la commande de bilan Infogreffe
|
||||||
|
* @param unknown $ref
|
||||||
|
* @throws SoapFault
|
||||||
|
* @return BilanInput|NULL
|
||||||
|
*/
|
||||||
|
protected function getBilanDetail($ref)
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$commandeM = new Application_Model_Sdv1GreffeCommandesKb();
|
||||||
|
$sql = $commandeM->select()->where('login=?', $this->User->login)->where('refCommande=?', $ref);
|
||||||
|
$item = $commandeM->fetchRow($sql);
|
||||||
|
if ($item !== null) {
|
||||||
|
$cmd = new BilanInput();
|
||||||
|
$cmd->Reference = $item->refCommande;
|
||||||
|
$cmd->Mode = $item->mode;
|
||||||
|
$cmd->Error = $item->cmdError;
|
||||||
|
$cmd->DocBilanCloture = $item->bilanCloture;
|
||||||
|
$cmd->DocBilanType = $item->bilanType;
|
||||||
|
$cmd->CompanyName = $item->raisonSociale;
|
||||||
|
$cmd->CompanySiren = $item->siren;
|
||||||
|
$cmd->DateInsert = $item->dateInsert;
|
||||||
|
$cmd->DateEnvoi = $item->dateEnvoi;
|
||||||
|
return $cmd;
|
||||||
|
}
|
||||||
|
} catch (Zend_Db_Exception $e) {
|
||||||
|
if ($this->User->idClient == 1) {
|
||||||
|
throw new SoapFault('ERR', $e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw new SoapFault('ERR', "Application error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getBilanFile($ref){}
|
||||||
|
|
||||||
|
protected function setInvestigation()
|
||||||
|
{
|
||||||
|
$this->authenticate();
|
||||||
|
$this->permission('enquetec');
|
||||||
|
|
||||||
|
//Table pour le stockage des demandes d'investigation
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
1092
library/WsScore/Pieces/v0.1/Service.php
Normal file
1092
library/WsScore/Pieces/v0.1/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
1184
library/WsScore/Saisie/v0.1/Service.php
Normal file
1184
library/WsScore/Saisie/v0.1/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
2813
library/WsScore/Saisie/v0.2/Service.php
Normal file
2813
library/WsScore/Saisie/v0.2/Service.php
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user