req->get("fin", "0")); $tipo = intval($this->req->get("tipo", "0")); $estado = intval($this->req->get("origen", 0)); $ciudad = intval($this->req->get("ciudad", 0)); $producto = intval($this->req->get("producto", 0)); $condicionante = (new Query()) ->select("{{Condicionante}}.[[id]],{{Condicionante}}.[[titulo]],{{Condicionante}}.[[descripcion]]") ->from("Condicionante") ->andWhere(["{{Condicionante}}.[[eliminado]]" => null]); if ($producto > 0) { $producto = Producto::find() ->andWhere(["idSagarhpa" => $producto]) ->one(); $condicionante ->andWhere(["OR", ["{{Condicionante}}.[[idProducto]]" => $producto->id], ["{{Condicionante}}.[[idProducto]]" => $producto->idPadre]]); } /* # En el front no se pueden elegir ciudades*/ 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 ($fin > 0) { $condicionante ->leftJoin("CondicionanteFin", "{{CondicionanteFin}}.[[idCondicionante]] = {{Condicionante}}.[[id]]") ->leftJoin("FinMovilizacion", "{{CondicionanteFin}}.[[idFin]] = {{FinMovilizacion}}.[[id]]") ->andWhere(["{{FinMovilizacion}}.[[idSagarhpa]]" => $fin, "{{FinMovilizacion}}.[[eliminado]]" => null]); } if ($tipo > 0) { $condicionante ->leftJoin("CondicionanteTipo", "{{CondicionanteTipo}}.[[idCondicionante]] = {{Condicionante}}.[[id]]") ->leftJoin("TipoMovilizacion", "{{CondicionanteTipo}}.[[idTipo]] = {{TipoMovilizacion}}.[[id]]") ->andWhere(["{{TipoMovilizacion}}.[[idSagarhpa]]" => $tipo, "{{TipoMovilizacion}}.[[eliminado]]" => null]); } if ($ciudad > 0) { // $condicionante->orderBy(["{{Municipio}}.[[nombre]]" => SORT_DESC]); } return (new Respuesta($condicionante)); } }