mirror of
https://github.com/marcogll/telegram_new_socias.git
synced 2026-01-13 13:15:16 +00:00
feat: refactor schedule storage to vanity_hr schema, update onboarding command to /registro, and enhance horario flow with short name collection
This commit is contained in:
34
db_logic.md
34
db_logic.md
@@ -108,6 +108,20 @@ Tabla central de Recursos Humanos. Contiene información contractual, personal,
|
||||
| con_goce_sueldo | tinyint(1) | | 0 / 1 |
|
||||
| afecta_nomina | tinyint(1) | | Impacto |
|
||||
|
||||
|
||||
#### Tabla: `horario_empleadas` (Diccionario de turnos)
|
||||
|
||||
| Campo | Tipo | Key | Descripción |
|
||||
| -------------------- | ----------- | --- | ---------------- |
|
||||
| id_horario | int | PRI | ID |
|
||||
| numero_empleado | varchar(15) | MUL | Relación RH |
|
||||
| telegram_id | bigint | | Llave webhook |
|
||||
| dia_semana | varchar(20) | | monday, tuesday… |
|
||||
| hora_entrada_teorica | time | | Entrada |
|
||||
| hora_salida_teorica | time | | Salida |
|
||||
|
||||
*Los capturados desde `/horario` generan un registro por día mediante upsert (por `telegram_id` + `dia_semana`).*
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Base de Datos: `vanity_attendance`
|
||||
@@ -128,19 +142,6 @@ Tabla central de Recursos Humanos. Contiene información contractual, personal,
|
||||
|
||||
---
|
||||
|
||||
#### Tabla: `horario_empleadas` (Diccionario de turnos)
|
||||
|
||||
| Campo | Tipo | Key | Descripción |
|
||||
| -------------------- | ----------- | --- | ---------------- |
|
||||
| id_horario | int | PRI | ID |
|
||||
| numero_empleado | varchar(15) | MUL | Relación RH |
|
||||
| telegram_id | bigint | | Llave webhook |
|
||||
| dia_semana | varchar(20) | | monday, tuesday… |
|
||||
| hora_entrada_teorica | time | | Entrada |
|
||||
| hora_salida_teorica | time | | Salida |
|
||||
|
||||
---
|
||||
|
||||
### 2.3 Base de Datos: `USERS_ALMA`
|
||||
|
||||
#### Tabla: `users` (10 campos)
|
||||
@@ -171,7 +172,7 @@ Tabla central de Recursos Humanos. Contiene información contractual, personal,
|
||||
### 3.2 Asistencia
|
||||
|
||||
* Identificación por `telegram_id`
|
||||
* Cruce con `horario_empleadas` según día
|
||||
* Cruce con `vanity_hr.horario_empleadas` según día
|
||||
* Cálculo de retraso contra horario teórico
|
||||
|
||||
---
|
||||
@@ -180,6 +181,7 @@ Tabla central de Recursos Humanos. Contiene información contractual, personal,
|
||||
|
||||
* **Identificación**: `body.telegram.user_id`
|
||||
* **Operación**: Upsert por día
|
||||
* **Persistencia**: `vanity_hr.horario_empleadas` (clave `telegram_id` + `dia_semana`)
|
||||
* **Formato**: conversión de `10:00 AM` → `10:00:00`
|
||||
|
||||
---
|
||||
@@ -199,7 +201,7 @@ LIMIT 1;
|
||||
|
||||
-- Horario del día
|
||||
SELECT hora_entrada_teorica
|
||||
FROM vanity_attendance.horario_empleadas
|
||||
FROM vanity_hr.horario_empleadas
|
||||
WHERE telegram_id = ? AND dia_semana = 'monday';
|
||||
```
|
||||
|
||||
@@ -215,4 +217,4 @@ Este documento define el **contrato técnico** del sistema Vanity. Cualquier cam
|
||||
2. **Modify `docker-compose.yml`:** Mount the initialization script.
|
||||
3. **Update `.env.example`:** Add new environment variables.
|
||||
4. **Implement SQLAlchemy models:** Create Python classes for each table.
|
||||
5. **Refactor database logic:** Use the new models in the application.
|
||||
5. **Refactor database logic:** Use the new models in the application.
|
||||
|
||||
Reference in New Issue
Block a user