Pārlūkot izejas kodu

Mdulo public de consulta

Isaac Noriega 9 mēneši atpakaļ
vecāks
revīzija
f7d2a10151

+ 72 - 0
modules/publico/controllers/CondicionantesController.php

@@ -0,0 +1,72 @@
+<?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));
+	}
+}

+ 0 - 170
modules/publico/controllers/RecuperarContrasenaController.php

@@ -1,170 +0,0 @@
-<?php
-
-namespace app\modules\publico\controllers;
-
-use app\modules\mail\models\NotificacionCorreo;
-use common\data\Respuesta;
-use common\rest\JsonController;
-use DateTime;
-use DateTimeZone;
-use v1\models\RecuperarContrasena;
-use v1\models\Sesion;
-use v1\models\Usuario;
-use yii\db\Expression;
-use yii\web\Session;
-
-class RecuperarContrasenaController extends JsonController {
-
-	public $modelClass = 'v1\models\RecuperarContrasena';
-
-	public function actionIndex() {
-		$correo = trim($this->req->getBodyParam("correo", ""));
-		$usuario = null;
-		if ($correo !== "") {
-			$usuario = Usuario::find()->andWhere(["correo" => $correo])->one();
-		}
-
-		if ($usuario === null) {
-			return (new Respuesta())
-				->esError()
-				->mensaje('No se ha encontrado el Usuario, favor de verificar el correo.');
-		}
-		try {
-			$recuperarContrasena = new RecuperarContrasena();
-			$recuperarContrasena->uuid();
-			$recuperarContrasena->idUsuario = $usuario->id;
-			$recuperarContrasena->token = mt_rand(10000000, 99999999);
-			$recuperarContrasena->creado = new Expression('now()');
-
-			$recuperarContrasena->load($this->req->getBodyParams(), '');
-
-			if (!$recuperarContrasena->save()) {
-				return (new Respuesta())
-					->esError()
-					->mensaje('No fue posible crear el código de recuperación');
-			}
-
-			$tz = new DateTimeZone('America/Hermosillo');
-			$fechaNotificacion = new DateTime();
-			$fechaNotificacion->setTimezone($tz);
-			$fechaNotificacion = $fechaNotificacion->format('d/m/Y H:i a');
-
-			$parametros = [
-				"prioridad" => NotificacionCorreo::PRIORIDAD_1,
-				"asunto" => "Notificación SIISTAI Recuperar Contraseña: " . $fechaNotificacion,
-				"cuerpo" => $this->renderPartial('correo', ["datos" => $recuperarContrasena, "usuario" => $usuario]),
-				"receptores" => [$correo],
-				"adjuntos" => []
-			];
-			$resultado = NotificacionCorreo::enviarMultiple($parametros);
-
-			$recuperarContrasena->refresh();
-			return (new Respuesta())
-				->mensaje("Se ha enviado un correo con los datos necesarios para recuperar su contraseña.");
-		} catch (\Exception $e) {
-			return (new Respuesta())
-				->esError()
-				->mensaje($e->getMessage());
-		}
-	}
-
-	public function actionVerificar() {
-		$correo = trim($this->req->get("correo", ""));
-		$token = intval($this->req->get("token", 0));
-		$usuario = null;
-
-		if ($correo !== "") {
-			$usuario = Usuario::find()->andWhere(["correo" => $correo])->one();
-		}
-
-		if ($token !== 0) {
-			$encontrarToken = RecuperarContrasena::find()
-				->andWhere([
-					'idUsuario' => $usuario->id,
-					'token' => $token,
-				])
-				->andWhere(['is not', 'utilizado', null]);
-
-			if ($encontrarToken->exists()) {
-				return (new Respuesta())
-					->esError()
-					->mensaje('Este token ya fue utilizado');
-			}
-		}
-
-		if ($usuario !== null) {
-
-			$recuperarContrasena = RecuperarContrasena::find()
-				->andWhere([
-					"idUsuario" => $usuario->id,
-					"token" => $token,
-					'utilizado' => null
-				])
-				->one();
-
-			if ($recuperarContrasena !== null) {
-				return (new Respuesta())
-					->mensaje('Token válido');
-			} else {
-				return (new Respuesta())
-					->esError()
-					->mensaje('El Token parece no coincidir, favor de revisar');
-			}
-		} else {
-			return (new Respuesta())
-				->esError()
-				->mensaje('Ha ocurrido un error');
-		}
-	}
-
-	public function actionCambiar() {
-		$correo = trim($this->req->getBodyParam("correo", ""));
-		$token = intval($this->req->getBodyParam("token", null));
-		$pwd = trim($this->req->getBodyParam("pwd", ""));
-		$usuario = null;
-
-		if ($correo !== "") {
-			$usuario = Usuario::find()->andWhere(["correo" => $correo])->one();
-		}
-
-		/** @var \v1\models\Usuario $usuario */
-		if ($usuario !== null) {
-			$validarToken = RecuperarContrasena::find()
-				->andWhere([
-					'token' => $token,
-					'idUsuario' => $usuario->id
-				])
-				->one();
-
-			if ($validarToken !== null) {
-				$usuario->agregarClave($pwd);
-				$usuario->modificado = new Expression('now()');
-				if (!$usuario->save()) {
-					return (new Respuesta($usuario))
-						->mensaje("Ocurrió un error al guardar al recuperar su contraseña, favor de intentarlo de nuevo");
-				}
-
-				$validarToken->utilizado = new Expression('now()');
-				if (!$validarToken->save()) {
-					return (new Respuesta($usuario))
-						->mensaje("Ocurrió un error al guardar al recuperar su contraseña, favor de intentarlo de nuevo");
-				}
-
-				$sesion = Sesion::find()
-					->andWhere([
-						'correo' => $correo,
-						'eliminado' => null
-					])
-					->one();
-
-				$usuario->refresh();
-				return (new Respuesta($sesion))
-					->mensaje("Contraseña actualizada");
-			} else {
-				return (new Respuesta())
-					->esError()
-					->mensaje('Error al intentar cambiar su contraseña, favor de intentar de nuevo');
-			}
-		}
-	}
-}

+ 0 - 59
modules/publico/controllers/SolicitudAcuseController.php

@@ -1,59 +0,0 @@
-<?php
-
-namespace app\modules\publico\controllers;
-
-use common\data\Respuesta;
-use common\rest\JsonController;
-use v1\models\SolicitudAcusePersonas;
-use yii\db\Expression;
-
-class SolicitudAcuseController extends JsonController {
-
-	public $modelClass = 'v1\models\SolicitudAcuse';
-
-	public function actionIndex() {
-		$token = trim($this->req->get("token", ""));
-
-		if ($token === '') {
-			return (new Respuesta())
-				->esError(401)
-				->mensaje("No se encontró el Acuse esperado.");
-		}
-
-		$query = $this->queryInicial
-			->innerJoin('SolicitudAcusePersonas', '{{SolicitudAcuse}}.id = {{SolicitudAcusePersonas}}.[[idSolicitud]]	')
-			->andWhere(['tokenRecepcion' => $token]);
-
-		return new Respuesta($query, $this->limite, $this->pagina, $this->ordenar);
-	}
-
-	public function actionConfirmar() {
-		$token = trim($this->req->getBodyParam("token", ""));
-		$acuse = null;
-
-		if ($token !== "") {
-			$acuse = SolicitudAcusePersonas::find()
-				->andWhere(['tokenRecepcion' => $token])
-				->one();
-		}
-
-		try {
-			if ($acuse !== null) {
-				$acuse->confirmado = new Expression('now()');
-				$acuse->load($this->req->getBodyParams(), '');
-				if (!$acuse->save()) {
-					return (new Respuesta())->esError()->mensaje("No se pudo confirmar");
-				}
-			}
-			$acuse->refresh();
-		} catch (\Exception $e) {
-			return (new Respuesta())
-				->esError()
-				->mensaje("Hubo un error en el servidor");
-		}
-
-
-		return (new Respuesta($acuse))
-			->mensaje("Se ha confirmado el Acuse.");
-	}
-}