1 19 package org.openbravo.erpCommon.ad_forms; 20 21 import org.openbravo.erpCommon.utility.SequenceIdData; 22 import org.openbravo.erpCommon.businessUtility.WindowTabs; 23 import org.openbravo.erpCommon.reference.*; 24 import org.openbravo.erpCommon.ad_background.*; 25 import org.openbravo.erpCommon.utility.*; 26 import org.openbravo.base.secureApp.HttpSecureAppServlet; 27 import org.openbravo.base.secureApp.VariablesSecureApp; 28 import org.openbravo.xmlEngine.XmlDocument; 29 import java.io.*; 30 import javax.servlet.*; 31 import javax.servlet.http.*; 32 33 34 public class CallAcctServer extends HttpSecureAppServlet { 35 36 37 public final String [] TableIds = {"318","407","392","800019","800060","319", "321", "323", "259", "224", "800176"}; 38 39 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 40 VariablesSecureApp vars = new VariablesSecureApp(request); 41 String adProcessId = CallAcctServerData.processID(this); 42 PeriodicBackground acctServer = getBackgroundProcess(adProcessId); 43 if (vars.commandIn("DEFAULT")) { 44 String strTableId = vars.getStringParameter("inpadTableId", ""); 45 printPage(response,vars, strTableId, ""); 46 } else if (vars.commandIn("CANCELAR")) { 47 String strTableId = vars.getStringParameter("inpadTableId", ""); 48 acctServer.cancelDirectProcess(); 49 printPage(response,vars, strTableId, ""); 50 } else if (vars.commandIn("REFRESH_INFO")) { 51 String strMessage = ""; 52 if (!acctServer.getOut().equals("")) { 53 strMessage = acctServer.getOut(); 54 acctServer.clearLastLog(); 55 } else if (!acctServer.isProcessing()) { 56 strMessage = "ENDOFPROCESS"; 57 } 58 printPageAjax(response,vars, strMessage); 59 } else if (vars.commandIn("RUN")) { 60 String strTableId = vars.getStringParameter("inpadTableId"); 61 if (log4j.isDebugEnabled()) log4j.debug(strTableId); 62 printPageLog(response, vars, strTableId, acctServer, adProcessId); 63 } else pageError(response); 64 } 65 66 private void printPage(HttpServletResponse response, VariablesSecureApp vars, String strTableId, String strMessage) throws IOException, ServletException{ 67 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_forms/CallAcctServer").createXmlDocument(); 68 69 ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "CallAcctServer", false, "", "", "",false, "ad_forms", strReplaceWith, false, true); 70 toolbar.prepareSimpleToolBarTemplate(); 71 xmlDocument.setParameter("toolbar", toolbar.toString()); 72 73 try { 74 WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_forms.CallAcctServer"); 75 xmlDocument.setParameter("parentTabContainer", tabs.parentTabs()); 76 xmlDocument.setParameter("mainTabContainer", tabs.mainTabs()); 77 xmlDocument.setParameter("childTabContainer", tabs.childTabs()); 78 xmlDocument.setParameter("theme", vars.getTheme()); 79 NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "CallAcctServer.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb()); 80 xmlDocument.setParameter("navigationBar", nav.toString()); 81 LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "CallAcctServer.html", strReplaceWith); 82 xmlDocument.setParameter("leftTabs", lBar.manualTemplate()); 83 } catch (Exception ex) { 84 throw new ServletException(ex); 85 } 86 { 87 OBError myMessage = vars.getMessage("CallAcctServer"); 88 vars.removeMessage("CallAcctServer"); 89 if (myMessage!=null) { 90 xmlDocument.setParameter("messageType", myMessage.getType()); 91 xmlDocument.setParameter("messageTitle", myMessage.getTitle()); 92 xmlDocument.setParameter("messageMessage", myMessage.getMessage()); 93 } 94 95 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 96 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 97 xmlDocument.setParameter("body", (strMessage.equals("")?"":"alert('" + strMessage + "');")); 98 99 100 101 AcctServerData[] data = AcctServerData.selectTables(this, vars.getLanguage(), Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", "")); 102 if (log4j.isDebugEnabled()) log4j.debug("select tables org:"+Utility.getContext(this, vars, "#User_Org", "")+", Client:"+Utility.getContext(this, vars, "#User_Client", "")+",lang:"+vars.getLanguage()); 103 if (log4j.isDebugEnabled()) log4j.debug("lenght:"+data.length); 104 xmlDocument.setData("reportadTableId", "liststructure", data); 105 106 xmlDocument.setParameter("adTableId", strTableId); 107 108 response.setContentType("text/html; charset=UTF-8"); 109 PrintWriter out = response.getWriter(); 110 out.println(xmlDocument.print()); 111 out.close(); 112 } 113 } 114 115 private void printPageLog(HttpServletResponse response, VariablesSecureApp vars, String strTableId, PeriodicBackground acctServer, String adProcessId) throws IOException, ServletException{ 116 String adPinstanceId = SequenceIdData.getSequence(this, "AD_PInstance", vars.getClient()); 117 PInstanceProcessData.insertPInstance(this, adPinstanceId, adProcessId, "0", "N", vars.getUser(), vars.getClient(), vars.getOrg()); 118 PInstanceProcessData.insertPInstanceParamNumber(this, adPinstanceId, "10", "AD_Table_ID", strTableId, vars.getClient(), vars.getOrg(), vars.getUser()); 119 120 response.setContentType("text/html; charset=UTF-8"); 121 PrintWriter out = response.getWriter(); 122 out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); 123 out.println("<html>"); 124 out.println("<head>"); 125 out.println("<link REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"" + strReplaceWith + "/css/aplication.css\" TITLE=\"Style\"/>"); 126 out.println("<title>Log</title>"); 127 out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"); 128 out.println("<SCRIPT language=\"JavaScript\" type=\"text/javascript\">var baseDirection = \"" + strReplaceWith + "/\";</SCRIPT>"); 129 out.println("<script language=\"JavaScript\" SRC=\"" + strReplaceWith + "/js/messages.js\" type=\"text/javascript\"></script>"); 130 out.println("<script language=\"JavaScript\" SRC=\"" + strReplaceWith + "/js/utils.js\" type=\"text/javascript\"></script>"); 131 out.println("<script language=\"JavaScript\" SRC=\"" + strReplaceWith + "/js/ajax.js\" type=\"text/javascript\"></script>"); 132 out.println("<SCRIPT language=\"JavaScript\" type=\"text/javascript\">LNG_POR_DEFECTO = \"" + vars.getLanguage() + "\";</SCRIPT>"); 133 out.println("<SCRIPT language=\"JavaScript\" type=\"text/javascript\">\n"); 134 out.println("var id=0;\n"); 135 out.println("var finish=false;\n"); 136 out.println("function callback() {\n"); 137 out.println(" var strText = \"\";\n"); 138 out.println(" if (getReadyStateHandler(xmlreq)) {\n"); 139 out.println(" try {\n"); 140 out.println(" if (xmlreq.responseText) strText = xmlreq.responseText;\n"); 141 out.println(" } catch (e) {\n"); 142 out.println(" }\n"); 143 out.println(" if (strText!=null && strText.indexOf(\"ENDOFPROCESS\")==-1) {\n"); 144 out.println(" if (strText != \"\") \n"); 145 out.println(" layer(\"messageText\", strText, true, true);\n"); 146 out.println(" id = setTimeout(\"refreshData();\", 800);\n"); 147 out.println(" document.getElementById('messageText').style.cursor='wait';\n"); 148 out.println(" } else if (strText==null) {\n"); 149 out.println(" id = setTimeout(\"refreshData();\", 800);\n"); 150 out.println(" document.getElementById('messageText').style.cursor='wait';\n"); 151 out.println(" } else if (!finish) {\n"); 152 out.println(" clearTimeout(id);\n"); 153 out.println(" finish=true;\n"); 154 out.println(" document.getElementById('messageText').style.cursor='default';\n"); 155 out.println(" alert(\"" + Utility.messageBD(this, "ProcessOK", vars.getLanguage()) + "\");\n"); 156 out.println(" }\n"); 157 out.println(" }\n"); 158 out.println(" return true;\n"); 159 out.println("}\n"); 160 out.println("function refreshData() {\n"); 161 out.println(" return submitXmlHttpRequest(callback, document.forms[0], \"REFRESH_INFO\", \"CallAcctServer.html\", false);\n"); 162 out.println("}\n"); 163 out.println("</SCRIPT>\n"); 164 out.println("</head>"); 165 out.println("<body leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" onLoad=\"refreshData();\">"); 166 out.println("<form name=\"frmMain\" action=\"\" method=\"post\"><input type=\"hidden\" name=\"Command\"></forms>\n"); 167 out.println("<H1>Log</H1>"); 168 out.println("<HR>"); 169 out.println("<span id=\"messageText\"></span>"); 170 out.println("</body>"); 171 out.println("</html>"); 172 out.close(); 173 174 if (acctServer.directLaunch(vars, adPinstanceId)) { 175 while(acctServer.isDirectProcess() && !acctServer.isProcessing()){ if (log4j.isDebugEnabled()) log4j.debug("Waiting fot the beginning of the thread");}; 176 } 177 } 178 179 public void printPageAjax(HttpServletResponse response, VariablesSecureApp vars, String strMessage) throws IOException, ServletException { 180 response.setContentType("text/plain; charset=UTF-8"); 181 response.setHeader("Cache-Control", "no-cache"); 182 PrintWriter out = response.getWriter(); 183 out.println(strMessage); 184 out.close(); 185 } 186 187 public String getServletInfo() { 188 return "Servlet that calls the contabilization process"; 189 } } 191 | Popular Tags |