details:   https://code.openbravo.com/erp/devel/pi/rev/cbb97a88d93a
changeset: 23387:cbb97a88d93a
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Fri May 23 16:41:21 2014 +0530
summary:   Fixes Issue 26571:Error when paying a "cash vat" invoice with total 
amount
lower than related order's amount

details:   https://code.openbravo.com/erp/devel/pi/rev/f5796fb5b658
changeset: 23388:f5796fb5b658
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Mon May 26 16:34:59 2014 +0530
summary:   Related To Issue 26571:Posting of Cash Vat lines for multi line 
schedule line

details:   https://code.openbravo.com/erp/devel/pi/rev/10b6743505d4
changeset: 23389:10b6743505d4
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Tue May 27 18:27:11 2014 +0530
summary:   Related To Issue 26571:Reactivation of Payment impact on Cash Vat 
lines.
Reactivate payment by any option either by Reactivate Or Reactivate
and Delete Lines it will not keep Cash Vat Lines unless the payment is
processed properly.

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
 |   2 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
 |   4 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
        |  15 +++++----
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                       |   2 -
 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java              
                       |   2 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java                        
                       |   2 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java                 
                       |   2 +-
 
src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java
        |   9 ++---
 src/org/openbravo/erpCommon/utility/CashVATUtil.java                           
                       |   4 +-
 9 files changed, 20 insertions(+), 22 deletions(-)

diffs (167 lines):

diff -r e26f3940e388 -r 10b6743505d4 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
     Tue May 27 20:43:26 2014 +0530
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
     Tue May 27 18:27:11 2014 +0530
@@ -290,7 +290,7 @@
               psd.getAmount(), psd.getWriteoffAmount());
         }
         if (psd.getOrderPaymentSchedule() != null) {
-          
FIN_AddPayment.updatePaymentScheduleAmounts(psd.getOrderPaymentSchedule(),
+          FIN_AddPayment.updatePaymentScheduleAmounts(pDetail, 
psd.getOrderPaymentSchedule(),
               psd.getAmount(), psd.getWriteoffAmount());
         }
         if (pDetail.isPrepayment() && psd.getOrderPaymentSchedule() == null
diff -r e26f3940e388 -r 10b6743505d4 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Tue May 27 20:43:26 2014 +0530
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Tue May 27 18:27:11 2014 +0530
@@ -415,7 +415,7 @@
                   }
 
                   if (paymentScheduleDetail.getOrderPaymentSchedule() != null) 
{
-                    FIN_AddPayment.updatePaymentScheduleAmounts(
+                    FIN_AddPayment.updatePaymentScheduleAmounts(paymentDetail,
                         paymentScheduleDetail.getOrderPaymentSchedule(),
                         paymentScheduleDetail.getAmount(),
                         paymentScheduleDetail.getWriteoffAmount());
@@ -815,7 +815,7 @@
                     }
                   }
                   if (restorePaidAmounts) {
-                    FIN_AddPayment.updatePaymentScheduleAmounts(
+                    FIN_AddPayment.updatePaymentScheduleAmounts(paymentDetail,
                         paymentScheduleDetail.getInvoicePaymentSchedule(), 
psdAmount.negate(),
                         psdWriteoffAmount.negate());
                     paymentScheduleDetail.setInvoicePaid(false);
diff -r e26f3940e388 -r 10b6743505d4 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
    Tue May 27 20:43:26 2014 +0530
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_Utility.java
    Tue May 27 18:27:11 2014 +0530
@@ -1360,12 +1360,12 @@
       creditUsed = creditUsed.subtract(amountWithSign);
       bPartner.setCreditUsed(creditUsed);
       OBDal.getInstance().save(bPartner);
-      
FIN_AddPayment.updatePaymentScheduleAmounts(psd.getInvoicePaymentSchedule(), 
psd.getAmount(),
-          psd.getWriteoffAmount());
+      FIN_AddPayment.updatePaymentScheduleAmounts(psd.getPaymentDetails(),
+          psd.getInvoicePaymentSchedule(), psd.getAmount(), 
psd.getWriteoffAmount());
     }
     if (psd.getOrderPaymentSchedule() != null) {
-      
FIN_AddPayment.updatePaymentScheduleAmounts(psd.getOrderPaymentSchedule(), 
psd.getAmount(),
-          psd.getWriteoffAmount());
+      FIN_AddPayment.updatePaymentScheduleAmounts(psd.getPaymentDetails(),
+          psd.getOrderPaymentSchedule(), psd.getAmount(), 
psd.getWriteoffAmount());
     }
     if (psd.getPaymentDetails().isPrepayment() && 
psd.getOrderPaymentSchedule() == null
         && psd.getInvoicePaymentSchedule() == null) {
@@ -1425,7 +1425,7 @@
         .getBusinessPartner();
     if (paymentScheduleDetail.getInvoicePaymentSchedule() != null) {
 
-      FIN_AddPayment.updatePaymentScheduleAmounts(
+      
FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getPaymentDetails(),
           paymentScheduleDetail.getInvoicePaymentSchedule(), 
psdAmount.negate(),
           psdWriteoffAmount.negate());
       // BP SO_CreditUsed
@@ -1439,8 +1439,9 @@
 
     }
     if (paymentScheduleDetail.getOrderPaymentSchedule() != null) {
-      
FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getOrderPaymentSchedule(),
-          psdAmount.negate(), psdWriteoffAmount.negate());
+      
FIN_AddPayment.updatePaymentScheduleAmounts(paymentScheduleDetail.getPaymentDetails(),
+          paymentScheduleDetail.getOrderPaymentSchedule(), psdAmount.negate(),
+          psdWriteoffAmount.negate());
     }
     // when generating credit for a BP SO_CreditUsed is also updated
     if (paymentScheduleDetail.getInvoicePaymentSchedule() == null
diff -r e26f3940e388 -r 10b6743505d4 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Tue May 27 20:43:26 2014 +0530
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Tue May 27 18:27:11 2014 +0530
@@ -326739,8 +326739,6 @@
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  <SEQNO><![CDATA[100]]></SEQNO>
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
-<!--F52ACA48CA874F2DA0A778A92691E8F2-->  <VALUEMIN><![CDATA[0]]></VALUEMIN>
-<!--F52ACA48CA874F2DA0A778A92691E8F2-->  <VALUEMAX><![CDATA[100]]></VALUEMAX>
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  
<AD_ELEMENT_ID><![CDATA[92B735EF8049459BB5DDF6E17174EC6E]]></AD_ELEMENT_ID>
 <!--F52ACA48CA874F2DA0A778A92691E8F2-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
diff -r e26f3940e388 -r 10b6743505d4 
src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Tue May 
27 20:43:26 2014 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java Tue May 
27 18:27:11 2014 +0530
@@ -384,7 +384,7 @@
                   .getInvoice()
                   : null);
           docLine.setDoubtFulDebtAmount(new 
BigDecimal(data[i].getField("DoubtFulDebtAmount")));
-          docLine.setInvoiceTaxCashVAT_V(paymentDetail_ID);
+          docLine.setInvoiceTaxCashVAT_V(strPaymentId);
         }
         docLine.setIsPrepayment(data[i].getField("isprepayment"));
         docLine.setCGlItemId(data[i].getField("cGlItemId"));
diff -r e26f3940e388 -r 10b6743505d4 
src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java   Tue May 27 
20:43:26 2014 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java   Tue May 27 
18:27:11 2014 +0530
@@ -296,7 +296,7 @@
                 && 
detail.getFINPaymentScheduleDetailList().get(0).getInvoicePaymentSchedule() != 
null ? detail
                 
.getFINPaymentScheduleDetailList().get(0).getInvoicePaymentSchedule().getInvoice()
                 : null);
-        docLine.setInvoiceTaxCashVAT_V(Line_ID);
+        docLine.setInvoiceTaxCashVAT_V(detail.getFinPayment().getId());
         list.add(docLine);
       } finally {
         OBContext.restorePreviousMode();
diff -r e26f3940e388 -r 10b6743505d4 
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Tue May 
27 20:43:26 2014 +0530
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java    Tue May 
27 18:27:11 2014 +0530
@@ -689,10 +689,10 @@
         detail.m_C_Costcenter_ID = data[i].getField("cCostcenterId");
         detail.setAmount(data[i].getField("Amount"));
         final String finPaymentDetailID = 
data[i].getField("FIN_Payment_Detail_ID");
-        detail.setInvoiceTaxCashVAT_V(finPaymentDetailID);
         // Cambiar line to reflect BPs
         FIN_PaymentDetail paymentDetail = 
OBDal.getInstance().get(FIN_PaymentDetail.class,
             finPaymentDetailID);
+        detail.setInvoiceTaxCashVAT_V(paymentDetail.getFinPayment().getId());
         fact = createFactPaymentDetails(detail, paymentDetail, as, conn, fact, 
Fact_Acct_Group_ID,
             Fact_Acct_Group_ID2);
       }
diff -r e26f3940e388 -r 10b6743505d4 
src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java
--- 
a/src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java
    Tue May 27 20:43:26 2014 +0530
+++ 
b/src/org/openbravo/erpCommon/ad_forms/DocLineCashVATReady_PaymentTransactionReconciliation.java
    Tue May 27 18:27:11 2014 +0530
@@ -50,20 +50,19 @@
     this.invoiceTaxCashVAT_V = invoiceTaxCashVAT_V;
   }
 
-  public void setInvoiceTaxCashVAT_V(String finPaymentDetailID) {
-    if (StringUtils.isBlank(finPaymentDetailID)) {
+  public void setInvoiceTaxCashVAT_V(String finPaymentID) {
+    if (StringUtils.isBlank(finPaymentID)) {
       this.invoiceTaxCashVAT_V = new ArrayList<InvoiceTaxCashVAT_V>();
     } else {
       try {
         OBContext.setAdminMode(true);
         final StringBuffer hql = new StringBuffer();
         hql.append(" as itcv ");
-        hql.append(" where itcv." + InvoiceTaxCashVAT_V.PROPERTY_PAYMENTDETAILS
-            + ".id = :finPaymentDetailID ");
+        hql.append(" where itcv." + InvoiceTaxCashVAT_V.PROPERTY_PAYMENT + 
".id = :finPaymentID ");
         hql.append(" and itcv." + InvoiceTaxCashVAT_V.PROPERTY_CANCELED + " = 
false");
         OBQuery<InvoiceTaxCashVAT_V> obq = OBDal.getInstance().createQuery(
             InvoiceTaxCashVAT_V.class, hql.toString());
-        obq.setNamedParameter("finPaymentDetailID", finPaymentDetailID);
+        obq.setNamedParameter("finPaymentID", finPaymentID);
         obq.setFilterOnReadableClients(false);
         obq.setFilterOnReadableOrganization(false);
 
diff -r e26f3940e388 -r 10b6743505d4 
src/org/openbravo/erpCommon/utility/CashVATUtil.java
--- a/src/org/openbravo/erpCommon/utility/CashVATUtil.java      Tue May 27 
20:43:26 2014 +0530
+++ b/src/org/openbravo/erpCommon/utility/CashVATUtil.java      Tue May 27 
18:27:11 2014 +0530
@@ -164,8 +164,8 @@
             calculateAmountsBasedOnPercentage = true;
             final BigDecimal grandTotalAmt = invoice.getGrandTotalAmount();
             final int currencyPrecission = 
invoice.getCurrency().getStandardPrecision().intValue();
-            percentage = amount.multiply(_100)
-                .divide(grandTotalAmt, currencyPrecission, 
RoundingMode.HALF_UP).abs();
+            percentage = amount.multiply(_100).divide(grandTotalAmt, 
currencyPrecission,
+                RoundingMode.HALF_UP);
           }
 
           for (final InvoiceTax invoiceTax : invoice.getInvoiceTaxList()) {

------------------------------------------------------------------------------
The best possible search technologies are now affordable for all companies.
Download your FREE open source Enterprise Search Engine today!
Our experts will assist you in its installation for $59/mo, no commitment.
Test it for FREE on our Cloud platform anytime!
http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to