Last active
May 12, 2017 11:02
-
-
Save denoww/7cdb009b3ba7106b5b88101f9a8032d9 to your computer and use it in GitHub Desktop.
Importacao de cobranças
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Importação de Inadimplencia (Importação de Cobranças atrasadas originadas de excel): | |
Exemplo do que o cliente quer importar: inadimplencia_03052017.pdf | |
Converter pdf para excel para facilitar copiar e colar | |
pesquisar no google -> pdf to excel | |
O que deve ser feito: | |
Suporte cadastra os pagadores e unidades no sistema | |
Tela de Cobranças: Criamos um modal de importação na tela de cobranças | |
Sistema pergunta se ele deseja | |
1) Preencher Excel | |
2) ou Importar dados do Excel | |
Usuário marca opção de PREENCHER EXCEL | |
Usuário seleciona quais unidades ou pagador ele deseja importar | |
Mesmo typeahead do filtro de cobranças | |
O sistema de cobrança gera um excel para ser preenchido | |
Usuário baixa esse Excel | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| 1 | 009.263.331-22 | Bloco 1 - 101 - Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| | 009.463.331-22 | Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| 1 | | Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
| Taxa de Condomínio | mm/yyyy | dd/mm/yyyy | 00,00 | | |
Suporte preenche o pdf que o sistema imprimiu | |
segue 3 exemplos com/sem unidade/pagador NO MESMO EXCEL | |
Melhorias neste planejamento são bem vindas | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| 1 | 009.463.331-22 | Bloco 1 - 101 - Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | 01/2015 | 25/01/2015 | 547,60 | | |
| Taxa de Condomínio | 02/2015 | 25/02/2015 | 547,60 | | |
| Taxa de Condomínio | 03/2015 | 25/03/2015 | 547,60 | | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| | 009.463.331-22 | Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | 01/2015 | 25/01/2015 | 547,60 | | |
| Taxa de Condomínio | 02/2015 | 25/02/2015 | 547,60 | | |
| Taxa de Condomínio | 03/2015 | 25/03/2015 | 547,60 | | |
| Cod. Unidade | CPF/CNPJ/NUIT | Observação | | | |
| 1 | | Fulano de Tal | | | |
| Título | Mês Ref. | Vencimento | Valor | | |
| Taxa de Condomínio | 01/2015 | 25/01/2015 | 547,60 | | |
Suporte ajusta PERFIL PADRÃO multa, juros e correção etc | |
Modal de importação de excel | |
Utilizar formulário de cobrança + perfil para preencher juros multa e etc | |
input de upload para inserir o excel | |
Back-end | |
Gerar PDF | |
CPF/CNPJ/NUIT deve utilizar I18n | |
Importação | |
Validar Planilha | |
Dar erro caso algum CPF/CNPJ não esteja no cadastro de pagadores | |
Deve retornar erros se não tem titulo, mes ref, vencimento e valor | |
Vencimento | |
Todos vencimentos devem ser uma data válida | |
Mes ref: validar se é valido | |
valor deve ser maior que zero | |
valor.delocalize_currency > 0 | |
Importar Planilha | |
Se passar na validação então deve-se importar tudo | |
Tratar valores da planilha | |
Valor | |
fazer isso aqui valor.delocalize_currency | |
Criar composições de débitos com titulo e valor da cobrança | |
O sistema: | |
encontra unidade_id pelo id que está está na planilha | |
encontra pagador_id pelo cpf/cnpj que está na planinlha | |
utilizar a buscar do financeiro pessoas pois acredito que vai buscar pelo cpf/cnpj COM e SEM pntos e hífens | |
Fora do Brasil | |
Testar essa importação de documentos nos países aficanos NIF e NUIT | |
Crie um service no Back para trabalhar com importações de cobranças (service de cobrança está gigante) | |
A importaço de pagadores está seguindo este modelo que considero relativamente bom | |
module Financeiro | |
class CobrancaImportacoesService | |
def self.importar(opts, params) | |
errors = validar(params) | |
if errors.any? | |
[:unprocessable_entity, errors] | |
else | |
executar_importacao(params) | |
[:ok, {}] | |
end | |
end | |
# private | |
def self.executar_importacao(opts, pms) | |
... | |
end | |
private_class_method :executar_importacao | |
def self.validar(pms) | |
# init | |
errors = [] | |
tipos = pms[:tipos] || {} | |
# ao menos uma unidade | |
sem_unidades = !pms[:todas_unidades] && pms[:unidade_ids].blank? | |
errors << locale('validar.ao_menos_uma_unidade') if sem_unidades | |
# importar ao menos alguma coisa - proprietario ou morador | |
tem_algo_a_importar = tipos.values.select { |v| v[:importar] }.any? | |
errors << locale('validar.ao_menos_um_tipo') unless tem_algo_a_importar | |
if tem_algo_a_importar | |
# ao menos um pagador principal | |
tem_pag_principal = tipos.values.select { |v| v[:pagador_principal] }.any? | |
errors << locale('validar.ao_menos_um_pagador_principal') unless tem_pag_principal | |
end | |
errors | |
end | |
private_class_method :validar | |
def self.locale(key, options={}) | |
i18n_path = "services.financeiro.pessoa_unidades.importacoes.#{key}" | |
return I18n.t(i18n_path, **options) unless options[:count].present? | |
I18n.t(i18n_path, count: options.delete(:count), **options) | |
end | |
private_class_method :locale | |
end | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment