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

Contents of /trunk/app/sitadel.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1138 - (show 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 <?php
2 // $Id: 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 require_once "../dyn/locales.inc.php";
11 require_once "../dyn/version.inc.php";
12 require_once "sitadel.inc";
13 $f = new utils(NULL, "export_sitadel", _("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 $t10 = "||||||||||"; // 10 |
29
30 // 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 }else{ // ===================== extraction =================================
51 $correct=true;
52 $longueurenregistrement= 0 ;
53 $t10 = "||||||||||"; // 10 |
54 $datedebut ='';
55 $datefin='';
56 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 if ($correct==true){ // ***
69 // dossiers concern�s
70 $sql= "select * from ".DB_PREFIXE."dossier";
71 $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 $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 $res = $f->db -> query ($sql);
86 $f->isDatabaseError($res);
87 $export="";
88 while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
89 // initialisation
90 $g = new sitadel($row['dossier']);
91 $g->row=$row;
92 // sitadel
93 $g->val=$val;
94 // parametre
95 $sql = "select parametre, valeur from ".DB_PREFIXE."statistique where dossier ='".$row['dossier']."'";
96 $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 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 $depot.=$g->entete("DEPOT",$departement,$commune,$pf_departement);
113 $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 }
143
144 // transfert
145 $transfert ="";
146 if($row['types']=='Transfert'
147 and $row['date_depot'] >= $datedebut
148 and $row['date_depot']<=$datefin){
149 $transfert.=$g->entete("TRANSFERT",$departement,$commune,$pf_departement);
150 $transfert.=$g->etatcivil();
151 $transfert.=$g->adresse();
152 $transfert.=$g->meltel($row['types']);
153 $transfert.="\n";
154 }
155
156
157 //decision
158 // type different de modificatif
159 $decision="";
160 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 $avis_sitadel="";
165 $avis_sitadel_motif="";
166 // enregistrement decision dans tous les cas
167 $decision.=$g->entete("DECISION",$departement,$commune,$pf_departement);
168 //if ($row['date_decision']== '0000-00-00'
169 // or !isset($row['date_decision'])){
170 //if(isset($row['date_decision']) and $row['date_decision']!=""){
171 // avis_sitadel et avis_sitadel_motif
172 if($row['avis_decision']!=''){
173 $avis_sitadel = "0";
174 $avis_sitadel_motif="0" ;
175 $sql="select sitadel, sitadel_motif from ".DB_PREFIXE."avis_decision where avis_decision ='".
176 $row['avis_decision']."'";
177 $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 $decision.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif,$structure);
184 }else{
185 $decision.= $g->decision_groupe1("0","",$structure); // pas d avis
186 //$decision.= "***".$t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10."|||"; //83
187 }
188 // 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 from ".DB_PREFIXE."travaux where travaux=".$row['travaux'];
197 $res2 = $f->db -> query ($sql);
198 $f->isDatabaseError($res2);
199 $temp=$row['description'];
200 // enlever les RC
201 $temp = str_replace( chr(10), " ", $temp);
202 $temp = str_replace( chr(13), " ", $temp);
203 while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
204 $travaux = $row2['libelle']." "; // ***
205 $lascot = $row2['codelascot'];
206 }
207 $travaux.=" ".$temp;
208 $decision.= $g->travaux($travaux,$lascot, $row['types']);
209 }
210 $sql3="select * from ".DB_PREFIXE."destination_shon where dossier = '".
211 $row['dossier']."' order by destination";
212 $res3 = $f->db -> query ($sql3);
213 $f->isDatabaseError($res3);
214 // ***
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
264 $decision.= $g->descriptif($row['types']);
265 }else // decision defavorable ou pas de decision
266 $decision.= $t10.$t10.$t10.$t10.$t10.$t10.$t10.$t10."|||"; //83 | + 12 | = 95 | pour 96 zones
267 $decision.="\n";
268 }
269
270 // modificatif
271 $modificatif='';
272 if($row['types']=='Modificatif'
273 and $row['date_depot'] >= $datedebut
274 and $row['date_depot']<=$datefin){
275 $modificatif.=$g->entete("MODIFICATIF",$departement,$commune,$pf_departement);
276 if(isset($row['date_decision']) or $row['date_decision']==""){
277 // avis_sitadel et avis_sitadel_motif
278 if($row['avis_decision']!=''){
279 $avis_sitadel = 0;
280 $avis_sitadel_motif=0 ;
281 $sql="select sitadel, sitadel_motif from ".DB_PREFIXE."avis_decision where avis_decision ='".
282 $row['avis_decision']."'";
283 $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 $modificatif.= $g->decision_groupe1($avis_sitadel,$avis_sitadel_motif,$structure);
290 }
291 // 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 // enlever les RC
299 $temp=$row['description'];
300 $temp = str_replace( chr(10), " ", $temp);
301 $temp = str_replace( chr(13), " ", $temp);
302 if($row['travaux']!=''){
303 $sql= "select codelascot,libelle
304 from ".DB_PREFIXE."travaux where travaux=".$row['travaux'];
305 $res2 = $f->db -> query ($sql);
306 $f->isDatabaseError($res2);
307 while ($row2=& $res2->fetchRow(DB_FETCHMODE_ASSOC)){
308 $travaux = $row2['libelle']." ".$row['description']; // ***;
309 $lascot = $row2['codelascot'];
310 }
311 $travaux.=" ".$temp;
312 $modificatif.= $g->travaux($travaux,$lascot, $row['types']);
313 }
314 $sql3="select * from ".DB_PREFIXE."destination_shon where dossier = '".
315 $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
340 // suivi DOC
341 $suivi1="";
342 if($row['date_chantier'] >= $datedebut and $row['date_chantier']<=$datefin){
343 $suivi1.=$g->entete("SUIVI",$departement,$commune,$pf_departement);
344 $suivi1.=$g->chantier();
345 $suivi1.="\n";
346 }
347 // suivi DAT
348 $suivi2="";
349 if($row['date_achevement'] >= $datedebut and $row['date_achevement']<=$datefin){
350 $suivi2.=$g->entete("SUIVI",$departement,$commune,$pf_departement);
351 $suivi2.=$g->achevement();
352 $suivi2.="\n";
353 }
354 // export
355 $export.=$depot.$decision.$transfert.$modificatif.$suivi1.$suivi2;
356 } // fin while
357 // ***************************************
358 // entete de l enregistrement page 8 et 9
359 // ***************************************
360 // numero
361 // $numero= $db -> nextId('sitadel');
362 $numero=$_POST["numero"];
363 $fichiertransmis = date('ymj').$pf_departement.$departement.$commune;
364 $longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long
365 $entete = "SITADEL|".$pf_departement.$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|";
366 // calcul enregistrement le plus long
367 if(DBCHARSET=='UTF8'){
368 $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 // Le param�tre encoding est l'encodage des caract�res.
377 // S'il est omis, l'encodage de caracteres interne sera utilis�.
378 $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 $entete.= $longueurenregistrement."|".$datemodification."|".
389 $nombreenregistrement."|openFoncier|".$version."\n";
390 $export=$entete.$export;
391 // $str = htmlentities($str, ENT_QUOTES);
392 // ecriture des fichiers en tmp
393 $fichier = "../tmp/SITADEL".substr($_POST["datedebut"],3,2).
394 "".substr($_POST["datedebut"],8,4)."";
395 $inf = fopen($fichier,"w");
396 fwrite($inf,$export);
397 fclose($inf);
398 echo "<br>"._("Fichier")." ".$fichier." "._("sauvegarde")."<br /><br /><br />";
399 // affichage
400 echo "<br /><br />Pour telecharger le fichier, cliquer ici : <a href=\"".$fichier."\" target=\"_blank\">";
401 echo "<img src=\"../app/img/ico_trace.png\" alt=\"Telecharger le fichier CNEN\" title=\"Telecharger le fichier Sitadel\" />";
402 echo "</a>"._("avec le bouton droit et enregistrer la cible du lien sous.")."<br /><br />";
403 if($DEBUG==1){
404 $affiche="";
405 $affiche= str_replace("\n","<br>",$export);
406 echo $affiche;
407 }
408 }else // correct = false
409 echo _("remplissez les 2 dates");
410 }//validation
411 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26