Hugo Quijada před 8 měsíci
rodič
revize
8513a2c527

+ 15 - 24
modules/publico/controllers/CondicionantesController.php

@@ -13,7 +13,7 @@ class CondicionantesController extends JsonController {
 	public function actionIndex() {
 		$fin = intval($this->req->get("fin", "0"));
 		$tipo = intval($this->req->get("tipo", "0"));
-		$estadoOrigen = intval($this->req->get("origen", 0));
+		$estado = intval($this->req->get("origen", 0));
 		$ciudad = intval($this->req->get("ciudad", 0));
 		$producto = intval($this->req->get("producto", 0));
 
@@ -29,32 +29,23 @@ class CondicionantesController extends JsonController {
 			$condicionante
 				->andWhere(["OR", ["{{Condicionante}}.[[idProducto]]" => $producto->id], ["{{Condicionante}}.[[idProducto]]" => $producto->idPadre]]);
 		}
-		$municipio = Municipio::find()
-			->andWhere(["clave" => $ciudad])
-			->one();
 
 		/* # En el front no se pueden elegir ciudades*/
-		if ($ciudad > 0) {
-
-
-			$condicionante
-				->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
-				->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
-				->innerJoin("Municipio", "{{Municipio}}.[[idEstado]] = {{Estado}}.[[id]]")
-				->innerJoin("NivelMunicipio", "{{NivelMunicipio}}.[[idMunicipio]] = {{Municipio}}.[[id]]")
-				->andWhere(["{{Municipio}}.[[clave]]" => $ciudad])
-				->andWhere(["{{NivelMunicipio}}.[[idNivel]]" => "{{Condicionante}}.[[idNivel]]"])
-				->andWhere(["{{Municipio}}.[[eliminado]]" => null]);
+		if ( $ciudad > 0) {
+      $nivel = (new Query())
+        ->select(["{{NivelMunicipio}}.[[idNivel]]"])
+        ->from("NivelMunicipio")
+        ->innerJoin("Municipio", "{{Municipio}}.id = {{NivelMunicipio}}.[[idMunicipio]]")
+        ->innerJoin("Estado", "{{Estado}}.id = {{Municipio}}.[[idEstado]]")
+        ->andWhere([
+          "{{Estado}}.[[clave]]" => $estado,
+          "{{Municipio}}.[[clave]]" => $ciudad,
+        ])
+        ->column();
+   
+			$condicionante->andWhere(["idNivel" => $nivel]);
 		}
 
-		// if ($estadoOrigen > 0 && $ciudad === 0) {
-		// 	$condicionante
-		// 		->leftJoin("CondicionanteOrigen", "{{CondicionanteOrigen}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
-		// 		->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteOrigen}}.[[idOrigen]]")
-		// 		->andWhere(["{{Estado}}.[[idSagarhpa]]" => $estadoOrigen])
-		// 		->andWhere(["{{Estado}}.[[eliminado]]" => null]);
-		// }
-
 		if ($fin > 0) {
 			$condicionante
 				->leftJoin("CondicionanteFin", "{{CondicionanteFin}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
@@ -70,7 +61,7 @@ class CondicionantesController extends JsonController {
 		}
 
 		if ($ciudad > 0) {
-			$condicionante->orderBy(["{{Municipio}}.[[nombre]]" => SORT_DESC]);
+			// $condicionante->orderBy(["{{Municipio}}.[[nombre]]" => SORT_DESC]);
 		}
 
 		return (new Respuesta($condicionante));