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