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