13 Commits 7e286a8bd9 ... 9b01c965c8

Autore SHA1 Messaggio Data
  Isaac Noriega 9b01c965c8 Merge branch 'master' of git.miralo.xyz:SAGARHPA/Sagarhpa_2024_api_php 10 mesi fa
  Isaac Noriega f7d2a10151 Mdulo public de consulta 10 mesi fa
  Isaac Noriega 912827d603 Agregados niveles a municipios 10 mesi fa
  Jose Cienfuegos 11462f31d0 Merge branch 'master' of https://git.miralo.xyz/SAGARHPA/Sagarhpa_2024_api_php 10 mesi fa
  Jose Cienfuegos e859bac3ea Se agrego nueva tabla Nivel los modelos y el controlador 10 mesi fa
  OscarGil03 1789a28342 busqueda 11 mesi fa
  OscarGil03 7dfcb31575 busqueda idPadre 11 mesi fa
  ElPoteito 852b1b426c usuario default 11 mesi fa
  OscarGil03 9721c86805 Relaciones de condicionantes 11 mesi fa
  OscarGil03 f1903c146d Catalogos 11 mesi fa
  OscarGil03 2c0c899591 campo idSagarhpa 11 mesi fa
  acampillo 3958a521c4 borrando archivos inecesarios 11 mesi fa
  acampillo 457f00e792 commit inicial 11 mesi fa

+ 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.");
-	}
-}