Refatoração calculo financeiro sistema de folha de pagamento
Data: 19/08/22
Autores:
- Diego Gonçalves de Almeida (Assessor)
- Erton D Avila Sotero (Assessor)
- Á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:
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.
Logica atual de como esta sendo calculado:
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.
Nenhum comentário