feat: Implementar finalización del flujo /horario

Este commit introduce la lógica para procesar y guardar los datos recopilados por el flujo de conversación .

Cambios:

1.  **Nueva tabla de base de datos**: Se ha añadido una nueva tabla  a la base de datos  para almacenar los horarios de trabajo de los usuarios.
2.  **Nuevo modelo SQLAlchemy**: Se ha creado el modelo  en .
3.  **Nuevo **: Se ha creado un nuevo módulo para centralizar la lógica de finalización de los flujos de conversación.
    *   La función  determina qué acción tomar en función del flujo que ha finalizado.
    *   La función  se encarga de:
        *   Enviar los datos del horario al .
        *   Guardar (o actualizar si ya existe) el horario en la nueva tabla .
4.  **Actualización de **: El constructor de flujos ahora llama a  cuando una conversación llega a su fin, conectando la lógica de conversación con la de procesamiento de datos.
This commit is contained in:
Marco Gallegos
2025-12-20 10:31:17 -06:00
parent 60dddc147b
commit 338108d7b7
4 changed files with 212 additions and 34 deletions

View File

@@ -30,3 +30,24 @@ class HorarioEmpleadas(Base):
hora_entrada_teorica = Column(Time)
hora_salida_teorica = Column(Time)
empleada = relationship("DataEmpleadas", backref="horario_empleadas")
class HorariosConfigurados(Base):
__tablename__ = 'horarios_configurados'
__table_args__ = {'schema': 'vanity_attendance'}
id = Column(Integer, primary_key=True, autoincrement=True)
telegram_id = Column(BigInteger, nullable=False)
timestamp = Column(Time)
short_name = Column(String(100))
monday_in = Column(Time)
monday_out = Column(Time)
tuesday_in = Column(Time)
tuesday_out = Column(Time)
wednesday_in = Column(Time)
wednesday_out = Column(Time)
thursday_in = Column(Time)
thursday_out = Column(Time)
friday_in = Column(Time)
friday_out = Column(Time)
saturday_in = Column(Time)
saturday_out = Column(Time)