7 |
class dossier extends dossier_gen { |
class dossier extends dossier_gen { |
8 |
|
|
9 |
var $maj; |
var $maj; |
10 |
|
var $sig; |
11 |
|
var $servitude=""; |
12 |
|
var $auto_pos; |
13 |
|
var $auto_servitude_surfacique; |
14 |
|
|
15 |
|
|
16 |
|
|
17 |
function setvalF($val){ |
function setvalF($val){ |
18 |
parent::setvalF($val); |
parent::setvalF($val); |
|
|
|
19 |
// cles secondaires numerique (contrainte integrite pgsql) |
// cles secondaires numerique (contrainte integrite pgsql) |
20 |
if(!is_numeric($val['instructeur'])) $this->valF['instructeur']= null; |
if(!is_numeric($val['instructeur'])) $this->valF['instructeur']= null; |
21 |
if(!is_numeric($val['architecte'])) $this->valF['architecte']= null; |
if(!is_numeric($val['architecte'])) $this->valF['architecte']= null; |
22 |
if(!is_numeric($val['travaux'])) $this->valF['travaux']= null; |
if(!is_numeric($val['travaux'])) $this->valF['travaux']= null; |
23 |
if(!is_numeric($val['demandeur_categorie'])) $this->valF['demandeur_categorie']= null; |
if(!is_numeric($val['demandeur_categorie'])) $this->valF['demandeur_categorie']= null; |
|
|
|
24 |
// cle secondaire alpha vide (contrainte integrite pgsql) |
// cle secondaire alpha vide (contrainte integrite pgsql) |
25 |
if($val['demandeur_civilite']=='') $this->valF['demandeur_civilite']= null; |
if($val['demandeur_civilite']=='') $this->valF['demandeur_civilite']= null; |
26 |
if($val['delegataire_civilite']=='') $this->valF['delegataire_civilite']= null; |
if($val['delegataire_civilite']=='') $this->valF['delegataire_civilite']= null; |
|
|
|
27 |
// zone numerique non valorisée a 0 |
// zone numerique non valorisée a 0 |
28 |
if(!is_numeric($val['delai'])) unset ($this->valF['delai']); |
if(!is_numeric($val['delai'])) unset ($this->valF['delai']); |
29 |
if(!is_numeric($val['terrain_surface'])) unset ($this->valF['terrain_surface']); |
if(!is_numeric($val['terrain_surface'])) unset ($this->valF['terrain_surface']); |
34 |
if(!is_numeric($val['lot'])) unset ($this->valF['lot']); |
if(!is_numeric($val['lot'])) unset ($this->valF['lot']); |
35 |
if(!is_numeric($val['hauteur'])) unset ($this->valF['hauteur']); |
if(!is_numeric($val['hauteur'])) unset ($this->valF['hauteur']); |
36 |
if(!is_numeric($val['piece_nombre'])) unset ($this->valF['piece_nombre']); |
if(!is_numeric($val['piece_nombre'])) unset ($this->valF['piece_nombre']); |
37 |
|
// enlever les valeurs a ne pas saisir -> recherche en trigger ajouter et modifier |
38 |
|
// $sig = 1 |
39 |
// enlever les valeurs a ne pas saisir -> recherche en trigger ajouter et modifier |
unset ($this->valF['geom']); |
|
// $sig = 1 |
|
|
unset ($this->valF['geom']); |
|
|
|
|
40 |
// valeurs hiddenstatic (calcule) |
// valeurs hiddenstatic (calcule) |
41 |
if($this->maj==1){ |
if($this->maj==1){ |
42 |
// par defaut |
// par defaut |
87 |
function verifier($val,&$db,$DEBUG){ |
function verifier($val,&$db,$DEBUG){ |
88 |
$this->correct=True; |
$this->correct=True; |
89 |
// obligatoire |
// obligatoire |
90 |
if($val['date_depot']!=""){ |
if($val['date_depot']==""){ |
91 |
$this->valF['date_depot'] = $this->dateDB($val['date_depot']); |
// $this->valF['date_depot'] = $this->dateDB($val['date_depot']); |
92 |
}else{ |
//}else{ |
93 |
$this->correct=false; |
$this->correct=false; |
94 |
$this->msg= $this->msg."<br>date_depot obligatoire"; |
$this->addToMessage("<br>date_depot obligatoire"); |
95 |
} |
} |
96 |
if($val['parcelle']!="" and $val['sig']!='Oui'){ |
if($val['parcelle']!="" and $val['sig']!='Oui'){ |
97 |
if (!preg_match('/^[A-Z]{2}[0-9]{4}$/', $val['parcelle'])){ |
if (!preg_match('/^[A-Z]{2}[0-9]{4}$/', $val['parcelle'])){ |
98 |
$this->correct=false; |
$this->correct=false; |
99 |
$this->msg= $this->msg."<br>format parcelle AANNNN"; |
$this->addToMessage("<br>format parcelle AANNNN"); |
100 |
} |
} |
101 |
} |
} |
102 |
// regles travaux verification |
// regles travaux verification |
103 |
if ($this->valF['travaux']!=""){ |
if ($this->valF['travaux']!=""){ |
104 |
$sql= "select * from regle where id = '".$this->valF['travaux']. |
$sql= "select * from regle where id = '".$this->valF['travaux']. |
105 |
"' and controle = 'travaux' order by ordre"; |
"' and controle = 'travaux' order by ordre"; |
106 |
$res = $db->query($sql); |
$res = $db->query($sql); |
107 |
if (DB :: isError($res)) |
if (database :: isError($res)) die($res->getMessage().$sql); |
108 |
die($res->getMessage().$sql); |
$this->addToLog("requete ".$sql." execute <br>", EXTRA_VERBOSE_MODE); |
109 |
else{ |
$regle=0; |
110 |
if ($DEBUG == 1) |
$msg=""; |
111 |
echo " la requete ".$sql." est executee<br>"; |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
112 |
$regle=0; |
switch ($row['operateur']) { |
113 |
$msg=""; |
case ">" : |
114 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
if($row['sens']=="plus"){ |
115 |
switch ($row['operateur']) { |
if($this->valF[$row['champ']] > $row['valeur']) |
116 |
case ">" : |
$condition = 1; |
117 |
if($row['sens']=="plus"){ |
else |
118 |
if($this->valF[$row['champ']] > $row['valeur']) |
$condition = 0; |
119 |
$condition = 1; |
if($regle==1 or $condition == 1) |
120 |
else |
$regle=1; |
121 |
$condition = 0; |
else |
122 |
if($regle==1 or $condition == 1) |
$regle=0; |
123 |
$regle=1; |
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
124 |
else |
$this->valF[$row['champ']]."]"; |
125 |
$regle=0; |
}else{ |
126 |
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
if($this->valF[$row['champ']] > $row['valeur']){ |
127 |
$this->valF[$row['champ']]."]"; |
$condition = 0; |
|
}else{ |
|
|
if($this->valF[$row['champ']] > $row['valeur']){ |
|
|
$condition = 0; |
|
|
}else{ |
|
|
$condition = 1; |
|
|
$regle=0; |
|
|
} |
|
|
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
|
|
$this->valF[$row['champ']]."]"; |
|
|
} |
|
|
break; |
|
|
case ">=": |
|
|
if($row['sens']=="plus"){ |
|
|
if($this->valF[$row['champ']] >= $row['valeur']) |
|
|
$condition = 1; |
|
|
else |
|
|
$condition = 0; |
|
|
if($regle==1 or $condition == 1) |
|
|
$regle=1; |
|
|
else |
|
|
$regle=0; |
|
|
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
|
|
$this->valF[$row['champ']]."]"; |
|
|
}else{ |
|
|
if($this->valF[$row['champ']] >= $row['valeur']){ |
|
|
$condition = 0; |
|
|
|
|
|
}else{ |
|
|
$condition = 1; |
|
|
$regle=0; |
|
|
} |
|
|
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
|
|
$this->valF[$row['champ']]."]"; |
|
|
} |
|
|
break; |
|
|
case "<" : |
|
|
if($row['sens']=="plus"){ |
|
|
if($this->valF[$row['champ']] < $row['valeur']) |
|
|
$condition = 1; |
|
|
else |
|
|
$condition = 0; |
|
|
if($regle==1 or $condition == 1) |
|
|
$regle=1; |
|
|
else |
|
|
$regle=0; |
|
|
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
|
|
$this->valF[$row['champ']]."]"; |
|
128 |
}else{ |
}else{ |
129 |
if($this->valF[$row['champ']] < $row['valeur']){ |
$condition = 1; |
130 |
$condition = 0; |
$regle=0; |
|
}else{ |
|
|
$condition = 1; |
|
|
$regle=0; |
|
|
} |
|
|
$msg=$msg."<br> et ".$row['message']." [".$row['champ']." = ". |
|
|
$this->valF[$row['champ']]."]"; |
|
131 |
} |
} |
132 |
|
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
133 |
|
$this->valF[$row['champ']]."]"; |
134 |
|
} |
135 |
break; |
break; |
136 |
case "==": |
case ">=": |
137 |
if($row['sens']=="plus"){ |
if($row['sens']=="plus"){ |
138 |
if($this->valF[$row['champ']] == $row['valeur']) |
if($this->valF[$row['champ']] >= $row['valeur']) |
139 |
$condition = 1; |
$condition = 1; |
140 |
else |
else |
141 |
$condition = 0; |
$condition = 0; |
145 |
$regle=0; |
$regle=0; |
146 |
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
147 |
$this->valF[$row['champ']]."]"; |
$this->valF[$row['champ']]."]"; |
148 |
}else{ |
}else{ |
149 |
if($this->valF[$row['champ']] == $row['valeur']){ |
if($this->valF[$row['champ']] >= $row['valeur']){ |
150 |
$condition = 0; |
$condition = 0; |
151 |
|
|
152 |
}else{ |
}else{ |
155 |
} |
} |
156 |
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
157 |
$this->valF[$row['champ']]."]"; |
$this->valF[$row['champ']]."]"; |
158 |
|
} |
159 |
|
break; |
160 |
|
case "<" : |
161 |
|
if($row['sens']=="plus"){ |
162 |
|
if($this->valF[$row['champ']] < $row['valeur']) |
163 |
|
$condition = 1; |
164 |
|
else |
165 |
|
$condition = 0; |
166 |
|
if($regle==1 or $condition == 1) |
167 |
|
$regle=1; |
168 |
|
else |
169 |
|
$regle=0; |
170 |
|
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
171 |
|
$this->valF[$row['champ']]."]"; |
172 |
|
}else{ |
173 |
|
if($this->valF[$row['champ']] < $row['valeur']){ |
174 |
|
$condition = 0; |
175 |
|
}else{ |
176 |
|
$condition = 1; |
177 |
|
$regle=0; |
178 |
|
} |
179 |
|
$msg=$msg."<br> et ".$row['message']." [".$row['champ']." = ". |
180 |
|
$this->valF[$row['champ']]."]"; |
181 |
} |
} |
182 |
break; |
break; |
183 |
|
case "==": |
184 |
|
if($row['sens']=="plus"){ |
185 |
|
if($this->valF[$row['champ']] == $row['valeur']) |
186 |
|
$condition = 1; |
187 |
|
else |
188 |
|
$condition = 0; |
189 |
|
if($regle==1 or $condition == 1) |
190 |
|
$regle=1; |
191 |
|
else |
192 |
|
$regle=0; |
193 |
|
$msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ". |
194 |
|
$this->valF[$row['champ']]."]"; |
195 |
|
}else{ |
196 |
|
if($this->valF[$row['champ']] == $row['valeur']){ |
197 |
|
$condition = 0; |
198 |
|
|
199 |
|
}else{ |
200 |
|
$condition = 1; |
201 |
|
$regle=0; |
202 |
|
} |
203 |
|
$msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ". |
204 |
|
$this->valF[$row['champ']]."]"; |
205 |
|
} |
206 |
|
break; |
207 |
break; |
break; |
208 |
} // switch |
} // switch |
209 |
} |
if($regle==0) |
210 |
if($regle==0) |
$this->addToMessage(" <br><br>"); |
211 |
$this->msg= $this->msg.$msg." <br><br>"; |
} // while |
212 |
} |
} // travaux |
|
} |
|
213 |
}//verifier |
}//verifier |
214 |
|
|
215 |
|
|
223 |
$form->setType('parcelle_archive','hidden'); |
$form->setType('parcelle_archive','hidden'); |
224 |
$form->setType('objet_dossier','hidden'); // PC |
$form->setType('objet_dossier','hidden'); // PC |
225 |
$form->setType('amenagement','hidden'); // PC |
$form->setType('amenagement','hidden'); // PC |
226 |
|
$form->setType('geom', 'hidden'); |
227 |
|
$form->setType('servitude', 'hiddenstatic'); |
228 |
|
|
229 |
// a voir a quoi cela peut servir |
// a voir a quoi cela peut servir |
230 |
$form->setType('sig','hidden'); // PC |
$form->setType('sig','hidden'); // PC |
|
$form->setType('siglien','hidden'); // PC |
|
231 |
|
|
232 |
// date |
// date |
233 |
$form->setType('date_depot','date'); |
$form->setType('date_depot','date'); |
434 |
$sql_travaux = $sql_travaux. |
$sql_travaux = $sql_travaux. |
435 |
" order by libelle"; |
" order by libelle"; |
436 |
$res = $db->query($sql_travaux); |
$res = $db->query($sql_travaux); |
437 |
if (database::isError($res)) |
if (database::isError($res)) die($res->getMessage()).$sql_travaux; |
438 |
die($res->getMessage()); |
$this->addToLog(" la requete ".$sql_travaux." est executee", VERBOSE_MODE); |
439 |
else{ |
$contenu[0][0]=""; |
440 |
if ($debug == 1) |
$contenu[1][0]=_('choisir')." "._('travaux'); |
441 |
echo " la requete ".$sql_travaux." est executee<br>"; |
$k=1; |
442 |
$contenu[0][0]=""; |
while ($row=& $res->fetchRow()){ |
443 |
$contenu[1][0]=_('choisir')." "._('travaux'); |
$contenu[0][$k]=$row[0]; |
444 |
$k=1; |
$contenu[1][$k]=$row[1]; |
445 |
while ($row=& $res->fetchRow()){ |
$k++; |
|
$contenu[0][$k]=$row[0]; |
|
|
$contenu[1][$k]=$row[1]; |
|
|
$k++; |
|
|
} |
|
|
$form->setSelect("travaux",$contenu); |
|
446 |
} |
} |
447 |
|
$form->setSelect("travaux",$contenu); |
448 |
|
|
449 |
// instructeur |
//// instructeur |
450 |
$contenu=array(); |
$contenu=array(); |
451 |
$res = $db->query($sql_instructeur); |
$res = $db->query($sql_instructeur); |
452 |
if (DB :: isError($res)) |
if (database::isError($res)) die($res->getMessage().$sql_instructeur); |
453 |
die($res->getMessage().$sql_instructeur); |
$this->addToLog(" la requete ".$sql_instructeur." est executee", VERBOSE_MODE); |
454 |
else{ |
$contenu[0][0]=""; |
455 |
if ($debug == 1) |
$contenu[1][0]=_('choisir')." "._('instructeur'); |
456 |
echo " la requete ".$sql_instructeur." est executee<br>"; |
$k=1; |
457 |
$contenu[0][0]=""; |
while ($row=& $res->fetchRow()){ |
|
$contenu[1][0]=$this->lang('choisir')." ".$this->lang('instructeur'); |
|
|
$k=1; |
|
|
while ($row=& $res->fetchRow()){ |
|
458 |
$contenu[0][$k]=$row[0]; |
$contenu[0][$k]=$row[0]; |
459 |
$contenu[1][$k]=$row[1]; |
$contenu[1][$k]=$row[1]; |
460 |
$k++; |
$k++; |
|
} |
|
|
$form->setSelect("instructeur",$contenu); |
|
461 |
} |
} |
462 |
|
$form->setSelect("instructeur",$contenu); |
463 |
|
|
464 |
// demandeur et delegataire civilite |
// demandeur et delegataire civilite |
465 |
$contenu=array(); |
$contenu=array(); |
466 |
$res = $db->query($sql_civilite); |
$res = $db->query($sql_civilite); |
467 |
if (database::isError($res)) |
if (database::isError($res)) die($res->getMessage().$sql_); |
468 |
die($res->getMessage().$sql_travaux); |
$this->addToLog(" la requete ".$sql_civilite." est executee", VERBOSE_MODE); |
469 |
else{ |
$contenu[0][0]=""; |
470 |
if ($debug == 1) |
$contenu[1][0]=_('choisir')." "._('civilite'); |
471 |
echo " la requete ".$sql_civilite." est execute<br>"; |
$k=1; |
472 |
$contenu[0][0]=""; |
while ($row=& $res->fetchRow()){ |
|
$contenu[1][0]=_('choisir')." "._('civilite'); |
|
|
$k=1; |
|
|
while ($row=& $res->fetchRow()){ |
|
473 |
$contenu[0][$k]=$row[0]; |
$contenu[0][$k]=$row[0]; |
474 |
$contenu[1][$k]=$row[1]; |
$contenu[1][$k]=$row[1]; |
475 |
$k++; |
$k++; |
476 |
} |
} |
477 |
$form->setSelect("demandeur_civilite",$contenu); |
$form->setSelect("demandeur_civilite",$contenu); |
478 |
$form->setSelect("delegataire_civilite",$contenu); |
$form->setSelect("delegataire_civilite",$contenu); |
479 |
} |
|
480 |
// demandeur categorie |
// demandeur categorie |
481 |
$contenu=array(); |
$contenu=array(); |
482 |
$res = $db->query($sql_categorie_demandeur); |
$res = $db->query($sql_categorie_demandeur); |
483 |
if (database::isError($res)) |
if (database::isError($res)) die($res->getMessage().$sql_categorie_demandeur); |
484 |
die($res->getMessage().$sql_categorie_demandeur); |
$this->addToLog(" la requete ".$sql_categorie_demandeur." est executee", VERBOSE_MODE); |
485 |
else{ |
$contenu[0][0]=""; |
486 |
if ($debug == 1) |
$contenu[1][0]=_('choisir')." "._('categorie'); |
487 |
echo " la requete ".$sql_categorie_demandeur." est execute<br>"; |
$k=1; |
488 |
$contenu[0][0]=""; |
while ($row=& $res->fetchRow()){ |
|
$contenu[1][0]=_('choisir')." "._('categorie'); |
|
|
$k=1; |
|
|
while ($row=& $res->fetchRow()){ |
|
489 |
$contenu[0][$k]=$row[0]; |
$contenu[0][$k]=$row[0]; |
490 |
$contenu[1][$k]=$row[1]; |
$contenu[1][$k]=$row[1]; |
491 |
$k++; |
$k++; |
|
} |
|
|
$form->setSelect("demandeur_categorie",$contenu); |
|
492 |
} |
} |
493 |
|
$form->setSelect("demandeur_categorie",$contenu); |
494 |
|
|
495 |
// pos |
// pos |
496 |
$contenu=array(); |
$contenu=array(); |
497 |
$res = $db->query($sql_pos); |
$res = $db->query($sql_pos); |
498 |
if (database::isError($res)) |
if (database::isError($res)) die($res->getMessage().$sql_pos); |
499 |
die($res->getMessage().$sql_pos); |
$this->addToLog(" la requete ".$sql_pos." est executee", VERBOSE_MODE); |
500 |
else{ |
$contenu[0][0]=""; |
501 |
if ($debug == 1) |
$contenu[1][0]=_('choisir')." "._('pos'); |
502 |
echo " la requete ".$sql_architecte." est execute<br>"; |
$k=1; |
503 |
$contenu[0][0]=""; |
while ($row=& $res->fetchRow()){ |
|
$contenu[1][0]=$this->lang('choisir')." ".$this->lang('pos'); |
|
|
$k=1; |
|
|
while ($row=& $res->fetchRow()){ |
|
504 |
$contenu[0][$k]=$row[0]; |
$contenu[0][$k]=$row[0]; |
505 |
$contenu[1][$k]=$row[1]; |
$contenu[1][$k]=$row[1]; |
506 |
$k++; |
$k++; |
|
} |
|
|
$form->setSelect("pos",$contenu); |
|
507 |
} |
} |
508 |
// lien sig |
$form->setSelect("pos",$contenu); |
509 |
include ("../dyn/var.inc"); |
|
|
$contenu=array(); |
|
|
$contenu[0]="<img src='".$image_sig."'>"; |
|
|
$form->setSelect("siglien",$contenu); |
|
510 |
// code et libelle voie |
// code et libelle voie |
511 |
$contenu=""; |
$contenu=""; |
512 |
$contenu[0][0]="rivoli";// table |
$contenu[0][0]="rivoli";// table |
514 |
$contenu[1][0]="libelle"; |
$contenu[1][0]="libelle"; |
515 |
$contenu[1][1]="terrain_adresse"; |
$contenu[1][1]="terrain_adresse"; |
516 |
$form->setSelect("rivoli",$contenu); |
$form->setSelect("rivoli",$contenu); |
517 |
|
//terrain_adresse |
518 |
$contenu=""; |
$contenu=""; |
519 |
$contenu[0][0]="rivoli";// table |
$contenu[0][0]="rivoli";// table |
520 |
$contenu[0][1]="libelle"; // zone origine |
$contenu[0][1]="libelle"; // zone origine |
720 |
// travaux |
// travaux |
721 |
$form->setLib('objet_dossier',''); |
$form->setLib('objet_dossier',''); |
722 |
$form->setLib('travaux',''); |
$form->setLib('travaux',''); |
|
$form->setLib('saisie_architecte',""); // *** |
|
723 |
$form->setLib('architecte_nom',""); |
$form->setLib('architecte_nom',""); |
724 |
$form->setLib('architecte',''); |
$form->setLib('architecte',''); |
725 |
|
|
757 |
function setRegroupe(&$form,$maj){ |
function setRegroupe(&$form,$maj){ |
758 |
// depot |
// depot |
759 |
If ($maj==0){ |
If ($maj==0){ |
760 |
$form->setRegroupe('date_demande','D',_(Depot),$this->aff_depot ); |
$form->setRegroupe('date_demande','D',_("Depot"),$this->aff_depot ); |
761 |
} |
} |
762 |
If ($maj==1){ |
If ($maj==1){ |
763 |
$form->setRegroupe('dossier','D',_(Depot), $this->aff_depot); |
$form->setRegroupe('dossier','D',_("Depot"), $this->aff_depot); |
764 |
$form->setRegroupe('date_demande','G',''); |
$form->setRegroupe('date_demande','G',''); |
765 |
} |
} |
766 |
$form->setRegroupe('date_depot','G',''); |
$form->setRegroupe('date_depot','G',''); |
850 |
* =============================================================== |
* =============================================================== |
851 |
*/ |
*/ |
852 |
|
|
|
|
|
853 |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
854 |
if (file_exists ("../dyn/var.inc")) |
$this->sig_parametre($db); |
|
include ("../dyn/var.inc"); |
|
|
if(!isset($sig)) $sig=0; |
|
|
if(!isset($auto_pos)) $auto_pos=0; |
|
|
$this->addToLog("trigger valeur sig :".$sig, EXTRA_VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_pos :".$auto_pos, EXTRA_VERBOSE_MODE); |
|
855 |
$id=$this->valF['dossier']; // id n est pas valorise en ajout |
$id=$this->valF['dossier']; // id n est pas valorise en ajout |
856 |
if($sig==1 ){ |
if($this->sig==1 ){ |
857 |
if($val['parcelle']!='') |
if($val['parcelle']!='') |
858 |
$this->sig_interne($id,&$db,$val,$DEBUG,$auto_pos); |
$this->sig_interne($id,&$db,$val,$DEBUG); |
859 |
else |
else |
860 |
$this->msg = $this->msg."<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>"; |
$this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>"); |
861 |
} |
} |
862 |
} |
} |
863 |
|
|
864 |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
865 |
if (file_exists ("../dyn/var.inc")) |
$this->sig_parametre($db); |
|
include ("../dyn/var.inc"); |
|
|
if(!isset($sig)) $sig=0; |
|
|
if(!isset($auto_pos)) $auto_pos=0; |
|
|
$this->addToLog("trigger valeur sig :".$sig, EXTRA_VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_pos :".$auto_pos, EXTRA_VERBOSE_MODE); |
|
866 |
// si la parcelle est changée |
// si la parcelle est changée |
867 |
if($sig==1 and $val['parcelle']!=$val['parcelle_archive']){ |
if($this->sig==1 and $val['parcelle']!=$val['parcelle_archive']){ |
868 |
if($val['parcelle']!='') |
if($val['parcelle']!='') |
869 |
$this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG,$auto_pos); |
$this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG); |
870 |
} |
else |
871 |
|
$this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>"); |
872 |
|
} |
873 |
|
} |
874 |
|
|
875 |
|
function sig_parametre(&$db){ |
876 |
|
if (file_exists ("../dyn/var.inc")) |
877 |
|
include ("../dyn/var.inc"); |
878 |
|
if(!isset($sig)) |
879 |
|
$this->sig=0; |
880 |
|
else |
881 |
|
$this->sig=1; |
882 |
|
if(!isset($auto_pos)) |
883 |
|
$this->auto_pos=0; |
884 |
|
else |
885 |
|
$this->auto_pos=$auto_pos; |
886 |
|
if(!isset($auto_servitude_surfacique)) |
887 |
|
$this->auto_servitude_surfacique=0; |
888 |
|
else |
889 |
|
$this->auto_servitude_surfacique=$auto_servitude_surfacique; |
890 |
|
if(!isset($auto_servitude_ligne)) |
891 |
|
$this->auto_servitude_ligne=0; |
892 |
|
else |
893 |
|
$this->auto_servitude_ligne=$auto_servitude_ligne; |
894 |
|
if(!isset($auto_servitude_point)) |
895 |
|
$this->auto_servitude_point=0; |
896 |
|
else |
897 |
|
$this->auto_servitude_point=$auto_servitude_point; |
898 |
|
$this->addToLog("trigger valeur sig :".$this->sig, VERBOSE_MODE); |
899 |
|
$this->addToLog("trigger valeur auto_pos :". $this->auto_pos, VERBOSE_MODE); |
900 |
|
$this->addToLog("trigger valeur auto_servitude_surfacique :".$this->auto_servitude_surfacique, VERBOSE_MODE); |
901 |
|
$this->addToLog("trigger valeur auto_servitude_ligne :". $this->auto_servitude_ligne, VERBOSE_MODE); |
902 |
|
$this->addToLog("trigger valeur auto_servitude_point :".$this->auto_servitude_point, VERBOSE_MODE); |
903 |
} |
} |
904 |
|
|
905 |
function sig_interne($id,&$db,$val,$DEBUG,$auto_pos){ |
|
906 |
|
function sig_interne($id,&$db,$val,$DEBUG){ |
907 |
// Strategy interne dans var.inc |
// Strategy interne dans var.inc |
908 |
// si la parcelle existe, il est cree un point au milieu de la parcelle |
// si la parcelle existe, il est cree un point au milieu de la parcelle |
909 |
// de maniere automatique |
// de maniere automatique |
911 |
$sql= "select astext(centroid(geom)) from parcelle where parcelle ='".$val["parcelle"]."'"; |
$sql= "select astext(centroid(geom)) from parcelle where parcelle ='".$val["parcelle"]."'"; |
912 |
$this->addToLog("recherche centroid parcelle :".$sql, VERBOSE_MODE); |
$this->addToLog("recherche centroid parcelle :".$sql, VERBOSE_MODE); |
913 |
$geom = $db -> getOne($sql); |
$geom = $db -> getOne($sql); |
914 |
if($geom!=''){ // la parcelle est exitante dans la table / vue parcelle |
if($geom!=''){ // la parcelle est exitante dans la table ou vue parcelle |
915 |
$sql ="update dossier set geom =geometryfromtext('".$geom."', ".$projection." ) where dossier ='".$id."'"; |
$sql ="update dossier set geom =geometryfromtext('".$geom."', ".$projection." ) where dossier ='".$id."'"; |
916 |
$this->addToLog("sig_interne maj geom :".$sql, VERBOSE_MODE); |
$this->addToLog("sig_interne maj geom :".$sql, VERBOSE_MODE); |
917 |
$res = $db -> query($sql); |
$res = $db -> query($sql); |
918 |
if (database :: isError($res)){ |
if (database :: isError($res)){ |
919 |
die($res->getMessage()."erreur ".$sql); |
die($res->getMessage()."erreur ".$sql); |
920 |
}else{ |
}else{ |
921 |
$this->msg = $this->msg."<br>"._("centroid de parcelle calculé")." ".$val["parcelle"]. |
$this->addToMessage(""._("centroid de parcelle calculé")." ".$val["parcelle"]." "); |
|
" "._("dossier")." ".$id."<br>"; |
|
922 |
} |
} |
923 |
if($auto_pos==1) // recherche du pos |
if($this->auto_pos==1) // recherche du pos |
924 |
$this->auto_pos($id,$db,$geom,$projection); |
$this->calcul_auto_pos($id,$db,$geom,$projection); |
925 |
|
if($this->auto_servitude_surfacique==1) // recherche de servitude surfacique |
926 |
|
$this->calcul_auto_servitude_surfacique($id,$db,$geom,$projection); |
927 |
|
if($this->auto_servitude_ligne==1) // recherche de servitude ligne |
928 |
|
$this->calcul_auto_servitude_ligne($id,$db,$geom,$projection); |
929 |
|
if($this->auto_servitude_point==1) // recherche de servitude point |
930 |
|
$this->calcul_auto_servitude_point($id,$db,$geom,$projection); |
931 |
|
$temp=strtr($this->servitude,"'"," "); // enleve le ' |
932 |
|
$sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'"; |
933 |
|
$res1 = $db -> query($sql1); |
934 |
|
$this->addToLog("maj servitudes :".$sql1, VERBOSE_MODE); |
935 |
|
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
936 |
}else{ // parcelle inexistante |
}else{ // parcelle inexistante |
937 |
if($this->maj ==1){ // en maj mettre a null la geometrie si parcelle changée inexistante |
if($this->maj ==1){ // en maj mettre a null la geometrie si parcelle changée inexistante |
938 |
$sql ="update dossier set geom = null where dossier ='".$id."'"; |
$sql ="update dossier set geom = null where dossier ='".$id."'"; |
941 |
if (database :: isError($res)) |
if (database :: isError($res)) |
942 |
die($res->getMessage()."erreur ".$sql); |
die($res->getMessage()."erreur ".$sql); |
943 |
} |
} |
944 |
$this->msg = $this->msg."<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id."<br>"; |
$this->addToMessage("<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id.""); |
945 |
} |
} |
946 |
} |
} |
947 |
|
|
948 |
function auto_pos($id,&$db,$geom,$projection){ |
function calcul_auto_pos($id,&$db,$geom,$projection){ |
949 |
// recherche du pos automatique dans le geom de la table / vue pos |
// recherche du pos automatique |
950 |
$sql="select pos from pos WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
$sql="select pos from pos WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
951 |
$pos = $db -> getOne($sql); |
$pos = $db -> getOne($sql); |
952 |
$this->addToLog("recherche auto_pos :".$sql, VERBOSE_MODE); |
$this->addToLog("recherche auto_pos :".$sql, VERBOSE_MODE); |
954 |
$sql1 ="update dossier set pos = '".$pos."' where dossier = '".$id."'"; |
$sql1 ="update dossier set pos = '".$pos."' where dossier = '".$id."'"; |
955 |
$res1 = $db -> query($sql1); |
$res1 = $db -> query($sql1); |
956 |
$this->addToLog("maj auto_pos :".$sql1, VERBOSE_MODE); |
$this->addToLog("maj auto_pos :".$sql1, VERBOSE_MODE); |
957 |
if (database:: isError($res1)){ // ok |
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
958 |
die($res1->getMessage()."erreur ".$sql1); |
$this->addToMessage("<br>"._("POS/PLU")." : ".$pos.""); |
|
}else{ |
|
|
$this->msg = $this->msg."<br>"._("POS/PLU renseignee automatiquement dans dossier")." ".$id." -> ".$pos."<br>"; |
|
|
} |
|
959 |
}else{ |
}else{ |
960 |
$this->msg = $this->msg."<br>"._("POS/PLU non trouvé pour dossier")." ".$id."<br>"; |
$this->addToMessage("<br>"._("POS/PLU non trouvé")." ".$id.""); |
961 |
} |
} |
962 |
} |
} |
963 |
|
|
964 |
|
function calcul_auto_servitude_surfacique($id,&$db,$geom,$projection){ |
965 |
|
// recherche servitude surfacique |
966 |
|
$sql="select * from servitude_surfacique WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
967 |
|
$res=$db->query($sql); |
968 |
|
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
969 |
|
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
970 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
971 |
|
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']); |
972 |
|
$this->servitude.=" [".$row['libelle']."] ".$row['observation']." - "; |
973 |
|
} |
974 |
|
} |
975 |
|
|
976 |
|
function calcul_auto_servitude_ligne($id,&$db,$geom,$projection){ |
977 |
|
// recherche servitude ligne |
978 |
|
$distance=100; |
979 |
|
$sql="select * from servitude_ligne WHERE ST_contains(ST_buffer(geom, ".$distance."), geometryfromtext('".$geom."', ".$projection."))"; |
980 |
|
$res=$db->query($sql); |
981 |
|
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
982 |
|
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
983 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
984 |
|
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']); |
985 |
|
$this->servitude.=" [".$row['libelle']."] ".$row['observation']." - "; |
986 |
|
} |
987 |
|
} |
988 |
|
|
989 |
|
function calcul_auto_servitude_point($id,&$db,$geom,$projection){ |
990 |
|
// recherche servitude point |
991 |
|
$distance=500; // monuments historiques |
992 |
|
$sql="select libelle,observation, distance(geom, geometryfromtext('".$geom."', ".$projection.")) as distance from servitude_point WHERE distance(geom, geometryfromtext('".$geom."', ".$projection."))<".$distance.""; |
993 |
|
$res=$db->query($sql); |
994 |
|
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
995 |
|
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
996 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
997 |
|
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - *** ".$row['observation'])." a ".round($row['distance'],2)." m "; |
998 |
|
$this->servitude.=" [".$row['libelle']."] ".$row['observation']." a ".round($row['distance'],2)." m - "; |
999 |
|
} |
1000 |
|
} |
1001 |
|
|
1002 |
|
|
1003 |
}// fin classe |
}// fin classe |
1004 |
?> |
?> |