/[openfoncier]/trunk/obj/dossier.class.php
ViewVC logotype

Diff of /trunk/obj/dossier.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 48 by fraynaud, Fri Aug 12 16:19:10 2011 UTC revision 142 by fraynaud, Tue Sep 27 14:52:41 2011 UTC
# Line 2  Line 2 
2  //$Id$  //$Id$
3  //gen openMairie le 10/02/2011 20:39  //gen openMairie le 10/02/2011 20:39
4  require_once ("../gen/obj/dossier.class.php");  require_once ("../gen/obj/dossier.class.php");
 //require_once ("../sig/strategyDynmap.class.php"); //specific  
5    
6  class dossier extends dossier_gen {  class dossier extends dossier_gen {
7    
8      var $maj;      var $maj;
9        var $sig;
10        var $servitude="";
11        var $auto_pos;
12        var $auto_servitude_surfacique;
13        var $auto_servitude_ligne;
14        var $auto_servitude_point;
15        var $auto_parcelle;
16        var $auto_parcelle_lot;
17        
18    
19      function setvalF($val){      function setvalF($val){
20          parent::setvalF($val);          parent::setvalF($val);  
           
21          // cles secondaires numerique (contrainte integrite  pgsql)          // cles secondaires numerique (contrainte integrite  pgsql)
22          if(!is_numeric($val['instructeur'])) $this->valF['instructeur']= null;          if(!is_numeric($val['instructeur'])) $this->valF['instructeur']= null;
23          if(!is_numeric($val['architecte'])) $this->valF['architecte']= null;          if(!is_numeric($val['architecte'])) $this->valF['architecte']= null;
24          if(!is_numeric($val['travaux'])) $this->valF['travaux']= null;          if(!is_numeric($val['travaux'])) $this->valF['travaux']= null;
25          if(!is_numeric($val['demandeur_categorie'])) $this->valF['demandeur_categorie']= null;          if(!is_numeric($val['demandeur_categorie'])) $this->valF['demandeur_categorie']= null;
           
26          // cle secondaire alpha vide (contrainte integrite pgsql)          // cle secondaire alpha vide (contrainte integrite pgsql)
27          if($val['demandeur_civilite']=='') $this->valF['demandeur_civilite']= null;          if($val['demandeur_civilite']=='') $this->valF['demandeur_civilite']= null;
28          if($val['delegataire_civilite']=='') $this->valF['delegataire_civilite']= null;          if($val['delegataire_civilite']=='') $this->valF['delegataire_civilite']= null;
           
29          // zone numerique non valorisée a 0          // zone numerique non valorisée a 0
30          if(!is_numeric($val['delai'])) unset ($this->valF['delai']);          if(!is_numeric($val['delai'])) unset ($this->valF['delai']);
31          if(!is_numeric($val['terrain_surface'])) unset ($this->valF['terrain_surface']);          if(!is_numeric($val['terrain_surface'])) unset ($this->valF['terrain_surface']);
# Line 31  class dossier extends dossier_gen { Line 36  class dossier extends dossier_gen {
36          if(!is_numeric($val['lot'])) unset ($this->valF['lot']);          if(!is_numeric($val['lot'])) unset ($this->valF['lot']);
37          if(!is_numeric($val['hauteur'])) unset ($this->valF['hauteur']);          if(!is_numeric($val['hauteur'])) unset ($this->valF['hauteur']);
38          if(!is_numeric($val['piece_nombre'])) unset ($this->valF['piece_nombre']);          if(!is_numeric($val['piece_nombre'])) unset ($this->valF['piece_nombre']);
39            if(!is_numeric($val['parcelle_lot'])) unset ($this->valF['parcelle_lot']);
40            // enlever les valeurs a ne pas saisir -> recherche en trigger ajouter et modifier
41         // enlever les valeurs a ne pas saisir -> recherche en trigger ajouter et modifier          // $sig = 1
42         // $sig = 1          unset ($this->valF['geom']);    
         unset ($this->valF['geom']);  
           
43          // valeurs hiddenstatic (calcule)          // valeurs hiddenstatic (calcule)
44          if($this->maj==1){          if($this->maj==1){
45              // par defaut              // par defaut
# Line 87  class dossier extends dossier_gen { Line 90  class dossier extends dossier_gen {
90      function verifier($val,&$db,$DEBUG){      function verifier($val,&$db,$DEBUG){
91          $this->correct=True;          $this->correct=True;
92          // obligatoire          // obligatoire
93          if($val['date_depot']!=""){          if($val['date_depot']==""){
94              $this->valF['date_depot'] = $this->dateDB($val['date_depot']);          //    $this->valF['date_depot'] = $this->dateDB($val['date_depot']);
95          }else{          //}else{
96              $this->correct=false;              $this->correct=false;
97              $this->msg= $this->msg."<br>date_depot obligatoire";              $this->addToMessage("<br>date_depot obligatoire");
98          }          }
99          if($val['parcelle']!="" and $val['sig']!='Oui'){          if($val['parcelle']!="" and $val['sig']!='Oui'){
100            if  (!preg_match('/^[A-Z]{2}[0-9]{4}$/', $val['parcelle'])){              if  (!preg_match('/^[A-Z]{2}[0-9]{4}$/', $val['parcelle'])){
101                $this->correct=false;                  $this->correct=false;
102                $this->msg= $this->msg."<br>format parcelle AANNNN";                  $this->addToMessage("<br>format parcelle AANNNN");
103            }              }
104          }          }
105          // regles travaux verification          // regles travaux verification
106          if ($this->valF['travaux']!=""){          if ($this->valF['travaux']!=""){
107              $sql= "select * from regle where id = '".$this->valF['travaux'].              $sql= "select * from regle where id = '".$this->valF['travaux'].
108              "' and controle = 'travaux' order by ordre";              "' and controle = 'travaux' order by ordre";
109              $res = $db->query($sql);              $res = $db->query($sql);
110              if (DB :: isError($res))               if (database :: isError($res)) die($res->getMessage().$sql);
111                   die($res->getMessage().$sql);              $this->addToLog("requete ".$sql." execute <br>", EXTRA_VERBOSE_MODE);
112              else{              $regle=0;
113              if ($DEBUG == 1)              $msg="";
114                  echo " la requete ".$sql." est executee<br>";              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
115                  $regle=0;                  switch ($row['operateur']) {
116                  $msg="";                  case ">" :
117                  while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){                      if($row['sens']=="plus"){
118                      switch ($row['operateur']) {                          if($this->valF[$row['champ']] > $row['valeur'])
119                      case ">" :                              $condition = 1;
120                          if($row['sens']=="plus"){                          else
121                              if($this->valF[$row['champ']] > $row['valeur'])                              $condition = 0;
122                                  $condition = 1;                          if($regle==1 or $condition == 1)
123                              else                              $regle=1;
124                                  $condition = 0;                          else
125                              if($regle==1 or $condition == 1)                              $regle=0;
126                                  $regle=1;                          $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".
127                              else                          $this->valF[$row['champ']]."]";        
128                                  $regle=0;                      }else{
129                              $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".                          if($this->valF[$row['champ']] > $row['valeur']){
130                              $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']]."]";  
131                          }else{                          }else{
132                              if($this->valF[$row['champ']] < $row['valeur']){                              $condition = 1;
133                                  $condition = 0;                              $regle=0;
                             }else{  
                                 $condition = 1;  
                                 $regle=0;  
                             }  
                             $msg=$msg."<br> et ".$row['message']." [".$row['champ']." = ".  
                                 $this->valF[$row['champ']]."]";  
134                          }                          }
135                            $msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ".
136                            $this->valF[$row['champ']]."]";
137                        }
138                      break;                      break;
139                  case "==":                  case ">=":
140                      if($row['sens']=="plus"){                     if($row['sens']=="plus"){
141                          if($this->valF[$row['champ']] == $row['valeur'])                          if($this->valF[$row['champ']] >= $row['valeur'])
142                              $condition = 1;                              $condition = 1;
143                          else                          else
144                              $condition = 0;                              $condition = 0;
# Line 195  class dossier extends dossier_gen { Line 148  class dossier extends dossier_gen {
148                              $regle=0;                              $regle=0;
149                          $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".                          $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".
150                          $this->valF[$row['champ']]."]";                          $this->valF[$row['champ']]."]";
151                     }else{                      }else{
152                          if($this->valF[$row['champ']] == $row['valeur']){                          if($this->valF[$row['champ']] >= $row['valeur']){
153                              $condition = 0;                              $condition = 0;
154                        
155                          }else{                          }else{
# Line 205  class dossier extends dossier_gen { Line 158  class dossier extends dossier_gen {
158                          }                          }
159                          $msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ".                          $msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ".
160                          $this->valF[$row['champ']]."]";                          $this->valF[$row['champ']]."]";
161                         }
162                    break;
163                    case "<" :
164                        if($row['sens']=="plus"){
165                            if($this->valF[$row['champ']] < $row['valeur'])
166                                $condition = 1;
167                            else
168                                $condition = 0;
169                            if($regle==1 or $condition == 1)
170                                $regle=1;
171                            else
172                                $regle=0;
173                            $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".
174                            $this->valF[$row['champ']]."]";
175                        }else{
176                            if($this->valF[$row['champ']] < $row['valeur']){
177                                $condition = 0;
178                            }else{
179                                $condition = 1;
180                                $regle=0;
181                            }
182                            $msg=$msg."<br> et ".$row['message']." [".$row['champ']." = ".
183                                $this->valF[$row['champ']]."]";
184                      }                      }
185                    break;                  break;
186                    case "==":
187                    if($row['sens']=="plus"){
188                        if($this->valF[$row['champ']] == $row['valeur'])
189                            $condition = 1;
190                        else
191                            $condition = 0;
192                        if($regle==1 or $condition == 1)
193                            $regle=1;
194                        else
195                            $regle=0;
196                        $msg=$msg."<br> + ".$row['message']." [".$row['champ']." = ".
197                        $this->valF[$row['champ']]."]";
198                    }else{
199                        if($this->valF[$row['champ']] == $row['valeur']){
200                            $condition = 0;
201          
202                        }else{
203                            $condition = 1;
204                            $regle=0;
205                        }
206                        $msg=$msg."<br> ou ".$row['message']." [".$row['champ']." = ".
207                        $this->valF[$row['champ']]."]";
208                    }
209                    break;
210                  break;                  break;
211                  } // switch                  } // switch
212              }                  if($regle==0)
213              if($regle==0)                      $this->addToMessage(" <br><br>");
214                  $this->msg= $this->msg.$msg." <br><br>";              } // while
215              }          } // travaux
         }  
216      }//verifier      }//verifier
217    
218    
# Line 227  class dossier extends dossier_gen { Line 226  class dossier extends dossier_gen {
226              $form->setType('parcelle_archive','hidden');              $form->setType('parcelle_archive','hidden');
227              $form->setType('objet_dossier','hidden'); // PC              $form->setType('objet_dossier','hidden'); // PC
228              $form->setType('amenagement','hidden'); // PC              $form->setType('amenagement','hidden'); // PC
229                                        $form->setType('parcelle_lot','hidden'); // PC
230              // a voir a quoi cela peut servir              $form->setType('parcelle_lot_lotissement','hidden'); // PC
231              $form->setType('sig','hidden'); // PC              $form->setType('geom', 'hidden');
232              $form->setType('siglien','hidden'); // PC              $form->setType('servitude', 'hiddenstatic');
233                                                  
234              // date              // date
235              $form->setType('date_depot','date');              $form->setType('date_depot','date');
236              $form->setType('date_demande','date');              $form->setType('date_demande','date');
# Line 243  class dossier extends dossier_gen { Line 242  class dossier extends dossier_gen {
242              $form->setType('delegataire_civilite','select');              $form->setType('delegataire_civilite','select');
243              $form->setType('demandeur_civilite','select');              $form->setType('demandeur_civilite','select');
244              $form->setType('demandeur_categorie','select');              $form->setType('demandeur_categorie','select');
245                $form->setType('pos','select');
246    
247              // combo              // combo
248              $form->setType('rivoli','comboD');              $form->setType('rivoli','comboD');
249              $form->setType('terrain_adresse','comboG');              $form->setType('terrain_adresse','comboG');
             //$form->setType('architecte','comboD');  
             //$form->setType('architecte','textdisabled'); // ne valorise pas  
250              $form->setType('architecte_nom','comboG');              $form->setType('architecte_nom','comboG');
251                $form->setType('architecte','comboD');
252    
253    
254              // hiddenstatic              // hiddenstatic
255              if($maj==1) $form->setType('dossier', 'hiddenstatic');              if($maj==1) $form->setType('dossier', 'hiddenstatic');
# Line 276  class dossier extends dossier_gen { Line 276  class dossier extends dossier_gen {
276              $form->setType('date_conformite','hiddenstaticdate');              $form->setType('date_conformite','hiddenstaticdate');
277                        
278              // checkbox                  // checkbox    
279              //$form->setType('sig','checkbox');              $form->setType('sig','checkbox');
280              $form->setType('delegataire','checkbox');              $form->setType('delegataire','checkbox');
281                                      
             // http  
             //$form->setType('siglien','http');  
             $form->setType('saisie_architecte', 'httpclick');  
               
282              // mail              // mail
283              $form->setType('delegataire_email','mail');              $form->setType('delegataire_email','mail');
284              $form->setType('demandeur_email','mail');                        $form->setType('demandeur_email','mail');          
285                            
286              // zones temp et strategysig              // zones temp et strategysig
287                
288    
289                // temp
290              include ("../dyn/var.inc");              include ("../dyn/var.inc");
             if(!isset($sauvegardeDossier)) $sauvegardeDossier='';  
             if($sauvegardeDossier != '') // strategie sig  
                 $form->setType('pos','hiddenstatic');  
             else  
                 $form->setType('pos','select');  
             // temp              
291              $form->setType('temp1',$temp1_type);              $form->setType('temp1',$temp1_type);
292              $form->setType('temp2',$temp2_type);              $form->setType('temp2',$temp2_type);
293              $form->setType('temp3',$temp3_type);              $form->setType('temp3',$temp3_type);
# Line 437  class dossier extends dossier_gen { Line 430  class dossier extends dossier_gen {
430                  $sql_travaux = $sql_travaux.                  $sql_travaux = $sql_travaux.
431                  " order by libelle";                                  " order by libelle";                
432              $res = $db->query($sql_travaux);              $res = $db->query($sql_travaux);
433              if (database::isError($res))              if (database::isError($res)) die($res->getMessage()).$sql_travaux;
434                  die($res->getMessage());              $this->addToLog(" la requete ".$sql_travaux." est executee", VERBOSE_MODE);
435              else{              $contenu[0][0]="";
436                  if ($debug == 1)              $contenu[1][0]=_('choisir')." "._('travaux');
437                      echo " la requete ".$sql_travaux." est executee<br>";              $k=1;
438                  $contenu[0][0]="";              while ($row=& $res->fetchRow()){
439                  $contenu[1][0]=_('choisir')." "._('travaux');                  $contenu[0][$k]=$row[0];
440                  $k=1;                  $contenu[1][$k]=$row[1];
441                  while ($row=& $res->fetchRow()){                  $k++;
                     $contenu[0][$k]=$row[0];  
                     $contenu[1][$k]=$row[1];  
                     $k++;  
                 }  
             $form->setSelect("travaux",$contenu);  
442              }              }
443                $form->setSelect("travaux",$contenu);
444    
445              // instructeur              //// instructeur
446              $contenu=array();              $contenu=array();
447              $res = $db->query($sql_instructeur);              $res = $db->query($sql_instructeur);
448              if (DB :: isError($res))              if (database::isError($res))  die($res->getMessage().$sql_instructeur);
449                   die($res->getMessage().$sql_instructeur);              $this->addToLog(" la requete ".$sql_instructeur." est executee", VERBOSE_MODE);
450              else{              $contenu[0][0]="";
451               if ($debug == 1)              $contenu[1][0]=_('choisir')." "._('instructeur');
452                 echo " la requete ".$sql_instructeur." est executee<br>";              $k=1;
453                 $contenu[0][0]="";              while ($row=& $res->fetchRow()){
                $contenu[1][0]=$this->lang('choisir')." ".$this->lang('instructeur');  
                $k=1;  
                while ($row=& $res->fetchRow()){  
454                  $contenu[0][$k]=$row[0];                  $contenu[0][$k]=$row[0];
455                  $contenu[1][$k]=$row[1];                  $contenu[1][$k]=$row[1];
456                  $k++;                  $k++;
                }  
             $form->setSelect("instructeur",$contenu);  
457              }              }
458                $form->setSelect("instructeur",$contenu);
459                
460              // demandeur et delegataire civilite              // demandeur et delegataire civilite
461              $contenu=array();              $contenu=array();
462              $res = $db->query($sql_civilite);              $res = $db->query($sql_civilite);
463                          if (database::isError($res))              if (database::isError($res))  die($res->getMessage().$sql_);
464                                  die($res->getMessage().$sql_travaux);              $this->addToLog(" la requete ".$sql_civilite." est executee", VERBOSE_MODE);
465              else{              $contenu[0][0]="";
466               if ($debug == 1)              $contenu[1][0]=_('choisir')." "._('civilite');
467                 echo " la requete ".$sql_civilite." est execute<br>";              $k=1;
468                 $contenu[0][0]="";              while ($row=& $res->fetchRow()){
                $contenu[1][0]=_('choisir')." "._('civilite');  
                $k=1;  
                while ($row=& $res->fetchRow()){  
469                  $contenu[0][$k]=$row[0];                  $contenu[0][$k]=$row[0];
470                  $contenu[1][$k]=$row[1];                  $contenu[1][$k]=$row[1];
471                  $k++;                  $k++;
472                 }              }
473              $form->setSelect("demandeur_civilite",$contenu);              $form->setSelect("demandeur_civilite",$contenu);
474              $form->setSelect("delegataire_civilite",$contenu);              $form->setSelect("delegataire_civilite",$contenu);
475              }              
476              // demandeur categorie              // demandeur categorie
477              $contenu=array();              $contenu=array();
478              $res = $db->query($sql_categorie_demandeur);              $res = $db->query($sql_categorie_demandeur);
479                          if (database::isError($res))              if (database::isError($res))  die($res->getMessage().$sql_categorie_demandeur);
480                                  die($res->getMessage().$sql_categorie_demandeur);              $this->addToLog(" la requete ".$sql_categorie_demandeur." est executee", VERBOSE_MODE);
481              else{              $contenu[0][0]="";
482               if ($debug == 1)              $contenu[1][0]=_('choisir')." "._('categorie');
483                 echo " la requete ".$sql_categorie_demandeur." est execute<br>";              $k=1;
484                 $contenu[0][0]="";              while ($row=& $res->fetchRow()){
                $contenu[1][0]=_('choisir')." "._('categorie');  
                $k=1;  
                while ($row=& $res->fetchRow()){  
485                  $contenu[0][$k]=$row[0];                  $contenu[0][$k]=$row[0];
486                  $contenu[1][$k]=$row[1];                  $contenu[1][$k]=$row[1];
487                  $k++;                  $k++;
                }  
             $form->setSelect("demandeur_categorie",$contenu);  
488              }              }
489                $form->setSelect("demandeur_categorie",$contenu);
490                
491              // pos              // pos
492              $contenu=array();              $contenu=array();
493              $res = $db->query($sql_pos);              $res = $db->query($sql_pos);
494                          if (database::isError($res))              if (database::isError($res))  die($res->getMessage().$sql_pos);
495                                  die($res->getMessage().$sql_pos);              $this->addToLog(" la requete ".$sql_pos." est executee", VERBOSE_MODE);
496              else{              $contenu[0][0]="";
497               if ($debug == 1)              $contenu[1][0]=_('choisir')." "._('pos');
498                 echo " la requete ".$sql_architecte." est execute<br>";              $k=1;
499                 $contenu[0][0]="";              while ($row=& $res->fetchRow()){
                $contenu[1][0]=$this->lang('choisir')." ".$this->lang('pos');  
                $k=1;  
                while ($row=& $res->fetchRow()){  
500                  $contenu[0][$k]=$row[0];                  $contenu[0][$k]=$row[0];
501                  $contenu[1][$k]=$row[1];                  $contenu[1][$k]=$row[1];
502                  $k++;                  $k++;
                }  
             $form->setSelect("pos",$contenu);  
503              }              }
504              // lien sig              $form->setSelect("pos",$contenu);
505              include ("../dyn/var.inc");  
             $contenu=array();  
             $contenu[0]="<img src='".$image_sig."'>";  
             $form->setSelect("siglien",$contenu);  
506              // code et libelle voie              // code et libelle voie
507              $contenu="";              $contenu="";
508              $contenu[0][0]="rivoli";// table              $contenu[0][0]="rivoli";// table
# Line 538  class dossier extends dossier_gen { Line 510  class dossier extends dossier_gen {
510              $contenu[1][0]="libelle";              $contenu[1][0]="libelle";
511              $contenu[1][1]="terrain_adresse";              $contenu[1][1]="terrain_adresse";
512              $form->setSelect("rivoli",$contenu);              $form->setSelect("rivoli",$contenu);
513                //terrain_adresse
514              $contenu="";              $contenu="";
515              $contenu[0][0]="rivoli";// table              $contenu[0][0]="rivoli";// table
516              $contenu[0][1]="libelle"; // zone origine              $contenu[0][1]="libelle"; // zone origine
# Line 557  class dossier extends dossier_gen { Line 530  class dossier extends dossier_gen {
530              $contenu[1][0]="architecte";              $contenu[1][0]="architecte";
531              $contenu[1][1]="architecte";              $contenu[1][1]="architecte";
532              $form->setSelect("architecte_nom",$contenu);              $form->setSelect("architecte_nom",$contenu);
533                // parcelle_lot
534                $contenu="";
535                $contenu[0][0]="parcelle_lot";// table
536                $contenu[0][1]="parcelle_lot"; // zone origine
537                $contenu[1][0]="lotissement";
538                $contenu[1][1]="parcelle_lot_lotissement";
539                $form->setSelect("parcelle_lot",$contenu);
540                $contenu="";
541                $contenu[0][0]="parcelle_lot";// table
542                $contenu[0][1]="lotissement"; // zone origine
543                $contenu[1][0]="parcelle_lot";
544                $contenu[1][1]="parcelle_lot";
545                $form->setSelect("parcelle_lot_lotissement",$contenu);
546              // accord tacite              // accord tacite
547              $contenu=array();              $contenu=array();
548              $contenu[0]=array('Non','Oui');              $contenu[0]=array('Non','Oui');
# Line 568  class dossier extends dossier_gen { Line 554  class dossier extends dossier_gen {
554              $contenu[0]=array('','bis','ter','quater');              $contenu[0]=array('','bis','ter','quater');
555              $contenu[1]=array('','bis','ter','quater');              $contenu[1]=array('','bis','ter','quater');
556              $form->setSelect("terrain_numero_complement",$contenu);              $form->setSelect("terrain_numero_complement",$contenu);
             // lien demandeur  
             $contenu=array();  
             $contenu[0]=" <img src='../img/modifier.gif' border ='0'> ";  
             $form->setSelect("saisie_demandeur",$contenu);  
             // lien demandeur  
             $contenu=array();  
             $contenu[0]=" <img src='../img/modifier.gif' border ='0'> ";  
             $form->setSelect("saisie_delegataire",$contenu);  
             // lien architecte  
             $contenu=array();  
             $contenu[0]=" <img src='../img/ajouter.gif' border ='0'> ";  
             $form->setSelect("saisie_architecte",$contenu);  
557          }          }
558      }      }
559    
# Line 660  class dossier extends dossier_gen { Line 634  class dossier extends dossier_gen {
634          $form->setGroupe('date_chantier','D');          $form->setGroupe('date_chantier','D');
635          $form->setGroupe('date_achevement','G');          $form->setGroupe('date_achevement','G');
636          $form->setGroupe('date_conformite','F');          $form->setGroupe('date_conformite','F');
637            
638          // localisation          // localisation
639          $form->setGroupe('parcelle','D');          $form->setGroupe('parcelle','D');
640          $form->setGroupe('pos','F');          $form->setGroupe('pos','G');
641          //$form->setGroupe('sig','G');          $form->setGroupe('sig','F');
         //$form->setGroupe('siglien','F');  
642            
643          // description          // description
644          $form->setGroupe('batiment_nombre','D');          $form->setGroupe('batiment_nombre','D');
# Line 676  class dossier extends dossier_gen { Line 650  class dossier extends dossier_gen {
650          $form->setGroupe('shon_calcul','G');          $form->setGroupe('shon_calcul','G');
651          $form->setGroupe('shob','G');          $form->setGroupe('shob','G');
652          $form->setGroupe('lot','F');          $form->setGroupe('lot','F');
653            
654            $form->setGroupe('amenagement','D');
655            $form->setGroupe('parcelle_lot','G');
656            $form->setGroupe('parcelle_lot_lotissement','F');
657      }      }
658    
659    
# Line 743  class dossier extends dossier_gen { Line 721  class dossier extends dossier_gen {
721          // travaux          // travaux
722          $form->setLib('objet_dossier','');          $form->setLib('objet_dossier','');
723          $form->setLib('travaux','');          $form->setLib('travaux','');
         $form->setLib('saisie_architecte',""); // ***  
724          $form->setLib('architecte_nom',"");          $form->setLib('architecte_nom',"");
725          $form->setLib('architecte','');          $form->setLib('architecte','');
726                    
# Line 755  class dossier extends dossier_gen { Line 732  class dossier extends dossier_gen {
732          $form->setLib('shon',' '._('shon').' : ');          $form->setLib('shon',' '._('shon').' : ');
733          $form->setLib('shon_calcul',' '._('calcul shon').' : ');          $form->setLib('shon_calcul',' '._('calcul shon').' : ');
734          $form->setLib('shob',' '._('shob').' : ');          $form->setLib('shob',' '._('shob').' : ');
735            
736            
737            // amenagement
738          $form->setLib('amenagement',' '._('amenagement').' : ');          $form->setLib('amenagement',' '._('amenagement').' : ');
739            $form->setLib('parcelle_lot','');
740            $form->setLib('parcelle_lot_lotissement',' '._('lotissement').' : ');
741            $form->setLib('parcelle_lot_numero',' '._('no').' : ');
742                    
743          // zones temp          // zones temp
744          include ("../dyn/var.inc");          include ("../dyn/var.inc");
# Line 774  class dossier extends dossier_gen { Line 757  class dossier extends dossier_gen {
757          $form->setOnchange("delegataire_nom","this.value=this.value.toUpperCase()");          $form->setOnchange("delegataire_nom","this.value=this.value.toUpperCase()");
758          $form->setOnchange("delegataire_societe","this.value=this.value.toUpperCase()");          $form->setOnchange("delegataire_societe","this.value=this.value.toUpperCase()");
759          $form->setOnchange("architecte_nom","this.value=this.value.toUpperCase()");          $form->setOnchange("architecte_nom","this.value=this.value.toUpperCase()");
760            $form->setOnchange("terrain_adresse","this.value=this.value.toUpperCase()");
761    
762      }      }
763    
764      function setRegroupe(&$form,$maj){      function setRegroupe(&$form,$maj){
765          // depot          // depot
766          If ($maj==0){          If ($maj==0){
767              $form->setRegroupe('date_demande','D',_(Depot),$this->aff_depot );              $form->setRegroupe('date_demande','D',_("Depot"),$this->aff_depot );
768          }          }
769          If ($maj==1){          If ($maj==1){
770              $form->setRegroupe('dossier','D',_(Depot), $this->aff_depot);              $form->setRegroupe('dossier','D',_("Depot"), $this->aff_depot);
771              $form->setRegroupe('date_demande','G','');              $form->setRegroupe('date_demande','G','');
772          }          }
773          $form->setRegroupe('date_depot','G','');          $form->setRegroupe('date_depot','G','');
# Line 792  class dossier extends dossier_gen { Line 776  class dossier extends dossier_gen {
776          // travaux          // travaux
777          $form->setRegroupe('architecte','D',_('Architecte')." / "._("Travaux"), $this->aff_travaux);          $form->setRegroupe('architecte','D',_('Architecte')." / "._("Travaux"), $this->aff_travaux);
778          $form->setRegroupe('architecte_nom','G','');          $form->setRegroupe('architecte_nom','G','');
         $form->setRegroupe('saisie_architecte','G','');  
779          $form->setRegroupe('travaux','F','');          $form->setRegroupe('travaux','F','');
780                    
781          // instruction          // instruction
# Line 849  class dossier extends dossier_gen { Line 832  class dossier extends dossier_gen {
832                    
833          // localisation          // localisation
834          $form->setRegroupe('parcelle','D',_('localisation'), $this->aff_localisation);          $form->setRegroupe('parcelle','D',_('localisation'), $this->aff_localisation);
835          $form->setRegroupe('pos','F','');          $form->setRegroupe('pos','G','');
836          //$form->setRegroupe('sig','G','');          $form->setRegroupe('sig','F','');
837          //$form->setRegroupe('siglien','F','');  
838                    
839          // description          // description
840          $form->setRegroupe('batiment_nombre','D',_('description'), $this->aff_description);          $form->setRegroupe('batiment_nombre','D',_('description'), $this->aff_description);
# Line 862  class dossier extends dossier_gen { Line 845  class dossier extends dossier_gen {
845          $form->setRegroupe('shon_calcul','G','');          $form->setRegroupe('shon_calcul','G','');
846          $form->setRegroupe('shob','G','');          $form->setRegroupe('shob','G','');
847          $form->setRegroupe('lot','F','');          $form->setRegroupe('lot','F','');
848            
849            // amenagement
850            $form->setRegroupe('amenagement','D',_('Amenagement'), $this->aff_amenagement);
851            $form->setRegroupe('parcelle_lot','G','');
852            $form->setRegroupe('parcelle_lot_lotissement','F','');
853            
854            
855          // temp          // temp
856      }      }
857    
# Line 873  class dossier extends dossier_gen { Line 863  class dossier extends dossier_gen {
863      * ===============================================================      * ===============================================================
864      */      */
865    
   
866      function triggerajouterapres($id,&$db,$val,$DEBUG) {      function triggerajouterapres($id,&$db,$val,$DEBUG) {
867          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;  
868          $id=$this->valF['dossier']; // id n est pas valorise en ajout          $id=$this->valF['dossier']; // id n est pas valorise en ajout
869          if($sig==1 ){          if($this->sig==1 ){
870              if($val['parcelle']!='')              if($val['parcelle']!=''or $val['parcelle_lot']!='')
871                  $this->sig_interne($id,&$db,$val,$DEBUG,$auto_pos);                  $this->sig_interne($id,&$db,$val,$DEBUG);
872              else              else
873                  $this->msg = $this->msg."<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>";                      $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");    
874          }          }
875      }      }
876    
877      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
878          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;  
879          // si la parcelle est changée          // si la parcelle est changée
880          if($sig==1 and $val['parcelle']!=$val['parcelle_archive']){          if(($this->sig==1 and $val['parcelle']!=$val['parcelle_archive'])
881              if($val['parcelle']!='')             or $val['parcelle_lot']!=''){ // parcelle_lot_archive
882                  $this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG,$auto_pos);              if($val['parcelle']!='' or $val['parcelle_lot']!='')
883          }                  $this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG);
884                else
885                    $this->addToMessage("<br>"._("Parcelle ou parcelle_lot non renseignee dans dossier")." ".$id." <br>");    
886           }
887      }      }
888    
889      function sig_interne($id,&$db,$val,$DEBUG,$auto_pos){      function sig_parametre(&$db){
890            if (file_exists ("../dyn/var.inc"))
891                include ("../dyn/var.inc");
892            if(!isset($sig))
893                $this->sig=0;
894            else
895                $this->sig=1;
896            if(!isset($auto_pos))
897                $this->auto_pos=0;
898            else
899                $this->auto_pos=$auto_pos;
900            if(!isset($auto_servitude_surfacique))
901                $this->auto_servitude_surfacique=0;
902            else
903                $this->auto_servitude_surfacique=$auto_servitude_surfacique;
904            if(!isset($auto_servitude_ligne))
905                $this->auto_servitude_ligne=0;
906            else
907                $this->auto_servitude_ligne=$auto_servitude_ligne;
908            if(!isset($auto_servitude_point))
909                $this->auto_servitude_point=0;
910            else
911                $this->auto_servitude_point=$auto_servitude_point;
912            if(!isset($auto_parcelle))
913                $this->auto_parcelle=0;
914            else
915                $this->auto_parcelle=$auto_parcelle;
916            if(!isset($auto_parcelle_lot))
917                $this->auto_parcelle_lot=0;
918            else
919                $this->auto_parcelle_lot=$auto_parcelle_lot;
920            $this->addToLog("trigger valeur sig :".$this->sig, VERBOSE_MODE);
921            $this->addToLog("trigger valeur auto_pos :". $this->auto_pos, VERBOSE_MODE);
922            $this->addToLog("trigger valeur auto_servitude_surfacique :".$this->auto_servitude_surfacique, VERBOSE_MODE);
923            $this->addToLog("trigger valeur auto_servitude_ligne :". $this->auto_servitude_ligne, VERBOSE_MODE);
924            $this->addToLog("trigger valeur auto_servitude_point :".$this->auto_servitude_point, VERBOSE_MODE);
925            $this->addToLog("trigger valeur auto_parcelle :". $this->auto_parcelle, VERBOSE_MODE);
926            $this->addToLog("trigger valeur auto_parcelle_lot :".$this->auto_parcelle_lot, VERBOSE_MODE);
927        }
928    
929    
930        function sig_interne($id,&$db,$val,$DEBUG){
931          // Strategy interne dans var.inc          // Strategy interne dans var.inc
932          // 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
933          // de maniere automatique          // de maniere automatique
934          $projection = $db -> getOne("select srid from geometry_columns where f_table_name='dossier'");          $projection = $db -> getOne("select srid from geometry_columns where f_table_name='dossier'");
935          $sql= "select astext(centroid(geom)) from parcelle where parcelle ='".$val["parcelle"]."'";          if($this->auto_parcelle==1)
936                $sql= "select astext(centroid(geom)) from parcelle where parcelle ='".$val["parcelle"]."'";
937            $this->addToLog("recherche centroid parcelle :".$sql, VERBOSE_MODE);
938          $geom = $db -> getOne($sql);          $geom = $db -> getOne($sql);
939          if($geom!=''){ // la parcelle est exitante dans la table / vue parcelle          if (database :: isError($geom))die($res->getMessage()."erreur ".$sql);
940            if($geom!='' and $this_auto_parcelle_lot==1){ // parcelle
941                $sql= "select astext(centroid(geom)) from parcelle where parcelle ='".$val["parcelle_lot"]."'";
942                $this->addToLog("recherche centroid parcelle lot :".$sql, VERBOSE_MODE);
943                $geom = $db -> getOne($sql);
944                if (database :: isError($geom))die($res->getMessage()."erreur ".$sql);
945            }
946            if($geom!=''){ // la parcelle est exitante dans la table ou vue parcelle
947              $sql ="update dossier set geom =geometryfromtext('".$geom."', ".$projection." ) where dossier ='".$id."'";              $sql ="update dossier set geom =geometryfromtext('".$geom."', ".$projection." ) where dossier ='".$id."'";
948                $this->addToLog("sig_interne maj geom  :".$sql, VERBOSE_MODE);    
949              $res = $db -> query($sql);              $res = $db -> query($sql);
950              if (database :: isError($res)){              if (database :: isError($res)){
951                  die($res->getMessage()."erreur ".$sql);                  die($res->getMessage()."erreur ".$sql);
952              }else{              }else{
953                  $this->msg = $this->msg."<br>"._("centroid de parcelle calculé")." ".$val["parcelle"].                  $this->addToMessage(""._("centroid de parcelle calculé")." ".$val["parcelle"]." ");
                     " "._("dossier")." ".$id."<br>";  
954              }              }
955              if($auto_pos==1) // recherche du pos              if($this->auto_pos==1) // recherche du pos
956                  $this->auto_pos($id,$db,$geom,$projection);                  $this->calcul_auto_pos($id,$db,$geom,$projection);
957                if($this->auto_servitude_surfacique==1) // recherche de servitude surfacique
958                    $this->calcul_auto_servitude_surfacique($id,$db,$geom,$projection);
959                if($this->auto_servitude_ligne==1) // recherche de servitude ligne
960                    $this->calcul_auto_servitude_ligne($id,$db,$geom,$projection);
961                if($this->auto_servitude_point==1) // recherche de servitude point
962                    $this->calcul_auto_servitude_point($id,$db,$geom,$projection);
963                $temp=strtr($this->servitude,"'"," "); // enleve le '
964                $sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'";
965                $res1 = $db -> query($sql1);
966                $this->addToLog("maj servitudes :".$sql1, VERBOSE_MODE);
967                if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1);
968          }else{ // parcelle inexistante          }else{ // parcelle inexistante
969              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
970                  $sql ="update dossier set geom = null where dossier ='".$id."'";                  $sql ="update dossier set geom = null where dossier ='".$id."'";
971                  $res = $db -> query($sql);                  $res = $db -> query($sql);
972                    $this->addToLog("requete sig_interne maj parcelle inexistante :".$sql, VERBOSE_MODE);
973                  if (database :: isError($res))                  if (database :: isError($res))
974                      die($res->getMessage()."erreur ".$sql);                      die($res->getMessage()."erreur ".$sql);
975              }              }
976              $this->msg = $this->msg."<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id."<br>";              $this->addToMessage("<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id."");
977          }          }
978      }      }
979    
980      function auto_pos($id,&$db,$geom,$projection){      function calcul_auto_pos($id,&$db,$geom,$projection){
981          // recherche du pos automatique dans le geom de la table / vue pos          // recherche du pos automatique
982          $sql="select pos from pos  WHERE ST_contains(geom,  geometryfromtext('".$geom."', ".$projection."))";          $sql="select pos from pos  WHERE ST_contains(geom,  geometryfromtext('".$geom."', ".$projection."))";
983          $pos = $db -> getOne($sql);          $pos = $db -> getOne($sql);
984            $this->addToLog("recherche auto_pos :".$sql, VERBOSE_MODE);
985          if($pos!=''){          if($pos!=''){
986              $sql1 ="update dossier set pos = '".$pos."' where dossier = '".$id."'";              $sql1 ="update dossier set pos = '".$pos."' where dossier = '".$id."'";
987              $res1 = $db -> query($sql1);              $res1 = $db -> query($sql1);
988              if (database:: isError($res1)){ // ok              $this->addToLog("maj auto_pos :".$sql1, VERBOSE_MODE);
989                  die($res1->getMessage()."erreur ".$sql1);              if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1);
990              }else{              $this->addToMessage("<br>"._("POS/PLU")." : ".$pos."");
                     $this->msg = $this->msg."<br>"._("POS/PLU renseignee automatiquement dans dossier")." ".$id." -> ".$pos."<br>";  
             }  
991          }else{          }else{
992              $this->msg = $this->msg."<br>"._("POS/PLU non trouvé pour dossier")." ".$id."<br>";              $this->addToMessage("<br>"._("POS/PLU non trouvé")." ".$id."");
993          }          }
994      }      }
995    
996        function calcul_auto_servitude_surfacique($id,&$db,$geom,$projection){
997            // recherche servitude surfacique
998            $sql="select * from servitude_surfacique WHERE ST_contains(geom,  geometryfromtext('".$geom."', ".$projection."))";
999            $res=$db->query($sql);
1000            if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1001            $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
1002            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1003                $this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']);
1004                $this->servitude.="  [".$row['libelle']."] ".$row['observation']." - ";
1005           }
1006        }
1007    
1008        function calcul_auto_servitude_ligne($id,&$db,$geom,$projection){
1009            // recherche servitude ligne
1010            $distance=100;
1011            $sql="select * from servitude_ligne WHERE ST_contains(ST_buffer(geom, ".$distance."),  geometryfromtext('".$geom."', ".$projection."))";
1012            $res=$db->query($sql);
1013            if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1014            $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
1015            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1016                $this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']);
1017                $this->servitude.="  [".$row['libelle']."] ".$row['observation']." - ";
1018           }
1019        }
1020    
1021        function calcul_auto_servitude_point($id,&$db,$geom,$projection){
1022            // recherche servitude point
1023            $distance=500; // monuments historiques
1024            $sql="select libelle,observation, distance(geom, geometryfromtext('".$geom."', ".$projection.")) as distance from servitude_point WHERE distance(geom,  geometryfromtext('".$geom."', ".$projection."))<".$distance."";
1025            $res=$db->query($sql);
1026            if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1027            $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
1028            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1029                $this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - *** ".$row['observation'])." a ".round($row['distance'],2)." m ";
1030                $this->servitude.="  [".$row['libelle']."] ".$row['observation']." a ".round($row['distance'],2)." m - ";
1031           }
1032        }
1033    
1034    
1035  }// fin classe  }// fin classe
1036  ?>  ?>

Legend:
Removed from v.48  
changed lines
  Added in v.142

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26