/[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 128 by fraynaud, Tue Sep 20 20:43:16 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    
# Line 11  class dossier extends dossier_gen { Line 10  class dossier extends dossier_gen {
10      var $servitude="";      var $servitude="";
11      var $auto_pos;      var $auto_pos;
12      var $auto_servitude_surfacique;      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){
# Line 34  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          // enlever les valeurs a ne pas saisir -> recherche en trigger ajouter et modifier
41          // $sig = 1          // $sig = 1
42          unset ($this->valF['geom']);              unset ($this->valF['geom']);    
# Line 223  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                $form->setType('parcelle_lot_lotissement','hidden'); // PC
231              $form->setType('geom', 'hidden');              $form->setType('geom', 'hidden');
232              $form->setType('servitude', 'hiddenstatic');              $form->setType('servitude', 'hiddenstatic');
233                                                              
             // a voir a quoi cela peut servir  
             $form->setType('sig','hidden'); // PC  
               
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 240  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 273  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 534  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 545  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 637  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 653  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 731  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 769  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 826  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 839  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 854  class dossier extends dossier_gen { Line 867  class dossier extends dossier_gen {
867          $this->sig_parametre($db);          $this->sig_parametre($db);
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($this->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);                  $this->sig_interne($id,&$db,$val,$DEBUG);
872              else              else
873                  $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");                      $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");    
# Line 864  class dossier extends dossier_gen { Line 877  class dossier extends dossier_gen {
877      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
878          $this->sig_parametre($db);          $this->sig_parametre($db);
879          // si la parcelle est changée          // si la parcelle est changée
880          if($this->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                if($val['parcelle']!='' or $val['parcelle_lot']!='')
883                  $this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG);                  $this->sig_interne($this->valF['dossier'],&$db,$val,$DEBUG);
884              else              else
885                  $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");                      $this->addToMessage("<br>"._("Parcelle ou parcelle_lot non renseignee dans dossier")." ".$id." <br>");    
886         }         }
887      }      }
888    
# Line 895  class dossier extends dossier_gen { Line 909  class dossier extends dossier_gen {
909              $this->auto_servitude_point=0;              $this->auto_servitude_point=0;
910          else          else
911              $this->auto_servitude_point=$auto_servitude_point;              $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);          $this->addToLog("trigger valeur sig :".$this->sig, VERBOSE_MODE);
921          $this->addToLog("trigger valeur auto_pos :". $this->auto_pos, VERBOSE_MODE);          $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);          $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);          $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);          $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    
# Line 908  class dossier extends dossier_gen { Line 932  class dossier extends dossier_gen {
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);          $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);                  $this->addToLog("sig_interne maj geom  :".$sql, VERBOSE_MODE);    
949              $res = $db -> query($sql);              $res = $db -> query($sql);
# Line 924  class dossier extends dossier_gen { Line 956  class dossier extends dossier_gen {
956                  $this->calcul_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              if($this->auto_servitude_surfacique==1) // recherche de servitude surfacique
958                  $this->calcul_auto_servitude_surfacique($id,$db,$geom,$projection);                  $this->calcul_auto_servitude_surfacique($id,$db,$geom,$projection);
959              if($this->auto_servitude_ligne==1) // recherche de servitude surfacique              if($this->auto_servitude_ligne==1) // recherche de servitude ligne
960                  $this->calcul_auto_servitude_ligne($id,$db,$geom,$projection);                  $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 '              $temp=strtr($this->servitude,"'"," "); // enleve le '
964              $sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'";              $sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'";
965              $res1 = $db -> query($sql1);              $res1 = $db -> query($sql1);
966              $this->addToLog("maj auto_servitude_surfacique :".$sql1, VERBOSE_MODE);              $this->addToLog("maj servitudes :".$sql1, VERBOSE_MODE);
967              if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1);              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
# Line 944  class dossier extends dossier_gen { Line 978  class dossier extends dossier_gen {
978      }      }
979    
980      function calcul_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);          $this->addToLog("recherche auto_pos :".$sql, VERBOSE_MODE);
# Line 960  class dossier extends dossier_gen { Line 994  class dossier extends dossier_gen {
994      }      }
995    
996      function calcul_auto_servitude_surfacique($id,&$db,$geom,$projection){      function calcul_auto_servitude_surfacique($id,&$db,$geom,$projection){
997          // recherche du pos automatique dans le geom de la table / vue pos          // recherche servitude surfacique
998          $sql="select * from servitude_surfacique WHERE ST_contains(geom,  geometryfromtext('".$geom."', ".$projection."))";          $sql="select * from servitude_surfacique WHERE ST_contains(geom,  geometryfromtext('".$geom."', ".$projection."))";
999          $res=$db->query($sql);          $res=$db->query($sql);
1000          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
# Line 972  class dossier extends dossier_gen { Line 1006  class dossier extends dossier_gen {
1006      }      }
1007    
1008      function calcul_auto_servitude_ligne($id,&$db,$geom,$projection){      function calcul_auto_servitude_ligne($id,&$db,$geom,$projection){
1009          // recherche du pos automatique dans le geom de la table / vue pos          // recherche servitude ligne
1010          $sql="select * from servitude_ligne WHERE ST_contains(ST_buffer(geom, 100),  geometryfromtext('".$geom."', ".$projection."))";          $distance=100;
1011            $sql="select * from servitude_ligne WHERE ST_contains(ST_buffer(geom, ".$distance."),  geometryfromtext('".$geom."', ".$projection."))";
1012          $res=$db->query($sql);          $res=$db->query($sql);
1013          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1014          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
# Line 983  class dossier extends dossier_gen { Line 1018  class dossier extends dossier_gen {
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.128  
changed lines
  Added in v.142

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26