13 Revize 7e286a8bd9 ... 9b01c965c8

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

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