mirror of
https://github.com/marcogll/telegram_new_socias.git
synced 2026-01-13 13:15:16 +00:00
133 lines
4.1 KiB
SQL
133 lines
4.1 KiB
SQL
CREATE DATABASE IF NOT EXISTS USERS_ALMA;
|
|
CREATE DATABASE IF NOT EXISTS vanity_hr;
|
|
CREATE DATABASE IF NOT EXISTS vanity_attendance;
|
|
|
|
USE USERS_ALMA;
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
username VARCHAR(50) UNIQUE,
|
|
role ENUM('admin', 'manager', 'user'),
|
|
first_name VARCHAR(100),
|
|
last_name VARCHAR(100),
|
|
email VARCHAR(100) UNIQUE,
|
|
cell_phone VARCHAR(20),
|
|
telegram_id VARCHAR(50) UNIQUE,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS request_logs (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
telegram_id VARCHAR(50),
|
|
username VARCHAR(100),
|
|
command VARCHAR(100),
|
|
message VARCHAR(500),
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
USE vanity_hr;
|
|
|
|
CREATE TABLE IF NOT EXISTS data_empleadas (
|
|
numero_empleado VARCHAR(15) PRIMARY KEY,
|
|
puesto VARCHAR(50),
|
|
sucursal VARCHAR(50),
|
|
fecha_ingreso DATE,
|
|
estatus VARCHAR(15),
|
|
nombre_completo VARCHAR(150),
|
|
nombre VARCHAR(50),
|
|
nombre_preferido VARCHAR(50),
|
|
apellido_paterno VARCHAR(50),
|
|
apellido_materno VARCHAR(50),
|
|
fecha_nacimiento DATE,
|
|
lugar_nacimiento VARCHAR(50),
|
|
rfc VARCHAR(13) UNIQUE,
|
|
curp VARCHAR(18) UNIQUE,
|
|
email VARCHAR(100),
|
|
telefono_celular VARCHAR(15),
|
|
domicilio_calle VARCHAR(255),
|
|
domicilio_numero_exterior VARCHAR(10),
|
|
domicilio_numero_interior VARCHAR(10),
|
|
domicilio_numero_texto VARCHAR(50),
|
|
domicilio_colonia VARCHAR(255),
|
|
domicilio_codigo_postal VARCHAR(10),
|
|
domicilio_ciudad VARCHAR(100),
|
|
domicilio_estado VARCHAR(50),
|
|
domicilio_completo VARCHAR(255),
|
|
emergencia_nombre VARCHAR(100),
|
|
emergencia_telefono VARCHAR(15),
|
|
emergencia_parentesco VARCHAR(50),
|
|
referencia_1_nombre VARCHAR(100),
|
|
referencia_1_telefono VARCHAR(15),
|
|
referencia_1_tipo VARCHAR(20),
|
|
referencia_2_nombre VARCHAR(100),
|
|
referencia_2_telefono VARCHAR(15),
|
|
referencia_2_tipo VARCHAR(20),
|
|
referencia_3_nombre VARCHAR(100),
|
|
referencia_3_telefono VARCHAR(15),
|
|
referencia_3_tipo VARCHAR(20),
|
|
origen_registro VARCHAR(50),
|
|
telegram_usuario VARCHAR(50),
|
|
telegram_chat_id BIGINT,
|
|
bot_version VARCHAR(20),
|
|
fecha_registro DATETIME,
|
|
tiempo_registro_minutos INT,
|
|
fecha_procesamiento DATETIME(3)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS vacaciones (
|
|
vacaciones_id VARCHAR(50) PRIMARY KEY,
|
|
numero_empleado VARCHAR(15),
|
|
tipo_solicitud VARCHAR(20),
|
|
estatus ENUM('pendiente', 'aprobado', 'rechazado', 'cancelado'),
|
|
fecha_inicio DATE,
|
|
fecha_fin DATE,
|
|
dias_solicitados INT,
|
|
dias_habiles INT,
|
|
motivo TEXT,
|
|
con_goce_sueldo TINYINT(1),
|
|
fecha_solicitud DATETIME,
|
|
fecha_procesamiento DATETIME(3),
|
|
origen VARCHAR(20),
|
|
afecta_nomina TINYINT(1),
|
|
FOREIGN KEY (numero_empleado) REFERENCES data_empleadas(numero_empleado)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS permisos (
|
|
permiso_id VARCHAR(50) PRIMARY KEY,
|
|
numero_empleado VARCHAR(15),
|
|
categoria ENUM('PERSONAL', 'MEDICO', 'OFICIAL', 'OTRO'),
|
|
estatus ENUM('pendiente', 'aprobado', 'rechazado', 'cancelado'),
|
|
fecha_inicio DATE,
|
|
horario_especifico VARCHAR(50),
|
|
motivo TEXT,
|
|
con_goce_sueldo TINYINT(1),
|
|
afecta_nomina TINYINT(1),
|
|
FOREIGN KEY (numero_empleado) REFERENCES data_empleadas(numero_empleado)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS horario_empleadas (
|
|
id_horario INT AUTO_INCREMENT PRIMARY KEY,
|
|
numero_empleado VARCHAR(15),
|
|
telegram_id BIGINT,
|
|
dia_semana VARCHAR(20),
|
|
hora_entrada_teorica TIME,
|
|
hora_salida_teorica TIME,
|
|
FOREIGN KEY (numero_empleado) REFERENCES data_empleadas(numero_empleado)
|
|
);
|
|
|
|
USE vanity_attendance;
|
|
|
|
CREATE TABLE IF NOT EXISTS asistencia_registros (
|
|
id_asistencia INT AUTO_INCREMENT PRIMARY KEY,
|
|
numero_empleado VARCHAR(15),
|
|
fecha DATE,
|
|
hora_entrada_real TIME,
|
|
hora_salida_real TIME,
|
|
minutos_retraso INT,
|
|
minutos_extra INT,
|
|
sucursal_registro VARCHAR(50),
|
|
telegram_id_usado BIGINT,
|
|
FOREIGN KEY (numero_empleado) REFERENCES vanity_hr.data_empleadas(numero_empleado)
|
|
);
|