Library update

This commit is contained in:
Michael RICOIS 2016-07-27 17:29:12 +02:00
parent 7b6b5fd8a2
commit 6f8da88cab
4 changed files with 363 additions and 276 deletions

View File

@ -1997,6 +1997,8 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
if ($tabInsee['CIVILITE']==1) $dir1Genre='M';
elseif ($tabInsee['CIVILITE']==2) $dir1Genre='F';
$aprm = substr($tabInsee['APRM'], -1, 1) == 'Z' ? '' : $tabInsee['APRM'];
$tabRet = array(
'id' => $etab['id'],
'Siret' => $etab['siret'],
@ -2096,7 +2098,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
'NonDiffusible' => $moisNonDiff,
'TypeExploitation' => $typeExploitation,
'DateMajINSEE' => str_replace('--','',Metier_Util_Date::dateT('Ymd','Y-m-d',$tabInsee['DATE_MAJ'])),
'APRM' => $tabInsee['APRM'],
'APRM' => $aprm,
'APRM_Lib' => $this->getLibelleNafa($tabInsee['APRM']),
'AutreSiret' => $tabAssoc,
'L1_NOMEN' => $tabInsee['insL1_NOMEN'], // Nom ou raison sociale de l'entreprise pour l'adressage

View File

@ -1,128 +1,171 @@
<?php
class Metier_Partenaires_MCadastre
{
protected $siren = false;
protected $iDb;
/**
* Siren
* @var string
*/
protected $siren = null;
/** Droits des locaux **/
private static $tabCodeDroit=array(
'P'=>'Propriétaire',
'U'=>'Usufruitier', // (associé avec N)
'N'=>'Nu-propriétaire', // (associé avec U)
'B'=>'Bailleur à construction', // (associé avec R)
'R'=>'Preneur à construction', // (associé avec B)
'F'=>'Foncier', // (associé avec D ou T)
'T'=>'Tenuyer', // (associé avec F)
'D'=>'Domanier', // (associé avec F)
'V'=>'Bailleur d\'un bail à réhabilitation', // (associé avec W)
'W'=>'Preneur d\'un bail à réhabilitation', // (associé avec V)
'A'=>'Locataire-Attributaire', // (associé avec P)
'E'=>'Emphytéote', // (associé avec P)
'K'=>'Antichrésiste', // (associé avec P)
'L'=>'Fonctionnaire logé',
'G'=>'Gérant, mandataire, gestionnaire',
'S'=>'Syndic de copropriété',
'H'=>'Associé dans une société en transparence fiscale',// (associé avec P)
'O'=>'Autorisation d\'occupation temporaire (70 ans)',
'J'=>'Jeune agriculteur',
'Q'=>'Gestionnaire taxe sur les bureaux (Ile-de-France)',
'X'=>'La Poste Occupant et propriétaire',
'Y'=>'La Poste Occupant et non propriétaire',
'C'=>'Fiduciaire',
/**
* Database
* @var Metier_Util_Db
*/
protected $iDb;
/**
* Droits des locaux
* @var array
*/
private static $codeDroit = array(
'A' => 'Locataire-Attributaire', // (associé avec P)
'B' => 'Bailleur à construction', // (associé avec R)
'C' => 'Fiduciaire',
'D' => 'Domanier', // (associé avec F)
'E' => 'Emphytéote', // (associé avec P)
'F' => 'Foncier', // (associé avec D ou T)
'G' => 'Gérant, mandataire, gestionnaire',
'H' => 'Associé dans une société en transparence fiscale', // (associé avec P)
'J' => 'Jeune agriculteur',
'K' => 'Antichrésiste', // (associé avec P)
'L' => 'Fonctionnaire logé',
'M' => 'Occupant d\'une parcelle appartenant au département de Mayotte ou à l\'Etat', // (associé avec P)
'N' => 'Nu-propriétaire', // (associé avec U)
'O' => 'Autorisation d\'occupation temporaire (70 ans)',
'P' => 'Propriétaire',
'Q' => 'Gestionnaire taxe sur les bureaux (Ile-de-France)',
'R' => 'Preneur à construction', // (associé avec B)
'S' => 'Syndic de copropriété',
'T' => 'Tenuyer', // (associé avec F)
'U' => 'Usufruitier', // (associé avec N)
'V' => 'Bailleur d\'un bail à réhabilitation', // (associé avec W)
'W' => 'Preneur d\'un bail à réhabilitation', // (associé avec V)
'X' => 'La Poste Occupant et propriétaire',
'Y' => 'La Poste Occupant et non propriétaire',
);
/** Nature des locaux **/
private static $tabNatureLoc=array(
'AP'=>'Appartement',
'AT'=>'Antenne téléphone',
'AU'=>'Autoroute',
'CA'=>'Commerce sans boutique',
'CB'=>'Local divers',
'CD'=>'Dépendance commerciale',
'CH'=>'Chantier',
'CM'=>'Commerce avec boutique',
'DC'=>'Dépendance lieux communs',
'DE'=>'Dépendance bâtie isolée',
'LC'=>'Local commun',
'MA'=>'Maison',
'ME'=>'Maison exceptionnelle',
'MP'=>'Maison partagée par une limite territoriale',
'SM'=>'Sol de maison',
'U' =>'Etablissement industriel',
'U1'=>'Gare',
'U2'=>'Gare - Triage',
'U3'=>'Gare - Atelier matériel',
'U4'=>'Gare - Atelier magasin',
'U5'=>'Gare - Dépôt Titulaire',
'U6'=>'Gare - Dépôt Réel',
'U7'=>'Gare - Matériel transport',
'U8'=>'Gare - Entretien matériel roulant',
'U9'=>'Gare - Station usine',
'UE'=>'Transformateur électrique',
'UG'=>'Appareil à gaz',
'UN'=>'Usine nucléaire',
'US'=>'Etablissement industriel',
/**
* Nature des locaux
* @var array
*/
private static $natureLocaux = array(
'AP' => 'Appartement',
'AT' => 'Antenne téléphone',
'AU' => 'Autoroute',
'CA' => 'Commerce sans boutique',
'CB' => 'Local divers',
'CD' => 'Dépendance commerciale',
'CH' => 'Chantier',
'CM' => 'Commerce avec boutique',
'DC' => 'Dépendance lieux communs',
'DE' => 'Dépendance bâtie isolée',
'LC' => 'Local commun',
'MA' => 'Maison',
'ME' => 'Maison exceptionnelle',
'MP' => 'Maison partagée par une limite territoriale',
'PP' => 'ND',
'SM' => 'Sol de maison',
'U' => 'Etablissement industriel',
'U1' => 'Gare',
'U2' => 'Gare - Triage',
'U3' => 'Gare - Atelier matériel',
'U4' => 'Gare - Atelier magasin',
'U5' => 'Gare - Dépôt Titulaire',
'U6' => 'Gare - Dépôt Réel',
'U7' => 'Gare - Matériel transport',
'U8' => 'Gare - Entretien matériel roulant',
'U9' => 'Gare - Station usine',
'UE' => 'Transformateur électrique',
'UG' => 'Appareil à gaz',
'UN' => 'Usine nucléaire',
'US' => 'Etablissement industriel',
);
/** Code Affectation des PEV (Partie d'EValuation) **/
private static $tabCodePEV=array(
'B'=>'Bâtiment industriel',
'C'=>'Commerce',
'H'=>'Habitation',
'K'=>'Locaux administratifs non passibles de la Taxe d\'Habitation',
'L'=>'Hôtel',
'P'=>'Professionnel',
'S'=>'Biens divers passibles de la Taxe d\'Habitation',
'T'=>'Terrain industriel',
/**
* Code Affectation des PEV (Partie d'EValuation)
* @var array
*/
private static $PEV = array(
'A' => 'Locaux commerciaux/Biens divers passibles de la TH', // Nouveau en 2014
'B' => 'Bâtiment industriel', // lié à CCOEVA = A OU E
'C' => 'Commerce',
'E' => 'Locaux commerciaux/Biens divers non passibles de TH et TP', // Nouveau en 2014
'H' => 'Habitation',
'K' => 'Locaux administratifs non passibles de la TH',
'L' => 'Hôtel',
'P' => 'Professionnel',
'S' => 'Biens divers passibles de la TH',
'T' => 'Terrain industriel', // lié à CCOEVA = A OU E
);
/** Code Groupes Personnes Morales **/
private static $tabGrpPerMor=array(
0=>'Personne morale', // non remarquable
1=>'Etat',
2=>'Région',
3=>'Département',
4=>'Commune',
5=>'Office HLM',
6=>'Personne morale représentant des sociétés',
7=>'Copropriétaire',
8=>'Associé',
9=>'Etablissement public ou organismes assimilés',
/**
* Code Groupes Personnes Morales
* @var array
*/
private static $grpPersonnesMorales = array(
// Si suivi de la lettre "A" : personnes soumises à la CAAA (caisses d'assurance accidents agricoles) en Alsace et en Moselle
0 => 'Personne morale', // non remarquable
1 => 'Etat',
2 => 'Région',
3 => 'Département',
4 => 'Commune',
5 => 'Office HLM',
6 => 'Personne morale représentant des sociétés',
7 => 'Copropriétaire',
8 => 'Associé',
9 => 'Etablissement public ou organismes assimilés',
);
/** Nature des parcelles (cultures) **/
private static $tabNaturePar=array(
'AB'=>'Terrains à batir',
'AG'=>'Terrains d\'agrément',
'B' =>'Bois',
'BF'=>'Futaies feuillues',
'BM'=>'Futaies mixtes',
'BO'=>'Oseraies',
'BP'=>'Peupleraies',
'BR'=>'Futaies résineuses',
'BS'=>'Taillies sous futaies',
'BT'=>'Taillies simples',
'CA'=>'Carrières',
'CH'=>'Chemins de fer, Canaux de Navigation',
'E' =>'Eaux',
'J' =>'Jardins',
'L' =>'Landes',
'LB'=>'Landes Boisées',
'P' =>'Prés',
'PA'=>'Pâtures ou Pâturages',
'PC'=>'Pacages ou Pâtis',
'PE'=>'Prés d\'embouche',
'PH'=>'Herbages',
'PP'=>'Prés, Pâtures ou Herbages plantes',
'S' =>'Sols',
'T' =>'Terre',
'TP'=>'Terres plantées',
'VE'=>'Vergers',
'VI'=>'Vignes',
/**
* Code Formes Juridiques spécifiques du Cadastre
* @var array
*/
private static $FjCad = array(
'F001' => 'Les copropriétaires',
'F002' => 'Les associés de la SCI (en transparence fiscale)',
'F003' => 'Professionnels très pauvres du foncier',
);
public function __construct($siren=0, $db = null)
/**
* Nature des parcelles (cultures)
* @var array
*/
private static $natureParcelles = array(
'AB' => 'Terrains à batir',
'AG' => 'Terrains d\'agrément',
'B' => 'Bois',
'BF' => 'Futaies feuillues',
'BM' => 'Futaies mixtes',
'BO' => 'Oseraies',
'BP' => 'Peupleraies',
'BR' => 'Futaies résineuses',
'BS' => 'Taillies sous futaies',
'BT' => 'Taillies simples',
'CA' => 'Carrières',
'CH' => 'Chemins de fer, Canaux de Navigation',
'E' => 'Eaux',
'J' => 'Jardins',
'L' => 'Landes',
'LB' => 'Landes Boisées',
'P' => 'Prés',
'PA' => 'Pâtures ou Pâturages',
'PC' => 'Pacages ou Pâtis',
'PE' => 'Prés d\'embouche',
'PH' => 'Herbages',
'PP' => 'Prés, Pâtures ou Herbages plantes',
'S' => 'Sols',
'T' => 'Terre',
'TP' => 'Terres plantées',
'VE' => 'Vergers',
'VI' => 'Vignes',
);
/**
* Cadastre
* @param string $siren
* @param Metier_Util_Db $db
*/
public function __construct($siren = null, $db = null)
{
$this->siren = $siren;
if ( $db === null ) {
@ -133,148 +176,174 @@ class Metier_Partenaires_MCadastre
}
/**
*
* Type de personne morale au cadastre
* @param string $ccogrm
* @return string
*/
public function getTypeRM($ccogrm)
{
$ccogrm = trim($ccogrm);
if (array_key_exists($ccogrm, self::$grpPersonnesMorales)) {
$lib = self::$grpPersonnesMorales[$ccogrm];
} elseif (array_key_exists(intval(substr($ccogrm,0,1)), self::$grpPersonnesMorales)) {
$lib = self::$grpPersonnesMorales[intval(substr($ccogrm,0,1))];
if (substr($ccogrm,1,1) == 'A') {
$lib.= " soumis à CAAA (Caisses d'Assurance Accidents Agricoles) en Alsace et en Moselle";
}
} else {
$lib = '';
}
return $lib;
}
/**
* Locaux : Propriétés baties
* @param string $siren
* @return array
*/
public function getLocaux($siren = null)
{
if ($siren === null) {
$siren = $this->siren;
}
$results = $this->iDb->select(
'sdv1.cad_perloc l, sdv1.cad_permor e',
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM AS companyCCOCOM,
l.CCODRO, l.CCOCOM, l.CCOPRF, l.CCOSEC, l.DNUPLA, l.DNUBAT, l.DESC, l.DNIV, l.DPOR, l.CCONLC, l.CCOAFF0, l.DSUPOD0, l.CCOAFF1, l.DSUPOD1, l.CCOAFF2, l.DSUPOD2, l.CCOAFF3, l.DSUPOD3, l.CCOAFF4, l.DSUPOD4, l.CCOAFF5, l.DSUPOD5, l.CCOAFF6, l.DSUPOD6, l.CCOAFF7, l.DSUPOD7, l.CCOAFF8, l.DSUPOD8, l.CCOAFF9, l.DSUPOD9, l.CCODEP, l.DLICOM, l.CCORIV, l.CNAVOI, l.DLIVOI, l.DNUVOI, l.DLTNUV',
"e.DSIREN='$siren' AND e.INTCIF=l.INTCIF AND e.DNUPER=l.DNUPER", false, MYSQL_ASSOC);
$locaux = array();
if (count($results) > 0) {
foreach ($results as $i => $loc) {
$format = array(
'idCentre' => $loc['INTCIF'],
'idPmMajic' => $loc['DNUPER'],
'pmGroupe' => trim($loc['CCOGRM']),
'pmGroupeLib' => $this->getTypeRM(trim($loc['CCOGRM'])),
'pmNom' => trim($loc['DDENPM']),
'pmSigle' => trim($loc['DSIPMO']),
'pmFJ' => $loc['DFORME'],
'siren' => trim($loc['DSIREN']),
'pmAdrL3' => trim($loc['DLIGN3']),
'pmAdrL4' => trim($loc['DLIGN4']),
'pmAdrL5' => trim($loc['DLIGN5']),
'pmAdrL6' => trim($loc['DLIGN6']),
'pmAdrDep' => trim($loc['CCODEP']),
'pmAdrCom' => trim($loc['companyCCOCOM']),
'localDroit' => trim($loc['CCODRO']),
'localDroitLib' => self::$tabCodeDroit[trim($loc['CCODRO'])],
'localDep' => trim($loc['CCODEP']),
'localCom' => trim($loc['CCOCOM']),
'localComLib' => trim($loc['DLICOM']),
'localComAbs' => trim($loc['CCOPRF']),
'localRivoli' => trim($loc['CCORIV']),
'localNumVoie' => trim($loc['DNUVOI']),
'localIndVoie' => trim($loc['DLTNUV']),
'localTypVoie' => trim($loc['CNAVOI']),
'localLibVoie' => trim($loc['DLIVOI']),
'localSection' => trim($loc['CCOSEC']),
'localNumPlan' => trim($loc['DNUPLA']),
'localNumBat' => trim($loc['DNUBAT']),
'localEntEsc' => trim($loc['DESC']),
'localNiveau' => trim($loc['DNIV']),
'localEntEsc' => trim($loc['CCONLC']),
'localPEV' => array(),
);
// Calcul de surface
$surface = 0;
for($j = 0; $j < 10; $j++) {
$pevCode = trim($loc['CCOAFF'.$j]);
$pevSurf = intval(trim($loc['DSUPOD'.$j]));
if ($pevCode != '' && $pevSurf > 0) {
$format['localPEV'][$j] = array(
'pevCode' => $pevCode,
'pevType' => self::$PEV[$pevCode],
'pevSurface' => $pevSurf,
);
$surface+= $pevSurf;
}
}
$format['localSurface'] = $surface;
$locaux[] = $format;
}
}
return $locaux;
}
/**
* Parcelles : Propriétés non baties
* @param string $siren
* @return array
*/
function getLocaux($siren=false)
public function getParcelles($siren = null)
{
if (!$siren) $siren=$this->siren;
if ($siren === null) {
$siren = $this->siren;
};
$tabTmp=$this->iDb->select(
'sdv1.cad_perloc l, sdv1.cad_permor e',
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
l.CCODRO, l.CCOCOM, l.CCOPRF, l.CCOSEC, l.DNUPLA, l.DNUBAT, l.DESC, l.DNIV, l.DPOR, l.CCONLC, l.CCOAFF0, l.DSUPOD0, l.CCOAFF1, l.DSUPOD1, l.CCOAFF2, l.DSUPOD2, l.CCOAFF3, l.DSUPOD3, l.CCOAFF4, l.DSUPOD4, l.CCOAFF5, l.DSUPOD5, l.CCOAFF6, l.DSUPOD6, l.CCOAFF7, l.DSUPOD7, l.CCOAFF8, l.DSUPOD8, l.CCOAFF9, l.DSUPOD9, l.CCODEP, l.DLICOM, l.CCORIV, l.CNAVOI, l.DLIVOI, l.DNUVOI, l.DLTNUV',
"e.DSIREN='$siren' AND e.INTCIF=l.INTCIF AND e.DNUPER=l.DNUPER", false, MYSQL_ASSOC);
$tabRet=array();
if (count($tabTmp)>0 ) {
foreach ($tabTmp as $i=>$loc) {
$tabLoc = array(
'idCentre'=>$loc['INTCIF'],
'idPmMajic'=>$loc['DNUPER'],
'pmGroupe'=>trim($loc['CCOGRM']),
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
'pmNom'=>trim($loc['DDENPM']),
'pmSigle'=>trim($loc['DSIPMO']),
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
'siren'=>trim($loc['DSIREN']),
'pmAdrL3'=>trim($loc['DLIGN3']),
'pmAdrL4'=>trim($loc['DLIGN4']),
'pmAdrL5'=>trim($loc['DLIGN5']),
'pmAdrL6'=>trim($loc['DLIGN6']),
'pmAdrDep'=>trim($loc['CCODEP']),
'pmAdrCom'=>trim($loc['CCOCOM']),
'localDroit'=>trim($loc['CCODRO']),
'localDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
'localDep'=>trim($loc['CCODEP']),
'localCom'=>trim($loc['CCOCOM']),
'localComLib'=>trim($loc['DLICOM']),
'localComAbs'=>trim($loc['CCOPRF']),
'localRivoli'=>trim($loc['CCORIV']),
'localNumVoie'=>trim($loc['DNUVOI']),
'localIndVoie'=>trim($loc['DLTNUV']),
'localTypVoie'=>trim($loc['CNAVOI']),
'localLibVoie'=>trim($loc['DLIVOI']),
'localSection'=>trim($loc['CCOSEC']),
'localNumPlan'=>trim($loc['DNUPLA']),
'localNumBat'=>trim($loc['DNUBAT']),
'localEntEsc'=>trim($loc['DESC']),
'localNumPlan'=>trim($loc['DNIV']),
'localNumBat'=>trim($loc['DPOR']),
'localEntEsc'=>trim($loc['CCONLC']),
'localPEV'=>array(),
);
$surface=0;
for($j=0;$j<10;$j++) {
$pevCode=trim($loc['CCOAFF'.$j]);
$pevSurf=trim($loc['DSUPOD'.$j])*1;
if ($pevCode<>'' && $pevSurf>0) {
$tabLoc['localPEV'][$j]=array(
'pevCode'=>$pevCode,
'pevType'=>self::$tabCodePEV[$pevCode],
'pevSurface'=>$pevSurf,
);
$surface+=$pevSurf;
}
}
$tabLoc['localSurface']=$surface;
$tabRet[]=$tabLoc;
/**
* CADBAT_NB_TOT nombre Cadastre nombre de postes BATIMENT du SIREN toutes addresses
* CADTER_NB_TOT nombre Cadastre nombre de postes TERRAIN du SIREN toutes addresses
* CADBAT_NB_PROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle est propriétaire
* CADTER_NB_PROP nombre Cadastre nombre de postes TERRAIN à l'adresse dont elle est propriétaire
* CADBAT_NB_NONPROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle n'est pas propriétaire
* CADTER_NB_NONPROP nombre Cadastre nombre de postes TERRAINS à l'adresse dont elle n'est pas propriétaire
* CADBAT_SURF_CUM nombre Cadastre Cumul Surfaces des batiments à l'addresse
* CADBAT_SURF_TOT nombre Cadastre Surface totale des batiments du SIREN
* CADTER_SURF_CUM nombre Cadastre Cumul Surfaces des terrains à l'addresse
* CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
*/
}
}
return $tabRet;
}
function getParcelles($siren=false) {
if (!$siren)
$siren=$this->siren;
$tabTmp=$this->iDb->select(
$results = $this->iDb->select(
'sdv1.cad_perpar p, sdv1.cad_permor e',
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM AS companyCCOCOM,
p.CCODRO, p.CCOCOM, p.CCOPRF, p.CCOSEC, p.DNUPLA, p.DCNPAR, p.DSGRPF0, p.DCNSUF0, p.DSGRPF1, p.DCNSUF1, p.DSGRPF2, p.DCNSUF2, p.DSGRPF3, p.DCNSUF3, p.DSGRPF4, p.DCNSUF4, p.DSGRPF5, p.DCNSUF5, p.DSGRPF6, p.DCNSUF6, p.DSGRPF7, p.DCNSUF7, p.DSGRPF8, p.DCNSUF8, p.DSGRPF9, p.DCNSUF9, p.CCODEP, p.DLICOM, p.CCORIV, p.CNAVOI, p.DLIVOI, p.DNUVOI, p.DLTNUV',
"e.DSIREN='$siren' AND e.INTCIF=p.INTCIF AND e.DNUPER=p.DNUPER", false, MYSQL_ASSOC);
$tabRet=array();
foreach ($tabTmp as $i=>$loc) {
$tabLoc=array( 'idCentre'=>$loc['INTCIF'],
'idPmMajic'=>$loc['DNUPER'],
'pmGroupe'=>trim($loc['CCOGRM']),
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
'pmNom'=>trim($loc['DDENPM']),
'pmSigle'=>trim($loc['DSIPMO']),
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
'siren'=>trim($loc['DSIREN']),
'pmAdrL3'=>trim($loc['DLIGN3']),
'pmAdrL4'=>trim($loc['DLIGN4']),
'pmAdrL5'=>trim($loc['DLIGN5']),
'pmAdrL6'=>trim($loc['DLIGN6']),
'pmAdrDep'=>trim($loc['CCODEP']),
'pmAdrCom'=>trim($loc['CCOCOM']),
'parcelDroit'=>trim($loc['CCODRO']),
'parcelDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
'parcelDep'=>trim($loc['CCODEP']),
'parcelCom'=>trim($loc['CCOCOM']),
'parcelComLib'=>trim($loc['DLICOM']),
'parcelComAbs'=>trim($loc['CCOPRF']),
'parcelRivoli'=>trim($loc['CCORIV']),
'parcellNumVoie'=>trim($loc['DNUVOI']),
'parcelIndVoie'=>trim($loc['DLTNUV']),
'parcelTypVoie'=>trim($loc['CNAVOI']),
'parcelLibVoie'=>trim($loc['DLIVOI']),
'parcelSection'=>trim($loc['CCOSEC']),
'parcelNumPlan'=>trim($loc['DNUPLA']),
'parcelSurface'=>trim($loc['DCNPAR'])*1,
'parcelTer'=>array(),
);
$surface=0;
for($j=0;$j<10;$j++) {
$pevCode=trim($loc['DSGRPF'.$j]);
$pevSurf=trim($loc['DCNSUF'.$j])*1;
if ($pevCode<>'' && $pevSurf>0) {
$tabLoc['parcelTer'][$j]=array( 'terCode'=>$pevCode,
'terType'=>self::$tabCodePEV[$pevCode],
'terSurface'=>$pevSurf,
);
$surface+=$pevSurf;
}
}
$tabLoc['parcelSurfaceCalc']=$surface;
$tabRet[]=$tabLoc;
$parcelles = array();
if (count($results) > 0) {
foreach ($results as $i => $loc) {
$format = array(
'idCentre' => $loc['INTCIF'],
'idPmMajic' => $loc['DNUPER'],
'pmGroupe' => trim($loc['CCOGRM']),
'pmGroupeLib' => $this->getTypeRM(trim($loc['CCOGRM'])),
'pmNom' => trim($loc['DDENPM']),
'pmSigle' => trim($loc['DSIPMO']),
'pmFJ' => $loc['DFORME'],
'siren' => trim($loc['DSIREN']),
'pmAdrL3' => trim($loc['DLIGN3']),
'pmAdrL4' => trim($loc['DLIGN4']),
'pmAdrL5' => trim($loc['DLIGN5']),
'pmAdrL6' => trim($loc['DLIGN6']),
'pmAdrDep' => trim($loc['CCODEP']),
'pmAdrCom' => trim($loc['companyCCOCOM']),
'parcelDroit' => trim($loc['CCODRO']),
'parcelDroitLib' => self::$codeDroit[trim($loc['CCODRO'])],
'parcelDep' => trim($loc['CCODEP']),
'parcelCom' => trim($loc['CCOCOM']),
'parcelComLib' => trim($loc['DLICOM']),
'parcelComAbs' => trim($loc['CCOPRF']),
'parcelRivoli' => trim($loc['CCORIV']),
'parcelNumVoie' => trim($loc['DNUVOI']),
'parcelIndVoie' => trim($loc['DLTNUV']),
'parcelTypVoie' => trim($loc['CNAVOI']),
'parcelLibVoie' => trim($loc['DLIVOI']),
'parcelSection' => trim($loc['CCOSEC']),
'parcelNumPlan' => trim($loc['DNUPLA']),
'parcelSurface' => trim($loc['DCNPAR'])*1,
'parcelTer' => array(),
);
// Calcul de surface
$surface = 0;
for($j = 0; $j < 10; $j++) {
$pevCode = trim($loc['DSGRPF'.$j]);
$pevSurf = trim($loc['DCNSUF'.$j])*1;
if ($pevCode != '' && $pevSurf > 0) {
$format['parcelTer'][$j] = array(
'terCode' => $pevCode,
'terType' => self::$natureParcelles[$pevCode],
'terSurface' => $pevSurf,
);
$surface+= $pevSurf;
}
}
$format['parcelSurfaceCalc'] = $surface;
$parcelles[] = $format;
}
}
return $tabRet;
return $parcelles;
}
}
?>
}

View File

@ -3407,25 +3407,33 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$CADTER_SURF_CUM=0; // Cumul Surfaces des terrains à l'addresse
*/
// Locaux
$iCadastre = new Metier_Partenaires_MCadastre($iDb);
$tabTmp=$iCadastre->getLocaux($siren);
if(count($tabTmp)>0 ) {
foreach ($tabTmp as $iTmp=>$cad) {
$CADBAT_NB_TOT++;
if ($cad['localDroit']=='P') $CADBAT_NB_PROP++;
else $CADBAT_NB_NONPROP++;
$CADBAT_SURF_TOT+=$cad['localSurface'];
}
$iCadastre = new Metier_Partenaires_MCadastre($siren, $iDb);
$tabTmp = $iCadastre->getLocaux();
if(count($tabTmp) > 0) {
foreach ($tabTmp as $iTmp => $cad) {
$CADBAT_NB_TOT++;
if ($cad['localDroit'] == 'P'){
$CADBAT_NB_PROP++;
}
else {
$CADBAT_NB_NONPROP++;
}
$CADBAT_SURF_TOT+= $cad['localSurface'];
}
}
// Parcelles
$tabTmp = $iCadastre->getParcelles($siren);
foreach ($tabTmp as $iTmp=>$cad) {
$CADTER_NB_TOT++;
if ($cad['parcelDroit']=='P') $CADTER_NB_PROP++;
else $CADTER_NB_NONPROP++;
$CADTER_SURF_TOT+=$cad['parcelSurface'];
$tabTmp = $iCadastre->getParcelles();
foreach ($tabTmp as $iTmp => $cad) {
$CADTER_NB_TOT++;
if ($cad['parcelDroit'] == 'P') {
$CADTER_NB_PROP++;
}
else {
$CADTER_NB_NONPROP++;
}
$CADTER_SURF_TOT+= $cad['parcelSurface'];
}
$timer['cadastre']=microtime(true);
$timer['cadastre'] = microtime(true);
/** RPS : Entreprise avec négociations ou accord sur les RPS ? **/
$tabTmp = $iDb->select(

View File

@ -3386,25 +3386,33 @@ class SdMetier_Scoring_Base extends SdMetier_Scoring_Vars
$CADTER_SURF_CUM=0; // Cumul Surfaces des terrains à l'addresse
*/
// Locaux
$iCadastre = new Metier_Partenaires_MCadastre($this->db);
$tabTmp=$iCadastre->getLocaux($siren);
if(count($tabTmp)>0 ) {
foreach ($tabTmp as $iTmp=>$cad) {
$iCadastre = new Metier_Partenaires_MCadastre($siren, $this->db);
$tabTmp = $iCadastre->getLocaux();
if(count($tabTmp) > 0) {
foreach ($tabTmp as $iTmp => $cad) {
$this->CADBAT_NB_TOT++;
if ($cad['localDroit']=='P') $this->CADBAT_NB_PROP++;
else $this->CADBAT_NB_NONPROP++;
$this->CADBAT_SURF_TOT+=$cad['localSurface'];
if ($cad['localDroit'] == 'P'){
$this->CADBAT_NB_PROP++;
}
else {
$this->CADBAT_NB_NONPROP++;
}
$this->CADBAT_SURF_TOT+= $cad['localSurface'];
}
}
// Parcelles
$tabTmp = $iCadastre->getParcelles($siren);
foreach ($tabTmp as $iTmp=>$cad) {
$tabTmp = $iCadastre->getParcelles();
foreach ($tabTmp as $iTmp => $cad) {
$this->CADTER_NB_TOT++;
if ($cad['parcelDroit']=='P') $this->CADTER_NB_PROP++;
else $this->CADTER_NB_NONPROP++;
$this->CADTER_SURF_TOT+=$cad['parcelSurface'];
if ($cad['parcelDroit'] == 'P') {
$this->CADTER_NB_PROP++;
}
else {
$this->CADTER_NB_NONPROP++;
}
$this->CADTER_SURF_TOT+= $cad['parcelSurface'];
}
$timer['cadastre']=microtime(true);
$timer['cadastre'] = microtime(true);
/** RPS : Entreprise avec négociations ou accord sur les RPS ? **/
$tabTmp = $this->db->select(