KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_reports > ReportAccountingCountDimensionalAnalyses


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.ad_reports;
20
21 import org.openbravo.erpCommon.utility.*;
22 import org.openbravo.erpCommon.businessUtility.WindowTabs;
23 import org.openbravo.erpCommon.businessUtility.Tree;
24 import org.openbravo.erpCommon.businessUtility.TreeData;
25 import org.openbravo.base.secureApp.HttpSecureAppServlet;
26 import org.openbravo.base.secureApp.VariablesSecureApp;
27 import org.openbravo.xmlEngine.XmlDocument;
28 import java.io.*;
29 import java.util.*;
30 import java.util.Vector JavaDoc;
31 import javax.servlet.*;
32 import javax.servlet.http.*;
33
34 import org.openbravo.utils.Replace;
35 import org.openbravo.erpCommon.ad_combos.OrganizationComboData;
36
37
38 import org.openbravo.erpCommon.utility.DateTimeData;
39
40
41 public class ReportAccountingCountDimensionalAnalyses extends HttpSecureAppServlet {
42
43
44   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
45     VariablesSecureApp vars = new VariablesSecureApp(request);
46
47     if (!Utility.hasProcessAccess(this, vars, "", "RV_ReportAccountingCountDimensionalAnaly")) {
48       bdError(response, "AccessTableNoView", vars.getLanguage());
49       return;
50     }
51
52     if (vars.commandIn("DEFAULT", "DEFAULT_COMPARATIVE")){
53       String JavaDoc strDateFrom = vars.getGlobalVariable("inpDateFrom", "ReportAccountingCountDimensionalAnalyses|dateFrom", "");
54       String JavaDoc strDateTo = vars.getGlobalVariable("inpDateTo", "ReportAccountingCountDimensionalAnalyses|dateTo", "");
55       String JavaDoc strDateFromRef = vars.getGlobalVariable("inpDateFromRef", "ReportAccountingCountDimensionalAnalyses|dateFromRef", "");
56       String JavaDoc strDateToRef = vars.getGlobalVariable("inpDateToRef", "ReportAccountingCountDimensionalAnalyses|dateToRef", "");
57       String JavaDoc strAccountingCount = vars.getGlobalVariable("inpAccountingCount", "ReportAccountingCountDimensionalAnalyses|accountingCount", "");
58       String JavaDoc strcBpartnerId = vars.getInGlobalVariable("inpcBPartnerId_IN", "ReportAccountingCountDimensionalAnalyses|cBpartnerId", "");
59       String JavaDoc strmProductId = vars.getInGlobalVariable("inpmProductId_IN", "ReportAccountingCountDimensionalAnalyses|mProductId", "");
60       String JavaDoc strShown = vars.getInGlobalVariable("inpShown", "ReportAccountingCountDimensionalAnalyses|shown", "");
61       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportAccountingCountDimensionalAnalyses|org", "0");
62       String JavaDoc strcProjectId = vars.getGlobalVariable("inpcProjectId", "ReportAccountingCountDimensionalAnalyses|project", "");
63       String JavaDoc strComparative = "Y";
64       String JavaDoc strLevel = vars.getStringParameter("inpLevel", "0");
65       String JavaDoc strColumnLevel = "";
66       if (vars.commandIn("DEFAULT_COMPARATIVE")) strComparative = vars.getRequestGlobalVariable("inpComparative", "ReportAccountingCountDimensionalAnalyses|comparative");
67       else strComparative = vars.getGlobalVariable("inpComparative", "ReportAccountingCountDimensionalAnalyses|comparative", "Y");
68       String JavaDoc strPeriod = vars.getGlobalVariable("inpPeriod", "ReportAccountingCountDimensionalAnalyses|period", "without");
69       printPageDataSheet(response, vars, strComparative, strDateFrom, strDateTo, strAccountingCount, strcBpartnerId, strmProductId, strShown, strDateFromRef, strDateToRef, strOrg, strcProjectId, strPeriod, strLevel, strColumnLevel);
70     }else if (vars.commandIn("EDIT_HTML", "EDIT_HTML_COMPARATIVE")) {
71       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportAccountingCountDimensionalAnalyses|dateFrom");
72       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportAccountingCountDimensionalAnalyses|dateTo");
73       String JavaDoc strDateFromRef = vars.getRequestGlobalVariable("inpDateFromRef", "ReportAccountingCountDimensionalAnalyses|dateFromRef");
74       String JavaDoc strDateToRef = vars.getRequestGlobalVariable("inpDateToRef", "ReportAccountingCountDimensionalAnalyses|dateToRef");
75       String JavaDoc strAccountingCount = vars.getRequestGlobalVariable("inpAccountingCount", "ReportAccountingCountDimensionalAnalyses|accountingCount");
76       String JavaDoc strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportAccountingCountDimensionalAnalyses|cBpartnerId");
77       String JavaDoc strmProductId = vars.getRequestInGlobalVariable("inpmProductId_IN", "ReportAccountingCountDimensionalAnalyses|mProductId");
78       String JavaDoc strShown = vars.getRequestInGlobalVariable("inpShown", "ReportAccountingCountDimensionalAnalyses|shown");
79       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportAccountingCountDimensionalAnalyses|org", "0");
80       String JavaDoc strcProjectId = vars.getRequestGlobalVariable("inpcProjectId", "ReportAccountingCountDimensionalAnalyses|project");
81       String JavaDoc strComparative = vars.getStringParameter("inpComparative", "N");
82       String JavaDoc strLevel = "0";
83       String JavaDoc strColumnLevel = "";
84       String JavaDoc strPeriod = vars.getRequiredStringParameter("inpPeriod");
85       printPageDataHtml(response, vars, strComparative, strDateFrom, strDateTo, strAccountingCount, strcBpartnerId, strmProductId, strShown, strDateFromRef, strDateToRef, strOrg, strcProjectId, strPeriod, strLevel, strColumnLevel);
86     } else if (vars.commandIn("OPEN")){
87       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportAccountingCountDimensionalAnalyses|dateFrom");
88       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportAccountingCountDimensionalAnalyses|dateTo");
89       String JavaDoc strDateFromRef = vars.getRequestGlobalVariable("inpDateFromRef", "ReportAccountingCountDimensionalAnalyses|dateFromRef");
90       String JavaDoc strDateToRef = vars.getRequestGlobalVariable("inpDateToRef", "ReportAccountingCountDimensionalAnalyses|dateToRef");
91       String JavaDoc strAccountingCount = vars.getRequestGlobalVariable("inpAccountingCount", "ReportAccountingCountDimensionalAnalyses|accountingCount");
92       String JavaDoc strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportAccountingCountDimensionalAnalyses|cBpartnerId");
93       String JavaDoc strmProductId = vars.getRequestInGlobalVariable("inpmProductId_IN", "ReportAccountingCountDimensionalAnalyses|mProductId");
94       String JavaDoc strShown = vars.getInStringParameter("inpShown");
95       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportAccountingCountDimensionalAnalyses|org", "0");
96       String JavaDoc strcProjectId = vars.getRequestGlobalVariable("inpcProjectId", "ReportAccountingCountDimensionalAnalyses|project");
97       String JavaDoc strComparative = vars.getStringParameter("inpComparative", "N");
98       String JavaDoc strLevel = vars.getRequiredStringParameter("inpLevel");
99       String JavaDoc strColumnLevel = vars.getStringParameter("inpColumnLevel");
100       String JavaDoc strPeriod = vars.getRequiredStringParameter("inpPeriod");
101       printPageOpen(response, vars, strComparative, strDateFrom, strDateTo, strAccountingCount, strcBpartnerId, strmProductId, strShown, strDateFromRef, strDateToRef, strOrg, strcProjectId, strPeriod, strLevel, strColumnLevel);
102     } else if (vars.commandIn("DIRECT")){
103       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportAccountingCountDimensionalAnalyses|dateFrom");
104       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportAccountingCountDimensionalAnalyses|dateTo");
105       String JavaDoc strDateFromRef = vars.getRequestGlobalVariable("inpDateFromRef", "ReportAccountingCountDimensionalAnalyses|dateFromRef");
106       String JavaDoc strDateToRef = vars.getRequestGlobalVariable("inpDateToRef", "ReportAccountingCountDimensionalAnalyses|dateToRef");
107       String JavaDoc strAccountingCount = vars.getRequestGlobalVariable("inpAccountingCount", "ReportAccountingCountDimensionalAnalyses|accountingCount");
108       String JavaDoc strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportAccountingCountDimensionalAnalyses|cBpartnerId");
109       String JavaDoc strmProductId = vars.getRequestInGlobalVariable("inpmProductId_IN", "ReportAccountingCountDimensionalAnalyses|mProductId");
110       String JavaDoc strShown = vars.getStringParameter("inpShown");
111       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportAccountingCountDimensionalAnalyses|org", "0");
112       String JavaDoc strcProjectId = vars.getRequestGlobalVariable("inpcProjectId", "ReportAccountingCountDimensionalAnalyses|project");
113       String JavaDoc strComparative = vars.getStringParameter("inpComparative", "N");
114       String JavaDoc strLevel = vars.getRequiredStringParameter("inpLevel");
115       String JavaDoc strColumnLevel = vars.getStringParameter("inpColumnLevel");
116       String JavaDoc strPeriod = vars.getRequiredStringParameter("inpPeriod");
117       printPageDataSheet(response, vars, strComparative, strDateFrom, strDateTo, strAccountingCount, strcBpartnerId, strmProductId, strShown, strDateFromRef, strDateToRef, strOrg, strcProjectId, strPeriod, strLevel, strColumnLevel);
118     } else pageErrorPopUp(response);
119   }
120
121   void printPageDataHtml(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strComparative, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strAccountingCount, String JavaDoc strcBpartnerId, String JavaDoc strmProductId, String JavaDoc strShown, String JavaDoc strDateFromRef, String JavaDoc strDateToRef, String JavaDoc strOrg, String JavaDoc strcProjectId, String JavaDoc strPeriod, String JavaDoc strLevel, String JavaDoc strColumnLevel) throws IOException, ServletException {
122     //Find response
123
if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
124     String JavaDoc discard1[]={"discard", "discard", "discard", "discard", "discard"};
125     String JavaDoc discard[] = {"discard", "discard", "discard", "discard"};
126     String JavaDoc[] arrayVector = {"", "", "", "", "", ""};
127     Vector JavaDoc<Object JavaDoc> vectorArray = createVector();
128
129     XmlDocument xmlDocument=null;
130     String JavaDoc strTitle = "";
131     String JavaDoc strGroupBy = "";
132     String JavaDoc strFilter = "";
133
134
135     String JavaDoc[] arrayString = {"", "", "", "", "", ""};
136     ReportAccountingCountDimensionalAnalysesData[] data = null;
137     ReportAccountingCountDimensionalAnalysesData[] dataPeriod = null;
138
139     //ReportAccountingCountDimensionalAnalysesData[] dataList = createList(vars, strShown);
140
if (strAccountingCount.equals("")){
141       discard1[0] = "selEliminarDetail1";
142       discard1[1] = "selEliminarDetail2";
143       discard1[2] = "selEliminarDetail3";
144       discard1[3] = "selEliminarDetail4";
145       data = ReportAccountingCountDimensionalAnalysesData.set();
146     } else{
147       arrayString = createArrayString(vectorArray, strShown, strColumnLevel);
148       strFilter = createFilter(vars, vectorArray, strShown, arrayString[1]);
149       strGroupBy = createGroupby(vectorArray, strShown, arrayString[1]);
150       if (strPeriod.equals("without")){
151         if (strComparative.equals("Y")){
152           discard1[0] = "selEliminarDetail1";
153           discard1[1] = "selEliminarDetail2";
154           discard1[2] = "selEliminarDetail4";
155           data = ReportAccountingCountDimensionalAnalysesData.selectComparative(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg),
156               strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), arrayString[4], arrayString[5]);
157         } else{
158           discard1[0] = "selEliminarDetail2";
159           discard1[1] = "selEliminarDetail3";
160           discard1[2] = "selEliminarDetail4";
161           data = ReportAccountingCountDimensionalAnalysesData.select(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, arrayString[4], arrayString[5]);
162         }
163         if (data == null || data.length == 0) ReportAccountingCountDimensionalAnalysesData.set();
164       } else if (strPeriod.equals("month")){
165
166         dataPeriod = ReportAccountingCountDimensionalAnalysesData.selectDate(this, strDateFrom, strDateTo);
167         if (!strComparative.equals("Y")){
168           discard1[0] = "selEliminarDetail1";
169           discard1[1] = "selEliminarDetail3";
170           discard1[2] = "selEliminarDetail4";
171           if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
172           if (log4j.isDebugEnabled()) log4j.debug("Level1 = " + vars.getStringParameter("inpNivel1", "0"));
173           if (log4j.isDebugEnabled()) log4j.debug("Level2 = " + vars.getStringParameter("inpNivel2", "0"));
174           if (log4j.isDebugEnabled()) log4j.debug("Level3 = " + vars.getStringParameter("inpNivel3", "0"));
175           if (log4j.isDebugEnabled()) log4j.debug("Level4 = " + vars.getStringParameter("inpNivel4", "0"));
176           data = ReportAccountingCountDimensionalAnalysesData.selectPeriod(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateTo, arrayString[4], arrayString[5]);
177           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
178         } else{
179           discard1[0] = "selEliminarDetail1";
180           discard1[1] = "selEliminarDetail3";
181           discard1[2] = "selEliminarDetail2";
182           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodComparative(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), strDateTo, arrayString[4], arrayString[5]);
183         }
184         if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
185       } else {
186         dataPeriod = ReportAccountingCountDimensionalAnalysesData.selectQuarter(this, strDateFrom, strDateTo);
187         if (!strComparative.equals("Y")){
188           discard1[0] = "selEliminarDetail1";
189           discard1[1] = "selEliminarDetail3";
190           discard1[2] = "selEliminarDetail4";
191           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodQuarter(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateTo, arrayString[4], arrayString[5]);
192           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
193         } else{
194           discard1[0] = "selEliminarDetail1";
195           discard1[1] = "selEliminarDetail3";
196           discard1[2] = "selEliminarDetail2";
197           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodComparativeQuarter(this, "'"+arrayString[0]+"'", "''", arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), strDateTo, arrayString[4], arrayString[5]);
198           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
199         }
200       }
201
202     }
203     
204
205     xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingCountDimensionalAnalysesEdit", discard1).createXmlDocument();
206
207    xmlDocument.setParameter("title", " From: "+strDateFrom+" - To: "+strDateTo);
208
209     xmlDocument.setParameter("eliminar2", discard[1]);
210     xmlDocument.setParameter("eliminar3", discard[2]);
211     xmlDocument.setParameter("eliminar4", discard[3]);
212
213     xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
214     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
215     
216
217     xmlDocument.setParameter("constante", "100");
218     
219
220
221     if (strPeriod.equals("month") || strPeriod.equals("quarter")){
222       xmlDocument.setData("structure", dataPeriod);
223       if (strComparative.equals("Y")) xmlDocument.setData("structureComparativePeriod", data);
224       else xmlDocument.setData("structurePeriod", data);
225     } else {
226       if (strComparative.equals("Y")) xmlDocument.setData("structureComparative", data);
227       else xmlDocument.setData("structureNoperiod", data);
228     }
229
230     
231
232     response.setContentType("text/html; charset=UTF-8");
233     PrintWriter out = response.getWriter();
234     out.println(xmlDocument.print());
235     out.close();
236   }
237   
238   /*void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String strComparative, String strDateFrom, String strDateTo, String strAccountingCount, String strcBpartnerId, String strmProductId, String strShown, String strDateFromRef, String strDateToRef, String strOrg, String strcProjectId, String strPeriod, String strLevel, String strColumnLevel) throws IOException, ServletException {
239     //Find response
240     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
241     String[] arrayVector = {"", "", "", "", "", ""};
242     Vector<Object> vectorArray = createVector();
243
244     XmlDocument xmlDocument=null;
245     String strTitle = "";
246     String strGroupBy = "";
247     String strFilter = "";
248
249
250     String[] arrayString = {"", "", "", "", "", ""};
251     
252     ReportAccountingCountDimensionalAnalysesData[] dataList = createList(vars, strShown);
253   
254
255     xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingCountDimensionalAnalysesFilter").createXmlDocument();
256
257     ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalysesFilter", false, "", "", "",false, "ad_reports", strReplaceWith, false, true);
258     toolbar.prepareSimpleToolBarTemplate();
259     xmlDocument.setParameter("toolbar", toolbar.toString());
260
261   
262     xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
263     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
264     xmlDocument.setParameter("calendarLanguage", vars.getLanguage().substring(0,2));
265     xmlDocument.setParameter("dateFrom", strDateFrom);
266     xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
267     xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
268     xmlDocument.setParameter("dateTo", strDateTo);
269     xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
270     xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
271     xmlDocument.setParameter("dateFromRef", strDateFromRef);
272     xmlDocument.setParameter("dateFromRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
273     xmlDocument.setParameter("dateFromRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
274     xmlDocument.setParameter("dateToRef", strDateToRef);
275     xmlDocument.setParameter("dateToRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
276     xmlDocument.setParameter("dateToRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
277     xmlDocument.setParameter("accounting", strAccountingCount);
278     xmlDocument.setParameter("adOrgId", strOrg);
279     xmlDocument.setParameter("comparative", strComparative);
280     xmlDocument.setParameter("period", strPeriod);
281     xmlDocument.setParameter("cProjectId", strcProjectId);
282     xmlDocument.setParameter("projectName", ReportAccountingCountDimensionalAnalysesData.selectProject(this, strcProjectId));
283     xmlDocument.setParameter("withoutPeriod", strPeriod);
284     xmlDocument.setParameter("monthPeriod", strPeriod);
285     xmlDocument.setParameter("quarterPeriod", strPeriod);
286
287  
288     xmlDocument.setData("reportCBPartnerId_IN", "liststructure", ReportRefundInvoiceCustomerDimensionalAnalysesData.selectBpartner(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strcBpartnerId));
289     xmlDocument.setData("reportMProductId_IN", "liststructure", ReportRefundInvoiceCustomerDimensionalAnalysesData.selectMproduct(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strmProductId));
290     xmlDocument.setData("reportAD_ORGID", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole()));
291
292     try {
293       KeyMap key = new KeyMap(this, vars, "ReportAccountingCountDimensionalAnalyses.html");
294       xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
295     } catch (Exception ex) {
296       throw new ServletException(ex);
297     }
298     try {
299       WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.ReportAccountingCountDimensionalAnalyses");
300       xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
301       xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
302       xmlDocument.setParameter("childTabContainer", tabs.childTabs());
303       xmlDocument.setParameter("theme", vars.getTheme());
304       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalyses.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
305       xmlDocument.setParameter("navigationBar", nav.toString());
306       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalyses.html", strReplaceWith);
307       xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
308     } catch (Exception ex) {
309       throw new ServletException(ex);
310     }
311     {
312       OBError myMessage = vars.getMessage("ReportAccountingCountDimensionalAnalyses");
313       vars.removeMessage("ReportAccountingCountDimensionalAnalyses");
314       if (myMessage!=null) {
315         xmlDocument.setParameter("messageType", myMessage.getType());
316         xmlDocument.setParameter("messageTitle", myMessage.getTitle());
317         xmlDocument.setParameter("messageMessage", myMessage.getMessage());
318       }
319     }
320
321     try {
322       ComboTableData comboTableData = new ComboTableData(vars, this, "TABLE", "Account_ID", "C_ElementValue (Accounts)", "", Utility.getContext(this, vars, "#User_Org", "Account"), Utility.getContext(this, vars, "#User_Client", "Account"), 0);
323       Utility.fillSQLParameters(this, vars, null, comboTableData, "Account", strAccountingCount);
324       xmlDocument.setData("reportAccount_ID","liststructure", comboTableData.select(false));
325       comboTableData = null;
326     } catch (Exception ex) {
327       throw new ServletException(ex);
328     }
329
330     xmlDocument.setData("structure2", dataList);
331
332     response.setContentType("text/html; charset=UTF-8");
333     PrintWriter out = response.getWriter();
334     out.println(xmlDocument.print());
335     out.close();
336   }*/

337   
338   
339   void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strComparative, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strAccountingCount, String JavaDoc strcBpartnerId, String JavaDoc strmProductId, String JavaDoc strShown, String JavaDoc strDateFromRef, String JavaDoc strDateToRef, String JavaDoc strOrg, String JavaDoc strcProjectId, String JavaDoc strPeriod, String JavaDoc strLevel, String JavaDoc strColumnLevel) throws IOException, ServletException {
340     //Find response
341
if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
342     String JavaDoc[] arrayVector = {"", "", "", "", "", ""};
343     Vector JavaDoc<Object JavaDoc> vectorArray = createVector();
344
345     XmlDocument xmlDocument=null;
346     String JavaDoc strTitle = "";
347     String JavaDoc strGroupBy = "";
348     String JavaDoc strFilter = "";
349
350     String JavaDoc discard1[] = {"discard", "discard", "discard", "discard"};
351     String JavaDoc[] arrayString = {"", "", "", "", "", ""};
352
353     ReportAccountingCountDimensionalAnalysesData[] dataList = createList(vars, strShown);
354     if (!strComparative.equals("Y")){
355       discard1[0] = "selEliminarHeader1";
356     }
357
358     xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingCountDimensionalAnalysesFilter", discard1).createXmlDocument();
359
360     ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalysesFilter", false, "", "", "",false, "ad_reports", strReplaceWith, false, true);
361     toolbar.prepareSimpleToolBarTemplate();
362     xmlDocument.setParameter("toolbar", toolbar.toString());
363
364
365     xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
366     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
367     xmlDocument.setParameter("calendarLanguage", vars.getLanguage().substring(0,2));
368     xmlDocument.setParameter("dateFrom", strDateFrom);
369     xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
370     xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
371     xmlDocument.setParameter("dateTo", strDateTo);
372     xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
373     xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
374     xmlDocument.setParameter("dateFromRef", strDateFromRef);
375     xmlDocument.setParameter("dateFromRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
376     xmlDocument.setParameter("dateFromRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
377     xmlDocument.setParameter("dateToRef", strDateToRef);
378     xmlDocument.setParameter("dateToRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
379     xmlDocument.setParameter("dateToRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
380     xmlDocument.setParameter("accounting", strAccountingCount);
381     xmlDocument.setParameter("adOrgId", strOrg);
382     xmlDocument.setParameter("comparative", strComparative);
383     xmlDocument.setParameter("period", strPeriod);
384     xmlDocument.setParameter("cProjectId", strcProjectId);
385     xmlDocument.setParameter("projectName", ReportAccountingCountDimensionalAnalysesData.selectProject(this, strcProjectId));
386     xmlDocument.setParameter("withoutPeriod", strPeriod);
387     xmlDocument.setParameter("monthPeriod", strPeriod);
388     xmlDocument.setParameter("quarterPeriod", strPeriod);
389
390  
391     xmlDocument.setData("reportCBPartnerId_IN", "liststructure", ReportRefundInvoiceCustomerDimensionalAnalysesData.selectBpartner(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strcBpartnerId));
392     xmlDocument.setData("reportMProductId_IN", "liststructure", ReportRefundInvoiceCustomerDimensionalAnalysesData.selectMproduct(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strmProductId));
393     xmlDocument.setData("reportAD_ORGID", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole()));
394
395     try {
396       KeyMap key = new KeyMap(this, vars, "ReportAccountingCountDimensionalAnalyses.html");
397       xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
398     } catch (Exception JavaDoc ex) {
399       throw new ServletException(ex);
400     }
401     try {
402       WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.ReportAccountingCountDimensionalAnalyses");
403       xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
404       xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
405       xmlDocument.setParameter("childTabContainer", tabs.childTabs());
406       xmlDocument.setParameter("theme", vars.getTheme());
407       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalyses.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
408       xmlDocument.setParameter("navigationBar", nav.toString());
409       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "ReportAccountingCountDimensionalAnalyses.html", strReplaceWith);
410       xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
411     } catch (Exception JavaDoc ex) {
412       throw new ServletException(ex);
413     }
414     {
415       OBError myMessage = vars.getMessage("ReportAccountingCountDimensionalAnalyses");
416       vars.removeMessage("ReportAccountingCountDimensionalAnalyses");
417       if (myMessage!=null) {
418         xmlDocument.setParameter("messageType", myMessage.getType());
419         xmlDocument.setParameter("messageTitle", myMessage.getTitle());
420         xmlDocument.setParameter("messageMessage", myMessage.getMessage());
421       }
422     }
423
424     try {
425       ComboTableData comboTableData = new ComboTableData(vars, this, "TABLE", "Account_ID", "C_ElementValue (Accounts)", "", Utility.getContext(this, vars, "#User_Org", "Account"), Utility.getContext(this, vars, "#User_Client", "Account"), 0);
426       Utility.fillSQLParameters(this, vars, null, comboTableData, "Account", strAccountingCount);
427       xmlDocument.setData("reportAccount_ID","liststructure", comboTableData.select(false));
428       comboTableData = null;
429     } catch (Exception JavaDoc ex) {
430       throw new ServletException(ex);
431     }
432
433     xmlDocument.setData("structure2", dataList);
434
435     response.setContentType("text/html; charset=UTF-8");
436     PrintWriter out = response.getWriter();
437     out.println(xmlDocument.print());
438     out.close();
439   }
440
441   void printPageOpen(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strComparative, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strAccountingCount, String JavaDoc strcBpartnerId, String JavaDoc strmProductId, String JavaDoc strShown, String JavaDoc strDateFromRef, String JavaDoc strDateToRef, String JavaDoc strOrg, String JavaDoc strcProjectId, String JavaDoc strPeriod, String JavaDoc strLevel, String JavaDoc strColumnLevel) throws IOException, ServletException {
442     //Ajax response
443
if (log4j.isDebugEnabled()) log4j.debug("Output: open");
444     Vector JavaDoc<Object JavaDoc> vectorArray = createVector();
445     String JavaDoc strGroupBy = "";
446     String JavaDoc strFilter = "";
447     String JavaDoc strReturnMessage = "";
448     XmlDocument xmlDocument = null;
449
450     ReportAccountingCountDimensionalAnalysesData[] data = null;
451     if (strAccountingCount.equals("")){
452       data = ReportAccountingCountDimensionalAnalysesData.set();
453     } else{
454       String JavaDoc[] arrayString = createArrayString(vectorArray, strShown, strColumnLevel);
455
456       strFilter = createFilter(vars, vectorArray, strShown, arrayString[1]);
457       strGroupBy = createGroupby(vectorArray, strShown, arrayString[1]);
458       if (strPeriod.equals("without")){
459         if (!strComparative.equals("Y")){
460
461           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingNoComparativeNoPeriod").createXmlDocument();
462
463           data = ReportAccountingCountDimensionalAnalysesData.select(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, arrayString[4], arrayString[5]);
464           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
465         } else {
466           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingComparativeNoPeriod").createXmlDocument();
467
468           data = ReportAccountingCountDimensionalAnalysesData.selectComparative(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), arrayString[4], arrayString[5]);
469           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
470         }
471
472
473       } else if (strPeriod.equals("month")){
474         if (!strComparative.equals("Y")){
475           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingNoComparativePeriod").createXmlDocument();
476
477           data = ReportAccountingCountDimensionalAnalysesData.selectPeriod(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateTo, arrayString[4], arrayString[5]);
478           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
479         } else{
480           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingComparativePeriod").createXmlDocument();
481           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodComparative(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), strDateTo, arrayString[4], arrayString[5]);
482           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
483         }
484       } else {
485         if (!strComparative.equals("Y")){
486           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingNoComparativePeriod").createXmlDocument();
487
488           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodQuarter(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateTo, arrayString[4], arrayString[5]);
489           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
490         } else {
491           xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportAccountingComparativePeriod").createXmlDocument();
492           data = ReportAccountingCountDimensionalAnalysesData.selectPeriodComparativeQuarter(this, "'"+arrayString[0]+"'", vars.getStringParameter("inpNivel"+strLevel), arrayString[2], arrayString[1], vars.getStringParameter("inpNivel1", "0"), vars.getStringParameter("inpNivel2", "0"), vars.getStringParameter("inpNivel3", "0"), vars.getStringParameter("inpNivel4", "0"), arrayString[3], Utility.getContext(this, vars, "#User_Client", "ReportAccountingCountDimensionalAnalyses"), strAccountingCount, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), strcBpartnerId, strmProductId, strcProjectId, strFilter, strGroupBy, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), strDateTo, arrayString[4], arrayString[5]);
493           if (data == null || data.length == 0) data = ReportAccountingCountDimensionalAnalysesData.set();
494         }
495       }
496
497     }
498     response.setContentType("text/plain");
499     response.setHeader("Cache-Control", "no-cache");
500     PrintWriter out = response.getWriter();
501
502     xmlDocument.setData("structure", data);
503     out.println(xmlDocument.print());
504     out.close();
505
506
507   }
508
509   Vector JavaDoc<Object JavaDoc> createVector()throws IOException, ServletException{
510     //Dimension main vector. Here you must put new dimensions
511
ReportAccountingCountDimensionalAnalysesData[] data = ReportAccountingCountDimensionalAnalysesData.selectDimension(this, "RV_ReportAccountingCountDimensionalAnaly");
512     Vector JavaDoc<Object JavaDoc> vectorArray = new Vector JavaDoc<Object JavaDoc>();
513     for ( int i = 0; i<data.length; i++){
514       String JavaDoc[] arrayAux = {"", "", "", "", "", ""};
515       arrayAux[0] = data[i].columnname;
516       arrayAux[1] = data[i].line;
517       arrayAux[2] = data[i].description;
518       arrayAux[3] = data[i].joinGroup1;
519       arrayAux[4] = data[i].tablename;
520       arrayAux[5] = data[i].joinGroup2;
521       vectorArray.addElement(arrayAux);
522       String JavaDoc aux[] = (String JavaDoc[])vectorArray.elementAt(i);
523     }
524     return vectorArray;
525   }
526
527   ReportAccountingCountDimensionalAnalysesData[] createList(VariablesSecureApp vars, String JavaDoc strShown)throws IOException, ServletException{
528     //Dimension filter lists creation
529
ReportAccountingCountDimensionalAnalysesData[] dataDimension = ReportAccountingCountDimensionalAnalysesData.selectDimension(this, "RV_ReportAccountingCountDimensionalAnaly");
530     ReportAccountingCountDimensionalAnalysesData[] data = ReportAccountingCountDimensionalAnalysesData.selectShown(this);
531     int intContador = 0;
532     if (!strShown.equals("")){
533       if (strShown.startsWith("(")) strShown = strShown.substring(1, strShown.length()-1);
534       if (!strShown.equals("")) {
535         strShown = Replace.replace(strShown, "'", "");
536         strShown = Replace.replace(strShown, " ", "");
537         StringTokenizer st = new StringTokenizer(strShown, ",", false);
538         String JavaDoc strAux = "";
539         while (st.hasMoreTokens()){
540           strAux = st.nextToken();
541           data[intContador].id = strAux;
542           data[intContador].name = ReportAccountingCountDimensionalAnalysesData.selectDimensionName(this, vars.getLanguage(), strAux );
543           intContador++;
544         }
545       }
546     } else{
547       for (int i = 0; i < dataDimension.length; i++){
548         data[i].id = dataDimension[i].columnname;
549         data[i].name = ReportAccountingCountDimensionalAnalysesData.selectDimensionName(this, vars.getLanguage(), dataDimension[i].columnname);
550       }
551     }
552     return data;
553
554   }
555
556   String JavaDoc[] createArrayString(Vector JavaDoc<Object JavaDoc> vectorArray, String JavaDoc strShown, String JavaDoc strColumnLevel)throws IOException, ServletException{
557     //Method to create the array string which say sqlc fields to obtain.
558
String JavaDoc[] arrayString = null;
559     int intContador = 0;
560     if (strShown.startsWith("(")) strShown = strShown.substring(1, strShown.length()-1);
561     if (!strShown.equals("")) {
562       strShown = Replace.replace(strShown, "'", "");
563       strShown = Replace.replace(strShown, " ", "");
564       StringTokenizer st = new StringTokenizer(strShown, ",", false);
565       String JavaDoc strAux = "";
566       while (st.hasMoreTokens() && !strAux.equals(strColumnLevel)){
567         strAux = st.nextToken();
568         intContador++;
569       }
570       strAux = st.nextToken();
571       intContador++;
572       int intCount = 0;
573       arrayString = (String JavaDoc[])(vectorArray.elementAt(intCount));
574       while (!arrayString[0].equals(strAux) && arrayString[0] != null){
575         intCount++;
576         arrayString = (String JavaDoc[])(vectorArray.elementAt(intCount));
577       }
578
579       arrayString[1] = String.valueOf(intContador);
580     }
581
582     return arrayString;
583   }
584
585   String JavaDoc createFilter(VariablesSecureApp vars, Vector JavaDoc<Object JavaDoc> vectorArray, String JavaDoc strShown, String JavaDoc strLevel)throws IOException, ServletException{
586     //Method which creates filter to sqlc.
587
String JavaDoc strFilter = "";
588     String JavaDoc[] arrayAux = inicializarArray();
589     if (strShown.startsWith("(")) strShown = strShown.substring(1, strShown.length()-1);
590     if (!strShown.equals("")) {
591       strShown = Replace.replace(strShown, "'", "");
592       strShown = Replace.replace(strShown, " ", "");
593       StringTokenizer st = new StringTokenizer(strShown, ",", false);
594       String JavaDoc strAux = "";
595       if (!strLevel.equals("1")){
596         for (int i=0; i<Integer.valueOf(strLevel).intValue()-1; i++){
597           strAux = st.nextToken();
598           int j = 0;
599           while (!strAux.equals(arrayAux[0])){
600             arrayAux = (String JavaDoc[])(vectorArray.elementAt(j));
601             j++;
602           }
603           strFilter += " AND " + arrayAux[3] + " = " + vars.getStringParameter("inpNivel"+(i+1));
604         }
605       }
606     }
607     return strFilter;
608   }
609
610   String JavaDoc createGroupby(Vector JavaDoc<Object JavaDoc> vectorArray, String JavaDoc strShown, String JavaDoc strLevel)throws IOException, ServletException{
611     //Method that cretates group by sentence to sqlc.
612
String JavaDoc strGroupBy = "";
613     String JavaDoc[] arrayAux = inicializarArray();
614     if (strShown.startsWith("(")) strShown = strShown.substring(1, strShown.length()-1);
615     if (!strShown.equals("")) {
616       strShown = Replace.replace(strShown, "'", "");
617       strShown = Replace.replace(strShown, " ", "");
618       StringTokenizer st = new StringTokenizer(strShown, ",", false);
619       String JavaDoc strAux = "";
620       for (int i=0; i<Integer.valueOf(strLevel).intValue(); i++){
621         strAux = st.nextToken();
622         int j = 0;
623         while (!strAux.equals(arrayAux[0])){
624           arrayAux = (String JavaDoc[])(vectorArray.elementAt(j));
625           j++;
626         }
627         strGroupBy += ", " + arrayAux[3];
628       }
629     }
630     return strGroupBy;
631   }
632
633   String JavaDoc[] inicializarArray()throws IOException, ServletException{
634     String JavaDoc[] defaultArray = {"", "", "", "", "", ""};
635     return defaultArray;
636   }
637
638   public String JavaDoc getServletInfo() {
639     return "Servlet ReportAccountingCountDimensionalAnalyses. This Servlet was made by Jon Alegría";
640   } // end of getServletInfo() method
641
}
642
643
Popular Tags