details:   https://code.openbravo.com/erp/stable/2.50/rev/77a212e83082
changeset: 9655:77a212e83082
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Fri Sep 09 14:43:41 2011 +0200
summary:   Fixed issue 18486.Fixed payment monitor calculation.

diffstat:

 src/org/openbravo/erpCommon/ad_process/PaymentMonitor.java |  57 +++++++++----
 1 files changed, 37 insertions(+), 20 deletions(-)

diffs (93 lines):

diff -r 5f600efc812b -r 77a212e83082 
src/org/openbravo/erpCommon/ad_process/PaymentMonitor.java
--- a/src/org/openbravo/erpCommon/ad_process/PaymentMonitor.java        Thu Sep 
08 12:19:37 2011 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/PaymentMonitor.java        Fri Sep 
09 14:43:41 2011 +0200
@@ -180,18 +180,24 @@
       for (DebtPayment cancelledPayment : cancelledPayments) {
         if (!cancelledPayment.isPaymentComplete()) {
           cancelledNotPaidPayments.add(cancelledPayment);
-          cancelledNotPaidAmount = 
cancelledNotPaidAmount.add(getConvertedAmt(cancelledPayment
-              .getAmount(), cancelledPayment.getCurrency().getId(), 
strCurrencyTo, cancelledPayment
-              .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient().getId(),
-              cancelledPayment.getOrganization().getId()));
-          cancelledNotPaidWriteOffAmount = 
cancelledNotPaidWriteOffAmount.add(getConvertedAmt(
-              cancelledPayment.getWriteoffAmount(), 
cancelledPayment.getCurrency().getId(),
-              strCurrencyTo, 
cancelledPayment.getSettlementCancelled().getAccountingDate(),
-              cancelledPayment.getClient().getId(), 
cancelledPayment.getOrganization().getId()));
+          BigDecimal paymentCancelledAmt = 
getConvertedAmt(cancelledPayment.getAmount(),
+              cancelledPayment.getCurrency().getId(), strCurrencyTo, 
cancelledPayment
+                  .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient()
+                  .getId(), cancelledPayment.getOrganization().getId());
+          cancelledNotPaidAmount = cancelledNotPaidAmount
+              .add(payment.isReceipt() == cancelledPayment.isReceipt() ? 
paymentCancelledAmt
+                  : paymentCancelledAmt.negate());
+          BigDecimal paymentCancelledWOAmt = 
getConvertedAmt(cancelledPayment.getWriteoffAmount(),
+              cancelledPayment.getCurrency().getId(), strCurrencyTo, 
cancelledPayment
+                  .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient()
+                  .getId(), cancelledPayment.getOrganization().getId());
+          cancelledNotPaidWriteOffAmount = cancelledNotPaidWriteOffAmount
+              .add(payment.isReceipt() == cancelledPayment.isReceipt() ? 
paymentCancelledWOAmt
+                  : paymentCancelledWOAmt.negate());
         }
       }
 
-      if (cancelledNotPaidAmount.compareTo(BigDecimal.ZERO)==0)
+      if (cancelledNotPaidAmount.compareTo(BigDecimal.ZERO) == 0)
         // The sum of all canceled not paid payments in the settlement is 
zero. This means that the
         // payment has been paid completely, as it was canceled with some 
other pending payments
         // (for example, the ones comming from a credit memo)
@@ -214,7 +220,9 @@
         generatedPaymentPaidAmount = calculatePaidAmount(generatedPayment, 
strCurrencyTo,
             generatedPayment.getSettlementGenerate().getAccountingDate(), 
payment.getAmount()
                 .divide(cancelledNotPaidAmount, 1000, 
BigDecimal.ROUND_HALF_UP));
-        paidAmount = paidAmount.add(generatedPaymentPaidAmount);
+        paidAmount = paidAmount
+            .add(payment.isReceipt() == generatedPayment.isReceipt() ? 
generatedPaymentPaidAmount
+                : generatedPaymentPaidAmount.negate());
       }
     }
     return paidAmount;
@@ -241,17 +249,24 @@
       for (DebtPayment cancelledPayment : cancelledPayments) {
         if (!cancelledPayment.isPaymentComplete()) {
           cancelledNotPaidPayments.add(cancelledPayment);
-          cancelledNotPaidAmount = 
cancelledNotPaidAmount.add(getConvertedAmt(cancelledPayment
-              .getAmount(), cancelledPayment.getCurrency().getId(), 
strCurrencyTo, cancelledPayment
-              .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient().getId(),
-              cancelledPayment.getOrganization().getId()));
-          cancelledNotPaidWriteOffAmount = 
cancelledNotPaidWriteOffAmount.add(getConvertedAmt(
-              cancelledPayment.getWriteoffAmount(), 
cancelledPayment.getCurrency().getId(),
-              strCurrencyTo, 
cancelledPayment.getSettlementCancelled().getAccountingDate(),
-              cancelledPayment.getClient().getId(), 
cancelledPayment.getOrganization().getId()));
+          BigDecimal paymentCancelledAmt = 
getConvertedAmt(cancelledPayment.getAmount(),
+              cancelledPayment.getCurrency().getId(), strCurrencyTo, 
cancelledPayment
+                  .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient()
+                  .getId(), cancelledPayment.getOrganization().getId());
+          cancelledNotPaidAmount = cancelledNotPaidAmount
+              .add(payment.isReceipt() == cancelledPayment.isReceipt() ? 
paymentCancelledAmt
+                  : paymentCancelledAmt.negate());
+          BigDecimal paymentCancelledWOAmt = 
getConvertedAmt(cancelledPayment.getWriteoffAmount(),
+              cancelledPayment.getCurrency().getId(), strCurrencyTo, 
cancelledPayment
+                  .getSettlementCancelled().getAccountingDate(), 
cancelledPayment.getClient()
+                  .getId(), cancelledPayment.getOrganization().getId());
+          cancelledNotPaidWriteOffAmount = cancelledNotPaidWriteOffAmount
+              .add(payment.isReceipt() == cancelledPayment.isReceipt() ? 
paymentCancelledWOAmt
+                  : paymentCancelledWOAmt.negate());
+
         }
       }
-      if (cancelledNotPaidAmount.compareTo(BigDecimal.ZERO)==0)
+      if (cancelledNotPaidAmount.compareTo(BigDecimal.ZERO) == 0)
         // The sum of all canceled not paid payments in the settlement is 
zero. This means that the
         // payment has been paid completely, as it was canceled with some 
other pending payments
         // (for example, the ones comming from a credit memo)
@@ -268,7 +283,9 @@
           generatedPaymentOverdueAmount = 
calculateOverdueAmount(generatedPayment, strCurrencyTo,
               generatedPayment.getSettlementGenerate().getAccountingDate(), 
payment.getAmount()
                   .divide(cancelledNotPaidAmount, 1000, 
BigDecimal.ROUND_HALF_UP));
-        overdueAmount = overdueAmount.add(generatedPaymentOverdueAmount);
+        overdueAmount = overdueAmount
+            .add(payment.isReceipt() == generatedPayment.isReceipt() ? 
generatedPaymentOverdueAmount
+                : generatedPaymentOverdueAmount.negate());
       }
     }
     return overdueAmount;

------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
computing security and archiving is rapidly being adopted across the IT 
space for its ease of implementation, lower cost, and increased 
reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to