details:   https://code.openbravo.com/erp/devel/pi/rev/d83794bd89ee
changeset: 16799:d83794bd89ee
user:      Naiara Martinez <naiara.martinez <at> openbravo.com>
date:      Wed Jun 06 12:45:52 2012 +0200
summary:   Fixed bug 20038: Cheli Pineda's contribution. Set taxamt/taxbaseamt 
fields in Create Lines From

diffstat:

 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java              |  16 
+++++--
 src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql |  20 
+++++++--
 2 files changed, 26 insertions(+), 10 deletions(-)

diffs (101 lines):

diff -r 2b5a9e3d2afd -r d83794bd89ee 
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java
--- a/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java       Mon Jun 
11 10:13:27 2012 +0200
+++ b/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java       Wed Jun 
06 12:45:52 2012 +0200
@@ -11,9 +11,9 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2001-2011 Openbravo SLU
+ * All portions are Copyright (C) 2001-2012 Openbravo SLU
  * All Rights Reserved.
- * Contributor(s):  ______________________________________.
+ * Contributor(s):  Cheli Pineda__________________________.
  ************************************************************************
  */
 package org.openbravo.erpCommon.ad_actionButton;
@@ -1532,14 +1532,20 @@
             BigDecimal LineNetAmt = (new BigDecimal(priceActual)).multiply(new 
BigDecimal(
                 data[i].id));
             LineNetAmt = LineNetAmt.setScale(curPrecision, 
BigDecimal.ROUND_HALF_UP);
+
+            String strTaxRate = CreateFromInvoiceData.selectTaxRate(this, 
C_Tax_ID);
+            BigDecimal taxRate = (strTaxRate.equals("") ? new BigDecimal(1) : 
new BigDecimal(
+                strTaxRate));
+            BigDecimal taxAmt = ((LineNetAmt.multiply(taxRate)).divide(new 
BigDecimal("100"), 12,
+                BigDecimal.ROUND_HALF_EVEN)).setScale(curPrecision, 
BigDecimal.ROUND_HALF_UP);
             try {
               final String strOrg2 = vars.getGlobalVariable("inpadOrgId", 
"CreateFrom|adOrgId", "");
               CreateFromInvoiceData.insert(conn, this, strSequence, strKey, 
vars.getClient(),
                   strOrg2, vars.getUser(), data[i].cOrderlineId, 
data[i].mInoutlineId,
                   data[i].description, data[i].mProductId, data[i].cUomId, 
data[i].id, priceList,
-                  priceActual, priceLimit, LineNetAmt.toString(), C_Tax_ID, 
data[i].quantityorder,
-                  data[i].mProductUomId, data[i].mAttributesetinstanceId, 
priceStd,
-                  data[i].taxbaseamt);
+                  priceActual, priceLimit, LineNetAmt.toString(), C_Tax_ID, 
taxAmt.toPlainString(),
+                  data[i].quantityorder, data[i].mProductUomId, 
data[i].mAttributesetinstanceId,
+                  priceStd, LineNetAmt.toString());
             } catch (final ServletException ex) {
               myMessage = Utility.translateError(this, vars, 
vars.getLanguage(), ex.getMessage());
               releaseRollbackConnection(conn);
diff -r 2b5a9e3d2afd -r d83794bd89ee 
src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql
--- a/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql  
Mon Jun 11 10:13:27 2012 +0200
+++ b/src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql  
Wed Jun 06 12:45:52 2012 +0200
@@ -14,7 +14,7 @@
  * The Initial Developer of the Original Code is Openbravo SLU 
  * All portions are Copyright (C) 2001-2012 Openbravo SLU 
  * All Rights Reserved. 
- * Contributor(s):  ______________________________________.
+ * Contributor(s):  Cheli Pineda__________________________.
  ************************************************************************
 -->
 
@@ -37,7 +37,7 @@
         l.C_OrderLine_ID,l.Line, l.ad_org_id, '' as STDPRECISION, 
         '' as M_InOutLine_ID, '' AS PriceActual, '' AS PriceList, '' AS 
PriceLimit, '' AS Description, '' as PriceStd,
         '' AS QUANTITYORDER, '' AS M_Product_UOM_ID, '' AS 
M_ATTRIBUTESETINSTANCE_ID, '' AS M_Offer_ID, '' AS PricePrecision,
-        l.taxbaseamt, l.CancelPriceAD
+        l.taxbaseamt, l.CancelPriceAD, '' AS Rate
         FROM C_ORDERLINE l left join M_MATCHPO m on  
l.C_OrderLine_ID=m.C_OrderLine_ID
                                                  AND m.C_InvoiceLine_ID IS NOT 
NULL, 
         C_ORDER o, C_UOM uom,  M_PRODUCT p
@@ -590,15 +590,15 @@
         C_OrderLine_ID,M_InOutLine_ID, Line,Description, M_Product_ID,
         C_UOM_ID,QtyInvoiced, PriceList,
         PriceActual,PriceLimit, LineNetAmt,
-        ChargeAmt,C_Tax_ID, QuantityOrder, M_Product_UOM_ID,
+        ChargeAmt,C_Tax_ID, taxamt, QuantityOrder, M_Product_UOM_ID,
         M_Attributesetinstance_ID, PriceStd, taxbaseamt, excludeforwithholding)
       VALUES 
         (?, ?, ?, ?, 'Y', 
          now(), ?, now(), ?, 
          ?, ?, (SELECT (COALESCE(Max(Line),0))+10 FROM C_InvoiceLine WHERE 
C_Invoice_ID=?), ?, ?, 
          ?, TO_NUMBER(?), TO_NUMBER(?), 
-         TO_NUMBER(?), TO_NUMBER(?), TO_NUMBER(?), 
-         0, ?, TO_NUMBER(?), ?, 
+         TO_NUMBER(?), TO_NUMBER(?), TO_NUMBER(?),
+         0, ?, TO_NUMBER(?), TO_NUMBER(?), ?, 
          ?, TO_NUMBER(?), TO_NUMBER(?), 'N')
     </Sql>
     <Parameter name="cInvoicelineId"/>
@@ -619,6 +619,7 @@
     <Parameter name="pricelimit"/>
     <Parameter name="linenetamt"/>
     <Parameter name="cTaxId"/>
+    <Parameter name="taxAmt"/>
     <Parameter name="quantityOrder"/>
     <Parameter name="mProductUomId"/>
     <Parameter name="mAttributesetinstanceId"/>
@@ -680,4 +681,13 @@
     <Parameter name="pricelist"/>
     <Parameter name="invoiceid"/>
   </SqlMethod>
+  <SqlMethod name="selectTaxRate" type="preparedStatement" return="String" 
default="">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+      SELECT Rate
+      FROM C_TAX
+      WHERE C_Tax_ID = ?
+    </Sql>
+    <Parameter name="cTaxId"/>
+  </SqlMethod>
 </SqlClass>

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to