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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 179 - (hide annotations)
Wed Oct 5 20:43:11 2011 UTC (13 years, 4 months ago) by fraynaud
File size: 43372 byte(s)
mise au pt 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     $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     if($_POST["datedebut"]=="")
62     $correct=false;
63     if($_POST["datefin"]=="") $correct=false;
64     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     // enregistrement decision dans tous les cas
124     $decision.=$g->entete("DECISION",$departement,$commune);
125     //if ($row['date_decision']== '0000-00-00'
126     // or !isset($row['date_decision'])){
127     //if(!isset($row['date_decision']) or $row['date_decision']==""){
128     // avis_sitadel et avis_sitadel_motif
129     if($row['avis']!=''){
130     $avis_sitadel = 0;
131     $avis_sitadel_motif=0 ;
132     $sql="select sitadel, sitadel_motif from avis where avis ='".$row['avis']."'";
133     $res1 = $f->db -> query ($sql);
134     $f->isDatabaseError($res1);
135     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
136     $avis_sitadel = $row1['sitadel'];
137     $avis_sitadel_motif = $row1['sitadel_motif'];
138     }
139     $decision.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif);
140     }
141     if($avis_sitadel==2 or $avis_sitadel==4
142     or $avis_sitadel==5){
143     // si decision favorable, expresse ou tacite GROUPE 2
144     $decision.= $g->amenagement();
145     if($row['travaux']!=''){
146     $sql= "select codelascot as lascot,libelle
147     from travaux where travaux=".$row['travaux'];
148     $res2 = $f->db -> query ($sql);
149     $f->isDatabaseError($res2);
150     while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
151     $travaux = $row2['libelle'];
152     $lascot = $row2['lascot'];
153     }
154     $decision.= $g->travaux($travaux,$lascot);
155     }
156     $sql3="select * from destination_shon where dossier = '".
157     $row['dossier']."' order by destination";
158     $res3 = $f->db -> query ($sql3);
159     $f->isDatabaseError($res3);
160     $temp = array();
161     while ($row3=& $res3->fetchRow(DB_FETCHMODE_ASSOC)){
162     $shonant[$row3['destination']]=$row3["shon_anterieure"];
163     $shondem[$row3['destination']]=$row3["shon_demolie"];
164     $shonanttr[$row3['destination']]=$row3["shon_anterieure_supprimee"];
165     $shonprojtr[$row3['destination']]=$row3["shon_nouvelle_transformee"];
166     $shoncr1[$row3['destination']]=$row3["shon_nouvelle"];
167     $shoncr2[$row3['destination']]=$row3["shon_shob_transformee"];
168     }
169     $decision.= $g->destination($shonant);
170     $decision.= $g->destination($shondem);
171     $decision.= $g->destination($shonanttr);
172     $decision.= $g->destination($shonprojtr);
173     $decision.= $g->destination($shoncr1);
174     $decision.= $g->destination($shoncr2);
175    
176     $decision.= $g->descriptif();
177    
178 fraynaud 178
179 fraynaud 179 }
180     //}
181     }
182 fraynaud 178
183     if($DEBUG==1){
184     echo $depot."<br>";
185     echo $decision."<br>";
186     }
187    
188    
189     }
190    
191    
192    
193    
194     /*
195    
196     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
197    
198    
199    
200 fraynaud 179
201 fraynaud 178 // ==================================================================================
202     // evenement de decision sur une période *** DECISION ***
203     // ==================================================================================
204     $sql= "select annee, dossier.dossier, dossier.nature,
205     terrain_surface, amenagement, travaux.libelle as travaux_libelle,
206     shon,logement_nombre, piece_nombre,
207     date_decision, avis.sitadel as avis_sitadel, avis.sitadel_motif as avis_sitadel_motif,
208     travaux.codelascot as lascot
209     from dossier left join travaux on dossier.travaux=travaux.travaux
210     left join avis on avis.avis= dossier.avis";
211     $sql.= " where date_decision>='".substr($_POST["datedebut"],6,4).
212     "-".substr($_POST["datedebut"],3,2)."-".
213     substr($_POST["datedebut"],0,2)."'";
214     $sql.= " AND date_decision<='".substr($_POST["datefin"],6,4).
215     "-".substr($_POST["datefin"],3,2)."-".
216     substr($_POST["datefin"],0,2)."'";
217     $sql.= " AND (dossier.nature='PC' or dossier.nature = 'PD' or dossier.nature = 'PA' or dossier.nature = 'DP')";
218     $sql.= " AND types != 'Modificatif'";
219     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>DECISION</font> ".$sql;
220     $res = $f->db -> query ($sql);
221     $f->isDatabaseError($res);
222     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
223     $nombreenregistrement++;
224     $cpt_decision++;
225     // Decision GROUPE 1
226     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
227     $decision.="DECISION|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."|";
228     // sitadel : collectivite|natdec|datedec|motifann
229    
230     // ==================================================
231 fraynaud 179 /
232 fraynaud 178 // ==================================================
233     //avis sitadel
234     if($row['avis_sitadel']==2
235     or $row['avis_sitadel']==4
236     or $row['avis_sitadel']==5){
237     // renseignement du groupe 2 ***
238     //sitadel : terrain|lotissement|zac|afu|libnattrav|natproj|
239     $decision.= "|".floor($row['terrain_surface'])."|";
240     if($row['amenagement']!='')
241     $decision.= "1|";
242     else
243     $decision.= "0|";
244     $decision.= "0|0|"; // zac afu -> non renseignee
245     $decision.= maj($row['travaux_libelle'])."|";
246     // aout 2010 ????????????????? $decision.= "0|";
247     if($row['lascot']=='1'
248     or $row['lascot']=='2'
249     or $row['lascot']=='3')
250     $decision.= $row['lascot']."|"; // natproj 1:construction 2:extension ou 3:surelevation
251     else
252     $decision.= "|";
253     // natdp|nattrav|*annexe*|*nivmax* =========================
254     //natdp
255     $natdp='00000';
256     if($row['lascot']=='1') $natdp="10000"; // nouvelle construction
257     if($row['lascot']=='2') $natdp="01000"; // travaux sur construction existante
258     if($row['lascot']=='3') $natdp="01000"; //
259     if($row['lascot']=='X') $natdp="00001"; // cloture
260     $decision.= $natdp."|";
261     // nattrav
262     $nattrav = "0000";
263     if($row['lascot']=='2') $nattrav="1000";
264     if($row['lascot']=='3') $nattrav="0100";
265     $decision.= $nattrav."|";
266     // annexe non renseigner defaut 00000
267     $decision.= "00000|";
268     //nivmax non saisi
269     // ajout nivmax aout 2010
270     $decision.="|";
271     // S H O N / DESTINATION ========================================
272     //shonant1 - shonnant9|shondem1 à 9| shonanttr1 à 9| shonprojtr 1 à 9|shoncr1 a 9 |shon2cr1 a 9
273     // 1 habitation, 2 hotel , 3 bureau ... 9 ...
274     // les shon sont exprimees sans decimales
275     $decision.= "|||||||||";// shon avant travaux -> non renseigne
276     // table destination
277     $sql1="select destination, shon from destination_shon where dossier = '". $row['dossier']."'";
278     $res1 = $f->db -> query ($sql1);
279     $f->isDatabaseError($res1);
280     //
281     $tmpPD = array(); // shon existante demolie
282     for($i=0;$i<=9;$i++)
283     {
284     $tmpPD[$i]='';
285     }
286     //
287     $tmplascot4 = array(); // shon changement de destination
288     for($i=0;$i<=9;$i++)
289     {
290     $tmplascot4[$i]='';
291     }
292     //
293     $tmplascot1 = array(); // shon nouvellement construite
294     for($i=0;$i<=9;$i++)
295     {
296     $tmplascot1[$i]='';
297     }
298     //
299     $tmplascot2 = array(); // shon cree par transformation
300     for($i=0;$i<=9;$i++)
301     {
302     $tmplascot2[$i]='';
303     }
304     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
305     // shonprojtr1 a 9 / shoncr1 a 9 /
306     if($row['nature']== 'PD') {
307     $tmpPD[$row1['destination']] = $row1['shon']; // shon existante demolie -> a remplir
308     }
309     if($row['lascot']== '4') {
310     $tmplascot4[$row1['destination']] = $row1['shon'];// shon changement de destination -> a remplir
311     }
312     if($row['lascot']== '1'){
313     $tmplascot1[$row1['destination']] = $row1['shon'];// shon nouvellement construite -> a remplir
314     }
315     if($row['lascot']== '2') {
316     $tmplascot2[$row1['destination']] = $row1['shon'];// shon cree par transformation -> a remplir
317     }
318     }
319     // shon existante demolie -> a remplir
320     for($i=1;$i<=9;$i++)
321     {
322     $decision.=$tmpPD[$i].'|';
323     }
324     //
325     $decision.= "|||||||||";// shon supprimmee par changement de destination -> non renseigne
326     //
327     //$row['lascot']== '4' shon changement de destination
328     for($i=1;$i<=9;$i++)
329     {
330     $decision.=$tmplascot4[$i].'|';
331     }
332     //shon nouvellement construite
333     for($i=1;$i<=9;$i++)
334     {
335     $decision.=$tmplascot1[$i].'|';
336     }
337     //shon cree par transformation
338     for($i=1;$i<=9;$i++)
339     {
340     $decision.=$tmplascot2[$i].'|';
341     }
342     // fin destination_shon ====================================
343     // cpublic : non renseignee N par defaut
344     // O/N transport/enseignement/sante/social/special/culture
345     $decision.= "000000"; //* supp|
346     // nblogdem
347     $decision.= "|".$row['logement_nombre'];
348     // nbmaison : nombre de maison
349     $decision.= "|";
350     // nblogcoll : nombre de logement collectif
351     $decision.= "|";
352     // nbtotlog : nombre de logement total
353     $decision.= "|";
354     // natres : nature des residences
355     // O/N 1=ages, 2=etudiant, 3=tourisme, 4=hotel, 5=social, 6= handicap, 7=autres
356     $decision.= "|0000000";
357     // libres= si autre residence (long max 1000 c)
358     $decision.= "|";
359     // util : O/N personnel, principale, secondaire, vente, location
360     $decision.= "|00000";
361     //chambres
362     $decision.= "|";
363     // nb logement sociaux
364     $decision.= "|";
365     // nb logt financt aides
366     $decision.= "|";
367     // nb de logt pret a taux 0
368     $decision.= "|";
369     // nb de logt finances autrt
370     $decision.= "|";
371     // nb pieces en maison individuelle
372     $decision.= "|".$row['piece_nombre']; // voir si 0
373     // chambre (num capacite accueil locaux hebergement)
374     $decision.= "|";
375     // nb de logement 1piece
376     $decision.= "|";
377     // nb de logement 2 pieces
378     $decision.= "|";
379     // nb de logement 3 pieces
380     $decision.= "|";
381     // nb de logement 4 pieces
382     $decision.= "|";
383     // nb de logement 5 pieces
384     $decision.= "|";
385     // nb de logement 6 pieces
386     $decision.= "";
387     }// fin decision favorable
388     $decision.="\n";
389     } // end while decision
390     if($DEBUG==1){
391     $temp=explode("\n",$decision);
392     $temp1=sizeof($temp)-1;
393     for($g=0;$g<$temp1;$g++){
394     $temp2=array();
395     $temp2 = explode("|",$temp[$g]);
396     $v=$g+1;
397     echo "<br><br>decision : ".$v." ============== <br>";
398     for($k=0;$k<sizeof($temp2);$k++){
399     $t=$k+1;
400     echo $t." : ".$temp2[$k]."<br>";
401     }
402     }
403     } // fin debug decision
404     // ==================================================================================
405     // suivi DOC *** suivi DOC ***
406     // ==================================================================================
407     // Evenement declancheur DATE OUVERTURE DE CHANTIER
408     $sql= "select annee, dossier.dossier, dossier.nature, annee,
409     date_chantier, shon
410     from dossier ";
411     $sql.= " where date_chantier>='".substr($_POST["datedebut"],6,4).
412     "-".substr($_POST["datedebut"],3,2)."-".
413     substr($_POST["datedebut"],0,2)."'";
414     $sql.= " AND date_chantier<='".substr($_POST["datefin"],6,4).
415     "-".substr($_POST["datefin"],3,2)."-".
416     substr($_POST["datefin"],0,2)."'";
417     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>SUIVI</font> ".$sql;
418     // faut il en faire suivi 1 et suivi 2 ou dans une meme requete
419     $res = $f->db -> query ($sql);
420     $f->isDatabaseError($res);
421     $suivi1="";
422     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
423     $nombreenregistrement++;
424     $cpt_suivi1++;
425     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
426     // typepermis = dossier.nature
427     // annee = dossier.annee
428     // andepnumpc|indmod = substr dossier.dossier
429     $suivi1.="SUIVI|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
430     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."";
431     // datereoc date de chantier
432     //|datereoc
433     //echo $row['date_chantier']."****************************";
434     $suivi1.="|".substr($row['date_chantier'],8,2).substr($row['date_chantier'],5,2).substr($row['date_chantier'],0,4); // *** au format francais
435     //|nblogoc|nbmaisoc|nbcolloc
436     $suivi1.="|||";
437     //|shonoc
438     $suivi1.="|".floor($row['shon']); // ok *** enlever les decimales
439     //|finisoc|finaaoc|finptzoc|finafoc|indoc
440     $suivi1.="|||||";
441     $suivi1.="||||||||||||"; // achevement
442     $suivi1.="\n";
443     }// fin while doc
444    
445     if($DEBUG==1){
446     $temp=explode("\n",$suivi1);
447     $temp1=sizeof($temp)-1;
448     for($g=0;$g<$temp1;$g++){
449     $temp2=array();
450     $temp2 = explode("|",$temp[$g]);
451     $v=$g+1;
452     echo "<br><br> DOC : ".$v." ============== <br>";
453     for($k=0;$k<sizeof($temp2);$k++){
454     $t=$k+1;
455     echo $t." : ".$temp2[$k]."<br>";
456     }
457     }
458     } // fin debug
459     // ==================================================================================
460     // suivi *** suivi DAT ***
461     // ==================================================================================
462     // element declancheur : DATE ACHEVEMENT DE TRAVAUX
463     $sql= "select annee, dossier.dossier, dossier.nature, annee,
464     date_achevement, shon,date_chantier,dossier.etat
465     from dossier ";
466     $sql.= " where date_achevement>='".substr($_POST["datedebut"],6,4).
467     "-".substr($_POST["datedebut"],3,2)."-".
468     substr($_POST["datedebut"],0,2)."'";
469     $sql.= " AND date_achevement<='".substr($_POST["datefin"],6,4).
470     "-".substr($_POST["datefin"],3,2)."-".
471     substr($_POST["datefin"],0,2)."'";
472     echo "<BR><font style='background-color:#ffffff;border : 1px solid #000000'>SUIVI</font> ".$sql;
473     // ou dat ???
474     // ***
475     $res = $f->db -> query ($sql);
476     if (DB :: isError ($res))
477     die ($res -> getDebugInfo ()." Erreur ".$sql);
478     else
479     {
480     $cpt_suivi2=0;
481     $suivi2="";
482     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
483     $nombreenregistrement++;
484     $cpt_suivi2++;
485     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
486     // typepermis = dossier.nature
487     // annee = dossier.annee
488     // andepnumpc|indmod = substr dossier.dossier
489     $suivi2.="SUIVI|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
490     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."";
491     $suivi2.="||||||||||";
492     // datereoc date de chantier
493     //|datereat
494     $suivi2.="|".substr($row['date_achevement'],8,2).substr($row['date_achevement'],5,2).substr($row['date_achevement'],0,4); // ok *** au format francais
495     //|nblogat|nbmaisat|nbcollat
496     $suivi2.="|||";
497     //|shonat
498     $suivi2.="|".floor($row['shon']); // ok *** enlever les decimales
499     //|finisat|finaaat|finptzat|finafat|indat|
500     $suivi2.="||||||";
501     // Finchantier 1 si etat=cloturer sinon 0
502     if ($row['etat']=="cloturer"){
503     $suivi2.="1|";
504     }else{
505     $suivi2.="0|";
506     }
507     // Origat 1 par defaut ?????????????????????????????
508     $suivi2.="1";
509     $suivi2.="\n";
510     }// fin doc
511     }
512     if($DEBUG==1){
513     $temp=explode("\n",$suivi2);
514     $temp1=sizeof($temp)-1;
515     for($g=0;$g<$temp1;$g++){
516     $temp2=array();
517     $temp2 = explode("|",$temp[$g]);
518     $v=$g+1;
519     echo "<br><br> DAT : ".$v." ============== <br>";
520     for($k=0;$k<sizeof($temp2);$k++){
521     $t=$k+1;
522     echo $t." : ".$temp2[$k]."<br>";
523     }
524     }
525     }
526     //$res -> free ();
527    
528    
529     // ==================================================================================
530     // Transfert TRANSFERT
531     // ==================================================================================
532     // element declancheur : Transfert
533     // zone types= Transfert
534     $sql= "select date_achevement, annee, dossier.dossier, demandeur_civilite, dossier.nature,demandeur_categorie,
535     categorie_demandeur.libelle as categorie_libelle,demandeur_nom,demandeur_societe,demandeur_adresse,
536     demandeur_ville,demandeur_cp,demandeur_email,delegataire,parcelle, terrain_numero,
537     terrain_numero_complement,terrain_adresse,terrain_adresse_complement, terrain_ville, terrain_cp,
538     architecte from dossier
539     left join categorie_demandeur on demandeur_categorie= categorie_demandeur.categorie_demandeur";
540     $sql.= " where date_depot>='".substr($_POST["datedebut"],6,4).
541     "-".substr($_POST["datedebut"],3,2)."-".
542     substr($_POST["datedebut"],0,2)."'";
543     $sql.= " AND date_depot<='".substr($_POST["datefin"],6,4).
544     "-".substr($_POST["datefin"],3,2)."-".
545     substr($_POST["datefin"],0,2)."'";
546     $sql.= " AND types= 'Transfert'";
547     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>TRANSFERT</font> ".$sql;
548     // date du transfert ?
549     $res = $f->db -> query ($sql);
550     $f->isDatabaseError($res);
551     $transfert="";
552     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
553     $nombreenregistrement++;
554     $cpt_transfert++;
555     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
556     // typepermis = dossier.nature
557     // annee = dossier.annee
558     // andepnumpc|indmod = substr dossier.dossier
559     $transfert.="TRANSFERT|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
560     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."|";
561     //ajout aout2010-----IDEM DEPOT codedemo à suivi (---- sauf civtiers|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*|
562     // libvoietiers|lieudittier|communetier|codpostier|*bptier*|*cedextier*|*paystier*|
563     // *divtertier et telmo----)
564     // codemo|
565     if($row['demandeur_categorie']==9 or $row['demandeur_categorie']=="")
566     $codemo=1;// personne physique
567     else
568     $codemo=2;// personne morale
569     $transfert.=$codemo."|"; // 1 personne physique ; 2 sinon
570     // openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr)
571     // civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep|
572     // suivant codemo = 1 (personne physique) ou 2 (personne morale)
573     // attention : $row['demandeur_civilite']. non standart
574    
575     if($codemo==1){
576     // civpart|*prenompart*|nompart||||||
577    
578     $transfert.= "||";
579     $transfert.= maj(substr($row['demandeur_nom'],0,30))."|||||||";
580     }else{
581     //denopm|rspm|*siret*|*catjur*|civrep|*prenomrep*|nomrep|
582     $transfert.="|||".maj(substr($row['demandeur_societe'],0,50))."|";
583     $transfert.=maj(substr($row['categorie_libelle'],0,30))."|";
584     $transfert.="||||".
585     maj(substr($row['demandeur_nom'],0,30))."|"; // pas de prenom
586     }
587     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK)
588     // *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo|
589     $transfert.= "|||".maj(substr($row['demandeur_adresse'],0,26))."|".
590     maj(substr($row['demandeur_adresse'],26,38))."|";
591     $transfert.= maj($row['demandeur_ville'])."|".$row['demandeur_cp']."|||||";
592     // sitadel : melmo|
593     $transfert.= $row['demandeur_email']."|";
594     // sitadel: suivi
595     if($row['delegataire']=='Oui'){
596     $transfert.= "1";
597     }else{
598     $transfert.= "0";
599     }
600     //-------------------
601     $transfert.="\n";
602     }// fin while transfert
603     //$res -> free ();
604     if($DEBUG==1){
605     $temp=explode("\n",$transfert);
606     $temp1=sizeof($temp)-1;
607     for($g=0;$g<$temp1;$g++){
608     $temp2=array();
609     $temp2 = explode("|",$temp[$g]);
610     $v=$g+1;
611     echo "<br><br> DAT : ".$v." ============== <br>";
612     for($k=0;$k<sizeof($temp2);$k++){
613     $t=$k+1;
614     echo $t." : ".$temp2[$k]."<br>";
615     }
616     }
617     } // debug
618    
619     // ==================================================================================
620     // modificatif MODIFICATIF
621     // ==================================================================================
622     // element declancheur : modificatif
623     // zone types= Modificatif
624     // suivant date-depot et dcision du modificatif
625     $sql= "select annee, dossier.dossier, dossier.nature,
626     dossier.date_decision, avis.sitadel as avis_sitadel, avis.sitadel_motif as avis_sitadel_motif,
627     dossier.terrain_numero,dossier.terrain_adresse,dossier.terrain_cp,dossier.terrain_ville,
628     dossier.parcelle,
629     dossier.terrain_surface,
630     travaux.codelascot as lascot,
631     date_achevement, shon, hauteur, piece_nombre, logement_nombre, batiment_nombre
632     from dossier left join avis on avis.avis= dossier.avis
633     left join travaux on dossier.travaux=travaux.travaux";
634     $sql.= " where (date_depot>='".substr($_POST["datedebut"],6,4).
635     "-".substr($_POST["datedebut"],3,2)."-".
636     substr($_POST["datedebut"],0,2)."'";
637     $sql.= " AND date_depot<='".substr($_POST["datefin"],6,4).
638     "-".substr($_POST["datefin"],3,2)."-".
639     substr($_POST["datefin"],0,2)."'";
640     $sql.= " AND types= 'Modificatif')";
641     $sql.= " or (date_decision>='".substr($_POST["datedebut"],6,4).
642     "-".substr($_POST["datedebut"],3,2)."-".
643     substr($_POST["datedebut"],0,2)."'";
644     $sql.= " AND date_decision<='".substr($_POST["datefin"],6,4).
645     "-".substr($_POST["datefin"],3,2)."-".
646     substr($_POST["datefin"],0,2)."'";
647     $sql.= " AND types= 'Modificatif')";
648     echo "<BR><br><font style='background-color:#ffffff;border : 1px solid #000000'>MODIFICATIF</font>".$sql;
649     // ou dat ???
650     $res = $f->db -> query ($sql);
651     $f->isDatabaseError($res);
652     $modificatif="";
653     // aout 2010 -------------------------------------------------------------------
654     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
655     $nombreenregistrement++;
656     $cpt_modificatif++;
657     // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
658     // typepermis = dossier.nature
659     // annee = dossier.annee
660     // andepnumpc|indmod = substr dossier.dossier
661     $modificatif.="MODIFICATIF|".$row['nature']."||".$departement."|".$commune."|".$row['annee']."|".
662     substr($row['dossier'],4,5)."|".substr($row['dossier'],9,2)."|";
663     // sitadel : collectivite|natdec|datredec|motifannul difference avec decision -> *** dateredec a la place de datedec
664     $modificatif.= '1|'; // au nom de la commune
665     // zone supplementaire dans avis
666     // ALTER TABLE `avis` ADD `sitadel_motif` VARCHAR( 1 ) NOT NULL ;
667     // 0 à 8
668     $modificatif.= $row['avis_sitadel']."|";
669     // date au format francais 8 caracteres
670     if ($row['date_decision']!= '0000-00-00' and isset($row['date_decision']))
671     $modificatif.= substr($row['date_decision'],8,2).''.substr($row['date_decision'],5,2)."".substr($row['date_decision'],0,4)."|";
672     else
673     $modificatif.= "|";
674     // Motif d annulation
675     // zone supplementaire dans avis;
676     // ALTER TABLE `avis` ADD `sitadel_motif` VARCHAR( 1 ) NOT NULL ;
677     $modificatif.= $row['avis_sitadel_motif']."";
678     if(isset($row['avis_sitadel']))
679     $avis = $row['avis_sitadel'];
680     else
681     $avis =0;
682     // =============================================================
683     // GROUPE 2 si decision favorable, expresse ou tacite GROUPE 2
684     // =============================================================
685     if($avis==2 or $avis==4 or $avis==5 or $avis==0){// decision positive ou encours
686     // sitadel : |numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*|
687     $modificatif.= "|".substr($row['terrain_numero'],0,4)."|"; // typevoie
688     $modificatif.= "|".maj(substr($row['terrain_adresse'],0,26))."|".
689     maj(substr($row['terrain_adresse'],26,38))."|";
690     $modificatif.= maj($row['terrain_ville'])."|";
691     $modificatif.= $row['terrain_cp']."|";
692     $modificatif.= "||";
693     // sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*|
694     $modificatif.= substr($row['parcelle'],0,2)."|";
695     $modificatif.= substr($row['parcelle'],2,4)."|||||";
696     //terrain/libmotif/natrav/annexe/nvmax
697     $modificatif.= floor($row['terrain_surface'])."|";
698     //libmotif
699     $modificatif.= '|';
700     //natrav
701     $nattrav="0000";
702     if($row['lascot']=='2') $nattrav="1000";
703     if($row['lascot']=='3') $nattrav="0100";
704     $modificatif.= $nattrav."|";
705     //annexe
706     $modificatif.= "00000|";
707     //nvmax
708     $modificatif.= "|";
709     // shon avant travaux shionnnant1 a 9 -> non renseigne
710     $modificatif.= "|||||||||";
711     //shondem1 à 9| shonanttr1 à 9| shonprojtr 1 à 9|shoncr1 a 9 |shon2cr1 a 9
712     // table destination
713     $sql1="select destination, shon from destination_shon where dossier = '". $row['dossier']."'";
714     // faire une boucle et remplir
715     //**************************************************************
716     $res1 = $f->db -> query ($sql1);
717     $f->isDatabaseError($res);
718     //
719     $tmpPD = array(); // shon existante demolie
720     for($i=0;$i<=9;$i++)
721     {
722     $tmpPD[$i]='';
723     }
724     //
725     $tmplascot4 = array(); // shon changement de destination
726     for($i=0;$i<=9;$i++)
727     {
728     $tmplascot4[$i]='';
729     }
730     //
731     $tmplascot1 = array(); // shon nouvellement construite
732     for($i=0;$i<=9;$i++)
733     {
734     $tmplascot1[$i]='';
735     }
736     //
737     $tmplascot2 = array(); // shon cree par transformation
738     for($i=0;$i<=9;$i++)
739     {
740     $tmplascot2[$i]='';
741     }
742     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
743     // shonprojtr1 a 9 / shoncr1 a 9 /
744     if($row['nature']== 'PD') {
745     $tmpPD[$row1['destination']] = $row1['shon']; // shon existante demolie -> a remplir
746     }
747     if($row['lascot']== '4') {
748     $tmplascot4[$row1['destination']] = $row1['shon'];// shon changement de destination -> a remplir
749     }
750     if($row['lascot']== '1'){
751     $tmplascot1[$row1['destination']] = $row1['shon'];// shon nouvellement construite -> a remplir
752     }
753     if($row['lascot']== '2') {
754     $tmplascot2[$row1['destination']] = $row1['shon'];// shon cree par transformation -> a remplir
755     }
756     }
757     // shon existante demolie -> a remplir
758     for($i=1;$i<=9;$i++)
759     {
760     $modificatif.=$tmpPD[$i].'|';
761     }
762     //
763     $modificatif.= "|||||||||";// shon supprimmee par changement de destination -> non renseigne
764     //
765     //$row['lascot']== '4' shon changement de destination
766     for($i=1;$i<=9;$i++)
767     {
768     $modificatif.=$tmplascot4[$i].'|';
769     }
770     //shon nouvellement construite
771     for($i=1;$i<=9;$i++)
772     {
773     $modificatif.=$tmplascot1[$i].'|';
774     }
775     //shon cree par transformation
776     for($i=1;$i<=9;$i++)
777     {
778     $modificatif.=$tmplascot2[$i].'|';
779     }
780     //**************************************************************
781     // cpublic : non renseignee N par defaut
782     // O/N transport/enseignement/sante/social/special/culture
783     $modificatif.= "000000";
784     // nbmaison : nombre de maison
785     $modificatif.= "|".$row['batiment_nombre'];
786     // nblogcoll : nombre de logement collectif
787     $modificatif.= "|".$row['logement_nombre'];
788     // nbtotlog : nombre de logement total
789     $modificatif.= "|".$row['logement_nombre'];
790     // natres : nature des residences
791     // O/N 1=ages, 2=etudiant, 3=tourisme, 4=hotel, 5=social, 6= handicap, 7=autres
792     $modificatif.= "|0000000";
793     // libres= si autre residence (long max 1000 c)
794     $modificatif.= "|";
795     // util : O/N personnel, principale, secondaire, vente, location
796     $modificatif.= "|00000";
797     //chambres
798     $modificatif.= "|";
799     //finis (nb logement locatif sociaux)/finaa(nb logementfinancement aidé)
800     //finptz (nb logement pret taux 0)/finaf (nb logement autrement)/
801     //piec1 à 6 (nb logement 1 a 6pieces )
802     $modificatif.= "||||||||||";
803     }//fin GROUPE 2
804     $modificatif.="\n";
805     }// fin while modificatif
806    
807     if($DEBUG==1){
808     $temp=explode("\n",$modificatif);
809     $temp1=sizeof($temp)-1;
810     for($g=0;$g<$temp1;$g++){
811     $temp2=array();
812     $temp2 = explode("|",$temp[$g]);
813     $v=$g+1;
814     echo "<br><br> DAT : ".$v." ============== <br>";
815     for($k=0;$k<sizeof($temp2);$k++){
816     $t=$k+1;
817     echo $t." : ".$temp2[$k]."<br>";
818     }
819     }
820     } // fin debug
821    
822     // ***************************************
823     // entete de l enregistrement page 8 et 9
824     // ***************************************
825     // numero
826     //$numero= $db -> nextId('sitadel');
827     $numero=$_POST["numero"];
828     $fichiertransmis = date('ymj').$departement.$commune;
829     $longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long
830     $entete = "SITADEL|".$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|";
831     // calcul enregistrement le plus long
832     $tmpenr="";
833     $tmpenr=$depot.$decision.$suivi1.$suivi2.$transfert.$modificatif;
834     if($flag_utf8_decode==1){
835     $tmpenr=utf8_decode($tmpenr);
836     }else{
837     if($flag_utf8_encode==1){
838     $tmpenr=utf8_encode($tmpenr);
839     }
840     }
841     $nbenr = explode("\n",$tmpenr);
842     $tmp=array();
843     $cpt=0;
844     for($i=0;$i<sizeof($nbenr);$i++){
845     // mb_strlen( variable,encoding) PHP 4 >= 4.0.6, PHP 5
846     // Le paramètre encoding est l'encodage des caractères.
847     // S'il est omis, l'encodage de caractres interne sera utilisé.
848     $tmp[$i] = strlen($nbenr[$i]);
849     //echo strlen($nbenr[$i])." ".$nbenr[$i]."<br>";
850     $cpt++;
851     }
852     $longueurenregistrement=max($tmp);
853     //tri tableau
854     array_multisort($tmp,SORT_DESC);
855     //exact cpt-1+1 (cpt -1( tableau 0 à n ) +1(enregistrement entete) )
856     echo "<BR><br>Nombre Total Enregistrement : ".$cpt." <-> ".$nombreenregistrement."<br><br>";
857     echo "Detail :<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DEPOT : ".$cpt_depot."<br>";
858     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DECISION vide suite DEPOT: ".$cpt_decisionsuivantdepot."<br>";
859     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- DECISION : ".$cpt_decision."<br>";
860     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SUIVI 1 : ".$cpt_suivi1."<br>";
861     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SUIVI 2 : ".$cpt_suivi2."<br>";
862     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- TRANSFERT : ".$cpt_transfert."<br>";
863     echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- MODIFICATIF : ".$cpt_modificatif."<br>";
864     echo "TOTAL : ".($cpt_depot+$cpt_decisionsuivantdepot+$cpt_decision+$cpt_suivi1+$cpt_suivi2+$cpt_transfert+$cpt_modificatif)." + 1 enregistrement(entete)";
865     echo "<br><br>Longueur Enregistrement le plus long : ".max($tmp)." <-> ".$tmp[0];
866    
867     // Date de modification
868     $datemodification = date('y').str_pad (DATE('m'), 2, "0", STR_PAD_LEFT).str_pad (DATE('j'), 2, "0", STR_PAD_LEFT);
869    
870    
871    
872     $entete.= $longueurenregistrement."|".$datemodification."|".$nombreenregistrement."|openFoncier|".$versionapplicatif."\n";
873     $export=$entete.$depot.$decision.$suivi1.$suivi2.$transfert.$modificatif;
874    
875     if($flag_utf8_decode==1){
876     $export=utf8_decode($export);
877     }else{
878     if($flag_utf8_encode==1){
879     $export=utf8_encode($export);
880     }
881     }
882     //$str = htmlentities($str, ENT_QUOTES);
883     // ecriture des fichiers en tmp
884     $fichier = "../tmp/SITADEL".substr($_POST["datedebut"],3,2).
885     "".substr($_POST["datedebut"],8,4)."_test";
886     $inf = fopen($fichier,"w");
887     //$export=substr($export,0,strlen($export)-1); // un \n en trop
888     fwrite($inf,$export);
889     fclose($inf);
890     echo "<table class='dossier' width='95%'>";
891     echo "<tr class='dossier'><td>";
892     echo "<br>Fichier ".$fichier." sauvegarde<br><br><br>";
893     $affiche="";
894     if($DEBUG==1)
895     $affiche= str_replace("\n","<br>",$export);
896     // affichage
897     echo "<br /><br />Pour telecharger le fichier, cliquer ici : <a href=\"".$fichier."\" target=\"_blank\">";
898     echo "<img src=\"../app/img/ico_trace.png\" alt=\"Telecharger le fichier CNEN\" title=\"Telecharger le fichier CNEN\" />";
899     echo "</a> avec le bouton droit et enregistrer la cible du lien sous. <br /><br />";
900     echo $affiche;
901     //echo"<img src='../img/retour.png' align='top' border='0'>";
902     // echo "</a></center>";
903     echo "</td></tr></table>";
904     */
905     }else
906     echo "remplissez les 2 dates";
907     }//validation
908     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26