anthropics / anthropics/knowledge-work-plugins

Expansão da Árvore de Tabulações

Đang mở
#87 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
24k
Fork
2.9k
Merge trung bình
1 ngày 16 giờ
Pull request đã merge (30 ngày)
149

Mô tả

1. Resumo Executivo
Expandir o sistema de tabulações de encerramento de atendimento, passando de 5 tabulações genéricas para 35+ tabulações estruturadas por área/motivo de contato, com busca em tempo real no dialog de encerramento.

Locais de uso:

Configuração: Admin → Tabulações
Operacional: Atendimento → Meus Atendimentos → Encerrar Atendimento
2. Problema
Apenas 5 tabulações genéricas (Positive, Neutral, Negative)
Baixa granularidade na categorização dos atendimentos
Dificuldade para identificar motivos reais de contato
Impacto direto na qualidade de relatórios e métricas
Perda de visibilidade sobre gargalos operacionais
Lista limitada e sem busca estruturada na tela de encerramento
3. Solução
3.1 Novas Tabulações (35 itens em 5 categorias)
Atendimento Geral (10):

Problema Resolvido
Informação Fornecida
Orientação de Uso (app/plataforma)
Dúvida Comercial Esclarecida
Treinamento / Onboarding
Problema Não Resolvido
Erro no Sistema
Reclamação do Seller
Falha Operacional ZAX
Falha de Comunicação
Logística (7):

Atraso Logístico
Atraso na Coleta
Atraso na Entrega
Problema com Código de Rastreio
Extravio
Falha na Atualização de Status
Problema com Frete
Financeiro (6):

Dúvida de Repasse
Cobrança Indevida
Divergência de Valores
Estorno
Taxas / Comissão
Problema Financeiro (geral)
Pedidos (6):

Divergência de Pedido
Pedido Cancelado
Pedido com Problema
Alteração de Pedido
Pedido Não Integrado
Cancelamento Indevido
Loja / Sistema (6):

Bloqueio / Penalização de Loja
Bug no App
Lentidão
Erro de Cadastro
Problema de Login
Produto Não Publicado
3.2 Busca no Dialog de Encerramento
Substituir o Select simples por um Combobox com busca (cmdk):

Filtragem em tempo real por nome e categoria
Lista agrupada por categoria
Mostra "Categoria / Nome" quando selecionado
Placeholder: "Buscar por nome ou categoria..."
3.3 Botão "Popular Tabulações" no Admin
Botão na tela Admin → Tabulações para criar todas as 35 tabulações de uma vez. Ignora duplicatas automaticamente (seguro para rodar múltiplas vezes).

4. Implementação (código já pronto na branch)
4.1 Arquivos Criados
src/components/ui/command.tsx — Componente Command (cmdk) do shadcn/ui para busca em dropdown
src/app/api/support/tabulations/seed/route.ts — API POST para popular as 35 tabulações
4.2 Arquivos Modificados
package.json — Adicionada dependência cmdk@1.0.4
src/modules/support/components/atendimento/close-ticket-dialog.tsx — Substituído Select por Combobox com busca
src/modules/support/components/tabulations/tabulation-list.tsx — Adicionado botão "Popular Tabulações"
src/modules/support/hooks/use-tabulations.ts — Adicionado hook useSeedTabulations()
src/modules/support/services/tabulations.service.ts — Adicionada função seedTabulations()
src/modules/support/repositories/tabulation-repository.ts — Adicionado método createMany()
4.3 Dependência nova
npm install cmdk@1.0.4

5. PRÉ-REQUISITO: Permissão no Banco de Dados
⚠️ EXECUTAR ANTES DE TESTAR
O usuário do banco (zaxreadonly) não tem permissão de escrita na tabela support_tabulations. Sem isso, nenhuma operação de escrita funciona (criar, editar, excluir, popular).

Rodar no PostgreSQL com usuário admin:

GRANT INSERT, UPDATE, DELETE ON TABLE support_tabulations TO zaxreadonly;
GRANT USAGE, SELECT ON SEQUENCE support_tabulations_id_seq TO zaxreadonly;

Verificar se outras tabelas de suporte também precisam:

SELECT grantee, table_name, privilege_type
FROM information_schema.table_privileges
WHERE table_name LIKE 'support_%'
AND grantee = 'zaxreadonly';

6. Fluxo de Teste
6.1 Preparação
Rodar os comandos GRANT no banco (seção 5)
npm install (para instalar cmdk)
npm run dev
6.2 Admin — Popular Tabulações
Acessar Admin → Tabulações
Clicar no botão "Popular Tabulações"
Verificar que 35 tabulações aparecem organizadas em 5 categorias
Toast de sucesso: "35 tabulações criadas (0 já existiam)"
Clicar novamente — deve mostrar "0 tabulações criadas (35 já existiam)"
6.3 Admin — CRUD Individual
Criar uma tabulação manual via "Nova Tabulação"
Editar uma tabulação existente
Ativar/desativar toggle
Excluir uma tabulação
6.4 Encerrar Atendimento — Busca
Ir em Atendimento → Meus Atendimentos
Abrir uma conversa ativa
Clicar em "Encerrar Atendimento"
No combobox: digitar "atraso" → deve filtrar tabulações de Logística
Digitar "financeiro" → deve filtrar por categoria
Digitar "bug" → deve mostrar "Bug no App"
Selecionar uma tabulação
Adicionar nota de encerramento (opcional)
Clicar "Encerrar Atendimento"
6.5 Dashboard
Acessar Dashboard
Verificar que o gráfico de tabulações reflete as novas categorias
7. Notas Técnicas
Multi-tenant: Todas as tabulações são criadas por accountId. Cada conta tem suas próprias tabulações.
Unique constraint: [accountId, name] — não permite duplicatas por conta.
Soft delete: Exclusão marca is_active = false, não deleta do banco.
Seed idempotente: O endpoint /api/support/tabulations/seed pode ser chamado múltiplas vezes sem duplicar dados.
Build: npm run build passa sem erros.
Sem migração: Não há alteração no schema do Prisma. A tabela support_tabulations já existe com todos os campos necessários.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.