Ir para o conteúdo principal

Refatoração calculo financeiro sistema de folha de pagamento

Data: 19/08/22

Autores: 

  1. Diego Gonçalves de Almeida (Assessor)
  2. Erton D Avila Sotero (Assessor)
  3. Ádrian Rabelo Mendes (Assessor)

1. Objetivo

Realizar levantamento na refatoração do calculo financeiro afim de evitar o não calculo de servidores por thread

2. Introdução

Ajustar formato de divisão de thread, com quantitativo de servidores impares.

3. Desenvolvimento

Ao realizar o calculo da folha de pagamento, existe uma falha na divisão dos servidores por thread. A divisão das thread e feito total de servidores dividindo esse total por 10 (quantidade de thread simultâneo), neste calculo alguns servidores na divisão ficam fora do lote de processamento paralelo.

Se faz necessário a refatoração do método "processarParaleloCalculoFolha", melhorando a logica de divisão, deixando o resto no ultimo processamento do lote.

Segue método atual e pontos a serem melhorados:

image.png

Na divisão atual o sistema pega o quantidade de servidores a serem calculado e divide por 10 (total de thread paralela), conforme demonstrado no exemplo abaixo:

Supondo que tenhamos um total de 2021 servidores a serem calculado.

Ex:

2021 / 10 = 202,1
como a variável "i" e do tipo inteiro o mesmo não calcula valores decimal, ficando os últimos servidores fora na lista do lote de processamento.

dentro do laço a variável "i" incrementa sempre mais 1 no totalizador de 202 e não o 202,1 a divisão ficaria da seguinte forma.

Ex:

10 thread cada uma com 202 -> servidores.
202 * 10 = 2020 servidores neste lote de processamento.

Neste caso o total de servidores retornado para ser calculado seria 2021 e o adicionado no lote para calculo ficaria 2020 ficando 1 servidor de fora do calculo.

image.png

Logica atual de como esta sendo calculado:

image.png

Atualmente todos os cálculos efetuado pelo sistema "Governa", utiliza esta forma de montagem de lote para calculo, diate seria necessário realizar a refatoração dos seguintes calculo:

  • Folha complementar
  • Folha mensal
  • Folha de ferias
  • Folha Decimo terceiro adiantamento
  • Folha Decimo terceiro calculo final
  • Folha mensal lote
  • Folha complementar lote
  • Folha Decimo terceiro adiantamento lote
  • Folha Decimo terceiro calculo final lote


4. Conclusão

Realizar a refatoração da logica de divisão de servidor por lote de processamento paralelo, assim evitando o não calulo de servidores aleatoriamente conforme demonstrado acima.