KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > info > SalesOrderLine


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2001-2006 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18 */

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 JavaDoc strNameValue = vars.getRequestGlobalVariable("inpNameValue", "SalesOrderLine.name");
45       String JavaDoc windowId = vars.getRequestGlobalVariable("WindowID", "SalesOrderLine.windowId");
46       String JavaDoc strSOTrx = vars.getStringParameter("inpisSOTrxTab");
47       if (strSOTrx.equals("")) strSOTrx = Utility.getContext(this, vars, "isSOTrx", windowId);
48       vars.setSessionValue("SalesOrderLine.isSOTrx", strSOTrx);
49       String JavaDoc strProduct = vars.getRequestGlobalVariable("inpProduct", "SalesOrderLine.product");
50       String JavaDoc strBPartner = vars.getRequestGlobalVariable("inpBPartner", "SalesOrderLine.bpartner");
51       if (!strNameValue.equals("")) {
52         int i=0, count=1, inicio=0;
53         String JavaDoc 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 JavaDoc strKeyValue = vars.getRequestGlobalVariable("inpNameValue", "SalesOrderLine.key");
88       String JavaDoc windowId = vars.getRequestGlobalVariable("WindowID", "SalesOrderLine.windowId");
89       String JavaDoc 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 JavaDoc strBPartner = vars.getGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner", "");
100       String JavaDoc strProduct = vars.getGlobalVariable("inpmProductId", "SalesOrderLine.product", "");
101       String JavaDoc strDocumentNo = vars.getGlobalVariable("inpdocumentno", "SalesOrderLine.documentno", "");
102       String JavaDoc strDateFrom = vars.getGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom", "");
103       String JavaDoc strDateTo = vars.getGlobalVariable("inpDateTo", "SalesOrderLine.dateto", "");
104       String JavaDoc strCal1 = vars.getGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom", "");
105       String JavaDoc 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 JavaDoc strBpartnerId = vars.getGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner", "");
109       String JavaDoc strProduct = vars.getGlobalVariable("inpmProductId", "SalesOrderLine.product", "");
110       String JavaDoc strDocumentNo = vars.getGlobalVariable("inpdocumentno", "SalesOrderLine.documentno", "");
111       String JavaDoc strDateFrom = vars.getGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom", "");
112       String JavaDoc strDateTo = vars.getGlobalVariable("inpDateTo", "SalesOrderLine.dateto", "");
113       String JavaDoc strDescription = vars.getStringParameter("inpDescription");
114       String JavaDoc strCal1 = vars.getGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom", "");
115       String JavaDoc strCal2 = vars.getGlobalVariable("inpCalc2", "SalesOrderLine.grandtotalto", "");
116       String JavaDoc strOrder = vars.getStringParameter("inpOrder");
117       String JavaDoc strDelivered = vars.getStringParameter("inpdelivered", "N");
118       String JavaDoc 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 JavaDoc strBpartnerId = vars.getRequestGlobalVariable("inpcBpartnerId", "SalesOrderLine.bpartner");
122       String JavaDoc strProduct = vars.getRequestGlobalVariable("inpmProductId", "SalesOrderLine.product");
123       String JavaDoc strDocumentNo = vars.getRequestGlobalVariable("inpdocumentno", "SalesOrderLine.documentno");
124       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "SalesOrderLine.datefrom");
125       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "SalesOrderLine.dateto");
126       String JavaDoc strDescription = vars.getStringParameter("inpDescription");
127       String JavaDoc strCal1 = vars.getRequestGlobalVariable("inpCal1", "SalesOrderLine.grandtotalfrom");
128       String JavaDoc strCal2 = vars.getRequestGlobalVariable("inpCalc2", "SalesOrderLine.grandtotalto");
129       String JavaDoc strOrder = vars.getStringParameter("inpOrder");
130       String JavaDoc strDelivered = vars.getStringParameter("inpdelivered", "N");
131       String JavaDoc 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 JavaDoc strInitRecord = vars.getSessionValue("SalesOrderLine.initRecordNumber");
140       String JavaDoc 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 JavaDoc strInitRecord = vars.getSessionValue("SalesOrderLine.initRecordNumber");
153       String JavaDoc 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 JavaDoc generateResult(SalesOrderLineData[] data) throws IOException, ServletException {
187     StringBuffer JavaDoc html = new StringBuffer JavaDoc();
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 JavaDoc strBPartner, String JavaDoc strProduct, String JavaDoc strDocumentNo, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strCal1, String JavaDoc 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 JavaDoc strDocumentNo, String JavaDoc strBpartnerId, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strDescription, String JavaDoc strCal1, String JavaDoc strCalc2, String JavaDoc strOrder, String JavaDoc strProduct, String JavaDoc strDelivered, String JavaDoc strInvoiced) throws IOException, ServletException {
226     if (log4j.isDebugEnabled()) log4j.debug("Output: Frame 2 of the sale-order-lines seeker");
227     XmlDocument xmlDocument;
228     String JavaDoc strSOTrx = vars.getSessionValue("SalesOrderLine.isSOTrx");
229     SalesOrderLineData[] data = null;
230
231     String JavaDoc strRecordRange = Utility.getContext(this, vars, "#RecordRangeInfo", "SalesOrderLine");
232     int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange));
233     String JavaDoc 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 JavaDoc[] discard = {"sectionDetail", "hasPrevious", "hasNext"};
238       xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/info/SalesOrderLine_F2", discard).createXmlDocument();
239       data = SalesOrderLineData.set();
240     } else {
241       String JavaDoc[] 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 JavaDoc("hasPrevious");
248       if (data==null || data.length==0 || data.length<intRecordRange) discard[1] = new String JavaDoc("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 JavaDoc getServletInfo() {
271     return "Servlet that presents que sale-orders lines seeker";
272   } // end of getServletInfo() method
273
}
274
Popular Tags