/[openfoncier]/trunk/obj/export_sitadel.class.php
ViewVC logotype

Annotation of /trunk/obj/export_sitadel.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13528 - (hide annotations)
Thu Dec 15 22:46:03 2022 UTC (2 years, 1 month ago) by softime
File size: 47079 byte(s)
chore(branch): fusion de la branche d'intégration 5.15.0-develop dans le trunk

1 mbroquet 3730 <?php
2     /**
3 nhaye 5254 * Ce script permet de définir la classe 'export_sitadel'.
4     *
5     * @package openads
6     * @version SVN : $Id: export_sitadel.class.php 5673 2015-12-21 19:35:24Z nmeucci $
7     */
8    
9     /**
10 mbroquet 3730 * Classe permettant la mise en forme de chaque ligne de l'export SITADEL
11     * Les méthode retourne des morceaux de lignes en faisant correspondre les valeurs
12     * du dossier avec les valeurs définie pour l'export SITADEL
13     */
14     class export_sitadel {
15    
16     private $dossier; // identifiant du dossier à insérer dans l'export
17     private $row; // Valeurs du dossier
18     private $val; // parametre par defaut
19     private $parametre; //parametre dossier
20     private $DEBUG=0; // 1 = valeur
21     private $pays;
22    
23     /**
24     * Instance de la classe utils
25     * @var utils
26     */
27     var $f = NULL;
28    
29     /**
30     * Constructeur, initialisation de l'attribut dossier
31     *
32     * @param dossier string identifiant du dossier à traiter
33     */
34     function __construct($dossier, $f) {
35     $this->dossier=$dossier;
36     //
37     $this->f = $f;
38     //
39     $this->pays = array(
40     'ALLE' => 109, 'AMÉR' => 404, 'AUTR' => 990, 'BELG' => 131,
41     'GRAN' => 132, 'DANE' => 101, 'ESPA' => 134, 'FRAN' => 100,
42     'PAYS' => 135, 'ITAL' => 127, 'PORT' => 139, 'SUIS' => 140,
43     );
44     // Permet lors de l'instantiation d'objets métiers d'avoir accès à f
45     $GLOBALS['f'] = $this->f;
46     }// fin constructeur
47    
48     /**
49     * Mutateur pour le tableau de données du dossier
50     *
51     * @param $row Le tableau de données du dossier
52     * @return void
53     * */
54     public function setRow($row){
55     $this->row = $row;
56     }
57    
58     /**
59     * Mutateur pour le paramètre par défaut
60     *
61     * @param $val Le paramètre par défaut
62     * @return void
63     * */
64     public function setVal($val){
65     $this->val = $val;
66     }
67    
68     /**
69     * Permet de mettre en forme le début de chaque la ligne
70     *
71 softime 4838 * @param string $mouvement DEPOT, DECISION, SUIVI, TRANSFERT, MODIFICATIF, SUPPRESSION.
72     * @param string $departement Non utilisé.
73     * @param string $commune Code commune du dossier.
74     * @param string $version Numéro de version du dossier.
75 mbroquet 3730 *
76     * @return string entete de la ligne
77     */
78 softime 4838 function entete($mouvement, $departement, $commune, $version){
79    
80 mbroquet 3730 // Si c'est une commune divisée en arrondissement, le code commune dans
81     // l'entete de chaque mouvement doit être le code impôt de l'arrondissement
82     if ($this->f->getParameter("option_arrondissement")==='true'&&$this->row['code_impots']!=''){
83     $commune=$this->row['code_impots'];
84     }
85     //Si la commune est divisée en arrondissement mais que le code impôts de l'arrondissement ne peut pas être récupéré
86     elseif($this->f->getParameter("option_arrondissement")==='true'&&$this->row['code_impots']==''){
87     $commune=0;
88     }
89 softime 4838
90 mbroquet 3730 // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
91     // l'equivalence n'est pas utilisée
92 softime 4838 $indice_dossier = '';
93     if ($version !== 0
94 softime 9245 && $this->row['mouvement_sitadel'] !== 'SUIVI'
95     && strpos($this->dossier, "ANNUL") === false) {
96 softime 7685 // Le numéro de version doit être sur deux caractères
97     $indice_dossier = str_pad(strval($version), 2, "0", STR_PAD_LEFT);
98 softime 4838 }
99 mbroquet 3730
100     $entete=$mouvement."|".$this->row['code']."||".$departement."|".$commune."|".substr($this->dossier,8,2).
101     "|".substr($this->dossier,10,5)."|".$indice_dossier."|";
102     return $entete;
103     }
104    
105 softime 4838
106 mbroquet 3730 /**
107     * Permet de mettre en forme l'état civil :
108     * personne morale / physique
109     * société, siret, civilité, nom, prénom / civilité, nom, prénom
110     *
111     * @return string demandeur désigné
112     */
113     function etatcivil(){
114     // etat civil demandeur
115     // codemo|
116     if ($this->row['qualite'] == "particulier") {
117     $codemo=1;// personne physique
118     } else {
119     $codemo=2;// personne morale
120     }
121     $etatcivil=$codemo."|"; // 1 personne physique ; 2 sinon
122     // openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr)
123     // civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep|
124     // suivant codemo = 1 (personne physique) ou 2 (personne morale)
125     // demandeur_civilite n est pas normalise Madame ou Monsieur
126     if ($codemo == 1) {
127     // *civpart*|*prenompart*|nompart||||||
128     $etatcivil.= $this->maj(substr($this->row['civilite_pp'],0,8))."|";
129     $etatcivil.= $this->maj(substr($this->row['pp_particulier_prenom'],0,30))."|";
130    
131     $etatcivil.= $this->maj(substr($this->row['pp_particulier_nom'],0,30))."||||||||";
132     } else {
133     //denopm|*rspm*|*siret*|*catjur*|*civrep*|*prenomrep*|nomrep|
134     $etatcivil.="|||"; // codemo=1
135     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_denomination'],0,50))."|";
136     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_raison_sociale'],0,30))."|";
137     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_siret'],0,14))."|";
138     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_categorie_juridique'],0,4))."|";
139     $etatcivil.=$this->maj(substr($this->row['civilite_pm_libelle'],0,8))."|";
140     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_prenom'],0,30))."|";
141     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_nom'],0,30))."|";
142     }
143     return $etatcivil;
144     }
145    
146     function adresse(){
147     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK)
148     // *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo|
149     $adresse="";
150     $adresse.= $this->maj(substr($this->row['pp_numero'],0,5))."|";
151     $adresse.= $this->maj(substr("",0,5))."|";
152     $adresse.= $this->maj(substr($this->row['pp_voie'],0,26))."|";
153     $adresse.= $this->maj(substr($this->row['pp_lieu_dit'],0,38))."|";
154     $adresse.= $this->maj(substr($this->row['pp_localite'],0,32))."|";
155     $adresse.= $this->maj(substr($this->row['pp_code_postal'],0,5))."|";
156     $adresse.= $this->maj(substr($this->row['pp_bp'],0,5))."|";
157     $adresse.= $this->maj(substr($this->row['pp_cedex'],0,5))."|";
158     $adresse.= $this->maj($this->getCodeInseePays(strtoupper($this->row['pp_pays'])))."|";
159     $adresse.= $this->maj(substr($this->row['pp_division_territoriale'],0,38))."|";
160    
161     return $adresse;
162     }
163    
164    
165     function delegataire(){
166    
167     //On récupère le délégataire
168     $sql = "SELECT civilite.libelle as civilite_delegataire_libelle,
169     demandeur.particulier_nom as delegataire_particulier_nom,
170     demandeur.particulier_prenom as delegataire_particulier_prenom,
171     demandeur.numero as delegataire_numero,
172     demandeur.voie as delegataire_voie,
173     demandeur.complement as delegataire_complement,
174     demandeur.lieu_dit as delegataire_lieu_dit,
175     demandeur.localite as delegataire_localite,
176     demandeur.code_postal as delegataire_code_postal,
177     demandeur.bp as delegataire_bp,
178     demandeur.cedex as delegataire_cedex,
179     demandeur.pays as delegataire_pays,
180     demandeur.division_territoriale as delegataire_division_territoriale
181     FROM ".DB_PREFIXE."demandeur
182     LEFT JOIN ".DB_PREFIXE."lien_dossier_demandeur
183     ON demandeur.demandeur = lien_dossier_demandeur.demandeur AND lien_dossier_demandeur.petitionnaire_principal is FALSE
184     LEFT JOIN ".DB_PREFIXE."civilite
185     ON civilite.civilite = demandeur.particulier_civilite
186     WHERE demandeur.type_demandeur='delegataire' AND
187     lien_dossier_demandeur.dossier = '".$this->dossier."'";
188     $res = $this->f->db -> query ($sql);
189     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
190     $this->f->isDatabaseError($res);
191 softime 9282 if ($res->numrows() === 0) {
192 softime 10207 $row['civilite_delegataire_libelle'] = '';
193     $row['delegataire_particulier_prenom'] = '';
194     $row['delegataire_particulier_nom'] = '';
195     $row['delegataire_numero'] = '';
196     $row['delegataire_voie'] = '';
197     $row['delegataire_lieu_dit'] = '';
198     $row['delegataire_localite'] = '';
199     $row['delegataire_code_postal'] = '';
200     $row['delegataire_bp'] = '';
201     $row['delegataire_cedex'] = '';
202     $row['delegataire_pays'] = '';
203     $row['delegataire_division_territoriale'] = '';
204     } else {
205     $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);
206 softime 9282 }
207 mbroquet 3730 // openFoncier civilite (non normalise monsieur/madame), nom (80/30 substr)
208     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/32 -> OK)
209     // *civtiers*|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*|
210     // libvoietiers|lieudittier|communetier|codpostier
211     // |*bptier*|*cedextier*|*paystier*|*divtertier*|
212     $delegataire="";
213     $delegataire.= $this->maj(substr($row['civilite_delegataire_libelle'],0,8))."|";
214     $delegataire.= $this->maj(substr($row['delegataire_particulier_prenom'],0,30))."|";
215     $delegataire.= $this->maj(substr($row['delegataire_particulier_nom'],0,30))."|";
216     $delegataire.= $this->maj(substr($row['delegataire_numero'],0,5))."|";
217     $delegataire.= $this->maj(substr("",0,5))."|";
218     $delegataire.= $this->maj(substr($row['delegataire_voie'],0,26))."|";
219     $delegataire.= $this->maj(substr($row['delegataire_lieu_dit'],0,38))."|";
220     $delegataire.= $this->maj(substr($row['delegataire_localite'],0,32))."|";
221     $delegataire.= $this->maj(substr($row['delegataire_code_postal'],0,5))."|";
222     $delegataire.= $this->maj(substr($row['delegataire_bp'],0,5))."|";
223     $delegataire.= $this->maj(substr($row['delegataire_cedex'],0,5))."|";
224     $delegataire.= $this->maj($this->getCodeInseePays(strtoupper($row['delegataire_pays'])))."|";
225     $delegataire.= $this->maj(substr($row['delegataire_division_territoriale'],0,38))."|";
226     return $delegataire;
227     }
228    
229     function meltel($mouvement){
230     // openfoncier telephone_fixe (14/20), courriel(40, 50) pas de suivi
231     // sitadel : telmo|melmo|suivi
232     $meltel="";
233     if($mouvement != "TRANSFERT")
234     $meltel.=$this->maj($this->row['pp_telephone_fixe'])."|";
235     $meltel.= $this->maj($this->row['pp_courriel'])."|";
236     // suivi electronique
237     // Il n'y a pas de notification par mail gérée dans l'appli
238     $meltel.= "0";
239    
240     // suivi -> fin enr pour transfert (sans |)
241     if($mouvement != "TRANSFERT")
242     $meltel.= "|";
243     return $meltel;
244     }
245    
246     /**
247     * Permet de mettre en forme l'adresse du terrain
248     * @return string champs du terrain séparés par des |
249     */
250     function adresse_terrain(){
251     // openfoncier numero (4/5 substr), adresse(80, 26 +38 -> substr), complement (non utilise (80)), cp (5/5 ok), ville (30/32 ok)
252     // sitadel : |numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*|
253     // mettre le | en debut pour info du 2eme groupe (suite 1er groupe)
254     $adresse="";
255     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_voie_numero'],0,5))."|";
256     $adresse.= $this->maj(substr("",0,5))."|";
257     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_voie'],0,26))."|";
258     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_lieu_dit'],0,38))."|";
259     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_localite'],0,32))."|";
260     $code_postal = substr($this->row['dossier_terrain_adresse_code_postal'],0,5);
261     $adresse.= $this->maj($code_postal)."|";
262     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_bp'],0,5))."|";
263     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_cedex'],0,5))."|";
264    
265     return $adresse;
266     }
267    
268     /**
269     * Formalise la parcelle à partir de la référence cadastrale
270     *
271     * @return string la chaine formatée
272     */
273     function parcelle(){
274     // ========
275     // parcelle
276     // ========
277     // cadastre 3 parcelles + 3 sections
278     // openfoncier = 1 seule parcelle (6/3+5)
279     // sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*|
280     $parcelle = "";
281     if ($this->row['dossier_terrain_references_cadastrales'] != "" ) {
282     $tab_parcelles = $this->parseParcelles($this->row['dossier_terrain_references_cadastrales']);
283    
284     $parcelle .= ( isset($tab_parcelles[0]) && count($tab_parcelles[0]) == 3 )
285     ? $this->maj(substr($tab_parcelles[0]['section'],0,3))."|".
286     $this->maj(substr($tab_parcelles[0]['parcelle'],0,5))."|"
287     : "||";
288     $parcelle .= ( isset($tab_parcelles[1]) && count($tab_parcelles[1]) == 3 )
289     ? $this->maj(substr($tab_parcelles[1]['section'],0,3))."|".
290     $this->maj(substr($tab_parcelles[1]['parcelle'],0,5))."|"
291     : "||";
292     $parcelle .= ( isset($tab_parcelles[2]) && count($tab_parcelles[2]) == 3 )
293     ? $this->maj(substr($tab_parcelles[2]['section'],0,3))."|".
294     $this->maj(substr($tab_parcelles[2]['parcelle'],0,5))."|"
295     : "||";
296     } else {
297     $parcelle= "||||||";
298     }
299    
300     return $parcelle;
301     }
302    
303     /**
304     * XXX 3 Méthode parseParcelles dans l'application
305     * Permet de calculer la liste des parcelles à partir de la chaîne passée en paramètre
306     * et la retourner sous forme d'un tableau associatif
307     *
308     * @param string $strParcelles chaîne de la parcelles
309     * @return array (array(quartier, section, parcelle), ...)
310     */
311     function parseParcelles($strParcelles) {
312    
313     // Séparation des lignes
314     $references = explode(";", $strParcelles);
315     $liste_parcelles = array();
316    
317     // On boucle sur chaque ligne pour ajouter la liste des parcelles de chaque ligne
318     foreach ($references as $parcelles) {
319    
320     // On transforme la chaîne de la ligne de parcelles en tableau
321     $ref = str_split($parcelles);
322     // Les 1er caractères sont numériques
323     $num = true;
324    
325     // Tableau des champs de la ligne de références cadastrales
326     $reference_tab = array();
327     $temp = "";
328     foreach ($ref as $carac) {
329    
330     // Permet de tester si le caractère courant est de même type que le précédent
331     if(is_numeric($carac) === $num) {
332     $temp .= $carac;
333     } else {
334     // Bascule
335     $num = !$num;
336     // On stock le champ
337     $reference_tab[] = $temp;
338     // re-init de la valeur temporaire pour le champ suivant
339     $temp = $carac;
340     }
341     }
342     // Stockage du dernier champ sur lequel il n'y a pas eu de bascule
343     $reference_tab[] = $temp;
344     // Calcul des parcelles
345     $quartier = $reference_tab[0];
346     $sect = $reference_tab[1];
347    
348     $ancien_ref_parc = "";
349     for ($i=2; $i < count($reference_tab); $i+=2) {
350     $parc["quartier"] = $quartier;
351     $parc["section"] = $sect;
352     if( $ancien_ref_parc == "" OR $reference_tab[$i-1] == "/") {
353     // 1ere parcelle ou parcelle individuelle
354     $parc["parcelle"] = $reference_tab[$i];
355     // Ajout d'une parcelle à la liste
356     $liste_parcelles[] = $parc;
357     } elseif ($reference_tab[$i-1] == "A") {
358     // Interval de parcelles
359     for ($j=$ancien_ref_parc+1; $j <= $reference_tab[$i]; $j++) {
360     $parc["parcelle"] = $j;
361     // Ajout d'une parcelle à la liste
362     $liste_parcelles[] = $parc;
363     }
364     }
365     //Gestion des erreurs
366     else{
367    
368     echo _("Une erreur de formattage a ete detecte dans la reference cadastrale du dossier ").$this->row['dossier'];
369     }
370     // Sauvegarde de la référence courante de parcelle
371     $ancien_ref_parc = $reference_tab[$i];
372     }
373     }
374    
375     return $liste_parcelles;
376     }
377    
378     /**
379     * Données pour le groupe 1 du mouvement décision
380     *
381     * @return string la chaine de données du groupe 1
382     */
383     function decision_groupe1(){
384     // openfoncier autorite_competente (integer/1), sitadel(integer, 1)
385     // date_limite (date, 8)| date_notification_delai (date, 8),
386     // sitadel_motif (integer, 1)
387     // sitadel : collectivite|natdec|datredec|motifann
388    
389     $decision = $this->maj(substr($this->row['autorite_competente_sitadel'],0,1))."|";
390     $decision.= (($this->row['sitadel']!="")?$this->maj(substr($this->row['sitadel'],0,1)):"0")."|";
391    
392     $datredec = "";
393     //Choix de la date
394     // Date limite de retour des pièces manquantes en cas de rejet tacite
395     if ( $this->row['sitadel'] == 1 ){
396     $datredec = ($this->row['date_limite_incompletude']!="")?$this->row['date_limite_incompletude']:$this->row['date_decision'];
397     } elseif( $this->row['sitadel'] == 2 || $this->row['sitadel'] == 3 ) {
398     $datredec = $this->row['date_limite'];
399     } elseif ( $this->row['sitadel'] == "" ){
400     $datredec = "";
401     } else {
402     $datredec = $this->row['date_decision'];
403     }
404    
405     // date au format francais 8 caracteres
406     $decision.= $this->maj(substr($datredec,8,2).''.
407     substr($datredec,5,2)."".
408     substr($datredec,0,4))."|";
409    
410     $decision.= $this->maj(substr($this->row['sitadel_motif'],0,1))."|";
411     return $decision;
412     }
413    
414     /**
415     * Données pour le groupe 2 du mouvement décision concernant les aménagements et
416     * le terrain
417     *
418     * @return string la chaine de données du groupe 2
419     */
420     function amenagement_terrain(){
421     // openfoncier am_terr_surf (numeric/7) am_lotiss (bool/1) terr_juri_afu (20/1)
422     // co_cstr_nouv (20/1) co_cstr_exist (text/1000) co_modif_aspect (bool/1)
423     // co_modif_struct (bool/1) co_cloture (bool/1) co_trx_exten (bool/1)
424     // co_trx_surelev (bool/1) co_trx_nivsup (bool/1) co_trx_amgt (bool/1)
425     // co_anx_pisc (bool/1) co_anx_gara (bool/1) co_anx_veran (bool/1)
426     // co_anx_abri (bool/1) co_anx_autr (bool/1) co_bat_niv_nb (integer/3)
427     // sitadel : terrain|lotissement|ZAC|AFU|libnattrav|natproj|natdp|nattrav|
428     // annexe|niax
429     $amenagement_terrain="";
430     //Terrain
431 softime 13528 $amenagement_terrain .= ((isset($this->row['dossier_terrain_superficie'])) ? $this->maj(substr(floor(floatval($this->row['dossier_terrain_superficie'])),0,7)) : 0)."|";
432 mbroquet 3730 //Lotissement
433     $amenagement_terrain .= ((isset($this->row['am_lotiss']) && $this->row['am_lotiss'] == 't') ? 1 : 0)."|";
434     //ZAC
435     $amenagement_terrain .= ((isset($this->row['terr_juri_zac']) && $this->maj($this->row['terr_juri_zac']) != '') ? 1 : 0)."|";
436     //AFU
437     $amenagement_terrain .= ((isset($this->row['terr_juri_afu']) && $this->maj($this->row['terr_juri_afu']) != '') ? 1 : 0)."|";
438     //Libnattrav
439     if (isset($this->row['co_projet_desc'])&&$this->row['co_projet_desc']!=''){
440     $amenagement_terrain .= $this->maj(substr($this->row['co_projet_desc'],0,1000));
441     } elseif(isset($this->row['am_projet_desc'])&&$this->row['am_projet_desc']!=''){
442     $amenagement_terrain .= $this->maj(substr($this->row['am_projet_desc'],0,1000));
443     } elseif(isset($this->row['dm_projet_desc'])&&$this->row['dm_projet_desc']!=''){
444     $amenagement_terrain .= $this->maj(substr($this->row['dm_projet_desc'],0,1000));
445     }
446     $amenagement_terrain .= "|";
447    
448     // Nouvelle construction et travaux sur construction (natproj)
449     if ( isset($this->row['co_cstr_nouv']) && isset($this->row['co_cstr_exist']) &&
450     $this->row['co_cstr_nouv'] == 't' &&
451     $this->row['co_cstr_exist'] == 't' ){
452     $amenagement_terrain .= "3";
453     }
454     //Nouvelle construction
455     elseif ( isset($this->row['co_cstr_nouv']) && $this->row['co_cstr_nouv'] == 't' ) {
456     $amenagement_terrain .= "1";
457     }
458     //Travaux sur construction existante
459     elseif(($this->row['co_cstr_nouv'] == 'f' && $this->row['co_cstr_exist'] == 'f') OR
460     $this->row['co_cstr_exist']=='t') {
461     $amenagement_terrain .= "2";
462     }
463     $amenagement_terrain .= "|";
464    
465     //Nature du projet dans le cas d'un DP (natdp)
466     if ( $this->row['code'] == "DP" ){
467    
468     $amenagement_terrain .= ((isset($this->row['co_cstr_nouv']) && $this->row['co_cstr_nouv'] == 't') ? 1 : 0);
469     $amenagement_terrain .= ((isset($this->row['co_cstr_exist']) && $this->row['co_cstr_exist'] == 't') ? 1 : 0);
470     $amenagement_terrain .= ((isset($this->row['co_modif_aspect']) && $this->row['co_modif_aspect'] == 't') ? 1 : 0);
471     $amenagement_terrain .= ((isset($this->row['co_modif_struct']) && $this->row['co_modif_struct'] == 't') ? 1 : 0);
472     $amenagement_terrain .= ((isset($this->row['co_cloture']) && $this->row['co_cloture'] == 't') ? 1 : 0);
473     }
474     $amenagement_terrain .= "|";
475    
476     //Nature des travaux sur construction existante
477     //nattrav
478     $amenagement_terrain .= ((isset($this->row['co_trx_exten']) && $this->row['co_trx_exten'] == 't') ? 1 : 0);
479     $amenagement_terrain .= ((isset($this->row['co_trx_surelev']) && $this->row['co_trx_surelev'] == 't') ? 1 : 0);
480     $amenagement_terrain .= ((isset($this->row['co_trx_niv_sup']) && $this->row['co_trx_niv_sup'] == 't') ? 1 : 0);
481     $amenagement_terrain .= ((isset($this->row['co_trx_amgt']) && $this->row['co_trx_amgt'] == 't') ? 1 : 0)."|";
482    
483     //Annexe
484     $amenagement_terrain .= ((isset($this->row['co_anx_pisc']) && $this->row['co_anx_pisc'] == 't') ? 1 : 0);
485     $amenagement_terrain .= ((isset($this->row['co_anx_gara']) && $this->row['co_anx_gara'] == 't') ? 1 : 0);
486     $amenagement_terrain .= ((isset($this->row['co_anxveran']) && $this->row['co_anxveran'] == 't') ? 1 : 0);
487     $amenagement_terrain .= ((isset($this->row['co_anx_abri']) && $this->row['co_anx_abri'] == 't') ? 1 : 0);
488     $amenagement_terrain .= ((isset($this->row['co_anx_autr']) && $this->row['co_anx_autr'] == 't') ? 1 : 0)."|";
489    
490     //niax
491     $amenagement_terrain .= ((isset($this->row['co_bat_niv_nb']) && $this->maj($this->row['co_bat_niv_nb'])<=1)?"1":$this->row['co_bat_niv_nb'])."|";
492    
493     return $amenagement_terrain;
494     }
495 softime 4636
496    
497 mbroquet 3730 /**
498 softime 4636 * Récupère les valeurs des shon après traitement.
499     *
500     * @param string $nom Nom de la colonne (avt, cstr, sup, ...).
501     * @param integer $ligne Pour récupérer seulement le résultat d'une ligne
502     * (1 à 9).
503     *
504     * @return array Liste des sommes de chaque ligne.
505     */
506     public function get_shon_val($nom, $ligne = 0) {
507    
508     // Somme de chaque résultat (9 lignes)
509     $result = array();
510     $result[1] = 0;
511     $result[2] = 0;
512     $result[3] = 0;
513     $result[4] = 0;
514     $result[5] = 0;
515     $result[6] = 0;
516     $result[7] = 0;
517     $result[8] = 0;
518     $result[9] = 0;
519    
520     // Si le tableau des surfaces est celui de la version 1
521     if ($this->get_tab_su_version() === 1) {
522     //
523 softime 13528 $result[1] = ((isset($this->row['su_'.$nom.'_shon'.'1'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'1'])),0,7)) : 0);
524     $result[2] = ((isset($this->row['su_'.$nom.'_shon'.'2'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'2'])),0,7)) : 0);
525     $result[3] = ((isset($this->row['su_'.$nom.'_shon'.'3'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'3'])),0,7)) : 0);
526     $result[4] = ((isset($this->row['su_'.$nom.'_shon'.'4'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'4'])),0,7)) : 0);
527     $result[5] = ((isset($this->row['su_'.$nom.'_shon'.'5'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'5'])),0,7)) : 0);
528     $result[6] = ((isset($this->row['su_'.$nom.'_shon'.'6'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'6'])),0,7)) : 0);
529     $result[7] = ((isset($this->row['su_'.$nom.'_shon'.'7'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'7'])),0,7)) : 0);
530     $result[8] = ((isset($this->row['su_'.$nom.'_shon'.'8'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'8'])),0,7)) : 0);
531     $result[9] = ((isset($this->row['su_'.$nom.'_shon'.'9'])) ? $this->maj(substr(floor(floatval($this->row['su_'.$nom.'_shon'.'9'])),0,7)) : 0);
532 softime 4636 }
533    
534     // Si le tableau des surfaces est celui de la version 2, une
535     // correspondance est faite entre les lignes de ce tableau vers celui
536     // de la version 1
537     if ($this->get_tab_su_version() === 2) {
538     //
539     if (isset($this->row['su2_'.$nom.'_shon'.'3'])) {
540     //
541 softime 13528 $result[1] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'3'])),0,7));
542 softime 4636 }
543     //
544     if (isset($this->row['su2_'.$nom.'_shon'.'4'])) {
545     //
546 softime 13528 $result[1] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'4'])),0,7));
547 softime 4636 }
548    
549     //
550     if (isset($this->row['su2_'.$nom.'_shon'.'9'])) {
551     //
552 softime 13528 $result[2] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'9'])),0,7));
553 softime 4636 }
554 softime 13137 //
555     if (isset($this->row['su2_'.$nom.'_shon'.'21'])) {
556     //
557     $result[2] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'21']),0,7));
558     }
559     //
560     if (isset($this->row['su2_'.$nom.'_shon'.'22'])) {
561     //
562     $result[2] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'22']),0,7));
563     }
564 softime 4636
565     //
566     if (isset($this->row['su2_'.$nom.'_shon'.'19'])) {
567     //
568 softime 13528 $result[3] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'19'])),0,7));
569 softime 4636 }
570    
571     //
572     if (isset($this->row['su2_'.$nom.'_shon'.'5'])) {
573     //
574 softime 13528 $result[4] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'5'])),0,7));
575 softime 4636 }
576     //
577     if (isset($this->row['su2_'.$nom.'_shon'.'6'])) {
578     //
579 softime 13528 $result[4] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'6'])),0,7));
580 softime 4636 }
581     //
582     if (isset($this->row['su2_'.$nom.'_shon'.'7'])) {
583     //
584 softime 13528 $result[4] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'7'])),0,7));
585 softime 4636 }
586     //
587     if (isset($this->row['su2_'.$nom.'_shon'.'8'])) {
588     //
589 softime 13528 $result[4] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'8'])),0,7));
590 softime 4636 }
591    
592     //
593     if (isset($this->row['su2_'.$nom.'_shon'.'17'])) {
594     //
595 softime 13528 $result[6] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'17'])),0,7));
596 softime 4636 }
597    
598     //
599     if (isset($this->row['su2_'.$nom.'_shon'.'1'])) {
600     //
601 softime 13528 $result[7] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'1'])),0,7));
602 softime 4636 }
603     //
604     if (isset($this->row['su2_'.$nom.'_shon'.'2'])) {
605     //
606 softime 13528 $result[7] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'2'])),0,7));
607 softime 4636 }
608    
609     //
610     if (isset($this->row['su2_'.$nom.'_shon'.'18'])) {
611     //
612 softime 13528 $result[8] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'18'])),0,7));
613 softime 4636 }
614    
615     //
616     if (isset($this->row['su2_'.$nom.'_shon'.'10'])) {
617     //
618 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'10'])),0,7));
619 softime 4636 }
620     //
621     if (isset($this->row['su2_'.$nom.'_shon'.'11'])) {
622     //
623 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'11'])),0,7));
624 softime 4636 }
625     //
626     if (isset($this->row['su2_'.$nom.'_shon'.'12'])) {
627     //
628 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'12'])),0,7));
629 softime 4636 }
630     //
631     if (isset($this->row['su2_'.$nom.'_shon'.'13'])) {
632     //
633 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'13'])),0,7));
634 softime 4636 }
635     //
636     if (isset($this->row['su2_'.$nom.'_shon'.'14'])) {
637     //
638 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'14'])),0,7));
639 softime 4636 }
640     //
641     if (isset($this->row['su2_'.$nom.'_shon'.'15'])) {
642     //
643 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'15'])),0,7));
644 softime 4636 }
645     //
646     if (isset($this->row['su2_'.$nom.'_shon'.'16'])) {
647     //
648 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'16'])),0,7));
649 softime 4636 }
650     //
651     if (isset($this->row['su2_'.$nom.'_shon'.'20'])) {
652     //
653 softime 13528 $result[9] += $this->maj(substr(floor(floatval($this->row['su2_'.$nom.'_shon'.'20'])),0,7));
654 softime 4636 }
655     }
656    
657     // Si aucune ligne n'est précisée
658     if ($ligne == 0) {
659     // Retourne le tableau de tous les résultats
660     return $result;
661     }
662    
663     // Retourne un seul résultat
664     return $result[$ligne];
665     }
666    
667    
668     /**
669 mbroquet 3730 * Données pour le groupe 2 du mouvement décision concernant les SHON
670 softime 4636 *
671     * @param string $nom Nom de la colonne (avt, cstr, sup, ...).
672     *
673     * @return string la chaine de données du groupe 2
674 mbroquet 3730 */
675 softime 4636 public function shon($nom) {
676    
677     // Récupère la valeur de la ligne du tableau passé en paramètre
678     $result = $this->get_shon_val($nom);
679    
680     // Concaténation des shon dans la chaîne à retourner
681     $shon = $result[1] . "|" . $result[2] . "|" . $result[3] . "|" . $result[4] . "|" . $result[5] . "|" . $result[6] . "|" . $result[7] . "|" . $result[8] . "|" . $result[9] . "|";
682    
683     //
684 mbroquet 3730 return $shon;
685     }
686    
687 softime 4636
688 mbroquet 3730 /**
689 softime 4636 * Retourne le numéro de version du tableau des surfaces utilisé.
690     *
691     * @return integer
692     */
693     public function get_tab_su_version() {
694    
695     // Par défaut on utilise la première version du tableau des surfaces (
696     // celui avec 9 destinations)
697     $result = 1;
698    
699     // Si un des champs du tableau version 2 est renseigné alors on utilise
700     // celui avec les 21 sous-destinations
701     for ($i = 1; $i < 21; $i++) {
702     //
703     if (($this->row["su2_avt_shon".$i] !== '' && $this->row["su2_avt_shon".$i] !== null && $this->row["su2_avt_shon".$i] !== '0')
704     || ($this->row["su2_cstr_shon".$i] !== '' && $this->row["su2_cstr_shon".$i] !== null && $this->row["su2_cstr_shon".$i] !== '0')
705     || ($this->row["su2_chge_shon".$i] !== '' && $this->row["su2_chge_shon".$i] !== null && $this->row["su2_chge_shon".$i] !== '0')
706     || ($this->row["su2_demo_shon".$i] !== '' && $this->row["su2_demo_shon".$i] !== null && $this->row["su2_demo_shon".$i] !== '0')
707     || ($this->row["su2_sup_shon".$i] !== '' && $this->row["su2_sup_shon".$i] !== null && $this->row["su2_sup_shon".$i] !== '0')
708     || ($this->row["su2_tot_shon".$i] !== '' && $this->row["su2_tot_shon".$i] !== null) && $this->row["su2_tot_shon".$i] !== '0') {
709     //
710     $result = 2;
711     }
712     }
713    
714     // Version du tableau
715     return $result;
716     }
717    
718    
719     /**
720 mbroquet 3730 * Permet de mettre en forme le descriptif des modifications apportés sur le
721     * terrain dans les dossier d'instruction de type modificatif
722     *
723     * @return string chaîne mise en forme
724     */
725     function modificatif_terrain() {
726     $modificatif_terrain="";
727    
728     // Terrain
729 softime 13528 $modificatif_terrain .= ((isset($this->row['dossier_terrain_superficie'])) ? $this->maj(substr(floor(floatval($this->row['dossier_terrain_superficie'])),0,7)) : 0)."|";
730 mbroquet 3730 // Description des modifications
731     $modificatif_terrain .= (isset($this->row['co_projet_desc'])) ? $this->maj(substr($this->row['co_projet_desc'],0,1000))."|" : "|";
732     //Nature des travaux sur construction existante
733     //nattrav
734     $modificatif_terrain .= ((isset($this->row['co_trx_exten']) && $this->row['co_trx_exten'] == 't') ? 1 : 0);
735     $modificatif_terrain .= ((isset($this->row['co_trx_surelev']) && $this->row['co_trx_surelev'] == 't') ? 1 : 0);
736     $modificatif_terrain .= ((isset($this->row['co_trx_niv_sup']) && $this->row['co_trx_niv_sup'] == 't') ? 1 : 0);
737     $modificatif_terrain .= ((isset($this->row['co_trx_amgt']) && $this->row['co_trx_amgt'] == 't') ? 1 : 0)."|";
738    
739     //Annexe
740     $modificatif_terrain .= ((isset($this->row['co_anx_pisc']) && $this->row['co_anx_pisc'] == 't') ? 1 : 0);
741     $modificatif_terrain .= ((isset($this->row['co_anx_gara']) && $this->row['co_anx_gara'] == 't') ? 1 : 0);
742     $modificatif_terrain .= ((isset($this->row['co_anxveran']) && $this->row['co_anxveran'] == 't') ? 1 : 0);
743     $modificatif_terrain .= ((isset($this->row['co_anx_abri']) && $this->row['co_anx_abri'] == 't') ? 1 : 0);
744     $modificatif_terrain .= ((isset($this->row['co_anx_autr']) && $this->row['co_anx_autr'] == 't') ? 1 : 0)."|";
745    
746     //niax
747     $modificatif_terrain .= (isset($this->row['co_bat_niv_nb']) && $this->maj(substr($this->row['co_bat_niv_nb'],0,3)))."|";
748    
749     return $modificatif_terrain;
750     }
751    
752     /**
753     * Données pour le groupe 2 du mouvement décision concernant les destinations
754     *
755     * @return string la chaine de données du groupe 2
756     */
757     function destination($mouvement){
758    
759     $destination = "";
760    
761     $destination .= ((isset($this->row['co_sp_transport']) && $this->row['co_sp_transport'] == 't') ? 1 : 0);
762     $destination .= ((isset($this->row['co_sp_enseign']) && $this->row['co_sp_enseign'] == 't') ? 1 : 0);
763     $destination .= ((isset($this->row['co_sp_sante']) && $this->row['co_sp_sante'] == 't') ? 1 : 0);
764     $destination .= ((isset($this->row['co_sp_act_soc']) && $this->row['co_sp_act_soc'] == 't') ? 1 : 0);
765     $destination .= ((isset($this->row['co_sp_ouvr_spe']) && $this->row['co_sp_ouvr_spe'] == 't') ? 1 : 0);
766     $destination .= ((isset($this->row['co_sp_culture']) && $this->row['co_sp_culture'] == 't') ? 1 : 0)."|";
767    
768     if($mouvement != "MODIFICATIF"){
769     $destination .= ((isset($this->row['dm_tot_log_nb']) && !empty($this->row['dm_tot_log_nb'])) ? $this->row['dm_tot_log_nb'] : 0)."|";
770     }
771    
772     $destination .= ((isset($this->row['co_tot_ind_nb']) && !empty($this->row['co_tot_ind_nb'])) ? $this->row['co_tot_ind_nb'] : 0)."|";
773     $destination .= ((isset($this->row['co_tot_coll_nb']) && !empty($this->row['co_tot_coll_nb'])) ? $this->row['co_tot_coll_nb'] : 0)."|";
774     $destination .= ((isset($this->row['co_tot_log_nb']) && !empty($this->row['co_tot_log_nb'])) ? $this->row['co_tot_log_nb'] : 0)."|";
775    
776     $destination .= ((isset($this->row['co_resid_agees']) && $this->row['co_resid_agees']=='t') ? 1 : 0);
777     $destination .= ((isset($this->row['co_resid_etud']) && $this->row['co_resid_etud']=='t') ? 1 : 0);
778     $destination .= ((isset($this->row['co_resid_tourism']) && $this->row['co_resid_tourism']=='t') ? 1 : 0);
779     $destination .= ((isset($this->row['co_resid_hot_soc']) && $this->row['co_resid_hot_soc']=='t') ? 1 : 0);
780     $destination .= ((isset($this->row['co_resid_soc']) && $this->row['co_resid_soc']=='t') ? 1 : 0);
781     $destination .= ((isset($this->row['co_resid_hand']) && $this->row['co_resid_hand']=='t') ? 1 : 0);
782     $destination .= ((isset($this->row['co_resid_autr']) && $this->row['co_resid_autr']=='t') ? 1 : 0)."|";
783     $destination .= (isset($this->row['co_resid_autr_desc']) ? $this->maj($this->row['co_resid_autr_desc']) : "")."|";
784    
785     $destination .= ((isset($this->row['co_uti_pers']) && $this->row['co_uti_pers']=='t') ? 1 : 0);
786     $destination .= ((isset($this->row['co_uti_princ']) && $this->row['co_uti_princ']=='t') ? 1 : 0);
787     $destination .= ((isset($this->row['co_uti_secon']) && $this->row['co_uti_secon']=='t') ? 1 : 0);
788     $destination .= ((isset($this->row['co_uti_vente']) && $this->row['co_uti_vente']=='t') ? 1 : 0);
789     $destination .= ((isset($this->row['co_uti_loc']) && $this->row['co_uti_loc']=='t') ? 1 : 0)."|";
790    
791     $destination .= ((isset($this->row['co_foyer_chamb_nb']) && !empty($this->row['co_foyer_chamb_nb'])) ? $this->row['co_foyer_chamb_nb'] : 0)."|";
792    
793     return $destination;
794     }
795    
796     /**
797     * Données pour le groupe 2 du mouvement décision concernant la répartition des
798     * logements créées par type de financement
799     *
800     * @return string la chaine de données du groupe 2
801     */
802     function repartitionFinan(){
803    
804     $repartitionFinan = "";
805    
806     $repartitionFinan .= ((isset($this->row['co_fin_lls_nb']) && $this->row['co_fin_lls_nb']) ? $this->row['co_fin_lls_nb'] : 0)."|";
807     $repartitionFinan .= ((isset($this->row['co_fin_aa_nb']) && $this->row['co_fin_aa_nb']) ? $this->row['co_fin_aa_nb'] : 0)."|";
808     $repartitionFinan .= ((isset($this->row['co_fin_ptz_nb']) && $this->row['co_fin_ptz_nb']) ? $this->row['co_fin_ptz_nb'] : 0)."|";
809     $repartitionFinan .= ((isset($this->row['co_fin_autr_nb']) && $this->row['co_fin_autr_nb']) ? $this->row['co_fin_autr_nb'] : 0)."|";
810    
811     return $repartitionFinan;
812     }
813    
814     /**
815     * Données pour le groupe 2 du mouvement décision concernant la répartition des
816     * logements créées par nombre de pièces
817     *
818     * @return string la chaine de données du groupe 2
819     */
820     function repartitionNbPiece($mouvement){
821    
822     $repartitionFinan = "";
823     if($mouvement != "MODIFICATIF"){
824     $repartitionFinan .= ((isset($this->row['co_mais_piece_nb']) && $this->row['co_mais_piece_nb'] == 't') ? 1 : 0)."|";
825     }
826    
827     $repartitionFinan .= ((isset($this->row['co_log_1p_nb']) && is_numeric($this->row['co_log_1p_nb'])) ? $this->row['co_log_1p_nb'] : 0)."|";
828     $repartitionFinan .= ((isset($this->row['co_log_2p_nb']) && is_numeric($this->row['co_log_2p_nb'])) ? $this->row['co_log_2p_nb'] : 0)."|";
829     $repartitionFinan .= ((isset($this->row['co_log_3p_nb']) && is_numeric($this->row['co_log_3p_nb'])) ? $this->row['co_log_3p_nb'] : 0)."|";
830     $repartitionFinan .= ((isset($this->row['co_log_4p_nb']) && is_numeric($this->row['co_log_4p_nb'])) ? $this->row['co_log_4p_nb'] : 0)."|";
831     $repartitionFinan .= ((isset($this->row['co_log_5p_nb']) && is_numeric($this->row['co_log_5p_nb'])) ? $this->row['co_log_5p_nb'] : 0)."|";
832     $repartitionFinan .= ((isset($this->row['co_log_6p_nb']) && is_numeric($this->row['co_log_6p_nb'])) ? $this->row['co_log_6p_nb'] : 0);
833    
834     return $repartitionFinan;
835     }
836    
837     /**
838     * Permet de mettre en forme les données du mouvement suivi pour une ouverture de chantier
839     * @return string Chaîne contenant les infos spécifiques aux DOC séparé par "|"
840     */
841     function chantier($row){
842    
843     $chantier="";
844     if(isset($row['date_chantier'])) {
845     $chantier .= substr($row['date_chantier'],8,2).substr($row['date_chantier'],5,2).
846     substr($row['date_chantier'],0,4); // *** au format francais
847     }
848     $chantier .= "|";
849     $chantier .= ((isset($row['doc_nb_log']) AND $row['doc_nb_log'] != "" ) ? $row['doc_nb_log'] : "")."|";
850     $chantier .= ((isset($row['doc_nb_log_indiv']) AND $row['doc_nb_log_indiv'] != "" ) ? $row['doc_nb_log_indiv'] : "")."|";
851     $chantier .= ((isset($row['doc_nb_log_coll']) AND $row['doc_nb_log_coll'] != "" ) ? $row['doc_nb_log_coll'] : "")."|";
852 softime 13528 $chantier .= ((isset($row['doc_surf']) AND $row['doc_surf'] != "" ) ? substr(floor(floatval($row['doc_surf'])),0,7) : "")."|";
853 mbroquet 3730 $chantier .= ((isset($row['doc_nb_log_lls']) AND $row['doc_nb_log_lls'] != "" ) ? $row['doc_nb_log_lls'] : "")."|";
854     $chantier .= ((isset($row['doc_nb_log_aa']) AND $row['doc_nb_log_aa'] != "" ) ? $row['doc_nb_log_aa'] : "")."|";
855     $chantier .= ((isset($row['doc_nb_log_ptz']) AND $row['doc_nb_log_ptz'] != "" ) ? $row['doc_nb_log_ptz'] : "")."|";
856     $chantier .= ((isset($row['doc_nb_log_autre']) AND $row['doc_nb_log_autre'] != "" ) ? $row['doc_nb_log_autre'] : "")."|";
857     // indice de la tranche commencée
858     $chantier .= "0|";
859    
860     return $chantier;
861     }
862    
863     /**
864     * Permet d'afficher le dessein correspondant à une DAACT
865     * @param array $row Les données à ajouter
866     *
867     * @return string Chaîne contenant les infos spécifiques aux DAACT séparé par "|"
868     */
869     function achevement($row){
870    
871     $achevement="";
872     if(isset($row['date_achevement'])) {
873     $achevement .= substr($row['date_achevement'],8,2).substr($row['date_achevement'],5,2).
874     substr($row['date_achevement'],0,4); // *** au format francais
875     }
876     $achevement .= "|";
877    
878     $achevement .= ((isset($row['daact_nb_log']) AND $row['daact_nb_log'] != "" ) ? $row['daact_nb_log'] : "")."|";
879     $achevement .= ((isset($row['daact_nb_log_indiv']) AND $row['daact_nb_log_indiv'] != "" ) ? $row['daact_nb_log_indiv'] : "")."|";
880     $achevement .= ((isset($row['daact_nb_log_coll']) AND $row['daact_nb_log_coll'] != "" ) ? $row['daact_nb_log_coll'] : "")."|";
881 softime 13528 $achevement .= ((isset($row['daact_surf']) AND $row['daact_surf'] != "" ) ? substr(floor(floatval($row['daact_surf']),0,7)) : "")."|";
882 mbroquet 3730 $achevement .= ((isset($row['daact_nb_log_lls']) AND $row['daact_nb_log_lls'] != "" ) ? $row['daact_nb_log_lls'] : "")."|";
883     $achevement .= ((isset($row['daact_nb_log_aa']) AND $row['daact_nb_log_aa'] != "" ) ? $row['daact_nb_log_aa'] : "")."|";
884     $achevement .= ((isset($row['daact_nb_log_ptz']) AND $row['daact_nb_log_ptz'] != "" ) ? $row['daact_nb_log_ptz'] : "")."|";
885     $achevement .= ((isset($row['daact_nb_log_autre']) AND $row['daact_nb_log_autre'] != "" ) ? $row['daact_nb_log_autre'] : "")."|";
886     // indice de la tranche complétée
887     $achevement .= "0|";
888     // Finchantier 1 si etat=cloturer sinon 0
889     if ($row['statut_di']=="cloture"){
890     $achevement.="1";
891     }else{
892     $achevement.="0";
893     }
894     // indique la provenance de l'info d'achèvement des travaux (déclaration/DGI)
895     $achevement .= "|";
896     return $achevement;
897     }
898    
899     /**
900     * Permet de récupérer la valeur par defaut du champ passé en paramètre
901     * @param string $champ nom du champ dont on souhaite afficher la valeur par defaut
902     * @return string valeur par defaut
903     */
904     function defaultValue($champ){
905     if($this->DEBUG==2) return $champ;
906     if(isset($this->parametre[$champ])){
907     return $this->parametre[$champ];
908     }else
909     return $this->val[$champ];
910     }
911    
912     /**
913     * Normalise la chaine de caractère ou renvoit "valeur manquant".
914     *
915     * @param $val La valeur du champ
916     * @return string la chaine formatée ou ""
917     */
918     function maj($val) {
919     $val = strtoupper($val);
920     $val=str_replace(chr(195), "", $val); // supprime le premier code des accents en UTF-8
921     $s = array('/[âàäÀÂ]/', '/[éêèëÉÈÊ]/', '/[îï]/', '/[ôöÔ]/', '/[ûùü]/', '/[çÇ]/', '/\'|\"|^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-\s\r/', '/\n/');
922     $r = array('A', 'E', 'I', 'O', 'U', 'C', ' ', ' ');
923     $val = preg_replace($s , $r, $val);
924     // Formatage des valeurs manquantes
925     return $val;
926     }
927    
928     /**
929     * Retourne le code INSEE d'un pays
930     *
931     * @param string $pays Le nom du pays
932     * @return int Le code insee du pays
933     */
934     function getCodeInseePays($pays) {
935     //
936     if($pays!=''&&isset($this->pays[substr($pays, 0, 4)])) {
937     return $this->pays[substr($pays, 0, 4)];
938     }
939     return $this->pays['FRAN'];
940     }
941    
942     function getCommune($collectivite){
943     $sql = "SELECT valeur FROM ".DB_PREFIXE."om_parametre WHERE om_collectivite = ".$collectivite." AND libelle='commune'";
944     $commune = $this->f->db -> getOne ($sql);
945     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
946     $this->f->isDatabaseError($commune);
947     return $commune;
948     }
949    
950     function getDepartement($collectivite){
951     $sql = "SELECT valeur FROM ".DB_PREFIXE."om_parametre WHERE om_collectivite = ".$collectivite." AND libelle='departement'";
952     $departement = $this->f->db -> getOne ($sql);
953     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
954     $this->f->isDatabaseError($departement);
955     return $departement;
956     }
957    
958     }
959    
960 softime 7996

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26