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 |
|
|
?> |