/[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 727 by fmichon, Fri Nov 16 16:28:15 2012 UTC revision 770 by vpihour, Tue Nov 20 14:14:54 2012 UTC
# Line 735  class dossier extends dossier_gen { Line 735  class dossier extends dossier_gen {
735      /*      /*
736       * Calcul l'identifiant du quartier et d'un arrondissement d'une parcelle       * Calcul l'identifiant du quartier et d'un arrondissement d'une parcelle
737       * */       * */
738       function getQuartierArrondissement($parcelle, &$quartier, &$arrondissement, &$db) {       function getQuartierArrondissement($parcelle) {
739                            
740           $parcelle = trim($parcelle);           $parcelle = trim($parcelle);
741           $quartier = '';           $quartier = '';
742                    
743           /*Code impots*/           /*Récupère le code impot du quartier dans la parcelle*/
744           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ )           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ ){
745              if (is_numeric($parcelle[$i]) )                  
746                if (is_numeric($parcelle[$i]) ){
747                        
748                  $quartier .= $parcelle[$i];                  $quartier .= $parcelle[$i];
749              else              }
750                else{
751                        
752                  break;                  break;
753                }
754             }
755                    
756          if ( $quartier !== '' ){          if ( $quartier !== '' ){
757                            
# Line 757  class dossier extends dossier_gen { Line 763  class dossier extends dossier_gen {
763                      WHERE                      WHERE
764                          code_impots='$quartier'";                          code_impots='$quartier'";
765                            
766              $res = $db->query($sql);              $this->addToLog("getQuartierArrondissement(parcelle) : db->query(\"$sql\")", VERBOSE_MODE);
767                $res = $this->db->query($sql);
768              if (database :: isError($res))              if (database :: isError($res))
769                  die($res->getMessage()."erreur ".$sql);                  die($res->getMessage()."erreur ".$sql);
770                            
771              if ( $res->numRows() > 0 ){              if ( $res->numRows() > 0 ){
772                                            
773                  while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){                  return $res->fetchRow(DB_FETCHMODE_ASSOC);
                   
                     $quartier = $row['quartier'];  
                     $arrondissement = $row['arrondissement'];  
                 }  
774              }              }
775          }          }
776            
777            return NULL;
778       }       }
779            
780       /*       /*
# Line 790  class dossier extends dossier_gen { Line 795  class dossier extends dossier_gen {
795      /*      /*
796       * Retourne l'intructeur correspondant le mieux à la parcelle       * Retourne l'intructeur correspondant le mieux à la parcelle
797       * */       * */
798       function getInstructeur( $quartier, $arrondissement, $section, $nature, &$db, &$division) {       function getInstructeurDivision( $quartier, $arrondissement, $section, $nature) {
799                    
800            $quartier = ( $quartier == NULL ) ? -1 : $quartier;
801            $arrondissement = ( $arrondissement == NULL ) ? -1 : $arrondissement;
802                    
803          $sql = "          $sql = "
804             SELECT             SELECT
# Line 817  class dossier extends dossier_gen { Line 825  class dossier extends dossier_gen {
825             ORDER BY section, quartier, arrondissement, nature             ORDER BY section, quartier, arrondissement, nature
826             LIMIT 1             LIMIT 1
827          ";          ";
828                    
829          $res = $db->query($sql);          $this->addToLog("getInstructeurDivision( quartier, arrondissement, section, nature) : db->query(\"$sql\")", VERBOSE_MODE);
830            $res = $this->db->query($sql);
831          if (database :: isError($res))          if (database :: isError($res))
832              die($res->getMessage()."erreur ".$sql);              die($res->getMessage()."erreur ".$sql);
833                    
834          if ( $res->numRows() > 0 ){          if ( $res->numRows() > 0 ){
835              $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);              
836                $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
837                            
838              $sql = "SELECT division FROM instructeur WHERE instructeur = ".$row['instructeur'];              $sql = "SELECT division FROM instructeur WHERE instructeur = ".$row['instructeur'];
839              $res = $db->query($sql);              $res = $this->db->query($sql);
840              if (database :: isError($res))              if (database :: isError($res))
841                  die($res->getMessage()."erreur ".$sql);                  die($res->getMessage()."erreur ".$sql);
842                                    
843              if ( $res->numRows() > 0 ){              if ( $res->numRows() > 0 ){
844                    
845                  $rowT=& $res->fetchRow(DB_FETCHMODE_ASSOC);                  $rowT=& $res->fetchRow(DB_FETCHMODE_ASSOC);
846                  $division = $rowT['division'];                  $row['division'] = $rowT['division'];
847              }              }
848                            
849              return $row['instructeur'];              return $row;
850          }          }
851                    
852          return NULL;          return NULL;
# Line 852  class dossier extends dossier_gen { Line 863  class dossier extends dossier_gen {
863          $this->addToLog("triggerajouter() : start", EXTRA_VERBOSE_MODE);          $this->addToLog("triggerajouter() : start", EXTRA_VERBOSE_MODE);
864                    
865          // Initialisation des variables nécessaires à l'affectation automatique          // Initialisation des variables nécessaires à l'affectation automatique
866          $quartier = 'NULL';          $quartier = NULL;
867          $arrondissement = 'NULL';          $arrondissement = NULL;
868          $section = 'NULL' ;          $section = NULL;
869                    
870          // Si la parcelle n'est pas vide alors on récupère la section, le          // Si la parcelle n'est pas vide alors on récupère la section, le
871          // quartier et l'arrondissement          // quartier et l'arrondissement
872          if ($val['parcelle'] != '') {          if ($val['parcelle'] != '') {
873              // Cette méthode modifie les variables $quartier et $arrondissement              // Cette méthode récupère l'arrondissement et le quartier associé à une parcelle
874              $this->getQuartierArrondissement($val['parcelle'], $quartier, $arrondissement, $db);              $quartierArrondissement = $this->getQuartierArrondissement($val['parcelle']);
875              // Si il n'y a pas d'arrondissement alors on on vide le quartier              if ( $quartierArrondissement!= NULL ){
876              if ( strcmp($arrondissement,'NULL') == 0 )  {                  
877                  $quartier = 'NULL';                  $quartier = $quartierArrondissement['quartier'];
878                    $arrondissement = $quartierArrondissement['arrondissement'];
879                }
880                // Si il n'y a pas d'arrondissement alors on vide le quartier
881                if ( strcmp($arrondissement,'') == 0 )  {
882                    
883                    $arrondissement = NULL;
884                    $quartier = NULL;
885              }              }
886              // On récupère la section              // On récupère la section
887              $section = $this->getSection($val['parcelle']);              $section = $this->getSection($val['parcelle']);
# Line 872  class dossier extends dossier_gen { Line 890  class dossier extends dossier_gen {
890          // Si aucun instructeur n'est saisi et que la nature n'est pas vide          // Si aucun instructeur n'est saisi et que la nature n'est pas vide
891          // alors on récupère l'instructeur et la division depuis l'affectation          // alors on récupère l'instructeur et la division depuis l'affectation
892          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['nature'] != '' ) {          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['nature'] != '' ) {
893                
894              //              //
895              $division = '';              $instructeurDivision = $this->getInstructeurDivision($quartier, $arrondissement, $section, $val['nature']);
896              //              if ( $instructeurDivision != NULL ){
897              $instructeur = $this->getInstructeur($quartier, $arrondissement, $section, $val['nature'], $db, $division);                  
898                    $instructeur = $instructeurDivision['instructeur'];
899                    $division = $instructeurDivision['division'];
900                }
901                            
902              if ( $instructeur != NULL ){              if ( $instructeur != NULL ){
903                    
904                  $this->valF['instructeur'] = $instructeur;                  $this->valF['instructeur'] = $instructeur;
905                  $this->valF['division'] = $division;                  $this->valF['division'] = $division;
906              } else {              } else {

Legend:
Removed from v.727  
changed lines
  Added in v.770

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26