issue #0001467 : Nouveaux paramètres et correction pour les filtres SIEGE et ACTIF
This commit is contained in:
parent
8d63f63448
commit
39059dadf1
@ -1488,59 +1488,60 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
|||||||
* @param int $maxRep
|
* @param int $maxRep
|
||||||
* @param int $dep
|
* @param int $dep
|
||||||
* @param int $actif
|
* @param int $actif
|
||||||
|
* @param int $siege
|
||||||
*/
|
*/
|
||||||
public function getEtablissements($siren, $nic='', $deb=0, $nbRep=20, $maxRep=200, $dep=0, $actif=-1)
|
public function getEtablissements($siren, $nic='', $deb=0, $nbRep=20, $maxRep=200, $dep=0, $actif=-1, $siege=null)
|
||||||
{
|
{
|
||||||
$this->setTabCodesNaf();
|
$this->setTabCodesNaf();
|
||||||
$deb=$deb*1;
|
$deb=$deb*1;
|
||||||
$dep=$dep*1;
|
$dep=$dep*1;
|
||||||
$nbRep=$nbRep*1;
|
$nbRep=$nbRep*1;
|
||||||
$limit="LIMIT $deb, $nbRep";
|
|
||||||
$strInfo = '';
|
$strInfo = '';
|
||||||
|
|
||||||
|
$limit="LIMIT $deb, $nbRep";
|
||||||
|
|
||||||
|
$sqlInfo="'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||||||
|
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||||||
|
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
||||||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre";
|
||||||
|
|
||||||
$strActif='';
|
$strActif='';
|
||||||
if (intval($actif)==1) $strActif=' AND e.actif=1 ';
|
if (intval($actif)==1) $strActif=' AND e.actif=1 ';
|
||||||
elseif (intval($actif)==0) $strActif=' AND e.actif=0 ';
|
elseif (intval($actif)==0) $strActif=' AND e.actif=0 ';
|
||||||
|
|
||||||
|
$strSiege='';
|
||||||
|
if ($siege===null) $strSiege='';
|
||||||
|
elseif ($siege==1) $strSiege=' AND e.siege=1 ';
|
||||||
|
elseif ($siege==0) $strSiege=' AND e.siege=0 ';
|
||||||
|
|
||||||
if ($dep>0 && $dep<99999) {
|
if ($dep>0 && $dep<99999) {
|
||||||
|
|
||||||
if ($dep<96) $strDep='AND adr_cp BETWEEN '.$dep.'000 AND '.$dep.'999';
|
if ($dep<96) $strDep='AND adr_cp BETWEEN '.$dep.'000 AND '.$dep.'999';
|
||||||
elseif ($dep>9999) $strDep="AND adr_cp BETWEEN $dep AND $dep";
|
elseif ($dep>9999) $strDep="AND adr_cp BETWEEN $dep AND $dep";
|
||||||
else $strDep='AND adr_cp BETWEEN '.$dep.'00 AND '.$dep.'99';
|
else $strDep='AND adr_cp BETWEEN '.$dep.'00 AND '.$dep.'99';
|
||||||
|
|
||||||
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren $strDep $strActif");
|
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren $strDep $strActif $strSiege");
|
||||||
$nbTot=$tabTmp[0][0];
|
$nbTot=$tabTmp[0][0];
|
||||||
|
|
||||||
$listeEtab=$this->iDb->select('etablissements e',
|
$listeEtab=$this->iDb->select('etablissements e', $sqlInfo,
|
||||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
"siren=$siren $strDep $strActif $strSiege ORDER BY e.siege , e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
|
||||||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
|
||||||
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|
||||||
"siren=$siren $strDep $strActif ORDER BY e.siege , e.actif DESC $limit", false, MYSQL_ASSOC);
|
|
||||||
|
|
||||||
} elseif ($nic=='') {
|
} elseif ($nic=='') {
|
||||||
|
|
||||||
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren $strActif");
|
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren $strActif $strSiege");
|
||||||
$nbTot=$tabTmp[0][0];
|
$nbTot=$tabTmp[0][0];
|
||||||
|
|
||||||
$listeEtab=$this->iDb->select('etablissements e',
|
$listeEtab=$this->iDb->select('etablissements e', $sqlInfo,
|
||||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
"e.siren=$siren $strActif $strSiege ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
|
||||||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
|
||||||
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|
||||||
"e.siren=$siren $strActif ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren AND (nic=$nic OR siege=1) $strActif");
|
$tabTmp=$this->iDb->select('etablissements e', 'count(*)', "siren=$siren AND (nic=$nic OR siege=1) $strActif $strSiege");
|
||||||
$nbTot=$tabTmp[0][0];
|
$nbTot=$tabTmp[0][0];
|
||||||
|
|
||||||
$listeEtab=$this->iDb->select('etablissements e',
|
$listeEtab=$this->iDb->select('etablissements e', $sqlInfo,
|
||||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
"siren=$siren AND (nic=$nic OR siege=1) $strActif $strSiege ORDER BY e.siege , e.actif DESC $limit", false, MYSQL_ASSOC);
|
||||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
|
||||||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
|
||||||
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|
||||||
"siren=$siren AND (nic=$nic OR siege=1) $strActif ORDER BY e.siege , e.actif DESC $limit", false, MYSQL_ASSOC);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1552,8 +1553,7 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
|||||||
$listeSiren=array();
|
$listeSiren=array();
|
||||||
foreach ($liste as $s) {
|
foreach ($liste as $s) {
|
||||||
if (sommeDeControle($s) != 0) {
|
if (sommeDeControle($s) != 0) {
|
||||||
print 'erreur somme de controle sur '.$s.
|
//print 'erreur somme de controle sur '.$s.' ('.sommeDeControle($s).')<br/>';
|
||||||
' ('.sommeDeControle($s).')<br/>';
|
|
||||||
} else {
|
} else {
|
||||||
$listeSiren[]=$s;
|
$listeSiren[]=$s;
|
||||||
}
|
}
|
||||||
@ -1561,11 +1561,7 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
|||||||
$strSiren=implode(',',$listeSiren);
|
$strSiren=implode(',',$listeSiren);
|
||||||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren IN ($strSiren) AND siege=1");
|
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren IN ($strSiren) AND siege=1");
|
||||||
$nbTot=$tabTmp[0][0];
|
$nbTot=$tabTmp[0][0];
|
||||||
$listeEtab=$this->iDb->select('etablissements e',
|
$listeEtab=$this->iDb->select('etablissements e', $sqlInfo,
|
||||||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
|
||||||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
|
||||||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
|
|
||||||
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|
||||||
"siren IN ($strSiren) AND siege=1 ORDER BY e.rang DESC, e.actif DESC, e.nic ASC $limit", true, MYSQL_ASSOC);
|
"siren IN ($strSiren) AND siege=1 ORDER BY e.rang DESC, e.actif DESC, e.nic ASC $limit", true, MYSQL_ASSOC);
|
||||||
$strInfo='Siren saisi invalide';
|
$strInfo='Siren saisi invalide';
|
||||||
}
|
}
|
||||||
|
@ -4,13 +4,6 @@ require_once realpath(dirname(__FILE__)).'/Types.php';
|
|||||||
|
|
||||||
class Entreprise extends WsScore
|
class Entreprise extends WsScore
|
||||||
{
|
{
|
||||||
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é
|
* Retourne les informations identitaires de l'entreprise ou de l'établissement demandé
|
||||||
@ -576,8 +569,12 @@ class Entreprise extends WsScore
|
|||||||
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
$nbReponsesTotal = $rep['nbReponsesTotal'];
|
||||||
$nbReponses = $rep['nbReponses'];
|
$nbReponses = $rep['nbReponses'];
|
||||||
|
|
||||||
|
if (count($tabRet)==0)
|
||||||
|
{
|
||||||
|
if ($siege===null || $actif==2)
|
||||||
|
{
|
||||||
/** Si le siren est valide, on part chez Infogreffe **/
|
/** Si le siren est valide, on part chez Infogreffe **/
|
||||||
if (count($tabRet)==0 && $iInsee->valideSiren($siren)) {
|
if ($iInsee->valideSiren($siren)) {
|
||||||
$iGeffes = new MGreffes();
|
$iGeffes = new MGreffes();
|
||||||
$etab = $iGeffes->getIdentite($siren);
|
$etab = $iGeffes->getIdentite($siren);
|
||||||
if ($etab) {
|
if ($etab) {
|
||||||
@ -597,7 +594,7 @@ class Entreprise extends WsScore
|
|||||||
$reponse->Tel = $etab['Tel'];
|
$reponse->Tel = $etab['Tel'];
|
||||||
$reponse->Fax = $etab['Fax'];
|
$reponse->Fax = $etab['Fax'];
|
||||||
$reponse->FJ = $etab['FJ'];
|
$reponse->FJ = $etab['FJ'];
|
||||||
$reponse->FJLib = utf8_encode(prepareString(utf8_decode($etab['FJLib'])));
|
$reponse->FJLib = prepareString($etab['FJLib']);
|
||||||
$reponse->Siren = $etab['Siren'];
|
$reponse->Siren = $etab['Siren'];
|
||||||
$reponse->Nic = $etab['Nic'];
|
$reponse->Nic = $etab['Nic'];
|
||||||
$reponse->Actif = $etab['Actif'];
|
$reponse->Actif = $etab['Actif'];
|
||||||
@ -624,6 +621,22 @@ class Entreprise extends WsScore
|
|||||||
$rep['info'] = 'Siren inexistant';
|
$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 = new SearchReturn();
|
||||||
$output->nbReponses = $nbReponses;
|
$output->nbReponses = $nbReponses;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user