KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpReports > RptPromissoryNote


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.erpReports;
20
21 import org.openbravo.base.secureApp.*;
22 import org.openbravo.xmlEngine.XmlDocument;
23 import java.io.*;
24 import javax.servlet.*;
25 import javax.servlet.http.*;
26 import org.openbravo.erpCommon.utility.Utility;
27
28
29 public class RptPromissoryNote extends HttpSecureAppServlet {
30   
31   public void init (ServletConfig config) {
32     super.init(config);
33     boolHist = false;
34   }
35
36   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
37     VariablesSecureApp vars = new VariablesSecureApp(request);
38
39     if (vars.commandIn("DEFAULT")) {
40       String JavaDoc strcDebtPaymentId = vars.getSessionValue("RptPromissoryNote.inpcDebtPaymentId_R");
41       if (strcDebtPaymentId.equals("")) strcDebtPaymentId = vars.getSessionValue("RptPromissoryNote.inpcDebtPaymentId");
42       printPagePDF(response, vars, strcDebtPaymentId);
43     } else {
44       pageError(response);
45     }
46
47   }
48
49
50   void printPagePDF(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strcDebtPaymentId) throws IOException,ServletException{
51     if(log4j.isDebugEnabled()) log4j.debug("Output: pdf");
52     if (!strcDebtPaymentId.equals("")){
53       RptPromissoryNoteData[] data = RptPromissoryNoteData.select(this, Utility.getContext(this, vars, "#User_Org", "RptPromissoryNote"), Utility.getContext(this, vars, "#User_Client", "RptPromissoryNote"), strcDebtPaymentId);
54       RptPromissoryNoteHeaderData[][] pdfPromissoryNoteHeaderData = null;
55       RptPromissoryNoteAfterData[][] pdfPromissoryNoteAfterData = null;
56       RptPromissoryNoteErrorData[][] pdfPromissoryNoteErrorData = null;
57
58
59       if (data == null || data.length == 0){
60         data = RptPromissoryNoteData.selectDebtPayment(this, Utility.getContext(this, vars, "#User_Org", "RptPromissoryNote"), Utility.getContext(this, vars, "#User_Client", "RptPromissoryNote"), strcDebtPaymentId);
61         pdfPromissoryNoteHeaderData = new RptPromissoryNoteHeaderData[data.length][];
62         pdfPromissoryNoteAfterData = new RptPromissoryNoteAfterData[data.length][];
63         pdfPromissoryNoteErrorData = new RptPromissoryNoteErrorData[data.length][];
64         for (int i = 0; i<data.length; i++){
65           String JavaDoc strcBankaccountId = RptPromissoryNoteAfterData.selectDebtPaymentBank(this, data[i].cDebtPaymentId);
66           if (!strcBankaccountId.equals("")){
67             String JavaDoc strcPromissoryFormatId = RptPromissoryNoteAfterData.selectPromissoryformat(this, strcBankaccountId);
68
69             if (strcPromissoryFormatId != null && !strcPromissoryFormatId.equals("")){
70               pdfPromissoryNoteHeaderData[i] = RptPromissoryNoteHeaderData.selectDebtPayment(this, data[i].cDebtPaymentId);
71
72               if (pdfPromissoryNoteHeaderData[i] == null || pdfPromissoryNoteHeaderData[i].length == 0) pdfPromissoryNoteHeaderData[i] = RptPromissoryNoteHeaderData.set();
73
74               pdfPromissoryNoteAfterData[i] = RptPromissoryNoteAfterData.selectDebtPayment(this, data[i].cDebtPaymentId);
75               if (pdfPromissoryNoteAfterData[i] == null || pdfPromissoryNoteAfterData[i].length == 0) pdfPromissoryNoteAfterData[i] = RptPromissoryNoteAfterData.set();
76
77               pdfPromissoryNoteErrorData[i] = new RptPromissoryNoteErrorData[0];
78               String JavaDoc printbank = RptPromissoryNoteAfterData.selectBanklocation(this, strcBankaccountId);
79               if (!printbank.equals("Y")) pdfPromissoryNoteAfterData[i][0].banklocation = "";
80             } else{
81               pdfPromissoryNoteErrorData[i] = RptPromissoryNoteErrorData.select(this, "PromissoryNoteFormat");
82               pdfPromissoryNoteHeaderData[i] = new RptPromissoryNoteHeaderData[0];
83               pdfPromissoryNoteAfterData[i] = new RptPromissoryNoteAfterData[0];
84             }
85           } else {
86             pdfPromissoryNoteErrorData[i] = RptPromissoryNoteErrorData.select(this, "PromissoryNoteBank");
87             pdfPromissoryNoteHeaderData[i] = new RptPromissoryNoteHeaderData[0];
88             pdfPromissoryNoteAfterData[i] = new RptPromissoryNoteAfterData[0];
89           }
90
91         }
92       } else {
93         pdfPromissoryNoteHeaderData = new RptPromissoryNoteHeaderData[data.length][];
94         pdfPromissoryNoteAfterData = new RptPromissoryNoteAfterData[data.length][];
95         pdfPromissoryNoteErrorData = new RptPromissoryNoteErrorData[data.length][];
96         for (int i = 0; i<data.length; i++){
97           String JavaDoc strcBankaccountId = RptPromissoryNoteAfterData.selectDebtPaymentBank(this, data[i].cDebtPaymentId);
98           if (!strcBankaccountId.equals("")){
99             String JavaDoc strcPromissoryFormatId = RptPromissoryNoteAfterData.selectPromissoryformat(this, strcBankaccountId);
100
101             if (strcPromissoryFormatId != null && !strcPromissoryFormatId.equals("")){
102               pdfPromissoryNoteHeaderData[i] = RptPromissoryNoteHeaderData.select(this, data[i].cDebtPaymentId);
103
104               if (pdfPromissoryNoteHeaderData[i] == null || pdfPromissoryNoteHeaderData[i].length == 0) {pdfPromissoryNoteHeaderData[i] = RptPromissoryNoteHeaderData.set();}
105               else {
106                 // we have to cover the whole debt-payments tree until we find the cancelled invoices
107
pdfPromissoryNoteHeaderData[i][0].documentno = debtPaymentTree(data[i].cDebtPaymentId);
108               }
109
110               pdfPromissoryNoteAfterData[i] = RptPromissoryNoteAfterData.select(this, data[i].cDebtPaymentId);
111
112               if (pdfPromissoryNoteAfterData[i] == null || pdfPromissoryNoteAfterData[i].length == 0) pdfPromissoryNoteAfterData[i] = RptPromissoryNoteAfterData.set();
113
114               pdfPromissoryNoteErrorData[i] = new RptPromissoryNoteErrorData[0];
115               String JavaDoc printbank = RptPromissoryNoteAfterData.selectBanklocation(this, strcBankaccountId);
116               if (!printbank.equals("Y")) pdfPromissoryNoteAfterData[i][0].banklocation = "";
117             } else{
118
119               pdfPromissoryNoteErrorData[i] = RptPromissoryNoteErrorData.select(this, Utility.messageBD(this, "PromissoryNoteFormat", vars.getLanguage()));
120               pdfPromissoryNoteHeaderData[i] = new RptPromissoryNoteHeaderData[0];
121               pdfPromissoryNoteAfterData[i] = new RptPromissoryNoteAfterData[0];
122             }
123           } else {
124             pdfPromissoryNoteErrorData[i] = RptPromissoryNoteErrorData.select(this, Utility.messageBD(this, "PromissoryNoteBank", vars.getLanguage()));
125             pdfPromissoryNoteHeaderData[i] = new RptPromissoryNoteHeaderData[0];
126             pdfPromissoryNoteAfterData[i] = new RptPromissoryNoteAfterData[0];
127           }
128
129         }
130       }
131    
132     
133     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpReports/RptPromissoryNote").createXmlDocument();
134
135     xmlDocument.setData("structure1", data);
136     xmlDocument.setDataArray("reportPromissoryNoteHeader","structureHeader",pdfPromissoryNoteHeaderData);
137     xmlDocument.setDataArray("reportPromissoryNoteAfter","structureAfter",pdfPromissoryNoteAfterData);
138     xmlDocument.setDataArray("reportPromissoryNoteError","structureError",pdfPromissoryNoteErrorData);
139
140     String JavaDoc strResult = xmlDocument.print();
141     renderFO(strResult, response);
142     }
143   }
144
145   String JavaDoc debtPaymentTree(String JavaDoc strcDebtPaymentId) throws IOException,ServletException{
146     String JavaDoc strDocumentno = "";
147     //strMark=(sale, buy);
148
//boolean[] strMark = {true, true};
149
strcDebtPaymentId = "(" + strcDebtPaymentId + ")";
150     while (true) {
151       RptPromissoryNoteTreeData[] data = RptPromissoryNoteTreeData.select(this, strcDebtPaymentId);
152       strcDebtPaymentId = "(";
153         if (data == null || data.length == 0) break;
154         for (int i = 0;i<data.length;i++){
155             if (!data[i].cInvoiceId.equals("")){
156                 if (data[i].issotrx.equals("Y")) strDocumentno += "Nuestra factura nº: " + data[i].documentno + " * " + data[i].grandtotal + " *";
157                 else strDocumentno += "Pago su fra. nº: " + data[i].poreference + " * " + data[i].grandtotal + " *";
158           strDocumentno += "\n";
159             }
160         strcDebtPaymentId += data[i].cDebtPaymentId;
161             if (i != data.length -1) strcDebtPaymentId += ",";
162         }
163         strcDebtPaymentId += ")";
164     }
165     return strDocumentno;
166   }
167
168   public String JavaDoc getServletInfo() {
169     return "Servlet ReportMInout. This Servlet was made by Jon Alegría";
170   } // end of getServletInfo() method
171
}
172
Popular Tags