-- Tabelas para ordens de compra do Gestor-Y
CREATE TABLE IF NOT EXISTS gestory_ordens_compra (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    numero VARCHAR(50) NOT NULL,
    fornecedor_id INT UNSIGNED NULL,
    status ENUM('aberta', 'enviada', 'aprovada', 'recebida', 'cancelada') NOT NULL DEFAULT 'aberta',
    valor_total DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    data_emissao DATE NOT NULL,
    data_entrega_prevista DATE NULL,
    observacoes TEXT NULL,
    tenant_id VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_numero (numero),
    INDEX idx_fornecedor_id (fornecedor_id),
    INDEX idx_status (status),
    INDEX idx_tenant_id (tenant_id),
    INDEX idx_data_emissao (data_emissao),
    UNIQUE KEY uk_numero_tenant (numero, tenant_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ordens de compra do Gestor-Y';

CREATE TABLE IF NOT EXISTS gestory_ordens_compra_itens (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    ordem_compra_id INT UNSIGNED NOT NULL,
    codigo VARCHAR(100) NOT NULL,
    descricao VARCHAR(255) NOT NULL,
    quantidade DECIMAL(12,3) NOT NULL DEFAULT 1.00,
    preco_unitario DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    valor_total DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    observacoes TEXT NULL,
    imagem_url VARCHAR(500) NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_ordem_compra_id (ordem_compra_id),
    INDEX idx_codigo (codigo),
    FOREIGN KEY (ordem_compra_id) REFERENCES gestory_ordens_compra(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Itens das ordens de compra';

