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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26