Merge des modifications de l'ancien webservice

This commit is contained in:
Michael RICOIS 2012-02-28 11:38:36 +00:00
parent b5a86ee8a3
commit 2bc565a5b0
4 changed files with 114 additions and 63 deletions

View File

@ -15,7 +15,7 @@ $tabEvenInsee=array(
'iFF'=>'Fermeture de l\'établissement entraînant la fermeture de l\'entreprise',
'iTC'=>'Création de l\'établissement dans le cadre d\'un transfert',
'iTR'=>'Réactivation de l\'établissement dans le cadre d\'un transfert',
'iTO'=>'Modification simple ou de moyens de production sur l\'établissement dans le cadre d\'un transfert',
'iT0'=>'Modification simple ou de moyens de production sur l\'établissement dans le cadre d\'un transfert',
'iTA'=>'Activation économique de l\'établissement par adjonction de moyens de production dans le cadre d\'un transfert',
'iTD'=>'Désactivation économique de l\'établissement par suppression de moyens de production dans le cadre d\'un transfert',
'iTF'=>'Fermeture de l\'établissement dans le cadre d\'un transfert',
@ -33,7 +33,7 @@ $tabEvenInsee=array(
'iMNP'=>'Etablissement présumé fermé (retour de courrier en NPAI)',
// Décret n°2010-1042 du 01/09/2010 relatif à l'inscription au registre du commerce et des sociétés et au répertoire national mentionné à l'article R. 123-220 du code de commerce
// Codification provisoire à changer dans l'attente de l'INSEE
'iRCS'=>'Suppression du SIREN suite au refus d\'inscription au Registre du Commerce et des Sociétés',
'i810'=>'Suppression du SIREN suite au refus d\'inscription au Registre du Commerce et des Sociétés', // Anciennement iRCS
// Nouveaux évènements Sirene3 de la quotidienne Insee
'i110'=>'Création de l\'entreprise',
'i120'=>'Réactivation de l\'entreprise',
@ -2086,6 +2086,7 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
fclose($fp);
$tab['latitude']=$mMap->latitudeDec;
$tab['longitude']=$mMap->longitudeDec;
$tab['altitude']=$mMap->altitude;
$tab['precis']=$mMap->precision;
$timer['geoCodage']=microtime(true);
@ -2376,6 +2377,7 @@ print_r($tabTmp, true));
'GeoLat'=>$tab['latitude'],
'GeoLon'=>$tab['longitude'],
'GeoAlt'=>$tab['altitude'],
'GeoPrecis'=>$tab['precis'],
'TvaNumero'=>$vatNumber,
@ -5737,22 +5739,32 @@ ORDER BY a.dateJugement DESC".EOL.EOL.print_r($collecte,true));*/
$typeLien='suc';
break;
default:
if ($lien<>0) continue;
$typeLien='ind';
break;
switch($tabEve['insTRAN']) {
case 'D': if ($lien==1) continue; $typeLien='pre'; break(2);
case 'A': if ($lien==-1) continue; $typeLien='suc'; break(2);
default : if ($lien<>0) continue; $typeLien='ind'; break;
}
}
$adr1=$tabEve['insL1_NOMEN'];
if ($adr1==NULL) $adr1=$tabEve['insNOMEN'];
$adr2=$tabEve['insL2_COMP'];
if ($adr2==NULL) $adr2=$tabEve['insENSEIGNE'];
$adr4=$tabEve['insL4_VOIE'];
if ($adr4==NULL) $adr4=preg_replace('/ +/',' ', $tabEve['insNUMVOIE'].' '.$tabEve['insINDREP'].' '.$tabEve['insTYPVOIE'].' '.$tabEve['insLIBVOIE']);
$tabRet[$typeLien]=array('siren' => $tabEve['insSIREN'],
'nic' => $tabEve['insNIC'],
'apeEtab' => $tabEve['insAPET700'],
'codeEve' => $tabEve['insEVE'],
'dateEve' => $tabEve['insDATEVE'],
'adrL1' => $tabEve['insL1_NOMEN'],
'adrL2' => $tabEve['insL2_COMP'],
'adrL3' => prepareString($tabEve['insL3_CADR']),
'adrL4' => $tabEve['insL4_VOIE'],
'adrL5' => $tabEve['insL5_DISP'],
'adrL6' => $tabEve['insL6_POST'],
'adrL7' => $tabEve['insL7_ETRG'],
'adrL1' => trim($adr1),
'adrL2' => trim($adr2),
'adrL3' => trim(prepareString($tabEve['insL3_CADR'])),
'adrL4' => trim($adr4),
'adrL5' => trim($tabEve['insL5_DISP']),
'adrL6' => trim($tabEve['insL6_POST']),
'adrL7' => trim($tabEve['insL7_ETRG']),
'depCom' => $tabEve['insDEPCOM'],
'rivoli' => $tabEve['insCODEVOIE'],
'siege' => $tabEve['insSIEGE'],

View File

@ -138,6 +138,10 @@ class MArtisanat {
$this->libErreur='Erreur Siren $sirenLu<>$siren !';
return false;
}
} elseif (preg_match('/<span class="rouge">aucune entreprise ne correspond &agrave; vos crit&egrave;res de recherche<\/span>/Uis', $this->body, $matches)) {
$this->libErreur='Erreur Artisan absent de la base Artisanat !';
// die($this->body);
return false;
} else {
$this->libErreur='Erreur Siren absent dans la page !';
return false;

View File

@ -24,28 +24,42 @@ function dec2dms($dec) {
return $d.'°'.$m."'".$s.'"';
}
/**/
function ALG0001($phi,$e) {
$temp = ( 1 - ( $e * sin( $phi ) ) ) / ( 1 + ( $e * sin( $phi ) ) );
$L = log ( tan ( (pi()/4) + ($phi/2) ) * pow ($temp, ($e/2) ));
return $L;
}
/** Calcul de la latitude à partir de la latitude isométrique
**/
function ALG0002($L,$e,$epsilon) {
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
$i=0;
do
{
$i++;
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
}
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
$i=0;
do {
$i++;
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
}
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
return $phi[$i];
return $phi[$i];
}
/** Transformation de coordonnées en projection conique conforme de Lambert, en coordonnées géographiques
** @param double $X Coordonnée X en projection conique conforme de Lambert du point
** @param double $Y Coordonnée Y en projection conique conforme de Lambert du point
** @param double $n Exposant de la projection
** @param double $c Constante de la projection
** @param double $Xs Coordonnée Xs en projection du pôle
** @param double $Ys Coordonnée Ys en projection du pôle
** @param double $lambdac Longitude de l'origine par rapport au méridien origine
** @param double $e Première excentricité de l'ellipsoïde
** @param double $epsilon Tolérance de convergence
** @return array lambda Longitude par rapport au méridien origine
** phi Latitude
**/
function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
$R = sqrt( pow(($X - $Xs),2) + pow(($Y - $Ys),2) );
$gamma = atan(($X - $Xs)/($Ys - $Y));
@ -62,6 +76,9 @@ function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
return $coords;
}
/** Transformation des coordonnées géographiques ellipsoïdales en coordonnées cartésiennes
**
**/
function ALG0009($lambda,$phi,$he,$a,$e) {
$N = ALG0021($phi,$a,$e);
@ -78,7 +95,7 @@ function ALG0009($lambda,$phi,$he,$a,$e) {
return $coords;
}
/**/
function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
$lambda = atan ($Y/$X);
@ -105,7 +122,19 @@ function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
return $coords;
}
/** Transformation d'un jeu de 7 paramètres entre 2 systèmes géodésiques
** @param double $Tx Translation suivant l'axe des X (de 1 vers 2)
** @param double $Ty Translation suivant l'axe des Y (de 1 vers 2)
** @param double $Tz Translation suivant l'axe des Z (de 1 vers 2)
** @param double $D Facteur d'échelle de 1 vers 2
** @param double $Rx Angle de rotation autour de l'axe des X en radian (de 1 vers 2)
** @param double $Ry Angle de rotation autour de l'axe des Y en radian (de 1 vers 2)
** @param double $Rz Angle de rotation autour de l'axe des Z en radian (de 1 vers 2)
** @param double $U Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 1 : U=(Ux,Uy,Uz)
** @return array Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 2, V=(Vx,Vy,Vz)
*/
function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
$V=array();
$V['X'] = $Tx + $U['X'] * (1 + $D) + $U['Z'] * $Ry - $U['Y'] * $Rz;
$V['Y'] = $Ty + $U['Y'] * (1 + $D) + $U['X'] * $Rz - $U['Z'] * $Rx;
$V['Z'] = $Tz + $U['Z'] * (1 + $D) + $U['Y'] * $Rx - $U['X'] * $Ry;
@ -113,6 +142,10 @@ function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
return $V;
}
/** Détermination des paramètres de calcul d'une projection Lambert conique
** dans le cas tangent, avec ou sans facteur d'échelle en fonction des paramètres de définition usuels
** @return array n, C, lambdac, Xs, Ys
**/
function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
$lambdac = $lambda0;
$n = sin($phi0);
@ -131,42 +164,52 @@ function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
}
/** Calcul de la grande normale de l'ellipsoïde
** @param double $phi Latitude
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @return double
**/
function ALG0021($phi,$a,$e) {
$N = $a/sqrt( 1 - $e * $e * sin($phi) * sin($phi) );
return $N;
}
/** Calcul des constantes d'une projection Lambert conique conforme dans le cas sécant
** @param double $lambda0 Longitude origine en radian par rapport au méridien origine
** @param double $phi0 Latitude origine
** @param double $X0 Coordonnée X en projection du point origine
** @param double $Y0 Coordonnée Y en projection du point origine
** @param double $phi1 Latitude en radian du 1er parallèle automécoïque
** @param double $phi2 Latitude en radian du 2ème parallèle automécoïque
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @return array n, C, lambdac, Xs, Ys
**/
function ALG0054($lambda0,$phi0,$X0,$Y0,$phi1,$phi2,$a,$e) {
$lambdac = $lambda0;
$n = ( (log( (ALG0021($phi2,$a,$e)*cos($phi2))/(ALG0021($phi1,$a,$e)*cos($phi1)) ))/(ALG0001($phi1,$e) - ALG0001($phi2,$e) ));
$C = ((ALG0021($phi1,$a,$e)* cos($phi1))/$n) * exp($n * ALG0001($phi1,$e));
if ($phi0 == (pi()/2))
{
if ($phi0 == (pi()/2)) {
$Xs = $X0;
$Ys = $Y0;
}
else
{
echo ('coucou');
} else {
$Xs = $X0;
$Ys = $Y0 + $C * exp(-1 * $n * ALG0001($phi0,$e));
}
$tab ['e'] = $e;
$tab ['n'] = $n;
$tab ['C'] = $C;
$tab ['lambdac'] = $lambdac;
$tab ['Xs'] = $Xs;
$tab ['Ys'] = $Ys;
$tab=array( 'e' => $e,
'n' => $n,
'C' => $C,
'lambdac' => $lambdac,
'Xs'=> $Xs,
'Ys'=> $Ys);
return $tab;
}
function Lambert2WGS84($X,$Y,$orig='LIIe') {
function Lambert2WGS84($X,$Y,$orig='L93') {
$epsilon = 0.00000000001;
switch ($orig)
@ -177,11 +220,9 @@ function Lambert2WGS84($X,$Y,$orig='LIIe') {
$Xs = 600000;
$Ys = 6199695.768;
$lambdac = 0.04079234433; // pour greenwich
$e = 0.08248325676; //(première excentricité de l ellipsoïde Clarke 1880 français)
$e = 0.08248325676; // première excentricité de l ellipsoïde Clarke 1880 français
$he = 100;
$a = 6378249.2;
$a = 6378249.2; // demi-grand axe de l'ellipsoide
$Tx = -168;
$Ty = -60;
@ -190,23 +231,13 @@ function Lambert2WGS84($X,$Y,$orig='LIIe') {
$Rx = $Ry = $Rz = 0;
break;
case 'L93' :
$n = 0.7256077650;
$c = 11745255.426;
$Xs = 700000;
$Ys = 12655612.050;
$lambdac = 0.04079234433; // pour greenwich
$e = 0.08248325676; //(première excentricité de l ellipsoïde Clarke 1880 français)
$he = 100;
$a = 6378249.2;
$Tx = -168;
$Ty = -60;
$Tz = +320;
$D = 0;
$Rx = $Ry = $Rz = 0;
$orig=strtoupper($orig);
switch ($orig) {
case 'LI':
case 'L1': $n = 0.7604059656;
$c = 11603796.98;
$Xs = 600000;
$Ys = 5657616.674;
break;
case 'LIIe' :

View File

@ -2656,7 +2656,7 @@ class Interne extends WsScore
$tabFichier=$tabDates=array();
$numAbo=substr($ref, 0,5);
if (strtolower($login)=='vwbank') {
$repClient='volkswagen bank';
$repClient='volkswagen bank';
$ficClient='surveillanceBodacc_SURBODPRDCFTVWBANK';
$numAbo=$ref='19300';
} elseif (substr($login,0,6)=='apicil') {
@ -2679,8 +2679,12 @@ class Interne extends WsScore
$repClient='aggm mederic ';
$ficClient='surveillanceBodacc_SURBODPRDFTSCRR';
$numAbo=$ref='';
} elseif (strtolower($login)=='cpcambr13' || strtolower($login)=='cpcambr14') {
$repClient='cpcam des bouches du rhône';
$ficClient='diffusionBodacc_DIFBODPRDMAICPCAM13';
$numAbo=$ref='';
} else {
$repClient='cnasea';
$repClient='cnasea';
$ficClient='surveillanceBodacc_SURBODTSTFTSCNASEA';
}
$dh = opendir(DOC_WEB_LOCAL."clients/$repClient/");