View sar.vw_metas expõe gestao.metavenda com joins descritivos:
- nome_vendedor (gestao.vendedor)
- desc_grupo / desc_subgrupo (gestao.grupo)
- nome_marca (gestao.marca)
- Campos calculados: ano e mes extraídos de mes_ano (date)
Campo tipo (char 2) controla o escopo da meta:
G/GE=geral, GR=grupo, SG=subgrupo, MA=marca, PR=produto, AC=classe ABC
DashboardService usará tipo='G' (ou equivalente) para calcular %
atingido vs meta; os demais tipos ficam disponíveis para detalhamento
futuro. Taxas de comissão/flex vêm de vw_representantes (taxa_com),
não da tabela sar.meta_representante (que guarda apenas overrides SAR).
Renumera seções 4-16 → 5-17 para acomodar vw_metas como seção 4.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Cria scripts/sar-erp-schema.sql com tudo no schema sar:
- 15 views de leitura (vw_clientes, vw_produtos, vw_estoque, vw_pautas,
vw_representantes, vw_empresas, vw_ctr, vw_pedidos_erp, etc.) que
espelham gestao.* e sig.* sem modificar o ERP
- Tabelas de escrita SAR: pedidos, pedido_itens, historico_pedido,
alcada_desconto, meta_representante, push_subscription
- Índices e grants comentados prontos para prod
Arquitetura: SAR on-prem no mesmo PostgreSQL do ERP (módulo SIG).
Substitui ADR 0006 (BD-por-workspace separado) — workspace = id_empresa.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
pnpm workspace:provision --id <id> [--name <nome>] [--with-seed]
Cria banco sar_workspace_{id}, habilita extensões, aplica todas as
migrations e opcionalmente popula dados demo. Sem master DB necessário
— JwtAuthGuard resolve a URL pela convenção de nome (ADR 0006).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>