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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1515 - (hide annotations)
Tue Mar 19 18:53:12 2013 UTC (11 years, 10 months ago) by fmichon
File size: 13561 byte(s)
Mise au carré des entêtes de fichier

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26