-- ============================================
-- POS Las Delicias - Setup Base de Datos
-- ============================================

CREATE DATABASE IF NOT EXISTS pos_delicias CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE pos_delicias;

-- Usuarios
CREATE TABLE IF NOT EXISTS usuarios (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL,
  pin_hash VARCHAR(255) NOT NULL,
  activo TINYINT(1) DEFAULT 1,
  creado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Categorías
CREATE TABLE IF NOT EXISTS categorias (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(100) NOT NULL,
  orden INT DEFAULT 0
);

-- Productos
CREATE TABLE IF NOT EXISTS productos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(150) NOT NULL,
  detalle VARCHAR(255),
  categoria_id INT,
  precio DECIMAL(10,2) NOT NULL,
  activo TINYINT(1) DEFAULT 1,
  FOREIGN KEY (categoria_id) REFERENCES categorias(id)
);

-- Ventas
CREATE TABLE IF NOT EXISTS ventas (
  id INT AUTO_INCREMENT PRIMARY KEY,
  usuario_id INT NOT NULL,
  tipo ENUM('ticket','boleta','factura') NOT NULL,
  subtotal DECIMAL(10,2) NOT NULL,
  igv DECIMAL(10,2) NOT NULL DEFAULT 0,
  total DECIMAL(10,2) NOT NULL,
  ruc_cliente VARCHAR(20),
  razon_social_cliente VARCHAR(255),
  estado ENUM('emitido','anulado') DEFAULT 'emitido',
  numero_correlativo VARCHAR(20),
  fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
);

-- Items de venta
CREATE TABLE IF NOT EXISTS venta_items (
  id INT AUTO_INCREMENT PRIMARY KEY,
  venta_id INT NOT NULL,
  producto_id INT NOT NULL,
  nombre_producto VARCHAR(150) NOT NULL,
  cantidad INT NOT NULL,
  precio_unit DECIMAL(10,2) NOT NULL,
  subtotal DECIMAL(10,2) NOT NULL,
  FOREIGN KEY (venta_id) REFERENCES ventas(id),
  FOREIGN KEY (producto_id) REFERENCES productos(id)
);

-- ============================================
-- Datos iniciales
-- ============================================

-- Usuarios (PIN: 1111 para usuario1, 2222 para usuario2)
INSERT INTO usuarios (nombre, pin_hash) VALUES
('Usuario 1', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'), -- PIN: 1111
('Usuario 2', '$2y$10$9QG3lBCxJfhxVL2oAE9bCeRb3qNt8RzOcwD5P7kFfxvnRBsJjPaG2'); -- PIN: 2222

-- Categorías (de la carta)
INSERT INTO categorias (nombre, orden) VALUES
('Dulces', 1),
('Tortas', 2),
('Postres Calientes', 3),
('Snacks Salados', 4),
('Jugos', 5),
('Bebidas', 6);

-- Productos (de la carta de Las Delicias)
INSERT INTO productos (nombre, detalle, categoria_id, precio) VALUES
-- Dulces
('Pay Manzana', 'Porción', 1, 5.00),
('Pay de Limón', 'Porción', 1, 6.00),
('Gelatina', 'Fresa', 1, 3.00),
('Gelatina c/Flan', 'Fresa', 1, 3.00),
('Crema Volteada', 'Porción', 1, 6.00),
-- Tortas
('Porción de Torta', 'Manjar blanco, crema o chocolate', 2, 6.00),
('Queque', 'Vainilla', 2, 2.50),
-- Postres Calientes
('Mazamorra', '8oz', 3, 4.50),
('Arroz c/Leche', '8oz', 3, 4.50),
('Combinado', 'Mazamorra & Arroz c/leche 8oz', 3, 4.50),
-- Snacks Salados
('Pan c/Pollo', '', 4, 6.00),
('Empanada', 'Carne o Pollo', 4, 6.00),
-- Jugos
('Jugo Surtido', '16oz', 5, 8.00),
('Jugo Especial', '16oz', 5, 12.00),
-- Bebidas
('Té', '', 6, 3.00),
('Anís', '', 6, 3.00),
('Manzanilla', '', 6, 3.00),
('Café', '', 6, 5.00),
('Café c/Leche', '', 6, 6.00),
('Chicha (Vaso)', '', 6, 3.00);
