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