/[openfoncier]/trunk/obj/lot.class.php
ViewVC logotype

Diff of /trunk/obj/lot.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 8989 by softime, Thu Oct 31 15:09:51 2019 UTC revision 18876 by softime, Tue Oct 8 08:41:06 2024 UTC
# Line 37  class lot extends lot_gen { Line 37  class lot extends lot_gen {
37              "identifier" => "donnees_techniques",              "identifier" => "donnees_techniques",
38              "portlet" => array(              "portlet" => array(
39                  "type" => "action-self",                  "type" => "action-self",
40                  "libelle" => _("Données techniques"),                  "libelle" => __("Données techniques"),
41                  "order" => 100,                  "order" => 100,
42                  "class" => "rediger-16",                  "class" => "rediger-16",
43              ),              ),
# Line 52  class lot extends lot_gen { Line 52  class lot extends lot_gen {
52              "identifier" => "transferer_lot_nouveaux_demandeurs",              "identifier" => "transferer_lot_nouveaux_demandeurs",
53              "portlet" => array(              "portlet" => array(
54                  "type" => "action-direct",                  "type" => "action-direct",
55                  "libelle" => _("Transferer ce lot aux nouveaux demandeurs"),                  "libelle" => __("Transferer ce lot aux nouveaux demandeurs"),
56                  "order" => 110,                  "order" => 110,
57                  "class" => "transferer-16",                  "class" => "transferer-16",
58              ),              ),
# Line 84  class lot extends lot_gen { Line 84  class lot extends lot_gen {
84          /*Donnees*/          /*Donnees*/
85          $idxDossier = $this->getVal("dossier");          $idxDossier = $this->getVal("dossier");
86          //Si les liaisons n'existent pas déjà          //Si les liaisons n'existent pas déjà
87          $sql = "SELECT          $qres = $this->f->get_all_results_from_db_query(
88                      lot.lot as lot, lien_lot_demandeur.demandeur as demandeur              sprintf(
89                    'SELECT
90                        lot.lot,
91                        lien_lot_demandeur.demandeur
92                  FROM                  FROM
93                      ".DB_PREFIXE."lien_dossier_demandeur                      %1$slien_dossier_demandeur
94                  INNER JOIN ".DB_PREFIXE."lien_lot_demandeur                      INNER JOIN %1$slien_lot_demandeur
95                      ON                          ON lien_lot_demandeur.demandeur = lien_dossier_demandeur.demandeur
96                          lien_lot_demandeur.demandeur = lien_dossier_demandeur.demandeur                      INNER JOIN %1$slot
97                  INNER JOIN ".DB_PREFIXE."lot                          ON lot.lot = %2$d
98                      ON                  WHERE
99                          lot.lot = ".$this->getVal($this->clePrimaire)."                      lien_dossier_demandeur.dossier = \'%3$s\'',
100                  WHERE lien_dossier_demandeur.dossier = '$idxDossier'";                  DB_PREFIXE,
101                    intval($this->getVal($this->clePrimaire)),
102          $res = $this->f->db->query($sql);                  $this->f->db->escapeSimple($idxDossier)
103          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);              ),
104                        array(
105          // Si une erreur survient                  'origin' => __METHOD__,
106          if (database::isError($res, true)) {                  'force_result' => true
107                )
108            );
109            if ($qres['code'] !== 'OK') {
110              // Appel de la methode de recuperation des erreurs              // Appel de la methode de recuperation des erreurs
111              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');              $this->erreur_db($qres['messsage'], $qres['messsage'], '');
             $res->free();  
112              $this->correct = false;              $this->correct = false;
113              // Termine le traitement              // Termine le traitement
114              return $this->end_treatment(__METHOD__, false);              return $this->end_treatment(__METHOD__, false);
# Line 112  class lot extends lot_gen { Line 116  class lot extends lot_gen {
116                    
117          // Récupère la liste des demandeurs associés aux lot et dossier d'instruction          // Récupère la liste des demandeurs associés aux lot et dossier d'instruction
118          $listDemandeurLie = array();          $listDemandeurLie = array();
119          if ($res->numrows() > 0) {          if ($qres['row_count'] > 0) {
120                
121              $i = 0;                      $i = 0;
122              while($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){              foreach ($qres['result'] as $row) {
123                                    $listDemandeurLie[$i++] = $row['demandeur'];
                  $listDemandeurLie[$i++] = $row['demandeur'];  
124              }              }
125          }          }
126          echo (" nbDossierDemandeurIJ: " . $res->numrows());          echo (" nbDossierDemandeurIJ: " . $qres['row_count']);
127                    
         $res->free();  
128          // Récupère les demandeurs du dossier d'instruction          // Récupère les demandeurs du dossier d'instruction
129          $sql = "SELECT          $qres = $this->f->get_all_results_from_db_query(
130                sprintf(
131                    'SELECT
132                      lien_dossier_demandeur.demandeur as demandeur,                      lien_dossier_demandeur.demandeur as demandeur,
133                      lien_dossier_demandeur.petitionnaire_principal as pp                      lien_dossier_demandeur.petitionnaire_principal as pp
134                  FROM                  FROM
135                      ".DB_PREFIXE."lien_dossier_demandeur                      %1$slien_dossier_demandeur
136                  WHERE lien_dossier_demandeur.dossier = '$idxDossier'";                  WHERE
137                        lien_dossier_demandeur.dossier = \'%2$s\'',
138          $res = $this->f->db->query($sql);                  DB_PREFIXE,
139          $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                  $this->f->db->escapeSimple($idxDossier)
140                        ),
141          // Si une erreur survient              array(
142          if (database::isError($res, true)) {                  'origin' => __METHOD__,
143                    'force_result' => true
144                )
145            );
146            if ($qres['code'] !== 'OK') {
147              // Appel de la methode de recuperation des erreurs              // Appel de la methode de recuperation des erreurs
148              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');              $this->erreur_db($qres['message'], $qres['message'], '');
             $res->free();  
149              $this->correct = false;              $this->correct = false;
150              // Termine le traitement              // Termine le traitement
151              return $this->end_treatment(__METHOD__, false);              return $this->end_treatment(__METHOD__, false);
152          }          }
153                    
154          echo (" nbDossierDemandeurWD: " . $res->numrows());          echo (" nbDossierDemandeurWD: " . $qres['row_count']);
155                    
156          // Transfert des demandeurs entre le dossier et le lot          // Transfert des demandeurs entre le dossier et le lot
157          if (count($listDemandeurLie) != $res->numrows()){          if (count($listDemandeurLie) != $qres['row_count']) {
158                            
159              //Supprime les anciens liens              //Supprime les anciens liens
160              $sql = "DELETE FROM ".DB_PREFIXE."lien_lot_demandeur              $sql = "DELETE FROM ".DB_PREFIXE."lien_lot_demandeur
# Line 158  class lot extends lot_gen { Line 164  class lot extends lot_gen {
164    
165              echo (" delLotDemandeur: " . $res2);              echo (" delLotDemandeur: " . $res2);
166              $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);              $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);
167                            if ($this->f->isDatabaseError($res2, true) !== false) {
           
             // Si une erreur survient  
             if (database::isError($res2, true)) {  
   
168                  // Appel de la methode de recuperation des erreurs                  // Appel de la methode de recuperation des erreurs
169                  $this->erreur_db($res2->getDebugInfo(), $res2->getMessage(), '');                  $this->erreur_db($res2->getDebugInfo(), $res2->getMessage(), '');
170                  $res2->free();                  $res2->free();
# Line 175  class lot extends lot_gen { Line 177  class lot extends lot_gen {
177    
178    
179              // Créé autant de liaisons que de demandeurs liés au dossier d'instruction              // Créé autant de liaisons que de demandeurs liés au dossier d'instruction
180              while($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){              foreach ($qres['result'] as $row) {
181                                    
182                  if (!in_array($row['demandeur'], $listDemandeurLie)){                  if (!in_array($row['demandeur'], $listDemandeurLie)){
183                                                
# Line 189  class lot extends lot_gen { Line 191  class lot extends lot_gen {
191                          "obj" => "lien_lot_demandeur",                          "obj" => "lien_lot_demandeur",
192                          "idx" => "]",                          "idx" => "]",
193                      ));                      ));
194                      $lld->valF = "";                      $lld->valF = array();
195                                                                                            
196                      $lld->ajouter($valLLD) ;                      $lld->ajouter($valLLD) ;
197                                            
198                      $sql = "SELECT                      $qres2 = $this->f->get_all_results_from_db_query(
199                            sprintf(
200                                'SELECT
201                                  civilite.code as code,                                  civilite.code as code,
202                                  CASE WHEN demandeur.qualite='particulier'                                  CASE WHEN demandeur.qualite = \'particulier\'
203                                      THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom))                                      THEN TRIM(CONCAT(demandeur.particulier_nom, \' \', demandeur.particulier_prenom))
204                                      ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination))                                      ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, \' \', demandeur.personne_morale_denomination))
205                                  END as nom                                  END as nom
206                              FROM                              FROM
207                                  ".DB_PREFIXE."demandeur                                  %1$sdemandeur
208                              LEFT JOIN                                  LEFT JOIN %1$scivilite
209                                  ".DB_PREFIXE."civilite                                      ON demandeur.particulier_civilite = civilite.civilite
210                                  ON                                          OR demandeur.personne_morale_civilite = civilite.civilite
211                                      demandeur.particulier_civilite = civilite.civilite OR                              WHERE
212                                      demandeur.personne_morale_civilite = civilite.civilite                                  demandeur.demandeur = %2$d',
213                              WHERE demandeur.demandeur = ".$row['demandeur'];                              DB_PREFIXE,
214                                    intval($row['demandeur'])
215                      $res2 = $this->f->db->query($sql);                          ),
216                      $this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);                          array(
217                                'origin' => __METHOD__,
218                      // Si une erreur survient                              'force_result' => true
219                      if (database::isError($res2, true)) {                          )
220                        );
221                        if ($qres2['result'] !== 'OK') {
222                          // Appel de la methode de recuperation des erreurs                          // Appel de la methode de recuperation des erreurs
223                          $this->erreur_db($res2->getDebugInfo(), $res2->getMessage(), '');                          $this->erreur_db($qres2['message'], $qres2['message'], '');
                         $res2->free();  
224                          $this->correct = false;                          $this->correct = false;
225                          // Termine le traitement                          // Termine le traitement
226                          return $this->end_treatment(__METHOD__, false);                          return $this->end_treatment(__METHOD__, false);
227                      }                      }
228    
229                      $row=& $res2->fetchRow(DB_FETCHMODE_ASSOC);                      $row = array_shift($qres2['result']);
230                      $ret .= $row['code']. " " . $row['nom'] . "<br/>" ;                      $ret .= $row['code']. " " . $row['nom'] . "<br/>" ;
231    
                     $res2->free();  
232                  }                  }
233              }              }
             $res->free();  
234                            
235              //Envoie du message de retour              //Envoie du message de retour
236              $this->addToMessage(_("Transfert effectue avec succès"));              $this->addToMessage(__("Transfert effectue avec succès"));
237          }          }
238          //Sinon          //Sinon
239          else {          else {
240              //Envoie du message de retour              //Envoie du message de retour
241              $this->addToMessage(_("Les demandeurs ont déjà été transférés"));              $this->addToMessage(__("Les demandeurs ont déjà été transférés"));
242          }          }
243    
244          // Termine le traitement          // Termine le traitement
# Line 255  class lot extends lot_gen { Line 257  class lot extends lot_gen {
257              && isset($obj) && !empty($obj)){              && isset($obj) && !empty($obj)){
258    
259              // Vérifie que l'objet n'existe pas              // Vérifie que l'objet n'existe pas
260              $sql = "SELECT donnees_techniques              $qres = $this->f->get_all_results_from_db_query(
261              FROM ".DB_PREFIXE."donnees_techniques                  sprintf(
262              WHERE donnees_techniques.lot = ".$idx;                      'SELECT
263              // Ajout au log                          donnees_techniques
264              $this->f->addToLog($obj.".php: db->query(\"".$sql."\");", VERBOSE_MODE);                      FROM
265              // Exécution de la requête                          %1$sdonnees_techniques
266              $res = $this->f->db->query($sql);                      WHERE
267              $this->f->isDatabaseError($res);                          donnees_techniques.lot = %2$d',
268                        DB_PREFIXE,
269                        intval($idx)
270                    ),
271                    array(
272                        'origin' => __METHOD__
273                    )
274                );
275    
276              // S'il n'y en a pas, afficher le formulaire d'ajout              // S'il n'y en a pas, afficher le formulaire d'ajout
277              if ($res->numrows() == 0) {              if ($qres['row_count'] == 0) {
278                  //                  //
279                  echo '                  echo '
280                      <script type="text/javascript" >                      <script type="text/javascript" >
# Line 277  class lot extends lot_gen { Line 286  class lot extends lot_gen {
286              // Sinon afficher l'objet en consultation              // Sinon afficher l'objet en consultation
287              else {              else {
288                  //                  //
289                  $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);                  $row = array_shift($qres['result']);
290                  //                  //
291                  echo '                  echo '
292                      <script type="text/javascript" >                      <script type="text/javascript" >
# Line 345  class lot extends lot_gen { Line 354  class lot extends lot_gen {
354       function is_ajoutable_or_modifiable_or_supprimable() {       function is_ajoutable_or_modifiable_or_supprimable() {
355           // Tester si le dossier est cloturé ,           // Tester si le dossier est cloturé ,
356           // et si l'instructeur est de la même division           // et si l'instructeur est de la même division
357           if ($this->is_instructeur_from_division_dossier() === true and           if ($this->is_instructeur_from_division_dossier() === true &&
358               $this->is_dossier_instruction_not_closed() === true){               $this->is_dossier_instruction_not_closed() === true){
359               return true;               return true;
360           }           }
# Line 402  class lot extends lot_gen { Line 411  class lot extends lot_gen {
411                  "obj" => "lien_lot_demandeur",                  "obj" => "lien_lot_demandeur",
412                  "idx" => "]",                  "idx" => "]",
413              ));              ));
414              $sqlDemandeur = "SELECT * FROM ".DB_PREFIXE."lien_dossier_demandeur  
415                                  WHERE dossier='".$this->getParameter("idxformulaire")."'";              $qres = $this->f->get_all_results_from_db_query(
416              $res = $this->f->db->query($sqlDemandeur);                  sprintf(
417              $this->f->addToLog(__METHOD__."(): db->query(\"".$sqlDemandeur."\");", VERBOSE_MODE);                      'SELECT
418              if ( database::isError($res)){                          *
419                  die();                      FROM
420              }                          %1$slien_dossier_demandeur
421              while($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {                      WHERE
422                            dossier = \'%2$s\'',
423                        DB_PREFIXE,
424                        $this->f->db->escapeSimple($this->getParameter("idxformulaire"))
425                    ),
426                    array(
427                        'origin' => __METHOD__
428                    )
429                );
430                foreach ($qres['result'] as $row) {
431                  unset($row['lien_dossier_demandeur']);                  unset($row['lien_dossier_demandeur']);
432                  unset($row['dossier']);                  unset($row['dossier']);
433                  $row['lien_lot_demandeur'] = "";                  $row['lien_lot_demandeur'] = "";
# Line 422  class lot extends lot_gen { Line 440  class lot extends lot_gen {
440              //              //
441              if ($add_dt === false) {              if ($add_dt === false) {
442                  //                  //
443                  $this->addToMessage(_("Impossible d'associer des données techniques au lot.")." "._("Veuillez contacter votre administrateur."));                  $this->addToMessage(__("Impossible d'associer des données techniques au lot.")." ".__("Veuillez contacter votre administrateur."));
444                  return false;                  return false;
445              }              }
446          }          }
# Line 483  class lot extends lot_gen { Line 501  class lot extends lot_gen {
501          if ( $maj == 3 ){          if ( $maj == 3 ){
502                            
503              //Récupère la liste des demandeurs              //Récupère la liste des demandeurs
504              $sql = "SELECT              $qres = $this->f->get_all_results_from_db_query(
505                    sprintf(
506                        'SELECT
507                          civilite.code as code,                          civilite.code as code,
508                          CASE WHEN demandeur.qualite='particulier'                          CASE WHEN demandeur.qualite = \'particulier\'
509                              THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom))                              THEN TRIM(CONCAT(demandeur.particulier_nom, \' \', demandeur.particulier_prenom))
510                              ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination))                              ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, \' \', demandeur.personne_morale_denomination))
511                          END as nom,                          END as nom,
512                          lien_lot_demandeur.petitionnaire_principal as petitionnaire_principal,                          lien_lot_demandeur.petitionnaire_principal as petitionnaire_principal,
513                          demandeur.type_demandeur as type_demandeur                          demandeur.type_demandeur as type_demandeur
514                      FROM                      FROM
515                          ".DB_PREFIXE."lien_lot_demandeur                          %1$slien_lot_demandeur
516                      LEFT JOIN                          LEFT JOIN %1$sdemandeur
517                          ".DB_PREFIXE."demandeur                              ON lien_lot_demandeur.demandeur = demandeur.demandeur
518                          ON                          LEFT JOIN %1$scivilite
519                              lien_lot_demandeur.demandeur = demandeur.demandeur                              ON demandeur.particulier_civilite = civilite.civilite OR
                     LEFT JOIN  
                         ".DB_PREFIXE."civilite  
                         ON  
                             demandeur.particulier_civilite = civilite.civilite OR  
520                              demandeur.personne_morale_civilite = civilite.civilite                              demandeur.personne_morale_civilite = civilite.civilite
521                      WHERE lien_lot_demandeur.lot = ".$this->val[array_search('lot', $this->champs)]."                      WHERE
522                      ORDER BY demandeur.type_demandeur DESC";                          lien_lot_demandeur.lot = %2$d
523                                            ORDER BY
524              $res = $this->f->db->query($sql);                          demandeur.type_demandeur DESC',
525              $this->f->addToLog("sousformSpecificContent() : db->query(\"".$sql."\")", VERBOSE_MODE);                      DB_PREFIXE,
526              if ( database::isError($res)){                      intval($this->val[array_search('lot', $this->champs)])
527                  die();                  ),
528              }                  array(
529                                    'origin' => __METHOD__
530                    )
531                );
532              //Affichage des données              //Affichage des données
533              echo "<div class=\"field field-type-static\">";              echo "<div class=\"field field-type-static\">";
534                  echo "<div class=\"form-libelle\">";                  echo "<div class=\"form-libelle\">";
535                      echo "<label id=\"lib-libelle\" class=\"libelle-demandeur\" for=\"demandeur\">";                      echo "<label id=\"lib-libelle\" class=\"libelle-demandeur\" for=\"demandeur\">";
536                          echo _("demandeur");                          echo __("demandeur");
537                      echo "</label>";                      echo "</label>";
538                  echo "</div>";                  echo "</div>";
539                  echo "<div class=\"form-content\">";                  echo "<div class=\"form-content\">";
# Line 523  class lot extends lot_gen { Line 541  class lot extends lot_gen {
541                            
542                          $listDemandeur = "";                          $listDemandeur = "";
543                          //La liste des demandeurs                          //La liste des demandeurs
544                          while($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){                          foreach ($qres['result'] as $row) {
545                                            
546                              //Ordonne l'affichage des demandeur                              //Ordonne l'affichage des demandeur
547                              if ( $row['petitionnaire_principal'] == 't' ){                              if ( $row['petitionnaire_principal'] == 't' ){
548                                                                    
549                                  $listDemandeur =  $row['code']. " " . $row['nom'] . ", " . _("petitionnaire principal") . "<br/>".$listDemandeur;                                  $listDemandeur =  $row['code']. " " . $row['nom'] . ", " . __("petitionnaire principal") . "<br/>".$listDemandeur;
550                              }                              }
551                              else {                              else {
552                                                                    
# Line 555  class lot extends lot_gen { Line 573  class lot extends lot_gen {
573                            
574              //On récupère le statut de l'état du dossier d'instruction à partir de              //On récupère le statut de l'état du dossier d'instruction à partir de
575              //l'identifiant du dossier              //l'identifiant du dossier
576              $sql = "SELECT donnees_techniques.donnees_techniques              $qres = $this->f->get_all_results_from_db_query(
577                  FROM ".DB_PREFIXE."donnees_techniques                  sprintf(
578                  LEFT JOIN                      'SELECT
579                      ".DB_PREFIXE."dossier                          donnees_techniques.donnees_techniques
580                      ON                      FROM
581                          donnees_techniques.dossier_instruction = dossier.dossier                          %1$sdonnees_techniques
582                  WHERE dossier.dossier = '".$idx."'";                          LEFT JOIN %1$sdossier
583              $donnees_techniques = $this->f->db->query($sql);                              ON donnees_techniques.dossier_instruction = dossier.dossier
584              $this->f->addToLog("hasDonneesTechniquesDossier() : db->query(\"".$sql."\")", VERBOSE_MODE);                      WHERE
585              if ( database::isError($donnees_techniques)){                          dossier.dossier = \'%2$s\'',
586                  die();                      DB_PREFIXE,
587              }                      $this->f->db->escapeSimple($idx)
588                                ),
589              if ( $donnees_techniques->numRows() > 0 ){                  array(
590                        'origin' => __METHOD__
591                    )
592                );
593                if ($qres['row_count'] > 0 ){
594                  return TRUE;                  return TRUE;
595              }              }
596          }          }
# Line 693  class lot extends lot_gen { Line 715  class lot extends lot_gen {
715          // Si aucun CERFA n'est identifié          // Si aucun CERFA n'est identifié
716          if ($valF['cerfa'] === '' || $valF['cerfa'] === null) {          if ($valF['cerfa'] === '' || $valF['cerfa'] === null) {
717              //              //
718              $this->f->addToLog(__METHOD__."() : ERROR - "._("Aucun CERFA paramétré."), DEBUG_MODE);              $this->f->addToLog(__METHOD__."() : ERROR - ".__("Aucun CERFA paramétré."), DEBUG_MODE);
719              return false;              return false;
720          }          }
721    
# Line 702  class lot extends lot_gen { Line 724  class lot extends lot_gen {
724          //          //
725          if ($add === false) {          if ($add === false) {
726              //              //
727              $this->f->addToLog(__METHOD__."() : ERROR - "._("Impossible d'ajouter les données techniques du lot."), DEBUG_MODE);              $this->f->addToLog(__METHOD__."() : ERROR - ".__("Impossible d'ajouter les données techniques du lot."), DEBUG_MODE);
728              return false;              return false;
729          }          }
730    

Legend:
Removed from v.8989  
changed lines
  Added in v.18876

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26