repositorio

package
v0.0.0-...-e9343d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrCabeçalho    = errors.New("cabeçalho")
	ErrFaltaItem    = errors.New("itens faltando")
	ErrDataInválida = errors.New("data inválida")
)
View Source
var (
	ErrArquivoInválido = errors.New("arquivo inválido")
	ErrDFPInválida     = errors.New("DFP inválida")
	ErrSemDados        = errors.New("sem dados")

	ErrAnoInválidoFn = func(ano int) error { return fmt.Errorf("ano inválido: %d", ano) }
)

Functions

func Unmarshal

func Unmarshal(data string)

Types

type Arquivo

type Arquivo struct {
	// contains filtered or unexported fields
}

type CVM

type CVM struct {
	// contains filtered or unexported fields
}

CVM implementa RepositórioImportação. Busca demonstrações financeiras no site da CVM.

func NovoCVM

func NovoCVM(configs ...ConfigFn) (*CVM, error)

func (*CVM) Importar

func (c *CVM) Importar(ctx context.Context, ano int, trimestral bool) <-chan dominio.Resultado

Importar baixa o arquivo de DFPs de todas as empresas de um determinado ano do site da CVM. Com trimestral == true, é baixado o arquivo de ITRs.

type ConfigFn

type ConfigFn func(*cfg)

func CfgArquivosJáProcessados

func CfgArquivosJáProcessados(hashes []string) ConfigFn

func CfgDirDados

func CfgDirDados(dir string) ConfigFn

type Contas

type Contas struct {
	Modelos map[string]Modelo
}

type Modelo

type Modelo struct {
	AtivoTotal        [][]string `yaml:"AtivoTotal"`
	AtivoCirc         [][]string `yaml:"AtivoCirc"`
	AtivoNCirc        [][]string `yaml:"AtivoNCirc"`
	Caixa             [][]string `yaml:"Caixa"`
	AplicFinanceiras  [][]string `yaml:"AplicFinanceiras"`
	Estoque           [][]string `yaml:"Estoque"`
	ContasARecebCirc  [][]string `yaml:"ContasARecebCirc"`
	ContasARecebNCirc [][]string `yaml:"ContasARecebNCirc"`
	PassivoTotal      [][]string `yaml:"PassivoTotal"`
	PassivoCirc       [][]string `yaml:"PassivoCirc"`
	PassivoNCirc      [][]string `yaml:"PassivoNCirc"`
	Equity            [][]string `yaml:"Equity"`
	DividaCirc        [][]string `yaml:"DividaCirc"`
	DividaNCirc       [][]string `yaml:"DividaNCirc"`
	DividendosJCP     [][]string `yaml:"DividendosJCP"`
	DividendosMin     [][]string `yaml:"DividendosMin"`
	Vendas            [][]string `yaml:"Vendas"`
	CustoVendas       [][]string `yaml:"CustoVendas"`
	DespesasOp        [][]string `yaml:"DespesasOp"`
	EBIT              [][]string `yaml:"EBIT"`
	ResulFinanc       [][]string `yaml:"ResulFinanc"`
	ResulOpDescont    [][]string `yaml:"ResulOpDescont"`
	LucLiq            [][]string `yaml:"LucLiq"`
	FCO               [][]string `yaml:"FCO"`
	FCI               [][]string `yaml:"FCI"`
	FCF               [][]string `yaml:"FCF"`
	Deprec            [][]string `yaml:"Deprec"`
	JurosCapProp      [][]string `yaml:"JurosCapProp"`
	Dividendos        [][]string `yaml:"Dividendos"`
}

ContaYaml armazena os dados importados do arquivo yaml (deve ser convertido em contabil.ConfigConta). Formato: [["1", "Descrição 1"], ["1.1", "Descrição 1.1"]]

type Sqlite

type Sqlite struct {
	// contains filtered or unexported fields
}

Sqlite implementa RepositórioLeituraEscrita

func NovoSqlite

func NovoSqlite(db *sqlx.DB, configs ...ConfigFn) (*Sqlite, error)

func (*Sqlite) BuscaEmpresas

func (s *Sqlite) BuscaEmpresas(ctx context.Context, nome string) ([]rapina.Empresa, error)

func (*Sqlite) Empresas

func (s *Sqlite) Empresas(ctx context.Context) ([]rapina.Empresa, error)

func (*Sqlite) Hashes

func (s *Sqlite) Hashes() []string

func (*Sqlite) Ler

func (*Sqlite) Salvar

func (*Sqlite) SalvarHash

func (s *Sqlite) SalvarHash(ctx context.Context, hash string) error

func (*Sqlite) Trimestral

func (s *Sqlite) Trimestral(ctx context.Context, cnpj string, consolidado bool) ([]rapina.InformeTrimestral, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL