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