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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 193 - (hide annotations)
Thu Oct 13 11:05:20 2011 UTC (13 years, 3 months ago) by fraynaud
File size: 17644 byte(s)
mise au point sitadel suite remarque ministere environnement


1 fraynaud 178 <?php
2 fraynaud 193 // $Id: sitadel.php,v 1.20 2010-11-15 14:50:40 fraynaud Exp $
3 fraynaud 178 /*
4     transfert de dossier à SITADEL
5     realisé ville arles par fr+jlb
6     voir parametrage trt/sitadel.inc
7     */
8     require_once "../obj/utils.class.php";
9     require_once "../app/sitadel.class.php";
10 fraynaud 184 require_once "../dyn/locales.inc.php";
11     require_once "../dyn/version.inc.php";
12     require_once "sitadel.inc";
13 fraynaud 178 $f = new utils(NULL, "export", _("export SITADEL"), "ico_reqmo.png", "export");
14     $f->addHTMLHeadJs(array("../js/script.js"));
15     // GET
16     if (isset ($_GET['validation'])){
17     $validation=$_GET['validation'];
18     }else{
19     $validation=0;
20     }
21     /**
22     * Description de la page
23     */
24     $description = _("Cette page vous permet de Transmettre les dossiers suivant la procedure SITADEL");
25     $f->displayDescription($description);
26     //controle
27     $DEBUG=1;
28 fraynaud 193 //$pf_departement="0";
29     $t10 = "||||||||||"; // 10 |
30 fraynaud 184
31 fraynaud 178 // parametres collectivite
32    
33     // =============================================================================
34     // validation = 0
35     // =============================================================================
36     if($validation==0){
37     $validation=1;
38     echo "<form method=\"POST\" action=\"sitadel.php?validation=".$validation."\" name=f1>";
39     echo " "._("debut")." ";
40     echo "<input type='text' name='datedebut' id=\"datedebut\" value=\"";
41     echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />";
42     echo " "._("fin")." ";
43     echo "<input type='text' name='datefin' id=\"datefin\" value=\"";
44     echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />";
45     echo " "._("Numero d ordre d envoi")." : "."<SELECT name='numero'>";
46     for($i=1;$i<11;$i++){
47     echo "<option value ='".$i."'>".$i."</option>";
48     }
49     echo "</select>";
50     echo "<br><br><input type='submit' value='export SITADEL'>";
51     echo "<br><br></form>";
52 fraynaud 187 }else{ // ===================== extraction =================================
53 fraynaud 178 $correct=true;
54 fraynaud 193 $longueurenregistrement= 0 ;
55     $t10 = "||||||||||"; // 10 |
56     $datedebut ='';
57     $datefin='';
58 fraynaud 190 if($_POST["datedebut"]=="")
59     $correct=false;
60     else
61     $datedebut = substr($_POST["datedebut"],6,4).
62     "-".substr($_POST["datedebut"],3,2)."-".
63     substr($_POST["datedebut"],0,2);
64     if($_POST["datefin"]=="")
65     $correct=false;
66     else
67     $datefin = substr($_POST["datefin"],6,4).
68     "-".substr($_POST["datefin"],3,2)."-".
69     substr($_POST["datefin"],0,2);
70     //$correct=true; // a enlever apres test
71 fraynaud 178 if ($correct==true){ // ***
72 fraynaud 187 // dossiers concernés
73     $sql= "select * from dossier";
74     $sql.= " where (nature='PC' or nature = 'PD' or nature = 'PA' or nature = 'DP')";
75 fraynaud 190 $sql.= " AND ((date_depot >='".$datedebut."' AND date_depot<='".$datefin."')";
76     $sql.= " OR (date_decision>='".$datedebut."' AND date_decision<='".$datefin."')";
77     $sql.= " OR (date_chantier>='".$datedebut."' AND date_chantier<='".$datefin."'))";
78     $sql.= " order by date_depot";
79 fraynaud 178 $res = $f->db -> query ($sql);
80     $f->isDatabaseError($res);
81 fraynaud 190 $export="";
82 fraynaud 178 while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
83 fraynaud 187 // initialisation
84     $g = new sitadel($row['dossier']);
85     $g->row=$row;
86     // sitadel
87     $g->val=$val;
88     // parametre
89     $sql = "select parametre, valeur from statistique where dossier ='".$row['dossier']."'";
90     $res1 = $f->db -> query ($sql);
91     $f->isDatabaseError($res1);
92     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
93     $g->parametre[$row1['parametre']]=$row1['valeur'];
94     }
95     $departement =$f->collectivite["departement"];
96     $commune =$f->collectivite["commune"];
97     $region =$f->collectivite["region"];
98     // depot
99     $depot="";
100     // type different de transfert
101 fraynaud 190 if($row['types']!='Transfert'
102     and (($row['date_depot'] >= $datedebut
103     and $row['date_depot']<=$datefin)
104     or ($row['date_decision'] >= $datedebut
105     and $row['date_decision']<=$datefin))){
106 fraynaud 193 $depot.=$g->entete("DEPOT",$departement,$commune,$pf_departement);
107 fraynaud 187 $depot.=$g->etatcivil();
108     $depot.=$g->adresse();
109     $depot.=$g->delegataire();
110     $depot.=$g->meltel($row['types']);
111     $depot.=$g->adresse_terrain();
112     $depot.=$g->parcelle();
113     // ===========================
114     // contrat maison individuelle
115     // ===========================
116     // sitadel : contrat|
117     // openfoncier : non renseigne
118     $depot.= $g->p('contrat')."|";
119     // ==========
120     // architecte
121     // ==========
122     // sitadel : architecte|
123     // openfoncier : architecte >0
124     if($row['architecte']>0)
125     $depot.= "1|";
126     else
127     $depot.= "0|";
128     // =====================
129     // utilisation data cnil
130     // ======================
131     // sitadel : cnil
132     // openfoncier : non renseigne
133     $depot.= $g->p('cnil');
134     // fin d enregistrement depot
135     $depot.="\n";
136 fraynaud 178 }
137 fraynaud 187
138     // transfert
139     $transfert ="";
140 fraynaud 190 if($row['types']=='Transfert'
141     and $row['date_depot'] >= $datedebut
142     and $row['date_depot']<=$datefin){
143 fraynaud 193 $transfert.=$g->entete("TRANSFERT",$departement,$commune,$pf_departement);
144 fraynaud 187 $transfert.=$g->etatcivil();
145     $transfert.=$g->adresse();
146     $transfert.=$g->meltel($row['types']);
147     $transfert.="\n";
148 fraynaud 178 }
149 fraynaud 187
150    
151     //decision
152     // type different de modificatif
153     $decision="";
154 fraynaud 190 if($row['types']!='Modificatif' and $row['types']!='Transfert'){
155 fraynaud 187 $avis_sitadel="";
156     $avis_sitadel_motif="";
157     // enregistrement decision dans tous les cas
158 fraynaud 193 $decision.=$g->entete("DECISION",$departement,$commune,$pf_departement);
159 fraynaud 187 //if ($row['date_decision']== '0000-00-00'
160     // or !isset($row['date_decision'])){
161 fraynaud 190 //if(isset($row['date_decision']) and $row['date_decision']!=""){
162 fraynaud 187 // avis_sitadel et avis_sitadel_motif
163     if($row['avis']!=''){
164 fraynaud 190 $avis_sitadel = "0";
165     $avis_sitadel_motif="0" ;
166 fraynaud 187 $sql="select sitadel, sitadel_motif from avis where avis ='".
167     $row['avis']."'";
168     $res1 = $f->db -> query ($sql);
169     $f->isDatabaseError($res1);
170     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
171     $avis_sitadel = $row1['sitadel'];
172     $avis_sitadel_motif = $row1['sitadel_motif'];
173     }
174     $decision.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif);
175 fraynaud 193 }else{
176 fraynaud 190 $decision.= $g->decision_groupe1("0",""); // pas d avis
177 fraynaud 193 $decision.= $t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10."|||"; //83
178     }
179 fraynaud 187 // si la decision est favorable, envoi des informations statistiques
180     if($avis_sitadel==2 or $avis_sitadel==4
181     or $avis_sitadel==5){
182     // si decision favorable, expresse ou tacite GROUPE 2
183     $decision.= $g->terrain();
184     $decision.= $g->amenagement();
185     if($row['travaux']!=''){
186     $sql= "select codelascot,libelle
187     from travaux where travaux=".$row['travaux'];
188     $res2 = $f->db -> query ($sql);
189     $f->isDatabaseError($res2);
190     while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
191     $travaux = $row2['libelle'];
192     $lascot = $row2['codelascot'];
193     }
194     $decision.= $g->travaux($travaux,$lascot, $row['types']);
195     }
196     $sql3="select * from destination_shon where dossier = '".
197     $row['dossier']."' order by destination";
198     $res3 = $f->db -> query ($sql3);
199     $f->isDatabaseError($res3);
200     $temp = array();
201     while ($row3=& $res3->fetchRow(DB_FETCHMODE_ASSOC)){
202     $shonant[$row3['destination']]=$row3["shon_anterieure"];
203     $shondem[$row3['destination']]=$row3["shon_demolie"];
204     $shonanttr[$row3['destination']]=$row3["shon_anterieure_supprimee"];
205     $shonprojtr[$row3['destination']]=$row3["shon_nouvelle_transformee"];
206     $shoncr1[$row3['destination']]=$row3["shon_nouvelle"];
207     $shoncr2[$row3['destination']]=$row3["shon_shob_transformee"];
208     }
209     $decision.= $g->destination($shonant);
210     $decision.= $g->destination($shondem);
211     $decision.= $g->destination($shonanttr);
212     $decision.= $g->destination($shonprojtr);
213     $decision.= $g->destination($shoncr1);
214     $decision.= $g->destination($shoncr2);
215    
216     $decision.= $g->descriptif($row['types']);
217 fraynaud 193 }else // decision defavorable
218     $decision.= $t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10."|||"; //83
219 fraynaud 187 $decision.="\n";
220     }
221    
222     // modificatif
223     $modificatif='';
224 fraynaud 190 if($row['types']=='Modificatif'
225     and $row['date_depot'] >= $datedebut
226     and $row['date_depot']<=$datefin){
227 fraynaud 193 $modificatif.=$g->entete("MODIFICATIF",$departement,$commune,$pf_departement);
228 fraynaud 187 if(isset($row['date_decision']) or $row['date_decision']==""){
229     // avis_sitadel et avis_sitadel_motif
230     if($row['avis']!=''){
231     $avis_sitadel = 0;
232     $avis_sitadel_motif=0 ;
233     $sql="select sitadel, sitadel_motif from avis where avis ='".
234     $row['avis']."'";
235     $res1 = $f->db -> query ($sql);
236     $f->isDatabaseError($res1);
237     while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
238     $avis_sitadel = $row1['sitadel'];
239     $avis_sitadel_motif = $row1['sitadel_motif'];
240     }
241     $modificatif.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif);
242 fraynaud 178 }
243 fraynaud 187 // si la decision est favorable, envoi des informations statistiques
244     if($avis_sitadel==2 or $avis_sitadel==4
245     or $avis_sitadel==5){
246     // si decision favorable, expresse ou tacite GROUPE 2
247     $modificatif.=$g->adresse_terrain(); //***
248     $modificatif.=$g->parcelle(); //***
249     $modificatif.=$g->terrain(); //***
250     if($row['travaux']!=''){
251     $sql= "select codelascot,libelle
252     from travaux where travaux=".$row['travaux'];
253     $res2 = $f->db -> query ($sql);
254     $f->isDatabaseError($res2);
255     while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
256     $travaux = $row2['libelle'];
257     $lascot = $row2['codelascot'];
258     }
259     $modificatif.= $g->travaux($travaux,$lascot, $row['types']);
260     }
261     $sql3="select * from destination_shon where dossier = '".
262     $row['dossier']."' order by destination";
263     $res3 = $f->db -> query ($sql3);
264     $f->isDatabaseError($res3);
265     $temp = array();
266     while ($row3=& $res3->fetchRow(DB_FETCHMODE_ASSOC)){
267     $shonant[$row3['destination']]=$row3["shon_anterieure"];
268     $shondem[$row3['destination']]=$row3["shon_demolie"];
269     $shonanttr[$row3['destination']]=$row3["shon_anterieure_supprimee"];
270     $shonprojtr[$row3['destination']]=$row3["shon_nouvelle_transformee"];
271     $shoncr1[$row3['destination']]=$row3["shon_nouvelle"];
272     $shoncr2[$row3['destination']]=$row3["shon_shob_transformee"];
273     }
274     $modificatif.= $g->destination($shonant);
275     $modificatif.= $g->destination($shondem);
276     $modificatif.= $g->destination($shonanttr);
277     $modificatif.= $g->destination($shonprojtr);
278     $modificatif.= $g->destination($shoncr1);
279     $modificatif.= $g->destination($shoncr2);
280    
281     $modificatif.= $g->descriptif($row['types']);
282     $modificatif.="\n";
283     }
284     }
285     }
286 fraynaud 178
287 fraynaud 187 // suivi DOC
288     $suivi1="";
289 fraynaud 190 if($row['date_chantier'] >= $datedebut and $row['date_chantier']<=$datefin){
290 fraynaud 193 $suivi1.=$g->entete("SUIVI",$departement,$commune,$pf_departement);
291 fraynaud 190 $suivi1.=$g->chantier();
292     $suivi1.="\n";
293     }
294 fraynaud 187 // suivi DAT
295     $suivi2="";
296 fraynaud 190 if($row['date_achevement'] >= $datedebut and $row['date_achevement']<=$datefin){
297 fraynaud 193 $suivi2.=$g->entete("SUIVI",$departement,$commune,$pf_departement);
298 fraynaud 190 $suivi2.=$g->achevement();
299     $suivi2.="\n";
300 fraynaud 178 }
301 fraynaud 190 // export
302     $export.=$depot.$decision.$transfert.$modificatif.$suivi1.$suivi2;
303 fraynaud 187 } // fin while
304 fraynaud 190 // ***************************************
305     // entete de l enregistrement page 8 et 9
306     // ***************************************
307     // numero
308     // $numero= $db -> nextId('sitadel');
309     $numero=$_POST["numero"];
310 fraynaud 193 $fichiertransmis = date('ymj').$pf_departement.$departement.$commune;
311 fraynaud 190 $longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long
312 fraynaud 193 $entete = "SITADEL|".$pf_departement.$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|";
313 fraynaud 190 // calcul enregistrement le plus long
314     if(CHARSET=='UTF8'){
315     $export=utf8_decode($export);
316     }
317     // nombreenrgistremment et longueurenregistrement
318     $nbenr = explode("\n",$export);
319     $tmp=array();
320     $cpt=0;
321     for($i=0;$i<sizeof($nbenr);$i++){
322     // mb_strlen( variable,encoding) PHP 4 >= 4.0.6, PHP 5
323     // Le paramètre encoding est l'encodage des caractères.
324     // S'il est omis, l'encodage de caracteres interne sera utilisé.
325     $tmp[$i] = strlen($nbenr[$i]);
326     //echo strlen($nbenr[$i])." ".$nbenr[$i]."<br>";
327     $cpt++;
328     }
329     $longueurenregistrement=max($tmp);
330     $nombreenregistrement=$cpt; // + entete
331     // Date de modification
332     $datemodification = date('y').str_pad (DATE('m'), 2, "0", STR_PAD_LEFT).str_pad (DATE('j'), 2, "0", STR_PAD_LEFT);
333     // export
334     $version = substr($version,0,8);
335     $entete.= $longueurenregistrement."|".$datemodification."|".$nombreenregistrement."|openFoncier|".$version."\n";
336     $export=$entete.$export;
337 fraynaud 193 // $str = htmlentities($str, ENT_QUOTES);
338 fraynaud 190 // ecriture des fichiers en tmp
339     $fichier = "../tmp/SITADEL".substr($_POST["datedebut"],3,2).
340     "".substr($_POST["datedebut"],8,4)."_test";
341     $inf = fopen($fichier,"w");
342     //$export=substr($export,0,strlen($export)-1); // un \n en trop
343     fwrite($inf,$export);
344     fclose($inf);
345     echo "<br>Fichier ".$fichier." sauvegarde<br><br><br>";
346    
347     // affichage
348     echo "<br /><br />Pour telecharger le fichier, cliquer ici : <a href=\"".$fichier."\" target=\"_blank\">";
349     echo "<img src=\"../app/img/ico_trace.png\" alt=\"Telecharger le fichier CNEN\" title=\"Telecharger le fichier CNEN\" />";
350     echo "</a> avec le bouton droit et enregistrer la cible du lien sous. <br /><br />";
351    
352     if($DEBUG==1){
353     $affiche="";
354     $affiche= str_replace("\n","<br>",$export);
355     echo $affiche;
356     }
357    
358    
359 fraynaud 187 }else // correct = false
360 fraynaud 178 echo "remplissez les 2 dates";
361     }//validation
362     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26