-- =============================================================
--  MIGRATION IPAForros — Produção
--  Gerado em: 2026-06-22
--  Banco alvo: helpcar
--  Execute este arquivo inteiro de uma vez no seu banco.
-- =============================================================

USE helpcar;

-- -------------------------------------------------------------
-- 1. VENDAS — tipo de venda (atacado / varejo)
-- -------------------------------------------------------------
ALTER TABLE venda
    ADD COLUMN  tipo_venda ENUM('varejo', 'atacado') NOT NULL DEFAULT 'varejo';

-- -------------------------------------------------------------
-- 2. VENDAS — controle de baixa no estoque (reversível)
-- -------------------------------------------------------------
ALTER TABLE venda
    ADD COLUMN  estoque_baixado TINYINT(1) NOT NULL DEFAULT 0,
    ADD COLUMN  data_baixa_estoque DATETIME NULL;

-- -------------------------------------------------------------
-- 3. PAGAMENTO — path do recibo PDF
-- -------------------------------------------------------------
ALTER TABLE pagamento
    ADD COLUMN  recibo_pdf VARCHAR(255) NULL;

-- -------------------------------------------------------------
-- 4. CONFIGURAÇÕES NF-e / NFC-e
-- -------------------------------------------------------------
CREATE TABLE  config_nfe (
    id                INT PRIMARY KEY AUTO_INCREMENT,
    cnpj              VARCHAR(18)  NULL,
    ie                VARCHAR(20)  NULL,
    razao_social      VARCHAR(150) NULL,
    nome_fantasia     VARCHAR(100) NULL,
    telefone          VARCHAR(20)  NULL,
    logradouro        VARCHAR(100) NULL,
    numero            VARCHAR(10)  NULL,
    complemento       VARCHAR(60)  NULL,
    bairro            VARCHAR(60)  NULL,
    municipio         VARCHAR(60)  NULL,
    uf                CHAR(2)      NULL,
    cep               CHAR(8)      NULL,
    ibge_municipio    CHAR(7)      NULL,
    regime_tributario TINYINT      NOT NULL DEFAULT 1,   -- 1=Simples, 2=Simples excesso, 3=Normal
    serie_nfe         SMALLINT     NOT NULL DEFAULT 1,
    numero_nfe        INT          NOT NULL DEFAULT 0,
    serie_nfce        SMALLINT     NOT NULL DEFAULT 1,
    numero_nfce       INT          NOT NULL DEFAULT 0,
    csc               VARCHAR(36)  NULL,
    csc_id            VARCHAR(6)   NULL,
    ambiente          TINYINT      NOT NULL DEFAULT 2,   -- 2=homologação, 1=produção
    cert_arquivo      VARCHAR(200) NULL,
    cert_senha        VARCHAR(100) NULL,
    cfop_padrao       VARCHAR(5)   NOT NULL DEFAULT '5102',
    updated_at        TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- -------------------------------------------------------------
-- 5. NOTAS FISCAIS EMITIDAS
-- -------------------------------------------------------------
CREATE TABLE  nota_fiscal (
    id            INT PRIMARY KEY AUTO_INCREMENT,
    id_venda      INT          NOT NULL,
    tipo          ENUM('nfe','nfce') NOT NULL,
    numero        INT          NULL,
    serie         SMALLINT     NULL,
    chave_acesso  VARCHAR(44)  NULL,
    protocolo     VARCHAR(20)  NULL,
    status        ENUM('pendente','autorizado','cancelado','rejeitado','erro') NOT NULL DEFAULT 'pendente',
    valor_total   DECIMAL(10,2) NULL,
    xml_path      VARCHAR(200) NULL,
    pdf_path      VARCHAR(200) NULL,
    dados_envio   JSON         NULL,
    dados_retorno JSON         NULL,
    created_at    TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (id_venda) REFERENCES venda(id)
);

-- =============================================================
--  FIM DA MIGRATION
-- =============================================================
