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

Annotation of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1138 - (hide annotations)
Thu Jan 3 15:18:21 2013 UTC (12 years, 1 month ago) by nhaye
File size: 20969 byte(s)
Suppression de la colonne nature de la table dossier,
correction des requètes sql faisant appel à cette colonne.

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26