/[openfoncier]/branches/3.14.2/app/geolocalisation_treatment.php
ViewVC logotype

Diff of /branches/3.14.2/app/geolocalisation_treatment.php

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

revision 2233 by softime, Tue Sep 3 16:08:53 2013 UTC revision 2263 by softime, Fri Sep 6 17:58:20 2013 UTC
# Line 57  if (isset($id) && $id != '' Line 57  if (isset($id) && $id != ''
57      $f->isDatabaseError($resDonneesDI);      $f->isDatabaseError($resDonneesDI);
58      $rowDonneesDI = &$resDonneesDI->fetchRow(DB_FETCHMODE_ASSOC);      $rowDonneesDI = &$resDonneesDI->fetchRow(DB_FETCHMODE_ASSOC);
59    
     // Formatage des parcelles pour l'envoi au webservice  
     $liste_parcelles = $f->parseParcelles($rowDonneesDI['terrain_references_cadastrales']);  
     $wParcelle = $f->formatParcelleToSend($liste_parcelles);  
   
60      // Si l'enregistrement n'existe pas dans la table sig_elyx      // Si l'enregistrement n'existe pas dans la table sig_elyx
61      if (count($rowDonneesSIG) == 0) {      if (count($rowDonneesSIG) == 0) {
62    
# Line 80  if (isset($id) && $id != '' Line 76  if (isset($id) && $id != ''
76          }          }
77      }      }
78    
79        // Formatage des parcelles pour l'envoi au webservice
80        $liste_parcelles = $f->parseParcelles($rowDonneesSIG['terrain_references_cadastrales_archive']);
81        $wParcelle = $f->formatParcelleToSend($liste_parcelles);
82        // Crée une chaîne de parcelle séparée par des ";"
83        $stringParcelles = implode(';', $wParcelle);
84    
85      // Configuration du soap      // Configuration du soap
86      $conf = $f->config['sig_elyx'];      $conf = $f->config['sig_elyx'];
87    
# Line 94  if (isset($id) && $id != '' Line 96  if (isset($id) && $id != ''
96    
97      // Initialisation des variables      // Initialisation des variables
98      $message = "";      $message = "";
99        $message_diff_parcelle = _("Les parcelles ont ete modifiees.");
100      $execute = array();      $execute = array();
101    
102      // Si les références cadastrales sont à changer dans sig_elyx      // Si les références cadastrales sont à changer dans sig_elyx
103      $flag_ref_cadastrales = false;      $flag_ref_cadastrales = false;
104        $diff_parcelle = false;
105    
106      // Fait appele aux différents webservices selon le bouton cliqué      // Fait appele aux différents webservices selon le bouton cliqué
107      switch ($fieldname) {      switch ($fieldname) {
108          //          //
109          case 'verif_parcelle':          case 'verif_parcelle':
110              // Crée une chaîne de parcelle séparée par des ";"              // Données à envoyer au wsdl
             $stringParcelles = implode(';', $wParcelle);  
             //  
111              $data = array(              $data = array(
112                  "wParcelle" => $stringParcelles,                  "wParcelle" => $stringParcelles,
113              );              );
# Line 114  if (isset($id) && $id != '' Line 116  if (isset($id) && $id != ''
116              break;              break;
117          //          //
118          case 'calcul_emprise':          case 'calcul_emprise':
             // Crée une chaîne de parcelle séparée par des ";"  
             $stringParcelles = implode(';', $wParcelle);  
119              // Données à envoyer au wsdl              // Données à envoyer au wsdl
120              $data = array(              $data = array(
121                  "wParcelle" => $stringParcelles,                  "wParcelle" => $stringParcelles,
# Line 193  if (isset($id) && $id != '' Line 193  if (isset($id) && $id != ''
193                      //                      //
194                      $string_error_parcelle = implode(", ", $list_error_parcelle);                      $string_error_parcelle = implode(", ", $list_error_parcelle);
195                      //                      //
196                      $message = sprintf(_("La/Les parcelle(s) %s n'existe(nt) pas."), $string_error_parcelle);                      $message = _("Les parcelles n'existent pas.");
197                  } else {                  } else {
198                      // Sinon ont met à jour le champ                      // Sinon ont met à jour le champ
199                      // terrain_references_cadastrales_archive dans la table                      // terrain_references_cadastrales_archive dans la table
200                      // sig_elyx                      // sig_elyx
201                      $flag_ref_cadastrales = true;                      $flag_ref_cadastrales = true;
202                        
203                        // Si les deux champs sont différent
204                        if (isset($rowDonneesSIG["terrain_references_cadastrales_archive"]) && $rowDonneesSIG["terrain_references_cadastrales_archive"] != $rowDonneesDI["terrain_references_cadastrales"]) {
205                            $diff_parcelle = true;
206                        }
207                  }                  }
208                  break;                  break;
209              //              //
# Line 224  if (isset($id) && $id != '' Line 229  if (isset($id) && $id != ''
229                      // Traitement du message                      // Traitement du message
230                      $message = _("Le centroide a ete calcule")." : ".                      $message = _("Le centroide a ete calcule")." : ".
231                                      $execute['return']['coordX'].", ".                                      $execute['return']['coordX'].", ".
232                                      $execute['return']['coordY'];                                      $execute['return']['coordY'].".";
233    
234                      // Met à jour le centroide dans le dossier                      // Met à jour le centroide dans le dossier
235                      $res = $f->db->query("UPDATE ".DB_PREFIXE."dossier ".                      $res = $f->db->query("UPDATE ".DB_PREFIXE."dossier ".
# Line 246  if (isset($id) && $id != '' Line 251  if (isset($id) && $id != ''
251                  foreach ($execute['return'] as $key => $ret) {                  foreach ($execute['return'] as $key => $ret) {
252                      //                      //
253                      if (is_array($execute['return'][$key])) {                      if (is_array($execute['return'][$key])) {
254                          $liste_contraintes[] = $ret[$key]['libelle'];                          $liste_contraintes[] = "- ".$ret['libelle'];
255                      } elseif ($key == "libelle") {                      } elseif ($key == "libelle") {
256                          $liste_contraintes[] = $execute['return'][$key];                          $liste_contraintes[] = "- ".$execute['return'][$key];
257                      }                      }
258                  }                  }
259                  // Liste des contraintes dans une chaîne                  // Liste des contraintes dans une chaîne
260                  $string_contraintes = implode(", ", $liste_contraintes);                  $string_contraintes = implode(', <br/>', $liste_contraintes);
261                  // Recrée le tableau de retour                  // Recrée le tableau de retour
262                  unset($execute);                  unset($execute);
263                  $execute['return']['servitude'] = $string_contraintes;                  $execute['return']['servitude'] = $string_contraintes;
# Line 273  if (isset($id) && $id != '' Line 278  if (isset($id) && $id != ''
278          // Traitement du message d'erreur          // Traitement du message d'erreur
279          $message = _("Une erreur s'est produite. Veuillez verifier les etapes precedentes ou contacter votre administrateur.");          $message = _("Une erreur s'est produite. Veuillez verifier les etapes precedentes ou contacter votre administrateur.");
280          // log le message d'erreur retourné par le webservice          // log le message d'erreur retourné par le webservice
281          $f->addToLog("app/geolocalisation_treatment.php: Traitement webservice SIG".$soap->getErrorMessage(), DEBUG);          $f->addToLog("app/geolocalisation_treatment.php: Traitement webservice SIG: ".$soap->getErrorMessage(), DEBUG_MODE);
282          // Redéfinit la variable utilisée pour le retour          // Redéfinit la variable utilisée pour le retour
283          unset($execute);          unset($execute);
284          $execute= array();          $execute= array();
# Line 301  if (isset($id) && $id != '' Line 306  if (isset($id) && $id != ''
306      $valueSIG['message_'.$fieldname] = $message;      $valueSIG['message_'.$fieldname] = $message;
307      // Si les références cadastrales ont été modifiées et vérifier      // Si les références cadastrales ont été modifiées et vérifier
308      if ($flag_ref_cadastrales === true) {      if ($flag_ref_cadastrales === true) {
309          //          // On met à jour le champ de la table sig_elyx
310          $valueSIG['terrain_references_cadastrales_archive'] = $rowDonneesDI['terrain_references_cadastrales'];          $valueSIG['terrain_references_cadastrales_archive'] = $rowDonneesDI['terrain_references_cadastrales'];
311      }      }
312        // Si les champs contenant la référence cadastrale dans le DI
313        // et dans la table sig_elyx sont différent
314        if ($diff_parcelle === true) {
315            // Met à jour le message des autres boutons
316            $valueSIG['message_calcul_emprise'] = $message_diff_parcelle;
317            $valueSIG['message_calcul_centroide'] = $message_diff_parcelle;
318            $valueSIG['message_recup_contrainte'] = $message_diff_parcelle;
319            // Met à jour l'état des autres boutons
320            $valueSIG['etat_calcul_emprise'] = 'f';
321            $valueSIG['etat_calcul_centroide'] = 'f';
322            $valueSIG['etat_recup_contrainte'] = 'f';
323            // Met à jour la date de traitement des autres boutons
324            $valueSIG['date_calcul_emprise'] = $date_db;
325            $valueSIG['date_calcul_centroide'] = $date_db;
326            $valueSIG['date_recup_contrainte'] = $date_db;
327    
328            // Message à affiché à l'utilisateur
329            $message_diff_parcelle = sprintf(_("Dernier traitement effectue le %s."), $date)." ".$message_diff_parcelle;
330        }
331      // Modification de l'enregistrement      // Modification de l'enregistrement
332      $sig_elyx->modifier($valueSIG, $f->db, DEBUG);      $sig_elyx->modifier($valueSIG, $f->db, DEBUG);
333    
# Line 317  if (isset($id) && $id != '' Line 341  if (isset($id) && $id != ''
341          "date"=> $date,          "date"=> $date,
342          "etat"=> $etat,          "etat"=> $etat,
343          "message"=> $message,          "message"=> $message,
344            "message_diff_parcelle"=> $message_diff_parcelle
345      );      );
346    
347      // Retourne le résultat dans un tableau json      // Retourne le résultat dans un tableau json

Legend:
Removed from v.2233  
changed lines
  Added in v.2263

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26