/[openfoncier]/trunk/app/sitadel.class.php
ViewVC logotype

Annotation of /trunk/app/sitadel.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1785 - (hide annotations)
Wed Apr 24 16:10:22 2013 UTC (11 years, 9 months ago) by nhaye
File size: 14558 byte(s)
Mise à jour des commentaires et mise page du code

1 fraynaud 178 <?php
2     /**
3 nhaye 1785 * Classe permettant la mise en forme de chaque ligne de l'export SITADEL
4     * Les méthode retourne des morceaux de lignes en faisant correspondre les valeurs
5     * du dossier avec les valeurs définie pour l'export SITADEL
6 fmichon 1515 *
7     * @package openfoncier
8     * @version SVN : $Id$
9 fraynaud 178 */
10    
11     class sitadel {
12    
13 nhaye 1785 var $dossier; // identifiant du dossier à insérer dans l'export
14     var $row; // Valeurs du dossier
15 fraynaud 184 var $val; // parametre par defaut
16     var $parametre; //parametre dossier
17 fraynaud 190 var $DEBUG=0; // 1 = valeur
18 fraynaud 178
19 nhaye 1785 /**
20     * Constructeur, initialisation de l'attribut dossier
21     *
22     * @param dossier string identifiant du dossier à traiter
23     */
24 fraynaud 178 function sitadel($dossier) {
25     $this->dossier=$dossier;
26     }// fin constructeur
27    
28 nhaye 1785 /**
29     * Permet de mettre en forme le début de chaque la ligne
30     *
31     * @param mouvement string DEPOT, DECISION, SUIVI, TRANSFERT, MODIFICATIF, SUPPRESSION
32     * @param departement string non utilisé
33     * @param commune string code commune du dossier
34     * @param pf_departement string code du département du dossier
35     *
36     * @return string entete de la ligne
37     */
38 fraynaud 193 function entete($mouvement, $departement, $commune,$pf_departement){
39 fraynaud 178 // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
40 nhaye 1785 // l'equivalence n'est pas utilisée
41 nhaye 1138 $entete=$mouvement."|".$this->row['code']."||".$pf_departement.$departement."|".$commune."|".$this->row['annee'].
42 fraynaud 178 "|".substr($this->dossier,4,5)."|".substr($this->dossier,9,2)."|";
43     return $entete;
44     }
45    
46 nhaye 1785 /**
47     * Permet de mettre en forme l'état civil :
48     * personne morale / physique
49     * société, siret, civilité, nom, prénom / civilité, nom, prénom
50     *
51     * @return string demandeur désigné
52     */
53 fraynaud 178 function etatcivil(){
54     // etat civil demandeur
55     // codemo|
56     if($this->row['demandeur_categorie']==9
57     or $this->row['demandeur_categorie']=="")
58     $codemo=1;// personne physique
59     else
60     $codemo=2;// personne morale
61     $etatcivil=$codemo."|"; // 1 personne physique ; 2 sinon
62     // openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr)
63     // civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep|
64     // suivant codemo = 1 (personne physique) ou 2 (personne morale)
65     // demandeur_civilite n est pas normalise Madame ou Monsieur
66     if($codemo==1){
67 fraynaud 185 // *civpart*|*prenompart*|nompart||||||
68 fraynaud 186 $etatcivil.= $this->p('civpart')."|".$this->p('prenompart')."|";
69 fraynaud 178 $etatcivil.= $this->maj(substr($this->row['demandeur_nom'],0,30))."||||||||";
70     }else{
71 fraynaud 186 //denopm|*rspm*|*siret*|*catjur*|*civrep*|*prenomrep*|nomrep|
72     $etatcivil.="|||"; // codemo=1
73 fraynaud 298 $etatcivil.=$this->maj(substr($this->row['demandeur_societe'],0,50))."|";
74 fraynaud 178 $etatcivil.=$this->maj(substr($this->row['categorie_libelle'],0,30))."|";
75 fraynaud 186 $etatcivil.=$this->p('rspm')."|".$this->p('siret')."|".$this->p('catjur')."|".
76     $this->p('civrep')."|".$this->p('prenomrep'); // *** +1
77     $etatcivil.=$this->maj(substr($this->row['demandeur_nom'],0,30))."|";
78 fraynaud 178 }
79     return $etatcivil;
80     }
81    
82     function adresse(){
83     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK)
84     // *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo|
85 fraynaud 186 $adresse="";
86     $adresse = $this->p('numvoiemo')."|".$this->p('typvoiemo')."|".
87     $adresse.= $this->maj(substr($this->row['demandeur_adresse'],0,26))."|".
88 fraynaud 181 $this->maj(substr($this->row['demandeur_adresse'],26,38))."|";
89 fraynaud 186 $adresse.= $this->maj($this->row['demandeur_ville'])."|".$this->row['demandeur_cp']."|";
90 fraynaud 187 $adresse.= $this->p('bpmo')."|".$this->p('cedexmo')."|".$this->p('paysmo')."|".$this->p('divtermo')."|";
91     return $adresse;
92 fraynaud 178 }
93    
94    
95     function delegataire(){
96     // openFoncier civilite (non normalise monsieur/madame), nom (80/30 substr)
97     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/32 -> OK)
98 fraynaud 186 // *civtiers*|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*|
99 fraynaud 178 // libvoietiers|lieudittier|communetier|codpostier
100     // |*bptier*|*cedextier*|*paystier*|*divtertier*|
101     $delegataire="";
102     if($this->row['delegataire']=='Oui'){
103 fraynaud 186 $delegataire.= $this->p('civtier')."|".$this->p('prenomtier');
104 fraynaud 178 $delegataire.="|".$this->maj(substr($this->row['delegataire_nom'],0,30))."|";
105 fraynaud 187 $delegataire.= "|".$this->p('typevoietier')."|".$this->maj(substr($this->row['delegataire_adresse'],0,26))."|".
106 fraynaud 178 $this->maj(substr($this->row['delegataire_adresse'],26,38))."|";
107     $delegataire.= $this->maj($this->row['delegataire_ville'])."|".
108 fraynaud 186 $this->row['delegataire_cp']."|";
109     $delegataire.= $this->p('bptier')."|".$this->p('cedextier')."|";
110     $delegataire.= $this->p('paystier')."|".$this->p('divtertier')."|";
111 fraynaud 178 }else{
112 fraynaud 181 $delegataire.= "|||||||||||||"; // *** 13 |
113 fraynaud 178 }
114 fraynaud 187 return $delegataire;
115     }
116    
117     function meltel($mouvement){
118 fraynaud 178 // sitadel : telmo|melmo|
119 fraynaud 187 $meltel="";
120     if($mouvement != "Transfert")
121     $meltel.=$this->row['demandeur_telephone']."|";
122     $meltel.= $this->row['demandeur_email']."|";
123 fraynaud 193 // suivi electronique
124 fraynaud 187 if($this->row['delegataire']=='Oui'){
125     $meltel.= "1";
126     }else{
127     $meltel.= "0";
128     }
129 fraynaud 193 // suivi -> fin enr pour transfert (sans |)
130 fraynaud 187 if($mouvement != "Transfert")
131 fraynaud 190 $meltel.= "|";
132 fraynaud 187 return $meltel;
133 fraynaud 193 }
134 fraynaud 178
135     function adresse_terrain(){
136     // openfoncier numero (4/5 substr), adresse(80, 26 +38 -> substr), complement (non utilise (80)), cp (5/5 ok), ville (30/32 ok)
137 fraynaud 187 // sitadel : |numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*|
138     // mettre le | en debut pour info du 2eme groupe (suite 1er groupe)
139 fraynaud 193 $adresse="";
140 fraynaud 187 //
141     $adresse.= substr($this->row['terrain_numero'],0,4)."|".$this->p('typvoiete')."|";
142 fraynaud 186 $adresse.= $this->maj(substr($this->row['terrain_adresse'],0,26))."|".
143 fraynaud 178 $this->maj(substr($this->row['terrain_adresse'],26,38))."|";
144     $adresse.= $this->maj($this->row['terrain_ville'])."|";
145     $adresse.= $this->row['terrain_cp']."|";
146 fraynaud 186 $adresse.= $this->p('bpte')."|".$this->p('cedexte')."|";
147 fraynaud 178 return $adresse;
148     }
149    
150     function parcelle(){
151     // ========
152     // parcelle
153     // ========
154     // cadastre 3 parcelles + 3 sections
155     // openfoncier = 1 seule parcelle (6/3+5)
156     // sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*|
157     $parcelle= substr($this->row['parcelle'],0,2)."|";
158 fraynaud 186 $parcelle.= substr($this->row['parcelle'],2,4)."|";
159     $parcelle.= $this->p('scadastre2')."|".$this->p('ncadastre2')."|";
160     $parcelle.= $this->p('scadastre3')."|".$this->p('ncadastre3')."|";
161 fraynaud 178 return $parcelle;
162     }
163    
164 fraynaud 200 function decision_groupe1($avis_sitadel, $avis_sitadel_motif,$structure){
165     $decision= $structure.'|'; // au nom de la commune
166 fraynaud 178 $decision.= $avis_sitadel."|";
167     // date au format francais 8 caracteres
168     $decision.= substr($this->row['date_decision'],8,2).''.
169     substr($this->row['date_decision'],5,2)."".
170     substr($this->row['date_decision'],0,4)."|";
171 fraynaud 193 $decision.= $avis_sitadel_motif."|";
172 fraynaud 178 return $decision;
173     }
174    
175 fraynaud 187 function terrain(){
176     $contenu="";
177     $contenu= floor($this->row['terrain_surface'])."|";
178     return $contenu;
179     }
180    
181 fraynaud 179 function amenagement(){
182     // renseignement du groupe 2 ***
183 fraynaud 187 // lotissement|zac|afu|
184 fraynaud 190 $contenu="";
185 fraynaud 179 if($this->row['amenagement']!='')
186     $contenu.= "1|";
187     else
188 fraynaud 190 $contenu.= "0|";
189 fraynaud 186 $contenu.= $this->p('zac')."|".$this->p('afu')."|";
190 fraynaud 179 return $contenu;
191     }
192    
193 fraynaud 187 function travaux($travaux, $lascot,$mouvement){
194     // libnattrav| ou libmotif dans MODIFICATIF
195 fraynaud 179 $contenu=$this->maj($travaux)."|";
196 fraynaud 187 // natproj| innexistant en MODIFICATIF
197     if($mouvement != "Modificatif"){
198     if($lascot=='1'
199     or $lascot=='2'
200     or $lascot=='3')
201     $contenu.= $lascot."|"; // natproj 1:construction 2:extension ou 3:surelevation
202     else
203     $contenu.= "|";
204     }
205     // INITIAL (ou TRANSFERT)natdp|nattrav|*annexe*|*nivmax*
206     // MODIFICATIF nattrav|*annexe*|*nivmax*
207     if($mouvement != "Modificatif"){
208     $natdp='00000';
209     if($lascot=='1') $natdp="10000"; // nouvelle construction
210     if($lascot=='2') $natdp="01000"; // travaux sur construction existante
211     if($lascot=='3') $natdp="01000"; //
212     if($lascot=='X') $natdp="00001"; // cloture
213     $contenu.= $natdp."|";
214     }
215 fraynaud 179 // nattrav
216     $nattrav = "0000";
217     if($lascot=='2') $nattrav="1000";
218     if($lascot=='3') $nattrav="0100";
219     $contenu.= $nattrav."|";
220     // annexe non renseigner defaut 00000
221 fraynaud 186 $contenu.= $this->p('annexe')."|";
222 fraynaud 179 //nivmax non saisi
223 fraynaud 186 $contenu.=$this->p('nivmax')."|";
224 fraynaud 179 return $contenu;
225     }
226 fraynaud 178
227 fraynaud 179 function destination($shon){
228     $contenu="";
229     for($i=1;$i<=9;$i++){
230     if(!isset($shon[$i])) $shon[$i]=0;
231     $contenu.=$shon[$i].'|';
232    
233     }
234     return $contenu;
235     }
236 fraynaud 178
237 fraynaud 187 function descriptif($mouvement){
238 fraynaud 179 // cpublic : non renseignee N par defaut
239     // O/N transport/enseignement/sante/social/special/culture
240 fraynaud 184
241 fraynaud 187 $contenu= $this->p('cpublic')."|"; //* supp|
242 fraynaud 179 // nblogdem
243 fraynaud 187 if($mouvement != "Modificatif"){
244     $contenu.= $this->row['logement_nombre']."|";
245     }
246 fraynaud 179 // nbmaison : nombre de maison
247 fraynaud 187 $contenu.= $this->p('nbmaison')."|";
248 fraynaud 179 // nblogcoll : nombre de logement collectif
249 fraynaud 187 $contenu.= $this->p('nblogcoll')."|";
250 fraynaud 179 // nbtotlog : nombre de logement total
251 fraynaud 187 $contenu.= $this->p('nbtotlog')."|";
252 fraynaud 179 // natres : nature des residences
253     // O/N 1=ages, 2=etudiant, 3=tourisme, 4=hotel, 5=social, 6= handicap, 7=autres
254 fraynaud 187 $contenu.= $this->p('natres')."|";
255 fraynaud 179 // libres= si autre residence (long max 1000 c)
256 fraynaud 187 $contenu.= $this->p('libres')."|";
257 fraynaud 179 // util : O/N personnel, principale, secondaire, vente, location
258 fraynaud 187 $contenu.= $this->p('util')."|";
259 fraynaud 184 //chambre
260 fraynaud 187 $contenu.= $this->p('chambre')."|";
261 fraynaud 179 // nb logement sociaux
262 fraynaud 187 $contenu.= $this->p('finis')."|";
263 fraynaud 179 // nb logt financt aides
264 fraynaud 187 $contenu.= $this->p('finaa')."|";
265 fraynaud 179 // nb de logt pret a taux 0
266 fraynaud 187 $contenu.= $this->p('finptz')."|";
267 fraynaud 179 // nb de logt finances autrt
268 fraynaud 187 $contenu.= $this->p('finaf')."|";
269 fraynaud 179 // nb pieces en maison individuelle
270 fraynaud 187 if($mouvement != "Modificatif")
271     $contenu.= $this->row['piece_nombre']."|"; // voir si 0
272 fraynaud 179 // chambre (num capacite accueil locaux hebergement)
273 fraynaud 184 // $contenu.= "|";
274 fraynaud 179 // nb de logement 1piece
275 fraynaud 187 $contenu.= $this->p('piec1')."|";
276 fraynaud 179 // nb de logement 2 pieces
277 fraynaud 187 $contenu.= $this->p('piec2')."|";
278 fraynaud 179 // nb de logement 3 pieces
279 fraynaud 187 $contenu.= $this->p('piec3')."|";
280 fraynaud 179 // nb de logement 4 pieces
281 fraynaud 187 $contenu.= $this->p('piec4')."|";
282 fraynaud 179 // nb de logement 5 pieces
283 fraynaud 187 $contenu.= $this->p('piec5')."|";
284 fraynaud 179 // nb de logement 6 pieces
285 fraynaud 187 $contenu.= $this->p('piec6');
286     // (derniere zone decision et modificatif)
287 fraynaud 179 return $contenu;
288     }
289    
290 fraynaud 181 function chantier(){
291 fraynaud 186 //datereoc|
292 fraynaud 181 $suivi1="";
293 fraynaud 186 $suivi1.=substr($this->row['date_chantier'],8,2).substr($this->row['date_chantier'],5,2).
294     substr($this->row['date_chantier'],0,4)."|"; // *** au format francais
295     //nblogoc|nbmaisoc|nbcolloc|
296     $suivi1.=$this->p('nblogoc')."|".$this->p('nbmaisoc')."|".$this->p('nbcolloc')."|";
297     //shonoc|
298     $suivi1.=floor($this->row['shon'])."|"; // ok *** enlever les decimales
299     //*finisoc*|*finaaoc*|*finptzoc*|*finafoc|*indoc*|
300     $suivi1.=$this->p('finisoc')."|".$this->p('finaaoc')."|".
301     $this->p('finptzoc')."|".$this->p('finafoc')."|".$this->p('indoc')."|";
302     $suivi1.="|||||||||||"; // achevement 11|
303 fraynaud 193 return $suivi1;
304 fraynaud 181 }
305 fraynaud 179
306 fraynaud 181 function achevement(){
307 fraynaud 186 $suivi2="||||||||||"; // occupation 10 |
308     //datereat|
309 fraynaud 200 $suivi2.=substr($this->row['date_achevement'],8,2).
310     substr($this->row['date_achevement'],5,2).
311 fraynaud 186 substr($this->row['date_achevement'],0,4)."|"; // ok *** au format francais
312     //nblogat|nbmaisat|nbcollat|
313     $suivi2.=$this->p('nblogat')."|".$this->p('nbmaisat')."|".$this->p('nbcollat')."|";
314     //shonat|
315     $suivi2.=floor($this->row['shon'])."|"; // ok *** enlever les decimales
316     //finisat|finaaat|finptzat|finafat|indat|
317     $suivi2.=$this->p('finisat')."|".$this->p('finaaat')."|".$this->p('finptzat').
318     "|".$this->p('finafat')."|".$this->p('indat')."|";
319 fraynaud 181 // Finchantier 1 si etat=cloturer sinon 0
320     if ($this->row['etat']=="cloturer"){
321     $suivi2.="1|";
322     }else{
323     $suivi2.="0|";
324     }
325 fraynaud 184 // Origat 1 par defaut
326     $suivi2.=$this->p('origat');
327 fraynaud 181 return $suivi2;
328     }
329 fraynaud 184
330     function p($champ){
331 fraynaud 186 if($this->DEBUG==2) return $champ;
332 fraynaud 184 if(isset($this->parametre[$champ])){
333     return $this->parametre[$champ];
334     }else
335     return $this->val[$champ];
336     }
337    
338 fraynaud 178 function maj($val) {
339     $val = strtoupper($val);
340     $val=str_replace(chr(195), "", $val); // supprime le premier code des accents en UTF-8
341     $s = array('/[âàäÀ]/', '/[éêèëÉÈ]/', '/[îï]/', '/[ôöÔ]/', '/[ûùü]/', '/[çÇ]/', '/\'|\"|^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-\s\r/');
342     $r = array('A', 'E', 'I', 'O', 'U', 'C', ' ');
343     $val = preg_replace($s , $r, $val);
344     return $val;
345     }
346     }
347 fmichon 1515
348 fraynaud 178 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26