Преглед изворни кода

Arreglo para que muestre todas las naps

Agregado de mensajes de errores en el calculo de distancias
gabriel пре 7 година
родитељ
комит
e123b88c89

+ 17 - 17
src/FTTHBundle/Controller/ONUController.php

@@ -196,6 +196,7 @@ class ONUController extends Controller
      */
     private function calculateDistance($lat, $lng, $napId)
     {
+        $translator = $this->get('translator');
         $naps = array();
         $em = $this->container->get("doctrine.orm.entity_manager");
         $qb = $em->createQueryBuilder();
@@ -205,6 +206,7 @@ class ONUController extends Controller
         $geodecode = new GeoDecode();
         foreach ($napsQuery as $nap) {
             if ($nap->getExtraData() != null) {
+                $extraData = json_decode($nap->getExtraData(), true);
                 $nap->setContainer($this->container);
                 $dataNap = [
                     'id' => $nap->getId(),
@@ -223,22 +225,20 @@ class ONUController extends Controller
                             $napId == $nap->getId()) {
                             // controlo la distancia y el codigo de nap
                             $dataNap['distance'] = $distance;
-                            $dataNap['address'] = $nap->getAddress();
-                            $naps[$nap->getId()] = $dataNap;
+                        } else {
+                            $dataNap['distance'] = $distance . " [" . $translator->trans("out_of_range", array(), "FTTHBundle") . "]";
                         }
+                        $dataNap['address'] = $extraData['Address'];
+                        $naps[$nap->getId()] = $dataNap;
                     } else {
-                        if ($napId == $nap->getId()) {
-                            // si el codigo de napId coincide tengo que cargar la nap
-                            $dataNap['distance'] = $distance;
-                            $dataNap['address'] = $nap->getAddress();
-                            $naps[$nap->getId()] = $dataNap;
-                        }
-                    }
-                } else {
-                    if ($napId == $nap->getId()) {
                         // si el codigo de napId coincide tengo que cargar la nap
+                        $dataNap['distance'] = $distance . " [" . "Distancia minima no configurada" . "]";
+                        $dataNap['address'] = $extraData['Address'];
                         $naps[$nap->getId()] = $dataNap;
                     }
+                } else {
+                    $dataNap['distance'] = "-1" . " [" . "NAP no posicionada" . "]";
+                    $naps[$nap->getId()] = $dataNap;
                 }
             }
         }
@@ -252,13 +252,13 @@ class ONUController extends Controller
      */
     public function orderDistances($a, $b)
     {
-	$a = (float)$a["distance"];
-	$b = (float)$b["distance"];
+        $a = (float)$a["distance"];
+        $b = (float)$b["distance"];
 
-	if ($a == $b) {
-		return 0;
-			        }
-	return ($a < $b) ? -1 : 1;
+        if ($a == $b) {
+            return 0;
+        }
+        return ($a < $b) ? -1 : 1;
         //return (float)$a["distance"] - (float)$b["distance"];
     }
 }

+ 1 - 0
src/FTTHBundle/Resources/translations/FTTHBundle.es.yml

@@ -205,3 +205,4 @@ msg_init_import: Iniciando importación, espere un momento.
 msg_end_import: FIN :)
 nap.capacity.max: El NAP seleccionado sobrepasó su capacidad de %capacity% ONUs. Tiene %count% ONUs asociadas
 Address: Dirección
+out_of_range: FUERA DE RANGO