You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by aw...@apache.org on 2019/06/03 19:02:59 UTC

[fineract-cn-payroll] 24/50: retrofitted percentage calculation for payroll distribution

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 <mg...@mifos.org>
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);