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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 181 - (hide annotations)
Thu Oct 6 10:15:48 2011 UTC (13 years, 3 months ago) by fraynaud
File size: 35874 byte(s)
sitadel 2


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26