...
O sistema verifica se campo da parametrização do SnapProperty “Ativar processo de cobrança” (snap_brok__Ativar_processo_cobranca__c”) está ativo, se sim, significa que a org irá gerar processo de cobrança.
Após, o sistema deve percorrer todas as faturas com situação (snap_brok_Situacaoc) igual a "Vencida" e com o campo "Processo de cobrança" (snap_brokCobranca_c) igual a null (método “FaturaServico.atualizarFaturasVencidas”).
Existindo faturas nessas condições, o sistema vai percorrer as cobranças selecionadas e verificar se existe um processo de cobrança criado com a flag Ativo (snap_brok_Ativoc) true para o mesmo contrato da fatura, ordenando pela data de início (snap_brokData_inicio_c).
a. Existindo uma cobrança ativa, mesmo contrato e data de início.atualiza o campo "Processo de cobrança" (snap_brok_Cobranca_c) dentro fatura, informando o número do processo de cobrança (isso que faz o vinculo);
atualiza o valor da cobrança (snap_brok_Valor_cobranca_c) adicionando o valor da fatura adicionada ao valor existente nesse campo.
atualiza o campo "Faturas" (snap_brok_Faturas_c ) com o nome da fatura que está sendo inclusa.
Caso não exista um processo de cobrança nas condições acima:
Se a fatura não passou da quantidade de dias do parâmetro “Dias em atraso para iniciar cobrança” em parametrizações SnapProperty (snap_brok__Dias_atraso_para_iniciar_cobranca__c), que no caso é 9 7 dias.
O sistema não criará um processo de cobrança;
Mas se a fatura passou da quantidade de “dias em atraso para iniciar a cobrança” (snap_brok__Dias_atraso_para_iniciar_cobranca__c) , maior que, no caso 9 , 7 dias:
cria um processo de cobrança (utilizando o método IniciarCobrancaContratoLocacao da classe CobrançaServiço), incluindo as faturas, atualizando os valores, adicionando o nome da fatura no campo faturas.
Se para o contrato da fatura possuir uma cobrança ativa o sistema:
Preenche o campo “cobrança” da fatura com o número da cobrança criada;
Atualiza o “valor da cobrança” somando o valor da fatura;
Atualiza o campo “faturas da cobrança” com o nome da fatura;
atualiza o campo “dias em atraso da fatura mais antiga” e “dias em atraso” com o a quantidade de dias em atraso da(s) fatura(s), que está(ão) dentro do processo de cobrança, que possuir a maior quantidade de dias em atraso.
...