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

Annotation of /trunk/app/sitadel.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: 34072 byte(s)
mise au point sitadel



1 fraynaud 178 <?php
2     // $Id: export_sitadel.php,v 1.20 2010-11-15 14:50:40 fraynaud Exp $
3     /*
4     transfert de dossier à SITADEL
5     realisé ville arles par fr+jlb
6     voir parametrage trt/sitadel.inc
7     */
8     require_once "../obj/utils.class.php";
9     require_once "../app/sitadel.class.php";
10 fraynaud 184 require_once "../dyn/locales.inc.php";
11     require_once "../dyn/version.inc.php";
12     require_once "sitadel.inc";
13 fraynaud 178 $f = new utils(NULL, "export", _("export SITADEL"), "ico_reqmo.png", "export");
14     $f->addHTMLHeadJs(array("../js/script.js"));
15     // GET
16     if (isset ($_GET['validation'])){
17     $validation=$_GET['validation'];
18     }else{
19     $validation=0;
20     }
21     /**
22     * Description de la page
23     */
24     $description = _("Cette page vous permet de Transmettre les dossiers suivant la procedure SITADEL");
25     $f->displayDescription($description);
26     //controle
27     $DEBUG=1;
28 fraynaud 184
29 fraynaud 178 // parametres collectivite
30    
31     // =============================================================================
32     // validation = 0
33     // =============================================================================
34     if($validation==0){
35     $validation=1;
36     echo "<form method=\"POST\" action=\"sitadel.php?validation=".$validation."\" name=f1>";
37     echo " "._("debut")." ";
38     echo "<input type='text' name='datedebut' id=\"datedebut\" value=\"";
39     echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />";
40     echo " "._("fin")." ";
41     echo "<input type='text' name='datefin' id=\"datefin\" value=\"";
42     echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />";
43     echo " "._("Numero d ordre d envoi")." : "."<SELECT name='numero'>";
44     for($i=1;$i<11;$i++){
45     echo "<option value ='".$i."'>".$i."</option>";
46     }
47     echo "</select>";
48     echo "<br><br><input type='submit' value='export SITADEL'>";
49     echo "<br><br></form>";
50    
51     }else { // ===================== extraction =================================
52    
53     $correct=true;
54     $longueurenregistrement= 0 ; // a calculer
55 fraynaud 184 //$nombreenregistrement=1; // l entete est comptée dans le nombre enregistrement
56 fraynaud 181 if($_POST["datedebut"]=="")$correct=false;
57 fraynaud 178 if($_POST["datefin"]=="") $correct=false;
58 fraynaud 181 $correct=true; // a enlever apres test
59 fraynaud 178 if ($correct==true){ // ***
60     // dossiers concernés
61     $sql= "select * from dossier";
62 fraynaud 179 $sql.= " where (nature='PC' or nature = 'PD' or nature = 'PA' or nature = 'DP')";
63 fraynaud 178 //$sql.= " AND ((date_depot>='".$this->datedebut."' AND date_depot<='".$this->datefin."')";
64 fraynaud 179 //$sql.= " OR (date_decision>='".$this->datedebut."' AND date_decision<='".$this->datefin."'))";
65     $sql.= " and dossier = 'PC11R0004'";
66 fraynaud 178 $res = $f->db -> query ($sql);
67     $f->isDatabaseError($res);
68     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
69     // initialisation
70     $g = new sitadel($row['dossier']);
71     $g->row=$row;
72 fraynaud 184 // sitadel
73     $g->val=$val;
74     // parametre
75     $sql = "select parametre, valeur from statistique where dossier ='".$row['dossier']."'";
76     $res1 = $f->db -> query ($sql);
77     $f->isDatabaseError($res1);
78     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
79     $g->parametre[$row1['parametre']]=$row1['valeur'];
80     }
81     print_r($g->parametre);
82 fraynaud 178 $departement =$f->collectivite["departement"];
83     $commune =$f->collectivite["commune"];
84 fraynaud 184 $region =$f->collectivite["region"];
85 fraynaud 178 // depot
86     $depot="";
87 fraynaud 179 // type different de transfert
88     if($row['types']!='Transfert'){
89     $depot.=$g->entete("DEPOT",$departement,$commune);
90     $depot.=$g->etatcivil();
91     $depot.=$g->adresse();
92     $depot.=$g->delegataire();
93 fraynaud 182 $depot.=$g->adresse_terrain();
94 fraynaud 179 $depot.=$g->parcelle();
95     // ===========================
96     // contrat maison individuelle
97     // ===========================
98     // sitadel : contrat|
99     // openfoncier : non renseigne
100 fraynaud 186 $depot.= $g->p('contrat')."|";
101 fraynaud 179 // ==========
102     // architecte
103     // ==========
104     // sitadel : architecte|
105     // openfoncier : architecte >0
106     if($row['architecte']>0)
107     $depot.= "1|";
108     else
109     $depot.= "0|";
110     // =====================
111     // utilisation data cnil
112     // ======================
113     // sitadel : cnil
114     // openfoncier : non renseigne
115 fraynaud 184 $depot.= $g->p('cnil');
116 fraynaud 179 // fin d enregistrement depot
117     $depot.="\n";
118     }
119 fraynaud 178
120     //decision
121 fraynaud 179 // type different de modificatif
122     if($row['types']!='Modificatif'){
123     $decision="";
124 fraynaud 181 $avis_sitadel="";
125     $avis_sitadel_motif="";
126 fraynaud 179 // enregistrement decision dans tous les cas
127     $decision.=$g->entete("DECISION",$departement,$commune);
128     //if ($row['date_decision']== '0000-00-00'
129     // or !isset($row['date_decision'])){
130 fraynaud 181 if(isset($row['date_decision']) or $row['date_decision']==""){
131 fraynaud 179 // avis_sitadel et avis_sitadel_motif
132     if($row['avis']!=''){
133     $avis_sitadel = 0;
134     $avis_sitadel_motif=0 ;
135 fraynaud 184 $sql="select sitadel, sitadel_motif from avis where avis ='".
136     $row['avis']."'";
137 fraynaud 179 $res1 = $f->db -> query ($sql);
138     $f->isDatabaseError($res1);
139     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
140     $avis_sitadel = $row1['sitadel'];
141     $avis_sitadel_motif = $row1['sitadel_motif'];
142     }
143     $decision.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif);
144     }
145 fraynaud 181 // si la decision est favorable, envoi des informations statistiques
146 fraynaud 179 if($avis_sitadel==2 or $avis_sitadel==4
147     or $avis_sitadel==5){
148     // si decision favorable, expresse ou tacite GROUPE 2
149     $decision.= $g->amenagement();
150     if($row['travaux']!=''){
151 fraynaud 181 $sql= "select codelascot,libelle
152 fraynaud 179 from travaux where travaux=".$row['travaux'];
153     $res2 = $f->db -> query ($sql);
154     $f->isDatabaseError($res2);
155     while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
156     $travaux = $row2['libelle'];
157 fraynaud 181 $lascot = $row2['codelascot'];
158 fraynaud 179 }
159     $decision.= $g->travaux($travaux,$lascot);
160     }
161     $sql3="select * from destination_shon where dossier = '".
162     $row['dossier']."' order by destination";
163     $res3 = $f->db -> query ($sql3);
164     $f->isDatabaseError($res3);
165     $temp = array();
166     while ($row3=& $res3->fetchRow(DB_FETCHMODE_ASSOC)){
167     $shonant[$row3['destination']]=$row3["shon_anterieure"];
168     $shondem[$row3['destination']]=$row3["shon_demolie"];
169     $shonanttr[$row3['destination']]=$row3["shon_anterieure_supprimee"];
170     $shonprojtr[$row3['destination']]=$row3["shon_nouvelle_transformee"];
171     $shoncr1[$row3['destination']]=$row3["shon_nouvelle"];
172     $shoncr2[$row3['destination']]=$row3["shon_shob_transformee"];
173     }
174     $decision.= $g->destination($shonant);
175     $decision.= $g->destination($shondem);
176     $decision.= $g->destination($shonanttr);
177     $decision.= $g->destination($shonprojtr);
178     $decision.= $g->destination($shoncr1);
179     $decision.= $g->destination($shoncr2);
180    
181     $decision.= $g->descriptif();
182 fraynaud 181 $decision.="\n";
183     }
184     }
185 fraynaud 179 }
186 fraynaud 178
187 fraynaud 181 // suivi DOC : mettre le test date
188     $suivi1="";
189     // enregistrement decision dans tous les cas
190     // $nombreenregistrement++;
191     $suivi1.=$g->entete("SUIVI",$departement,$commune);
192     $suivi1.=$g->chantier();
193     $suivi1.="\n";
194    
195     // suivi DAT : mettre le test date
196     $suivi2="";
197     // enregistrement decision dans tous les cas
198     // $nombreenregistrement++;
199     $suivi2.=$g->entete("SUIVI",$departement,$commune);
200     $suivi2.=$g->achevement();
201     $suivi2.="\n";
202    
203 fraynaud 184 // transfert
204     $transfert ="";
205 fraynaud 181
206 fraynaud 184 // modificatif
207     $modificatif='';
208 fraynaud 181
209    
210 fraynaud 184 // ***************************************
211     // entete de l enregistrement page 8 et 9
212     // ***************************************
213     // numero
214     // $numero= $db -> nextId('sitadel');
215     $numero=$_POST["numero"];
216     $fichiertransmis = date('ymj').$departement.$commune;
217     $longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long
218     $entete = "SITADEL|".$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|";
219     // calcul enregistrement le plus long
220     $export="";
221     $export=$depot.$decision.$suivi1.$suivi2.$transfert.$modificatif;
222     if(CHARSET=='UTF8'){
223     $export=utf8_decode($export);
224     }
225     // nombreenrgistremment et longueurenregistrement
226     $nbenr = explode("\n",$export);
227     $tmp=array();
228     $cpt=0;
229     for($i=0;$i<sizeof($nbenr);$i++){
230     // mb_strlen( variable,encoding) PHP 4 >= 4.0.6, PHP 5
231     // Le paramètre encoding est l'encodage des caractères.
232     // S'il est omis, l'encodage de caractres interne sera utilisé.
233     $tmp[$i] = strlen($nbenr[$i]);
234     //echo strlen($nbenr[$i])." ".$nbenr[$i]."<br>";
235     $cpt++;
236     }
237     $longueurenregistrement=max($tmp);
238     $nombreenregistrement=$cpt; // + entete
239     // Date de modification
240     $datemodification = date('y').str_pad (DATE('m'), 2, "0", STR_PAD_LEFT).str_pad (DATE('j'), 2, "0", STR_PAD_LEFT);
241     // export
242 fraynaud 186 $version = substr($version,0,8);
243 fraynaud 184 $entete.= $longueurenregistrement."|".$datemodification."|".$nombreenregistrement."|openFoncier|".$version."\n";
244     $export=$entete.$export;
245     //$str = htmlentities($str, ENT_QUOTES);
246     // ecriture des fichiers en tmp
247     $fichier = "../tmp/SITADEL".substr($_POST["datedebut"],3,2).
248     "".substr($_POST["datedebut"],8,4)."_test";
249     $inf = fopen($fichier,"w");
250     //$export=substr($export,0,strlen($export)-1); // un \n en trop
251     fwrite($inf,$export);
252     fclose($inf);
253     echo "<br>Fichier ".$fichier." sauvegarde<br><br><br>";
254 fraynaud 181
255 fraynaud 184 // affichage
256     echo "<br /><br />Pour telecharger le fichier, cliquer ici : <a href=\"".$fichier."\" target=\"_blank\">";
257     echo "<img src=\"../app/img/ico_trace.png\" alt=\"Telecharger le fichier CNEN\" title=\"Telecharger le fichier CNEN\" />";
258     echo "</a> avec le bouton droit et enregistrer la cible du lien sous. <br /><br />";
259 fraynaud 181
260 fraynaud 184 if($DEBUG==1){
261     $affiche="";
262     $affiche= str_replace("\n","<br>",$export);
263     echo $affiche;
264     }
265 fraynaud 181
266 fraynaud 184
267    
268     //if($DEBUG==1){
269     // echo $depot."<br>";
270     // echo $decision."<br>";
271     // echo $suivi1."<br>";
272     // echo $suivi2."<br>";
273     //}
274 fraynaud 178
275    
276     }
277    
278    
279    
280    
281     /*
282    
283     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
284    
285    
286    
287 fraynaud 179
288 fraynaud 178 // ==================================================================================
289     // evenement de decision sur une période *** DECISION ***
290     // ==================================================================================
291     $sql= "select annee, dossier.dossier, dossier.nature,
292     terrain_surface, amenagement, travaux.libelle as travaux_libelle,
293     shon,logement_nombre, piece_nombre,
294     date_decision, avis.sitadel as avis_sitadel, avis.sitadel_motif as avis_sitadel_motif,
295     travaux.codelascot as lascot
296     from dossier left join travaux on dossier.travaux=travaux.travaux
297     left join avis on avis.avis= dossier.avis";
298     $sql.= " where date_decision>='".substr($_POST["datedebut"],6,4).
299     "-".substr($_POST["datedebut"],3,2)."-".
300     substr($_POST["datedebut"],0,2)."'";
301     $sql.= " AND date_decision<='".substr($_POST["datefin"],6,4).
302     "-".substr($_POST["datefin"],3,2)."-".
303     substr($_POST["datefin"],0,2)."'";
304     $sql.= " AND (dossier.nature='PC' or dossier.nature = 'PD' or dossier.nature = 'PA' or dossier.nature = 'DP')";
305     $sql.= " AND types != 'Modificatif'";
306     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>DECISION</font> ".$sql;
307     $res = $f->db -> query ($sql);
308     $f->isDatabaseError($res);
309 fraynaud 181
310 fraynaud 178 // ==================================================================================
311     // suivi DOC *** suivi DOC ***
312     // ==================================================================================
313     // Evenement declancheur DATE OUVERTURE DE CHANTIER
314     $sql= "select annee, dossier.dossier, dossier.nature, annee,
315     date_chantier, shon
316     from dossier ";
317     $sql.= " where date_chantier>='".substr($_POST["datedebut"],6,4).
318     "-".substr($_POST["datedebut"],3,2)."-".
319     substr($_POST["datedebut"],0,2)."'";
320     $sql.= " AND date_chantier<='".substr($_POST["datefin"],6,4).
321     "-".substr($_POST["datefin"],3,2)."-".
322     substr($_POST["datefin"],0,2)."'";
323     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>SUIVI</font> ".$sql;
324     // faut il en faire suivi 1 et suivi 2 ou dans une meme requete
325     $res = $f->db -> query ($sql);
326     $f->isDatabaseError($res);
327     $suivi1="";
328    
329    
330    
331     // ==================================================================================
332     // Transfert TRANSFERT
333     // ==================================================================================
334     // element declancheur : Transfert
335     // zone types= Transfert
336     $sql= "select date_achevement, annee, dossier.dossier, demandeur_civilite, dossier.nature,demandeur_categorie,
337     categorie_demandeur.libelle as categorie_libelle,demandeur_nom,demandeur_societe,demandeur_adresse,
338     demandeur_ville,demandeur_cp,demandeur_email,delegataire,parcelle, terrain_numero,
339     terrain_numero_complement,terrain_adresse,terrain_adresse_complement, terrain_ville, terrain_cp,
340     architecte from dossier
341     left join categorie_demandeur on demandeur_categorie= categorie_demandeur.categorie_demandeur";
342     $sql.= " where date_depot>='".substr($_POST["datedebut"],6,4).
343     "-".substr($_POST["datedebut"],3,2)."-".
344     substr($_POST["datedebut"],0,2)."'";
345     $sql.= " AND date_depot<='".substr($_POST["datefin"],6,4).
346     "-".substr($_POST["datefin"],3,2)."-".
347     substr($_POST["datefin"],0,2)."'";
348     $sql.= " AND types= 'Transfert'";
349     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>TRANSFERT</font> ".$sql;
350     // date du transfert ?
351     $res = $f->db -> query ($sql);
352     $f->isDatabaseError($res);
353     $transfert="";
354     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
355     $nombreenregistrement++;
356     $cpt_transfert++;
357     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
358     // typepermis = dossier.nature
359     // annee = dossier.annee
360     // andepnumpc|indmod = substr dossier.dossier
361     $transfert.="TRANSFERT|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
362     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."|";
363     //ajout aout2010-----IDEM DEPOT codedemo à suivi (---- sauf civtiers|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*|
364     // libvoietiers|lieudittier|communetier|codpostier|*bptier*|*cedextier*|*paystier*|
365     // *divtertier et telmo----)
366     // codemo|
367     if($row['demandeur_categorie']==9 or $row['demandeur_categorie']=="")
368     $codemo=1;// personne physique
369     else
370     $codemo=2;// personne morale
371     $transfert.=$codemo."|"; // 1 personne physique ; 2 sinon
372     // openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr)
373     // civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep|
374     // suivant codemo = 1 (personne physique) ou 2 (personne morale)
375     // attention : $row['demandeur_civilite']. non standart
376    
377     if($codemo==1){
378     // civpart|*prenompart*|nompart||||||
379    
380     $transfert.= "||";
381     $transfert.= maj(substr($row['demandeur_nom'],0,30))."|||||||";
382     }else{
383     //denopm|rspm|*siret*|*catjur*|civrep|*prenomrep*|nomrep|
384     $transfert.="|||".maj(substr($row['demandeur_societe'],0,50))."|";
385     $transfert.=maj(substr($row['categorie_libelle'],0,30))."|";
386     $transfert.="||||".
387     maj(substr($row['demandeur_nom'],0,30))."|"; // pas de prenom
388     }
389     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK)
390     // *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo|
391     $transfert.= "|||".maj(substr($row['demandeur_adresse'],0,26))."|".
392     maj(substr($row['demandeur_adresse'],26,38))."|";
393     $transfert.= maj($row['demandeur_ville'])."|".$row['demandeur_cp']."|||||";
394     // sitadel : melmo|
395     $transfert.= $row['demandeur_email']."|";
396     // sitadel: suivi
397     if($row['delegataire']=='Oui'){
398     $transfert.= "1";
399     }else{
400     $transfert.= "0";
401     }
402     //-------------------
403     $transfert.="\n";
404     }// fin while transfert
405     //$res -> free ();
406     if($DEBUG==1){
407     $temp=explode("\n",$transfert);
408     $temp1=sizeof($temp)-1;
409     for($g=0;$g<$temp1;$g++){
410     $temp2=array();
411     $temp2 = explode("|",$temp[$g]);
412     $v=$g+1;
413     echo "<br><br> DAT : ".$v." ============== <br>";
414     for($k=0;$k<sizeof($temp2);$k++){
415     $t=$k+1;
416     echo $t." : ".$temp2[$k]."<br>";
417     }
418     }
419     } // debug
420    
421     // ==================================================================================
422     // modificatif MODIFICATIF
423     // ==================================================================================
424     // element declancheur : modificatif
425     // zone types= Modificatif
426     // suivant date-depot et dcision du modificatif
427     $sql= "select annee, dossier.dossier, dossier.nature,
428     dossier.date_decision, avis.sitadel as avis_sitadel, avis.sitadel_motif as avis_sitadel_motif,
429     dossier.terrain_numero,dossier.terrain_adresse,dossier.terrain_cp,dossier.terrain_ville,
430     dossier.parcelle,
431     dossier.terrain_surface,
432     travaux.codelascot as lascot,
433     date_achevement, shon, hauteur, piece_nombre, logement_nombre, batiment_nombre
434     from dossier left join avis on avis.avis= dossier.avis
435     left join travaux on dossier.travaux=travaux.travaux";
436     $sql.= " where (date_depot>='".substr($_POST["datedebut"],6,4).
437     "-".substr($_POST["datedebut"],3,2)."-".
438     substr($_POST["datedebut"],0,2)."'";
439     $sql.= " AND date_depot<='".substr($_POST["datefin"],6,4).
440     "-".substr($_POST["datefin"],3,2)."-".
441     substr($_POST["datefin"],0,2)."'";
442     $sql.= " AND types= 'Modificatif')";
443     $sql.= " or (date_decision>='".substr($_POST["datedebut"],6,4).
444     "-".substr($_POST["datedebut"],3,2)."-".
445     substr($_POST["datedebut"],0,2)."'";
446     $sql.= " AND date_decision<='".substr($_POST["datefin"],6,4).
447     "-".substr($_POST["datefin"],3,2)."-".
448     substr($_POST["datefin"],0,2)."'";
449     $sql.= " AND types= 'Modificatif')";
450     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>MODIFICATIF</font>".$sql;
451     // ou dat ???
452     $res = $f->db -> query ($sql);
453     $f->isDatabaseError($res);
454     $modificatif="";
455     // aout 2010 -------------------------------------------------------------------
456     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
457     $nombreenregistrement++;
458     $cpt_modificatif++;
459     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
460     // typepermis = dossier.nature
461     // annee = dossier.annee
462     // andepnumpc|indmod = substr dossier.dossier
463     $modificatif.="MODIFICATIF|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
464     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."|";
465     // sitadel : collectivite|natdec|datredec|motifannul difference avec decision -> *** dateredec a la place de datedec
466     $modificatif.= '1|'; // au nom de la commune
467     // zone supplementaire dans avis
468     // ALTER TABLE `avis` ADD `sitadel_motif` VARCHAR( 1 ) NOT NULL ;
469     // 0 à 8
470     $modificatif.= $row['avis_sitadel']."|";
471     // date au format francais 8 caracteres
472     if ($row['date_decision']!= '0000-00-00' and isset($row['date_decision']))
473     $modificatif.= substr($row['date_decision'],8,2).''.substr($row['date_decision'],5,2)."".substr($row['date_decision'],0,4)."|";
474     else
475     $modificatif.= "|";
476     // Motif d annulation
477     // zone supplementaire dans avis;
478     // ALTER TABLE `avis` ADD `sitadel_motif` VARCHAR( 1 ) NOT NULL ;
479     $modificatif.= $row['avis_sitadel_motif']."";
480     if(isset($row['avis_sitadel']))
481     $avis = $row['avis_sitadel'];
482     else
483     $avis =0;
484     // =============================================================
485     // GROUPE 2 si decision favorable, expresse ou tacite GROUPE 2
486     // =============================================================
487     if($avis==2 or $avis==4 or $avis==5 or $avis==0){// decision positive ou encours
488     // sitadel : |numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*|
489     $modificatif.= "|".substr($row['terrain_numero'],0,4)."|"; // typevoie
490     $modificatif.= "|".maj(substr($row['terrain_adresse'],0,26))."|".
491     maj(substr($row['terrain_adresse'],26,38))."|";
492     $modificatif.= maj($row['terrain_ville'])."|";
493     $modificatif.= $row['terrain_cp']."|";
494     $modificatif.= "||";
495     // sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*|
496     $modificatif.= substr($row['parcelle'],0,2)."|";
497     $modificatif.= substr($row['parcelle'],2,4)."|||||";
498     //terrain/libmotif/natrav/annexe/nvmax
499     $modificatif.= floor($row['terrain_surface'])."|";
500     //libmotif
501     $modificatif.= '|';
502     //natrav
503     $nattrav="0000";
504     if($row['lascot']=='2') $nattrav="1000";
505     if($row['lascot']=='3') $nattrav="0100";
506     $modificatif.= $nattrav."|";
507     //annexe
508     $modificatif.= "00000|";
509     //nvmax
510     $modificatif.= "|";
511     // shon avant travaux shionnnant1 a 9 -> non renseigne
512     $modificatif.= "|||||||||";
513     //shondem1 à 9| shonanttr1 à 9| shonprojtr 1 à 9|shoncr1 a 9 |shon2cr1 a 9
514     // table destination
515     $sql1="select destination, shon from destination_shon where dossier = '". $row['dossier']."'";
516     // faire une boucle et remplir
517     //**************************************************************
518     $res1 = $f->db -> query ($sql1);
519     $f->isDatabaseError($res);
520     //
521     $tmpPD = array(); // shon existante demolie
522     for($i=0;$i<=9;$i++)
523     {
524     $tmpPD[$i]='';
525     }
526     //
527     $tmplascot4 = array(); // shon changement de destination
528     for($i=0;$i<=9;$i++)
529     {
530     $tmplascot4[$i]='';
531     }
532     //
533     $tmplascot1 = array(); // shon nouvellement construite
534     for($i=0;$i<=9;$i++)
535     {
536     $tmplascot1[$i]='';
537     }
538     //
539     $tmplascot2 = array(); // shon cree par transformation
540     for($i=0;$i<=9;$i++)
541     {
542     $tmplascot2[$i]='';
543     }
544     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
545     // shonprojtr1 a 9 / shoncr1 a 9 /
546     if($row['nature']== 'PD') {
547     $tmpPD[$row1['destination']] = $row1['shon']; // shon existante demolie -> a remplir
548     }
549     if($row['lascot']== '4') {
550     $tmplascot4[$row1['destination']] = $row1['shon'];// shon changement de destination -> a remplir
551     }
552     if($row['lascot']== '1'){
553     $tmplascot1[$row1['destination']] = $row1['shon'];// shon nouvellement construite -> a remplir
554     }
555     if($row['lascot']== '2') {
556     $tmplascot2[$row1['destination']] = $row1['shon'];// shon cree par transformation -> a remplir
557     }
558     }
559     // shon existante demolie -> a remplir
560     for($i=1;$i<=9;$i++)
561     {
562     $modificatif.=$tmpPD[$i].'|';
563     }
564     //
565     $modificatif.= "|||||||||";// shon supprimmee par changement de destination -> non renseigne
566     //
567     //$row['lascot']== '4' shon changement de destination
568     for($i=1;$i<=9;$i++)
569     {
570     $modificatif.=$tmplascot4[$i].'|';
571     }
572     //shon nouvellement construite
573     for($i=1;$i<=9;$i++)
574     {
575     $modificatif.=$tmplascot1[$i].'|';
576     }
577     //shon cree par transformation
578     for($i=1;$i<=9;$i++)
579     {
580     $modificatif.=$tmplascot2[$i].'|';
581     }
582     //**************************************************************
583     // cpublic : non renseignee N par defaut
584     // O/N transport/enseignement/sante/social/special/culture
585     $modificatif.= "000000";
586     // nbmaison : nombre de maison
587     $modificatif.= "|".$row['batiment_nombre'];
588     // nblogcoll : nombre de logement collectif
589     $modificatif.= "|".$row['logement_nombre'];
590     // nbtotlog : nombre de logement total
591     $modificatif.= "|".$row['logement_nombre'];
592     // natres : nature des residences
593     // O/N 1=ages, 2=etudiant, 3=tourisme, 4=hotel, 5=social, 6= handicap, 7=autres
594     $modificatif.= "|0000000";
595     // libres= si autre residence (long max 1000 c)
596     $modificatif.= "|";
597     // util : O/N personnel, principale, secondaire, vente, location
598     $modificatif.= "|00000";
599     //chambres
600     $modificatif.= "|";
601     //finis (nb logement locatif sociaux)/finaa(nb logementfinancement aidé)
602     //finptz (nb logement pret taux 0)/finaf (nb logement autrement)/
603     //piec1 à 6 (nb logement 1 a 6pieces )
604     $modificatif.= "||||||||||";
605     }//fin GROUPE 2
606     $modificatif.="\n";
607     }// fin while modificatif
608    
609     if($DEBUG==1){
610     $temp=explode("\n",$modificatif);
611     $temp1=sizeof($temp)-1;
612     for($g=0;$g<$temp1;$g++){
613     $temp2=array();
614     $temp2 = explode("|",$temp[$g]);
615     $v=$g+1;
616     echo "<br><br> DAT : ".$v." ============== <br>";
617     for($k=0;$k<sizeof($temp2);$k++){
618     $t=$k+1;
619     echo $t." : ".$temp2[$k]."<br>";
620     }
621     }
622     } // fin debug
623    
624     // ***************************************
625     // entete de l enregistrement page 8 et 9
626     // ***************************************
627     // numero
628     //$numero= $db -> nextId('sitadel');
629     $numero=$_POST["numero"];
630     $fichiertransmis = date('ymj').$departement.$commune;
631     $longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long
632     $entete = "SITADEL|".$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|";
633     // calcul enregistrement le plus long
634     $tmpenr="";
635     $tmpenr=$depot.$decision.$suivi1.$suivi2.$transfert.$modificatif;
636     if($flag_utf8_decode==1){
637     $tmpenr=utf8_decode($tmpenr);
638     }else{
639     if($flag_utf8_encode==1){
640     $tmpenr=utf8_encode($tmpenr);
641     }
642     }
643     $nbenr = explode("\n",$tmpenr);
644     $tmp=array();
645     $cpt=0;
646     for($i=0;$i<sizeof($nbenr);$i++){
647     // mb_strlen( variable,encoding) PHP 4 >= 4.0.6, PHP 5
648     // Le paramètre encoding est l'encodage des caractères.
649     // S'il est omis, l'encodage de caractres interne sera utilisé.
650     $tmp[$i] = strlen($nbenr[$i]);
651     //echo strlen($nbenr[$i])." ".$nbenr[$i]."<br>";
652     $cpt++;
653     }
654     $longueurenregistrement=max($tmp);
655     //tri tableau
656     array_multisort($tmp,SORT_DESC);
657     //exact cpt-1+1 (cpt -1( tableau 0 à n ) +1(enregistrement entete) )
658     echo "<BR><br>Nombre Total Enregistrement : ".$cpt." <-> ".$nombreenregistrement."<br><br>";
659     echo "Detail :<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DEPOT : ".$cpt_depot."<br>";
660     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DECISION vide suite DEPOT: ".$cpt_decisionsuivantdepot."<br>";
661     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DECISION : ".$cpt_decision."<br>";
662     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SUIVI 1 : ".$cpt_suivi1."<br>";
663     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SUIVI 2 : ".$cpt_suivi2."<br>";
664     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- TRANSFERT : ".$cpt_transfert."<br>";
665     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- MODIFICATIF : ".$cpt_modificatif."<br>";
666     echo "TOTAL : ".($cpt_depot+$cpt_decisionsuivantdepot+$cpt_decision+$cpt_suivi1+$cpt_suivi2+$cpt_transfert+$cpt_modificatif)." + 1 enregistrement(entete)";
667     echo "<br><br>Longueur Enregistrement le plus long : ".max($tmp)." <-> ".$tmp[0];
668    
669     // Date de modification
670     $datemodification = date('y').str_pad (DATE('m'), 2, "0", STR_PAD_LEFT).str_pad (DATE('j'), 2, "0", STR_PAD_LEFT);
671    
672    
673    
674     $entete.= $longueurenregistrement."|".$datemodification."|".$nombreenregistrement."|openFoncier|".$versionapplicatif."\n";
675     $export=$entete.$depot.$decision.$suivi1.$suivi2.$transfert.$modificatif;
676    
677     if($flag_utf8_decode==1){
678     $export=utf8_decode($export);
679     }else{
680     if($flag_utf8_encode==1){
681     $export=utf8_encode($export);
682     }
683     }
684     //$str = htmlentities($str, ENT_QUOTES);
685     // ecriture des fichiers en tmp
686     $fichier = "../tmp/SITADEL".substr($_POST["datedebut"],3,2).
687     "".substr($_POST["datedebut"],8,4)."_test";
688     $inf = fopen($fichier,"w");
689     //$export=substr($export,0,strlen($export)-1); // un \n en trop
690     fwrite($inf,$export);
691     fclose($inf);
692     echo "<table class='dossier' width='95%'>";
693     echo "<tr class='dossier'><td>";
694     echo "<br>Fichier ".$fichier." sauvegarde<br><br><br>";
695     $affiche="";
696     if($DEBUG==1)
697     $affiche= str_replace("\n","<br>",$export);
698     // affichage
699     echo "<br /><br />Pour telecharger le fichier, cliquer ici : <a href=\"".$fichier."\" target=\"_blank\">";
700     echo "<img src=\"../app/img/ico_trace.png\" alt=\"Telecharger le fichier CNEN\" title=\"Telecharger le fichier CNEN\" />";
701     echo "</a> avec le bouton droit et enregistrer la cible du lien sous. <br /><br />";
702     echo $affiche;
703     //echo"<img src='../img/retour.png' align='top' border='0'>";
704     // echo "</a></center>";
705     echo "</td></tr></table>";
706     */
707     }else
708     echo "remplissez les 2 dates";
709     }//validation
710     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26