/[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 681 by fmichon, Wed Nov 14 07:09:49 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("dossier_modifier_instructeur") )  
             $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 574  class dossier extends dossier_gen { Line 590  class dossier extends dossier_gen {
590      }      }
591    
592      function setLayout(&$form, $maj) {      function setLayout(&$form, $maj) {
593            //
594            $form->setBloc('dossier', 'D', '', ($maj == 3 ? 'col_9':'col_12'));
595            $form->setBloc('dossier', 'D', '', 'col_9');
596          $form->setFieldset('dossier', 'D', _("Dossier d'instruction"));          $form->setFieldset('dossier', 'D', _("Dossier d'instruction"));
597          $form->setFieldset('division', 'F');          $form->setFieldset('autorite_competente', 'F');
598            $form->setBloc('autorite_competente', 'F');
599            $form->setBloc('date_demande', 'D', '', 'col_3');
600            $form->setFieldset('date_demande', 'D', _("Depot"));
601            $form->setFieldset('date_depot', 'F');
602            $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) {      function setRegroupe(&$form,$maj) {
# Line 596  class dossier extends dossier_gen { Line 631  class dossier extends dossier_gen {
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 681  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 696  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 = '';           $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 723  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              if ( $res->numRows() > 0 ){              if ( $res->numRows() > 0 ){
775                                            
776                  while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){                  return $res->fetchRow(DB_FETCHMODE_ASSOC);
                   
                     $quartier = $row['quartier'];  
                     $arrondissement = $row['arrondissement'];  
                 }  
777              }              }
778          }          }
779            
780            return NULL;
781       }       }
782            
783       /*       /*
# Line 756  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 783  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 803  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            //
866            $this->addToLog("triggerajouter() : start", EXTRA_VERBOSE_MODE);
867                    
868            // Initialisation des variables nécessaires à l'affectation automatique
869            $quartier = NULL;
870            $arrondissement = NULL;
871            $section = NULL;
872            
873            // Si la parcelle n'est pas vide alors on récupère la section, le
874            // quartier et l'arrondissement
875            if ($val['parcelle'] != '') {
876                // 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          /*Localisation*/                  $quartier = $quartierArrondissement['quartier'];
881          $quartier = 'NULL';                  $arrondissement = $quartierArrondissement['arrondissement'];
882          $arrondissement = 'NULL';              }
883          $section = 'NULL' ;              // Si il n'y a pas d'arrondissement alors on vide le quartier
884                        if ( strcmp($arrondissement,'') == 0 )  {
885          if($val['parcelle']!=''){                  
886                                $arrondissement = NULL;
887              $this->getQuartierArrondissement($val['parcelle'], $quartier, $arrondissement, $db);                  $quartier = NULL;
888                            }
889              if ( strcmp($arrondissement,'NULL') == 0 )              // On récupère la section
                 $quartier = 'NULL';  
               
890              $section = $this->getSection($val['parcelle']);              $section = $this->getSection($val['parcelle']);
               
               
891          }          }
892                    
893          /*Instructeur*/          // Si aucun instructeur n'est saisi et que la nature n'est pas vide
894          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['nature'] != '' ){          // alors on récupère l'instructeur et la division depuis l'affectation
895                          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['nature'] != '' ) {
896              $instructeur = $this->getInstructeur($quartier, $arrondissement, $section, $val['nature'], $db);              
897                //
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 )              if ( $instructeur != NULL ){
906                    
907                  $this->valF['instructeur'] = $instructeur;                  $this->valF['instructeur'] = $instructeur;
908              else {                  $this->valF['division'] = $division;
909                  if ( is_numeric($_SESSION['profil']) && $_SESSION['profil'] == 5 )              } else {
910                    if ($this->f->isAccredited("dossier_modifier_instructeur")) {
911                      $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");                      $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");
912                  else                  } else {
913                      $this->addToMessage("<br/> "._("Aucun instructeur compatible avec ce dossier trouve, contactez votre administrateur afin d'en assigner un a ce dossier.")." <br/>");                      $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          else          $this->addToLog("triggerajouter() : end", EXTRA_VERBOSE_MODE);
                     $this->addToMessage("<br/> "._("Aucun instructeur compatible avec ce dossier trouve, contactez votre administrateur afin d'en assigner un a ce dossier.")." <br/>");  
921      }      }
922    
923      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
# Line 858  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){

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26