-- Adicionar coluna cdintegracao na tabela realizado para rastrear origem dos dados
-- A integração busca registros com cdempresa (da origem), dtmovimento (determina exercício) e outros campos obrigatórios
ALTER TABLE back.realizado 
ADD COLUMN IF NOT EXISTS cdintegracao INTEGER REFERENCES back.integracao(cdintegracao) ON DELETE SET NULL;

-- Garantir que a coluna tpmovimento existe (tipo de movimento: D=Débito, C=Crédito)
ALTER TABLE back.realizado 
ADD COLUMN IF NOT EXISTS tpmovimento CHAR(1) CHECK (tpmovimento IN ('D', 'C'));

CREATE INDEX IF NOT EXISTS idx_realizado_integracao ON back.realizado(cdintegracao);
CREATE INDEX IF NOT EXISTS idx_realizado_tpmovimento ON back.realizado(tpmovimento);

COMMENT ON COLUMN back.realizado.cdintegracao IS 'Referência à integração que originou este registro. Campos obrigatórios na origem: cdempresa (validado contra empresas vinculadas), cdcentrocusto, cdplanocontabil, dtmovimento (determina mesref/anoref/cdexercicio), tpmovimento (D/C), valor, dscomplemento';
COMMENT ON COLUMN back.realizado.tpmovimento IS 'Tipo de movimento: D (Débito) ou C (Crédito) - obrigatório na origem';
