/[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 592 by vpihour, Mon Nov 5 11:20:14 2012 UTC revision 851 by mlimic, Wed Nov 28 12:54:56 2012 UTC
# Line 3  Line 3 
3  //gen openMairie le 10/02/2011 20:39  //gen openMairie le 10/02/2011 20:39
4    
5  require_once ("../gen/obj/dossier.class.php");  require_once ("../gen/obj/dossier.class.php");
6    require_once("../services/outgoing/messageenqueuer.php");
7    
8  class dossier extends dossier_gen {  class dossier extends dossier_gen {
9    
# Line 277  class dossier extends dossier_gen { Line 278  class dossier extends dossier_gen {
278              $form->setType('temp4',$temp4_type);              $form->setType('temp4',$temp4_type);
279              $form->setType('temp5',$temp5_type);              $form->setType('temp5',$temp5_type);
280          }          }
281            if ($maj == 1) {
282                //
283                if ($this->f->isAccredited("dossier_modifier_instructeur")) {
284                    $form->setType('instructeur', 'select');
285                } else {
286                    $form->setType('instructeur', 'selecthiddenstatic');
287                }
288                //
289                if($this->f->getParameter('afficher_division') === 'true') {
290                    //
291                    if ($this->f->isAccredited("dossier_modifier_division")) {
292                        $form->setType('division', 'select');
293                    } else {
294                        $form->setType('division', 'selecthiddenstatic');
295                    }
296                } else {
297                    $form->setType('division', 'hidden');
298                }
299            }
300          if($maj == 3) {          if($maj == 3) {
301              $form->setType('annee', 'hidden');              $form->setType('annee', 'hidden');
302              $form->setType('nature', 'selectstatic');              $form->setType('nature', 'selectstatic');
# Line 290  class dossier extends dossier_gen { Line 310  class dossier extends dossier_gen {
310              $form->setType('geom1','hidden');              $form->setType('geom1','hidden');
311              $form->setType('geom','hidden');              $form->setType('geom','hidden');
312          }          }
313          if($this->f->getParameter('afficher_division')==='true') {          $form->setType('a_qualifier', 'hidden');
314              $form->setType('division','hiddenstatic');          //
315          } else {          if(!$this->f->getParameter('afficher_division') === 'true') {
316              $form->setType('division','hidden');              $form->setType('division', 'hidden');
317          }          }
           
         /* Gestion des droits pour l'ajout forcé d'un instructeur, si le profil est 5, c'est un administrateur */  
         if ( !$this->f->isAccredited() )  
             $form->setType('instructeur', 'hidden');  
318      }      }
319    
320      function setVal(&$form,$maj,$validation){      function setVal(&$form,$maj,$validation){
# Line 446  class dossier extends dossier_gen { Line 462  class dossier extends dossier_gen {
462      }          }    
463    
464      function setGroupe(&$form,$maj){      function setGroupe(&$form,$maj){
465          If ($maj==0){          //If ($maj==0){
466              $form->setGroupe('date_demande','D');          //    $form->setGroupe('date_demande','D');
467              $form->setGroupe('date_depot','G');          //    $form->setGroupe('date_depot','G');
468              $form->setGroupe('division','F');          //    $form->setGroupe('division','F');
469          }else{          //}else{
470              $form->setGroupe('dossier','D');          //    $form->setGroupe('dossier','D');
471              $form->setGroupe('nature','G');          //    $form->setGroupe('nature','G');
472              $form->setGroupe('annee','G');          //    $form->setGroupe('annee','G');
473              $form->setGroupe('date_demande','G');          //    $form->setGroupe('date_demande','G');
474              $form->setGroupe('date_depot','G');          //    $form->setGroupe('date_depot','G');
475              $form->setGroupe('division','F');          //    $form->setGroupe('division','F');
476          }          //}
477          $form->setGroupe('demandeur_categorie','D');          $form->setGroupe('demandeur_categorie','D');
478          $form->setGroupe('demandeur_civilite','G');          $form->setGroupe('demandeur_civilite','G');
479          $form->setGroupe('demandeur_nom','F');          $form->setGroupe('demandeur_nom','F');
# Line 488  class dossier extends dossier_gen { Line 504  class dossier extends dossier_gen {
504          $form->setGroupe('delegataire_telephone','F');          $form->setGroupe('delegataire_telephone','F');
505                                
506          $form->setGroupe('architecte','D');          $form->setGroupe('architecte','D');
507          $form->setGroupe('architecte_nom','G');          $form->setGroupe('architecte_nom','F');
508          $form->setGroupe('saisie_architecte','F');          //$form->setGroupe('saisie_architecte','F');
509                    
510          $form->setGroupe('travaux','D');            $form->setGroupe('travaux','D');  
511          $form->setGroupe('travaux_complement','F');          $form->setGroupe('travaux_complement','F');
# Line 573  class dossier extends dossier_gen { Line 589  class dossier extends dossier_gen {
589          $form->setOnchange('terrain_surface','VerifNumdec(this)');          $form->setOnchange('terrain_surface','VerifNumdec(this)');
590      }      }
591    
592      function setRegroupe(&$form,$maj){      function setLayout(&$form, $maj) {
593          // depot          //
594          If ($maj==0){          $form->setBloc('dossier', 'D', '', ($maj == 3 ? 'col_9':'col_12'));
595              $form->setRegroupe('date_demande','D',_("Depot"),$this->aff_depot );          $form->setBloc('dossier', 'D', '', 'col_9');
596          }          $form->setFieldset('dossier', 'D', _("Dossier d'instruction"));
597          If ($maj==1){          $form->setFieldset('autorite_competente', 'F');
598              $form->setRegroupe('dossier','D',_("Depot"), $this->aff_depot);          $form->setBloc('autorite_competente', 'F');
599              $form->setRegroupe('date_demande','G','');          $form->setBloc('date_demande', 'D', '', 'col_3');
600          }          $form->setFieldset('date_demande', 'D', _("Depot"));
601          $form->setRegroupe('date_depot','G','');          $form->setFieldset('date_depot', 'F');
602          $form->setRegroupe('division','F','');          $form->setFieldset('enjeu_urba', 'D', _("Enjeu"));
603            $form->setFieldset('enjeu_erp', 'F');
604            $form->setBloc('enjeu_erp', 'F');
605            $form->setBloc('enjeu_erp', 'F');
606            //
607            $form->setBloc('objet_dossier', 'D', '', 'col_12');
608            //
609            $form->setFieldset('date_complet', 'D', _('Instruction'), 'col_12');
610            $form->setRegroupe('date_conformite','F','');
611            //
612            $form->setBloc('geom1', 'F');
613                    
614        }
615        
616        function setRegroupe(&$form,$maj) {
617            //// depot
618            //If ($maj==0){
619            //    $form->setRegroupe('date_demande','D',_("Depot"),$this->aff_depot );
620            //}
621            //If ($maj==1){
622            //    $form->setRegroupe('dossier','D',_("Depot"), $this->aff_depot);
623            //    $form->setRegroupe('date_demande','G','');
624            //}
625            //$form->setRegroupe('date_depot','G','');
626            //$form->setRegroupe('division','F','');
627    
628          // travaux          // travaux
629          $form->setRegroupe('architecte','D',_('Architecte')." / "._("Travaux"), $this->aff_travaux);          $form->setRegroupe('architecte','D',_('Architecte')." / "._("Travaux"), $this->aff_travaux);
630          $form->setRegroupe('architecte_nom','G','');          $form->setRegroupe('architecte_nom','G','');
631          $form->setRegroupe('travaux','G','');          $form->setRegroupe('travaux','G','');
632          $form->setRegroupe('travaux_complement','F','');          $form->setRegroupe('travaux_complement','F','');
633                    
634          // instruction          //// instruction
635          $form->setRegroupe('date_complet','D',_('Instruction'), $this->aff_instruction);          //$form->setRegroupe('date_complet','D',_('Instruction'), $this->aff_instruction);
636          $form->setRegroupe('date_rejet','G','');          //$form->setRegroupe('date_rejet','G','');
637          $form->setRegroupe('date_notification_delai','G','');          //$form->setRegroupe('date_notification_delai','G','');
638          $form->setRegroupe('delai','G','');          //$form->setRegroupe('delai','G','');
639          $form->setRegroupe('date_limite','G','Decision ');          //$form->setRegroupe('date_limite','G','Decision ');
640          $form->setRegroupe('accord_tacite','G','');          //$form->setRegroupe('accord_tacite','G','');
641          $form->setRegroupe('etat','G','');          //$form->setRegroupe('etat','G','');
642          $form->setRegroupe('date_decision','G','');          //$form->setRegroupe('date_decision','G','');
643          $form->setRegroupe('avis_decision','G','');          //$form->setRegroupe('avis_decision','G','');
644          $form->setRegroupe('date_validite','G','');          //$form->setRegroupe('date_validite','G','');
645          $form->setRegroupe('types','G','');          //$form->setRegroupe('types','G','');
646          $form->setRegroupe('date_chantier','G','');          //$form->setRegroupe('date_chantier','G','');
647          $form->setRegroupe('date_achevement','G','');          //$form->setRegroupe('date_achevement','G','');
648          $form->setRegroupe('date_conformite','F','');          //$form->setRegroupe('date_conformite','F','');
649                    
650          // demandeur          // demandeur
651          $form->setRegroupe('demandeur_categorie','D',_('Demandeur'), $this->aff_demandeur);          $form->setRegroupe('demandeur_categorie','D',_('Demandeur'), $this->aff_demandeur);
# Line 676  class dossier extends dossier_gen { Line 716  class dossier extends dossier_gen {
716      /* =============================================================      /* =============================================================
717      * fonction trigger relative a la connexion SIG      * fonction trigger relative a la connexion SIG
718      * $sig = 1 dans dyn/var.inc      * $sig = 1 dans dyn/var.inc
719        * utilisé aussi pour envoyer une message au service REST d'ERP
720      * ===============================================================      * ===============================================================
721      */      */
722    
# Line 691  class dossier extends dossier_gen { Line 732  class dossier extends dossier_gen {
732                  $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");                  $this->addToMessage("<br>"._("Parcelle non renseignee dans dossier")." ".$id." <br>");
733                            
734          }          }
735            
736      }      }
737            
738      /*      /*
739       * Calcul l'identifiant du quartier et d'un arrondissement d'une parcelle       * Calcul l'identifiant du quartier et d'un arrondissement d'une parcelle
740       * */       * */
741       function getQuartierArrondissement($parcelle, &$quartier, &$arrondissement, &$db) {       function getQuartierArrondissement($parcelle) {
742                            
743           $parcelle = trim($parcelle);           $parcelle = trim($parcelle);
744             $quartier = '';
745                    
746           /*Code impots*/           /*Récupère le code impot du quartier dans la parcelle*/
747           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ )           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ ){
748              if (is_numeric($parcelle[$i]) )                  
749                if (is_numeric($parcelle[$i]) ){
750                        
751                  $quartier .= $parcelle[$i];                  $quartier .= $parcelle[$i];
752              else              }
753                else{
754                        
755                  break;                  break;
756                }
757             }
758                    
759          if ( $quartier !== '' ){          if ( $quartier !== '' ){
760                            
# Line 717  class dossier extends dossier_gen { Line 766  class dossier extends dossier_gen {
766                      WHERE                      WHERE
767                          code_impots='$quartier'";                          code_impots='$quartier'";
768                            
769              $res = $db->query($sql);              $this->addToLog("getQuartierArrondissement(parcelle) : db->query(\"$sql\")", VERBOSE_MODE);
770                $res = $this->db->query($sql);
771              if (database :: isError($res))              if (database :: isError($res))
772                  die($res->getMessage()."erreur ".$sql);                  die($res->getMessage()."erreur ".$sql);
773                            
774              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){              if ( $res->numRows() > 0 ){
775                                        
776                  $quartier = $row['quartier'];                  return $res->fetchRow(DB_FETCHMODE_ASSOC);
                 $arrondissement = $row['arrondissement'];  
777              }              }
778          }          }
779            
780            return NULL;
781       }       }
782            
783       /*       /*
# Line 747  class dossier extends dossier_gen { Line 798  class dossier extends dossier_gen {
798      /*      /*
799       * Retourne l'intructeur correspondant le mieux à la parcelle       * Retourne l'intructeur correspondant le mieux à la parcelle
800       * */       * */
801       function getInstructeur( $quartier, $arrondissement, $section, $nature, &$db) {       function getInstructeurDivision( $quartier, $arrondissement, $section, $nature) {
802                    
803            $quartier = ( $quartier == NULL ) ? -1 : $quartier;
804            $arrondissement = ( $arrondissement == NULL ) ? -1 : $arrondissement;
805                    
806          $sql = "          $sql = "
807             SELECT             SELECT
# Line 774  class dossier extends dossier_gen { Line 828  class dossier extends dossier_gen {
828             ORDER BY section, quartier, arrondissement, nature             ORDER BY section, quartier, arrondissement, nature
829             LIMIT 1             LIMIT 1
830          ";          ";
831                    
832          $res = $db->query($sql);          $this->addToLog("getInstructeurDivision( quartier, arrondissement, section, nature) : db->query(\"$sql\")", VERBOSE_MODE);
833            $res = $this->db->query($sql);
834          if (database :: isError($res))          if (database :: isError($res))
835              die($res->getMessage()."erreur ".$sql);              die($res->getMessage()."erreur ".$sql);
836                    
837          if ( $res->numRows() > 0 ){          if ( $res->numRows() > 0 ){
838              $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);              
839              return $row['instructeur'];              $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
840                
841                $sql = "SELECT division FROM instructeur WHERE instructeur = ".$row['instructeur'];
842                $res = $this->db->query($sql);
843                if (database :: isError($res))
844                    die($res->getMessage()."erreur ".$sql);
845                    
846                if ( $res->numRows() > 0 ){
847                    
848                    $rowT=& $res->fetchRow(DB_FETCHMODE_ASSOC);
849                    $row['division'] = $rowT['division'];
850                }
851                
852                return $row;
853          }          }
854                    
855          return NULL;          return NULL;
# Line 794  class dossier extends dossier_gen { Line 862  class dossier extends dossier_gen {
862      */      */
863    
864      function triggerajouter($id,&$db,$val,$DEBUG) {      function triggerajouter($id,&$db,$val,$DEBUG) {
865          if($val['parcelle']!=''){          //
866                                $this->addToLog("triggerajouter() : start", EXTRA_VERBOSE_MODE);
867              /*Localisation*/          
868              $quartier = NULL;          // Initialisation des variables nécessaires à l'affectation automatique
869              $arrondissement = NULL;          $quartier = NULL;
870                        $arrondissement = NULL;
871              $this->getQuartierArrondissement($val['parcelle'], $quartier, $arrondissement, $db);          $section = NULL;
872              $section = $this->getSection($val['parcelle']);          
873              /*Instructeur*/          // Si la parcelle n'est pas vide alors on récupère la section, le
874              if ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' && $val['nature'] != '' ){          // quartier et l'arrondissement
875                                if ($val['parcelle'] != '') {
876                  $instructeur = $this->getInstructeur($quartier, $arrondissement, $section, $val['nature'], $db);              // Cette méthode récupère l'arrondissement et le quartier associé à une parcelle
877                $quartierArrondissement = $this->getQuartierArrondissement($val['parcelle']);
878                if ( $quartierArrondissement!= NULL ){
879                                    
880                  if ( $instructeur != NULL )                  $quartier = $quartierArrondissement['quartier'];
881                      $this->valF['instructeur'] = $instructeur;                  $arrondissement = $quartierArrondissement['arrondissement'];
882                  else {              }
883                      if ( is_numeric($_SESSION['profil']) && $_SESSION['profil'] == 5 )              // Si il n'y a pas d'arrondissement alors on vide le quartier
884                          $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");              if ( strcmp($arrondissement,'') == 0 )  {
885                      else                  
886                          $this->addToMessage("<br/> "._("Aucun instructeur compatible avec ce dossier trouve, contactez votre administrateur afin d'en assigner un a ce dossier.")." <br/>");                  $arrondissement = NULL;
887                  }                  $quartier = NULL;
888              }              }
889                // On récupère la section
890                $section = $this->getSection($val['parcelle']);
891          }          }
892                    
893          else {          // Si aucun instructeur n'est saisi et que la nature n'est pas vide
894              if ( is_numeric($_SESSION['profil']) && $_SESSION['profil'] == 5 )          // alors on récupère l'instructeur et la division depuis l'affectation
895                  $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['nature'] != '' ) {
896              else              
897                  $this->addToMessage("<br/> "._("Parcelle non saisie, contactez votre administrateur afin d'assigner un instructeur a ce dossier.")." <br/>");              //
898                $instructeurDivision = $this->getInstructeurDivision($quartier, $arrondissement, $section, $val['nature']);
899                if ( $instructeurDivision != NULL ){
900                    
901                    $instructeur = $instructeurDivision['instructeur'];
902                    $division = $instructeurDivision['division'];
903                }
904                
905                if ( $instructeur != NULL ){
906                    
907                    $this->valF['instructeur'] = $instructeur;
908                    $this->valF['division'] = $division;
909                } else {
910                    if ($this->f->isAccredited("dossier_modifier_instructeur")) {
911                        $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");
912                    } else {
913                        $this->addToMessage("<br/> "._("Aucun instructeur compatible avec ce dossier trouve, contactez votre administrateur afin d'en assigner un a ce dossier.")." <br/>");
914                    }
915                }
916            } else {
917                $this->addToMessage("<br/> "._("Aucun instructeur compatible avec ce dossier trouve, contactez votre administrateur afin d'en assigner un a ce dossier.")." <br/>");
918          }          }
919            //
920            $this->addToLog("triggerajouter() : end", EXTRA_VERBOSE_MODE);
921      }      }
922    
923      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
# Line 843  class dossier extends dossier_gen { Line 937  class dossier extends dossier_gen {
937              }              }
938                  $this->addToMessage("<br>"._("Parcelle ou parcelle_lot non renseignee dans dossier")." ".$id." <br>");                      $this->addToMessage("<br>"._("Parcelle ou parcelle_lot non renseignee dans dossier")." ".$id." <br>");    
939              }              }
940         }          }
941      }      }
942    
943      function sig_parametre(&$db){      function sig_parametre(&$db){
# Line 934  class dossier extends dossier_gen { Line 1028  class dossier extends dossier_gen {
1028                  if (database :: isError($res))                  if (database :: isError($res))
1029                      die($res->getMessage()."erreur ".$sql);                      die($res->getMessage()."erreur ".$sql);
1030              }              }
1031              $this->addToMessage("<br> parcelle ".$parcelle." "._("inexistante")." ".$id."");              //$this->addToMessage("<br> parcelle ".$parcelle." "._("inexistante")." ".$id."");
1032          }          }
1033      }      }
1034    

Legend:
Removed from v.592  
changed lines
  Added in v.851

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26