π Camadas - ecosif-reports
π VisΓ£o Geral
O serviΓ§o ecosif-reports segue uma arquitetura em camadas focada em geraΓ§Γ£o de relatΓ³rios, utilizando JasperReports para renderizaΓ§Γ£o.
ποΈ Estrutura de Camadas
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Camada de ApresentaΓ§Γ£o (REST) β
β β
β Controllers β
β β’ ReportsController β
β β’ PlanoSaldoController β
β β’ LancamentoContabilController β
β β
β Responsabilidades: β
β β’ Receber requisiΓ§Γ΅es HTTP β
β β’ ValidaΓ§Γ£o bΓ‘sica de entrada β
β β’ Chamar services de geraΓ§Γ£o β
β β’ Retornar relatΓ³rios em base64 β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
β usa
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Camada de AplicaΓ§Γ£o (Services) β
β β
β Services β
β β’ PrintReportService β
β β’ ProcedureBalanceteGeralService β
β β’ ProcedureRazaoService β
β β
β Responsabilidades: β
β β’ LΓ³gica de geraΓ§Γ£o de relatΓ³rios β
β β’ PreparaΓ§Γ£o de dados β
β β’ CompilaΓ§Γ£o de templates β
β β’ ExportaΓ§Γ£o para formatos β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
β usa
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Camada de PersistΓͺncia (Repositories) β
β β
β Repositories β
β β’ AccountbalanceRepository β
β β’ MonthlyAccountBalanceRepository β
β β’ EntryRepository β
β β
β Responsabilidades: β
β β’ Acesso a dados β
β β’ Queries customizadas β
β β’ Chamadas de procedures β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
β persiste
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Camada de Dados (Entities) β
β β
β ecosif-database (Biblioteca Compartilhada) β
β β’ Entry β’ Balance β’ ChartOfAccounts β
β β’ Document β’ Batch β’ CompanyOptions β
β β’ ... (52+ entidades) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Fluxo de Dados: GeraΓ§Γ£o de RelatΓ³rio
Cliente HTTP
β
βΌ
ReportsController
β Valida entrada
β
βΌ
PrintReportService
β Busca dados via Repository
β
βΌ
Repositories
β Queries/Procedures
β
βΌ
PostgreSQL
β Dados contΓ‘beis
β
βΌ
PrintReportService
β Prepara dados (DTOs)
β Compila template (.jrxml)
β Preenche template
β
βΌ
ExportReportsHelper
β Exporta para PDF/CSV/TXT
β Converte para base64
β
βΌ
Controller
β Retorna RetornoGenerico
β
βΌ
Cliente HTTP
Γltima AtualizaΓ§Γ£o: 2025-12-01