1 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 java.io.*; 25 import java.math.BigDecimal ; 26 import javax.servlet.*; 27 import javax.servlet.http.*; 28 29 30 31 public class SL_Conversion_Rate extends HttpSecureAppServlet { 32 33 static final BigDecimal ZERO = new BigDecimal (0.0); 34 static final BigDecimal ONE = new BigDecimal (1.0); 35 36 public void init (ServletConfig config) { 37 super.init(config); 38 boolHist = false; 39 } 40 41 42 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 43 VariablesSecureApp vars = new VariablesSecureApp(request); 44 if (vars.commandIn("DEFAULT")) { 45 String strChanged = vars.getStringParameter("inpLastFieldChanged"); 46 if (log4j.isDebugEnabled()) log4j.debug("CHANGED: " + strChanged); 47 String strMultiplyRate = vars.getStringParameter("inpmultiplyrate"); 48 String strDivideRate = vars.getStringParameter("inpdividerate"); 49 String strTabId = vars.getStringParameter("inpTabId"); 50 51 try { 52 printPage(response, vars, strChanged, strMultiplyRate, strDivideRate, strTabId); 53 } catch (ServletException ex) { 54 pageErrorCallOut(response); 55 } 56 } else pageError(response); 57 } 58 59 void printPage(HttpServletResponse response, VariablesSecureApp vars, String strChanged, String strMultiplyRate, String strDivideRate, String strTabId) throws IOException, ServletException { 60 if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet"); 61 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_callouts/CallOut").createXmlDocument(); 62 63 BigDecimal divideRate, multiplyRate, rate, one; 64 65 multiplyRate = new BigDecimal (strMultiplyRate); 66 divideRate = new BigDecimal (strDivideRate); 67 rate = ZERO; 68 one = ONE; 69 70 StringBuffer resultado = new StringBuffer (); 71 resultado.append("var calloutName='SL_Conversion_Rate';\n\n"); 72 resultado.append("var respuesta = new Array("); 73 74 if (strChanged.equals("inpmultiplyrate")){ 75 if (multiplyRate.doubleValue() != 0.00) rate = one.divide(multiplyRate, 12, 4); 76 resultado.append("new Array(\"inpdividerate\", \"" + rate.toString() + "\")"); 77 78 } 79 else { 80 if (divideRate.doubleValue() != 0.00) rate = one.divide(divideRate, 12, 4); 81 resultado.append("new Array(\"inpmultiplyrate\", \"" + rate.toString() + "\")"); 82 } 83 resultado.append(");"); 84 xmlDocument.setParameter("array", resultado.toString()); 85 xmlDocument.setParameter("frameName", "frameAplicacion"); 86 response.setContentType("text/html; charset=UTF-8"); 87 PrintWriter out = response.getWriter(); 88 out.println(xmlDocument.print()); 89 out.close(); 90 } 91 } 92 | Popular Tags |