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); |
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; |
|
|
if(!isset($auto_servitude_surfacique)) $auto_servitude_surfacique=0; |
|
|
$this->addToLog("trigger valeur sig :".$sig, VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_pos :".$auto_pos, VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_servitude_surfacique :".$auto_servitude_surfacique, 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,$auto_servitude_surfacique); |
$this->sig_interne($id,&$db,$val,$DEBUG); |
859 |
else |
else |
860 |
$this->addToMessage("<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; |
|
|
if(!isset($auto_servitude_surfacique)) $auto_servitude_surfacique=0; |
|
|
$this->addToLog("trigger valeur sig :".$sig, VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_pos :".$auto_pos, VERBOSE_MODE); |
|
|
$this->addToLog("trigger valeur auto_servitude_surfacique :".$auto_servitude_surfacique, 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,$auto_servitude_surfacique); |
$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,$auto_servitude_surfacique){ |
|
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 |
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->addToMessage("<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($auto_servitude_surfacique==1) // recherche de servitude surfacique |
if($this->auto_servitude_surfacique==1) // recherche de servitude surfacique |
926 |
$this->auto_servitude_surfacique($id,$db,$geom,$projection); |
$this->calcul_auto_servitude_surfacique($id,$db,$geom,$projection); |
927 |
|
if($this->auto_servitude_ligne==1) // recherche de servitude surfacique |
928 |
|
$this->calcul_auto_servitude_ligne($id,$db,$geom,$projection); |
929 |
|
$temp=strtr($this->servitude,"'"," "); // enleve le ' |
930 |
|
$sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'"; |
931 |
|
$res1 = $db -> query($sql1); |
932 |
|
$this->addToLog("maj auto_servitude_surfacique :".$sql1, VERBOSE_MODE); |
933 |
|
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
934 |
}else{ // parcelle inexistante |
}else{ // parcelle inexistante |
935 |
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 |
936 |
$sql ="update dossier set geom = null where dossier ='".$id."'"; |
$sql ="update dossier set geom = null where dossier ='".$id."'"; |
939 |
if (database :: isError($res)) |
if (database :: isError($res)) |
940 |
die($res->getMessage()."erreur ".$sql); |
die($res->getMessage()."erreur ".$sql); |
941 |
} |
} |
942 |
$this->addToMessage("<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id."<br>"); |
$this->addToMessage("<br> parcelle ".$val["parcelle"]." "._("inexistante")." ".$id.""); |
943 |
} |
} |
944 |
} |
} |
945 |
|
|
946 |
function auto_pos($id,&$db,$geom,$projection){ |
function calcul_auto_pos($id,&$db,$geom,$projection){ |
947 |
// recherche du pos automatique dans le geom de la table / vue pos |
// recherche du pos automatique dans le geom de la table / vue pos |
948 |
$sql="select pos from pos WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
$sql="select pos from pos WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
949 |
$pos = $db -> getOne($sql); |
$pos = $db -> getOne($sql); |
953 |
$res1 = $db -> query($sql1); |
$res1 = $db -> query($sql1); |
954 |
$this->addToLog("maj auto_pos :".$sql1, VERBOSE_MODE); |
$this->addToLog("maj auto_pos :".$sql1, VERBOSE_MODE); |
955 |
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
956 |
$this->addToMessage("<br>"._("POS/PLU renseignee automatiquement")." ".$id." -> ".$pos."<br>"); |
$this->addToMessage("<br>"._("POS/PLU")." : ".$pos.""); |
957 |
}else{ |
}else{ |
958 |
$this->addToMessage("<br>"._("POS/PLU non trouvé")." ".$id."<br>"); |
$this->addToMessage("<br>"._("POS/PLU non trouvé")." ".$id.""); |
959 |
} |
} |
960 |
} |
} |
961 |
|
|
962 |
function auto_servitude_surfacique($id,&$db,$geom,$projection){ |
function calcul_auto_servitude_surfacique($id,&$db,$geom,$projection){ |
963 |
// recherche du pos automatique dans le geom de la table / vue pos |
// recherche du pos automatique dans le geom de la table / vue pos |
964 |
$sql="select * from servitude_surfacique WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
$sql="select * from servitude_surfacique WHERE ST_contains(geom, geometryfromtext('".$geom."', ".$projection."))"; |
965 |
$res=$db->query($sql); |
$res=$db->query($sql); |
|
$temp=""; |
|
966 |
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
967 |
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
968 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
969 |
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']); |
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']); |
970 |
$temp.=" [ ".$row['libelle']." - ".$row['observation']." ] "; |
$this->servitude.=" [".$row['libelle']."] ".$row['observation']." - "; |
971 |
$sql1 ="update dossier set servitude = '".$temp."' where dossier = '".$id."'"; |
} |
|
$res1 = $db -> query($sql1); |
|
|
$this->addToLog("maj auto_servitude_surfacique :".$sql1, VERBOSE_MODE); |
|
|
if (database:: isError($res1)) die($res1->getMessage()."erreur ".$sql1); |
|
|
$this->addToMessage(""._("renseignee automatiquement")."<br>"); |
|
|
} |
|
972 |
} |
} |
973 |
|
|
974 |
|
function calcul_auto_servitude_ligne($id,&$db,$geom,$projection){ |
975 |
|
// recherche du pos automatique dans le geom de la table / vue pos |
976 |
|
$sql="select * from servitude_ligne WHERE ST_contains(ST_buffer(geom, 100), geometryfromtext('".$geom."', ".$projection."))"; |
977 |
|
$res=$db->query($sql); |
978 |
|
if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql); |
979 |
|
$this->addToLog("requete :".$sql." executee ", VERBOSE_MODE); |
980 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
981 |
|
$this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']); |
982 |
|
$this->servitude.=" [".$row['libelle']."] ".$row['observation']." - "; |
983 |
|
} |
984 |
|
} |
985 |
|
|
986 |
}// fin classe |
}// fin classe |
987 |
?> |
?> |