πŸ“ 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