- DevLogin com 3 usuarios reais: Pavei (rep 29), Sidnei (supervisor 191)
e Lucas (gerente 156); guard deixa de forcar DEV_REP_CODE em dev e usa
sub/id_empresa do JWT (fallback para os valores do .env); idEmpresa do
token dev opcional, default DEV_EMPRESA_ID
- getTeamCodes (vw_representantes.cod_supervisor): supervisor ve so a
equipe em pedidos SAR/ERP, detalhe, aprovar/recusar, clientes (lista e
carteira), dashboard supervisor, chamados SAC e relatorios
carteira/curva ABC; gerente/admin seguem vendo a empresa toda
- Painel gerencial: card "Positivacao Diaria de Clientes" (clientes
distintos por dia via vw_pedidos_erp) com campo de meta/dia
persistido em localStorage, linha de meta tracejada e contador de
dias na meta
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Representante abre chamado a partir de um pedido e conversa com a empresa
por thread de mensagens; o gerente responde e resolve.
- API: `SacModule` com 5 rotas do rep (listar, detalhe, criar, responder,
cancelar) e 4 da empresa (/ger/chamados: listar, detalhe, responder,
resolver). Escopo do rep e por cod_vendedor; o da empresa, por id_empresa.
- Modelos `Chamado` + `ChamadoMensagem` e migrations correspondentes.
- O chamado pode referenciar tanto um pedido nascido no SAR (id_pedido +
num_ped_sar) quanto um pedido historico do ERP (num_ped_erp) — dai
id_pedido e num_ped_sar serem nullable. `nome_cliente` fica
desnormalizado para evitar join em toda listagem.
- Web: `ChamadosPage` (rep), `GerChamadosPage` (gerente) e
`AbrirChamadoModal`, acessivel tambem pelo detalhe do pedido. Entradas
"SAC" no menu do rep e do gerente.
- `useOrderErpConsulta` ganha flag `enabled` para a busca de pedido ERP so
disparar quando o modal esta aberto.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>