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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26