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 30 31 public class BusinessPartner extends HttpSecureAppServlet { 32 33 34 public void init (ServletConfig config) { 35 super.init(config); 36 boolHist = false; 37 } 38 39 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 40 VariablesSecureApp vars = new VariablesSecureApp(request); 41 42 if (vars.commandIn("DEFAULT")) { 43 String strWindowId = vars.getStringParameter("WindowID"); 44 String strNameValue = vars.getRequestGlobalVariable("inpNameValue", "BusinessPartner.name"); 45 String strIDValue = vars.getStringParameter("inpIDValue"); 46 if (!strIDValue.equals("")) { 47 String strNameAux = BusinessPartnerData.existsActual(this, vars.getLanguage(), strNameValue, strIDValue); 48 if (!strNameAux.equals("")) strNameValue = strNameAux; 49 } 50 vars.removeSessionValue("BusinessPartner.key"); 51 String strIsSOTrxTab = vars.getStringParameter("inpisSOTrxTab"); 52 String strBpartner = strIsSOTrxTab; 53 if (strIsSOTrxTab.equals("")) strBpartner = Utility.getContext(this, vars, "isSOTrx", strWindowId); 54 String strSelected = "all"; 55 if (strBpartner.equals("Y")) strSelected = "costumer"; 56 else if (strBpartner.equals("N")) strSelected = "vendor"; 57 else strSelected = "all"; 58 vars.setSessionValue("BusinessPartner.bpartner", strSelected); 59 if (!strNameValue.equals("")) vars.setSessionValue("BusinessPartner.name", strNameValue + "%"); 60 printPageFS(response, vars); 61 } else if (vars.commandIn("KEY")) { 62 String strWindowId = vars.getStringParameter("WindowID"); 63 String strIsSOTrxTab = vars.getStringParameter("inpisSOTrxTab"); 64 String strKeyValue = vars.getRequestGlobalVariable("inpNameValue", "BusinessPartner.key"); 65 String strIDValue = vars.getStringParameter("inpIDValue"); 66 if (!strIDValue.equals("")) { 67 String strNameAux = BusinessPartnerData.existsActualValue(this, vars.getLanguage(), strKeyValue, strIDValue); 68 if (!strNameAux.equals("")) strKeyValue = strNameAux; 69 } 70 vars.removeSessionValue("BusinessPartner.name"); 71 if (!strKeyValue.equals("")) vars.setSessionValue("BusinessPartner.key", strKeyValue + "%"); 72 String strBpartner = strIsSOTrxTab; 73 if (strIsSOTrxTab.equals("")) strBpartner = Utility.getContext(this, vars, "isSOTrx", strWindowId); 74 String strSelected = "all"; 75 if (strBpartner.equals("Y")) strSelected = "costumer"; 76 else if (strBpartner.equals("N")) strSelected = "vendor"; 77 else strSelected = "all"; 78 vars.setSessionValue("BusinessPartner.bpartner", strSelected); 79 BusinessPartnerData[] data = BusinessPartnerData.selectKey(this, Utility.getContext(this, vars, "#User_Client", "BusinessPartner"), Utility.getContext(this, vars, "#User_Org", "BusinessPartner"), (strSelected.equals("costumer")?"clients":""), (strSelected.equals("vendor")?"vendors":""), strKeyValue + "%"); 80 if (data!=null && data.length==1) { 81 printPageKey(response, vars, data); 82 } else printPageFS(response, vars); 83 } else if (vars.commandIn("FRAME1")) { 84 String strKeyValue = vars.getGlobalVariable("inpKey", "BusinessPartner.key", ""); 85 String strNameValue = vars.getGlobalVariable("inpName", "BusinessPartner.name", ""); 86 String strBpartners = vars.getGlobalVariable("inpBpartner", "BusinessPartner.bpartner", "all"); 87 printPageFrame1(response, vars, strKeyValue, strNameValue, strBpartners); 88 } else if (vars.commandIn("FRAME2")) { 89 String strKey = vars.getGlobalVariable("inpKey", "BusinessPartner.key", ""); 90 String strName = vars.getGlobalVariable("inpName", "BusinessPartner.name", ""); 91 String strContact = vars.getStringParameter("inpContact"); 92 String strZIP = vars.getStringParameter("inpZIP"); 93 String strProvincia = vars.getStringParameter("inpProvincia"); 94 String strBpartners = vars.getGlobalVariable("inpBpartner", "BusinessPartner.bpartner", "all"); 95 String strCity = vars.getStringParameter("inpCity"); 96 printPageFrame2(response, vars, strKey, strName, strContact, strZIP, strProvincia, strBpartners, strCity); 97 } else if (vars.commandIn("FIND")) { 98 String strKey = vars.getRequestGlobalVariable("inpKey", "BusinessPartner.key"); 99 String strName = vars.getRequestGlobalVariable("inpName", "BusinessPartner.name"); 100 String strContact = vars.getStringParameter("inpContact"); 101 String strZIP = vars.getStringParameter("inpZIP"); 102 String strProvincia = vars.getStringParameter("inpProvincia"); 103 String strBpartners = vars.getStringParameter("inpBpartner"); 104 String strCity = vars.getStringParameter("inpCity"); 105 106 vars.setSessionValue("BusinessPartner.initRecordNumber", "0"); 107 108 printPageFrame2(response, vars, strKey, strName, strContact, strZIP, strProvincia, strBpartners, strCity); 109 } else if (vars.commandIn("FRAME3")) { 110 printPageFrame3(response, vars); 111 } else if (vars.commandIn("PREVIOUS")) { 112 String strInitRecord = vars.getSessionValue("BusinessPartner.initRecordNumber"); 113 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "BusinessPartner"); 114 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 115 if (strInitRecord.equals("") || strInitRecord.equals("0")) vars.setSessionValue("BusinessPartner.initRecordNumber", "0"); 116 else { 117 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 118 initRecord -= intRecordRange; 119 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 120 vars.setSessionValue("BusinessPartner.initRecordNumber", strInitRecord); 121 } 122 123 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 124 } else if (vars.commandIn("NEXT")) { 125 String strInitRecord = vars.getSessionValue("BusinessPartner.initRecordNumber"); 126 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "BusinessPartner"); 127 int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange); 128 int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 129 if (initRecord==0) initRecord=1; 130 initRecord += intRecordRange; 131 strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord)); 132 vars.setSessionValue("BusinessPartner.initRecordNumber", strInitRecord); 133 134 response.sendRedirect(strDireccion + request.getServletPath() + "?Command=FRAME2"); 135 } else pageError(response); 136 } 137 138 void printPageFS(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 139 if (log4j.isDebugEnabled()) log4j.debug("Output: business partners seeker Frame Set"); 140 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/BusinessPartner_FS").createXmlDocument(); 141 142 response.setContentType("text/html; charset=UTF-8"); 143 PrintWriter out = response.getWriter(); 144 out.println(xmlDocument.print()); 145 out.close(); 146 } 147 148 void printPageKey(HttpServletResponse response, VariablesSecureApp vars, BusinessPartnerData[] data) throws IOException, ServletException { 149 if (log4j.isDebugEnabled()) log4j.debug("Output: business partners seeker Frame Set"); 150 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SearchUniqueKeyResponse").createXmlDocument(); 151 152 xmlDocument.setParameter("script", generateResult(data)); 153 response.setContentType("text/html; charset=UTF-8"); 154 PrintWriter out = response.getWriter(); 155 out.println(xmlDocument.print()); 156 out.close(); 157 } 158 159 String generateResult(BusinessPartnerData[] data) throws IOException, ServletException { 160 StringBuffer html = new StringBuffer (); 161 162 html.append("\nfunction depurarSelector() {\n"); 163 html.append("var clave = \"" + data[0].cBpartnerId + "\";\n"); 164 html.append("var texto = \"" + Replace.replace(data[0].name, "\"", "\\\"") + "\";\n"); 165 html.append("var parameter = new Array(\n"); 166 html.append("new SearchElements(\"_LOC\", true, \"" + data[0].cBpartnerLocationId + "\"),\n"); 167 html.append("new SearchElements(\"_CON\", true, \"" + data[0].cBpartnerContactId + "\")\n"); 168 html.append(");\n"); 169 html.append("parent.opener.closeSearch(\"SAVE\", clave, texto, parameter);\n"); 170 html.append("}\n"); 171 return html.toString(); 172 } 173 174 void printPageFrame1(HttpServletResponse response, VariablesSecureApp vars, String strKeyValue, String strNameValue, String strBpartners) throws IOException, ServletException { 175 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 1 of business partners seeker"); 176 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/BusinessPartner_F1").createXmlDocument(); 177 if (strKeyValue.equals("") && strNameValue.equals("")) { 178 xmlDocument.setParameter("key", "%"); 179 } else { 180 xmlDocument.setParameter("key", strKeyValue); 181 } 182 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 183 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 184 xmlDocument.setParameter("name", strNameValue); 185 xmlDocument.setParameter("clients", strBpartners); 186 xmlDocument.setParameter("vendors", strBpartners); 187 xmlDocument.setParameter("all", strBpartners); 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 printPageFrame2(HttpServletResponse response, VariablesSecureApp vars, String strKey, String strName, String strContact, String strZIP, String strProvincia, String strBpartners, String strCity) throws IOException, ServletException { 195 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 2 of the business partners seeker"); 196 XmlDocument xmlDocument; 197 198 String strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "BusinessPartner"); 199 int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange)); 200 String strInitRecord = vars.getSessionValue("BusinessPartner.initRecordNumber"); 201 int initRecordNumber = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord)); 202 203 if (strKey.equals("") && strName.equals("") && strContact.equals("") && strZIP.equals("") && strProvincia.equals("") && strCity.equals("")) { 204 String [] discard = {"sectionDetail", "hasPrevious", "hasNext"}; 205 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/BusinessPartner_F2", discard).createXmlDocument(); 206 xmlDocument.setData("structure1", BusinessPartnerData.set()); 207 } else { 208 String [] discard = {"withoutPrevious", "withoutNext"}; 209 BusinessPartnerData[] data = BusinessPartnerData.select(this, vars.getLanguage(), Utility.getContext(this, vars, "#User_Client", "BusinessPartner"), Utility.getContext(this, vars, "#User_Org", "BusinessPartner"), strKey, strName, strContact, strZIP, strProvincia, (strBpartners.equals("costumer")?"clients":""), (strBpartners.equals("vendor")?"vendors":""), strCity, initRecordNumber, intRecordRange); 210 if (data==null || data.length==0 || initRecordNumber<=1) discard[0] = new String ("hasPrevious"); 211 if (data==null || data.length==0 || data.length<intRecordRange) discard[1] = new String ("hasNext"); 212 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/BusinessPartner_F2", discard).createXmlDocument(); 213 xmlDocument.setData("structure1", data); 214 } 215 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 216 response.setContentType("text/html; charset=UTF-8"); 217 PrintWriter out = response.getWriter(); 218 out.println(xmlDocument.print()); 219 out.close(); 220 } 221 222 void printPageFrame3(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 223 if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 3 of the business partners seeker"); 224 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/BusinessPartner_F3").createXmlDocument(); 225 226 response.setContentType("text/html; charset=UTF-8"); 227 PrintWriter out = response.getWriter(); 228 out.println(xmlDocument.print()); 229 out.close(); 230 } 231 232 public String getServletInfo() { 233 return "Servlet that presents the business partners seeker"; 234 } } 236 | Popular Tags |