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 SalesOrderLine 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", "SalesOrderLine.name"); 45 String windowId = vars.getRequestGlobalVariable("WindowID", "SalesOrderLine.windowId"); 46 String strSOTrx = vars.getStringParameter("inpisSOTrxTab"); 47 if (strSOTrx.equals("")) strSOTrx = Utility.getContext(this, vars, "isSOTrx", windowId); 48 vars.setSessionValue("SalesOrderLine.isSOTrx", strSOTrx); 49 String strProduct = vars.getRequestGlobalVariable("inpProduct", "SalesOrderLine.product"); 50 String strBPartner = vars.getRequestGlobalVariable("inpBPartner", "SalesOrderLine.bpartner"); 51 if (!strNameValue.equals("")) { 52 int i=0, count=1, inicio=0; 53 String search = " - ", token=""; 54 do { 55 i = strNameValue.indexOf(search, inicio); 56 if (i>=0) { 57 token = strNameValue.substring(inicio, i).trim(); 58 inicio = i + search.length(); 59 } else { 60 token = strNameValue.substring(inicio).trim(); 61 } 62 63 switch (count) { 64 case 1: 65 vars.setSessionValue("SalesOrderLine.documentno", token); 66 break; 67 case 2: 68 vars.setSessionValue("SalesOrderLine.datefrom", token); 69 vars.setSessionValue("SalesOrderLine.dateto", token); 70 break; 71 case 3: 72 vars.setSessionValue("SalesOrderLine.grandtotalfrom", token); 73 vars.setSessionValue("SalesOrderLine.grandtotalto", token); 74 break; 75 case 4: 76 vars.setSessionValue("SalesOrderLine.lineno", token); 77 break; 78 case 5: 79 vars.setSessionValue("SalesOrderLine.linenet", token); 80 break; 81 } 82 count++; 83 } while (i!=-1); 84 } 85 printPageFS(response, vars); 86 } else if (vars.commandIn("KEY")) { 87 String strKeyValue = vars.getRequestGlobalVariable("inpNameValue", "SalesOrderLine.key"); 88 String windowId = vars.getRequestGlobalVariable("WindowID", "SalesOrderLine.windowId"); 89 String strSOTrx = vars.getStringParameter("inpisSOTrxTab"); 90 if (strSOTrx.equals("")) strSOTrx = Utility.getContext(this, vars, "isSOTrx", windowId); 91 vars.setSessionValue("SalesOrderLine.isSOTrx", strSOTrx); 92 vars.setSessionValue("SalesOrderLine.documentno", strKeyValue + "%"); 93 SalesOrderLineData[] data = null; 94 if (strSOTrx.equals("Y")) data = SalesOrderLineData.selectKey(this, Utility.getContext(this, vars, "#User_Client", "SalesOrderLine"), Utility.getContext(this, vars, "#User_Org", "SalesOrderLine"), strKeyValue + "%"); 95 else data = SalesOrderLineData.selectKeySOTrx(this, Utility.getContext(this, vars, "#User_Client", "SalesOrderLine"), Utility.getContext(this, vars, "#User_Org", "SalesOrderLine"), strKeyValue + "%"); 96 if (data!=null && data.length==1) printPageKey(response, vars, data); 97 else printPageFS(response, vars); 98 } else if (vars.commandIn("FRAME1")) { 99 String strBPartner = vars.getGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner", ""); 100 String strProduct = vars.getGlobalVariable("inpmProductId", "SalesOrderLine.product", ""); 101 String strDocumentNo = vars.getGlobalVariable("inpdocumentno", "SalesOrderLine.documentno", ""); 102 String strDateFrom = vars.getGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom", ""); 103 String strDateTo = vars.getGlobalVariable("inpDateTo", "SalesOrderLine.dateto", ""); 104 String strCal1 = vars.getGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom", ""); 105 String strCal2 = vars.getGlobalVariable("inpCalc2", "SalesOrderLine.grandtotalto", ""); 106 printPageFrame1(response, vars, strBPartner, strProduct, strDocumentNo, strDateFrom, strDateTo, strCal1, strCal2); 107 } else if (vars.commandIn("FRAME2")) { 108 String strBpartnerId = vars.getGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner", ""); 109 String strProduct = vars.getGlobalVariable("inpmProductId", "SalesOrderLine.product", ""); 110 String strDocumentNo = vars.getGlobalVariable("inpdocumentno", "SalesOrderLine.documentno", ""); 111 String strDateFrom = vars.getGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom", ""); 112 String strDateTo = vars.getGlobalVariable("inpDateTo", "SalesOrderLine.dateto", ""); 113 String strDescription = vars.getStringParameter("inpDescription"); 114 String strCal1 = vars.getGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom", ""); 115 String strCal2 = vars.getGlobalVariable("inpCalc2", "SalesOrderLine.grandtotalto", ""); 116 String strOrder = vars.getStringParameter("inpOrder"); 117 String strDelivered = vars.getStringParameter("inpdelivered", "N"); 118 String strInvoiced = vars.getStringParameter("inpinvoiced", "N"); 119 printPageFrame2(response, vars, strDocumentNo, strBpartnerId, strDateFrom, strDateTo, strDescription, strCal1, strCal2, strOrder, strProduct, strDelivered, strInvoiced); 120 } else if (vars.commandIn("FIND")) { 121 String strBpartnerId = vars.getRequestGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner"); 122 String strProduct = vars.getRequestGlobalVariable("inpmProductId", "SalesOrderLine.product"); 123 String strDocumentNo = vars.getRequestGlobalVariable("inpdocumentno", "SalesOrderLine.documentno"); 124 String strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom"); 125 String strDateTo = vars.getRequestGlobalVariable("inpDateTo", "SalesOrderLine.dateto"); 126 String strDescription = vars.getStringParameter("inpDescription"); 127 String strCal1 = vars.getRequestGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom"); 128 String strCal2 = vars.getRequestGlobalVariable("inpCalc2", "SalesOrderLine.grandtotalto"); 129 String strOrder = vars.getStringParameter("inpOrder"); 130 String strDelivered = vars.getStringParameter("inpdelivered", "N"); 131 String strInvoiced = vars.getStringParameter("inpinvoiced", "N"); 132 133 vars.setSessionValue("SalesOrderLine.initRecordNumber", "0"); 134 135 printPageFrame2(response, vars, strDocumentNo, strBpartnerId, strDateFrom, strDateTo, strDescription, strCal1, strCal2, strOrder, strProduct, strDelivered, strInvoiced); 136 } else if (vars.commandIn("FRAME3")) { 137 printPageFrame3(response, vars); 138 } else if (vars.commandIn("PREVIOUS")) { 139 String strInitRecord = vars.getSessionValue("SalesOrderLine.initRecordNumber"); 140 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrderLine"); 141 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 142 if (strInitRecord.equals("") || strInitRecord.equals("0")) vars.setSessionValue("SalesOrderLine.initRecordNumber", "0"); 143 else { 144 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 145 initRecord -= intRecordRange; 146 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 147 vars.setSessionValue("SalesOrderLine.initRecordNumber", strInitRecord); 148 } 149 150 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 151 } else if (vars.commandIn("NEXT")) { 152 String strInitRecord = vars.getSessionValue("SalesOrderLine.initRecordNumber"); 153 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrderLine"); 154 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 155 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 156 if (initRecord==0) initRecord=1; 157 initRecord += intRecordRange; 158 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 159 vars.setSessionValue("SalesOrderLine.initRecordNumber", strInitRecord); 160 161 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 162 } else pageError(response); 163 } 164 165 void printPageFS(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 166 if (log4j.isDebugEnabled()) log4j.debug("Output: sale-order-lines seeker Frame Set"); 167 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_FS").createXmlDocument(); 168 169 response.setContentType("text/html; charset=UTF-8"); 170 PrintWriter out = response.getWriter(); 171 out.println(xmlDocument.print()); 172 out.close(); 173 } 174 175 void printPageKey(HttpServletResponse response, VariablesSecureApp vars, SalesOrderLineData[] data) throws IOException, ServletException { 176 if (log4j.isDebugEnabled()) log4j.debug("Output: sale-order-lines seeker Frame Set"); 177 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SearchUniqueKeyResponse").createXmlDocument(); 178 179 xmlDocument.setParameter("script", generateResult(data)); 180 response.setContentType("text/html; charset=UTF-8"); 181 PrintWriter out = response.getWriter(); 182 out.println(xmlDocument.print()); 183 out.close(); 184 } 185 186 String generateResult(SalesOrderLineData[] data) throws IOException, ServletException { 187 StringBuffer html = new StringBuffer (); 188 189 html.append("\nfunction depurarSelector() {\n"); 190 html.append("var clave = \"" + data[0].cOrderlineId + "\";\n"); 191 html.append("var texto = \"" + Replace.replace(data[0].lineText, "\"", "\\\"") + "\";\n"); 192 html.append("parent.opener.closeSearch(\"SAVE\", clave, texto);\n"); 193 html.append("}\n"); 194 return html.toString(); 195 } 196 197 void printPageFrame1(HttpServletResponse response, VariablesSecureApp vars, String strBPartner, String strProduct, String strDocumentNo, String strDateFrom, String strDateTo, String strCal1, String strCal2) throws IOException, ServletException { 198 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 1 of sale-order-lines seeker"); 199 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_F1").createXmlDocument(); 200 if (strBPartner.equals("") && strProduct.equals("") && strDocumentNo.equals("") && strDateFrom.equals("") && strDateTo.equals("") && strCal1.equals("") && strCal2.equals("")) { 201 strDocumentNo = "%"; 202 } 203 xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2)); 204 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 205 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 206 xmlDocument.setParameter("documentno", strDocumentNo); 207 xmlDocument.setParameter("datefrom", strDateFrom); 208 xmlDocument.setParameter("dateto", strDateTo); 209 xmlDocument.setParameter("grandtotalfrom", strCal1); 210 xmlDocument.setParameter("grandtotalto", strCal2); 211 xmlDocument.setParameter("cBpartnerId", strBPartner); 212 xmlDocument.setParameter("cBpartnerId_DES", SalesOrderLineData.selectBPartner(this, strBPartner)); 213 xmlDocument.setParameter("mProductId", strProduct); 214 xmlDocument.setParameter("mProductId_DES", SalesOrderLineData.selectProduct(this, strProduct)); 215 xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 216 xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 217 xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 218 xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 219 response.setContentType("text/html; charset=UTF-8"); 220 PrintWriter out = response.getWriter(); 221 out.println(xmlDocument.print()); 222 out.close(); 223 } 224 225 void printPageFrame2(HttpServletResponse response, VariablesSecureApp vars, String strDocumentNo, String strBpartnerId, String strDateFrom, String strDateTo, String strDescription, String strCal1, String strCalc2, String strOrder, String strProduct, String strDelivered, String strInvoiced) throws IOException, ServletException { 226 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 2 of the sale-order-lines seeker"); 227 XmlDocument xmlDocument; 228 String strSOTrx = vars.getSessionValue("SalesOrderLine.isSOTrx"); 229 SalesOrderLineData[] data = null; 230 231 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrderLine"); 232 int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange)); 233 String strInitRecord = vars.getSessionValue("SalesOrderLine.initRecordNumber"); 234 int initRecordNumber = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 235 236 if (strDocumentNo.equals("") && strBpartnerId.equals("") && strDateFrom.equals("") && strDateTo.equals("") && strDescription.equals("") && strCal1.equals("") && strCalc2.equals("") && strOrder.equals("") && strProduct.equals("")) { 237 String [] discard = {"sectionDetail", "hasPrevious", "hasNext"}; 238 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_F2", discard).createXmlDocument(); 239 data = SalesOrderLineData.set(); 240 } else { 241 String [] discard = {"withoutPrevious", "withoutNext"}; 242 if (strSOTrx.equals("Y")) { 243 data = SalesOrderLineData.select(this, Utility.getContext(this, vars, "#User_Client", "SalesOrderLine"), Utility.getContext(this, vars, "#User_Org", "SalesOrderLine"), strDocumentNo, strDescription, strOrder, strBpartnerId, strDateFrom, DateTimeData.nDaysAfter(this,strDateTo, "1"), strCal1, strCalc2, strProduct, (strDelivered.equals("Y")?"isdelivered":""), (strInvoiced.equals("Y")?"isinvoiced":""), initRecordNumber, intRecordRange); 244 } else { 245 data = SalesOrderLineData.selectSOTrx(this, Utility.getContext(this, vars, "#User_Client", "SalesOrderLine"), Utility.getContext(this, vars, "#User_Org", "SalesOrderLine"), strDocumentNo, strDescription, strOrder, strBpartnerId, strDateFrom, DateTimeData.nDaysAfter(this,strDateTo, "1"), strCal1, strCalc2, strProduct, (strDelivered.equals("Y")?"isdelivered":""), (strInvoiced.equals("Y")?"isinvoiced":""), initRecordNumber, intRecordRange); 246 } 247 if (data==null || data.length==0 || initRecordNumber<=1) discard[0] = new String ("hasPrevious"); 248 if (data==null || data.length==0 || data.length<intRecordRange) discard[1] = new String ("hasNext"); 249 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_F2", discard).createXmlDocument(); 250 } 251 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 252 xmlDocument.setData("structure1", data); 253 254 response.setContentType("text/html; charset=UTF-8"); 255 PrintWriter out = response.getWriter(); 256 out.println(xmlDocument.print()); 257 out.close(); 258 } 259 260 void printPageFrame3(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 261 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 3 of the sale-order-lines seeker"); 262 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_F3").createXmlDocument(); 263 264 response.setContentType("text/html; charset=UTF-8"); 265 PrintWriter out = response.getWriter(); 266 out.println(xmlDocument.print()); 267 out.close(); 268 } 269 270 public String getServletInfo() { 271 return "Servlet that presents que sale-orders lines seeker"; 272 } } 274 | Popular Tags |