12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace app\modules\publico\controllers;
- use common\data\Respuesta;
- use common\rest\JsonController;
- use yii\db\Query;
- class CondicionantesController extends JsonController {
- public function actionIndex() {
- $fin = intval($this->req->get("fin", 0));
- $tipo = intval($this->req->get("tipo", 0));
- $estado = intval($this->req->get("estado", 0));
- $ciudad = intval($this->req->get("ciudad", 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]);
- }
- if ($estado > 0 && $ciudad > 0) {
- $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]);
- }
- 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
- ->leftJoin("CondicionanteDestino", "{{CondicionanteDestino}}.[[idCondicionante]] = {{Condicionante}}.[[id]]")
- ->leftJoin("Estado", "{{Estado}}.[[id]] = {{CondicionanteDestino}}.[[idDestino]]")
- ->innerJoin("Municipio", "{{Municipio}}.[[idEstado]] = {{Estado}}.[[id]]")
- ->andWhere(["{{Municipio}}.[[eliminado]]" => null]);
- }
- 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 ($condicionante !== null) {
- $condicionante->all();
- }
- return (new Respuesta($condicionante));
- }
- }
|