KickJava   Java API By Example, From Geeks To Geeks.

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


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.base.secureApp.HttpSecureAppServlet;
25 import org.openbravo.base.secureApp.VariablesSecureApp;
26 import org.openbravo.xmlEngine.XmlDocument;
27 import java.io.*;
28 import javax.servlet.*;
29 import javax.servlet.http.*;
30
31 import org.openbravo.erpCommon.ad_combos.OrganizationComboData;
32
33 import org.openbravo.erpCommon.utility.DateTimeData;
34
35 import java.util.*;
36 import net.sf.jasperreports.engine.*;
37 import net.sf.jasperreports.engine.design.JasperDesign;
38 import java.sql.Connection JavaDoc;
39 import net.sf.jasperreports.engine.xml.JRXmlLoader;
40 import net.sf.jasperreports.engine.export.JRHtmlExporter;
41 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
42
43 public class ReportGeneralLedger extends HttpSecureAppServlet {
44
45
46   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
47     VariablesSecureApp vars = new VariablesSecureApp(request);
48
49     if (!Utility.hasProcessAccess(this, vars, "", "RV_ReportGeneralLedger")) {
50       bdError(response, "AccessTableNoView", vars.getLanguage());
51       return;
52     }
53
54     if (vars.commandIn("DEFAULT")) {
55       String JavaDoc strcAcctSchemaId = vars.getGlobalVariable("inpcAcctSchemaId", "ReportGeneralLedger|cAcctSchemaId", "");
56       String JavaDoc strDateFrom = vars.getGlobalVariable("inpDateFrom", "ReportGeneralLedger|DateFrom", "");
57       String JavaDoc strDateTo = vars.getGlobalVariable("inpDateTo", "ReportGeneralLedger|DateTo", "");
58       String JavaDoc strAmtFrom = vars.getGlobalVariable("inpAmtFrom", "ReportGeneralLedger|AmtFrom", "");
59       String JavaDoc strAmtTo = vars.getGlobalVariable("inpAmtTo", "ReportGeneralLedger|AmtTo", "");
60       String JavaDoc strcelementvaluefrom = vars.getGlobalVariable("inpcElementValueIdFrom", "ReportGeneralLedger|C_ElementValue_IDFROM", "");
61       String JavaDoc strcelementvalueto = vars.getGlobalVariable("inpcElementValueIdTo", "ReportGeneralLedger|C_ElementValue_IDTO", "");
62       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportGeneralLedger|Org", "0");
63       String JavaDoc strcBpartnerId = vars.getInGlobalVariable("inpcBPartnerId_IN", "ReportGeneralLedger|cBpartnerId", "");
64       String JavaDoc strAll = vars.getGlobalVariable("inpAll","ReportGeneralLedger|All","");
65       String JavaDoc strHide = vars.getGlobalVariable("inpHideMatched","ReportGeneralLedger|HideMatched","");
66       printPageDataSheet(response, vars, strDateFrom, strDateTo, strAmtFrom, strAmtTo, strcelementvaluefrom, strcelementvalueto, strOrg, strcBpartnerId, strAll, strHide, strcAcctSchemaId);
67     } else if (vars.commandIn("FIND")) {
68       String JavaDoc strcAcctSchemaId = vars.getRequestGlobalVariable("inpcAcctSchemaId", "ReportGeneralLedger|cAcctSchemaId");
69       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportGeneralLedger|DateFrom");
70       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportGeneralLedger|DateTo");
71       String JavaDoc strAmtFrom = vars.getRequestGlobalVariable("inpAmtFrom", "ReportGeneralLedger|AmtFrom");
72       String JavaDoc strAmtTo = vars.getRequestGlobalVariable("inpAmtTo", "ReportGeneralLedger|AmtTo");
73       String JavaDoc strcelementvaluefrom = vars.getRequestGlobalVariable("inpcElementValueIdFrom", "ReportGeneralLedger|C_ElementValue_IDFROM");
74       String JavaDoc strcelementvalueto = vars.getRequestGlobalVariable("inpcElementValueIdTo", "ReportGeneralLedger|C_ElementValue_IDTO");
75       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportGeneralLedger|Org", "0");
76       String JavaDoc strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportGeneralLedger|cBpartnerId");
77       String JavaDoc strAll = vars.getStringParameter("inpAll");
78       String JavaDoc strHide = vars.getStringParameter("inpHideMatched");
79       if (log4j.isDebugEnabled()) log4j.debug("inpAll: "+strAll);
80       if (strAll.equals("")) vars.removeSessionValue("ReportGeneralLedger|All");
81       else strAll = vars.getGlobalVariable("inpAll","ReportGeneralLedger|All");
82       if (strHide.equals("")) vars.removeSessionValue("ReportGeneralLedger|HideMatched");
83       else strHide = vars.getGlobalVariable("inpHideMatched","ReportGeneralLedger|HideMatched");
84       if (log4j.isDebugEnabled()) log4j.debug("##################### DoPost - Find - strcBpartnerId= " + strcBpartnerId);
85       if (log4j.isDebugEnabled()) log4j.debug("##################### DoPost - XLS - strcelementvaluefrom= " + strcelementvaluefrom);
86       if (log4j.isDebugEnabled()) log4j.debug("##################### DoPost - XLS - strcelementvalueto= " + strcelementvalueto);
87       vars.setSessionValue("ReportGeneralLedger.initRecordNumber", "0");
88       printPageDataSheet(response, vars, strDateFrom, strDateTo, strAmtFrom, strAmtTo, strcelementvaluefrom, strcelementvalueto, strOrg, strcBpartnerId, strAll, strHide, strcAcctSchemaId);
89     } else if (vars.commandIn("PREVIOUS_RELATION")) {
90       String JavaDoc strInitRecord = vars.getSessionValue("ReportGeneralLedger.initRecordNumber");
91       String JavaDoc strRecordRange = Utility.getContext(this, vars, "#RecordRange", "ReportGeneralLedger");
92       int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange);
93       if (strInitRecord.equals("") || strInitRecord.equals("0")) vars.setSessionValue("ReportGeneralLedger.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("ReportGeneralLedger.initRecordNumber", strInitRecord);
99       }
100       response.sendRedirect(strDireccion + request.getServletPath());
101     } else if (vars.commandIn("NEXT_RELATION")) {
102       String JavaDoc strInitRecord = vars.getSessionValue("ReportGeneralLedger.initRecordNumber");
103       String JavaDoc strRecordRange = Utility.getContext(this, vars, "#RecordRange", "ReportGeneralLedger");
104       int intRecordRange = strRecordRange.equals("")?0:Integer.parseInt(strRecordRange);
105       int initRecord = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord));
106       if (initRecord==0) initRecord=1;
107       initRecord += intRecordRange;
108       strInitRecord = ((initRecord<0)?"0":Integer.toString(initRecord));
109       vars.setSessionValue("ReportGeneralLedger.initRecordNumber", strInitRecord);
110       response.sendRedirect(strDireccion + request.getServletPath());
111     } else if (vars.commandIn("PDF","XLS")){
112       String JavaDoc strcAcctSchemaId = vars.getRequestGlobalVariable("inpcAcctSchemaId", "ReportGeneralLedger|cAcctSchemaId");
113       String JavaDoc strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportGeneralLedger|DateFrom");
114       String JavaDoc strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportGeneralLedger|DateTo");
115       String JavaDoc strAmtFrom = vars.getRequestGlobalVariable("inpAmtFrom", "ReportGeneralLedger|AmteFrom");
116       String JavaDoc strAmtTo = vars.getRequestGlobalVariable("inpAmtTo", "ReportGeneralLedger|AmtTo");
117       String JavaDoc strcelementvaluefrom = vars.getRequestGlobalVariable("inpcElementValueIdFrom", "ReportGeneralLedger|C_ElementValue_IDFROM");
118       String JavaDoc strcelementvalueto = vars.getRequestGlobalVariable("inpcElementValueIdTo", "ReportGeneralLedger|C_ElementValue_IDTO");
119       String JavaDoc strOrg = vars.getGlobalVariable("inpOrg", "ReportGeneralLedger|Org", "0");
120       String JavaDoc strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportGeneralLedger|cBpartnerId");
121       String JavaDoc strAll = vars.getStringParameter("inpAll");
122       String JavaDoc strHide = vars.getStringParameter("inpHideMatched");
123       printPageDataPDF(response, vars, strDateFrom, strDateTo, strAmtFrom, strAmtTo, strcelementvaluefrom, strcelementvalueto, strOrg, strcBpartnerId, strAll, strHide, strcAcctSchemaId);
124     } else pageError(response);
125   }
126
127   void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strAmtFrom, String JavaDoc strAmtTo, String JavaDoc strcelementvaluefrom, String JavaDoc strcelementvalueto, String JavaDoc strOrg, String JavaDoc strcBpartnerId, String JavaDoc strAll, String JavaDoc strHide, String JavaDoc strcAcctSchemaId) throws IOException, ServletException {
128     String JavaDoc strRecordRange = Utility.getContext(this, vars, "#RecordRange", "ReportGeneralLedger");
129     int intRecordRange = (strRecordRange.equals("")?0:Integer.parseInt(strRecordRange));
130     String JavaDoc strInitRecord = vars.getSessionValue("ReportGeneralLedger.initRecordNumber");
131     int initRecordNumber = (strInitRecord.equals("")?0:Integer.parseInt(strInitRecord));
132     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
133     if (log4j.isDebugEnabled()) log4j.debug("Date From:"+strDateFrom+"- To:"+strDateTo+" - Schema:"+strcAcctSchemaId);
134     response.setContentType("text/html; charset=UTF-8");
135     PrintWriter out = response.getWriter();
136     XmlDocument xmlDocument=null;
137     ReportGeneralLedgerData [] [] subreport = null;
138     ReportGeneralLedgerData [] [] subreport2 = null;
139     ReportGeneralLedgerData[] data=null;
140     String JavaDoc strTreeOrg = ReportTrialBalanceData.treeOrg(this, vars.getClient());
141     String JavaDoc strTreeAccount = ReportTrialBalanceData.treeAccount(this, vars.getClient());
142
143     ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "ReportGeneralLedger", true, "", "", "imprimir();return false;",false, "ad_reports", strReplaceWith, false, true);
144     String JavaDoc strcBpartnerIdAux = strcBpartnerId;
145     if (!strAll.equals("")) strcBpartnerId = "";
146
147
148     if (strDateFrom.equals("") && strDateTo.equals("")) {
149       String JavaDoc discard[]={"sectionAmount","sectionPartner"};
150       xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportGeneralLedger", discard).createXmlDocument();
151       toolbar.prepareRelationBarTemplate(false, false,"submitCommandForm('XLS', false, frmMain, 'ReportGeneralLedgerExcel.xls', 'EXCEL');return false;");
152       //toolbar.prepareRelationBarTemplate(false, false);
153
data = ReportGeneralLedgerData.set();
154     } else {
155       String JavaDoc[] discard = {"discard"};
156       if (strcBpartnerId.equals("")&&strAll.equals("")) discard[0] = "sectionPartner";
157       else discard[0] = "sectionAmount";
158       String JavaDoc strOrgFamily = getFamily(strTreeOrg, strOrg);
159       if (strcelementvaluefrom !=null && !strcelementvaluefrom.equals("")){
160         if (strcelementvalueto.equals("")) {
161           strcelementvalueto=strcelementvaluefrom;
162         }
163         String JavaDoc strRange = getRange(strcelementvaluefrom, strcelementvalueto);
164         if (log4j.isDebugEnabled()) log4j.debug("##################### strRange= " + strRange);
165         if (log4j.isDebugEnabled()) log4j.debug("##################### strcelementvaluefrom= " + strcelementvaluefrom);
166         if (log4j.isDebugEnabled()) log4j.debug("##################### strcelementvalueto= " + strcelementvalueto);
167         //String strAcctFamily = getFamily(strTreeAccount, strcelementvaluefrom);
168
if (strHide.equals(""))
169           data = ReportGeneralLedgerData.select(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strRange.equals("")?"":"("+ strRange + ")", strcBpartnerId,strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&(strAll.equals("")))?"value":"partner", initRecordNumber, intRecordRange);
170         else
171           data = ReportGeneralLedgerData.selectHiding(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strRange.equals("")?"":"("+ strRange + ")", strcBpartnerId,strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&(strAll.equals("")))?"value":"partner", initRecordNumber, intRecordRange);
172       } else {
173         if (strHide.equals(""))
174           data = ReportGeneralLedgerData.selectAll(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner", initRecordNumber, intRecordRange);
175         else
176           data = ReportGeneralLedgerData.selectAllHiding(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner", initRecordNumber, intRecordRange);
177       }
178       if (log4j.isDebugEnabled()) log4j.debug("RecordNo: "+initRecordNumber);
179       if (initRecordNumber>1){
180         String JavaDoc strAcctFamily = getFamily(strTreeAccount, data[0].id);
181         //strAcctFamily = data[0].id;
182
ReportGeneralLedgerData [] data2=null;
183         if (strHide.equals(""))
184           data2 = ReportGeneralLedgerData.select(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strAcctFamily.equals("")?"":"("+ strAcctFamily + ")", strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&(strAll.equals(""))?"value":"partner"));
185         else
186           data2 = ReportGeneralLedgerData.selectHiding(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strAcctFamily.equals("")?"":"("+ strAcctFamily + ")", strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&(strAll.equals(""))?"value":"partner"));
187
188         if (log4j.isDebugEnabled()) log4j.debug("acctFamily:"+strAcctFamily+" data2.length"+data2.length);
189         double amount = 0.0;
190         for (int i=0;data2!=null && i<data2.length;i++){
191           if (data2[i].factAcctId.equals(data[0].factAcctId)) {
192             if (log4j.isDebugEnabled()) log4j.debug("break i:"+i);
193             break;
194           };
195           // if (data2[i].id.equals(data[0].id))
196
if ((data2[i].partner.equals(data[0].partner) && (!(strcBpartnerId.equals("")&&(strAll.equals("")))))||(strcBpartnerId.equals("")&&(strAll.equals(""))))
197             amount += Double.valueOf(data2[i].total).doubleValue();
198         }
199         /* for (int i=0;data2!=null && i<data.length;i++){
200             if (data[i].id.equals(data[0].id)) data[i].saldo = Double.toString(amount);
201             else break;
202             }*/

203         data[0].saldo = Double.toString(amount);
204         if (log4j.isDebugEnabled()) log4j.debug("##################### BALANCE= " + data[0].saldo+" amount:"+amount);
205       }
206       subreport = new ReportGeneralLedgerData[data.length][];
207       String JavaDoc strOld = "";
208       int j = 0;
209       for (int i=0;data!=null && i<data.length;i++){
210         if(!strOld.equals(((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id)){
211           subreport[j] = ReportGeneralLedgerData.selectPrevious(this,(strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId, strcAcctSchemaId, data[i].id, data[i].dateacct, strOrgFamily);
212           j++;
213         }
214         strOld = (((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id);
215       }
216       subreport2 = new ReportGeneralLedgerData[data.length][];
217       String JavaDoc strTotal = "";
218       int g = 0;
219       for (int i=0;data!=null && i<data.length;i++){
220         if(!strTotal.equals(((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id)){
221           subreport2[g] = ReportGeneralLedgerData.selectTotal(this,(strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId, strcAcctSchemaId, data[i].id, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily);
222           g++;
223         }
224         strTotal = (((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id);
225       }
226       boolean hasPrevious = !(data==null || data.length==0 || initRecordNumber<=1);
227       boolean hasNext = !(data==null || data.length==0 || data.length<intRecordRange);
228       toolbar.prepareRelationBarTemplate(hasPrevious, hasNext,"submitCommandForm('XLS', true, frmMain, 'ReportGeneralLedgerExcel.xls', 'EXCEL');return false;");
229       //toolbar.prepareRelationBarTemplate(hasPrevious, hasNext);
230
xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportGeneralLedger", discard).createXmlDocument();
231     }
232     xmlDocument.setParameter("toolbar", toolbar.toString());
233
234     try {
235       KeyMap key = new KeyMap(this, vars, "ReportGeneralLedger.html");
236       xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
237     } catch (Exception JavaDoc ex) {
238       throw new ServletException(ex);
239     }
240     try {
241       WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.ReportGeneralLedger");
242       xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
243       xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
244       xmlDocument.setParameter("childTabContainer", tabs.childTabs());
245       xmlDocument.setParameter("theme", vars.getTheme());
246       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "ReportGeneralLedger.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
247       xmlDocument.setParameter("navigationBar", nav.toString());
248       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "ReportGeneralLedger.html", strReplaceWith);
249       xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
250     } catch (Exception JavaDoc ex) {
251       throw new ServletException(ex);
252     }
253     {
254       OBError myMessage = vars.getMessage("ReportGeneralLedger");
255       vars.removeMessage("ReportGeneralLedger");
256       if (myMessage!=null) {
257         xmlDocument.setParameter("messageType", myMessage.getType());
258         xmlDocument.setParameter("messageTitle", myMessage.getTitle());
259         xmlDocument.setParameter("messageMessage", myMessage.getMessage());
260       }
261     }
262
263     xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2));
264     xmlDocument.setData("reportAD_ORGID", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole()));
265     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
266     xmlDocument.setParameter("paramLanguage", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
267     xmlDocument.setParameter("cElementValueFrom", strcelementvaluefrom);
268     xmlDocument.setParameter("cElementValueTo", strcelementvalueto);
269     xmlDocument.setParameter("dateFrom", strDateFrom);
270     xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
271     xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
272     xmlDocument.setParameter("dateTo", strDateTo);
273     xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat"));
274     xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat"));
275     xmlDocument.setParameter("amtFrom", strAmtFrom);
276     xmlDocument.setParameter("amtTo", strAmtTo);
277     xmlDocument.setParameter("adOrgId", strOrg);
278     xmlDocument.setParameter("cAcctschemaId", strcAcctSchemaId);
279     xmlDocument.setParameter("paramAll0", strAll.equals("")?"0":"1");
280     xmlDocument.setParameter("paramHide0", strHide.equals("")?"0":"1");
281     xmlDocument.setData("reportCBPartnerId_IN", "liststructure", ReportRefundInvoiceCustomerDimensionalAnalysesData.selectBpartner(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strcBpartnerIdAux));
282     xmlDocument.setData("reportC_ELEMENTVALUEFROM","liststructure",ReportGeneralLedgerData.selectC_ElementValue_ID(this, Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), strcelementvaluefrom));
283     xmlDocument.setData("reportC_ELEMENTVALUETO","liststructure",ReportGeneralLedgerData.selectC_ElementValue_ID(this, Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), strcelementvaluefrom));
284     xmlDocument.setData("reportC_ACCTSCHEMA_ID","liststructure",ReportGeneralLedgerData.selectC_ACCTSCHEMA_ID(this, Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), strcAcctSchemaId));
285     
286      if (log4j.isDebugEnabled()) log4j.debug("data.length: "+data.length);
287     
288     if (strcBpartnerId.equals("")&&strAll.equals("")) xmlDocument.setData("structure1", data);
289     else xmlDocument.setData("structure2", data);
290     if (strcBpartnerId.equals("")&&strAll.equals("")) xmlDocument.setDataArray("reportTotals", "structure", subreport);
291     else xmlDocument.setDataArray("reportTotals2", "structure", subreport);
292     if (strcBpartnerId.equals("")&&strAll.equals("")) xmlDocument.setDataArray("reportAll", "structure", subreport2);
293     else xmlDocument.setDataArray("reportAll2", "structure", subreport2);
294
295     out.println(xmlDocument.print());
296     out.close();
297   }
298
299   void printPageDataPDF(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strDateFrom, String JavaDoc strDateTo, String JavaDoc strAmtFrom, String JavaDoc strAmtTo, String JavaDoc strcelementvaluefrom, String JavaDoc strcelementvalueto, String JavaDoc strOrg, String JavaDoc strcBpartnerId, String JavaDoc strAll, String JavaDoc strHide, String JavaDoc strcAcctSchemaId) throws IOException, ServletException {
300     if (log4j.isDebugEnabled()) log4j.debug("Output: PDF");
301     ReportGeneralLedgerData[] data=null;
302     ReportGeneralLedgerData [] [] subreport = null;
303     ReportGeneralLedgerData [] [] subreport2 = null;
304     String JavaDoc strTreeOrg = ReportTrialBalanceData.treeOrg(this, vars.getClient());
305     String JavaDoc strTreeAccount = ReportTrialBalanceData.treeAccount(this, vars.getClient());
306     String JavaDoc strOrgFamily = "";
307
308     if (!strAll.equals("")) strcBpartnerId = "";
309     if (strDateFrom.equals("") && strDateTo.equals("")) {
310       data = ReportGeneralLedgerData.set();
311     } else {
312       strOrgFamily = getFamily(strTreeOrg, strOrg);
313       if (strcelementvaluefrom !=null && !strcelementvaluefrom.equals("")){
314         if (strcelementvalueto.equals("")) {
315           strcelementvalueto=strcelementvaluefrom;
316         }
317         String JavaDoc strRange = getRange(strcelementvaluefrom, strcelementvalueto);
318         //String strAcctFamily = getFamily(strTreeAccount, strcelementvaluefrom);
319
if (strHide.equals(""))
320           data = ReportGeneralLedgerData.select(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strRange.equals("")?"":"("+ strRange + ")", strcBpartnerId,strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner");
321         else
322           data = ReportGeneralLedgerData.selectHiding(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strRange.equals("")?"":"("+ strRange + ")", strcBpartnerId,strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner");
323       } else {
324         if (strHide.equals(""))
325           data = ReportGeneralLedgerData.selectAll(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner");
326         else
327           data = ReportGeneralLedgerData.selectAllHiding(this, Utility.getContext(this, vars, "#User_Client", "ReportGeneralLedger"), Utility.getContext(this, vars, "#User_Org", "ReportGeneralLedger"), strcAcctSchemaId, strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily, strcBpartnerId, strAmtFrom, strAmtTo, (strcBpartnerId.equals("")&&strAll.equals(""))?"value":"partner");
328       }
329     }
330     subreport = new ReportGeneralLedgerData[data.length][];
331     String JavaDoc strOld = "";
332     int j = 0;
333     for (int i=0;data!=null && i<data.length;i++){
334       if(!strOld.equals(((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id)){
335         subreport[j] = ReportGeneralLedgerData.selectPrevious(this,(strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId, strcAcctSchemaId, data[i].id, data[i].dateacct, strOrgFamily);
336         j++;
337       }
338       strOld = (((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id);
339     }
340     subreport2 = new ReportGeneralLedgerData[data.length][];
341     String JavaDoc strTotal = "";
342     int g = 0;
343     for (int i=0;data!=null && i<data.length;i++){
344       if(!strTotal.equals(((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id)){
345         subreport2[g] = ReportGeneralLedgerData.selectTotal(this,(strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId, strcAcctSchemaId, data[i].id, DateTimeData.nDaysAfter(this, strDateTo,"1"), strOrgFamily);
346         g++;
347       }
348       strTotal = (((strcBpartnerId.equals("")&&strAll.equals(""))?"":data[i].cBpartnerId) + data[i].id);
349     }
350     
351     
352     JasperPrint jasperPrint;
353     String JavaDoc strOutput = vars.commandIn("PDF")?"pdf":"xls";
354     String JavaDoc strReportName = "@basedesign@/org/openbravo/erpCommon/ad_reports/ReportGeneralLedger.jrxml";
355     
356     HashMap<String JavaDoc, Object JavaDoc> parameters = new HashMap<String JavaDoc, Object JavaDoc>();
357     parameters.put("Title", classInfo.name);
358     parameters.put("ShowPartner",new Boolean JavaDoc(!(strcBpartnerId.equals("")&&strAll.equals(""))));
359     renderJR(vars, response, strReportName, strOutput, parameters, data, null );
360  }
361
362
363   public String JavaDoc getFamily(String JavaDoc strTree, String JavaDoc strChild) throws IOException, ServletException {
364     return Tree.getMembers(this, strTree, strChild);
365   }
366
367
368
369   public String JavaDoc getRange (String JavaDoc accountfrom, String JavaDoc accountto) throws IOException,ServletException {
370
371     ReportGeneralLedgerData[] data = ReportGeneralLedgerData.selectRange(this,accountfrom,accountto);
372
373     boolean bolFirstLine = true;
374     String JavaDoc strText = "";
375     for (int i = 0; i < data.length; i++) {
376       if (bolFirstLine){
377         bolFirstLine = false;
378         strText = data[i].name;
379       }
380       else{
381         strText = data[i].name + "," + strText ;
382       }
383     }
384     return strText;
385   }
386
387
388   public String JavaDoc getServletInfo() {
389     return "Servlet ReportGeneralLedger. This Servlet was made by Pablo Sarobe";
390   } // end of getServletInfo() method
391
}
392
Popular Tags