Skip to main content

Registro de Gestión

Este módulo se podría considerar como el mas importante para Chronus, ya que es donde los usuarios pueden registrar y consultar las horas que trabajan en los proyectos de Darien Technology. Ademas en este modulo se pueden agregar las reuniones que se obtienen de Google Calendar. Por ultimo, el módulo tiene un widget de To-Do list.

danger

Para que un colaborador pueda registrar horas en un proyecto se deben cumplir que:

  • El colaborador esté asignado al proyecto.
  • El proyecto esté con estatus "En Curso".

Organización del Módulo

Punto de entrada

El archivo src/componentes/ModuloRegistroGestion/ModuloRegistroGestion.js funciona como punto de entrada al módulo. Dentro de este son llamados los demás componentes que lo conforman.

En este archivo también se maneja el formulario de carga de las horas de Chronus. Aquí se cargan las tareas que tiene asignadas el colaborador en Basecamp según el proyecto que haya seleccionado. También se carga en este selector los proyecto de soporte.

Es importante resaltar que cada rol posee una lista de "tipo de actividad" diferente que se obtienen desde el API. Y también si el proyecto seleccionado es un proyecto de soporte, los tipos de actividad que se cargan son los de soporte (Incidencias, Fixes, Mantenimiento, Soporte y Mantenimiento), esto si se maneja directamente en el frontend.

note

Todos los roles poseen un tipo de actividad principal. Este es el que se encuentra en la primera posición del arreglo que devuelve el API. Y es el tipo de actividad que se utiliza para las horas de reuniones de Google Calendar.

To-Do List

  • Todolist/Todolist.js: En este archivo se maneja el widget del To-Do list. Puede agregar y eliminar to-dos y marcarlos como importante.

Tablas

  • TablaRegistroGestion/TablaRegistroGestionColaborador.js: Lista todos los registros de gestión de un colaborador en especifico. Ademas permite editar estos registros, eliminarlos y filtrarlos por un rango de fechas seleccionado por el usuario.

Botón de Cargar Reuniones de Google:

  • Calendario/Calendario.js: En este archivo se encuentra la lógica que conecta con la API de Google para cargar las reuniones del usuario. Esta configurado para traer solo las reuniones del dia actual. Al cargar estas reuniones, se debe seleccionar un proyecto para asignarle las horas de la reunion. Esta conexión con Google se realiza con un CLIENT_ID y un API_KEY que proporciona la app del Google Developers Console.

Los items que regresa la API poseen un id que es almacenado en el backend con el nombre codigo_google con el fin de identificar ese registro de gestión como un registro de reunión de Google Calendar. Y asi, al momento de consultar de nuevo las reuniones del dia, este registro no se vuelva a cargar.

Servicios utilizados:

  • /colaborador_proyectos_all/:idColaborador - GET: Obtiene todos los proyectos de un colaborador (generales y de soporte).
  • /proyecto_sow_curso/:idProyecto - GET: Obtiene el SOW en curso de un proyecto.
  • /registro-gestion-colaborador/todos/:queryParams - GET: Obtiene todos los registros de gestión de un colaborador, filtadro por los queryParams. (Revisar la documentación del API para mas información).
  • /tipo-actividades/:idRol - GET: Obtiene todos los tipos de actividades de un rol.
  • /basecamp-soporte-todos/:idProyecto/:idColaboradorBasecamp - POST: Obtiene todas las tareas del proyecto de soporte de un colaborador.
  • /basecamp-recording-todos/:idProyecto/:idColaboradorBasecamp - POST: Obtiene todas las tareas de un colaborador en un proyecto general.
  • /registro-gestion - POST: Crea un registro de gestión.
  • /registro-gestion - PUT: Actualiza un registro de gestión.
  • /registro-gestion - DELETE: Elimina un registro de gestión.