| 1 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 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 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 strcBankaccountId = RptPromissoryNoteAfterData.selectDebtPaymentBank(this, data[i].cDebtPaymentId); 66 if (!strcBankaccountId.equals("")){ 67 String 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 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 strcBankaccountId = RptPromissoryNoteAfterData.selectDebtPaymentBank(this, data[i].cDebtPaymentId); 98 if (!strcBankaccountId.equals("")){ 99 String 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 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 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 strResult = xmlDocument.print(); 141 renderFO(strResult, response); 142 } 143 } 144 145 String debtPaymentTree(String strcDebtPaymentId) throws IOException,ServletException{ 146 String strDocumentno = ""; 147 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 getServletInfo() { 169 return "Servlet ReportMInout. This Servlet was made by Jon Alegría"; 170 } } 172 | Popular Tags |