Recherche Actionnaire
This commit is contained in:
parent
8ac334561e
commit
f6d5f8232c
@ -493,10 +493,8 @@ class WsEntreprise {
|
||||
|
||||
/** Recherche d'entreprise par leur actionnaire
|
||||
**
|
||||
** @param string $nom Nom de l'actionnaire (obligatoire)
|
||||
** @param string $prenom Prénom de l'actionnaire
|
||||
** @param date $dateNaiss Date de naissance de la SSAA-MM-JJ, SSAA-MM ou SSAA
|
||||
** @param string $lieuNaiss Lieu de naissance (CP, Ville ou Pays)
|
||||
** @param string $nom Raison sociale / Nom de l'actionnaire (obligatoire)
|
||||
** @param string $cpVille CP, Ville
|
||||
** @param integer $siren Siren de l'actionnaire
|
||||
** @param string $pays Pays de l'actionnaire
|
||||
** @param string $pctMin Niveau de détention Minimam de l'actionnaire
|
||||
@ -507,49 +505,56 @@ class WsEntreprise {
|
||||
** @param bool $pertinence Recherche orthographique stricte sur les noms et prénoms (si true)
|
||||
** @return Liste des entreprises trouvées
|
||||
**/
|
||||
function searchAct($nom, $prenom='', $dateNaiss='', $lieuNaiss='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) {
|
||||
debugLog('I',"Recherche Actionnaire de $nom, $prenom, $dateNaiss, $lieuNaiss (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||
$mLiens=new MLiens();
|
||||
$etabs=$mLiens->rechercheActionnaire($nom, $prenom, $dateNaiss, $lieuNaiss, $siren, $pays, $pctMin, $pctMax, $deb, $nbRep, $maxRep, $pertinence);
|
||||
function searchAct($nom, $cpVille='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) {
|
||||
debugLog('I',"Recherche Actionnaire de $nom, $cpVille (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||
|
||||
//$etabs=$this->iInsee->rechercheDir($nom, $prenom, /*$fonction=*/'', $dateNaiss, $lieuNaiss, $deb, $nbRep, $maxRep, $pertinence);
|
||||
if (!empty($pays)){
|
||||
$wdb = new WDB('jo');
|
||||
$result = $wdb->select('tabPays', 'codPays3', "libPays LIKE '".$pays);
|
||||
if (count($result>0)){
|
||||
$pays = $result[0]['codPays3'];
|
||||
} else {
|
||||
$pays = '';
|
||||
}
|
||||
}
|
||||
|
||||
$mLiens = new MLiens('');
|
||||
$etabs = $mLiens->rechercheActionnaire($nom, $cpVille, $siren, $pays, $pctMin, $pctMax, $deb, $nbRep, $maxRep, $pertinence);
|
||||
|
||||
$tabRet2=array();
|
||||
foreach ($etabs['reponses'] as $etab)
|
||||
$tabRet2[]=array( 'id'=>$etab['id'],
|
||||
'Pertinence'=>$etab['Pertinence'],
|
||||
'Siret'=>$etab['Siret'],
|
||||
'Siege'=>$etab['Siege'],
|
||||
'Nom'=>prepareString(strtr($etab['Nom'],'/*',' ')),
|
||||
'Nom2'=>prepareString($etab['Nom2']),
|
||||
'Sigle'=>prepareString($etab['Sigle']),
|
||||
'Enseigne'=>prepareString($etab['Enseigne']),
|
||||
'Adresse'=>prepareString($etab['Adresse']),
|
||||
'Adresse2'=>prepareString($etab['Adresse2']),
|
||||
'CP'=>$etab['CP'],
|
||||
'Ville'=>prepareString($etab['Ville']),
|
||||
'Tel'=>$etab['Tel'],
|
||||
'Fax'=>$etab['Fax'],
|
||||
'FJ'=>$etab['FJ'],
|
||||
'FJLib'=>prepareString($this->iInsee->getLibelleFJ($etab['FJ'])),
|
||||
'Siren'=>$etab['Siren'],
|
||||
'Nic'=>$etab['Nic'],
|
||||
'Actif'=>$etab['Actif'],
|
||||
'NafEtab'=>$etab['NafEtab'], // Etablissement
|
||||
'NafEtabLib'=>prepareString($this->iInsee->getLibelleNaf($etab['NafEtab'])), // Etablissement
|
||||
'NafEnt'=>$etab['NafEnt'], // Entreprise
|
||||
'NafEntLib'=>prepareString($this->iInsee->getLibelleNaf($etab['NafEnt'])),
|
||||
|
||||
// Dirigeant
|
||||
'DirRs'=>prepareString($etab['DirRs']),
|
||||
'DirNom'=>prepareString($etab['DirNom']),
|
||||
'DirPrenom'=>prepareString($etab['DirPrenom']),
|
||||
'DirNomUsage'=>prepareString($etab['DirNomUsage']),
|
||||
'DirDateEffet'=>$etab['DirDateEffet'],
|
||||
'DirFonction'=>prepareString($etab['DirFonction']),
|
||||
'DirDepart'=>$etab['DirDepart'],
|
||||
);
|
||||
$tabRet=$etabs;
|
||||
$tabRet2[]=array(
|
||||
'id'=>$etab['id'],
|
||||
'Pertinence'=>$etab['Pertinence'],
|
||||
'Siret'=>$etab['Siret'],
|
||||
'Siege'=>$etab['Siege'],
|
||||
'Nom'=>prepareString(strtr($etab['Nom'],'/*',' ')),
|
||||
'Nom2'=>prepareString($etab['Nom2']),
|
||||
'Sigle'=>prepareString($etab['Sigle']),
|
||||
'Enseigne'=>prepareString($etab['Enseigne']),
|
||||
'Adresse'=>prepareString($etab['Adresse']),
|
||||
'Adresse2'=>prepareString($etab['Adresse2']),
|
||||
'CP'=>$etab['CP'],
|
||||
'Ville'=>prepareString($etab['Ville']),
|
||||
'Tel'=>$etab['Tel'],
|
||||
'Fax'=>$etab['Fax'],
|
||||
'FJ'=>$etab['FJ'],
|
||||
'FJLib'=>prepareString($this->iInsee->getLibelleFJ($etab['FJ'])),
|
||||
'Siren'=>$etab['Siren'],
|
||||
'Nic'=>$etab['Nic'],
|
||||
'Actif'=>$etab['Actif'],
|
||||
'NafEtab'=>$etab['NafEtab'], // Etablissement
|
||||
'NafEtabLib'=>prepareString($this->iInsee->getLibelleNaf($etab['NafEtab'])), // Etablissement
|
||||
'NafEnt'=>$etab['NafEnt'], // Entreprise
|
||||
'NafEntLib'=>prepareString($this->iInsee->getLibelleNaf($etab['NafEnt'])),
|
||||
|
||||
'ActNomRs' => $etab['ActNomRs'],
|
||||
'ActPays' => $etab['ActPays'],
|
||||
'ActDateLien' => $etab['ActDateLien'],
|
||||
'ActActif' => $etab['ActActif'],
|
||||
'ActPmin' => $etab['ActPmin'],
|
||||
);
|
||||
$tabRet = $etabs;
|
||||
$tabRet['reponses']=$tabRet2;
|
||||
|
||||
if ($tabRet['nbReponses']==0) {
|
||||
|
@ -706,10 +706,8 @@ class MLiens {
|
||||
|
||||
/** Recherche d'entreprise par leur actionnaire
|
||||
**
|
||||
** @param string $nom Nom de l'actionnaire (obligatoire)
|
||||
** @param string $prenom Prénom de l'actionnaire
|
||||
** @param date $dateNaiss Date de naissance de la SSAA-MM-JJ, SSAA-MM ou SSAA
|
||||
** @param string $lieuNaiss Lieu de naissance (CP, Ville ou Pays)
|
||||
** @param string $nom Raison sociale / Nom de l'actionnaire (obligatoire)
|
||||
** @param string $cpVille CP, Ville
|
||||
** @param integer $siren Siren de l'actionnaire
|
||||
** @param string $pays Pays de l'actionnaire
|
||||
** @param string $detention Niveau de détention de l'actionnaire
|
||||
@ -719,32 +717,18 @@ class MLiens {
|
||||
** @param bool $pertinence Recherche orthographique stricte sur les noms et prénoms (si true)
|
||||
** @return Liste des entreprises trouvées
|
||||
**/
|
||||
public function rechercheActionnaire($nom, $prenom='', $dateNaiss='', $villeNaiss='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) {
|
||||
debugLog('I',"rechercheActionnaire de $nom, $prenom, $fonction, $dateNaiss, $villeNaiss, $pays, $siren entre $pctMin et $pctMax% (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||
$jour=$mois=$annee='';
|
||||
if ($dateNaiss<>'' && $dateNaiss<>'//' && $dateNaiss<>'0/0/0') {
|
||||
$tabDateNaiss=explode('/', $dateNaiss);
|
||||
|
||||
$jour=$tabDateNaiss[0]*1;
|
||||
if ($jour<1 || $$jour>31) $jour='';
|
||||
|
||||
$mois =$tabDateNaiss[1]*1;
|
||||
if ($mois<1 || $mois>12) $mois='';
|
||||
|
||||
$annee=$tabDateNaiss[2]*1;
|
||||
if ($annee>0 && $annee<100) $annee=('19'.$annee)*1;
|
||||
if ($annee<1800 || $annee>date('Y')*1) $annee='';
|
||||
}
|
||||
$formR=array('type' => 'act',
|
||||
'nom' => $nom,
|
||||
'prenom' => $prenom,
|
||||
'dirDateNaissAAAA' => $annee,
|
||||
'dirDateNaissMM' => $mois,
|
||||
'dirDateNaissJJ' => $jour,
|
||||
// 'departement' => 'D',
|
||||
'cpVille' => $villeNaiss,
|
||||
);
|
||||
return rechercheDir($formR, $deb, $nbRep, $maxRep);
|
||||
public function rechercheActionnaire($nom, $cpVille='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
|
||||
{
|
||||
debugLog('I',"rechercheActionnaire de $nom, $cpVille, $pays, $siren entre $pctMin et $pctMax% (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||
$formR = array(
|
||||
'type' => 'act',
|
||||
'siren' => $siren,
|
||||
'actNomRs' => join(' ', array($nom, $cpVille)),
|
||||
'pays' => $pays,
|
||||
'pctMin' => $pctMin,
|
||||
'pctMax' => $pctMax,
|
||||
);
|
||||
return rechercheAct($formR, $deb, $nbRep, $maxRep);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -529,7 +529,7 @@ function initSphinx(&$sphinx, $mode, $pass, $deb, $nbRep, $max)
|
||||
debugln();
|
||||
$sphinx->SetMatchMode($mode);
|
||||
$sphinx->resetFilters();
|
||||
$sphinx->SetLimits(intval($deb), $nbRep, $max);
|
||||
$sphinx->SetLimits(intval($deb), intval($nbRep), intval($max));
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
@ -764,6 +764,14 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
$ret['reponses'][$i]['DirDateEffet'] = '';
|
||||
$ret['reponses'][$i]['DirFonction'] = $ligneDir[$i]['fonction_lib'];
|
||||
$ret['reponses'][$i]['DirDepart'] = '';
|
||||
}
|
||||
if ($formR['type'] == 'act') {
|
||||
// Actionnaire
|
||||
$ret['reponses'][$i]['ActNomRs'] = $ligneDir[$i]['ActNomRs'];
|
||||
$ret['reponses'][$i]['ActPays'] = $ligneDir[$i]['ActPays'];
|
||||
$ret['reponses'][$i]['ActDateLien'] = $ligneDir[$i]['ActDateLien'];
|
||||
$ret['reponses'][$i]['ActActif'] = $ligneDir[$i]['ActActif'];
|
||||
$ret['reponses'][$i]['ActPmin'] = $ligneDir[$i]['ActPmin'];
|
||||
}
|
||||
}
|
||||
if ($formR['type'] == 'dir') {
|
||||
@ -791,6 +799,25 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
debugln('erreur '.$ligneDir[$i]['id'].' non trouve');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($formR['type'] == 'act') {
|
||||
for (; $i < count($ligneDir); ++$i) {
|
||||
debugln($ligneDir[$i]['id'].' ==> '.$i);
|
||||
for ($j = $i - 1; $j >= 0; --$j) {
|
||||
if ($ret['reponses'][$j]['id'] == $ligneDir[$i]['id']) {
|
||||
$ret['reponses'][$i] = $ret['reponses'][$j];
|
||||
$ret['reponses'][$i]['ActNomRs'] = $ligneDir[$i]['ActNomRs'];
|
||||
$ret['reponses'][$i]['ActPays'] = $ligneDir[$i]['ActPays'];
|
||||
$ret['reponses'][$i]['ActDateLien'] = $ligneDir[$i]['ActDateLien'];
|
||||
$ret['reponses'][$i]['ActActif'] = $ligneDir[$i]['ActActif'];
|
||||
$ret['reponses'][$i]['ActPmin'] = $ligneDir[$i]['ActPmin'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($j < 0) {
|
||||
debugln('erreur '.$ligneDir[$i]['id'].' non trouve');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($formR['type'] == 'ent') {
|
||||
$ret['pass'] = $resSphinx['pass'];
|
||||
@ -959,158 +986,92 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Recherche par actionnaire
|
||||
// --------------------------------------------------------------------------- //
|
||||
function rechercheAct(&$formR, $deb, $nbRep, $max)
|
||||
|
||||
function constructRequete($formR, $sphinxCriteres)
|
||||
{
|
||||
foreach($sphinxCriteres as $name => $critere) {
|
||||
if ($name == 'Req') {
|
||||
$requete .= $formR[$critere];
|
||||
}
|
||||
if ($name[0] == '@') {
|
||||
if(!empty($formR[$critere]))
|
||||
$parametres .= ' '.$name.' '.$formR[$critere];
|
||||
}
|
||||
}
|
||||
echo $sphinxRequete = '"'.$requete.'" '.$parametres;
|
||||
return ($sphinxRequete);
|
||||
}
|
||||
|
||||
function rechercheAct($formR, $deb, $nbRep, $max)
|
||||
{
|
||||
global $gDatabaseJO;
|
||||
|
||||
// Duree totale
|
||||
$total_time = 0;
|
||||
|
||||
|
||||
$sphinx = clientSphinx($formR);
|
||||
if ($sphinx == false) {
|
||||
return array('nbReponses' => 0,
|
||||
'nbReponsesTotal' => 0,
|
||||
'duree' => $total_time,
|
||||
'erreur' => 'Formulaire vide');
|
||||
}
|
||||
/*
|
||||
id, Siren1, RaisonSociale, Siren2,
|
||||
actif, dateLien, as dateMaj,
|
||||
source, PminNum, MajMin, PpPm, Pays
|
||||
*/
|
||||
$criteresSphinx = array('nom' => '@nom',
|
||||
//'prenom' => '@prenom',
|
||||
//'ville' => '@naissance_lieu'
|
||||
);
|
||||
|
||||
$form2crit = array('nom' => 'N',
|
||||
'prenom' => 'P',
|
||||
'dirDateNaissAAAA' => 'A',
|
||||
'dirDateNaissMM' => 'M',
|
||||
'dirDateNaissJJ' => 'J',
|
||||
'departement' => 'D',
|
||||
'ville' => 'V');
|
||||
|
||||
$index = 'dir';
|
||||
$mode = SPH_MATCH_EXTENDED2;
|
||||
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'actif DESC');
|
||||
|
||||
$index = 'act';
|
||||
$mode = 'SPH_MATCH_EXTENDED2';
|
||||
$pass = 0;
|
||||
$criteres = 'NPAMJDV';
|
||||
initSphinx($sphinx, $mode, $pass, $deb, $nbRep, $max);
|
||||
|
||||
$Criteres = array('Siren2' => 'siren',
|
||||
'Req' => 'actNomRS',
|
||||
'@Pays' => 'pays',
|
||||
'PminNum' => 'pctMax'
|
||||
);
|
||||
$form2crit = array('actNomRS' => 'N',
|
||||
'pays' => 'P',
|
||||
'pctMax' => 'M'
|
||||
);
|
||||
|
||||
$Requete = constructRequete($formR, $Criteres);
|
||||
if(!empty($formR['pctMin']))
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMin'], 99);
|
||||
if(!empty($formR['pctMax']))
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMin'], 99);
|
||||
if(!empty($formR['pctMin']) and !empty($formR['pctMax']))
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMix'], $formR['pctMax']);
|
||||
|
||||
|
||||
while (empty($criteres) == false) {
|
||||
debugln("criteres: $criteres");
|
||||
filtreDateNaiss($formR, $criteres, $sphinx);
|
||||
filtreAdresse($formR, $criteres, $sphinx);
|
||||
$requete_sphinx = '';
|
||||
foreach ($formR as $label => $valeur) {
|
||||
if (empty($valeur) == false &&
|
||||
isset($criteresSphinx[$label]) == true &&
|
||||
strstr($criteres, $form2crit[$label]) != false) {
|
||||
if ($label == 'prenom') {
|
||||
$requete_sphinx .= $criteresSphinx[$label].
|
||||
' "'.$valeur.'"/1 ';
|
||||
} else {
|
||||
$requete_sphinx .= $criteresSphinx[$label].' '.$valeur.' ';
|
||||
}
|
||||
}
|
||||
}
|
||||
debugln("requete='$requete_sphinx'");
|
||||
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'actif DESC');
|
||||
$resSphinx = $sphinx->Query($requete_sphinx, $index);
|
||||
if ($resSphinx != false) {
|
||||
$total_time += $resSphinx['time'];
|
||||
}
|
||||
if ($resSphinx != false && $resSphinx['total'] > 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
$criteres = criteresDir($criteres, $index);
|
||||
$sphinx->resetFilters();
|
||||
}
|
||||
|
||||
afficheStatusSphinx($sphinx, $resSphinx);
|
||||
if ($resSphinx == false) {
|
||||
return array('nbReponses' => 0,
|
||||
'nbReponsesTotal' => 0,
|
||||
'duree' => $total_time,
|
||||
'erreur' => $sphinx->GetLastError(),
|
||||
'criteres' => $criteres);
|
||||
}
|
||||
if ($resSphinx['total'] == 0) {
|
||||
return array('nbReponses' => 0,
|
||||
'nbReponsesTotal' => 0,
|
||||
'duree' => $total_time,
|
||||
'criteres' => $criteres);
|
||||
}
|
||||
|
||||
if (DEBUG) {
|
||||
$base2form = array('adr_dep' => 'departement',
|
||||
'nom' => 'nom',
|
||||
'prenom' => 'prenom',
|
||||
'naissance_nom' => 'nom',
|
||||
'naissance_date' => 'dirDateNaissAAAA',
|
||||
'naissance_lieu' => 'ville');
|
||||
afficheDB($resSphinx, $formR, $form2crit, 'dirigeants', $base2form,
|
||||
$deb, $nbRep);
|
||||
}
|
||||
|
||||
// Recherche des sieges
|
||||
if ($gDatabaseJO == false) {
|
||||
return array('nbReponses' => 0,
|
||||
'nbReponsesTotal' => $resSphinx['total'],
|
||||
'duree' => $total_time,
|
||||
'erreur' => 'Base inaccessible');
|
||||
}
|
||||
|
||||
if (isset($resSphinx['matches']) == false) {
|
||||
return array('nbReponses' => 0,
|
||||
'nbReponsesTotal' => $resSphinx['total'],
|
||||
'duree' => $total_time,
|
||||
'erreur' => 'Aucun résultat');
|
||||
}
|
||||
|
||||
$requeteDB =
|
||||
'select e.id, d.nom, d.prenom, l.libelle AS fonction_lib '.
|
||||
// d.rs, d.nomUsage, d.naissance_date, d.naissance_lieu,
|
||||
' from dirigeants d, etablissements e, bodacc_fonctions l'.
|
||||
' where d.siren=e.siren and d.fonction_code=l.codeFct AND e.siege=1 and (d.id='.
|
||||
$resSphinx['matches'][0]['id'];
|
||||
for ($i = 1; $i + $deb < $resSphinx['total'] && $i < $nbRep; ++$i) {
|
||||
$requeteDB .= ' or d.id='.$resSphinx['matches'][$i]['id'];
|
||||
}
|
||||
$requeteDB .= ')';
|
||||
$requeteDB .= ' GROUP BY d.siren, d.id';
|
||||
$requeteDB .= ' ORDER BY e.rang DESC, e.actif DESC, e.siege DESC, e.id ASC';
|
||||
debugln();
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
$resDB = $gDatabaseJO->query($requeteDB);
|
||||
|
||||
// Reponse
|
||||
$ligneDir = array();
|
||||
$ligne = $resDB->fetch_assoc();
|
||||
$requeteDB = 'select id, CONCAT(siren,nic) AS siret, siren, nic, siege, '.
|
||||
'raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, '.
|
||||
'adr_comp, adr_cp, adr_ville, tel, fax, cj, actif, ape_etab, '.
|
||||
'ape_entrep from etablissements where id='.$ligne['id'];
|
||||
$ligneDir[0] = array('id' => $ligne['id'],
|
||||
'nom' => $ligne['nom'],
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib']);
|
||||
for ($i = 1; $i < $resDB->num_rows; ++$i) {
|
||||
$ligne = $resDB->fetch_assoc();
|
||||
$requeteDB .= ' or id='.$ligne['id'];
|
||||
$ligneDir[$i] = array('id' => $ligne['id'],
|
||||
'nom' => $ligne['nom'],
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib']);
|
||||
}
|
||||
$requeteDB .= ' ORDER BY rang DESC, actif DESC, siege DESC, id ASC';
|
||||
debugln();
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
$resDB = $gDatabaseJO->query($requeteDB);
|
||||
|
||||
return reponse($resSphinx, $resDB, $criteres, $total_time, $formR,
|
||||
$form2crit, $deb, $ligneDir);
|
||||
$sphinxreturn = $sphinx->Query($Requete, $index);
|
||||
$criteres = 'NPM';
|
||||
$requette = 'SELECT l.id AS lienId, l.actif AS lienActif, l.source, l.Pmin, l.PpPm, l.id2, l.Siren2, l.RaisonSociale, l.Pays, l.dateLien, e.id, CONCAT( siren, nic ) AS siret, siren, nic, siege, e.raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, tel, fax, cj, e.actif, ape_etab, ape_entrep FROM liens l, etablissements e WHERE l.Siren1 = e.siren AND e.siege = 1 AND (';
|
||||
$i = 0;
|
||||
foreach($sphinxreturn['matches'] as $id => $element) {
|
||||
if($i == 0)
|
||||
$requette.= ' l.id='.$element['id'];
|
||||
else
|
||||
$requette.= ' OR l.id='.$element['id'];
|
||||
$i++;
|
||||
}
|
||||
$requette.= ') GROUP BY l.Siren1, l.id ORDER BY e.rang DESC, e.actif DESC, e.siege DESC, e.id ASC';
|
||||
$req = $gDatabaseJO->query($requette);
|
||||
|
||||
//$requette2 = 'SELECT * FROM etablissements WHERE';
|
||||
$requette2 = 'select id, CONCAT(siren,nic) AS siret, siren, nic, siege, '.
|
||||
'raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, '.
|
||||
'adr_comp, adr_cp, adr_ville, tel, fax, cj, actif, ape_etab, '.
|
||||
'ape_entrep from etablissements where';
|
||||
for($i = 0; $i < $req->num_rows; $i++) {
|
||||
$ligne = $req->fetch_assoc();
|
||||
$ligneAct[$i] = array(
|
||||
'ActNomRs' => $ligne['RaisonSociale'],
|
||||
'ActPays' => $ligne['Pays'],
|
||||
'ActDateLien' => $ligne['dateLien'],
|
||||
'ActActif' => $ligne['actif'],
|
||||
'ActPmin' => $ligne['Pmin'],
|
||||
);
|
||||
if($i == 0){
|
||||
$requette2.= ' id='.$ligne['id'];
|
||||
} else {
|
||||
$requette2.= ' OR id='.$ligne['id'];
|
||||
}
|
||||
}
|
||||
$requette2 .= ' ORDER BY rang DESC, actif DESC, siege DESC, id ASC';
|
||||
|
||||
$req = $gDatabaseJO->query($requette2);
|
||||
|
||||
return reponse($sphinxreturn, $req, $criteres, $sphinxreturn['time'], $formR, $form2crit, $deb, $ligneAct);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
@ -1577,4 +1538,4 @@ function recherche(&$formR, $deb = 0, $nbRep = 20, $max = 1000)
|
||||
'erreur' => 'Type de recherche inconnu');
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
Loading…
Reference in New Issue
Block a user