This is an automated email from the ASF dual-hosted git repository. awasum pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract-cn-payroll.git
commit f4bea51b1a89d70a36d77649b74c3f5baac3513a Author: mgeiss <[email protected]> AuthorDate: Tue Oct 10 11:15:15 2017 +0200 retrofitted percentage calculation for payroll distribution --- .../service/internal/service/adaptor/AccountingAdaptor.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/service/src/main/java/io/mifos/payroll/service/internal/service/adaptor/AccountingAdaptor.java b/service/src/main/java/io/mifos/payroll/service/internal/service/adaptor/AccountingAdaptor.java index 14aa326..f7c549b 100644 --- a/service/src/main/java/io/mifos/payroll/service/internal/service/adaptor/AccountingAdaptor.java +++ b/service/src/main/java/io/mifos/payroll/service/internal/service/adaptor/AccountingAdaptor.java @@ -71,7 +71,8 @@ public class AccountingAdaptor { final PayrollPayment payrollPayment, final PayrollConfiguration payrollConfiguration) { - final MathContext mathContext = new MathContext(2, RoundingMode.HALF_EVEN); + final MathContext mathContextAmount = new MathContext(2, RoundingMode.HALF_EVEN); + final MathContext mathContextPercentage = new MathContext(5, RoundingMode.HALF_EVEN); final JournalEntry journalEntry = new JournalEntry(); journalEntry.setTransactionIdentifier(UUID.randomUUID().toString()); @@ -95,8 +96,8 @@ public class AccountingAdaptor { allocationCreditor.setAmount(payrollAllocation.getAmount().toString()); } else { final BigDecimal value = payrollPayment.getSalary().multiply( - payrollAllocation.getAmount().divide(BigDecimal.valueOf(100.00D), mathContext) - ).round(mathContext); + payrollAllocation.getAmount().divide(BigDecimal.valueOf(100.00D), mathContextPercentage) + ).round(mathContextAmount); allocationCreditor.setAmount(value.toString()); } creditors.add(allocationCreditor);
