udistrital / polux_cliente

Cliente angular del proyecto Polux
0 stars 0 forks source link

Iniciar implementación para mostrar código de estudiante en tabla de registro de nota #624

Closed diagutierrezro closed 1 month ago

diagutierrezro commented 1 month ago

Se requiere realizar la implementación para mostrar el código del estudiante en la tabla del registro de nota por parte de los docentes según lo analizado en #617

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

CrisEs2506 commented 1 month ago

SubTarea N°1: Realizar implementación usando el ORM de beego en el CRUD.

CRUD

  1. Se crea un nuevo Controlador llamado 'estudiante_vinculacion_trabajo_grado.go' y se agrega al archivo 'router.go':
image

Primer Método

  1. En el Controlador se crea una función llamada 'GetByTrabajoGrado' donde se recibe el campo 'Active' y el 'Usuario' por parte del cliente:
image image image

Como se puede observar en el código en primer lugar se arma la query para realizar en el Modelo de 'VinculacionTrabajoGrado', luego si todo sale bien, se extraen los IDs de los trabajos de grado asociados a cada una de las Vinculaciones anteriormente retornadas y con ello se arma la siguiente query para realizar en el Modelo 'EstudianteTrabajoGrado'. Finalmente se crea la respuesta y se envía al Cliente.

  1. Por parte del Cliente el funcionamiento de la función 'cargarTrabajos' en el archivo 'registrar_nota.js' es prácticamente el mismo, con la diferencia de que se llama al nuevo endpoint del controlador 'estudiante_vinculacion_trabajo_grado':
image

Segundo Método

  1. En el Controlador se crea una función llamada 'GetAll' donde se recibe el parametro 'documento' por parte del cliente, se ejecuta la función 'GetEstudianteVinculacionTrabajoGrado' del Modelo y sí sale todo correcto se retorna la respuesta JSON al cliente para su posterior desarrollo:
image image
  1. En la función del Modelo 'GetEstudianteVinculacionTrabajoGrado' se le pasa el 'documento' como parametro, está se encarga de realizar una consulta SQL con el 'documento' del Docente para traer los estudiantes que también están asociados al respectivo Trabajo de Grado, adicional se agrega cada dato retornado por la base de datos a la estructura del modelo y con este se crea la respuesta que será devuelta al cliente:
image image image image

CLIENTE

  1. Se modifica el método 'cargarTrabajos' para que se envié únicamente el documento del Docente al CRUD por el que se quieren buscar las vinculaciones de trabajos de grado junto a los estudiantes a los que está asociado dicho trabajo de grado:
image
  1. Se modifica la tabla que se carga al entrar al endpoint de 'registrar_nota' con el fin de que se añada la columna de Estudiante el cuál coloca el código del estudiante asociado al trabajo de grado, de igual manera, se modifican los porcentajes para que quepan todas las columnas en la tabla:
image
CrisEs2506 commented 1 month ago

SubTarea N°2: Probar funcionamiento correcto.

  1. En el apartado de 'registrar_nota' se observa como la tabla refleja el código del estudiante del trabajo de grado al que está asociado:
image
  1. Al momento de registrar un trabajo de grado con dos estudiantes se lista en la tabla de la siguiente manera:
image
  1. Se quería probar la funcionalidad de registrar la nota cuando un trabajo de grado tiene dos estudiantes, sin embargo, al solicitar la revisión del trabajo de grado por parte de un estudiante aparece el siguiente error apesar de que todos los campos están completos:

Imagen de WhatsApp 2024-07-22 a las 01 37 46_f728d6ee

diagutierrezro commented 1 month ago

Se debe abordar en otra issue la corrección de la tabla cuando el trabajo de grado tiene diferentes docentes, el error de validación final puede suceder por lo que viene trabajando Andres, queda pendiente por revisar.