- Substitui importação por exportação de dados em CSV
- Adiciona ordenação alfabética e por data nas colunas da tabela
- Exibe somatório total dos registros filtrados na interface e no export
- Corrige escopo de variáveis no useEffect de filtros
Detalhes das alterações:
[Banco de Dados]
- Ajuste nas constraints UNIQUE das tabelas de catálogo (cursos, empresas, tipos_eventos, etc.) para incluir a coluna `regiao`, permitindo dados duplicados entre regiões mas únicos por região.
- Correção crítica na constraint da tabela `precos_tipos_eventos` para evitar conflitos de UPSERT (ON CONFLICT) durante a inicialização.
- Implementação de lógica de Seed para a região 'MG':
- Clonagem automática de catálogos base de 'SP' para 'MG' (Tipos de Evento, Serviços, etc.).
- Inserção de tabela de preços específica para 'MG' via script de migração.
[Backend - Go]
- Atualização geral dos Handlers e Services para filtrar dados baseados no cabeçalho `x-regiao`.
- Ajuste no Middleware de autenticação para processar e repassar o contexto da região.
- Correção de queries SQL (geradas pelo sqlc) para suportar os novos filtros regionais.
[Frontend - React]
- Implementação do envio global do cabeçalho `x-regiao` nas requisições da API.
- Correção no componente [PriceTableEditor](cci:1://file:///c:/Projetos/photum/frontend/components/System/PriceTableEditor.tsx:26:0-217:2) para carregar e salvar preços respeitando a região selecionada (fix de "Preços zerados" em MG).
- Refatoração profunda na tela de Importação ([ImportData.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/ImportData.tsx:0:0-0:0)):
- Adição de feedback visual detalhado para registros ignorados.
- Categorização explícita de erros: "CPF Inválido", "Região Incompatível", "Linha Vazia/Separador".
- Correção na lógica de contagem para considerar linhas vazias explicitamente no relatório final, garantindo que o total bata com o Excel.
[Geral]
- Correção de diversos erros de lint e tipagem TSX.
- Padronização de logs de erro no backend para facilitar debug.
- Melhora Importação: ignora linhas vazias/inválidas automaticamente.
- Filtros Server-Side: busca em todas as páginas (FOT, Nome, etc.).
- Colunas Novas: adiciona Curso, Instituição, Ano e Empresa na tabela.
- UI/UX: Corrige ordenação (vazios no fim) e adiciona scrollbar no topo.
Backend:
- Migration 007: alterada coluna `fot` de INTEGER para VARCHAR(50).
- Ajustados serviços (finance, agenda) e handlers para processar FOT como string.
- Regenerados modelos e queries do banco de dados (sqlc).
Frontend:
- [FotForm](cci:1://file:///c:/Projetos/photum/frontend/components/FotForm.tsx:13:0-348:2): Permitido input de texto/alfanumérico (ex: "20000MG").
- [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:29:0-684:2): Removido bloqueio do botão "Aprovar" para equipes incompletas.
- [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1749:2): Corrigida duplicação do campo "Qtd Formandos".
- [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1749:2): Filtros de "Gerenciar Equipe" agora usam funções dinâmicas (IDs) em vez de valores fixos.
- `Navbar`: Logo agora redireciona corretamente para `/painel`.
Este commit introduz o módulo financeiro completo e refatora o sistema de profissionais para suportar múltiplas funções, corrigindo a contabilização e validação de equipes.
Principais alterações:
- **Módulo Financeiro:**
- Criação da tabela `financial_transactions` e queries associadas.
- Implementação do backend (Handler/Service) para gerenciar transações.
- Nova página [Finance.tsx](cci:7://file:///c:/Projetos/photum/frontend/pages/Finance.tsx:0:0-0:0) com listagem, edição, filtros avançados e agrupamento por FOT.
- Correção na busca de FOTs e formatação de datas.
- **Gestão de Equipe e Profissionais:**
- Refatoração para suportar múltiplas funções por profissional (Backend & Frontend).
- Atualização do [Dashboard](cci:1://file:///c:/Projetos/photum/frontend/pages/Dashboard.tsx:31:0-1663:2) e [EventTable](cci:1://file:///c:/Projetos/photum/frontend/components/EventTable.tsx:28:0-659:2) para contabilizar corretamente profissionais (Fotografo, Cinegrafista, Recepcionista) verificando a lista de funções.
- Implementação de validação de cota no aceite de convites (bloqueia se a equipe da função específica já estiver completa).
- Ajuste visual nos indicadores de "Equipe Completa" e contadores de faltantes na listagem de eventos.
- **Geral:**
- Atualização da documentação Swagger.
- Ajustes de tipagem e migrações de banco de dados.