🛣️ Rotas e Navegação - ecosif-angular

📋 Visão Geral

Este documento lista todas as rotas disponíveis na aplicação ecosif-angular, organizadas por módulo e funcionalidade.


🏗️ Estrutura de Rotas

A aplicação utiliza lazy loading para módulos grandes, melhorando performance inicial:

// Rotas principais (app-routing.module.ts)
- Rotas de autenticação (públicas)
- Rotas protegidas (com AuthGuard)
  - Módulos lazy-loaded:
    - Dashboard
    - Base (componentes)
    - Notifications
    - Compliance
    - Pages (módulo grande)

🔐 Rotas de Autenticação (Públicas)

Rota Componente Descrição
/login LoginComponent Página de login (local/Azure AD)
/register RegisterComponent Cadastro de novo usuário
/resetpassword/:id ResetPasswordComponent Reset de senha via token

📊 Rotas Protegidas (com AuthGuard)

Dashboard

Rota Componente Módulo Descrição
/dashboard DashboardComponent dashboard.module (lazy) Dashboard executivo com gráficos

Cadastros

Empresas e Filiais

Rota Componente Descrição
/company_detail CompanydetailsComponent Lista de empresas
/company_detail/:id CompanydetailFormComponent Editar empresa
/company_branch_detail BranchdetailsComponent Lista de filiais
/company_branch_detail/:id BranchdetailFormComponent Editar filial
/company_options/:id CompanysettingFormComponent Opções da empresa

Planos de Contas

Rota Componente Descrição
/chart_of_accounts ChartOfAccountsComponent Plano de contas principal
/chart_of_accounts/:id ChartOfAccountFormComponent Editar conta
/reference_chart_of_accounts ReferenceChartOfAccountsComponent Plano de contas referencial
/reference_chart_of_accounts/:id ReferenceChartOfAccountFormComponent Editar conta referencial
/reference_chart_of_accounts/copy/:copy ReferenceChartOfAccountFormComponent Copiar conta referencial
/reference_chart_of_accounts/add/:add ReferenceChartOfAccountFormComponent Adicionar conta referencial

Configurações

Rota Componente Descrição
/history HistoryComponent Históricos padrão
/history/:id HistoryFormComponent Editar histórico
/fund_type FundTypeComponent Tipos de fundo
/fund_type/:id FundTypeFormComponent Editar tipo de fundo
/fund_settings FundsettingsComponent Configuração de fundos
/fund_settings/:id FundsettingFormComponent Editar configuração

Movimentações Contábeis

Rota Componente Descrição
/create-entries CreateEntriesComponent Criar lançamentos manuais
/batchentry BatchEntriesComponent Lotes contábeis
/monthopening MonthOpeningComponent Abertura de mês contábil
/consolidation ConsolidationComponent Consolidação contábil
/dayclosing DailyClosingComponent Encerramento diário

Consultas

Rota Componente Descrição
/balanceinformation BalanceInquiryComponent Consulta saldo/razão
/listagemlancamentos ListagemLancamentosComponent Listagem de lançamentos

Relatórios

Rota Componente Descrição
/balancetemensal BalancetemensalComponent Balancete mensal
/balancetediario BalancetediarioComponent Balancete diário
/balancetegeral BalanceteGeralComponent Balancete geral
/balancetemensalcvm BalanceteMensalCvmComponent Balancete mensal CVM
/balancetepatrimonial BalancetepatrimonialComponent Balanço patrimonial
/patrimonialcvm PatrimonialCvmComponent Patrimonial CVM
/relatoriorazao RelatorioRazaoComponent Relatório razão
/relatorio4010 Relatorio4010Module (lazy) Relatório 4010/16
/combinar_relatorio CombinarRelatorioComponent Relatório combinado
/termreport TermReportFormComponent Relatórios de abertura/encerramento
/dailyreport DailyReportFormComponent Relatório diário

Administração

Usuários e Grupos

Rota Componente Descrição
/users UsersComponent Gestão de usuários
/user/:id UserFormComponent Editar usuário
/groups GroupsComponent Gestão de grupos
/group/:id GroupFormComponent Editar grupo

Rotinas e Acesso

Rota Componente Descrição
/routine RoutineComponent Rotinas do sistema
/routine/:id RoutineFormComponent Editar rotina
/routinecontrol RoutineAccessControlComponent Controle de acesso a rotinas

Configurações Avançadas

Rota Componente Descrição
/calendar CalendarComponent Calendário contábil
/closuresettings ClosuresettingsComponent Configuração de encerramento
/closuresettings/:id ClosuresettingFormComponent Editar configuração
/closuredetail ClosuredetailFormComponent Detalhes de encerramento
/quota_calculation QuotaCalculationComponent Cálculo de cotas
/taxquota TaxQuotaCalculationComponent Cálculo de cota/taxa
/standard_release StandardReleasesComponent Lançamentos padrão
/standard_release/:id StandardReleaseComponent Editar lançamento padrão
/sendreturnhistoricaldata SendReturnHistoricalDataComponent Enviar/retornar dados históricos
/docker-logs DockerLogsComponent Visualizar logs Docker

Features (Lazy-Loaded)

Compliance

Rota Componente Módulo Descrição
/compliance ComplianceComponent compliance.module (lazy) Módulo de compliance
/compliance/rules RulesComponent - Regras de compliance

Base Components

Rota Módulo Descrição
/base/* base.module (lazy) Componentes base (tooltips, accordion, etc.)

Notifications

Rota Módulo Descrição
/notifications/* notifications.module (lazy) Componentes de notificação

Rotas de Erro

Rota Componente Descrição
/404 Page404Component Página não encontrada
/500 Page500Component Erro interno do servidor
/** - Redireciona para /login

📝 Estrutura de Rotas com Parâmetros

Parâmetros de Rota

// Rotas com parâmetro ID
/company_detail/:id          // ID da empresa
/chart_of_accounts/:id       // ID da conta
/user/:id                    // ID do usuário

// Rotas com parâmetros especiais
/reference_chart_of_accounts/copy/:copy    // Copiar conta
/reference_chart_of_accounts/add/:add      // Adicionar conta
/resetpassword/:id                          // Token de reset

🔐 Proteção de Rotas

AuthGuard

Todas as rotas protegidas utilizam AuthGuard:

// app-routing.module.ts
{
  path: '',
  component: DefaultLayoutComponent,
  canActivate: [AuthGuard],  // Proteção aplicada
  children: [
    // Rotas protegidas aqui
  ]
}

📊 Resumo de Rotas

Categoria Quantidade
Autenticação 3
Dashboard 1
Cadastros 20+
Movimentações 5
Consultas 2
Relatórios 11
Administração 7
Configurações 9
Features (lazy) 3 módulos
Erro 2
Total 60+ rotas

🔄 Redirecionamentos

// Raiz redireciona para dashboard
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' }

// Compliance raiz redireciona para rules
{ path: '', redirectTo: 'rules', pathMatch: 'full' }

// Rota não encontrada redireciona para login
{ path: '**', redirectTo: 'login' }

Última Atualização: 2025-12-01