| 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 javax.servlet.*; 26 import javax.servlet.http.*; 27 import java.math.BigDecimal ; 28 29 30 public class SL_InvoiceTax_Amt extends HttpSecureAppServlet { 31 32 33 public void init (ServletConfig config) { 34 super.init(config); 35 boolHist = false; 36 } 37 38 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 39 VariablesSecureApp vars = new VariablesSecureApp(request); 40 if (vars.commandIn("DEFAULT")) { 41 String strChanged = vars.getStringParameter("inpLastFieldChanged"); 42 if (log4j.isDebugEnabled()) log4j.debug("CHANGED: " + strChanged); 43 String strTaxAmt = vars.getStringParameter("inptaxamt"); 44 String strTaxBaseAmt = vars.getStringParameter("inptaxbaseamt"); 45 String strTaxId = vars.getStringParameter("inpcTaxId"); 46 String strInvoiceId = vars.getStringParameter("inpcInvoiceId"); 47 48 try { 49 printPage(response, vars, strChanged, strTaxAmt, strTaxBaseAmt, strTaxId, strInvoiceId); 50 } catch (ServletException ex) { 51 pageErrorCallOut(response); 52 } 53 } else pageError(response); 54 } 55 56 void printPage(HttpServletResponse response, VariablesSecureApp vars, String strChanged, String strTaxAmt, String strTaxBaseAmt, String strTaxId, String strInvoiceId) throws IOException, ServletException { 57 if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet"); 58 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_callouts/CallOut").createXmlDocument(); 59 60 StringBuffer resultado = new StringBuffer (); 61 62 63 if (strTaxAmt.startsWith("\"")) strTaxAmt = strTaxAmt.substring(1,strTaxAmt.length() - 1); 65 if (strTaxBaseAmt.startsWith("\"")) strTaxBaseAmt = strTaxBaseAmt.substring(1, strTaxBaseAmt.length() - 1); 66 if (strTaxId.startsWith("\"")) strTaxId = strTaxId.substring(1, strTaxId.length() -1); 67 if (strInvoiceId.startsWith("\"")) strInvoiceId = strInvoiceId.substring(1, strTaxId.length() -1); 68 69 SLInvoiceTaxAmtData [] data = SLInvoiceTaxAmtData.select(this, strTaxId, strInvoiceId); 70 71 BigDecimal taxAmt = (strTaxAmt.equals("")?new BigDecimal (0.0):new BigDecimal (strTaxAmt)); 72 BigDecimal taxBaseAmt = (strTaxBaseAmt.equals("")?new BigDecimal (0.0):new BigDecimal (strTaxBaseAmt)); 73 BigDecimal taxRate = (data[0].rate.equals("")?new BigDecimal (1):new BigDecimal (data[0].rate)); 74 Integer taxScale = new Integer (data[0].priceprecision); 75 76 if (strChanged.equals("inptaxamt")) { 77 taxBaseAmt = new BigDecimal (taxAmt.doubleValue()/taxRate.doubleValue()*100).setScale(taxScale,BigDecimal.ROUND_HALF_UP); 78 } else { 79 taxAmt = new BigDecimal (taxBaseAmt.doubleValue()*taxRate.doubleValue()/100).setScale(taxScale,BigDecimal.ROUND_HALF_UP); 80 } 81 82 83 resultado.append("var calloutName='SL_InvoiceTax_Amt';\n\n"); 84 resultado.append("var respuesta = new Array("); 85 resultado.append("new Array(\"inptaxamt\", " + taxAmt.toString() + "),"); 86 resultado.append("new Array(\"inptaxbaseamt\", " + taxBaseAmt.toString() +"));"); 87 88 89 xmlDocument.setParameter("array", resultado.toString()); 90 xmlDocument.setParameter("frameName", "frameAplicacion"); 91 response.setContentType("text/html; charset=UTF-8"); 92 PrintWriter out = response.getWriter(); 93 out.println(xmlDocument.print()); 94 out.close(); 95 } 96 } 97 | Popular Tags |