Correction traitement filtre siege

This commit is contained in:
Michael RICOIS 2013-01-04 17:15:00 +00:00
parent 8dac441775
commit 8ace51d39f

View File

@ -97,7 +97,7 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx)
if (empty($formR['cpVille']) == true) {
return;
}
$adressePostale = $formR['cpVille'];
//If we have a CEDEX
if (preg_match('/^[0-9]{5}\s(.*)\sCEDEX/i', $adressePostale, $codePostaux)) {
@ -125,7 +125,7 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx)
$formR['ville'] = str_replace($codePostaux[0], '', $adressePostale);
$dep = intval(substr($codePostaux[0], 0, 2));
//Monaco
if ($codePostaux[0] == '98000') {
$formR['departement'] = 99;
@ -144,14 +144,14 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx)
|| preg_match('/([0-9]{3})/', $adressePostale, $departements))
{
$departement = $departements[1];
if ($departement == '2A'){
$departement = 201;
}
if ($departement == '2B' ) {
$departement = 202;
}
if (strstr($criteres, 'D') != false) {
debugln("filtre adr_dep='$departement'");
$sphinx->SetFilter('adr_dep', array($departement));
@ -268,7 +268,7 @@ function filtreActif(&$formR, &$criteres, &$sphinx)
//Filtre sur les sieges
function filtreSiege(&$formR, &$criteres, &$sphinx)
{
if ( array_key_exists('siege', $formR) && $formR['siege']===true ) {
if ( array_key_exists('siege', $formR) && $formR['siege']==1 ) {
$sphinx->setFilter('siege', array(1));
}
}
@ -283,15 +283,15 @@ function filtreSiege(&$formR, &$criteres, &$sphinx)
function premiereRequeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
&$criteresSphinx, &$form2crit, $sirenValide)
{
filtreSiege($formR, $criteres, $sphinx);
filtreActif($formR, $criteres, $sphinx);
filtreSiret ($formR, $criteres, $sphinx);
filtreAdresse($formR, $criteres, $sphinx);
filtreNumero ($formR, $criteres, $sphinx);
filtreSiege ($formR, $criteres, $sphinx);
filtreActif ($formR, $criteres, $sphinx);
filtreSiret ($formR, $criteres, $sphinx);
filtreAdresse ($formR, $criteres, $sphinx);
filtreNumero ($formR, $criteres, $sphinx);
if ($sirenValide == true) {
$sphinx->SetFilter('sirenValide', array(1));
}
$requete_sphinx = '';
foreach ($formR as $label => $valeur) {
@ -331,11 +331,11 @@ function requeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
&$criteresSphinx, &$form2crit, $quorum_actif, $quorum,
$sirenValide)
{
filtreSiege($formR, $criteres, $sphinx);
filtreActif($formR, $criteres, $sphinx);
filtreSiret ($formR, $criteres, $sphinx);
filtreAdresse($formR, $criteres, $sphinx);
filtreNumero ($formR, $criteres, $sphinx);
filtreSiege ($formR, $criteres, $sphinx);
filtreActif ($formR, $criteres, $sphinx);
filtreSiret ($formR, $criteres, $sphinx);
filtreAdresse ($formR, $criteres, $sphinx);
filtreNumero ($formR, $criteres, $sphinx);
if ($sirenValide == true) {
$sphinx->SetFilter('sirenValide', array(1));
}
@ -732,16 +732,16 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
$pertinence_generale = intval($pertinence_generale);
//print 'Pertinence generale: '.$pertinence_generale.'<br/>';
}
if ( is_object($resDB) ) {
$resDB->data_seek(0);
for ($i = 0; $i < $resDB->num_rows; $i++) {
$ligne = $resDB->fetch_assoc();
//file_put_contents('test.log', "\n".'i = '.$i.print_r($ligne,1), FILE_APPEND);
$ret['reponses'][$i]['id'] = $ligne['id'];
$pertinence = $pertinence_generale;
if ($formR['type'] == 'ent') {
@ -777,7 +777,7 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
$ret['reponses'][$i]['Actif'] = $ligne['actif'];
$ret['reponses'][$i]['NafEtab'] = $ligne['ape_etab'];
$ret['reponses'][$i]['NafEnt'] = $ligne['ape_entrep'];
if ($formR['type']=='dir') {
// Dirigeant
$ret['reponses'][$i]['DirRs'] = '';
@ -799,7 +799,7 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
}
}
}
if ($formR['type'] == 'ent') {
$ret['pass'] = $resSphinx['pass'];
}
@ -935,17 +935,17 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
$requeteDB .= ")";
//file_put_contents('test.log', $requeteDB);
debugln();
debugln("requeteDB='$requeteDB'");
$resDB = $gDatabaseJO->query($requeteDB);
// Reponse
$ligneDir = array();
for ($i = 0; $i < $resDB->num_rows; $i++) {
$ligne = $resDB->fetch_assoc();
$nom = $ligne['nom'];
if ( $ligne['naissance_nom']!='' ) {
$nom.= " nom d'usage ".$ligne['naissance_nom'];
@ -960,7 +960,7 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
'naissance_lieu'=> $ligne['naissance_lieu']
);
}
debugln();
debugln("requeteDB='$requeteDB'");
@ -1090,7 +1090,7 @@ function rechercheAct($formR, $deb, $nbRep, $max)
$req = $gDatabaseJO->query($requette);
/*$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, '.
@ -1226,8 +1226,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
$criteres = 'ITSEPDLVNR';
}
$total_premiere_requete = $resSphinx['total'];
if ($total_premiere_requete == 0 ||
$total_premiere_requete > 500) { // "huit a huit" donne 414
$index = 'ent_mns';
@ -1280,6 +1280,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
}
while ($pass > 0) {
filtreActif($formR, $criteres, $sphinx);
filtreSiege($formR, $criteres, $sphinx);
// Requete Sphinx
$resSphinx = requeteSphinx($sphinx, $index, $formR, $criteres,
$criteresSphinx, $form2crit,