Class CvmGeneralClassifier
java.lang.Object
com.raphaelsalles.backend.domain.service.importer.strategy.CvmGeneralClassifier
- All Implemented Interfaces:
AccountClassifier
Classificador Geral de Contas CVM.
Propósito:
Implementação padrão da estratégia AccountClassifier.
Identifica contas críticas (Receita, Lucro, Patrimônio) usando códigos padrão CVM
e heurísticas de texto (normalização de strings) para lidar com variações.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclassify(FinancialStatement stmt, String code, String desc, BigDecimal val) Analisa uma linha contábil e atualiza o statement se a conta for relevante.private booleanisZero(BigDecimal val) private StringbooleanshouldStoreDetail(String code) Determina se a linha deve ser armazenada detalhadamente no banco de dados.
-
Constructor Details
-
CvmGeneralClassifier
public CvmGeneralClassifier()
-
-
Method Details
-
classify
Description copied from interface:AccountClassifierAnalisa uma linha contábil e atualiza o statement se a conta for relevante.- Specified by:
classifyin interfaceAccountClassifier- Parameters:
stmt- O demonstrativo financeiro sendo construído (Estado Mutável).code- O código da conta (ex: "3.01").desc- A descrição da conta (ex: "RECEITA DE VENDAS").val- O valor monetário já normalizado (escala corrigida).
-
shouldStoreDetail
Description copied from interface:AccountClassifierDetermina se a linha deve ser armazenada detalhadamente no banco de dados.Filtra contas analíticas de baixo valor para otimizar o armazenamento, mantendo apenas contas sintéticas (agregadoras) e indicadores chave.
- Specified by:
shouldStoreDetailin interfaceAccountClassifier- Parameters:
code- O código da conta.- Returns:
truese a linha deve ser persistida na tabela `account_lines`.
-
isZero
-
normalize
-