1 19 package org.openbravo.erpCommon.info; 20 21 import org.openbravo.base.secureApp.*; 22 import org.openbravo.xmlEngine.XmlDocument; 23 import org.openbravo.erpCommon.utility.Utility; 24 import java.io.*; 25 import javax.servlet.*; 26 import javax.servlet.http.*; 27 import org.openbravo.utils.Replace; 28 29 import org.openbravo.erpCommon.utility.DateTimeData; 30 31 32 public class SalesOrder extends HttpSecureAppServlet { 33 34 35 public void init (ServletConfig config) { 36 super.init(config); 37 boolHist = false; 38 } 39 40 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 41 VariablesSecureApp vars = new VariablesSecureApp(request); 42 43 if (vars.commandIn("DEFAULT")) { 44 String strNameValue = vars.getRequestGlobalVariable("inpNameValue", "SalesOrder.name"); 45 if (!strNameValue.equals("")) vars.setSessionValue("SalesOrder.name", strNameValue + "%"); 46 printPageFS(response, vars); 47 } else if (vars.commandIn("KEY")) { 48 String strKeyValue = vars.getRequestGlobalVariable("inpNameValue", "SalesOrder.name"); 49 vars.setSessionValue("SalesOrder.name", strKeyValue + "%"); 50 SalesOrderData[] data = SalesOrderData.selectKey(this, Utility.getContext(this, vars, "#User_Client", "SalesOrder"), Utility.getContext(this, vars, "#User_Org", "SalesOrder"), strKeyValue + "%"); 51 if (data!=null && data.length==1) { 52 printPageKey(response, vars, data); 53 } else printPageFS(response, vars); 54 } else if (vars.commandIn("FRAME1")) { 55 String strNameValue = vars.getGlobalVariable("inpName", "SalesOrder.name", ""); 56 printPageFrame1(response, vars, strNameValue); 57 } else if (vars.commandIn("FRAME2")) { 58 String strName = vars.getGlobalVariable("inpKey", "SalesOrder.name", ""); 59 String strBpartnerId = vars.getStringParameter("inpBpartnerId"); 60 String strDateFrom = vars.getStringParameter("inpDateFrom"); 61 String strDateTo = vars.getStringParameter("inpDateTo"); 62 String strDescription = vars.getStringParameter("inpDescription"); 63 String strCal1 = vars.getStringParameter("inpCal1"); 64 String strCalc2 = vars.getStringParameter("inpCalc2"); 65 String strOrder = vars.getStringParameter("inpOrder"); 66 printPageFrame2(response, vars, strName, strBpartnerId, strDateFrom, strDateTo, strDescription, strCal1, strCalc2, strOrder); 67 } else if (vars.commandIn("FIND")) { 68 String strName = vars.getGlobalVariable("inpKey", "SalesOrder.name", ""); 69 String strBpartnerId = vars.getStringParameter("inpBpartnerId"); 70 String strDateFrom = vars.getStringParameter("inpDateFrom"); 71 String strDateTo = vars.getStringParameter("inpDateTo"); 72 String strDescription = vars.getStringParameter("inpDescription"); 73 String strCal1 = vars.getStringParameter("inpCal1"); 74 String strCalc2 = vars.getStringParameter("inpCalc2"); 75 String strOrder = vars.getStringParameter("inpOrder"); 76 77 vars.setSessionValue("SalesOrder.initRecordNumber", "0"); 78 79 printPageFrame2(response, vars, strName, strBpartnerId, strDateFrom, strDateTo, strDescription, strCal1, strCalc2, strOrder); 80 } else if (vars.commandIn("FRAME3")) { 81 printPageFrame3(response, vars); 82 } else if (vars.commandIn("PREVIOUS")) { 83 String strInitRecord = vars.getSessionValue("SalesOrder.initRecordNumber"); 84 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrder"); 85 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 86 if (strInitRecord.equals("") || strInitRecord.equals("0")) vars.setSessionValue("SalesOrder.initRecordNumber", "0"); 87 else { 88 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 89 initRecord -= intRecordRange; 90 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 91 vars.setSessionValue("SalesOrder.initRecordNumber", strInitRecord); 92 } 93 94 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 95 } else if (vars.commandIn("NEXT")) { 96 String strInitRecord = vars.getSessionValue("SalesOrder.initRecordNumber"); 97 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrder"); 98 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 99 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 100 if (initRecord==0) initRecord=1; 101 initRecord += intRecordRange; 102 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 103 vars.setSessionValue("SalesOrder.initRecordNumber", strInitRecord); 104 105 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 106 } else pageError(response); 107 } 108 109 void printPageFS(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 110 if (log4j.isDebugEnabled()) log4j.debug("Output: sale-orders seeker Frame Set"); 111 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrder_FS").createXmlDocument(); 112 113 response.setContentType("text/html; charset=UTF-8"); 114 PrintWriter out = response.getWriter(); 115 out.println(xmlDocument.print()); 116 out.close(); 117 } 118 119 void printPageKey(HttpServletResponse response, VariablesSecureApp vars, SalesOrderData[] data) throws IOException, ServletException { 120 if (log4j.isDebugEnabled()) log4j.debug("Output: sale-orders seeker Frame Set"); 121 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SearchUniqueKeyResponse").createXmlDocument(); 122 123 xmlDocument.setParameter("script", generateResult(data)); 124 response.setContentType("text/html; charset=UTF-8"); 125 PrintWriter out = response.getWriter(); 126 out.println(xmlDocument.print()); 127 out.close(); 128 } 129 130 String generateResult(SalesOrderData[] data) throws IOException, ServletException { 131 StringBuffer html = new StringBuffer (); 132 133 html.append("\nfunction depurarSelector() {\n"); 134 html.append("var clave = \"" + data[0].cOrderId + "\";\n"); 135 html.append("var texto = \"" + Replace.replace(data[0].documentno, "\"", "\\\"") + "\";\n"); 136 html.append("parent.opener.closeSearch(\"SAVE\", clave, texto);\n"); 137 html.append("}\n"); 138 return html.toString(); 139 } 140 141 void printPageFrame1(HttpServletResponse response, VariablesSecureApp vars, String strNameValue) throws IOException, ServletException { 142 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 1 of the sale-orders seeker"); 143 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrder_F1").createXmlDocument(); 144 if (strNameValue.equals("")) { 145 xmlDocument.setParameter("key", "%"); 146 } else { 147 String substr; 148 String white = " "; 149 int index = strNameValue.indexOf(white, 0); 150 substr = strNameValue.substring(0,index); 151 xmlDocument.setParameter("key", substr); 152 } 153 xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2)); 154 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 155 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 156 xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 157 xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 158 xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 159 xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 160 response.setContentType("text/html; charset=UTF-8"); 161 PrintWriter out = response.getWriter(); 162 out.println(xmlDocument.print()); 163 out.close(); 164 } 165 166 void printPageFrame2(HttpServletResponse response, VariablesSecureApp vars, String strName, String strBpartnerId, String strDateFrom, String strDateTo, String strDescription, String strCal1, String strCalc2, String strOrder) throws IOException, ServletException { 167 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 2 of the sale-orders seeker"); 168 XmlDocument xmlDocument; 169 170 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrder"); 171 int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange)); 172 String strInitRecord = vars.getSessionValue("SalesOrder.initRecordNumber"); 173 int initRecordNumber = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 174 175 if (strName.equals("") && strBpartnerId.equals("") && strDateFrom.equals("") && strDateTo.equals("") && strDescription.equals("") && strCal1.equals("") && strCalc2.equals("") && strOrder.equals("")) { 176 String [] discard = {"sectionDetail", "hasPrevious", "hasNext"}; 177 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrder_F2", discard).createXmlDocument(); 178 xmlDocument.setData("structure1", SalesOrderData.set()); 179 } else { 180 String [] discard = {"withoutPrevious", "withoutNext"}; 181 SalesOrderData[] data = SalesOrderData.select(this, Utility.getContext(this, vars, "#User_Client", "SalesOrder"), Utility.getContext(this, vars, "#User_Org", "SalesOrder"), strName, strDescription, strOrder, strBpartnerId, strDateFrom, DateTimeData.nDaysAfter(this,strDateTo, "1"), strCal1, strCalc2, initRecordNumber, intRecordRange); 182 if (data==null || data.length==0 || initRecordNumber<=1) discard[0] = new String ("hasPrevious"); 183 if (data==null || data.length==0 || data.length<intRecordRange) discard[1] = new String ("hasNext"); 184 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrder_F2", discard).createXmlDocument(); 185 xmlDocument.setData("structure1", data); 186 } 187 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 188 response.setContentType("text/html; charset=UTF-8"); 189 PrintWriter out = response.getWriter(); 190 out.println(xmlDocument.print()); 191 out.close(); 192 } 193 194 void printPageFrame3(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 195 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 3 of the sale-orders seeker"); 196 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrder_F3").createXmlDocument(); 197 198 response.setContentType("text/html; charset=UTF-8"); 199 PrintWriter out = response.getWriter(); 200 out.println(xmlDocument.print()); 201 out.close(); 202 } 203 204 public String getServletInfo() { 205 return "Servlet that presents que sale-orders seeker"; 206 } } 208 | Popular Tags |