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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 186 - (hide annotations)
Tue Oct 11 10:48:12 2011 UTC (13 years, 3 months ago) by fraynaud
File size: 12909 byte(s)
mise au point sitadel



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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26