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