Mise à jour de la classe RNVP
This commit is contained in:
parent
03c6a7f37f
commit
a73f9c7b05
@ -3,12 +3,31 @@ class MRnvp
|
|||||||
{
|
{
|
||||||
protected $iDb;
|
protected $iDb;
|
||||||
protected $iInsee;
|
protected $iInsee;
|
||||||
|
|
||||||
public $tabDevises=array();
|
public $tabDevises=array();
|
||||||
public $nomTronque=0;
|
public $nomTronque=0;
|
||||||
|
|
||||||
function __construct()
|
protected $tabAdrCQ=array(
|
||||||
{
|
10=>'Adresse correcte',
|
||||||
|
20=>'Adresse correcte (Voie non reconue dans un CEDEX ou BP)',
|
||||||
|
21=>'Adresse correcte mais numéro de facade hors borne (petite ville)',
|
||||||
|
22=>'Adresse correcte mais numéro de facade absent (petite ville)',
|
||||||
|
23=>'Adresse correcte mais numéro de facade hors borne (grande ville)',
|
||||||
|
24=>'Adresse correcte mais numéro de facade absent (grande ville)',
|
||||||
|
30=>'Voie non reconnue (petite ville)',
|
||||||
|
31=>'Voie non reconnue (petite ville, quartier reconnu)',
|
||||||
|
40=>'Voie absente (petite ville, quartier reconnu)',
|
||||||
|
41=>'Voie absente (petite ville)',
|
||||||
|
50=>'Voie non reconnue (grande ville)',
|
||||||
|
51=>'Voie non reconnue (grande ville, quartier reconnu)',
|
||||||
|
60=>'Voie absente (grande ville, quartier reconnu)',
|
||||||
|
61=>'Voie absente (grande ville)',
|
||||||
|
70=>'Voie présente mais Cp/Ville non corrigeable',
|
||||||
|
80=>'Voie absente et Cp/Ville non corrigeable',
|
||||||
|
90=>'Adresse à l\'étranger',
|
||||||
|
);
|
||||||
|
|
||||||
|
function __construct() {
|
||||||
$this->iDb = new WDB();
|
$this->iDb = new WDB();
|
||||||
$this->iInsee = new MInsee($this->iDb);
|
$this->iInsee = new MInsee($this->iDb);
|
||||||
}
|
}
|
||||||
@ -23,10 +42,10 @@ class MRnvp
|
|||||||
$tabDevises=array();
|
$tabDevises=array();
|
||||||
foreach($rep as $k=>$dev)
|
foreach($rep as $k=>$dev)
|
||||||
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
|
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
|
||||||
|
|
||||||
return $tabDevises;
|
return $tabDevises;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupération du code ISO de la devise numérique de l'Inpi
|
* Récupération du code ISO de la devise numérique de l'Inpi
|
||||||
* @param integer $numDeviseInpi
|
* @param integer $numDeviseInpi
|
||||||
@ -39,7 +58,7 @@ class MRnvp
|
|||||||
else
|
else
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
|
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
|
||||||
* @todo Ligne 3, acheter HEXALIGNE3
|
* @todo Ligne 3, acheter HEXALIGNE3
|
||||||
@ -83,19 +102,26 @@ class MRnvp
|
|||||||
|
|
||||||
// Ligne 3, acheter HEXALIGNE3
|
// Ligne 3, acheter HEXALIGNE3
|
||||||
$L3=$adrL3;
|
$L3=$adrL3;
|
||||||
|
|
||||||
// Ligne 5 et 7 par défaut
|
// Ligne 5 et 7 par défaut
|
||||||
$L7=$adrL7;
|
$L7=$adrL7;
|
||||||
$L5=$adrL5;
|
$L5=$adrL5;
|
||||||
|
|
||||||
// Ligne 6 : CP + Localité
|
// Ligne 6 : CP + Localité
|
||||||
$idAdr56=false;
|
$idAdr56=false;
|
||||||
$tabAdr56k=$tabAdr56L=array();
|
$tabAdr56k=$tabAdr56L=array();
|
||||||
$cp=substr(trim($adrL6),0,5);
|
$cp=substr(trim($adrL6),0,5);
|
||||||
$cp2=substr($cp,0,2);
|
if ($cp*1>0) {
|
||||||
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
$cp2=substr($cp,0,2);
|
||||||
|
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||||
|
} else {
|
||||||
|
$cp=$cp2='';
|
||||||
|
$ville=trim(strtr($adrL6,array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||||
|
}
|
||||||
|
|
||||||
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
|
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
|
||||||
$tabRetI=array(
|
$tabRetI=array(
|
||||||
|
'operateurRnvp'=>'SED',
|
||||||
'in_cp'=>$cp,
|
'in_cp'=>$cp,
|
||||||
'in_dep'=>$cp2,
|
'in_dep'=>$cp2,
|
||||||
'in_ville'=>$ville,
|
'in_ville'=>$ville,
|
||||||
@ -107,7 +133,7 @@ class MRnvp
|
|||||||
'in_L6'=>$adrL6,
|
'in_L6'=>$adrL6,
|
||||||
'in_L7'=>$adrL7);
|
'in_L7'=>$adrL7);
|
||||||
//$dureeM=round(microtime(1)-$tDeb,3);
|
//$dureeM=round(microtime(1)-$tDeb,3);
|
||||||
|
|
||||||
$tD=microtime(1);
|
$tD=microtime(1);
|
||||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||||
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
|
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
|
||||||
@ -117,8 +143,7 @@ class MRnvp
|
|||||||
$tabRetE=array(
|
$tabRetE=array(
|
||||||
'dureeV'=> round(microtime(1)-$tD,3),
|
'dureeV'=> round(microtime(1)-$tD,3),
|
||||||
'errRNVPcode'=>'V0',
|
'errRNVPcode'=>'V0',
|
||||||
'errRNVPlib'=>'Aucune correspondance CP VILLE'
|
'errRNVPlib'=> "Aucune correspondance CP VILLE (cp=$cp, ville=$ville)");
|
||||||
);
|
|
||||||
$erreur=true;
|
$erreur=true;
|
||||||
} else {
|
} else {
|
||||||
foreach($ret as $i=>$iRet) {
|
foreach($ret as $i=>$iRet) {
|
||||||
@ -194,7 +219,7 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($erreur) return array_merge($tabRetI,$tabRetE);
|
if ($erreur) return array_merge($tabRetI,$tabRetE);
|
||||||
|
|
||||||
// Ligne 4 : Découpage N° Répétition TypeVoie et LibelléVoie
|
// Ligne 4 : Découpage N° Répétition TypeVoie et LibelléVoie
|
||||||
$tD=microtime(1);
|
$tD=microtime(1);
|
||||||
$matriculeHexavia=false;
|
$matriculeHexavia=false;
|
||||||
@ -258,9 +283,9 @@ class MRnvp
|
|||||||
if ($iRet['score']>17 && isset($ret[$i+1]) && $iRet['score']>$ret[$i+1]['score']) break;
|
if ($iRet['score']>17 && isset($ret[$i+1]) && $iRet['score']>$ret[$i+1]['score']) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$dureeR=round(microtime(1)-$tD,3);
|
$dureeR=round(microtime(1)-$tD,3);
|
||||||
|
|
||||||
if (!$matriculeHexavia) {
|
if (!$matriculeHexavia) {
|
||||||
if ($debug) print_r($ret);
|
if ($debug) print_r($ret);
|
||||||
if ($debug) echo ("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
|
if ($debug) echo ("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
|
||||||
@ -268,13 +293,13 @@ class MRnvp
|
|||||||
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||||
'errRNVPcode'=>'R2',
|
'errRNVPcode'=>'R2',
|
||||||
'errRNVPlib'=>"Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56')");
|
'errRNVPlib'=>"Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56')");
|
||||||
|
|
||||||
return array_merge($tabRetI,$tabRetV,$tabRetE);
|
return array_merge($tabRetI,$tabRetV,$tabRetE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$matriculeHexavia && @strlen($L4)==0) $L4=$adrL4;
|
if (!$matriculeHexavia && @strlen($L4)==0) $L4=$adrL4;
|
||||||
|
|
||||||
$tD=microtime(1);
|
$tD=microtime(1);
|
||||||
$tabLen=$tabMaxLen=array();
|
$tabLen=$tabMaxLen=array();
|
||||||
$tabLen[1]=strlen($L1);
|
$tabLen[1]=strlen($L1);
|
||||||
@ -317,7 +342,7 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$dureeN=round(microtime(1)-$tD,3);
|
$dureeN=round(microtime(1)-$tD,3);
|
||||||
|
|
||||||
$tabRetR = array(
|
$tabRetR = array(
|
||||||
'L1'=>$L1,
|
'L1'=>$L1,
|
||||||
'L2'=>$L2,
|
'L2'=>$L2,
|
||||||
@ -338,12 +363,12 @@ class MRnvp
|
|||||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||||
'dureeM'=>$dureeM*1.0,
|
'dureeM'=>$dureeM*1.0,
|
||||||
);
|
);
|
||||||
|
|
||||||
$tabRet = array_merge($tabRetI,$tabRetV,$tabRetR,$tabRetE);
|
$tabRet = array_merge($tabRetI,$tabRetV,$tabRetR,$tabRetE);
|
||||||
|
|
||||||
return $tabRet;
|
return $tabRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Retourne le tableau des abbréviations existantes par type d'abréviation
|
/** Retourne le tableau des abbréviations existantes par type d'abréviation
|
||||||
*/
|
*/
|
||||||
function getAbreviations($typeAbrev)
|
function getAbreviations($typeAbrev)
|
||||||
@ -377,12 +402,12 @@ class MRnvp
|
|||||||
//print_r($tabRet);die();
|
//print_r($tabRet);die();
|
||||||
return $tabRet;
|
return $tabRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Normalise une raison sociale ou un nom
|
/** Normalise une raison sociale ou un nom
|
||||||
**/
|
**/
|
||||||
function normaliseRS($nomLong, $taille=38, $debug=false)
|
function normaliseRS($nomLong, $taille=38, $debug=false)
|
||||||
{
|
{
|
||||||
$nomCourt=preg_replace('/[^A-Z0-9%\'\"\-&\*\/\s]/','',trim(strtoupper($nomLong)));
|
$nomCourt=preg_replace('/[^A-Z0-9%@&\'\(\)\"\-\*\/\s\+]/','',trim(strtoupper($nomLong)));
|
||||||
$tabMots=split("[^[:alpha:]]+", $nomCourt);
|
$tabMots=split("[^[:alpha:]]+", $nomCourt);
|
||||||
$passage=0;
|
$passage=0;
|
||||||
$this->nomTronque=0;
|
$this->nomTronque=0;
|
||||||
@ -399,7 +424,7 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
if ($debug) echo "1-Voies=$nomCourt".EOL;
|
if ($debug) echo "1-Voies=$nomCourt".EOL;
|
||||||
if (strlen($nomCourt)<=$taille) break;
|
if (strlen($nomCourt)<=$taille) break;
|
||||||
|
|
||||||
//print_r($tabMots);
|
//print_r($tabMots);
|
||||||
// 2. Remplacement des Titres par leurs abréviation
|
// 2. Remplacement des Titres par leurs abréviation
|
||||||
$tabTmp=$this->getAbreviations('T');
|
$tabTmp=$this->getAbreviations('T');
|
||||||
@ -412,14 +437,14 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
if ($debug) echo "2a-Titres=$nomCourt".EOL;
|
if ($debug) echo "2a-Titres=$nomCourt".EOL;
|
||||||
if (strlen($nomCourt)<=$taille) break;
|
if (strlen($nomCourt)<=$taille) break;
|
||||||
|
|
||||||
// 2. Remplacement des Formes Juridiques
|
// 2. Remplacement des Formes Juridiques
|
||||||
$tabTmp=$this->getAbreviations('J');
|
$tabTmp=$this->getAbreviations('J');
|
||||||
foreach ($tabTmp as $lib=>$abr)
|
foreach ($tabTmp as $lib=>$abr)
|
||||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||||
if ($debug) echo "2b-FJ=$nomCourt".EOL;
|
if ($debug) echo "2b-FJ=$nomCourt".EOL;
|
||||||
if (strlen($nomCourt)<=$taille) break;
|
if (strlen($nomCourt)<=$taille) break;
|
||||||
|
|
||||||
// 4. Suppression des articles
|
// 4. Suppression des articles
|
||||||
$tabTmp=$this->getAbreviations('A');
|
$tabTmp=$this->getAbreviations('A');
|
||||||
foreach ($tabTmp as $lib=>$abr) {
|
foreach ($tabTmp as $lib=>$abr) {
|
||||||
@ -451,10 +476,10 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
if ($debug) echo "5-Autres Noms=$nomCourt".EOL;
|
if ($debug) echo "5-Autres Noms=$nomCourt".EOL;
|
||||||
if (strlen($nomCourt)<=$taille) break;
|
if (strlen($nomCourt)<=$taille) break;
|
||||||
|
|
||||||
$nomCourt=substr($nomCourt,0,$taille);
|
$nomCourt=substr($nomCourt,0,$taille);
|
||||||
$this->nomTronque=1;
|
$this->nomTronque=1;
|
||||||
|
|
||||||
//die($nomCourt);
|
//die($nomCourt);
|
||||||
/** @todo A finir
|
/** @todo A finir
|
||||||
Tronquer ou abréger dans cette ordre
|
Tronquer ou abréger dans cette ordre
|
||||||
@ -465,21 +490,21 @@ class MRnvp
|
|||||||
- tronquer à 4 caractères les types de voie non normalisés
|
- tronquer à 4 caractères les types de voie non normalisés
|
||||||
- tronquer les extensions de voie
|
- tronquer les extensions de voie
|
||||||
- réduire le nom de la voie en supprimant les mots de la gauche vers la droite
|
- réduire le nom de la voie en supprimant les mots de la gauche vers la droite
|
||||||
|
|
||||||
Gérer les pluriels pour les voies, nom, titres, et formes juridiques
|
Gérer les pluriels pour les voies, nom, titres, et formes juridiques
|
||||||
**/
|
**/
|
||||||
$passage++;
|
$passage++;
|
||||||
}
|
}
|
||||||
return $nomCourt;
|
return $nomCourt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Code Insee de la commune libCom32 Libellé de la commune (Ancienne norme 32) libCom38 Libellé
|
// Code Insee de la commune libCom32 Libellé de la commune (Ancienne norme 32) libCom38 Libellé
|
||||||
function getLibCommune($codeInsee, $norme=38) {
|
function getLibCommune($codeInsee, $norme=38) {
|
||||||
if ($norme<>32 && $norme<>38) {
|
if ($norme<>32 && $norme<>38) {
|
||||||
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.EOL;
|
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||||
"libCom32 , libCom38",
|
"libCom32 , libCom38",
|
||||||
"codeInseeCom='$codeInsee' LIMIT 0,1",false, MYSQL_ASSOC);
|
"codeInseeCom='$codeInsee' LIMIT 0,1",false, MYSQL_ASSOC);
|
||||||
@ -496,6 +521,16 @@ class MRnvp
|
|||||||
else return $ret[0]['libCom38'];
|
else return $ret[0]['libCom38'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCPCommune($codeInsee)
|
||||||
|
{
|
||||||
|
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||||
|
"codePostal",
|
||||||
|
"codeInseeCom='$codeInsee' GROUP BY codePostal",false, MYSQL_ASSOC);
|
||||||
|
$nbRet=count($ret);
|
||||||
|
if ($nbRet==1) return $ret[0]['codePostal'];
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function getCodCommune($libelleCommune, $depOuCp='', $debug=false)
|
function getCodCommune($libelleCommune, $depOuCp='', $debug=false)
|
||||||
{
|
{
|
||||||
$norme=38;
|
$norme=38;
|
||||||
@ -529,10 +564,32 @@ class MRnvp
|
|||||||
}
|
}
|
||||||
return $codeCommune;
|
return $codeCommune;
|
||||||
}
|
}
|
||||||
|
|
||||||
function normaliseAdresse76310($L1,$L2,$L3,$L4,$L5,$L6,$L7='') {
|
function normaliseAdresse76310($L1,$L2,$L3,$L4,$L5,$L6,$L7='')
|
||||||
//ini_set('soap.wsdl_cache_enabled', 0);
|
{
|
||||||
$client = new SoapClient('http://www.rnvp-en-ligne.com/service.asmx?wsdl');
|
$tDeb=microtime(1);
|
||||||
|
$tabRetR=$tabRetE=array();
|
||||||
|
|
||||||
|
$cp=substr(trim($L6),0,5);
|
||||||
|
$cp2=substr($cp,0,2);
|
||||||
|
$ville=trim(strtr(substr($L6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||||
|
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
|
||||||
|
$tabRetI=array( 'operateurRnvp'=>'76310WEB',
|
||||||
|
'in_cp'=>$cp,
|
||||||
|
'in_dep'=>$cp2,
|
||||||
|
'in_ville'=>$ville,
|
||||||
|
'in_L1'=>trim($L1),
|
||||||
|
'in_L2'=>trim($L2),
|
||||||
|
'in_L3'=>trim($L3),
|
||||||
|
'in_L4'=>trim($L4),
|
||||||
|
'in_L5'=>trim($L5),
|
||||||
|
'in_L6'=>trim($L6),
|
||||||
|
'in_L7'=>trim($L7));
|
||||||
|
|
||||||
|
//$client = new SoapClient('http://www.rnvp-en-ligne.com/service.asmx?wsdl');
|
||||||
|
$client = new SoapClient('http://www.rnvp-en-ligne.com/service_v5.asmx?wsdl');
|
||||||
|
$nbEssais=1;
|
||||||
|
|
||||||
$array = array (
|
$array = array (
|
||||||
'pi_session' => '-1',
|
'pi_session' => '-1',
|
||||||
'pi_user' => 'SDPROD',
|
'pi_user' => 'SDPROD',
|
||||||
@ -550,21 +607,109 @@ class MRnvp
|
|||||||
'pio_cpville' => utf8_encode($L6), // Ligne 6
|
'pio_cpville' => utf8_encode($L6), // Ligne 6
|
||||||
'pio_pays' => utf8_encode($L7), // Ligne 7
|
'pio_pays' => utf8_encode($L7), // Ligne 7
|
||||||
/* 'po_tnp' => '',
|
/* 'po_tnp' => '',
|
||||||
'po_sex' => '',
|
'po_sex' => '',
|
||||||
'po_civlong' => '',
|
'po_civlong' => '',
|
||||||
'po_cp' => '',
|
'po_cp' => '',
|
||||||
'po_ville' => '',
|
'po_ville' => '',
|
||||||
'po_insee' => '',
|
'po_insee' => '',
|
||||||
'po_cqtnp' => '',
|
'po_cqtnp' => '',
|
||||||
'po_cqadrs' => '',
|
'po_cqadrs' => '',
|
||||||
'po_risquerestru' => '',
|
'po_risquerestru' => '',
|
||||||
'po_poidsmodif' => '',
|
'po_poidsmodif' => '',
|
||||||
'po_rejet' => '',
|
'po_rejet' => '',
|
||||||
'po_etranger' => ''*/
|
'po_etranger' => ''*/
|
||||||
);
|
);
|
||||||
$result = $client->Elfyweb_RNVP_Standard($array);
|
while(1) {
|
||||||
return ($result);
|
try {
|
||||||
|
//$result = $client->Elfyweb_RNVP_Standard($array);
|
||||||
|
$result = $client->Elfyweb_RNVP_Expert_V50($array);
|
||||||
|
//print_r($result);
|
||||||
|
$tabRetR=array( 'L1'=>$L1,
|
||||||
|
'L2'=>$L2,
|
||||||
|
'L3'=>strtoupper(utf8_decode($result->pio_cadrs)),
|
||||||
|
'L4'=>strtoupper(utf8_decode($result->pio_adresse)),
|
||||||
|
'L5'=>strtoupper(utf8_decode($result->pio_lieudit)),
|
||||||
|
'L6'=>strtoupper(utf8_decode($result->pio_cpville)),
|
||||||
|
/* [po_risquerestru] => 0
|
||||||
|
[po_poidsmodif] => 0
|
||||||
|
[po_rejet] =>
|
||||||
|
[po_etranger] =>*/
|
||||||
|
'Cp'=>$result->po_cp,
|
||||||
|
'Ville'=>$result->po_ville,
|
||||||
|
'Insee'=>$result->po_insee,
|
||||||
|
/*'CQadrs'=>$result->po_cqadrs,
|
||||||
|
'CQadrsLib'=>$this->tabAdrCQ[$result->po_cqadrs],
|
||||||
|
'CQAdrRnvp'=>$this->getLibQualiteAdresse76310($result->po_cqadrs, $result->rejet),*/
|
||||||
|
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||||
|
);
|
||||||
|
if (@$result->pio_pays<>'FRA') $tabRet['L7']=$result->pio_pays;
|
||||||
|
break;
|
||||||
|
} catch (SoapFault $fault) {
|
||||||
|
$nbEssais++;
|
||||||
|
if ($nbEssai<5) continue;
|
||||||
|
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||||
|
'errRNVPcode'=>'S0',
|
||||||
|
'errRNVPlib'=>"Erreur SOAP : ".print_r($fault,1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$tabRet=array_merge($tabRetI,$tabRetR,$tabRetE);
|
||||||
|
return $tabRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLibQualiteAdresse76310($cqadrs, $correctionDouteuse)
|
||||||
|
{
|
||||||
|
switch ($cqadrs*1) {
|
||||||
|
case 10: // Adresse correcte
|
||||||
|
case 20: // Adresse correcte (Voie non reconue dans un CEDEX ou BP)
|
||||||
|
case 21: // Adresse correcte mais numéro de facade hors borne (petite ville)
|
||||||
|
case 22: // Adresse correcte mais numéro de facade absent (petite ville)
|
||||||
|
case 23: // Adresse correcte mais numéro de facade hors borne (grande ville)
|
||||||
|
case 24: // Adresse correcte mais numéro de facade absent (grande ville)
|
||||||
|
$cqRnvpSed=1;
|
||||||
|
break;
|
||||||
|
case 31: // Voie non reconnue (petite ville, quartier reconnu)
|
||||||
|
case 51: // Voie non reconnue (grande ville, quartier reconnu)
|
||||||
|
$cqRnvpSed=2;
|
||||||
|
break;
|
||||||
|
case 30: // Voie non reconnue (petite ville)
|
||||||
|
case 50: // Voie non reconnue (grande ville)
|
||||||
|
$cqRnvpSed=3;
|
||||||
|
break;
|
||||||
|
case 40: // Voie absente (petite ville, quartier reconnu)
|
||||||
|
case 41: // Voie absente (petite ville)
|
||||||
|
case 60: // Voie absente (grande ville, quartier reconnu)
|
||||||
|
case 61: // Voie absente (grande ville)
|
||||||
|
$cqRnvpSed=4;
|
||||||
|
break;
|
||||||
|
case 70: // Voie présente mais Cp/Ville non corrigeable
|
||||||
|
case 80: // Voie absente et Cp/Ville non corrigeable
|
||||||
|
$cqRnvpSed=5;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$cqRnvpSed=0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($correctionDouteuse=='D') $cqRnvpSed=0;
|
||||||
|
return $cqRnvpSed;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getAdresseRnvpSource($source, $source_id, $num=0)
|
||||||
|
{
|
||||||
|
$ret=$this->iDb->select(
|
||||||
|
'villes.rnvpSources',
|
||||||
|
'id, source, source_id, num, L1rnvp, L2rnvp, L3rnvp, L4rnvp, L5rnvp, L6rnvp, L7rnvp, Pays, dateInsert,
|
||||||
|
operateurRnvp, dateEnvoiRnvp, dateRetourRnvp, codeRetour, NumVoie, BisTer, TypeVoieCourt, TypeVoieLong, LibVoie,
|
||||||
|
Cp, Ville, Insee, CQadrs, CorrectionImportante, CorrectionDouteuse, HexaCle, CQL3, InseeGlobal, OldInsee,
|
||||||
|
IsInseeReconstitue, NumDept, IdHexavia, IdHexaposte, Iris_Rivoli, Iris_Ilot99, Iris_CodeIris, Iris_Canton,
|
||||||
|
Iris_Zus, Iris_Zfu, CqIris, dateUpdate',
|
||||||
|
"source=$source AND source_id=$source_id AND num=$num LIMIT 0,1",false, MYSQL_ASSOC);
|
||||||
|
$tabRet=$ret[0];
|
||||||
|
$tabRet['CQadrsLib']=$this->tabAdrCQ[$tabRet['CQadrs']];
|
||||||
|
|
||||||
|
$tabRet['CQAdrRnvp']=$this->getLibQualiteAdresse76310($tabRet['CQadrs'], $tabRet['CorrectionDouteuse']);
|
||||||
|
|
||||||
|
return $tabRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
Loading…
Reference in New Issue
Block a user