|
@@ -4,51 +4,57 @@ namespace app\modules\publico\controllers;
|
|
|
|
|
|
use common\data\Respuesta;
|
|
use common\data\Respuesta;
|
|
use common\rest\JsonController;
|
|
use common\rest\JsonController;
|
|
-
|
|
|
|
|
|
+use v1\models\Municipio;
|
|
|
|
+use v1\models\Producto;
|
|
use yii\db\Query;
|
|
use yii\db\Query;
|
|
|
|
|
|
class CondicionantesController extends JsonController {
|
|
class CondicionantesController extends JsonController {
|
|
|
|
|
|
public function actionIndex() {
|
|
public function actionIndex() {
|
|
- $fin = intval($this->req->get("fin", 0));
|
|
|
|
- $tipo = intval($this->req->get("tipo", 0));
|
|
|
|
- $estado = intval($this->req->get("estado", 0));
|
|
|
|
|
|
+ $fin = intval($this->req->get("fin", "0"));
|
|
|
|
+ $tipo = intval($this->req->get("tipo", "0"));
|
|
|
|
+ $estadoOrigen = intval($this->req->get("origen", 0));
|
|
$ciudad = intval($this->req->get("ciudad", 0));
|
|
$ciudad = intval($this->req->get("ciudad", 0));
|
|
|
|
+ $producto = intval($this->req->get("producto", 0));
|
|
|
|
|
|
- $condicionante = null;
|
|
|
|
-
|
|
|
|
- if ($fin > 0 || $tipo > 0 || $estado > 0 || $ciudad > 0) {
|
|
|
|
- $condicionante = (new Query())
|
|
|
|
- ->select("{{Condicionante}}.[[id]],{{Condicionante}}.[[titulo]],{{Condicionante}}.[[descripcion]]")
|
|
|
|
- ->from("Condicionante")
|
|
|
|
- ->andWhere(["{{Condicionante}}.[[eliminado]]" => null]);
|
|
|
|
- }
|
|
|
|
|
|
+ $condicionante = (new Query())
|
|
|
|
+ ->select("{{Condicionante}}.[[id]],{{Condicionante}}.[[titulo]],{{Condicionante}}.[[descripcion]]")
|
|
|
|
+ ->from("Condicionante")
|
|
|
|
+ ->andWhere(["{{Condicionante}}.[[eliminado]]" => null]);
|
|
|
|
|
|
- if ($estado > 0 && $ciudad > 0) {
|
|
|
|
|
|
+ if ($producto > 0) {
|
|
|
|
+ $producto = Producto::find()
|
|
|
|
+ ->andWhere(["idSagarhpa" => $producto])
|
|
|
|
+ ->one();
|
|
$condicionante
|
|
$condicionante
|
|
- ->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
|
|
- ->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
|
|
|
|
- ->innerJoin("Municipio", "{{Municipio}}.[[idEstado]] = {{Estado}}.[[id]]")
|
|
|
|
- ->andWhere(["{{Estado}}.[[idSagarhpa]]" => $estado, "{{Municipio}}.[[clave]]" => $ciudad])
|
|
|
|
- ->andWhere(["{{Estado}}.[[eliminado]]" => null, "{{Municipio}}.[[eliminado]]" => null]);
|
|
|
|
|
|
+ ->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) {
|
|
|
|
|
|
- if ($estado > 0 && $ciudad === 0) {
|
|
|
|
- $condicionante
|
|
|
|
- ->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
|
|
- ->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
|
|
|
|
- ->andWhere(["{{Estado}}.[[idSagarhpa]]" => $estado])
|
|
|
|
- ->andWhere(["{{Estado}}.[[eliminado]]" => null]);
|
|
|
|
- }
|
|
|
|
|
|
|
|
- if ($ciudad > 0 && $estado === 0) {
|
|
|
|
$condicionante
|
|
$condicionante
|
|
->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
|
|
->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
|
|
->innerJoin("Municipio", "{{Municipio}}.[[idEstado]] = {{Estado}}.[[id]]")
|
|
->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]);
|
|
->andWhere(["{{Municipio}}.[[eliminado]]" => null]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 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) {
|
|
if ($fin > 0) {
|
|
$condicionante
|
|
$condicionante
|
|
->leftJoin("CondicionanteFin", "{{CondicionanteFin}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
->leftJoin("CondicionanteFin", "{{CondicionanteFin}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
|
|
@@ -63,8 +69,8 @@ class CondicionantesController extends JsonController {
|
|
->andWhere(["{{TipoMovilizacion}}.[[idSagarhpa]]" => $tipo, "{{TipoMovilizacion}}.[[eliminado]]" => null]);
|
|
->andWhere(["{{TipoMovilizacion}}.[[idSagarhpa]]" => $tipo, "{{TipoMovilizacion}}.[[eliminado]]" => null]);
|
|
}
|
|
}
|
|
|
|
|
|
- if ($condicionante !== null) {
|
|
|
|
- $condicionante->all();
|
|
|
|
|
|
+ if ($ciudad > 0) {
|
|
|
|
+ $condicionante->orderBy(["{{Municipio}}.[[nombre]]" => SORT_DESC]);
|
|
}
|
|
}
|
|
|
|
|
|
return (new Respuesta($condicionante));
|
|
return (new Respuesta($condicionante));
|