-- CreateTable: sar.regras_desconto (Regras de Desconto - Politicas Comerciais)
-- Desconto liberado pelo gerente por grupo/subgrupo de produto e/ou
-- representante, com vigencia. Campos nulos = "todos".
-- Definicao espelha scripts/sar-erp-schema.sql: provision-client.ts roda o schema SQL
-- antes de `prisma migrate deploy`, entao esta migration precisa ser idempotente.
-- ATENCAO: bancos ERP usam LATIN1 - nao usar em-dash nem box-drawing aqui.
CREATE TABLE IF NOT EXISTS sar.regras_desconto (
    id               SERIAL        PRIMARY KEY,
    id_empresa       INTEGER       NOT NULL,
    descricao        VARCHAR(200)  NOT NULL,
    cod_grupo        INTEGER,
    cod_subgrupo     INTEGER,
    cod_vendedor     INTEGER,
    desc_pct         NUMERIC(5,2)  NOT NULL,
    data_inicio      DATE          NOT NULL,
    data_fim         DATE          NOT NULL,
    ativa            BOOLEAN       NOT NULL DEFAULT TRUE,
    created_at       TIMESTAMP     NOT NULL DEFAULT NOW(),
    created_by       VARCHAR(100)  NOT NULL
);

CREATE INDEX IF NOT EXISTS idx_sar_regras_empresa ON sar.regras_desconto(id_empresa);
CREATE INDEX IF NOT EXISTS idx_sar_regras_vigente ON sar.regras_desconto(id_empresa, data_fim) WHERE ativa;
