-- Modulo de Turnos
USE pos_torti;

-- Agregar bandera contar_al_inicio a productos
ALTER TABLE productos ADD COLUMN IF NOT EXISTS contar_al_inicio TINYINT(1) DEFAULT 0 AFTER contabilizar_corte;

-- Tabla de turnos
CREATE TABLE IF NOT EXISTS turnos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT,
    sucursal VARCHAR(100) NOT NULL,
    caja VARCHAR(50) NOT NULL,
    fondo_caja DECIMAL(10,2) DEFAULT 0,
    fecha_inicio DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    fecha_fin DATETIME NULL,
    estado ENUM('activo', 'cerrado') DEFAULT 'activo',
    corte_id INT NULL,
    notas TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Tabla de inventario inicial del turno
CREATE TABLE IF NOT EXISTS turno_inventario (
    id INT AUTO_INCREMENT PRIMARY KEY,
    turno_id INT NOT NULL,
    producto_id INT NOT NULL,
    producto_nombre VARCHAR(150) NOT NULL,
    stock_sistema DECIMAL(10,2) DEFAULT 0,
    stock_fisico DECIMAL(10,2) DEFAULT 0,
    diferencia DECIMAL(10,2) DEFAULT 0,
    unidad VARCHAR(20) DEFAULT 'pza',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (turno_id) REFERENCES turnos(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
