schedule-tool

Schedule-tool es una herramienta que realiza el ordenamiento de horarios de trabajo de los operadores en los laboratorios del Área Académica de Ingeniería en Computadores, se desarrolló con el fin de automatizar y agilizar el proceso de definición de horarios según la disponibilidad de los operadores.

View the Project on GitHub ce-labs/schedule-tool

Schedule-tool

Schedule-tool es una herramienta que realiza el ordenamiento de horarios de trabajo de los operadores en laboratorios del Área Académica de Ingeniería en Computadores, se realizó con el fin de automatizar y agilizar el proceso de definición de horarios según la disponibilidad de los operadores.

Dicha herramienta recibe los horarios disponibles de cada uno de los operadores, según una plantilla establecida. Seguidamente el programa comienza a procesar los horarios de entrada, el encargado debe decidir si desea 1 o 2 estudiantes por turno, y retorna dos archivos uno con el horario propuesto, y otro con los estudiantes no incluidos, si fuese el caso.

Registro de Cambios - Documentación

Version

Causa del Cambio

Responsable

Fecha

001 Versión Inicial Angelo Ortiz Vega (angelortizv@estudiantec.cr) 09/28/2021

Sección Operador

A continuación, se mostrarán los pasos que deben seguir los operadores para llenar sus solicitudes.

Como primera instancia, se tienen la plantilla mostrada en la siguiente imagen donde se muestran los espacios que el estudiante debe llenar, primeramente se debe de completar los espacios en amarillo al lado de “Nombre de Operador” y “Carné”

Manual de Usuario - Estudiante 001

Si no se completan los espacios en amarillo y se selecciona alguno de los espacios en blanco del horario, aparecerá el siguiente mensaje:

Manual de Usuario - Estudiante 002

Una vez llenados los espacios amarillos mencionados anteriormente, se podrá seleccionar con “doble click” cualquiera de los espacios en blanco del horario, cambiando a color verde. El resultado final debe ser parecido al siguiente ejemplo:

Manual de Usuario - Estudiante 003

El archivo Excel de la plantilla, tiene dos sheet: “Horario” y “RegistroHorario”; en la primera aparece el horario que se mostró anteriormente, y en la segunda sheet debe aparecer una lista (según los espacios seleccionados) con lo siguiente: los datos ingresados en los espacios amarillos, la fecha y hora según lo seleccionado en el primer sheet; como se muestra a continuación:

Manual de Usuario - Estudiante 004

Finalmente guarde el archivo con su nombre y carnet en el siguiente formato: NOMBRE - CARNÉ (estudiante1 - 2001111111).

Para acceder a la plantilla, haga click aquí.

Sección administrador de herramienta

Para esta sección, ya se debe tener los archivos con las selecciones de los operadores, para ser ingresados a una carpeta que comenzará el procedimiento del programa. Se explicará con ejemplos para mejorar la comprensión del programa.

Instalación en la máquina

Prerequisitos: Debe tener instalado Git en su consola.

  1. En GitHub, vaya a la página principal del repositorio del Proyecto.
  2. Debajo del nombre del repositorio, haga clic en Clonar o descargar.
  3. En la sección Clonar con HTTPs, haga clic para copiar la URL de clonación del repositorio.
  4. Abre Git Bash y cambie el directorio de trabajo actual a la ubicación donde desea que se realice el directorio clonado.
  5. Escriba ‘git clone’, y luego pegue la URL que copió en el Paso 2.

$ https://github.com/ce-labs/schedule-tool.git

Para iniciar, al abrir la carpeta principal se deben de tener lo siguiente:

Requisitos para utilizar el programa

El programa está codificado en Python 3, específicamente en la versión Python 3.7 (64 bits) y es necesario tener instalado preferiblemente Excel o algún programa que permita la lectura de archivos con extensión .xlsx para visualizar la información de manera correcta.

También se requiere tener instalado las siguientes librerías de Python:

Dichas librerías se pueden instalar con el siguiente comando desde consola:

pip install pandas openpyxl xlrd

Se debe tener instalado pip (las últimas versiones de Python lo incluyen).

Uso de la herramienta

Para esta sección, ya se debe tener los archivos con las selecciones de los operadores, para ser ingresados a una carpeta que comenzará el procedimiento del programa. Se explicará con ejemplos para mejorar la comprensión del programa.

Para iniciar, al abrir la carpeta principal se debe de tener lo siguiente:

Manual de Usuario - Administrador 001

En la carpeta “src/data” se procede a ingresar todos los horarios seleccionados de los operadores, y debe visualizarse de la siguiente manera:

Manual de Usuario - Administrador 002

La fecha de la ultima modificación del archivo afectará en el orden de prioridad que se asignará en el horario final, por lo que se debe de asegurar que se respeta la hora que se recibió el archivo (ya que, si un operador tenía la hora de su computador atrasada, eso afectará al establecer la prioridad del horario). Una vez los archivos en dicha carpeta, ya está listo para realizar la ejecución del programa.

Abra el programa en un editor, para este ejemplo lo realicé en Pycharm

Deberá aparecer la estructura del proyecto de este modo:

Manual de Usuario - Administrador 003

Bajo la configuración del Proyecto, edite los espacios de tal manera que le quede así:

Manual de Usuario - Administrador 004

Ejecute el programa, y digite 1 o 2, según crea conveniente (cantidad de estudiantes). En consola le aparecerá un resultado como se muestra en la siguiente imagen:

Manual de Usuario - Administrador 005

En lo archivos con nombre “HorarioCompleto.xlsx” y “notInList.xls” se encuentran los resultados generados.

Si usted digitó 1, la herramienta asignará un estudiante por casilla con prioridad de recepción de archivo. Puede observar el horario tentivo en “HorarioCompleto.xlsx” y estudiantes no asignados en “notInList.xls”.

—-> “HorarioCompleto.xlsx”

Manual de Usuario - Administrador 006

—-> “notInList.xlsx”

Manual de Usuario - Administrador 008

Este es el resultado final, donde se puede observar los supuestos nombres de los estudiantes ordenados según la hora de los archivos de la plantilla del horario. El archivo Python “main”, ejecuta los dos archivos Python mencionados anteriormente, reduciendo el proceso del programa a un solo archivo.

Soporte y Contacto

Si desea contactarnos, visite el sitio en Github para obtener más información [ce-labs] (https://github.com/ce-labs/schedule-tool/)