Skip to content
Snippets Groups Projects
Commit 34bcdf16 authored by Armand Bahi's avatar Armand Bahi
Browse files

Add 'deps/module_cadastre/' from commit 'a7611084'

git-subtree-dir: deps/module_cadastre
git-subtree-mainline: 99b617d2
git-subtree-split: a7611084
parents 99b617d2 a7611084
No related branches found
No related tags found
No related merge requests found
Showing
with 2648 additions and 0 deletions
Web service cadastre
\ No newline at end of file
b22731|RELEASE |cadastre| Version 2017.01.01
b22727|BUG |cadastre| Privilèges
b22647|EVOLUTION |cadastre| Tous les constructeurs des classes PHP ont été renommé en __construct
b22139|RELEASE |cadastre| Version 2017.01.00
b21184|BUG |cadastre| projections cadastre
b20785|BUG |cadastre| Rajout du champs , 'l_dsgrpf as "DSGRPF"'
b20499|BUG |cadastre| Ajout Adresse de la parcelle fiche urbanisme
b20114|BUG |cadastre| Modification des versions.inc pour ajouter la status à UNSTABLE
b20112|BUG |cadastre| Erreur dans le require_once
b19998|BUG |cadastre| Web service cadastre --> Suppression de la dépendance au schéma cadastre
b19822|BUG |cadastre| v_lieu_dit
b19730|BUG |cadastre| Utilisation d'un seul fichier de properties pour les modules cadastre v1 et v2
<Directory "[VASDIRECTORY]/public/cadastre">
Require all denied
</Directory>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- WS GTF -->
<installer>
<dependenciesCollection>
<dependency>
<nature>vas</nature>
<version>2018.05.00</version>
</dependency>
</dependenciesCollection>
</installer>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ VEREMES - changelog de Majic_lib +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
__________________________________________________________________________________________________________________
|b4379|NOUVEAUTE |RELEASE| VERSION 2011.1 Rajout du champ TAXE AD qui correspond aux taxes additionnelles sur les parcelles. Cette mise à jour s'applique sur la version 2011 applicable sur les données 2012
|
<?php
/**
* \file Mj.class.inc
* \brief Mj.class.inc \n \n Ce fichier contient la classe php Mj.
*
* Cette classe est une classe virtuelle qui peut �tre appel� par les autres classes de la librairie majic_lib par h�ritage.
*
* \author Damien Bedel <damien.bedel@veremes.com>
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj
* \brief Mj Class \n \n Mj est une classe PHP.
*
* Cette classe permet de retourner un objet de s�lection dans une table sous la forme d'un tableau HTML.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once __DIR__ . "/../vitis_lib/XmlAbstract.class.inc";
class Mj extends XmlAbstract {
/**
* Requ�te SQL de s�lection dans la table.
*/
var $sSql;
/**
* Statut de l'objet cr�e lors de la requ�te. 1 si erreur; 0 si l'objet a pu �tre instanci�.
*/
var $sStatus = 0;
/**
* Message d'erreur.
*/
var $sMessage;
/**
* Nom du fichier SQL.
*/
var $sRessourcesFile = 'Mj.sql.inc';
/**
* Clef de cryptage
*/
var $sEncryptKey = '';
/**
* Clef de cryptage
*/
var $bAllSuf = false;
/**
* Cette m�thode permet de retourner un code d'erreur en fonction du statut de l'objet r�sultant de la s�lection.
* \return Retourne 1 s'il y a une erreur, 0 si ok.
*/
function isError() {
if ($this->sStatus == 1) {
return 1;
} else {
return 0;
}
}
/**
* Cette m�thode permet de renvoyer un message d'erreur.
* \return Retourne une cha�ne de caract�res.
*/
function getMessage() {
return $this->sMessage;
}
function encrypt($cleartext) {
if ($this->sEncryptKey != '') {
if (empty($cleartext) || USE_ENCRYPTION == false) {
return $cleartext;
}
$cipher = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, '');
$key = substr($this->sEncryptKey, 0, mcrypt_enc_get_key_size($cipher));
$iv = '00000000';
// add the padding.
$cleartext_length = strlen($cleartext) % 8;
for ($i = $cleartext_length; $i < 8; $i++) {
$cleartext .= chr(8 - $cleartext_length);
}
$ciphertext = '';
// 128-bit Blowfish encryption:
if (mcrypt_generic_init($cipher, $key, $iv) != - 1) {
// PHP pads with NULL bytes if $cleartext IS NOT a multiple of the block size ..
if (empty($cleartext)) {
return '';
}
$ciphertext = mcrypt_generic($cipher, $cleartext);
mcrypt_generic_deinit($cipher);
}
return base64_encode($ciphertext);
} else {
return $cleartext;
}
}
function getObjects($sClasse) {
$aObjClass = array();
foreach ($this->aObjects as $oObj) {
if (get_class($oObj) == $sClasse) {
array_push($aObjClass, $oObj);
}
}
return $aObjClass;
}
}
?>
\ No newline at end of file
This diff is collapsed.
<?php
$aSql['pgsql']['proprietaire']= 'SELECT *, "ID_DNUPRO" as id_dnupro, "ID_PRO" as id_pro, "L_CCODRO" as l_ccodro, "L_CCODEM" as l_ccodem, "DNUPER" as dnuper, "DQUALP" as dqualp, "DDENOM" as ddenom, "DNOMLP" as dnomlp, "DPRNLP" as dprnlp, "EPXNEE" as epxnee, "DNOMCP" as dnomcp, "DPRNCP" as dprncp, "JDATNSS" as jdatnss, "DLDNSS" as dldnss, "DLIGN3" as dlign3, "DLIGN4" as dlign4, "DLIGN5" as dlign5, "DLIGN6" as dlign6 FROM majic."PROPRIETAIRE_COURANT" LEFT JOIN majic."tc_CCODRO_code_droit" ON "PROPRIETAIRE_COURANT"."CCODRO"="tc_CCODRO_code_droit"."CCODRO" LEFT JOIN majic."tc_CCODEM_Nature_demembrement" ON "PROPRIETAIRE_COURANT"."CCODEM"="tc_CCODEM_Nature_demembrement"."CCODEM" WHERE "ID_DNUPRO"=\'$sIdDnupro\' AND "ID_PRO"=\'$sIdPro\'';
$aSql['pgsql']['bati'] = 'SELECT *, "BATI_A00_IDENT_LOCAL"."ID_BAT" as id_bat, "JDATAT" as jdatat, "CCOSEC" as ccosec, "DNUPLA" as dnupla, "CCOPLC" as ccoplc, "DNVOIRI" as dnvoiri, "DINDIC" as dindic, "DVOILIB" as dvoilib, "CCORIV" as ccoriv, "DNUBAT" as dnubat, "DESC" as desc, "DNIV" as dniv, "DPOR" as dpor, "BATI_A00_IDENT_LOCAL"."INVAR" as invar, "CCOEVA" as ccoeva, "CCONLC" as cconlc, "GTAUOM" as gtauom, "CCONAD" as cconad FROM majic."BATI_A00_IDENT_LOCAL" LEFT JOIN majic."BATI_A60_DESCR_DEPEND" ON "BATI_A00_IDENT_LOCAL"."ID_BAT"="BATI_A60_DESCR_DEPEND"."ID_BAT" WHERE "BATI_A00_IDENT_LOCAL"."ID_BAT"=\'$sIdBat\'';
$aSql['pgsql']['pev'] = 'SELECT *, "BATI_A21_DESCR_PEV"."ID_PEV" as id_pev, "CCOSTB" as ccostb, "CCOAFF" as ccoaff, "DCAPEC" as dcapec, "DCSGLC" as dcsglc, "BIPEVLA1" as bipevla1,"GNEXPL" as gnexpl, "DVLPERA" as dvlpera, "BATI_A21_DESCR_PEV"."DNUPEV" as dnupev FROM majic."BATI_A21_DESCR_PEV" LEFT JOIN majic."BATI_A36_TAXATION_PEV" ON "BATI_A21_DESCR_PEV"."ID_PEV"="BATI_A36_TAXATION_PEV"."ID_PEV" WHERE "BATI_A21_DESCR_PEV"."ID_PEV"=\'$sIdPev\'';
$aSql['pgsql']['parcelle']='SELECT *, "ID_PAR" as id_par, "JDATAT" as jdatat, "CCOSEC" as ccosec, "DNUPLA" as dnupla, "DNVOIRI" as dnvoiri, "DINDIC" as dindic, "CCONVO" as cconvo, "DVOILIB" as dvoilib, "CCORIV" as ccoriv, "DPARPI" as dparpi, "GPARNF" as gparnf FROM majic."NON_BATI_A10_DESCR_PARCELLE" WHERE "ID_PAR"=\'$sIdPar\'';
$aSql['pgsql']['suf']='SELECT *, "ID_SUF" as id_suf, "CCOSTN" as ccostn, "CCOSUB" as ccosub, "DSGRPF" as dsgrpf, "DCLSSF" as dclssf, "CNATSP" as cnatsp, "DCNTSF" as dcntsf, "DRCSUBA" as drcsuba FROM majic."NON_BATI_A21_DESCR_SUF" WHERE "ID_SUF"=\'$sIdSuf\'';
$aSql['pgsql']['compte_communal']='SELECT *, "PROPRIETAIRE_COURANT"."CCODEP" as ccodep, "PROPRIETAIRE_COURANT"."CCODIR" as ccodir, "FANTOIR_COMMUNE"."CCOCOM" as ccocom, "LIBCOM" as libcom, "DNUPRO" as dnupro, "ID_DNUPRO" as id_dnupro FROM majic."PROPRIETAIRE_COURANT" LEFT JOIN majic."FANTOIR_COMMUNE" ON "PROPRIETAIRE_COURANT"."ID_COM"="FANTOIR_COMMUNE"."ID_COM" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['pgsql']['exone_pev']='SELECT *, "ID_EX" as id_ex, "CCOLLOC" as ccolloc, "GNEXTL" as gnextl, "JANIMP" as janimp, "JANDEB" as jandeb, "RCEXBA2" as rcexba2 FROM majic."BATI_A30_EXONE_PEV" WHERE "ID_EX"=\'$sIdEx\'';
$aSql['pgsql']['exon_suf']='SELECT *, "ID_SUF" as id_suf, "RNUEXN" as rnuexn, "CCOLLOC" as ccolloc, "GNEXTS" as gnexts, "JFINEX" as jfinex, "PEXN" as pexn FROM majic."NON_BATI_A30_EXON_SUF" WHERE "ID_SUF"=\'$sIdSuf\' and "RNUEXN"=\'$sRnuexn\'';
$aSql['pgsql']['lot_local']='SELECT *, "ID_BAT" as id_bat, "KLOT" as klot, "DNUPDL" as dnupdl, "DNULOT" as dnulot, "DNUMQL" as dnumql, "DDENQL" as ddenql FROM majic."LOT_LOCAL" WHERE "ID_BAT"=\'$sIdBat\' and "KLOT"=\'$sKlot\'';
$aSql['pgsql']['get_id_pev']='SELECT "ID_PEV" as id_pev FROM majic."BATI_A21_DESCR_PEV" WHERE "ID_BAT"=\'$sIdBat\'';
$aSql['pgsql']['get_id_ex_pev']='SELECT "ID_EX" as id_ex FROM majic."BATI_A30_EXONE_PEV" WHERE "ID_PEV"=\'$sIdPev\'';
$aSql['pgsql']['get_klot']='SELECT "KLOT" as klot FROM majic."LOT_LOCAL" WHERE "ID_BAT"=\'$sIdBat\'';
$aSql['pgsql']['get_id_suf']='SELECT "ID_SUF" as id_suf FROM majic."NON_BATI_A21_DESCR_SUF" WHERE "ID_PAR"=\'$sIdPar\'';
$aSql['pgsql']['get_rnuexn']='SELECT "RNUEXN" as rnuexn FROM majic."NON_BATI_A30_EXON_SUF" WHERE "ID_SUF"=\'$sIdSuf\'';
$aSql['pgsql']['get_id_pro']='SELECT "ID_PRO" as id_pro FROM majic."PROPRIETAIRE_COURANT" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['pgsql']['get_id_bat']='SELECT "ID_BAT" as id_bat FROM majic."BATI_A00_IDENT_LOCAL" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['pgsql']['get_id_par']='SELECT "ID_PAR" as id_par FROM majic."NON_BATI_A10_DESCR_PARCELLE" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['sqlite']['proprietaire']= 'SELECT *, "ID_DNUPRO" as id_dnupro, "ID_PRO" as id_pro, "L_CCODRO" as l_ccodro, "L_CCODEM" as l_ccodem, "DNUPER" as dnuper, "DQUALP" as dqualp, "DDENOM" as ddenom, "DNOMLP" as dnomlp, "DPRNLP" as dprnlp, "EPXNEE" as epxnee, "DNOMCP" as dnomcp, "DPRNCP" as dprncp, "JDATNSS" as jdatnss, "DLDNSS" as dldnss, "DLIGN3" as dlign3, "DLIGN4" as dlign4, "DLIGN5" as dlign5, "DLIGN6" as dlign6 FROM "PROPRIETAIRE_COURANT" LEFT JOIN "tc_CCODRO_code_droit" ON "PROPRIETAIRE_COURANT"."CCODRO"="tc_CCODRO_code_droit"."CCODRO" LEFT JOIN "tc_CCODEM_Nature_demembrement" ON "PROPRIETAIRE_COURANT"."CCODEM"="tc_CCODEM_Nature_demembrement"."CCODEM" WHERE "ID_DNUPRO"=\'$sIdDnupro\' AND "ID_PRO"=\'$sIdPro\'';
$aSql['sqlite']['bati'] = 'SELECT *, "BATI_A00_IDENT_LOCAL"."ID_BAT" as id_bat, "JDATAT" as jdatat, "CCOSEC" as ccosec, "DNUPLA" as dnupla, "CCOPLC" as ccoplc, "DNVOIRI" as dnvoiri, "DINDIC" as dindic, "DVOILIB" as dvoilib, "CCORIV" as ccoriv, "DNUBAT" as dnubat, "DESC" as desc, "DNIV" as dniv, "DPOR" as dpor, "BATI_A00_IDENT_LOCAL"."INVAR" as invar, "CCOEVA" as ccoeva, "CCONLC" as cconlc, "GTAUOM" as gtauom, "CCONAD" as cconad FROM "BATI_A00_IDENT_LOCAL" LEFT JOIN "BATI_A60_DESCR_DEPEND" ON "BATI_A00_IDENT_LOCAL"."ID_BAT"="BATI_A60_DESCR_DEPEND"."ID_BAT" WHERE "BATI_A00_IDENT_LOCAL"."ID_BAT"=\'$sIdBat\'';
$aSql['sqlite']['pev'] = 'SELECT *, "BATI_A21_DESCR_PEV"."ID_PEV" as id_pev, "CCOSTB" as ccostb, "CCOAFF" as ccoaff, "DCAPEC" as dcapec, "DCSGLC" as dcsglc, "BIPEVLA1" as bipevla1,"GNEXPL" as gnexpl, "DVLPERA" as dvlpera, "BATI_A21_DESCR_PEV"."DNUPEV" as dnupev FROM "BATI_A21_DESCR_PEV" LEFT JOIN "BATI_A36_TAXATION_PEV" ON "BATI_A21_DESCR_PEV"."ID_PEV"="BATI_A36_TAXATION_PEV"."ID_PEV" WHERE "BATI_A21_DESCR_PEV"."ID_PEV"=\'$sIdPev\'';
$aSql['sqlite']['parcelle']='SELECT *, "ID_PAR" as id_par, "JDATAT" as jdatat, "CCOSEC" as ccosec, "DNUPLA" as dnupla, "DNVOIRI" as dnvoiri, "DINDIC" as dindic, "CODEVOIE" as codevoie, "LIBVOIE" as libvoie, "CCORIV" as ccoriv, "DPARPI" as dparpi, "GPARNF" as gparnf FROM "NON_BATI_A10_DESCR_PARCELLE" LEFT JOIN "FANTOIR_VOIE" ON "NON_BATI_A10_DESCR_PARCELLE"."ID_RIVOLI"="FANTOIR_VOIE"."ID_RIVOLI" WHERE "ID_PAR"=\'$sIdPar\'';
$aSql['sqlite']['suf']='SELECT *, "ID_SUF" as id_suf, "CCOSTN" as ccostn, "CCOSUB" as ccosub, "DSGRPF" as dsgrpf, "DCLSSF" as dclssf, "CNATSP" as cnatsp, "DCNTSF" as dcntsf, "DRCSUBA" as drcsuba FROM "NON_BATI_A21_DESCR_SUF" WHERE "ID_SUF"=\'$sIdSuf\'';
$aSql['sqlite']['compte_communal']='SELECT *, "PROPRIETAIRE_COURANT"."CCODEP" as ccodep, "PROPRIETAIRE_COURANT"."CCODIR" as ccodir, "FANTOIR_COMMUNE"."CCOCOM" as ccocom, "LIBCOM" as libcom, "DNUPRO" as dnupro, "ID_DNUPRO" as id_dnupro FROM "PROPRIETAIRE_COURANT" LEFT JOIN "FANTOIR_COMMUNE" ON "PROPRIETAIRE_COURANT"."ID_COM"="FANTOIR_COMMUNE"."ID_COM" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['sqlite']['exone_pev']='SELECT *, "ID_EX" as id_ex, "CCOLLOC" as ccolloc, "GNEXTL" as gnextl, "JANIMP" as janimp, "JANDEB" as jandeb, "RCEXBA2" as rcexba2 FROM "BATI_A30_EXONE_PEV" WHERE "ID_EX"=\'$sIdEx\'';
$aSql['sqlite']['exon_suf']='SELECT *, "ID_SUF" as id_suf, "RNUEXN" as rnuexn, "CCOLLOC" as ccolloc, "GNEXTS" as gnexts, "JFINEX" as jfinex, "PEXN" as pexn FROM "NON_BATI_A30_EXON_SUF" WHERE "ID_SUF"=\'$sIdSuf\' and "RNUEXN"=\'$sRnuexn\'';
$aSql['sqlite']['lot_local']='SELECT *, "ID_BAT" as id_bat, "KLOT" as klot, "DNUPDL" as dnupdl, "DNULOT" as dnulot, "DNUMQL" as dnumql, "DDENQL" as ddenql FROM "LOT_LOCAL" WHERE "ID_BAT"=\'$sIdBat\' and "KLOT"=\'$sKlot\'';
$aSql['sqlite']['get_id_pev']='SELECT "ID_PEV" as id_pev FROM "BATI_A21_DESCR_PEV" WHERE "ID_BAT"=\'$sIdBat\'';
$aSql['sqlite']['get_id_ex_pev']='SELECT "ID_EX" as id_ex FROM "BATI_A30_EXONE_PEV" WHERE "ID_PEV"=\'$sIdPev\'';
$aSql['sqlite']['get_klot']='SELECT "KLOT" as klot FROM "LOT_LOCAL" WHERE "ID_BAT"=\'$sIdBat\'';
$aSql['sqlite']['get_id_suf']='SELECT "ID_SUF" as id_suf FROM "NON_BATI_A21_DESCR_SUF" WHERE "ID_PAR"=\'$sIdPar\'';
$aSql['sqlite']['get_rnuexn']='SELECT "RNUEXN" as rnuexn FROM "NON_BATI_A30_EXON_SUF" WHERE "ID_SUF"=\'$sIdSuf\'';
$aSql['sqlite']['get_id_pro']='SELECT "ID_PRO" as id_pro FROM "PROPRIETAIRE_COURANT" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['sqlite']['get_id_bat']='SELECT "ID_BAT" as id_bat FROM "BATI_A00_IDENT_LOCAL" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
$aSql['sqlite']['get_id_par']='SELECT "ID_PAR" as id_par FROM "NON_BATI_A10_DESCR_PARCELLE" WHERE "ID_DNUPRO"=\'$sIdDnupro\'';
?>
\ No newline at end of file
<?php
/**
* \file Mj_Attribute.class.inc
* \brief Mj_Attribute.class.inc \n \n Ce fichier contient la classe php Mj_Attribute
*
* Cette classe permet de sélectionner les attributs nécessaires afin de traiter la partie Attribute.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Attribute
* \brief Mj_Attribute Class \n \n Mj_Attributes est une classe PHP qui hérite de la classe Mj_Attribute.
*
* Cette classe permet de sélectionner les attributs nécessaires afin de traiter la partie Attribute.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
class Mj_Attribute extends Mj {
/**
* Cette méthode métier permet de récupérer l'attribut parmi les attributs d'une emprise calculée sur la parcelle d'un compte communal.
* \param $aAttributes Tableau.
* \param $aField Tableau des libellés issue des properties.
* \private
*/
function __construct($aAttributes,$aField=Array()){
$aAttribute=array();
$aAttribute["label"]=$aAttributes["label"];
$aAttribute["title"]=$aField[$aAttributes["label"]];
$aAttribute["value"]=$aAttributes["value"];
$this->aFields=$aAttribute;
}
/**
* Cette méthode permet de construire un tableau correspondant au relevé de propriété.
* \return Retourne un tableau associatif correspondant au relevé de propriété.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['label']=$this->aFields["label"];
$aExportFields['title']=$this->aFields["title"];
$aExportFields['value']=$this->aFields["value"];
}
return $aExportFields;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Attributes.class.inc
* \brief Mj_Attributes.class.inc \n \n Ce fichier contient la classe php Mj_Attributes
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Attributes d'une Emprise.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Attributes
* \brief Mj_Attributes Class \n \n Mj_Attributes est une classe PHP qui hrite de la classe Mj.
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Attributes d'une Emprise.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Attribute.class.inc");
class Mj_Attributes extends Mj {
/**
* Tableau associatif comportant la liste des objets Attribut d'une Emprise.
*/
var $aAttributes =array();
/**
* Cette mthode mtier permet de rcuprer les attributs d'une emprise calcule sur la parcelle d'un compte communal.
* \param $aAttributesEmprise Tableau des attributs.
* \param $aField Tableau des libells issue des properties.
* \private
* \return Un tableau HTML sous la forme d'une chane de caractres.
*/
function __construct($aAttributesEmprise,$aField=Array()){
foreach ($aAttributesEmprise as $sAttributeEmprise => $aValue){
if (is_array($aValue)){
foreach ($aValue as $sLabel => $sValue){
$aAttribute["label"]=$sLabel;
$aAttribute["value"]=$sValue;
array_push($this->aAttributes,new Mj_Attribute($aAttribute,$aField));
}
}
}
$aTest["test"]="test";
$this->aFields=$aTest;
$this->aObjects=$this->aAttributes;
}
/**
* Cette mthode permet de construire un tableau.
* \return Retourne un tableau associatif.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}
return $aExportFields;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Bati.class.inc
* \brief Mj_Bati.class.inc \n \n Ce fichier contient la classe php Mj_Bati
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie bati.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Bati
* \brief Mj_Bati Class \n \n Mj_Bati est une classe PHP qui hrite de la classe Mj.
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie bti.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Pev.class.inc");
require_once ("Mj_Lot_Local.class.inc");
class Mj_Bati extends Mj {
/**
* Tableau associatif comportant la liste des objets Pev du bti
*/
var $aPev=array();
/**
* Tableau associatif comportant la liste des objets Lot_Local du bti
*/
var $aLotLocal=array();
/**
* \param $sIdBat Identifiant de bti
* \param $oBD Objet de connexion PDO_BD
*/
function __construct($sIdBat,$oBD, $sEncryptedKey=''){
$this->sEncryptKey = $sEncryptedKey;
include $this->sRessourcesFile;
$this->sSql=$aSql[$oBD->sgbd]['bati'];
$this->sSql=str_replace('$sIdBat', $sIdBat, $this->sSql);
$oPDOresult= $oBD->execute($this->sSql);
if ($oBD->enErreur()) {
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
$this->aFields=$oBD->ligneSuivante($oPDOresult);
$this->sStatus=0;
}
$this->aPev=$this->get_aPev($oBD);
$this->aPro=$this->get_aPro($oBD);
$this->aLotLocal=$this->get_aLot_Local($oBD);
$this->aObjects=array_merge ($this->aPev, $this->aLotLocal, $this->aPro);
}
/**
* Cette mthode permet de rcuprer les ID_PRO en fonction d'un ID_DNUPRO donn.
* \return Retourne un tableau de ID_PRO.
*/
function get_aId_Pro($oBD){
if($this->isEmpty()){
$aIdPro="";
}else{
include $this->sRessourcesFile;
$aIdPro=array();
$this->sSql=$aSql[$oBD->sgbd]['get_id_pro'];
$this->sSql=str_replace('$sIdDnupro', $this->encrypt($this->aFields['b_iddnupro']), $this->sSql);
$oPDOresult= $oBD->execute($this->sSql);
if ( $oBD->enErreur()) {
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
while($aResultFetch=$oBD->tableauSuivant ($oPDOresult)){
array_push($aIdPro,$aResultFetch[0]);
$this->sStatus=0;
}
}
}
return $aIdPro;
$oPDOresult=$oBD->fermeResultat();
}
/**
* Cette mthode permet de rcuprer la liste des objets Proprietaire
* \return Retourne un tableau d'objets Proprietaire
*/
function get_aPro($oBD){
$aPro=array();
if($this->isEmpty()){
$aPro="";
}else{
$aIdPro=$this->get_aId_Pro($oBD);
foreach($aIdPro as $sIdPro){
array_push($aPro,new Mj_Proprietaire($this->aFields['b_iddnupro'],$sIdPro,$oBD, $this->sEncryptKey));
}
}
return $aPro;
}
/**
* Cette mthode permet de rcuprer les Id_Pev en fonction d'un Id_Bat donn.
* \return Retourne un tableau de chanes de caractres.
*/
function get_aId_Pev($oBD){
if($this->isEmpty()){
$aIdPev="";
}else{
include $this->sRessourcesFile;
$aIdPev=array();
$this->sSql=$aSql[$oBD->sgbd]['get_id_pev'];
$this->sSql=str_replace('$sIdBat', $this->aFields['id_bat'], $this->sSql);
$oPDOresult=$oBD->execute($this->sSql);
if ($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
while($aResultFetch=$oBD->tableauSuivant ($oPDOresult)){
array_push($aIdPev,$aResultFetch[0]);
$this->sStatus=0;
}
}
}
return $aIdPev;
}
/**
* Cette mthode permet de rcuprer la liste des objets Pev du bti
* \return Retourne un tableau d'objets Pev
*/
function get_aPev($oBD){
$aPev=array();
if($this->isEmpty()){
$aPev="";
}else{
$aIdPev=$this->get_aId_Pev($oBD);
foreach($aIdPev as $sValue){
array_push($aPev,new Mj_Pev($sValue,$oBD));
}
}
return $aPev;
}
/**
* Cette mthode permet de rcuprer les Klot en fonction d'un Id_Bat donn
* \return Retourne un tableau de chanes de caractres
*/
function get_aKlot($oBD){
if($this->isEmpty()){
$aKlot="";
}else{
include $this->sRessourcesFile;
$aKlot=array();
$this->sSql=$aSql[$oBD->sgbd]['get_klot'];
$this->sSql=str_replace('$sIdBat', $this->aFields['id_bat'], $this->sSql);
$oPDOresult=$oBD->execute($this->sSql);
if ( $oBD->enErreur()) {
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
while($aResultFetch=$oBD->tableauSuivant ($oPDOresult)){
array_push($aKlot,$aResultFetch[0]);
$this->sStatus=0;
}
}
}
return $aKlot;
}
/**
* Cette mthode permet de rcuprer la liste des objets Lot-Local du bti
* \return Retourne un tableau d'objets Lot-Local
*/
function get_aLot_Local($oBD){
$aLotLocal=array();
if($this->isEmpty()){
$aLotLocal="";
}else{
$aKlot=$this->get_aKlot($oBD);
foreach($aKlot as $sKlot){
array_push($aLotLocal,new Mj_Lot_Local($this->aFields['id_bat'],$sKlot,$oBD));
}
}
return $aLotLocal;
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit.
* \return Retourne un tableau associatif correspondant au relev de proprit.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['date']=$this->getJdatat();
$aExportFields['section']=$this->aFields['ccosec'];
$aExportFields['num_plan']=$this->aFields['dnupla'];
$aExportFields['cp']=$this->aFields['ccoplc'];
$aExportFields['voirie']=$this->getVoirie();
$aExportFields['adresse']=$this->aFields['dvoilib'];
$aExportFields['code_rivoli']=$this->aFields['ccoriv'];
$aExportFields['bat']=$this->aFields['dnubat'];
$aExportFields['ent']=$this->aFields['desc'];
$aExportFields['niv']=$this->aFields['dniv'];
$aExportFields['num_de_porte']=$this->aFields['dpor'];
$aExportFields['num_invar']=$this->getNumeroInvar();
$aExportFields['m_eva']=$this->aFields['ccoeva'];
$aExportFields['nat_loc']=$this->getNatLoc();
$aExportFields['tx_om']=$this->aFields['gtauom'];
$aExportFields['s_tar']=$this->getSTar();
$aExportFields['af']=$this->getAf();
$aExportFields['cat']=$this->getCat();
$aExportFields['revenu_cadastral']=$this->getRevenuCadastral();
$aExportFields['revenu_cadastral_txt']=$this->setFloatToText($this->getRevenuCadastral());
$aExportFields['dvlpera']=$this->aFields['dvlpera'];
$aExportFields['b_dnupro']=$this->aFields['b_dnupro'];
$aExportFields['b_iddnupro']=$this->aFields['b_iddnupro'];
$aExportFields['dteloc']=$this->aFields['dteloc'];
$aExportFields['dvltrt']=$this->aFields['dvltrt'];
$aExportFields['dnumql']=$this->aFields['dnumql'];
$aExportFields['ddenql']=$this->aFields['ddenql'];
//$aExportFields['nat_exo']=$this->getNatExo();
//$aExportFields['exoneration']=$this->getExoneration();
//$aExportFields['revenu_cadastral_avec_exo']=$this->getRevenuCadastralAvecExo();
//$aExportFields['revenu_cadastral_avec_pp']=$this->getRevenuCadastralAvecPP();
$aExportFields['num_invar']=$this->aFields['invar'];
$aExportFields['ddenql']=$this->aFields['ddenql'];
$aExportFields['local_type']=$this->aFields['dteloc'];
$aExportFields['nature']=$this->aFields['cconlc'];
$aExportFields['lib_nature']=$this->aFields['lib_cconlc'];
$aExportFields['occupation']=$this->aFields['dnatlc'];
$aExportFields['lib_occupation']=$this->getOccupation();
$aExportFields['date_mut']=$this->getJdatat_full();
$aExportFields['annee_constr']=$this->aFields['jannat'];
$aExportFields['niveaux']=$this->aFields['dnbniv'];
$aExportFields['libcom']=$this->aFields['libcom'];
}
return $aExportFields;
}
/**
* Cette mthode permet de rcuprer les deux derniers caractres de l'attribut Jdatat et d'y ajouter 1.
* \return Retourne une chane de caractres.
*/
function getJdatat_full(){
$sjdatat=$this->aFields['jdatat'];
if ($sjdatat != ""){
if (preg_match( '`^\d{1,2}/\d{1,2}/\d{4}$`' , $sjdatat ) ){
$sNewJdatat_full=$sjdatat;
}else if (preg_match( '`^\d{1,2}/\d{1,2}/\d{2}$`' , $sjdatat ) ){
$sNewJdatat_full=$sjdatat;
}else{
$sNewJdatat_full=substr($sjdatat,0,2)."/".substr($sjdatat,2,2)."/".substr($sjdatat,4,4);
}
}
return $sNewJdatat_full;
}
/**
* Cette mthode permet de rcuprer les deux derniers caractres de l'attribut Jdatat et d'y ajouter 1.
* \return Retourne une chane de caractres.
*/
function getJdatat(){
$sNewJdatat=$this->aFields['jdatat'];
if (preg_match( '`^\d{1,2}/\d{1,2}/\d{4}$`' , $sNewJdatat ) ){
$sNewJdatat=substr("$sNewJdatat", 6, 4)+1;
$sNewJdatat=(string)(substr("$sNewJdatat", 2, 2));
}else if (preg_match( '`^\d{1,2}/\d{1,2}/\d{2}$`' , $sNewJdatat ) ){
$sNewJdatat=(string) (substr("$sNewJdatat", 6, 2)+1);
if(strlen($sNewJdatat) == 1){
$sNewJdatat='0'.$sNewJdatat;
}
$sNewJdatat=(string) (substr("$sNewJdatat", -2, 2));
}else{
$sNewJdatat=substr("$sNewJdatat", 4, 4)+1;
$sNewJdatat=(string)(substr("$sNewJdatat", 2, 2));
}
return $sNewJdatat;
}
/**
* Cette mthode permet de supprimer le code commune de l'attribut invar.
* \return Retourne une chane de caractres.
*/
function getNumeroInvar(){
$sNumeroInvar=$this->aFields['invar'];
$sNumeroInvar= substr("$sNumeroInvar", 3, 7);
return $sNumeroInvar;
}
/**
* Cette mthode permet de concatner les attributs dnvoiri et indic.
* \return Retourne une chane de caractres.
*/
function getVoirie(){
$sVoirie=ltrim($this->aFields['dnvoiri'],'0').$this->aFields['dindic'];
return $sVoirie;
}
/**
* Cette mthode permet de rcuprer la valeur de l'attribut 's_tar' dans le tableau aPev.
* \return Retourne une chane de caractres.
*/
function getSTar(){
if(count($this->aPev)==1){
return $this->aPev[0]->aFields['ccostb'];
}else{
return '';
}
}
/**
* Cette mthode permet de rcuprer la valeur de l'attribut 'af' dans le tableau aPev.
* \return Retourne une chane de caractres.
*/
function getAf(){
if(count($this->aPev)==1){
return $this->aPev[0]->aFields['ccoaff'];
}else{
return '';
}
}
/**
* Cette mthode permet de rcuprer la valeur de l'attribut 'cat' dans le tableau aPev.
* \return Retourne une chane de caractres.
*/
function getCat(){
if(count($this->aPev)==1){
return $this->aPev[0]->aFields['dcapec'];
}else{
return '';
}
}
/**
* Cette mtode permet de rcuprer la somme du revenu cadastral pour un bti avec exonration de type EP, CD, CR, DR ou NI.
* \return Retourne un entier.
*/
/*function getRevenuCadastralAvecExo(){
$iRevenuCadastralAvecExo=0;
foreach ($this->aPev as $oPev) {
if(ereg ("EP|CD|CR|DR|NI|ND", $oPev->aExportFields['nat_exo'])){
$iRevenuCadastralAvecExo=$iRevenuCadastralAvecExo + $oPev->aExportFields['revenu_cadastral'];
}
}
return $iRevenuCadastralAvecExo;
}*/
/**
* Cette mtode permet de rcuprer la somme du revenu cadastral pour un bti avec exonration de type PP.
* \return Retourne un entier.
*/
/*function getRevenuCadastralAvecPP(){
$iRevenuCadastralAvecPP=0;
foreach ($this->aPev as $oPev) {
if((ereg ("PP", $oPev->aExportFields['nat_exo'])) && ((int) ($this->aFields['dnupev']>1))){
$iRevenuCadastralAvecPP=$iRevenuCadastralAvecPP + $oPev->aExportFields['revenu_cadastral'];
}
}
return $iRevenuCadastralAvecPP;
}
/**
* Cette mtode permet de rcuprer la somme du revenu cadastral pour un bti.
* \return Retourne un entier.
*/
function getRevenuCadastral(){
$iRevenuCadastral=0;
foreach($this->aPev as $oPev){
$iRevenuCadastral=$iRevenuCadastral+ (int) $oPev->getRevenuCadastral();
}
return $iRevenuCadastral;
}
/**
* Cette mtode permet de rcuprer la somme du revenu cadastral pour un bti.
* \return Retourne un float.
*/
function getRevenuCadastralfloat(){
$iRevenuCadastral=0;
foreach($this->aPev as $oPev){
$fRevenuCadastral=$fRevenuCadastral+ (float) $oPev->getRevenuCadastral();
}
return $fRevenuCadastral;
}
/**
* Cette mthode permet de rcuprer la somme des exonrations pour un bti.
* \return Retourne un entier.
*/
function getExoneration($sLccodem){
$iExoneration=0;
foreach ($this->aPev as $oPev){
if (($sLccodem!='') && (ereg ("PP", $oPev->getNatExo())) && ((int) ($this->aFields['dnupev']>1))){
$iExoneration=$iExoneration + $oPev->getRevenuCadastral();
}elseif($oPev->getNatExo()!=''){
$iExoneration=$iExoneration + $oPev->getRevenuCadastral();
}
}
return $iExoneration;
}
/**
* Cette mthode permet de rcuprer la somme des exonrations pour un bti.
* \return Retourne un float.
*/
function getExonerationfloat($sLccodem){
$fExoneration=0;
foreach ($this->aPev as $oPev){
if (($sLccodem!='') && (ereg ("PP", $oPev->getNatExo())) && ((int) ($this->aFields['dnupev']>1))){
$fExoneration=$fExoneration + $oPev->getRevenuCadastralfloat();
}elseif($oPev->getNatExo()!=''){
$fExoneration=$fExoneration + $oPev->getRevenuCadastralfloat();
}
}
return $fExoneration;
}
/**
* Cette mthode permet de retourner la nature du local.
* \return Retourne une chane de caractres qui peut tre valide (la chane de caractres a t vrifie d'aprs des exemples de relevs de proprit) ou non valide (la chane de caractres n'a pas pu tre vrifie).
*/
function getNatLoc(){
switch($this->aFields["cconlc"]){
case 'MA' :
$sNatLoc="MAIS"; // Cas valid
break;
case 'AP' :
$sNatLoc="APP"; // Cas valid
break;
case 'DE' :
$sNatLoc=$this->getNatureDep(); // Cf fonction getNatureDep()
break;
case 'DC' :
$sNatLoc="DLC"; // cas non valid
break;
case 'LC' :
$sNatLoc="L.COM"; // Cas valid
break;
case 'CM' :
$sNatLoc="CM"; // Cas valid
break;
case 'CA' :
$sNatLoc="CA"; // Cas valid
break;
case 'CD' :
$sNatLoc="DEP.C"; // Cas valid
break;
case 'CB' :
$sNatLoc="L.DIV"; // Cas valid
break;
case 'ME' :
$sNatLoc="M.EXC"; // Cas valid
break;
case 'MP' :
$sNatLoc="M.PAR"; // Cas valid
break;
case 'SM' :
$sNatLoc="SOLM"; // Cas non valid
break;
case 'AU' :
$sNatLoc="AU"; // Cas valid
break;
case 'CH' :
$sNatLoc="CHANT"; // Cas valid
break;
case 'U ' :
$sNatLoc="E.IND"; // Cas valid
break;
case 'US' :
$sNatLoc="US"; // Cas valid
break;
case 'UG' :
$sNatLoc="AGAZ"; // Cas non valid
break;
case 'UE' :
$sNatLoc="UE"; // Cas valid
break;
case 'U1' :
$sNatLoc="GARE"; // Cas non valid
break;
case 'U2' :
$sNatLoc="GTRI"; // Cas non valid
break;
case 'U3' :
$sNatLoc="GAMAT"; // Cas non valid
break;
case 'U4' :
$sNatLoc="GAMAG"; // Cas non valid
break;
case 'U5' :
$sNatLoc="GDETI"; // Cas non valid
break;
case 'U6' :
$sNatLoc="GDERE"; // Cas non valid
break;
case 'U7' :
$sNatLoc="GMATR"; // Cas non valid
break;
case 'U8' :
$sNatLoc="GEMR"; // Cas non valid
break;
case 'U9' :
$sNatLoc="GSTUS"; // Cas non valid
break;
case 'AT' :
$sNatLoc="AT"; // Cas valid
break;
default :
$sNatLoc=substr($this->aFields["cconlc"],0,4);
break;
}
return $sNatLoc;
}
/**
* Cette mthode permet de retourner la nature de dpendance.
* \return Retourne une chane de caractres qui peut tre valide (la chane de caractres a t vrifie d'aprs des exemples de relevs de proprit) ou non valide (la chane de caractres n'a pas pu tre vrifie).
*/
function getNatureDep(){
switch($this->aFields["cconad"]){
case 'GA' :
$sNatureDep="GAR"; // Cas valid
break;
case 'CV' :
$sNatureDep="CAVE"; // Cas valid
break;
case 'GR' :
$sNatureDep="GREN"; // Cas valid
break;
case 'TR' :
$sNatureDep="TERR"; // Cas non valid
break;
case 'GP' :
$sNatureDep="GPARK"; // Cas valid
break;
case 'GC' :
$sNatureDep="GRCA"; // Cas non valid
break;
case 'BX' :
$sNatureDep="BOX"; // Cas valid
break;
case 'PK' :
$sNatureDep="PARK"; // Cas valid
break;
case 'CL' :
$sNatureDep="CELL"; // Cas non valid
break;
case 'BD' :
$sNatureDep="BUAN"; // Cas non valid
break;
case 'BC' :
$sNatureDep="BUCH"; // Cas non valid
break;
case 'RS' :
$sNatureDep="REMI"; // Cas non valid
break;
case 'TT' :
$sNatureDep="TT"; // Cas valid
break;
case 'PI' :
$sNatureDep="P.IND"; // Cas valid
break;
case 'PA' :
$sNatureDep="AGREM"; // Cas valid
break;
case 'CD' :
$sNatureDep="CHDO"; // Cas non valid
break;
case 'DC' :
$sNatureDep="DEP.C"; // Cas valid
break;
case 'JH' :
$sNatureDep="J.HIV"; // Cas valid
break;
case 'PS' :
$sNatureDep="PISC"; // Cas valid
break;
case 'SR' :
$sNatureDep="SERR"; // Cas non valid
break;
default :
$sNatureDep=substr($this->aFields["cconad"],0,4);
break;
}
return $sNatureDep;
}
/**
* Cette mthode permet de formater un dcimal pour l'affichage.
* \return Retourne une chaine
*/
function setFloatToText($fFloat){
return number_format($fFloat,2,'.','');
}
/**
* Cette mthode permet de retourner l'occupation du logement
* \return Retourne une chane de caractres qui peut tre valide (la chane de caractres a t vrifie d'aprs des exemples de relevs de proprit) ou non valide (la chane de caractres n'a pas pu tre vrifie).
*/
function getOccupation(){
switch($this->aFields["dnatlc"]){
case 'P' :
$sOccupation="Proprietaire ou Usufruitier";
break;
case 'L' :
$sOccupation="Location autre que propritaire ou usufruitier";
break;
case 'V' :
$sOccupation="Vacant";
break;
case 'T' :
$sOccupation="Location, non affecte lhabitation, soumise TVA";
break;
case 'D' :
$sOccupation="Habitation principale occupe par le propritaire";
break;
default :
$sOccupation=substr($this->aFields["dnatlc"],0,1);
break;
}
return $sOccupation;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Bati_Parcelle.class.inc
* \brief Mj_Bati_Parcelle.class.inc \n \n Ce fichier contient la classe php Mj_Bati_Parcelle
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter les batis associs une parcelle.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
* \author Fabien Marty <fabien.marty@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Bati.class.inc");
require_once ("Mj_Proprietaire.class.inc");
class Mj_Bati_Parcelle extends Mj {
/**
* Tableau associatif comportant la liste des objets Bati de la parcelle.
*/
var $aBat=array();
/**
* Chaine qui stocke l'anne de rfrence des donnes casdatrales.
*/
var $sAnneeReference;
/**
* \param $sIdPar Identifiant de la parcelle
* \param $oBD Objet de connexion
*/
function __construct($sIdPar,$oBD){
include $this->sRessourcesFile;
$this->sSql=$aSql[$oBD->sgbd]['bati_parcelle'];
$this->sSql=str_replace('sIdPar',$sIdPar,$this->sSql);
$oPDOresult=$oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
$this->sStatus=0;
$this->aFields=$oBD->ligneSuivante ($oPDOresult);
}
$oPDOresult=$oBD->fermeResultat();
$this->aBat=$this->get_aBat($oBD,$sIdPar);
$this->sSql=$aSql[$oBD->sgbd]['annee_reference'];
$oPDOresult=$oBD->execute($this->sSql);
if ($oBD->erreurRencontree != 0){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
$aAnneeReference=$oBD->ligneSuivante ($oPDOresult);
$this->sAnneeReference=$aAnneeReference['ANNEE'];
}
$this->aObjects=$this->aBat;
}
/**
* Cette mthode permet de rcuprer les ID_BAT en fonction d'un ID_PAR donn
* \param $oBD Objet de connexion
* \param $sIdPar Chaine identifiant de la parcelle
* \return Retourne un tableau de ID_BAT
*/
function get_aId_Bat($oBD,$sIdPar){
if($this->isEmpty()){
$aIdBat="";
}else{
include $this->sRessourcesFile;
$aIdBat=array();
$this->sSql=$aSql[$oBD->sgbd]['get_par_id_bat'];
$this->sSql=str_replace('sIdPar',$sIdPar,$this->sSql);
$oPDOresult=$oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
while($aResultFetch=$oBD->tableauSuivant ($oPDOresult)){
array_push($aIdBat,$aResultFetch[0]);
$this->sStatus=0;
}
}
}
return $aIdBat;
}
/**
* Cette mthode permet de rcuprer la liste des objets BATI
* \param $oBD Objet de connexion
* \param $sIdPar Chaine identifiant de la parcelle
* \return Retourne un tableau d'objets BATI
*/
function get_aBat($oBD,$sIdPar){
$aBat=array();
if($this->isEmpty()){
$aBat="";
}else{
$aIdBat=$this->get_aId_Bat($oBD,$sIdPar);
foreach($aIdBat as $sIdBat){
array_push($aBat,new Mj_Bati($sIdBat,$oBD));
}
}
return $aBat;
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit.
* \return Retourne un tableau associatif correspondant au relev de proprit.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['id_par']=$this->aFields['id_par'];
$aExportFields['annee_de_maj']=$this->sAnneeReference;
$aExportFields['dep_dir']=$this->getDepdir();
$aExportFields['code_dep']=$this->aFields['ccodep'];
$aExportFields['code_com']=$this->aFields['ccocom'];
$aExportFields['lib_dep']=$this->aFields['libdep'];
$aExportFields['com']=$this->getCom();
$aExportFields['libcom']=$this->aFields['libcom'];
$aExportFields['role']="";
$aExportFields['vue']="";
$aExportFields['contenance']=$this->aFields['dcntpa'];
$aExportFields['adresse']=$this->getAdresseParcelle();
$aExportFields['total_valeur_locative']=$this->getValeurLocativeBati();
}
return $aExportFields;
}
/**
* Cette mthode permet de concatner les attributs ccodep et ccodir.
* /return Retourne une chane de caractres correspondant au DEP DIR du RP.
*/
function getDepdir(){
$sDepdir=$this->aFields['ccodep']." ".$this->aFields['ccodir'];
return $sDepdir;
}
/**
* Cette mthode permet de concatner les attributs ccocom et libcom.
* /return Retourne une chane de carcatres correspondant au COM du RP.
*/
function getCom(){
$sCom=$this->aFields['ccocom']." ".$this->aFields['libcom'];
return $sCom;
}
/**
* Cette mthode permet de concatner les attributs cconvo et dvoilib.
* \return Retourne une chane de caractres.
*/
function getAdresseParcelle(){
$sAdresseParcelle=ltrim(rtrim($this->aFields['dnvoiri']),'0').rtrim($this->aFields['dindic'])." ".rtrim($this->aFields['cconvo'])." ".rtrim($this->aFields['dvoilib']);
return $sAdresseParcelle;
}
/**
* Cette mthode permet de rcuprer la valeur locative totale du bti.
* \return Retourne un double
*/
function getValeurLocativeBati(){
$iValeurLocativeBati=0;
foreach($this->aBat as $oBat){
$iValeurLocativeBati=$oBat->aFields['dvlpera']+$iValeurLocativeBati;
}
return $iValeurLocativeBati;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Bati_Parcelles.class.inc
* \brief Mj_Bati_Parcelles.class.inc \n \n Ce fichier contient la classe php Mj_Bati_Parcelles
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter les batis associs une parcelle.
*
* \author Olivier Gayte <olivier.gayte@veremes.com>
* \author Fabien Marty <fabien.marty@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Bati_Parcelle.class.inc");
class Mj_Bati_Parcelles extends Mj {
/**
* \param $aIdPar Identifiant de la parcelle
* \param $oBD Objet de connexion
*/
function __construct($aIdPar,$oBD){
$i=0;
while ($aIdPar[$i]){
array_push ($this->aObjects, new Mj_Bati_Parcelle($aIdPar[$i],$oBD));
$i++;
}
}
/**
* \brief Cette mthode permet de construire un tableau.
* \return Retourne un tableau associatif.
*/
function getExportFields(){
$aExportFields=array();
$aExportFields['sum_contenance_m2']=$this->getSurfaceCadastraleM2();
$aExportFields['sum_valeur_locative']=$this->getValeurLocative();
return $aExportFields;
}
/**
* \brief Rcupration de la surface totale des parcelles en mettre carr.
*/
function getSurfaceCadastraleM2(){
$dSurfaceCadastraleM2=0;
foreach($this->getObjects('Mj_Bati_Parcelle') as $oBatiPar){
$aFields=$oBatiPar->getExportFields();
$dSurfaceCadastraleM2=((int) $aFields['contenance'])+$dSurfaceCadastraleM2;
}
return $dSurfaceCadastraleM2;
}
/**
* \brief Rcupration des valeurs locatives
*/
function getValeurLocative(){
$dValeurLocative=0;
foreach($this->getObjects('Mj_Bati_Parcelle') as $oBatiPar) {
$aFields=$oBatiPar->getExportFields();
$dValeurLocative=$aFields['total_valeur_locative']+$dValeurLocative;
}
return $dValeurLocative;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Compte_Communal_Parcelle.class.inc
* \brief Mj_Compte_Communal_Parcelle.class.inc \n \n Ce fichier contient la classe php Mj_Compte_Communal_Parcelle
*
* Cette classe permet de s�lectionner les attributs n�cessaires afin de traiter un relev� de propri�t� en fonction d'un compte communal et d'un num�ro de parcelle.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj_Compte_Communal.class.inc");
class Mj_Compte_Communal_Parcelle extends Mj_Compte_Communal {
/**
* Identifiant national de la parcelle sur 15 caract�res.
*/
var $sIdPar;
/**
* Bool�en servant � savoir si on recherche une parcelle avec tout les batiments
*/
var $bFP=false;
/**
* \param $sIdDnupro peut etre vide, un identifiant sera d�fini par une requete sql sur l'identifiant parcelle
* \param $sIdPar Identifiant de la parcelle.
* \param $oBD Objet de connexion PDO_BD
*/
function __construct($sIdDnupro,$sIdPar,$oBD,$bFP=false,$sEncryptedKey='',$AllSuf=false){
$this->bAllSuf=$AllSuf;
$this->sEncryptKey=$sEncryptedKey;
include $this->sRessourcesFile;
if($sIdDnupro==""){
$sSql=$aSql[$oBD->sgbd]['get_id_dnupro'];
$sSql=str_replace('idparpro', $sIdPar, $sSql);
$oPDOresult=$oBD->execute($sSql);
$aIdDnuProSql=$oBD->ligneSuivante ($oPDOresult);
$sIdDnupro=$aIdDnuProSql['iddnupro'];
$sDnupro=$aIdDnuProSql['dnupro'];
$oPDOresult=$oBD->fermeResultat();
}
$this->sSql=$aSql[$oBD->sgbd]['compte_communal_parcelle'];
$this->sSql=str_replace('$sIdDnupro', $this->encrypt($sIdDnupro), $this->sSql);
$this->sSql=str_replace('$sIdPar', $sIdPar, $this->sSql);
$oPDOresult= $oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
if($aCompteCom=$oBD->ligneSuivante($oPDOresult)){
$this->aFields=$aCompteCom;
$this->aFields['id_dnupro']=$sIdDnupro;
//$this->aFields['dnupro']=$sIdDnupro;
$this->sStatus=0;
$oPDOresult=$oBD->fermeResultat();
$this->aPro=$this->get_aPro($oBD);
$this->aBat=$this->get_aBat($oBD,$bFP);
$this->aPar=$this->get_aPar($oBD,$sIdPar,$sIdDnupro);
// r�cup�ration de l'ann�e de r�f�rence
$this->sSql=$aSql[$oBD->sgbd]['annee_reference'];
$oPDOresult=$oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
$aAnneeReference=$oBD->ligneSuivante ($oPDOresult);
$this->sAnneeReference=$aAnneeReference['ANNEE'];
}
$oPDOresult=$oBD->fermeResultat();
$this->aObjects=array_merge ($this->aPro,$this->aBat,$this->aPar);
}else{
$this->sStatus=1;
$this->sMessage="Aucun compte communal trouv� pour la parcelle : ".$sIdPar;
$oPDOresult=$oBD->fermeResultat();
}
}
}
/**
* Cette m�thode permet de r�cup�rer les ID_BAT en fonction d'un ID_DNUPRO donn�
* \return Retourne un tableau de ID_BAT
*/
function get_aId_Bat($sIdPar, $oBD, $bFP){
if($this->isEmpty()){
$aIdBat="";
}else{
include $this->sRessourcesFile;
$aIdBat=array();
if (!$bFP){
$this->sSql=$aSql[$oBD->sgbd]['get_id_bat_parcelle'];
$this->sSql=str_replace('$sIdDnupro', $this->aFields['id_dnupro'], $this->sSql);
$this->sSql=str_replace('$sIdPar', $this->aFields['id_par'], $this->sSql);
}else{
$this->sSql=$aSql[$oBD->sgbd]['get_par_id_bat'];
$this->sSql=str_replace('sIdPar', $this->aFields['id_par'], $this->sSql);
}
$oPDOresult= $oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
while($aResultFetch = $oBD->tableauSuivant ($oPDOresult)){
array_push($aIdBat,$aResultFetch[0]);
$this->sStatus=0;
}
}
}
return $aIdBat;
}
/**
* Cette m�thode permet de r�cup�rer la liste des objets BATI
* \param $oBD Objet de connexion PDO_BD
* \return Retourne un tableau d'objets BATI
*/
function get_aBat($oBD,$bFP){
$aBat=array();
if($this->isEmpty()){
$aBat="";
}else{
$aIdBat=$this->get_aId_Bat($sIdPar,$oBD,$bFP);
foreach($aIdBat as $sIdBat){
array_push($aBat,new Mj_Bati($sIdBat,$oBD, $this->sEncryptKey));
}
}
return $aBat;
}
/**
* Cette m�thode permet de r�cup�rer la liste des objets PARCELLE
* \param $oBD Objet de connexion PDO_BD
* \param $sIdPar Identifiant de la parcelle
* \param $sIdDnupro Identifiant du propri�taire
* \return Retourne un tableau d'objets PARCELLE
*/
function get_aPar($oBD,$sIdPar,$sIdDnupro){
$aPar=array();
if($this->isEmpty()){
$aPar="";
}else{
$aIdPar=Array($sIdPar);
foreach($aIdPar as $sIdPar){
array_push($aPar,new Mj_Parcelle($oBD,$sIdPar,$sIdDnupro,$this->sEncryptKey,$this->bAllSuf));
}
}
return $aPar;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Bati_Parcelles.class.inc
* \brief Mj_Bati_Parcelles.class.inc \n \n Ce fichier contient la classe php Mj_Bati_Parcelles
*
* Cette classe permet de s�lectionner les attributs n�cessaires afin de traiter les batis associ�s � une parcelle.
*
* \author Damien Bedel
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Compte_Communal_Parcelle.class.inc");
class Mj_Compte_Communal_Parcelles extends Mj {
/**
* \param $aIdPar Tableau Identifiants des parcelles
* \param $oBD Objet de connexion
* \param $properties Tableau des propri�t�s
* \param $sLayerTypeParcelle Chaine Type de g�om�trie des parcelles
*/
function __construct($aIdPar,$oBD,$properties,$sLayerTypeParcelle){
$i=0;
while ($aIdPar[$i]){
array_push ($this->aObjects, new Mj_Compte_Communal_Parcelle("",$aIdPar[$i],$oBD));
$i++;
}
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptParcelle){
foreach($oCptParcelle->getObjects('Mj_Parcelle') as $oParcelle){
$oParcelle->getEmprises($properties,$oBD,$sLayerTypeParcelle);
foreach($oParcelle->getObjects('Mj_Emprises') as $oEmprises){
if($oEmprises->isError()){
$this->sStatus=1;
$this->sMessage="Erreur lors des r�cup�rations des emprises, consulter le error.log";
}
}
}
}
}
/**
* \brief R�cup�ration de la surface totale des parcelles
*/
function getSurfaceCadastrale() {
$dSurfaceCadastrale = 0;
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptCom) {
$aFields=$oCptCom->getExportFields();
$dSurfaceCadastrale = $aFields['total_contenance'] + $dSurfaceCadastrale;
}
return $dSurfaceCadastrale;
}
/**
* \brief R�cup�ration de la surface totale des parcelles en mettre carr�
*/
function getSurfaceCadastraleM2() {
$dSurfaceCadastraleM2 = 0;
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptCom) {
$aFields=$oCptCom->getExportFields();
$dSurfaceCadastraleM2 = $aFields['total_contenance_m2'] + $dSurfaceCadastraleM2;
}
return $dSurfaceCadastraleM2;
}
/**
* \brief R�cup�ration des revenus de la subdivision fiscale des parcelles
*/
function getRevenuCadastral() {
$dRevenuCadastral=0;
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptCom) {
$aFields=$oCptCom->getExportFields();
$dRevenuCadastral = $aFields['total_revenu_cadastral'] + $dRevenuCadastral;
}
return $dRevenuCadastral;
}
/**
* \brief R�cup�ration des valeurs locatives
*/
function getValeurLocative() {
$dValeurLocative=0;
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptCom) {
$aFields=$oCptCom->getExportFields();
$dValeurLocative=$aFields['total_valeur_locative'] + $dValeurLocative;
}
return $dValeurLocative;
}
/**
* \brief R�cup�ration de la emprises b�ties totale des parcelles
*/
function getSurfaceCadastraleBati() {
$dSurfaceCadastraleBati = 0;
foreach($this->getObjects('Mj_Compte_Communal_Parcelle') as $oCptCom) {
foreach($oCptCom->getObjects('Mj_Parcelle') as $oParcelle){
foreach($oParcelle->getObjects('Mj_Emprises') as $oEmprises){
$aFields=$oEmprises->getExportFields();
if($aFields['titre']=="Emprise Bati"){
$dSurfaceCadastraleBati = $aFields['emprise_totale_intersect'] + $dSurfaceCadastraleBati;
}
}
}
}
return $dSurfaceCadastraleBati;
}
/**
* \brief Cette m�thode permet de construire un tableau correspondant au relev� de propri�t�.
* \return Retourne un tableau associatif correspondant au relev� de propri�t�.
*/
function getExportFields(){
$aExportFields=array();
if(!empty($this->aObjects)){
//partie des sommes (surfaces,revenus,valeurs locatives)
$aExportFields['Sum_revenu']=$this->getRevenuCadastral();
$aExportFields['Sum_contenance']=$this->getSurfaceCadastrale();
$aExportFields['Sum_contenance_m2']=$this->getSurfaceCadastraleM2();
$aExportFields['Sum_valeur_locative']=$this->getValeurLocative();
$aExportFields['Sum_contenance_bati']=$this->getSurfaceCadastraleBati();
}
return $aExportFields;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Depend_Descr.class.inc
* \brief Mj_Depend_Descr.class.inc \n \n Ce fichier contient la classe php Mj_Depend_Descr
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Description Dpendance.
*
* \author John Bosch
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
class Mj_Depend_Descr extends Mj {
/**
* \param $sIdDep Identifiant de la dpendance
* \param $oBD Objet de connexion PDO_BD
*/
function __construct($sIdDep,$oBD){
include $this->sRessourcesFile;
$this->sSql=$aSql[$oBD->sgbd]['depend_descr'];
$this->sSql=str_replace('$sIdDep',$sIdDep,$this->sSql);
$oPDOresult=$oBD->execute($this->sSql);
if($oBD->enErreur()){
$this->sStatus=1;
$this->sMessage=$oBD->getBDMessage();
}else{
$this->aFields=$oBD->ligneSuivante($oPDOresult);
$this->sStatus=0;
}
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit/Fiche Parcelle.
* \return Retourne un tableau associatif correspondant au relev de proprit/Fiche Parcelle.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['num_invar']=$this->aFields['invar'];
$aExportFields['num_pev']=$this->aFields['dnupev'];
$aExportFields['num_depend']=$this->aFields['dnudes'];
$aExportFields['nature']=$this->aFields['l_cconad'];
$aExportFields['surface']=$this->aFields['dsudep'];
$aExportFields['ponderation']=$this->aFields['dcimlc'];
$aExportFields['Etat']=$this->aFields['detent'];
$aExportFields['l_Etat']=$this->aFields['l_detent'];
$aExportFields['mat_gros_mur']=$this->aFields['dmatgm'];
$aExportFields['lib_mat_gros_mur']=$this->aFields['lib_dmatgm'];
$aExportFields['mat_toiture']=$this->aFields['dmatto'];
$aExportFields['lib_mat_toiture']=$this->aFields['lib_dmatto'];
$aExportFields['nb_baignoires']=$this->aFields['dnbbai'];
$aExportFields['nb_douches']=$this->aFields['dnbdou'];
$aExportFields['nb_lavabos']=$this->aFields['dnblav'];
$aExportFields['nb_wc']=$this->aFields['dnbwc'];
$aExportFields['eau']=$this->getEau();
$aExportFields['elect']=$this->getElect();
$aExportFields['chauf']=$this->getChauf();
}
return $aExportFields;
}
/*
DEPRECATED 2013
function getNature(){
if ($this->aFields['cconad'] == "TR") {
return "Terrasse(s)";
}
if ($this->aFields['cconad'] == "CV") {
return "Cave(s)";
}
if ($this->aFields['cconad'] == "GR") {
return "Grenier(s)";
}
if ($this->aFields['cconad'] == "GA") {
return "Garage(s)";
}
}
*/
function getEau(){
if($this->aFields["geaulc"] == "O"){
return "EAU";
}
}
function getElect(){
if($this->aFields["gelelc"] == "O"){
return "ELECT";
}
}
function getChauf(){
if($this->aFields["gchclc"] == "O"){
return "CHAUF";
}
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Emprise.class.inc
* \brief Mj_Emprise.class.inc \n \n Ce fichier contient la classe php Mj_Emprise
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie parcelle.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Emprise
* \brief Mj_Emprise Class \n \n Mj_Emprise est une classe PHP qui hrite de la classe Mj_Emprise.
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Emprise.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Attributes.class.inc");
class Mj_Emprise extends Mj {
var $sIdEmprise="";
/**
* Tableau
*/
var $aAttributesEmprise= array();
/**
* Cette mthode mtier permet de rcuprer les informations sur les couches intersectes par la surface de la parcelle interroge.
* \param $aField Tableau des noms de champs associes la vue utilise.
* \param $aRow
* \param $iCompteur
* \param $iTolerance Valeur minimum de surface intersect partir de laquelle le contenu d'un enregistrement est affich.
*/
function __construct($aField,$aRow,$iCompteur, $iTolerance) {
$aEmpriseParcelle= array();
switch(strtoupper($aField["type"])) {
case "POINT" :
$aEmpriseParcelle["intersectsuf"] = $aRow;
$this->sIdEmprise=$iCompteur;
break;
case "LINE" :
if(round($aRow["intersect"]) >= $iTolerance){
$aEmpriseParcelle["intersectsuf"] = $aRow;
$aEmpriseParcelle["intersectsuf"]["intersect_label"]= $aEmpriseParcelle["intersectsuf"]["intersect"]." m";
$this->sIdEmprise=$iCompteur;
}else{
$aEmpriseParcelle["intersectsuf"]["intersect"] = "0";
$aEmpriseParcelle["intersectsuf"]["intersect_label"] = "0 m";
$this->sIdEmprise=$iCompteur;
}
break;
case "POLYGON" :
if(round($aRow["intersect"]) >= $iTolerance){
$aEmpriseParcelle["intersectsuf"] = $aRow;
$aEmpriseParcelle["ratio"] = @(round(($aEmpriseParcelle["intersectsuf"]["intersect"] / $aEmpriseParcelle["intersectsuf"]["suf_parcelle"]), 2) * 100);
$aEmpriseParcelle["intersectsuf"]["intersect_label"].=$aEmpriseParcelle["intersectsuf"]["intersect"]." m";
$aEmpriseParcelle["ratio_label"]=$aEmpriseParcelle["ratio"]." %";
$this->sIdEmprise=$iCompteur;
}else{
$aEmpriseParcelle["intersectsuf"]["intersect"]="0";
$aEmpriseParcelle["intersectsuf"]["intersect_label"]="0 m";
$aEmpriseParcelle["ratio"]= "0";
$aEmpriseParcelle["ratio_label"]=$aEmpriseParcelle["ratio"]." %";
$this->sIdEmprise=$iCompteur;
}
break;
}
$this->aFields=$aEmpriseParcelle;
if(is_array($aEmpriseParcelle)){
array_push($this->aAttributesEmprise, new Mj_Attributes($aEmpriseParcelle,$aField));
}
$this->aObjects=$this->aAttributesEmprise;
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit.
* \return Retourne un tableau associatif correspondant au relev de proprit.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['emprise_intersect']=$this->aFields["intersectsuf"]["intersect"];
$aExportFields['emprise_intersect_label']=$this->aFields["intersectsuf"]["intersect_label"];
if($this->aFields["ratio"]){
$aExportFields['emprise_ratio']=$this->aFields["ratio"];
$aExportFields['emprise_ratio_label']=$this->aFields["ratio_label"];
}
$aExportFields['id_emprise']=$this->sIdEmprise;
}
return $aExportFields;
}
}
\ No newline at end of file
<?php
/**
* \file Mj_Emprises.class.inc
* \brief Mj_Emprises.class.inc \n \n Ce fichier contient la classe php Mj_Emprises
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie parcelle.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Emprises
* \brief Mj_Emprises Class \n \n Mj_Emprises est une classe PHP qui hrite de la classe Mj_Parcelle.
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Emprises.
*
* \author Nicolas Chazeau
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
require_once ("Mj_Parcelle.class.inc");
require_once ("Mj_Emprise.class.inc");
class Mj_Emprises extends Mj {
/**
* Cette mthode mtier permet de rcuprer les informations sur les couches intersectes par la surface de la parcelle intrroge.
* \param $oCadastre Objet classe Cadastre.
* \param $sIdPar Identifiant de la parcelle slectionne.
* \param $sView Vue Postgis interroger.
* \param $iTolerance Valeur minimum de surface intersect partir de laquelle le contenu d'un enregistrement est affich.
* \param $aField Tableau des noms de champs associes la vue utilise.
* \param $sLayerType Type de gomtrie contenue dans la couche parcelle de rfrence.
* \param $sInclude Fichier de rendu (*.vhtml) afficher en cas d'erreur.
* \param $sType (Facultatif) Paramtre signifiant si on veut un tableau HTML (par dfaut) ou aucune mise en forme en sortie (valeurs possibles : HTML, TEXT).
* \private
* \return Un tableau HTML sous la forme d'une chane de caractres.
*/
/**
* Tableau associatif comportant la liste des objets Emprises d'une parcelle
*/
var $aEmprisesParcellesSuf=array();
function __construct($oBD, $sIdPar, $sView, $iTolerance, $aField, $sLayerType) {
$sFunction = "";
switch(strtoupper($aField["type"])) {
case "POINT" :
$sFunction.= "st_area2d";
break;
case "LINE" :
$sFunction.= "st_length2d";
break;
case "POLYGON" :
$sFunction.= "st_area2d";
break;
}
($sLayerType == "polygon") ? $sPrcTable = "v_parcelle" : $sPrcTable = "v_parcelle_point";
$sSql = "SELECT CAST(".$sFunction."(st_intersection(".$sPrcTable.".geom, CASE WHEN st_srid(".$sPrcTable.".geom) = st_srid(".$sView.".geom) THEN ".$sView.".geom ELSE st_transform(".$sView.".geom, st_srid(".$sPrcTable.".geom)) END)) AS DECIMAL(10,1)) AS intersect, ";
$sSql.= "st_area2d(".$sPrcTable.".geom) AS suf_parcelle, ".$sView.".* FROM ".$sPrcTable.", ".$sView." WHERE ";
$sSql.= "st_intersects(".$sPrcTable.".geom, CASE WHEN st_srid(".$sPrcTable.".geom) = st_srid(".$sView.".geom) THEN ".$sView.".geom ELSE st_transform(".$sView.".geom, st_srid(".$sPrcTable.".geom)) END) ";
$sSql.= "AND ".$sPrcTable.".id_par = '".$sIdPar."' ;";
$iResult=$oBD->execute($sSql);
if ($oBD->enErreur()) {
$this->sStatus = 1;
$this->sMessage = $oBD->getBDMessage();
}else{
$i=0;
while($aRow = $oBD->ligneSuivante ($iResult)) {
$oEmprise=new Mj_Emprise($aField,$aRow,$i,$iTolerance);
if($oEmprise->aFields["intersectsuf"]["intersect"]!="0"){
array_push($this->aEmprisesParcellesSuf,$oEmprise);
$i++;
}
}
$iResult = $oBD->fermeResultat();
}
$aValue["titre"]=$aField["title"];
$aValue["type_geom"]=$aField["type"];
$this->aFields=$aValue;
$this->aObjects=$this->aEmprisesParcellesSuf;
}
/*
* Rcupre l'emprise totale d'un ensemble d'emprise (bati ou pos ou servitude etc)
* \return Dcimal l'emprise totale
*/
function getEmpriseTotale() {
$dEmpriseTotale = 0;
foreach ($this->aEmprisesParcellesSuf as $oEmprise) {
$dEmpriseTotale = $dEmpriseTotale + (float) $oEmprise->aFields["intersectsuf"]["intersect"];
}
return $dEmpriseTotale;
}
function getEmpriseRatioTotale() {
$dEmpriseRatioTotale = 0;
foreach ($this->aEmprisesParcellesSuf as $oEmprise) {
$dEmpriseRatioTotale = $dEmpriseRatioTotale + (float) $oEmprise->aFields["ratio"];
}
return $dEmpriseRatioTotale;
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit.
* \return Retourne un tableau associatif correspondant au relev de proprit.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['titre']=$this->aFields["titre"];
$aExportFields['type_geom']=$this->aFields["type_geom"];
$aExportFields['emprise_totale_intersect']=$this->getEmpriseTotale();
$aExportFields['emprise_totale_ratio']=$this->getEmpriseRatioTotale();
}
return $aExportFields;
}
}
?>
\ No newline at end of file
<?php
/**
* \file Mj_Exon_Suf.class.inc
* \brief Mj_Exon_Suf.class.inc \n \n Ce fichier contient la classe php Mj_Exon_Suf
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Exon-Suf.
*
* \author Damien Bedel <damien.bedel@veremes.com>
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
/**
* \class Mj_Exon_Suf
* \brief Mj_Exon_Suf Class \n \n Mj_Exon_Suf est une classe PHP qui hrite de la classe Mj.
*
* Cette classe permet de slectionner les attributs ncessaires afin de traiter la partie Exon-Suf.
*
* \author Damien Bedel <damien.bedel@veremes.com>
* \author Olivier Gayte <olivier.gayte@veremes.com>
*/
require_once ("Mj.class.inc");
class Mj_Exon_Suf extends Mj {
/**
* \param $sIdSuf Identifiant de l'exonration de la partie d'valuation
* \param $sRnuexn Numro d'ordre d'exoneration temporaire
* \param $oBD Objet de connexion PDO_BD
*/
function __construct($sIdSuf,$sRnuexn,$oBD){
include $this->sRessourcesFile;
$this->sSql = $aSql[$oBD->sgbd]['exon_suf'];
$this->sSql = str_replace('$sIdSuf', $sIdSuf, $this->sSql);
$this->sSql = str_replace('$sRnuexn', $sRnuexn, $this->sSql);
$oPDOresult= $oBD->execute($this->sSql);
if ( $oBD->enErreur()) {
$this->sStatus=1;
$this->sMessage = $oBD->getBDMessage();
}else{
$this->aFields = $oBD->ligneSuivante ($oPDOresult);
$this->sStatus=0;
}
}
/**
* Cette mthode permet de construire un tableau correspondant au relev de proprit.
* \return Retourne un tableau associatif correspondant au relev de proprit.
*/
function getExportFields(){
$aExportFields=array();
if($this->isEmpty()){
$aExportFields="";
}else{
$aExportFields['rnuexn']=$this->aFields['rnuexn'];
$aExportFields['ccolloc']=$this->aFields['ccolloc'];
$aExportFields['nat_exo']=$this->aFields['gnexts'];
$aExportFields['jfinex']=$this->aFields['jfinex'];
$aExportFields['pexn']=$this->aFields['pexn'];
$aExportFields['rcexnba']=$this->aFields['rcexnba'];
}
return $aExportFields;
}
}
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment