KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_callouts > SL_Inventory_Conversion


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2001-2006 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18 */

19 package org.openbravo.erpCommon.ad_callouts;
20
21 import org.openbravo.base.secureApp.HttpSecureAppServlet;
22 import org.openbravo.base.secureApp.VariablesSecureApp;
23 import org.openbravo.xmlEngine.XmlDocument;
24 import org.openbravo.utils.FormatUtilities;
25 import org.openbravo.erpCommon.utility.*;
26 import java.io.*;
27 import java.math.BigDecimal JavaDoc;
28 import javax.servlet.*;
29 import javax.servlet.http.*;
30
31
32
33 public class SL_Inventory_Conversion extends HttpSecureAppServlet {
34   
35   static final BigDecimal JavaDoc ZERO = new BigDecimal JavaDoc(0.0);
36
37   public void init (ServletConfig config) {
38     super.init(config);
39     boolHist = false;
40   }
41
42
43   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
44     VariablesSecureApp vars = new VariablesSecureApp(request);
45     if (vars.commandIn("DEFAULT")) {
46       String JavaDoc strChanged = vars.getStringParameter("inpLastFieldChanged");
47       if (log4j.isDebugEnabled()) log4j.debug("CHANGED: " + strChanged);
48       String JavaDoc strUOM = vars.getStringParameter("inpcUomId");
49       String JavaDoc strMProductUOMID = vars.getStringParameter("inpmProductUomId");
50       String JavaDoc strQuantityOrder = vars.getStringParameter("inpquantityorder");
51       String JavaDoc strTabId = vars.getStringParameter("inpTabId");
52       
53       try {
54         printPage(response, vars, strUOM, strMProductUOMID, strQuantityOrder, strTabId);
55       } catch (ServletException ex) {
56         pageErrorCallOut(response);
57       }
58     } else pageError(response);
59   }
60
61   void printPage(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strUOM, String JavaDoc strMProductUOMID,String JavaDoc strQuantityOrder, String JavaDoc strTabId) throws IOException, ServletException {
62     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
63     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_callouts/CallOut").createXmlDocument();
64     if (strUOM.startsWith("\"")) strUOM=strUOM.substring(1,strUOM.length()-1);
65     int stdPrecision = Integer.valueOf(SLInvoiceConversionData.stdPrecision(this, strUOM)).intValue();
66     String JavaDoc strInitUOM = SLInvoiceConversionData.initUOMId (this, strMProductUOMID);
67     String JavaDoc strMultiplyRate;
68     boolean check = false;
69
70     strMultiplyRate = SLInvoiceConversionData.multiplyRate (this, strInitUOM, strUOM);
71     if (strInitUOM.equals(strUOM)) strMultiplyRate = "1";
72     if (strMultiplyRate.equals("")) strMultiplyRate = SLInvoiceConversionData.divideRate (this, strUOM, strInitUOM);
73     if (strMultiplyRate.equals("")) {
74       strMultiplyRate = "1";
75       if (!strMProductUOMID.equals("")) check = true;
76     }
77     
78
79     BigDecimal JavaDoc quantityOrder, qtyOrdered, multiplyRate;
80
81     multiplyRate = new BigDecimal JavaDoc(strMultiplyRate);
82
83     StringBuffer JavaDoc resultado = new StringBuffer JavaDoc();
84     resultado.append("var calloutName='SL_Inventory_Conversion';\n\n");
85     if (strMultiplyRate.equals("0")) {
86       resultado.append("var respuesta = null");
87     } else {
88       resultado.append("var respuesta = new Array(");
89       if (!strQuantityOrder.equals("")) {
90         quantityOrder = new BigDecimal JavaDoc(strQuantityOrder);
91         qtyOrdered = new BigDecimal JavaDoc (quantityOrder.doubleValue()*multiplyRate.doubleValue());
92         if (qtyOrdered.scale() > stdPrecision) qtyOrdered = qtyOrdered.setScale(stdPrecision, BigDecimal.ROUND_HALF_UP);
93         resultado.append("new Array(\"inpqtycount\", " + qtyOrdered.toString() + ")");
94       }
95       if (check) {
96         if (!strQuantityOrder.equals("")) resultado.append(",");
97         resultado.append("new Array('MESSAGE', \"" + FormatUtilities.replaceJS(Utility.messageBD(this, "NoUOMConversion", vars.getLanguage())) + "\")");
98       }
99       resultado.append(");");
100     }
101     xmlDocument.setParameter("array", resultado.toString());
102     xmlDocument.setParameter("frameName", "frameAplicacion");
103     response.setContentType("text/html; charset=UTF-8");
104     PrintWriter out = response.getWriter();
105     out.println(xmlDocument.print());
106     out.close();
107   }
108 }
109
Popular Tags