Bladeren bron

Consultar el nivel de la ciudad

Isaac Noriega 8 maanden geleden
bovenliggende
commit
3c0eb3a106
1 gewijzigde bestanden met toevoegingen van 43 en 14 verwijderingen
  1. 43 14
      modules/publico/controllers/CondicionantesController.php

+ 43 - 14
modules/publico/controllers/CondicionantesController.php

@@ -31,21 +31,21 @@ class CondicionantesController extends JsonController {
 		}
 
 		/* # En el front no se pueden elegir ciudades*/
-		if ( $ciudad > 0) {
-      $nivel = (new Query())
-        ->select(["{{Nivel}}.[[clave]]"])
-        ->from("Nivel")
-        ->innerJoin("NivelMunicipio", "{{Nivel}}.id = {{NivelMunicipio}}.[[idNivel]]")
-        ->innerJoin("Municipio", "{{Municipio}}.id = {{NivelMunicipio}}.[[idMunicipio]]")
-        ->innerJoin("Estado", "{{Estado}}.id = {{Municipio}}.[[idEstado]]")
-        ->andWhere([
-          "{{Estado}}.[[clave]]" => $estado,
-          "{{Municipio}}.[[clave]]" => $ciudad,
-        ])
-        ->column();
-   
+		if ($ciudad > 0) {
+			$nivel = (new Query())
+				->select(["{{Nivel}}.[[clave]]"])
+				->from("Nivel")
+				->innerJoin("NivelMunicipio", "{{Nivel}}.id = {{NivelMunicipio}}.[[idNivel]]")
+				->innerJoin("Municipio", "{{Municipio}}.id = {{NivelMunicipio}}.[[idMunicipio]]")
+				->innerJoin("Estado", "{{Estado}}.id = {{Municipio}}.[[idEstado]]")
+				->andWhere([
+					"{{Estado}}.[[clave]]" => $estado,
+					"{{Municipio}}.[[clave]]" => $ciudad,
+				])
+				->column();
+
 			$condicionante->innerJoin("Nivel", "{{Nivel}}.id = {{Condicionante}}.[[idNivel]]")
-        ->andWhere(["{{Nivel}}.[[clave]]" => $nivel]);
+				->andWhere(["{{Nivel}}.[[clave]]" => $nivel]);
 		}
 
 		if ($fin > 0) {
@@ -68,4 +68,33 @@ class CondicionantesController extends JsonController {
 
 		return (new Respuesta($condicionante));
 	}
+
+	public function actionNivelCiudad() {
+		$idCiudad = intval($this->req->get("ciudad", 0));
+		$idEstado = intval($this->req->get("estado", 0));
+
+		if ($idCiudad <= 0) {
+			return (new Respuesta())
+				->esError()
+				->mensaje("Identificador de la ciudad no proporcionado.");
+		}
+
+		$ciudad = (new Query())
+			->select("{{Municipio}}.[[nombre]] ||', '||{{Estado}}.[[nombre]]")
+			->from("Municipio")
+			->innerJoin("Estado", "{{Estado}}.[[id]] = {{Municipio}}.[[idEstado]]")
+			->andWhere(["{{Municipio}}.[[clave]]" => $idCiudad, "{{Estado}}.[[clave]]" => $idEstado])
+			->scalar();
+
+		$niveles = (new Query())
+			->select("{{Nivel}}.[[nombre]],{{Municipio}}.[[nombre]] as [[ciudad]]")
+			->from("NivelMunicipio")
+			->innerJoin("Municipio", "{{Municipio}}.[[id]] = {{NivelMunicipio}}.[[idMunicipio]]")
+			->innerJoin("Estado", "{{Estado}}.[[id]] = {{Municipio}}.[[idEstado]]")
+			->innerJoin("Nivel", "{{NivelMunicipio}}.[[idNivel]] = {{Nivel}}.[[id]]")
+			->andWhere(["{{Municipio}}.[[clave]]" => $idCiudad, "{{Estado}}.[[clave]]" => $idEstado])
+			->column();
+
+		return (new Respuesta($niveles))->detalle($ciudad);
+	}
 }