List of usage examples for com.lowagie.text Document close
boolean close
To view the source code for com.lowagie.text Document close.
Click Source Link
From source file:com.krawler.spring.exportFuctionality.ExportRecord.java
License:Open Source License
public ByteArrayOutputStream exportRatioAnalysis(HttpServletRequest request, JSONObject jobj, String logoPath, String comName) throws DocumentException, ServiceException, IOException { ByteArrayOutputStream baos = null; double total = 0; Document document = null; PdfWriter writer = null;//from ww w . j a va2 s. c om try { //flag 1 = BalanceSheet , 2 = P&L baos = new ByteArrayOutputStream(); document = new Document(PageSize.A4, 15, 15, 15, 15); writer = PdfWriter.getInstance(document, baos); document.open(); PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); PdfPTable tab1 = null; Rectangle page = document.getPageSize(); int bmargin = 15; //border margin PdfContentByte cb = writer.getDirectContent(); cb.rectangle(bmargin, bmargin, page.getWidth() - bmargin * 2, page.getHeight() - bmargin * 2); cb.setColorStroke(Color.WHITE); cb.stroke(); // addHeaderFooter(document, writer); PdfPTable table1 = new PdfPTable(4); table1.setWidthPercentage(100); table1.setWidths(new float[] { 25, 25, 25, 25 }); PdfPCell blankCell = new PdfPCell(); blankCell.setBorder(0); tab1 = addCompanyLogo(logoPath, comName); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); PdfPCell cell2 = new PdfPCell(new Paragraph(comName, fontSmallRegular)); cell2.setBorder(0); table1.addCell(cell2); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); PdfPCell headerCell = createCell( messageSource.getMessage("acc.ra.tabTT", null, RequestContextUtils.getLocale(request)), FontContext.TABLE_HEADER, Element.ALIGN_LEFT, 0, 5); headerCell.setBorder(0); table1.addCell(headerCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); JSONArray ObjArr = jobj.getJSONArray("data"); PdfPCell HeaderCell1 = createCell( messageSource.getMessage("acc.ra.principalGroups", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_TEXT, Element.ALIGN_LEFT, 0, 5); HeaderCell1.setBorderWidthLeft(1); HeaderCell1.setBorderWidthBottom(1); HeaderCell1.setBorderWidthTop(1); PdfPCell HeaderCell2 = createCell( messageSource.getMessage("acc.ra.value", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_TEXT, Element.ALIGN_RIGHT, 0, 5); HeaderCell2.setBorderWidthBottom(1); HeaderCell2.setBorderWidthTop(1); PdfPCell HeaderCell3 = createCell( messageSource.getMessage("acc.ra.principalRatios", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_TEXT, Element.ALIGN_LEFT, 0, 5); HeaderCell3.setBorderWidthBottom(1); HeaderCell3.setBorderWidthTop(1); HeaderCell3.setBorderWidthLeft(1); PdfPCell HeaderCell4 = createCell( messageSource.getMessage("acc.ra.value", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_TEXT, Element.ALIGN_RIGHT, 0, 5); HeaderCell4.setBorderWidthBottom(1); HeaderCell4.setBorderWidthRight(1); HeaderCell4.setBorderWidthTop(1); table1.addCell(HeaderCell1); table1.addCell(HeaderCell2); table1.addCell(HeaderCell3); table1.addCell(HeaderCell4); PdfPCell objCell1 = null; PdfPCell objCell2 = null; PdfPCell objCell3 = null; PdfPCell objCell4 = null; int objArrLength = ObjArr.length(); for (int i = 0; i < objArrLength; i++) { JSONObject leftObj = ObjArr.getJSONObject(i); objCell1 = createBalanceSheetCell(leftObj.getString("lname"), FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5, 0); objCell2 = createBalanceSheetCell(leftObj.getString("lvalue"), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 0, 0, 0); objCell3 = createBalanceSheetCell(leftObj.getString("rname"), FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5, 0); objCell4 = createBalanceSheetCell(leftObj.getString("rvalue"), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 0, 0, 0); objCell1.setBorderWidthLeft(1); objCell3.setBorderWidthLeft(1); objCell4.setBorderWidthRight(1); if (i != (objArrLength - 1)) { table1.addCell(objCell1); table1.addCell(objCell2); table1.addCell(objCell3); table1.addCell(objCell4); } } objCell1.setBorderWidthBottom(1); objCell2.setBorderWidthBottom(1); objCell3.setBorderWidthBottom(1); objCell4.setBorderWidthBottom(1); table1.addCell(objCell1); table1.addCell(objCell2); table1.addCell(objCell3); table1.addCell(objCell4); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); document.add(mainTable); } catch (Exception ex) { return null; } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } if (baos != null) { baos.close(); } } return baos; }
From source file:com.krawler.spring.exportFuctionality.ExportRecord.java
License:Open Source License
public ByteArrayOutputStream exportBalanceSheetPdf(HttpServletRequest request, String currencyid, DateFormat formatter, String logoPath, String comName, JSONObject jobj, Date startDate, Date endDate, int flag, int toggle) throws DocumentException, ServiceException, IOException { ByteArrayOutputStream baos = null; double total = 0; Document document = null; PdfWriter writer = null;//from w ww.j a v a2 s . com try { //flag 1 = BalanceSheet , 2 = P&L String headingString = ""; String DateheadingString = ""; String value = ""; String subHeading1 = ""; String subHeading2 = ""; if (flag == 1) { headingString = messageSource.getMessage("acc.rem.123", null, RequestContextUtils.getLocale(request)); //"Balance Sheet For : "; DateheadingString = messageSource.getMessage("acc.rem.124", null, RequestContextUtils.getLocale(request)); //"Balance Sheet Till :"; value = formatter.format(endDate); subHeading1 = messageSource.getMessage("acc.balanceSheet.Amount(asset)", null, RequestContextUtils.getLocale(request)); //"Asset"; subHeading2 = messageSource.getMessage("acc.balanceSheet.Amount(liability)", null, RequestContextUtils.getLocale(request)); //"Liability"; if (toggle == 1) { subHeading1 = messageSource.getMessage("acc.balanceSheet.Amount(liability)", null, RequestContextUtils.getLocale(request)); //"Liability"; subHeading2 = messageSource.getMessage("acc.balanceSheet.Amount(asset)", null, RequestContextUtils.getLocale(request)); //"Asset"; } } else { headingString = messageSource.getMessage("acc.rem.125", null, RequestContextUtils.getLocale(request)); // "P&L Statement For : "; DateheadingString = messageSource.getMessage("acc.rem.126", null, RequestContextUtils.getLocale(request)); // "P&L Statement From-To :"; value = formatter.format(startDate) + " " + messageSource.getMessage("acc.common.to", null, RequestContextUtils.getLocale(request)) + " " + formatter.format(endDate); subHeading1 = messageSource.getMessage("acc.P&L.Amount(Debit)", null, RequestContextUtils.getLocale(request)); //"Debit"; subHeading2 = messageSource.getMessage("acc.P&L.Amount(Credit)", null, RequestContextUtils.getLocale(request)); //"Credit"; } baos = new ByteArrayOutputStream(); document = new Document(PageSize.A4, 15, 15, 15, 15); writer = PdfWriter.getInstance(document, baos); document.open(); PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); PdfPTable tab1 = null; Rectangle page = document.getPageSize(); int bmargin = 15; //border margin PdfContentByte cb = writer.getDirectContent(); cb.rectangle(bmargin, bmargin, page.getWidth() - bmargin * 2, page.getHeight() - bmargin * 2); cb.setColorStroke(Color.WHITE); cb.stroke(); // addHeaderFooter(document, writer); PdfPTable table1 = new PdfPTable(3); table1.setWidthPercentage(100); table1.setWidths(new float[] { 30, 30, 40 }); PdfPCell blankCell = new PdfPCell(); blankCell.setBorder(0); tab1 = addCompanyLogo(logoPath, comName); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); table1.addCell(blankCell); table1.addCell(blankCell); PdfPCell headerCell = createCell(headingString, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); headerCell.setBorder(0); table1.addCell(headerCell); PdfPCell headerNameCell = createCell(comName, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); headerNameCell.setBorder(0); table1.addCell(headerNameCell); table1.addCell(blankCell); headerCell = createCell(DateheadingString, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); headerCell.setBorder(0); table1.addCell(headerCell); headerNameCell = createCell(value, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); headerNameCell.setBorder(0); table1.addCell(headerNameCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); jobj = jobj.getJSONObject("data"); JSONArray rightObjArr = flag == 1 ? jobj.getJSONArray("right") : jobj.getJSONArray("left"); JSONArray leftObjArr = flag == 1 ? jobj.getJSONArray("left") : jobj.getJSONArray("right"); if (toggle == 1) { rightObjArr = jobj.getJSONArray("left"); leftObjArr = jobj.getJSONArray("right"); } JSONArray finalValArr = jobj.getJSONArray("total"); PdfPCell HeaderCell1 = createCell( messageSource.getMessage("acc.P&L.particulars", null, RequestContextUtils.getLocale(request)), FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); HeaderCell1.setBorderWidthBottom(1); PdfPCell HeaderCell2 = createCell(subHeading1, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); HeaderCell2.setBorderWidthBottom(1); table1.addCell(HeaderCell1); table1.addCell(HeaderCell2); table1.addCell(blankCell); double totalAsset = Double.parseDouble(finalValArr.getString(0)); double totalLibility = Double.parseDouble(finalValArr.getString(1)); for (int i = 0; i < rightObjArr.length(); i++) { JSONObject leftObj = rightObjArr.getJSONObject(i); addBalanceSheetCell(leftObj, table1, currencyid); // PdfPCell cell3 = createCell(leftObj.get("accountname").toString(), fontSmallBold, Element.ALIGN_LEFT, 0, 5); // PdfPCell cell4 = createCell(com.krawler.common.util.StringUtil.serverHTMLStripper(leftObj.get("amount").toString()), fontSmallBold, Element.ALIGN_LEFT, 0, 5); // cell3.setBorder(0); // table1.addCell(cell3); // cell4.setBorder(0); // table1.addCell(cell4); } PdfPCell totalAsscell = createBalanceSheetCell( messageSource.getMessage("acc.common.total", null, RequestContextUtils.getLocale(request)) + " " + subHeading1, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 0, 0); table1.addCell(totalAsscell); PdfPCell totalAssValcell = createBalanceSheetCell( exportDaoObj.currencyRender(Double.toString(totalAsset), currencyid), fontSmallBold, Element.ALIGN_RIGHT, 0, 0, 0); table1.addCell(totalAssValcell); for (int i = 0; i < 16; i++) table1.addCell(blankCell); HeaderCell1 = createCell( messageSource.getMessage("acc.balanceSheet.particulars", null, RequestContextUtils.getLocale(request)), FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); HeaderCell1.setBorderWidthBottom(1); HeaderCell2 = createCell(subHeading2, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); HeaderCell2.setBorderWidthBottom(1); table1.addCell(HeaderCell1); table1.addCell(HeaderCell2); table1.addCell(blankCell); for (int i = 0; i < leftObjArr.length(); i++) { JSONObject leftObj = leftObjArr.getJSONObject(i); addBalanceSheetCell(leftObj, table1, currencyid); // PdfPCell cell3 = createCell(leftObj.get("accountname").toString(), fontSmallBold, Element.ALIGN_LEFT, 0, 5); // PdfPCell cell4 = createCell(com.krawler.common.util.StringUtil.serverHTMLStripper(leftObj.get("amount").toString()), fontSmallBold, Element.ALIGN_LEFT, 0, 5); // cell3.setBorder(0); // table1.addCell(cell3); // cell4.setBorder(0); // table1.addCell(cell4); } PdfPCell totalLibcell = createBalanceSheetCell( messageSource.getMessage("acc.common.total", null, RequestContextUtils.getLocale(request)) + " " + subHeading2, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 0, 0); table1.addCell(totalLibcell); PdfPCell totalLibValcell = createBalanceSheetCell( exportDaoObj.currencyRender(Double.toString(totalLibility), currencyid), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 0, 0, 0); table1.addCell(totalLibValcell); table1.addCell(blankCell); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); // document.add(mainTable); document.add(mainTable); } catch (Exception ex) { return null; } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } if (baos != null) { baos.close(); } } return baos; }
From source file:com.krawler.spring.exportFuctionality.ExportRecord.java
License:Open Source License
public ByteArrayOutputStream createPdf(HttpServletRequest request, String currencyid, String billid, DateFormat formatter, int mode, double amount, String logoPath, String customer, String accname, String address, boolean isExpenseInv) throws DocumentException, ServiceException, IOException { ByteArrayOutputStream baos = null; double total = 0; Document document = null; PdfWriter writer = null;//from w w w . ja va2s . c o m try { String poRefno = ""; baos = new ByteArrayOutputStream(); document = new Document(PageSize.A4, 15, 15, 15, 15); writer = PdfWriter.getInstance(document, baos); document.open(); PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); PdfPTable blankTable = null; PdfPCell blankCell = null; PdfPTable tab1 = null; PdfPTable tab2 = null; PdfPTable tab3 = null; Rectangle page = document.getPageSize(); int bmargin = 15; //border margin PdfContentByte cb = writer.getDirectContent(); cb.rectangle(bmargin, bmargin, page.getWidth() - bmargin * 2, page.getHeight() - bmargin * 2); cb.setColorStroke(Color.WHITE); cb.stroke(); if (mode == StaticValues.AUTONUM_INVOICE || mode == StaticValues.AUTONUM_BILLINGINVOICE || mode == StaticValues.AUTONUM_BILLINGSALESORDER || mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER || mode == StaticValues.AUTONUM_SALESORDER || mode == StaticValues.AUTONUM_PURCHASEORDER || mode == StaticValues.AUTONUM_QUOTATION) { addHeaderFooter(document, writer); Invoice inv = null; BillingInvoice inv1 = null; BillingSalesOrder so = null; Company com = null; Account cEntry; String invno = ""; Date entryDate = null; BillingPurchaseOrder po = null; SalesOrder sOrder = null; PurchaseOrder pOrder = null; Tax mainTax = null; Quotation quotation = null; if (mode == StaticValues.AUTONUM_INVOICE) { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(Invoice.class.getName(), billid); inv = (Invoice) cap.getEntityList().get(0); com = inv.getCompany(); cEntry = inv.getCustomerEntry().getAccount(); invno = inv.getInvoiceNumber(); entryDate = inv.getJournalEntry().getEntryDate(); //inv = (Invoice) session.get(Invoice.class, billid); } else if (mode == StaticValues.AUTONUM_BILLINGSALESORDER) { so = (BillingSalesOrder) kwlCommonTablesDAOObj.getClassObject(BillingSalesOrder.class.getName(), billid); com = so.getCompany(); cEntry = so.getCustomer().getAccount(); invno = so.getSalesOrderNumber(); entryDate = so.getOrderDate(); mainTax = so.getTax(); } else if (mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER) { po = (BillingPurchaseOrder) kwlCommonTablesDAOObj .getClassObject(BillingPurchaseOrder.class.getName(), billid); com = po.getCompany(); cEntry = po.getVendor().getAccount(); invno = po.getPurchaseOrderNumber(); entryDate = po.getOrderDate(); mainTax = po.getTax(); } else if (mode == StaticValues.AUTONUM_SALESORDER) { sOrder = (SalesOrder) kwlCommonTablesDAOObj.getClassObject(SalesOrder.class.getName(), billid); com = sOrder.getCompany(); cEntry = sOrder.getCustomer().getAccount(); invno = sOrder.getSalesOrderNumber(); entryDate = sOrder.getOrderDate(); mainTax = sOrder.getTax(); } else if (mode == StaticValues.AUTONUM_PURCHASEORDER) { pOrder = (PurchaseOrder) kwlCommonTablesDAOObj.getClassObject(PurchaseOrder.class.getName(), billid); com = pOrder.getCompany(); cEntry = pOrder.getVendor().getAccount(); invno = pOrder.getPurchaseOrderNumber(); entryDate = pOrder.getOrderDate(); mainTax = pOrder.getTax(); } else if (mode == StaticValues.AUTONUM_QUOTATION) { quotation = (Quotation) kwlCommonTablesDAOObj.getClassObject(Quotation.class.getName(), billid); com = quotation.getCompany(); cEntry = quotation.getCustomer().getAccount(); invno = quotation.getquotationNumber(); entryDate = quotation.getQuotationDate(); mainTax = quotation.getTax(); } else { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(BillingInvoice.class.getName(), billid); inv1 = (BillingInvoice) cap.getEntityList().get(0); com = inv1.getCompany(); cEntry = inv1.getCustomerEntry().getAccount(); invno = inv1.getBillingInvoiceNumber(); entryDate = inv1.getJournalEntry().getEntryDate(); poRefno = inv1.getPoRefNumber() == null ? "" : inv1.getPoRefNumber(); mainTax = inv1.getTax(); //inv1=(BillingInvoice)session.get(BillingInvoice.class,billid); } // Company com = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getCompany() : inv1.getCompany(); String company[] = new String[4]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); company[3] = com.getPhoneNumber(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 50, 50 }); tab1 = addCompanyLogo(logoPath, com); tab2 = new PdfPTable(1); PdfPCell invCell = null; CompanyAccountPreferences pref = (CompanyAccountPreferences) kwlCommonTablesDAOObj .getClassObject(CompanyAccountPreferences.class.getName(), com.getCompanyID()); Account cash = pref.getCashAccount(); // // if (mode != StaticValues.AUTONUM_BILLINGINVOICE) { // cEntry = inv.getCustomerEntry().getAccount(); // } else { // cEntry = inv1.getCustomerEntry().getAccount(); // } String theader = cEntry == cash ? messageSource.getMessage("acc.accPref.autoCS", null, RequestContextUtils.getLocale(request)) : messageSource.getMessage("acc.accPref.autoInvoice", null, RequestContextUtils.getLocale(request)); if (mode == StaticValues.AUTONUM_BILLINGSALESORDER || mode == StaticValues.AUTONUM_SALESORDER) { theader = messageSource.getMessage("acc.accPref.autoSO", null, RequestContextUtils.getLocale(request)); } else if (mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER || mode == StaticValues.AUTONUM_PURCHASEORDER) { theader = messageSource.getMessage("acc.accPref.autoPO", null, RequestContextUtils.getLocale(request)); } else if (mode == StaticValues.AUTONUM_QUOTATION) { theader = messageSource.getMessage("acc.accPref.autoQN", null, RequestContextUtils.getLocale(request)); } invCell = createCell(theader, fontTbl, Element.ALIGN_RIGHT, 0, 5); tab2.addCell(invCell); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); PdfPCell cel2 = new PdfPCell(tab2); cel2.setBorder(0); table1.addCell(cel2); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); PdfPTable userTable2 = new PdfPTable(2); userTable2.setWidthPercentage(100); userTable2.setWidths(new float[] { 60, 40 }); tab3 = getCompanyInfo(company); PdfPTable tab4 = new PdfPTable(2); tab4.setWidthPercentage(100); tab4.setWidths(new float[] { 50, 50 }); PdfPCell cell2 = createCell(theader + "# :", fontSmallBold, Element.ALIGN_RIGHT, 0, 5); if (mode == StaticValues.AUTONUM_QUOTATION) { cell2 = createCell(theader + "# :", fontSmallBold, Element.ALIGN_RIGHT, 0, 5); } tab4.addCell(cell2); // String invno = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getInvoiceNumber() : inv1.getBillingInvoiceNumber(); cell2 = createCell(invno, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); if (mode != StaticValues.AUTONUM_QUOTATION && mode != StaticValues.AUTONUM_PURCHASEORDER && mode != StaticValues.AUTONUM_SALESORDER) { cell2 = createCell( messageSource.getMessage("acc.numb.43", null, RequestContextUtils.getLocale(request)) + " # :", fontSmallBold, Element.ALIGN_RIGHT, 0, 5); tab4.addCell(cell2); cell2 = createCell(poRefno, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); } cell2 = createCell( messageSource.getMessage("acc.rem.198", null, RequestContextUtils.getLocale(request)) + " :", fontSmallBold, Element.ALIGN_RIGHT, 0, 5); tab4.addCell(cell2); cell2 = createCell(formatter.format(entryDate), fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell1 = new PdfPCell(tab3); cell1.setBorder(0); userTable2.addCell(cell1); cel2 = new PdfPCell(tab4); cel2.setBorder(0); userTable2.addCell(cel2); PdfPCell mainCell12 = new PdfPCell(userTable2); mainCell12.setBorder(0); mainCell12.setPadding(10); mainTable.addCell(mainCell12); PdfPTable tab5 = new PdfPTable(2); tab5.setWidthPercentage(100); tab5.setWidths(new float[] { 10, 90 }); PdfPCell cell3 = createCell( messageSource.getMessage("acc.common.to", null, RequestContextUtils.getLocale(request)) + " , ", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); HashMap<String, Object> invRequestParams = new HashMap<String, Object>(); ArrayList filter_names = new ArrayList(), filter_params = new ArrayList(), order_by = new ArrayList(), order_type = new ArrayList(); order_by.add("srno"); order_type.add("asc"); invRequestParams.put("order_by", order_by); invRequestParams.put("order_type", order_type); KwlReturnObject idresult = null; String customerName = ""; String shipTo = ""; String memo = ""; Iterator itr = null; if (mode == StaticValues.AUTONUM_INVOICE) { filter_names.add("invoice.ID"); filter_params.add(inv.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accInvoiceDAOobj.getInvoiceDetails(invRequestParams); customerName = inv.getCustomer() == null ? inv.getCustomerEntry().getAccount().getName() : inv.getCustomer().getName(); shipTo = inv.getShipTo(); itr = idresult.getEntityList().iterator(); memo = inv.getMemo(); } else if (mode == StaticValues.AUTONUM_BILLINGSALESORDER) { customerName = so.getCustomer().getName(); shipTo = so.getCustomer().getShippingAddress(); filter_names.add("salesOrder.ID"); filter_params.add(so.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accSalesOrderDAOobj.getBillingSalesOrderDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = so.getMemo(); } else if (mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER) { customerName = po.getVendor().getName(); shipTo = po.getVendor().getAddress(); filter_names.add("purchaseOrder.ID"); filter_params.add(po.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accPurchaseOrderobj.getBillingPurchaseOrderDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = po.getMemo(); } else if (mode == StaticValues.AUTONUM_SALESORDER) { customerName = sOrder.getCustomer().getName(); shipTo = sOrder.getCustomer().getShippingAddress(); filter_names.add("salesOrder.ID"); filter_params.add(sOrder.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accSalesOrderDAOobj.getSalesOrderDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = sOrder.getMemo(); } else if (mode == StaticValues.AUTONUM_PURCHASEORDER) { customerName = pOrder.getVendor().getName(); shipTo = pOrder.getVendor().getAddress(); filter_names.add("purchaseOrder.ID"); filter_params.add(pOrder.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accPurchaseOrderobj.getPurchaseOrderDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = pOrder.getMemo(); } else if (mode == StaticValues.AUTONUM_QUOTATION) { customerName = quotation.getCustomer().getName(); shipTo = quotation.getCustomer().getShippingAddress(); filter_names.add("quotation.ID"); filter_params.add(quotation.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accSalesOrderDAOobj.getQuotationDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = quotation.getMemo(); } else { filter_names.add("billingInvoice.ID"); filter_params.add(inv1.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accInvoiceDAOobj.getBillingInvoiceDetails(invRequestParams); customerName = inv1.getCustomer() == null ? inv1.getCustomerEntry().getAccount().getName() : inv1.getCustomer().getName(); shipTo = inv1.getShipTo(); itr = idresult.getEntityList().iterator(); memo = inv1.getMemo(); } cell3 = createCell(customerName, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell(shipTo, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); PdfPCell mainCell14 = new PdfPCell(tab5); mainCell14.setBorder(0); mainCell14.setPadding(10); mainTable.addCell(mainCell14); // if(mode == StaticValues.AUTONUM_QUOTATION) // String[] header = {"S.No.","PRODUCT DESCRIPTION", "QUANTITY", "UNIT PRICE", "TAX", "AMOUNT"}; String[] header = { messageSource.getMessage("acc.setupWizard.sno", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.176", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.187", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.188", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.191", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.192", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.193", null, RequestContextUtils.getLocale(request)) }; PdfPTable table = getBlankTable(); PdfPCell invcell = null; for (int i = 0; i < header.length; i++) { invcell = new PdfPCell(new Paragraph(header[i], fontSmallBold)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBackgroundColor(Color.LIGHT_GRAY); invCell.setBorder(0); invcell.setPadding(3); table.addCell(invcell); } addTableRow(mainTable, table); //Break table after adding header row table = getBlankTable(); HashMap<String, Object> requestParams = AccountingManager.getGlobalParams(request); KwlReturnObject bAmt = null; InvoiceDetail row = null; BillingInvoiceDetail row1 = null; BillingSalesOrderDetail row3 = null; BillingPurchaseOrderDetail row4 = null; SalesOrderDetail row5 = null; PurchaseOrderDetail row6 = null; QuotationDetail row7 = null; int index = 0; while (itr.hasNext()) { String prodName = ""; double quantity = 0, discountQuotation = 0; double rate = 0; Discount discount = null; String uom = ""; double amount1 = 0; if (mode == StaticValues.AUTONUM_INVOICE) { row = (InvoiceDetail) itr.next(); prodName = row.getInventory().getProduct().getName(); quantity = row.getInventory().getQuantity(); rate = row.getRate(); discount = row.getDiscount(); uom = row.getInventory().getProduct().getUnitOfMeasure() == null ? "" : row.getInventory().getProduct().getUnitOfMeasure().getName(); } else if (mode == StaticValues.AUTONUM_BILLINGSALESORDER) { row3 = (BillingSalesOrderDetail) itr.next(); prodName = row3.getProductDetail(); quantity = row3.getQuantity(); rate = row3.getRate(); } else if (mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER) { row4 = (BillingPurchaseOrderDetail) itr.next(); prodName = row4.getProductDetail(); quantity = row4.getQuantity(); rate = row4.getRate(); } else if (mode == StaticValues.AUTONUM_SALESORDER) { row5 = (SalesOrderDetail) itr.next(); prodName = row5.getProduct().getName(); quantity = row5.getQuantity(); rate = row5.getRate(); uom = row5.getProduct().getUnitOfMeasure() == null ? "" : row5.getProduct().getUnitOfMeasure().getName(); } else if (mode == StaticValues.AUTONUM_PURCHASEORDER) { row6 = (PurchaseOrderDetail) itr.next(); prodName = row6.getProduct().getName(); quantity = row6.getQuantity(); rate = row6.getRate(); uom = row6.getProduct().getUnitOfMeasure() == null ? "" : row6.getProduct().getUnitOfMeasure().getName(); } else if (mode == StaticValues.AUTONUM_QUOTATION) { row7 = (QuotationDetail) itr.next(); prodName = row7.getProduct().getName(); quantity = row7.getQuantity(); rate = row7.getRate(); discountQuotation = rate * quantity * row7.getDiscount() / 100; uom = row7.getProduct().getUnitOfMeasure() == null ? "" : row7.getProduct().getUnitOfMeasure().getName(); } else { row1 = (BillingInvoiceDetail) itr.next(); prodName = row1.getProductDetail(); quantity = row1.getQuantity(); rate = row1.getRate(); discount = row1.getDiscount() != null ? row1.getDiscount() : null; // uom = row1.getInventory().getProduct().getUnitOfMeasure()==null?"":row1.getInventory().getProduct().getUnitOfMeasure().getName(); } invcell = createCell((++index) + ".", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(prodName, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); String qtyStr = Double.toString(quantity); if (mode == StaticValues.AUTONUM_INVOICE || mode == StaticValues.AUTONUM_SALESORDER || mode == StaticValues.AUTONUM_PURCHASEORDER || mode == StaticValues.AUTONUM_QUOTATION) { qtyStr = Integer.toString((int) quantity); //For with-Inventory flow, Don't show decimal point as inventory has integer value } invcell = createCell(qtyStr + " " + uom, fontSmallRegular, Element.ALIGN_CENTER, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); if (mode == StaticValues.AUTONUM_PURCHASEORDER || mode == StaticValues.AUTONUM_SALESORDER || mode == StaticValues.AUTONUM_QUOTATION) { bAmt = accCurrencyobj.getBaseToCurrencyAmount(requestParams, rate, cEntry.getCurrency().getCurrencyID(), entryDate, 0); double rateInBase = (Double) bAmt.getEntityList().get(0); rate = rateInBase; } invcell = createCell(authHandlerDAOObj.getFormattedCurrency(rate, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); if (mode == StaticValues.AUTONUM_QUOTATION) invcell = calculateDiscount(discountQuotation, currencyid); else invcell = calculateDiscount(discount, currencyid); invcell.setHorizontalAlignment(Element.ALIGN_RIGHT); invcell.setPadding(5); invcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(invcell); amount1 = rate * quantity; if (discount != null) { amount1 -= mode != StaticValues.AUTONUM_BILLINGINVOICE ? (row.getDiscount().getDiscountValue()) : (row1.getDiscount().getDiscountValue()); } if (discountQuotation != 0) { amount1 -= discountQuotation; } double rowTaxPercent = 0; if (row != null && row.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row1 != null && row1.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row1.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row3 != null && row3.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row3.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row4 != null && row4.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row4.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row5 != null && row5.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row5.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row6 != null && row6.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row6.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row7 != null && row7.getTax() != null) { requestParams.put("transactiondate", entryDate); requestParams.put("taxid", row7.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } invcell = createCell( authHandlerDAOObj.getFormattedCurrency(amount1 * rowTaxPercent / 100, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); amount1 += amount1 * rowTaxPercent / 100; invcell = createCell(authHandlerDAOObj.getFormattedCurrency(amount1, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); total += amount1; addTableRow(mainTable, table); //Break table after adding detail's row table = getBlankTable(); } for (int j = 0; j < 98; j++) { invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(invcell); } addTableRow(mainTable, table); //Break table after adding extra space table = getBlankTable(); // for (int i = 0; i < 5; i++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setBorder(Rectangle.TOP); // table.addCell(invcell); // } cell3 = createCell( messageSource.getMessage("acc.rem.194", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_RIGHT, Rectangle.TOP, 5); cell3.setColspan(6); table.addCell(cell3); // if(mode == StaticValues.AUTONUM_INVOICE || mode==StaticValues.AUTONUM_PURCHASEORDER || mode==StaticValues.AUTONUM_SALESORDER){ // bAmt = accCurrencyobj.getBaseToCurrencyAmount(requestParams, total, cEntry.getCurrency().getCurrencyID(), entryDate, 0); // double baseTotalAmount = (Double) bAmt.getEntityList().get(0); // total = baseTotalAmount; // } cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(total, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); // for (int i = 0; i < 5; i++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setPadding(5); // invcell.setBorder(0); // table.addCell(invcell); // } Discount totalDiscount = null; double totaltax = 0, discountTotalQuotation = 0; double totalAmount = 0; double taxPercent = 0; if (mainTax != null) { //Get tax percent requestParams.put("transactiondate", entryDate); requestParams.put("taxid", mainTax.getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); taxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } if (mode == StaticValues.AUTONUM_INVOICE) { totalDiscount = inv.getDiscount(); totaltax = inv.getTaxEntry() != null ? inv.getTaxEntry().getAmount() : 0; totalAmount = inv.getCustomerEntry().getAmount(); } else if (mode == StaticValues.AUTONUM_BILLINGSALESORDER || mode == StaticValues.AUTONUM_BILLINGPURCHASEORDER || mode == StaticValues.AUTONUM_PURCHASEORDER || mode == StaticValues.AUTONUM_SALESORDER || mode == StaticValues.AUTONUM_QUOTATION) { totalAmount = total; if (mode == StaticValues.AUTONUM_QUOTATION && quotation.getDiscount() != 0) { if (!quotation.isPerDiscount()) { discountTotalQuotation = quotation.getDiscount(); total = total - quotation.getDiscount(); totalAmount = total; } else { discountTotalQuotation = total * quotation.getDiscount() / 100; total -= (total * quotation.getDiscount() / 100); totalAmount = total; } } totaltax = (taxPercent == 0 ? 0 : totalAmount * taxPercent / 100); totalAmount = total + totaltax; } else { totalDiscount = inv1.getDiscount(); totaltax = inv1.getTaxEntry() != null ? inv1.getTaxEntry().getAmount() : 0; totalAmount = (inv1.getCustomerEntry().getAmount()); } if (mode != StaticValues.AUTONUM_PURCHASEORDER || mode != StaticValues.AUTONUM_SALESORDER) { cell3 = createCell( messageSource.getMessage("acc.rem.195", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(6); table.addCell(cell3); if (mode == StaticValues.AUTONUM_QUOTATION) invcell = calculateDiscount(discountTotalQuotation, currencyid); else invcell = calculateDiscount(totalDiscount, currencyid); invcell.setHorizontalAlignment(Element.ALIGN_RIGHT); invcell.setPadding(5); table.addCell(invcell); } // for (int i = 0; i < 5; i++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setPadding(5); // invcell.setBorder(0); // table.addCell(invcell); // } StringBuffer taxNameStr = new StringBuffer(); if (mainTax != null) { taxNameStr.append(mainTax.getName()); taxNameStr.append(" "); taxNameStr.append(taxPercent); taxNameStr.append("% (+)"); } else { taxNameStr.append( messageSource.getMessage("acc.rem.196", null, RequestContextUtils.getLocale(request))); } cell3 = createCell(taxNameStr.toString(), fontSmallBold, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(6); table.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(totaltax, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); // for (int i = 0; i < 5; i++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setPadding(5); // invcell.setBorder(0); // table.addCell(invcell); // } cell3 = createCell( messageSource.getMessage("acc.rem.197", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(6); table.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(totalAmount, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); addTableRow(mainTable, table); KWLCurrency currency = (KWLCurrency) kwlCommonTablesDAOObj .getClassObject(KWLCurrency.class.getName(), currencyid); String netinword = EnglishNumberToWordsOjb.convert(Double.parseDouble(String.valueOf(totalAmount)), currency); String currencyname = currency.getName(); cell3 = createCell( messageSource.getMessage("acc.rem.177", null, RequestContextUtils.getLocale(request)) + " : " + currencyname + " " + netinword + " Only.", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); PdfPTable table2 = new PdfPTable(1); table2.addCell(cell3); PdfPCell mainCell62 = new PdfPCell(table2); mainCell62.setBorder(0); mainCell62.setPadding(10); mainTable.addCell(mainCell62); PdfPTable helpTable = new PdfPTable(new float[] { 8, 92 }); helpTable.setWidthPercentage(100); Phrase phrase1 = new Phrase( messageSource.getMessage("acc.common.memo", null, RequestContextUtils.getLocale(request)) + ": ", fontSmallBold); Phrase phrase2 = new Phrase(memo, fontSmallRegular); PdfPCell pcell1 = new PdfPCell(phrase1); PdfPCell pcell2 = new PdfPCell(phrase2); pcell1.setBorder(0); pcell1.setPadding(10); pcell1.setPaddingRight(0); pcell2.setBorder(0); pcell2.setPadding(10); helpTable.addCell(pcell1); helpTable.addCell(pcell2); PdfPCell mainCell61 = new PdfPCell(helpTable); mainCell61.setBorder(0); mainTable.addCell(mainCell61); } else if (mode == StaticValues.AUTONUM_DEBITNOTE || mode == StaticValues.AUTONUM_CREDITNOTE || mode == StaticValues.AUTONUM_BILLINGCREDITNOTE || mode == StaticValues.AUTONUM_BILLINGDEBITNOTE) { addHeaderFooter(document, writer); CreditNote creNote = null; DebitNote dbNote = null; BillingCreditNote biCreNote = null; BillingDebitNote biDeNote = null; Company com = null; Account cEntry = null; String invno = ""; Date entryDate = null; Customer customerObj = null; Vendor vendorObj = null; double taxMain = 0; if (mode == StaticValues.AUTONUM_BILLINGCREDITNOTE) { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(BillingCreditNote.class.getName(), billid); biCreNote = (BillingCreditNote) cap.getEntityList().get(0); Set<JournalEntryDetail> entryset = biCreNote.getJournalEntry().getDetails(); customerObj = new Customer(); Iterator itr = entryset.iterator(); while (itr.hasNext()) { cEntry = ((JournalEntryDetail) itr.next()).getAccount(); // customer=(Customer)session.get(Customer.class,acc.getID()); customerObj = (Customer) kwlCommonTablesDAOObj.getClassObject(Customer.class.getName(), cEntry.getID()); if (customerObj != null) break; } com = biCreNote.getCompany(); invno = biCreNote.getCreditNoteNumber(); entryDate = biCreNote.getJournalEntry().getEntryDate(); } else if (mode == StaticValues.AUTONUM_BILLINGDEBITNOTE) { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(BillingDebitNote.class.getName(), billid); biDeNote = (BillingDebitNote) cap.getEntityList().get(0); // dbNote = (BillingDebitNote) kwlCommonTablesDAOObj.getClassObject(BillingDebitNote.class.getName(), billid); com = biDeNote.getCompany(); Set<JournalEntryDetail> entryset = biDeNote.getJournalEntry().getDetails(); vendorObj = new Vendor(); Iterator itr = entryset.iterator(); while (itr.hasNext()) { cEntry = ((JournalEntryDetail) itr.next()).getAccount(); // vendor=(Vendor)session.get(Vendor.class,acc.getID()); vendorObj = (Vendor) kwlCommonTablesDAOObj.getClassObject(Vendor.class.getName(), cEntry.getID()); if (vendorObj != null) break; } invno = biDeNote.getDebitNoteNumber(); entryDate = biDeNote.getJournalEntry().getEntryDate(); } if (mode == StaticValues.AUTONUM_CREDITNOTE) { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(CreditNote.class.getName(), billid); creNote = (CreditNote) cap.getEntityList().get(0); Set<JournalEntryDetail> entryset = creNote.getJournalEntry().getDetails(); customerObj = new Customer(); Iterator itr = entryset.iterator(); while (itr.hasNext()) { cEntry = ((JournalEntryDetail) itr.next()).getAccount(); // customer=(Customer)session.get(Customer.class,acc.getID()); customerObj = (Customer) kwlCommonTablesDAOObj.getClassObject(Customer.class.getName(), cEntry.getID()); if (customerObj != null) break; } com = creNote.getCompany(); invno = creNote.getCreditNoteNumber(); entryDate = creNote.getJournalEntry().getEntryDate(); //inv = (Invoice) session.get(Invoice.class, billid); } else if (mode == StaticValues.AUTONUM_DEBITNOTE) { KwlReturnObject cap = kwlCommonTablesDAOObj.getObject(DebitNote.class.getName(), billid); dbNote = (DebitNote) cap.getEntityList().get(0); // dbNote = (BillingDebitNote) kwlCommonTablesDAOObj.getClassObject(BillingDebitNote.class.getName(), billid); com = dbNote.getCompany(); Set<JournalEntryDetail> entryset = dbNote.getJournalEntry().getDetails(); vendorObj = new Vendor(); Iterator itr = entryset.iterator(); while (itr.hasNext()) { cEntry = ((JournalEntryDetail) itr.next()).getAccount(); // vendor=(Vendor)session.get(Vendor.class,acc.getID()); vendorObj = (Vendor) kwlCommonTablesDAOObj.getClassObject(Vendor.class.getName(), cEntry.getID()); if (vendorObj != null) break; } invno = dbNote.getDebitNoteNumber(); entryDate = dbNote.getJournalEntry().getEntryDate(); } // Company com = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getCompany() : inv1.getCompany(); String company[] = new String[4]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); company[3] = com.getPhoneNumber(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 50, 50 }); tab1 = addCompanyLogo(logoPath, com); tab2 = new PdfPTable(1); PdfPCell invCell = null; CompanyAccountPreferences pref = (CompanyAccountPreferences) kwlCommonTablesDAOObj .getClassObject(CompanyAccountPreferences.class.getName(), com.getCompanyID()); Account cash = pref.getCashAccount(); // // if (mode != StaticValues.AUTONUM_BILLINGINVOICE) { // cEntry = inv.getCustomerEntry().getAccount(); // } else { // cEntry = inv1.getCustomerEntry().getAccount(); // } String theader = ""; if (mode == StaticValues.AUTONUM_CREDITNOTE || mode == StaticValues.AUTONUM_BILLINGCREDITNOTE) { theader = messageSource.getMessage("acc.accPref.autoCN", null, RequestContextUtils.getLocale(request)); } else if (mode == StaticValues.AUTONUM_DEBITNOTE || mode == StaticValues.AUTONUM_BILLINGDEBITNOTE) { theader = messageSource.getMessage("acc.accPref.autoDN", null, RequestContextUtils.getLocale(request)); } invCell = createCell(theader, fontTbl, Element.ALIGN_RIGHT, 0, 5); tab2.addCell(invCell); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); PdfPCell cel2 = new PdfPCell(tab2); cel2.setBorder(0); table1.addCell(cel2); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); PdfPTable userTable2 = new PdfPTable(2); userTable2.setWidthPercentage(100); userTable2.setWidths(new float[] { 60, 40 }); tab3 = getCompanyInfo(company); PdfPTable tab4 = new PdfPTable(2); tab4.setWidthPercentage(100); tab4.setWidths(new float[] { 30, 70 }); PdfPCell cell2 = createCell(theader + " #", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); // String invno = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getInvoiceNumber() : inv1.getBillingInvoiceNumber(); cell2 = createCell(": " + invno, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell( messageSource.getMessage("acc.rem.198", null, RequestContextUtils.getLocale(request)) + " ", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell(": " + formatter.format(entryDate), fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell1 = new PdfPCell(tab3); cell1.setBorder(0); userTable2.addCell(cell1); cel2 = new PdfPCell(tab4); cel2.setBorder(0); userTable2.addCell(cel2); PdfPCell mainCell12 = new PdfPCell(userTable2); mainCell12.setBorder(0); mainCell12.setPadding(10); mainTable.addCell(mainCell12); PdfPTable tab5 = new PdfPTable(2); tab5.setWidthPercentage(100); tab5.setWidths(new float[] { 10, 90 }); PdfPCell cell3 = createCell( messageSource.getMessage("acc.common.to", null, RequestContextUtils.getLocale(request)) + " , ", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); String customerName = ""; String shipTo = ""; String memo = ""; Iterator itr = null; HashMap<String, Object> invRequestParams = new HashMap<String, Object>(); ArrayList filter_names = new ArrayList(), filter_params = new ArrayList(), order_by = new ArrayList(), order_type = new ArrayList(); order_by.add("srno"); order_type.add("asc"); invRequestParams.put("order_by", order_by); invRequestParams.put("order_type", order_type); KwlReturnObject idresult = null; if (mode == StaticValues.AUTONUM_BILLINGCREDITNOTE) { customerName = customerObj.getName();//inv.getCustomer()==null?inv.getCustomerEntry().getAccount().getName():inv.getCustomer().getName(); shipTo = customerObj.getBillingAddress();//inv.getShipTo(); filter_names.add("creditNote.ID"); filter_params.add(biCreNote.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accCreditNoteDAOobj.getBillingCreditNoteDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = biCreNote.getMemo(); } else if (mode == StaticValues.AUTONUM_BILLINGDEBITNOTE) { customerName = vendorObj.getName();//dbNote.getCustomer().getName(); shipTo = vendorObj.getAddress(); filter_names.add("debitNote.ID"); filter_params.add(biDeNote.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accDebitNoteobj.getBillingDebitNoteDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = biDeNote.getMemo(); } else if (mode == StaticValues.AUTONUM_CREDITNOTE) { customerName = customerObj.getName();//inv.getCustomer()==null?inv.getCustomerEntry().getAccount().getName():inv.getCustomer().getName(); shipTo = customerObj.getBillingAddress();//inv.getShipTo(); filter_names.add("creditNote.ID"); filter_params.add(creNote.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accCreditNoteDAOobj.getCreditNoteDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = creNote.getMemo(); } else if (mode == StaticValues.AUTONUM_DEBITNOTE) { customerName = vendorObj.getName();//dbNote.getCustomer().getName(); shipTo = vendorObj.getAddress(); filter_names.add("debitNote.ID"); filter_params.add(dbNote.getID()); invRequestParams.put("filter_names", filter_names); invRequestParams.put("filter_params", filter_params); idresult = accDebitNoteobj.getDebitNoteDetails(invRequestParams); itr = idresult.getEntityList().iterator(); memo = dbNote.getMemo(); } cell3 = createCell(customerName, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell(shipTo, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); PdfPCell mainCell14 = new PdfPCell(tab5); mainCell14.setBorder(0); mainCell14.setPadding(10); mainTable.addCell(mainCell14); String[] header = { messageSource.getMessage("acc.cnList.Sno", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.190", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.187", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.193", null, RequestContextUtils.getLocale(request)) }; PdfPTable table = new PdfPTable(4); table.setWidthPercentage(100); table.setWidths(new float[] { 7, 35, 29, 29 }); PdfPCell invcell = null; for (int i = 0; i < header.length; i++) { invcell = new PdfPCell(new Paragraph(header[i], fontSmallBold)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBackgroundColor(Color.LIGHT_GRAY); invCell.setBorder(0); invcell.setPadding(3); table.addCell(invcell); } // Iterator itr = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getRows().iterator() : inv1.getRows().iterator(); CreditNoteDetail row = null; DebitNoteDetail row1 = null; BillingCreditNoteDetail row2 = null; BillingDebitNoteDetail row3 = null; int index = 0; while (itr.hasNext()) { String prodName = ""; double quantity = 0; Discount discount = null; String uom = ""; double amount1 = 0; if (mode == StaticValues.AUTONUM_CREDITNOTE) { row = (CreditNoteDetail) itr.next(); prodName = row.getInvoiceRow().getInventory().getProduct().getName(); quantity = row.getQuantity(); discount = row.getDiscount(); taxMain = taxMain + row.getTaxAmount(); total = total + row.getTaxAmount(); try { uom = row.getInvoiceRow().getInventory().getProduct().getUnitOfMeasure() == null ? "" : row.getInvoiceRow().getInventory().getProduct().getUnitOfMeasure().getName(); } catch (Exception ex) {//In case of exception use uom=""; } } else if (mode == StaticValues.AUTONUM_DEBITNOTE) { row1 = (DebitNoteDetail) itr.next(); prodName = row1.getGoodsReceiptRow().getInventory().getProduct().getName(); quantity = row1.getQuantity(); discount = row1.getDiscount(); taxMain = taxMain + row1.getTaxAmount(); total = total + row1.getTaxAmount(); try { uom = row1.getGoodsReceiptRow().getInventory().getProduct().getUnitOfMeasure() == null ? "" : row1.getGoodsReceiptRow().getInventory().getProduct().getUnitOfMeasure() .getName(); } catch (Exception ex) {//In case of exception use uom=""; } } else if (mode == StaticValues.AUTONUM_BILLINGCREDITNOTE) { row2 = (BillingCreditNoteDetail) itr.next(); prodName = row2.getInvoiceRow().getProductDetail(); quantity = row2.getQuantity(); discount = row2.getDiscount(); taxMain = taxMain + row2.getTaxAmount(); total = total + row2.getTaxAmount(); } else if (mode == StaticValues.AUTONUM_BILLINGDEBITNOTE) { row3 = (BillingDebitNoteDetail) itr.next(); prodName = row3.getGoodsReceiptRow().getProductDetail(); quantity = row3.getQuantity(); discount = row3.getDiscount(); taxMain = taxMain + row3.getTaxAmount(); total = total + row3.getTaxAmount(); } invcell = createCell((++index) + ".", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(prodName, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell((int) quantity + " " + uom, fontSmallRegular, Element.ALIGN_CENTER, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = calculateDiscount(discount, currencyid); invcell.setHorizontalAlignment(Element.ALIGN_RIGHT); invcell.setPadding(5); invcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(invcell); total += discount.getDiscountValue(); // invcell = createCell(authHandlerDAOObj.getFormattedCurrency(amount1, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); // table.addCell(invcell); } // for (int j = 0; j < 70; j++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); // table.addCell(invcell); // } // for (int i = 0; i < 3; i++) { // invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); // invcell.setHorizontalAlignment(Element.ALIGN_CENTER); // invcell.setBorder(Rectangle.TOP); // table.addCell(invcell); // } for (int i = 0; i < 2; i++) { invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBorder(Rectangle.TOP); table.addCell(invcell); } cell3 = createCell( messageSource.getMessage("acc.rem.192", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_CENTER, Rectangle.TOP, 5); table.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(taxMain, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); for (int i = 0; i < 2; i++) { invcell = new PdfPCell(new Paragraph("", fontSmallRegular)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBorder(0); table.addCell(invcell); } cell3 = createCell( messageSource.getMessage("acc.rem.197", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_CENTER, 0, 5); table.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(total, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); PdfPCell mainCell5 = new PdfPCell(table); mainCell5.setBorder(0); mainCell5.setPadding(10); mainTable.addCell(mainCell5); PdfPTable helpTable = new PdfPTable(new float[] { 8, 92 }); helpTable.setWidthPercentage(100); Phrase phrase1 = new Phrase( messageSource.getMessage("acc.common.memo", null, RequestContextUtils.getLocale(request)) + " : ", fontSmallBold); Phrase phrase2 = new Phrase(memo, fontSmallRegular); PdfPCell pcell1 = new PdfPCell(phrase1); PdfPCell pcell2 = new PdfPCell(phrase2); pcell1.setBorder(0); pcell1.setPadding(10); pcell1.setPaddingRight(0); pcell2.setBorder(0); pcell2.setPadding(10); helpTable.addCell(pcell1); helpTable.addCell(pcell2); PdfPCell mainCell61 = new PdfPCell(helpTable); mainCell61.setBorder(0); mainTable.addCell(mainCell61); } else if (mode == StaticValues.AUTONUM_GOODSRECEIPT || mode == StaticValues.AUTONUM_BILLINGGOODSRECEIPT) { addHeaderFooter(document, writer); GoodsReceipt gr = null; BillingGoodsReceipt gr1 = null; if (mode == StaticValues.AUTONUM_GOODSRECEIPT) { gr = (GoodsReceipt) kwlCommonTablesDAOObj.getClassObject(GoodsReceipt.class.getName(), billid); } else { gr1 = (BillingGoodsReceipt) kwlCommonTablesDAOObj .getClassObject(BillingGoodsReceipt.class.getName(), billid); } Company com = mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getCompany() : gr1.getCompany(); String company[] = new String[4]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); company[3] = com.getPhoneNumber(); KWLCurrency rowCurrency = (mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getCurrency() : gr1.getCurrency()); String rowCurrenctID = rowCurrency == null ? currencyid : rowCurrency.getCurrencyID(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 50, 50 }); tab1 = addCompanyLogo(logoPath, com); tab2 = new PdfPTable(1); PdfPCell invCell = null; CompanyAccountPreferences pref = (CompanyAccountPreferences) kwlCommonTablesDAOObj .getClassObject(CompanyAccountPreferences.class.getName(), com.getCompanyID()); Account cash = pref.getCashAccount(); Account vEntry; if (mode == StaticValues.AUTONUM_GOODSRECEIPT) { vEntry = gr.getVendorEntry().getAccount(); } else { vEntry = gr1.getVendorEntry().getAccount(); } String theader = vEntry == cash ? messageSource.getMessage("acc.accPref.autoCP", null, RequestContextUtils.getLocale(request)) : messageSource.getMessage("acc.accPref.autoVI", null, RequestContextUtils.getLocale(request)); invCell = createCell(theader, fontTbl, Element.ALIGN_RIGHT, 0, 5); tab2.addCell(invCell); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); PdfPCell cel2 = new PdfPCell(tab2); cel2.setBorder(0); table1.addCell(cel2); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainTable.addCell(mainCell11); blankTable = addBlankLine(3); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); PdfPTable userTable2 = new PdfPTable(2); userTable2.setWidthPercentage(100); userTable2.setWidths(new float[] { 60, 40 }); tab3 = getCompanyInfo(company); PdfPTable tab4 = new PdfPTable(2); tab4.setWidthPercentage(100); tab4.setWidths(new float[] { 30, 70 }); PdfPCell cell2 = createCell(theader + " #", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); String grno = mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getGoodsReceiptNumber() : gr1.getBillingGoodsReceiptNumber(); cell2 = createCell(": " + grno, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell( messageSource.getMessage("acc.rem.198", null, RequestContextUtils.getLocale(request)) + " ", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell( ": " + formatter.format( mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getJournalEntry().getEntryDate() : gr1.getJournalEntry().getEntryDate()), fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell1 = new PdfPCell(tab3); cell1.setBorder(0); userTable2.addCell(cell1); cel2 = new PdfPCell(tab4); cel2.setBorder(0); userTable2.addCell(cel2); PdfPCell mainCell12 = new PdfPCell(userTable2); mainCell12.setBorder(0); mainTable.addCell(mainCell12); blankTable = addBlankLine(3); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); PdfPTable tab5 = new PdfPTable(2); tab5.setWidthPercentage(100); tab5.setWidths(new float[] { 10, 90 }); PdfPCell cell3 = createCell( messageSource.getMessage("acc.common.from", null, RequestContextUtils.getLocale(request)) + " , ", fontSmallBold, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); String vendorName = ""; if (mode == StaticValues.AUTONUM_GOODSRECEIPT) { vendorName = gr.getVendor() == null ? gr.getVendorEntry().getAccount().getName() : gr.getVendor().getName(); } else { vendorName = gr1.getVendor() == null ? gr1.getVendorEntry().getAccount().getName() : gr1.getVendor().getName(); } cell3 = createCell(vendorName, fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell(mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getBillFrom() : gr1.getBillFrom(), fontSmallRegular, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); PdfPCell mainCell14 = new PdfPCell(tab5); mainCell14.setBorder(0); mainTable.addCell(mainCell14); blankTable = addBlankLine(3); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); PdfPTable table; PdfPCell grcell = null; if (isExpenseInv) { String[] header = { "S.No.", "Account", "PRICE", "DISCOUNT", "TAX", "LINE TOTAL" }; table = new PdfPTable(6); table.setWidthPercentage(100); table.setWidths(new float[] { 7, 23, 18, 18, 18, 16 }); for (int i = 0; i < header.length; i++) { grcell = new PdfPCell(new Paragraph(header[i], fontSmallBold)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setBackgroundColor(Color.LIGHT_GRAY); grcell.setBorder(0); grcell.setPadding(3); table.addCell(grcell); } } else { String[] header = { messageSource.getMessage("acc.cnList.Sno", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.190", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.187", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.188", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.191", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.192", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("acc.rem.212", null, RequestContextUtils.getLocale(request)) }; table = new PdfPTable(7); table.setWidthPercentage(100); table.setWidths(new float[] { 5, 20, 15, 15, 15, 13, 17 }); for (int i = 0; i < header.length; i++) { grcell = new PdfPCell(new Paragraph(header[i], fontSmallBold)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setBackgroundColor(Color.LIGHT_GRAY); grcell.setBorder(0); grcell.setPadding(3); table.addCell(grcell); } } // Iterator itr =mode==StaticValues.AUTONUM_GOODSRECEIPT?gr.getRows().iterator():gr1.getRows().iterator(); HashMap<String, Object> grRequestParams = new HashMap<String, Object>(); ArrayList filter_names = new ArrayList(), filter_params = new ArrayList(), order_by = new ArrayList(), order_type = new ArrayList(); order_by.add("srno"); order_type.add("asc"); grRequestParams.put("order_by", order_by); grRequestParams.put("order_type", order_type); KwlReturnObject idresult = null; if (mode != StaticValues.AUTONUM_BILLINGINVOICE || mode != StaticValues.AUTONUM_BILLINGGOODSRECEIPT) { if (mode == StaticValues.AUTONUM_BILLINGGOODSRECEIPT) { filter_names.add("billingGoodsReceipt.ID"); filter_params.add(gr1.getID()); grRequestParams.put("filter_names", filter_names); grRequestParams.put("filter_params", filter_params); idresult = accGoodsReceiptobj.getBillingGoodsReceiptDetails(grRequestParams); } else { filter_names.add("goodsReceipt.ID"); filter_params.add(gr.getID()); grRequestParams.put("filter_names", filter_names); grRequestParams.put("filter_params", filter_params); if (isExpenseInv) { idresult = accGoodsReceiptobj.getExpenseGRDetails(grRequestParams); } else idresult = accGoodsReceiptobj.getGoodsReceiptDetails(grRequestParams); } } else { filter_names.add("billingGoodsReceipt.ID"); filter_params.add(gr.getID()); grRequestParams.put("filter_names", filter_names); grRequestParams.put("filter_params", filter_params); idresult = accGoodsReceiptobj.getBillingGoodsReceiptDetails(grRequestParams); } Iterator itr = idresult.getEntityList().iterator(); GoodsReceiptDetail row = null; BillingGoodsReceiptDetail row1 = null; ExpenseGRDetail exprow = null; int index = 0; while (itr.hasNext()) { if (mode == StaticValues.AUTONUM_GOODSRECEIPT) { if (isExpenseInv) exprow = (ExpenseGRDetail) itr.next(); else row = (GoodsReceiptDetail) itr.next(); } else { row1 = (BillingGoodsReceiptDetail) itr.next(); } if (isExpenseInv) { grcell = createCell((++index) + ".", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = createCell(exprow.getAccount().getName(), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = createCell(authHandlerDAOObj.getFormattedCurrency(exprow.getRate(), rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = calculateDiscount(exprow.getDiscount(), rowCurrenctID); grcell.setHorizontalAlignment(Element.ALIGN_RIGHT); grcell.setPadding(5); grcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(grcell); double amount1 = exprow.getRate(); Discount disc = exprow.getDiscount(); if (disc != null) { amount1 -= exprow.getDiscount().getDiscountValue(); } double rowTaxPercent = 0; HashMap<String, Object> requestParams = AccountingManager.getGlobalParams(request); if (exprow != null && exprow.getTax() != null) { requestParams.put("transactiondate", exprow.getGoodsReceipt().getJournalEntry().getEntryDate()); requestParams.put("taxid", exprow.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } grcell = createCell( authHandlerDAOObj.getFormattedCurrency(amount1 * rowTaxPercent / 100, rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); amount1 += amount1 * rowTaxPercent / 100; grcell = createCell(authHandlerDAOObj.getFormattedCurrency(amount1, rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); total += amount1; for (int j = 0; j < 84; j++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(grcell); } } else { grcell = createCell((++index) + ".", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = createCell( mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getInventory().getProduct().getName() : row1.getProductDetail(), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = createCell( Double.toString(mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getInventory().getQuantity() : row1.getQuantity()) + " " + (mode != StaticValues.AUTONUM_BILLINGGOODSRECEIPT ? (row.getInventory().getProduct().getUnitOfMeasure() == null ? "" : row.getInventory().getProduct().getUnitOfMeasure() .getName()) : ""), fontSmallRegular, Element.ALIGN_CENTER, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = createCell( authHandlerDAOObj.getFormattedCurrency( mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getRate() : row1.getRate(), rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); grcell = calculateDiscount( mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getDiscount() : row1.getDiscount(), rowCurrenctID); grcell.setHorizontalAlignment(Element.ALIGN_RIGHT); grcell.setPadding(5); grcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(grcell); double amount1 = mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getRate() * row.getInventory().getQuantity() : row1.getRate() * row1.getQuantity(); Discount disc = mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getDiscount() : row1.getDiscount(); if (disc != null) { amount1 -= mode == StaticValues.AUTONUM_GOODSRECEIPT ? row.getDiscount().getDiscountValue() : row1.getDiscount().getDiscountValue(); } double rowTaxPercent = 0; HashMap<String, Object> requestParams = AccountingManager.getGlobalParams(request); if (row != null && row.getTax() != null) { requestParams.put("transactiondate", row.getGoodsReceipt().getJournalEntry().getEntryDate()); requestParams.put("taxid", row.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } else if (row1 != null && row1.getTax() != null) { requestParams.put("transactiondate", row1.getBillingGoodsReceipt().getJournalEntry().getEntryDate()); requestParams.put("taxid", row1.getTax().getID()); KwlReturnObject result = accTaxObj.getTax(requestParams); List taxList = result.getEntityList(); Object[] taxObj = (Object[]) taxList.get(0); rowTaxPercent = taxObj[1] == null ? 0 : (Double) taxObj[1]; } grcell = createCell( authHandlerDAOObj.getFormattedCurrency(amount1 * rowTaxPercent / 100, rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); amount1 += amount1 * rowTaxPercent / 100; grcell = createCell(authHandlerDAOObj.getFormattedCurrency(amount1, rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(grcell); total += amount1; for (int j = 0; j < 98; j++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(grcell); } } } int length = isExpenseInv ? 4 : 5; for (int i = 0; i < length; i++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setBorder(Rectangle.TOP); table.addCell(grcell); } cell3 = createCell( messageSource.getMessage("acc.rem.194", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_LEFT, Rectangle.TOP, 5); table.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(total, rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); for (int i = 0; i < length; i++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setPadding(5); grcell.setBorder(0); table.addCell(grcell); } cell3 = createCell( messageSource.getMessage("acc.rem.195", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_LEFT, 0, 5); table.addCell(cell3); grcell = calculateDiscount( mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getDiscount() : gr1.getDiscount(), rowCurrenctID); grcell.setHorizontalAlignment(Element.ALIGN_RIGHT); grcell.setPadding(5); table.addCell(grcell); for (int i = 0; i < length; i++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setPadding(5); grcell.setBorder(0); table.addCell(grcell); } cell3 = createCell( messageSource.getMessage("acc.rem.196", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_LEFT, 0, 5); table.addCell(cell3); cell3 = createCell( authHandlerDAOObj.getFormattedCurrency( mode == StaticValues.AUTONUM_GOODSRECEIPT ? (gr.getTaxEntry() != null ? gr.getTaxEntry().getAmount() : 0) : (gr1.getTaxEntry() != null ? gr1.getTaxEntry().getAmount() : 0), rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); for (int i = 0; i < length; i++) { grcell = new PdfPCell(new Paragraph("", fontSmallRegular)); grcell.setHorizontalAlignment(Element.ALIGN_CENTER); grcell.setPadding(5); grcell.setBorder(0); table.addCell(grcell); } cell3 = createCell( messageSource.getMessage("acc.rem.197", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_LEFT, 0, 5); table.addCell(cell3); cell3 = createCell( authHandlerDAOObj.getFormattedCurrency( mode == StaticValues.AUTONUM_GOODSRECEIPT ? (gr.getVendorEntry().getAmount()) : (gr1.getVendorEntry().getAmount()), rowCurrenctID), fontSmallRegular, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); PdfPCell mainCell5 = new PdfPCell(table); mainCell5.setBorder(0); mainTable.addCell(mainCell5); KWLCurrency currency = (KWLCurrency) kwlCommonTablesDAOObj .getClassObject(KWLCurrency.class.getName(), currencyid); double totalamount = 0; if (gr != null) totalamount = gr.getVendorEntry().getAmount(); else if (gr1 != null) totalamount = gr1.getVendorEntry().getAmount(); String netinword = EnglishNumberToWordsOjb.convert(Double.parseDouble(String.valueOf(totalamount)), currency); String currencyname = currency.getName(); cell3 = createCell( messageSource.getMessage("acc.rem.177", null, RequestContextUtils.getLocale(request)) + " : " + currencyname + " " + netinword + " Only.", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); PdfPTable table2 = new PdfPTable(1); table2.addCell(cell3); PdfPCell mainCell62 = new PdfPCell(table2); mainCell62.setBorder(0); mainTable.addCell(mainCell62); PdfPTable helpTable = new PdfPTable(new float[] { 8, 92 }); helpTable.setWidthPercentage(100); Phrase phrase1 = new Phrase( messageSource.getMessage("acc.common.memo", null, RequestContextUtils.getLocale(request)) + ": ", fontSmallBold); Phrase phrase2 = new Phrase( mode == StaticValues.AUTONUM_GOODSRECEIPT ? gr.getMemo() : gr1.getMemo(), fontSmallRegular); PdfPCell pcell1 = new PdfPCell(phrase1); PdfPCell pcell2 = new PdfPCell(phrase2); pcell1.setBorder(0); pcell1.setPadding(10); pcell1.setPaddingRight(0); pcell2.setBorder(0); pcell2.setPadding(10); helpTable.addCell(pcell1); helpTable.addCell(pcell2); PdfPCell mainCell61 = new PdfPCell(helpTable); mainCell61.setBorder(0); mainTable.addCell(mainCell61); } else if (mode == StaticValues.AUTONUM_RECEIPT || mode == StaticValues.AUTONUM_BILLINGRECEIPT) { Receipt rc = null; BillingReceipt rc1 = null; if (mode != StaticValues.AUTONUM_BILLINGRECEIPT) { rc = (Receipt) kwlCommonTablesDAOObj.getClassObject(Receipt.class.getName(), billid); } else { rc1 = (BillingReceipt) kwlCommonTablesDAOObj.getClassObject(BillingReceipt.class.getName(), billid); } KWLCurrency currency = (KWLCurrency) kwlCommonTablesDAOObj .getClassObject(KWLCurrency.class.getName(), currencyid); Company com = mode != StaticValues.AUTONUM_BILLINGRECEIPT ? rc.getCompany() : rc1.getCompany(); String company[] = new String[3]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 25, 75 }); tab1 = addCompanyLogo(logoPath, com); tab3 = new PdfPTable(1); tab3.setWidthPercentage(100); PdfPCell mainCell1 = null; mainCell1 = createCell(com.getCompanyName(), fontMediumBold, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(125); tab3.addCell(mainCell1); mainCell1 = createCell(com.getAddress(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = createCell(com.getEmailID(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = createCell(com.getPhoneNumber(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = new PdfPCell(tab1); mainCell1.setBorder(0); table1.addCell(mainCell1); mainCell1 = new PdfPCell(tab3); mainCell1.setBorder(0); table1.addCell(mainCell1); mainCell1 = new PdfPCell(table1); mainCell1.setBorder(0); mainTable.addCell(mainCell1); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); PdfPCell mainCell2 = createCell( messageSource.getMessage("acc.numb.37", null, RequestContextUtils.getLocale(request)), fontMediumBold, Element.ALIGN_CENTER, 0, 0); mainTable.addCell(mainCell2); blankTable = addBlankLine(2); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab3 = new PdfPTable(2); tab3.setWidthPercentage(100); tab3.setWidths(new float[] { 60, 40 }); tab1 = new PdfPTable(2); tab1.setWidthPercentage(100); tab1.setWidths(new float[] { 10, 90 }); PdfPCell cell3 = createCell( messageSource.getMessage("acc.msgbox.no", null, RequestContextUtils.getLocale(request)) + " : ", fontSmallRegular, Element.ALIGN_LEFT, 0, 0); new PdfPCell(new Paragraph()); tab1.addCell(cell3); cell3 = createCell(mode != StaticValues.AUTONUM_BILLINGRECEIPT ? rc.getReceiptNumber() : rc1.getBillingReceiptNumber(), fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab1.addCell(cell3); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 30, 70 }); cell3 = createCell( messageSource.getMessage("acc.numb.38", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_RIGHT, 0, 0); tab2.addCell(cell3); cell3 = createCell( formatter.format( mode != StaticValues.AUTONUM_BILLINGRECEIPT ? rc.getJournalEntry().getEntryDate() : rc1.getJournalEntry().getEntryDate()), fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab2.addCell(cell3); PdfPCell mainCell3 = new PdfPCell(tab1); mainCell3.setBorder(0); tab3.addCell(mainCell3); mainCell3 = new PdfPCell(tab2); mainCell3.setBorder(0); tab3.addCell(mainCell3); PdfPCell mainCell4 = new PdfPCell(tab3); mainCell4.setBorder(0); mainTable.addCell(mainCell4); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 75, 25 }); cell3 = new PdfPCell(new Paragraph( messageSource.getMessage("acc.report.2", null, RequestContextUtils.getLocale(request)), fontSmallBold)); cell3.setHorizontalAlignment(Element.ALIGN_LEFT); cell3.setBackgroundColor(Color.lightGray); cell3.setBorder(Rectangle.LEFT + Rectangle.BOTTOM + Rectangle.RIGHT); tab2.addCell(cell3); cell3 = new PdfPCell(new Paragraph( messageSource.getMessage("acc.rem.193", null, RequestContextUtils.getLocale(request)), fontSmallBold)); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setBackgroundColor(Color.lightGray); cell3.setBorder(Rectangle.RIGHT + Rectangle.BOTTOM); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.je.acc", null, RequestContextUtils.getLocale(request)) + " : ", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell(accname, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 0); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(amount, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 15); tab2.addCell(cell3); cell3 = createCell(address, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 0); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 0); tab2.addCell(cell3); for (int i = 0; i < 30; i++) { cell3 = new PdfPCell(new Paragraph("", fontSmallRegular)); cell3.setBorder(Rectangle.LEFT + Rectangle.RIGHT); tab2.addCell(cell3); } cell3 = createCell( messageSource.getMessage("acc.numb.42", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( mode != StaticValues.AUTONUM_BILLINGRECEIPT ? (rc.getPayDetail() == null ? "Cash" : rc.getPayDetail().getPaymentMethod().getMethodName()) : (rc1.getPayDetail() == null ? "Cash" : rc1.getPayDetail().getPaymentMethod().getMethodName()), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( mode != StaticValues.AUTONUM_BILLINGRECEIPT ? (rc.getPayDetail() != null ? (rc.getPayDetail().getPaymentMethod().getMethodName().equals("Cheque") ? "Cheque No : " + rc.getPayDetail().getCheque().getChequeNo() + " and Bank Name : " + rc.getPayDetail().getCheque().getBankName() : "") : "") : (rc1.getPayDetail() != null ? (rc1.getPayDetail().getPaymentMethod().getMethodName().equals("Cheque") ? "Cheque No : " + rc1.getPayDetail().getCheque().getChequeNo() + " and Bank Name : " + rc1.getPayDetail().getCheque().getBankName() : "") : ""), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); String str = ""; if (mode != StaticValues.AUTONUM_BILLINGRECEIPT) { if (rc.getPayDetail() != null) if (rc.getPayDetail().getPaymentMethod().getDetailType() == 2 || rc.getPayDetail().getPaymentMethod().getDetailType() == 1) if (rc.getPayDetail().getCard() != null) str = "Card No : " + (rc.getPayDetail().getCard().getCardNo()) + " and Card Holder : " + rc.getPayDetail().getCard().getCardHolder(); else if (rc.getPayDetail().getCheque() != null) str = "Bank Name : " + (rc.getPayDetail().getCheque().getBankName()) + "and Ref. No : " + (rc.getPayDetail().getCheque().getChequeNo()); } else if (rc1.getPayDetail() != null) if (rc1.getPayDetail().getPaymentMethod().getDetailType() == 2 || rc1.getPayDetail().getPaymentMethod().getDetailType() == 1) if (rc1.getPayDetail().getCard() != null) str = "Card No : " + (rc1.getPayDetail().getCard().getCardNo()) + " and Card Holder : " + rc1.getPayDetail().getCard().getCardHolder(); else if (rc1.getPayDetail().getCheque() != null) str = "Bank Name : " + (rc1.getPayDetail().getCheque().getBankName()) + "and Ref. No : " + (rc1.getPayDetail().getCheque().getChequeNo()); // mode!=StaticValues.AUTONUM_BILLINGRECEIPT?(rc.getPayDetail()!=null?(rc.getPayDetail().getPaymentMethod().getMethodName().equals("Credit Card")||customer.equals("Debit Card")? // rc.getPayDetail().getCard()!=null?"Card No : "+(rc.getPayDetail().getCard().getCardNo()+" and Card Holder : "+rc.getPayDetail().getCard().getCardHolder()):"":""):""): // (rc1.getPayDetail()!=null?(rc1.getPayDetail().getPaymentMethod().getMethodName().equals("Credit Card")||customer.equals("Debit Card")? // rc1.getPayDetail().getCard()!=null?"Card No : "+(rc1.getPayDetail().getCard().getCardNo()+" and Card Holder : "+rc1.getPayDetail().getCard().getCardHolder()):"":""):"") cell3 = createCell(str, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.41", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell(mode != StaticValues.AUTONUM_BILLINGRECEIPT ? rc.getMemo() : rc1.getMemo(), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 5); tab2.addCell(cell3); String netinword = EnglishNumberToWordsOjb.convert(Double.parseDouble(String.valueOf(amount)), currency); String currencyname = currency.getName(); cell3 = createCell( messageSource.getMessage("acc.rem.177", null, RequestContextUtils.getLocale(request)) + " : " + currencyname + " " + netinword + " Only.", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); tab2.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(amount, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); tab2.addCell(cell3); PdfPCell mainCell5 = new PdfPCell(tab2); mainCell5.setBorder(1); mainTable.addCell(mainCell5); blankTable = addBlankLine(25); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab1 = new PdfPTable(2); tab1.setWidthPercentage(100); tab1.setWidths(new float[] { 50, 50 }); cell3 = createCell( messageSource.getMessage("acc.numb.35", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab1.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.36", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab1.addCell(cell3); PdfPCell mainCell6 = new PdfPCell(tab1); mainCell6.setPadding(5); mainCell6.setBorder(0); mainTable.addCell(mainCell6); blankTable = addBlankLine(15); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 50, 50 }); cell3 = createCell( messageSource.getMessage("acc.numb.39", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.40", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab2.addCell(cell3); PdfPCell mainCell7 = new PdfPCell(tab2); mainCell7.setPadding(5); mainCell7.setBorder(0); mainTable.addCell(mainCell7); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); } else if (mode == StaticValues.AUTONUM_PAYMENT || mode == StaticValues.AUTONUM_BILLINGPAYMENT) { Payment pc = null; BillingPayment pc1 = null; if (mode == StaticValues.AUTONUM_PAYMENT) { pc = (Payment) kwlCommonTablesDAOObj.getClassObject(Payment.class.getName(), billid); } else { pc1 = (BillingPayment) kwlCommonTablesDAOObj.getClassObject(BillingPayment.class.getName(), billid); } KWLCurrency currency = (KWLCurrency) kwlCommonTablesDAOObj .getClassObject(KWLCurrency.class.getName(), currencyid); Company com = mode == StaticValues.AUTONUM_PAYMENT ? pc.getCompany() : pc1.getCompany(); String company[] = new String[3]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 25, 75 }); tab1 = addCompanyLogo(logoPath, com); tab3 = new PdfPTable(1); tab3.setWidthPercentage(100); PdfPCell mainCell1 = null; mainCell1 = createCell(com.getCompanyName(), fontMediumBold, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(125); tab3.addCell(mainCell1); mainCell1 = createCell(com.getAddress(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = createCell(com.getEmailID(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = createCell(com.getPhoneNumber(), fontSmallRegular, Element.ALIGN_LEFT, 0, 0); mainCell1.setPaddingLeft(75); tab3.addCell(mainCell1); mainCell1 = new PdfPCell(tab1); mainCell1.setBorder(0); table1.addCell(mainCell1); mainCell1 = new PdfPCell(tab3); mainCell1.setBorder(0); table1.addCell(mainCell1); mainCell1 = new PdfPCell(table1); mainCell1.setBorder(0); mainTable.addCell(mainCell1); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); PdfPCell mainCell2 = createCell( messageSource.getMessage("acc.numb.37", null, RequestContextUtils.getLocale(request)), fontMediumBold, Element.ALIGN_CENTER, 0, 0); mainTable.addCell(mainCell2); blankTable = addBlankLine(2); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab3 = new PdfPTable(2); tab3.setWidthPercentage(100); tab3.setWidths(new float[] { 60, 40 }); tab1 = new PdfPTable(2); tab1.setWidthPercentage(100); tab1.setWidths(new float[] { 10, 90 }); PdfPCell cell3 = createCell( messageSource.getMessage("acc.msgbox.no", null, RequestContextUtils.getLocale(request)) + " : ", fontSmallRegular, Element.ALIGN_LEFT, 0, 0); new PdfPCell(new Paragraph()); tab1.addCell(cell3); cell3 = createCell(mode == StaticValues.AUTONUM_PAYMENT ? pc.getPaymentNumber() : pc1.getBillingPaymentNumber(), fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab1.addCell(cell3); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 30, 70 }); cell3 = createCell( messageSource.getMessage("acc.numb.38", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_RIGHT, 0, 0); tab2.addCell(cell3); cell3 = createCell( formatter.format(mode == StaticValues.AUTONUM_PAYMENT ? pc.getJournalEntry().getEntryDate() : pc1.getJournalEntry().getEntryDate()), fontSmallBold, Element.ALIGN_LEFT, 0, 0); tab2.addCell(cell3); PdfPCell mainCell3 = new PdfPCell(tab1); mainCell3.setBorder(0); tab3.addCell(mainCell3); mainCell3 = new PdfPCell(tab2); mainCell3.setBorder(0); tab3.addCell(mainCell3); PdfPCell mainCell4 = new PdfPCell(tab3); mainCell4.setBorder(0); mainTable.addCell(mainCell4); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 75, 25 }); cell3 = new PdfPCell(new Paragraph( messageSource.getMessage("acc.report.2", null, RequestContextUtils.getLocale(request)), fontSmallBold)); cell3.setHorizontalAlignment(Element.ALIGN_LEFT); cell3.setBackgroundColor(Color.lightGray); cell3.setBorder(Rectangle.LEFT + Rectangle.BOTTOM + Rectangle.RIGHT); tab2.addCell(cell3); cell3 = new PdfPCell(new Paragraph( messageSource.getMessage("acc.rem.193", null, RequestContextUtils.getLocale(request)), fontSmallBold)); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setBackgroundColor(Color.lightGray); cell3.setBorder(Rectangle.RIGHT + Rectangle.BOTTOM); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.rem.193", null, RequestContextUtils.getLocale(request)) + " : ", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallBold, Element.ALIGN_LEFT, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell(accname, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 0); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(amount, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell(address, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 0); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 0); tab2.addCell(cell3); for (int i = 0; i < 30; i++) { cell3 = new PdfPCell(new Paragraph("", fontSmallRegular)); cell3.setBorder(Rectangle.LEFT + Rectangle.RIGHT); tab2.addCell(cell3); } cell3 = createCell( messageSource.getMessage("acc.numb.42", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( mode == StaticValues.AUTONUM_PAYMENT ? (pc.getPayDetail() == null ? "Cash" : pc.getPayDetail().getPaymentMethod().getMethodName()) : (pc1.getPayDetail() == null ? "Cash" : pc1.getPayDetail().getPaymentMethod().getMethodName()), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( mode == StaticValues.AUTONUM_PAYMENT ? (pc.getPayDetail() != null ? (pc.getPayDetail().getPaymentMethod().getMethodName().equals("Cheque") ? "Cheque No : " + pc.getPayDetail().getCheque().getChequeNo() + " and Bank Name : " + pc.getPayDetail().getCheque().getBankName() : "") : "") : (pc1.getPayDetail() != null ? (pc1.getPayDetail().getPaymentMethod().getMethodName().equals("Cheque") ? "Cheque No : " + pc1.getPayDetail().getCheque().getChequeNo() + " and Bank Name : " + pc1.getPayDetail().getCheque().getBankName() : "") : ""), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); String str = ""; if (mode == StaticValues.AUTONUM_PAYMENT) { if (pc.getPayDetail() != null) if (pc.getPayDetail().getPaymentMethod().getDetailType() == 2 || pc.getPayDetail().getPaymentMethod().getDetailType() == 1) if (pc.getPayDetail().getCard() != null) str = "Card No : " + (pc.getPayDetail().getCard().getCardNo()) + " and Card Holder : " + pc.getPayDetail().getCard().getCardHolder(); else if (pc.getPayDetail().getCheque() != null) str = "Bank Name : " + (pc.getPayDetail().getCheque().getBankName()) + "and Ref. No : " + (pc.getPayDetail().getCheque().getChequeNo()); } else if (pc1.getPayDetail() != null) if (pc1.getPayDetail().getPaymentMethod().getDetailType() == 2 || pc1.getPayDetail().getPaymentMethod().getDetailType() == 1) if (pc1.getPayDetail().getCard() != null) str = "Card No : " + (pc1.getPayDetail().getCard().getCardNo()) + " and Card Holder : " + pc1.getPayDetail().getCard().getCardHolder(); else if (pc1.getPayDetail().getCheque() != null) str = "Bank Name : " + (pc1.getPayDetail().getCheque().getBankName()) + "and Ref. No : " + (pc1.getPayDetail().getCheque().getChequeNo()); cell3 = createCell(str, fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 0); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.41", null, RequestContextUtils.getLocale(request)), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.RIGHT, 5); tab2.addCell(cell3); cell3 = createCell(mode == StaticValues.AUTONUM_PAYMENT ? pc.getMemo() : pc1.getMemo(), fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); cell3.setPaddingLeft(50); tab2.addCell(cell3); cell3 = createCell("", fontSmallRegular, Element.ALIGN_CENTER, Rectangle.RIGHT, 5); tab2.addCell(cell3); String netinword = EnglishNumberToWordsOjb.convert(Double.parseDouble(String.valueOf(amount)), currency); String currencyname = currency.getName(); cell3 = createCell( messageSource.getMessage("acc.rem.177", null, RequestContextUtils.getLocale(request)) + " " + currencyname + " " + netinword + " Only.", fontSmallRegular, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); tab2.addCell(cell3); cell3 = createCell(authHandlerDAOObj.getFormattedCurrency(amount, currencyid), fontSmallRegular, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); tab2.addCell(cell3); PdfPCell mainCell5 = new PdfPCell(tab2); mainCell5.setBorder(1); mainTable.addCell(mainCell5); blankTable = addBlankLine(25); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab1 = new PdfPTable(2); tab1.setWidthPercentage(100); tab1.setWidths(new float[] { 50, 50 }); cell3 = createCell( messageSource.getMessage("acc.numb.35", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab1.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.36", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab1.addCell(cell3); PdfPCell mainCell6 = new PdfPCell(tab1); mainCell6.setPadding(5); mainCell6.setBorder(0); mainTable.addCell(mainCell6); blankTable = addBlankLine(15); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); tab2 = new PdfPTable(2); tab2.setWidthPercentage(100); tab2.setWidths(new float[] { 50, 50 }); cell3 = createCell( messageSource.getMessage("acc.numb.39", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab2.addCell(cell3); cell3 = createCell( messageSource.getMessage("acc.numb.40", null, RequestContextUtils.getLocale(request)), fontTblMediumBold, Element.ALIGN_CENTER, 0, 0); tab2.addCell(cell3); PdfPCell mainCell7 = new PdfPCell(tab2); mainCell7.setPadding(5); mainCell7.setBorder(0); mainTable.addCell(mainCell7); blankTable = addBlankLine(5); blankCell = new PdfPCell(blankTable); blankCell.setBorder(0); mainTable.addCell(blankCell); } document.add(mainTable); return baos; } catch (Exception ex) { throw ServiceException.FAILURE("Export:" + ex.getMessage(), ex); } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } if (baos != null) { baos.close(); } } }
From source file:com.krawler.spring.exportFuctionality.ExportRecord.java
License:Open Source License
public ByteArrayOutputStream exportCashFlow(JSONObject jobj, String logoPath, String comName, HttpServletRequest request) throws DocumentException, ServiceException, IOException { ByteArrayOutputStream baos = null; double total = 0; Document document = null; PdfWriter writer = null;/*from ww w . ja v a 2 s .co m*/ try { baos = new ByteArrayOutputStream(); document = new Document(PageSize.A4, 15, 15, 15, 15); writer = PdfWriter.getInstance(document, baos); document.open(); PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); PdfPTable tab1 = null; Rectangle page = document.getPageSize(); int bmargin = 15; //border margin PdfContentByte cb = writer.getDirectContent(); cb.rectangle(bmargin, bmargin, page.getWidth() - bmargin * 2, page.getHeight() - bmargin * 2); cb.setColorStroke(Color.WHITE); cb.stroke(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 30, 20 }); PdfPCell blankCell = new PdfPCell(); blankCell.setBorder(0); tab1 = addCompanyLogo(logoPath, comName); PdfPCell cell1 = new PdfPCell(tab1); cell1.setBorder(0); table1.addCell(cell1); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); PdfPCell cell2 = new PdfPCell(new Paragraph(comName, fontSmallRegular)); cell2.setBorder(0); table1.addCell(cell2); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); PdfPCell headerCell = createCell(messageSource.getMessage("acc.dashboard.cashFlowStatement", null, RequestContextUtils.getLocale(request)), fontMediumBold, Element.ALIGN_LEFT, 0, 5); headerCell.setBorder(0); table1.addCell(headerCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); table1.addCell(blankCell); JSONArray ObjArr = jobj.getJSONArray("data"); PdfPCell HeaderCell1 = createCell( messageSource.getMessage("acc.report.2", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_LEFT, 0, 5); HeaderCell1.setBorderWidthLeft(1); HeaderCell1.setBorderWidthBottom(1); HeaderCell1.setBorderWidthTop(1); HeaderCell1.setBorderWidthRight(1); PdfPCell HeaderCell2 = createCell( messageSource.getMessage("acc.ra.value", null, RequestContextUtils.getLocale(request)), fontSmallBold, Element.ALIGN_RIGHT, 0, 5); HeaderCell2.setBorderWidthBottom(1); HeaderCell2.setBorderWidthTop(1); HeaderCell2.setBorderWidthRight(1); table1.addCell(HeaderCell1); table1.addCell(HeaderCell2); PdfPCell objCell1 = null; PdfPCell objCell2 = null; int objArrLength = ObjArr.length(); for (int i = 0; i < objArrLength; i++) { JSONObject leftObj = ObjArr.getJSONObject(i); if (leftObj.has("lfmt") && leftObj.getString("lfmt").equals("title")) objCell1 = createBalanceSheetCell(leftObj.getString("lname"), fontSmallBold, Element.ALIGN_CENTER, 0, 5, 0); else objCell1 = createBalanceSheetCell(leftObj.getString("lname"), fontSmallRegular, Element.ALIGN_LEFT, 0, 5, 0); objCell2 = createBalanceSheetCell(leftObj.getString("lvalue"), fontSmallRegular, Element.ALIGN_RIGHT, 0, 0, 0); objCell1.setBorderWidthLeft(1); objCell2.setBorderWidthRight(1); objCell1.setBorderWidthRight(1); objCell1.setBorderWidthBottom(1); objCell2.setBorderWidthBottom(1); if (i != (objArrLength - 1)) { table1.addCell(objCell1); table1.addCell(objCell2); } } objCell1.setBorderWidthBottom(1); objCell2.setBorderWidthBottom(1); table1.addCell(objCell1); table1.addCell(objCell2); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); document.add(mainTable); } catch (Exception ex) { return null; } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } if (baos != null) { baos.close(); } } return baos; }
From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
public ByteArrayOutputStream getInvoicePdfData(HttpServletRequest request, JSONObject obj, Map<String, Object> DataInfo, Company com, DateFormat formatter, String currencyid, JSONArray productDetails, int mode, String letterHead, String preText, String postText) throws ServiceException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = null;/*from w w w . j av a 2s .co m*/ Document document = null; try { config = new com.krawler.utils.json.base.JSONObject(DataInfo.get("config").toString()); String baseUrl = URLUtil.getRequestPageURL(request, UnprotectedLoginPageFull); Rectangle rec = null; if (config.getBoolean("landscape")) { Rectangle recPage = new Rectangle(PageSize.A4.rotate()); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); } else { Rectangle recPage = new Rectangle(PageSize.A4); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); } writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage()); document.open(); if (config.getBoolean("showLogo")) { addComponyLogo(document, request); } if (!StringUtil.isNullOrEmpty(letterHead)) { PdfPTable letterHeadTable = new PdfPTable(1); getHtmlCell(letterHead, letterHeadTable, baseUrl); letterHeadTable.setHorizontalAlignment(Element.ALIGN_LEFT); document.add(letterHeadTable); } addTitleSubtitle(document); createInvoicePdf(document, mode, DataInfo, com, formatter, currencyid, productDetails, preText, postText, baseUrl); } catch (DocumentException ex) { errorMsg = ex.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getInvoicePdfData", ex); } catch (JSONException e) { errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getInvoicePdfData", e); } catch (Exception e) { e.printStackTrace(); errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getInvoicePdfData", e); } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } } return baos; }
From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
public ByteArrayOutputStream getPdfData(JSONArray gridmap, HttpServletRequest request, JSONObject obj) throws ServiceException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = null;/*w w w . ja va2s . c om*/ Document document = null; try { String colHeader = ""; String colHeaderFinal = ""; String fieldListFinal = ""; String fieldList = ""; String width = ""; String align = ""; String xtype = ""; String alignFinal = ""; String xtypeFinal = ""; String widthFinal = ""; String colHeaderArrStr[] = null; String dataIndexArrStr[] = null; String widthArrStr[] = null; String alignArrStr[] = null; String xtypeArrStr[] = null; String htmlCode = ""; String advStr = ""; int strLength = 0; float totalWidth = 0; config = new com.krawler.utils.json.base.JSONObject(request.getParameter("config")); if (request.getParameter("searchJson") != null && !request.getParameter("searchJson").equals("")) { JSONObject json = new JSONObject(request.getParameter("searchJson")); JSONArray advSearch = json.getJSONArray("root"); for (int i = 0; i < advSearch.length(); i++) { JSONObject key = advSearch.getJSONObject(i); String value = ""; String name = key.getString("columnheader"); name = URLDecoder.decode(name); name.trim(); if (name.contains("*")) { name = name.substring(0, name.indexOf("*") - 1); } if (name.contains("(") && name.charAt(name.indexOf("(") + 1) == '&') { htmlCode = name.substring(name.indexOf("(") + 3, name.length() - 2); char temp = (char) Integer.parseInt(htmlCode, 10); htmlCode = Character.toString(temp); if (htmlCode.equals("$")) { String currencyid = sessionHandlerImpl.getCurrencyID(request); String currency = currencyRender(key.getString("combosearch"), currencyid); name = name.substring(0, name.indexOf("(") - 1); name = name + "(" + htmlCode + ")"; value = currency; } else { name = name.substring(0, name.indexOf("(") - 1); value = name + " " + htmlCode; } } else { value = key.getString("combosearch"); } advStr += name + " : " + value + ","; } advStr = advStr.substring(0, advStr.length() - 1); config.remove("subtitles"); config.put("subtitles", "Filtered By: " + advStr); } if (request.getParameter("frm") != null && !request.getParameter("frm").equals("")) { KWLDateFormat dateFormat = (KWLDateFormat) hibernateTemplate.load(KWLDateFormat.class, sessionHandlerImplObj.getDateFormatID(request)); String prefDate = dateFormat.getJavaForm(); Date from = new Date(Long.parseLong(request.getParameter("frm"))); Date to = new Date(Long.parseLong(request.getParameter("to"))); config.remove("subtitles"); String timeFormatId = sessionHandlerImplObj.getUserTimeFormat(request); String timeZoneDiff = sessionHandlerImplObj.getTimeZoneDifference(request); config.put("subtitles", "Filtered By: From : " + authHandler.getPrefDateFormatter(timeFormatId, timeZoneDiff, prefDate).format(from) + " To : " + authHandler.getPrefDateFormatter(timeFormatId, timeZoneDiff, prefDate).format(to)); } Rectangle rec = null; if (config.getBoolean("landscape")) { Rectangle recPage = new Rectangle(PageSize.A4.rotate()); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } else { Rectangle recPage = new Rectangle(PageSize.A4); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage()); document.open(); if (config.getBoolean("showLogo")) { addComponyLogo(document, request); } addTitleSubtitle(document); if (gridmap != null) { for (int i = 0; i < gridmap.length(); i++) { JSONObject temp = gridmap.getJSONObject(i); colHeader += URLDecoder.decode(temp.getString("title"), "utf-8"); if (colHeader.indexOf("*") != -1) { colHeader = colHeader.substring(0, colHeader.indexOf("*") - 1) + ","; } else { colHeader += ","; } fieldList += temp.getString("header").replace("$$", "#") + ",";// handled case for custom report. Because dataindex field have "#" symbol and while exporting data URL will break if having # symbol. So replaced # with $$ at JS side and reverted this change at Java side if (!config.getBoolean("landscape")) { int totalWidth1 = (int) ((totalWidth / gridmap.length()) - 5.00); width += "" + totalWidth1 + ","; //resize according to page view[potrait] } else { width += temp.getString("width") + ","; } if (temp.optString("align").equals("")) { align += "none" + ","; } else { align += temp.getString("align") + ","; } if (temp.optString("xtype").equals("")) { xtype += "none" + ","; } else { xtype += temp.getString("xtype") + ","; } } strLength = colHeader.length() - 1; colHeaderFinal = colHeader.substring(0, strLength); strLength = fieldList.length() - 1; fieldListFinal = fieldList.substring(0, strLength); strLength = width.length() - 1; widthFinal = width.substring(0, strLength); strLength = align.length() - 1; alignFinal = align.substring(0, strLength); strLength = xtype.length() - 1; xtypeFinal = xtype.substring(0, strLength); colHeaderArrStr = colHeaderFinal.split(","); dataIndexArrStr = fieldListFinal.split(","); widthArrStr = widthFinal.split(","); alignArrStr = alignFinal.split(","); xtypeArrStr = xtypeFinal.split(","); } else { fieldList = request.getParameter("header"); colHeader = URLDecoder.decode(request.getParameter("title")); width = request.getParameter("width"); align = request.getParameter("align"); xtype = request.getParameter("xtype"); colHeaderArrStr = colHeader.split(","); dataIndexArrStr = fieldList.split(","); widthArrStr = width.split(","); alignArrStr = align.split(","); xtypeArrStr = xtype.split(","); } JSONArray store = null; if (obj.isNull("coldata")) { store = obj.getJSONArray("data"); } else { store = obj.getJSONArray("coldata"); } addTable(0, colHeaderArrStr.length, 0, store.length(), store, dataIndexArrStr, colHeaderArrStr, widthArrStr, alignArrStr, xtypeArrStr, document); } catch (DocumentException ex) { errorMsg = ex.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", ex); } catch (JSONException e) { errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", e); } catch (Exception e) { errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", e); } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } } return baos; }
From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
public ByteArrayOutputStream getPdfData(JSONArray gridmap, String configStr, String titleStr, String headerStr, String widthStr, String alignStr, String xtypeStr, JSONObject obj) throws ServiceException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = null;/*from www. j a v a 2 s. com*/ Document document = null; try { String colHeader = ""; String colHeaderFinal = ""; String fieldListFinal = ""; String fieldList = ""; String width = ""; String align = ""; String xtype = ""; String alignFinal = ""; String xtypeFinal = ""; String widthFinal = ""; String colHeaderArrStr[] = null; String dataIndexArrStr[] = null; String widthArrStr[] = null; String alignArrStr[] = null; String xtypeArrStr[] = null; String htmlCode = ""; String advStr = ""; int strLength = 0; float totalWidth = 0; config = new com.krawler.utils.json.base.JSONObject(configStr); Rectangle rec = null; if (config.getBoolean("landscape")) { Rectangle recPage = new Rectangle(PageSize.A4.rotate()); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } else { Rectangle recPage = new Rectangle(PageSize.A4); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage()); document.open(); // if (config.getBoolean("showLogo")) { // addComponyLogo(document, request); // } addTitleSubtitle(document); if (gridmap != null) { for (int i = 0; i < gridmap.length(); i++) { JSONObject temp = gridmap.getJSONObject(i); colHeader += URLDecoder.decode(temp.getString("title"), "utf-8"); if (colHeader.indexOf("*") != -1) { colHeader = colHeader.substring(0, colHeader.indexOf("*") - 1) + ","; } else { colHeader += ","; } fieldList += temp.getString("header") + ","; if (!config.getBoolean("landscape")) { int totalWidth1 = (int) ((totalWidth / gridmap.length()) - 5.00); width += "" + totalWidth1 + ","; //resize according to page view[potrait] } else { width += temp.getString("width") + ","; } if (temp.getString("align").equals("")) { align += "none" + ","; } else { align += temp.getString("align") + ","; } if (temp.getString("xtype").equals("")) { xtype += "none" + ","; } else { xtype += temp.getString("xtype") + ","; } } strLength = colHeader.length() - 1; colHeaderFinal = colHeader.substring(0, strLength); strLength = fieldList.length() - 1; fieldListFinal = fieldList.substring(0, strLength); strLength = width.length() - 1; widthFinal = width.substring(0, strLength); strLength = align.length() - 1; alignFinal = align.substring(0, strLength); xtypeFinal = xtype.substring(0, strLength); colHeaderArrStr = colHeaderFinal.split(","); dataIndexArrStr = fieldListFinal.split(","); widthArrStr = widthFinal.split(","); alignArrStr = alignFinal.split(","); xtypeArrStr = xtypeFinal.split(","); } else { fieldList = headerStr; colHeader = URLDecoder.decode(titleStr); width = widthStr; align = alignStr; xtype = xtypeStr; colHeaderArrStr = colHeader.split(","); dataIndexArrStr = fieldList.split(","); widthArrStr = width.split(","); alignArrStr = align.split(","); xtypeArrStr = xtype.split(","); } JSONArray store = null; if (obj.isNull("coldata")) { store = obj.getJSONArray("data"); } else { store = obj.getJSONArray("coldata"); } addTable(0, colHeaderArrStr.length, 0, store.length(), store, dataIndexArrStr, colHeaderArrStr, widthArrStr, alignArrStr, xtypeArrStr, document); } catch (DocumentException ex) { errorMsg = ex.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", ex); } catch (JSONException e) { errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", e); } catch (Exception e) { errorMsg = e.getMessage(); throw ServiceException.FAILURE("exportDAOImpl.getPdfData", e); } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } } return baos; }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public ByteArrayOutputStream getPdfData(JSONObject grid, HttpServletRequest request, JSONObject obj) throws ServiceException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = null;/*from w ww .j a v a 2s. c o m*/ Document document = null; try { JSONArray gridmap = grid == null ? null : grid.getJSONArray("data"); String colHeader = ""; String colHeaderFinal = ""; String fieldListFinal = ""; String fieldList = ""; String width = ""; String align = ""; String alignFinal = ""; String widthFinal = ""; String colHeaderArrStr[] = null; String dataIndexArrStr[] = null; String widthArrStr[] = null; String alignArrStr[] = null; int strLength = 0; float totalWidth = 0; config = new com.krawler.utils.json.base.JSONObject(request.getParameter("config")); document = null; Rectangle rec = null; if (config.getBoolean("landscape")) { Rectangle recPage = new Rectangle(PageSize.A4.rotate()); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } else { Rectangle recPage = new Rectangle(PageSize.A4); recPage.setBackgroundColor(new java.awt.Color(Integer.parseInt(config.getString("bgColor"), 16))); document = new Document(recPage, 15, 15, 30, 30); rec = document.getPageSize(); totalWidth = rec.getWidth(); } writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage()); document.open(); if (config.getBoolean("showLogo")) { addComponyLogo(document, request); } addTitleSubtitle(document); if (gridmap != null) { int givenTotalWidth = 0; for (int i = 0; i < gridmap.length(); i++) { JSONObject temp = gridmap.getJSONObject(i); givenTotalWidth += Integer.parseInt(temp.getString("width")); } double widthRatio = 1; if (givenTotalWidth > (totalWidth - 40.00)) { widthRatio = (totalWidth - 40.00) / givenTotalWidth; // 40.00 is left + right + table margin [15+15+10] margins of documents } for (int i = 0; i < gridmap.length(); i++) { JSONObject temp = gridmap.getJSONObject(i); colHeader += StringUtil.serverHTMLStripper(temp.getString("title")); if (colHeader.indexOf("*") != -1) { colHeader = colHeader.substring(0, colHeader.indexOf("*") - 1) + ","; } else { colHeader += ","; } fieldList += temp.getString("header") + ","; if (!config.getBoolean("landscape")) { int totalWidth1 = (int) ((totalWidth / gridmap.length()) - 5.00); width += "" + totalWidth1 + ","; //resize according to page view[potrait] } else { double adjustedWidth = (Integer.parseInt(temp.getString("width")) * widthRatio); width += ((int) Math.floor(adjustedWidth)) + ","; } if (temp.getString("align").equals("")) { align += "none" + ","; } else { align += temp.getString("align") + ","; } } strLength = colHeader.length() - 1; colHeaderFinal = colHeader.substring(0, strLength); strLength = fieldList.length() - 1; fieldListFinal = fieldList.substring(0, strLength); strLength = width.length() - 1; widthFinal = width.substring(0, strLength); strLength = align.length() - 1; alignFinal = align.substring(0, strLength); colHeaderArrStr = colHeaderFinal.split(","); dataIndexArrStr = fieldListFinal.split(","); widthArrStr = widthFinal.split(","); alignArrStr = alignFinal.split(","); } else { fieldList = request.getParameter("header"); colHeader = request.getParameter("title"); width = request.getParameter("width"); align = request.getParameter("align"); colHeaderArrStr = colHeader.split(","); dataIndexArrStr = fieldList.split(","); widthArrStr = width.split(","); alignArrStr = align.split(","); } JSONArray store = obj.getJSONArray("data"); if (grid != null && grid.has("groupdata")) { JSONObject groupingConfig = grid.getJSONObject("groupdata"); addGroupableTable(groupingConfig, 0, colHeaderArrStr.length, 0, store.length(), store, dataIndexArrStr, colHeaderArrStr, widthArrStr, alignArrStr, document, request); } else { addTable(0, colHeaderArrStr.length, 0, store.length(), store, dataIndexArrStr, colHeaderArrStr, widthArrStr, alignArrStr, document, request); } } catch (Exception e) { throw ServiceException.FAILURE("exportMPXDAOImpl.getPdfData", e); } finally { if (document != null) { document.close(); } if (writer != null) { writer.close(); } } return baos; }
From source file:com.krawler.spring.hrms.exportreport.exportAppraisalReportPDFDAOImpl.java
License:Open Source License
private ByteArrayOutputStream AppraisalDetail(HttpServletRequest request, Session session, boolean isEmm, String str, String goalstr, String quesansstr) throws JSONException, SessionExpiredException, DocumentException, ServiceException, IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); String[] colHeader = {/*w w w .j a va 2 s. com*/ messageSource.getMessage("hrms.common.employee.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.cycle.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.start.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.end.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.total.appraisals", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.common.Updates.NoofAppraisalsSubmitted", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.self.comments", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.appraiser.comments", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.competency.score", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.competencies", null, RequestContextUtils.getLocale(request)) }; String[] colHeader1 = { messageSource.getMessage("hrms.common.employee.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.cycle.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.start.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.end.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.total.appraisals", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.common.Updates.NoofAppraisalsSubmitted", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.appraiser.comments", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.competency.score", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.competencies", null, RequestContextUtils.getLocale(request)) }; String[] colHeader2 = { messageSource.getMessage("hrms.common.employee.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.cycle.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.start.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraisal.end.date", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.total.appraisals", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.common.Updates.NoofAppraisalsSubmitted", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.overall.competency.score", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.competencies", null, RequestContextUtils.getLocale(request)) }; String[] dataIndex = { "empname", "appcylename", "appcylestdate", "appcylendate", "totalappraisal", "appraisalsubmitted", "empcomment", "mancom", "manavgwght", "" }; String[] dataIndex1 = { "empname", "appcylename", "appcylestdate", "appcylendate", "totalappraisal", "appraisalsubmitted", "mancom", "manavgwght", "" }; String[] dataIndex2 = { "empname", "appcylename", "appcylestdate", "appcylendate", "totalappraisal", "appraisalsubmitted", "manavgwght", "" }; String[] compHeader = { messageSource.getMessage("hrms.common.name", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.description", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.self.appraisal.score", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.self.appraisal.comment", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.competency.score", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.comments", null, RequestContextUtils.getLocale(request)) }; String[] compDataIndex = { "comptename", "comptdesc", "selfcompscore", "selfcomment", "compmanwght" }; String[] compGoalHeader = { messageSource.getMessage("hrms.performance.goals", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.common.assigned.by", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.rating", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.comment", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.self.rating", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.self.comments", null, RequestContextUtils.getLocale(request)) }; String[] compGoalDataIndex = { "gname", "assignedby", "gmanrat", "mangoalcomment", "gemprat", "empgoalcomment" }; String[] quesAnsHeader1 = { messageSource.getMessage("hrms.performance.Questions", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.response", null, RequestContextUtils.getLocale(request)) }; String[] quesAnsHeader = { messageSource.getMessage("hrms.performance.Questions", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.appraiser.response", null, RequestContextUtils.getLocale(request)), messageSource.getMessage("hrms.performance.self.response", null, RequestContextUtils.getLocale(request)) }; String[] quesAnsDataIndex = { hrmsAnonymousAppraisalConstants.question, hrmsAnonymousAppraisalConstants.answer, hrmsAnonymousAppraisalConstants.employeeanswer }; String[] quesAnsDataIndex1 = { hrmsAnonymousAppraisalConstants.question, hrmsAnonymousAppraisalConstants.answer }; String managerComments = ""; String scoreAvg = ""; String companyid = null; PdfWriter writer = null; try { String usID = request.getParameter("userid"); String self = request.getParameter("self"); Boolean removecolumn = false; if (!StringUtil.isNullOrEmpty(self) && self.equals("false")) { quesAnsHeader = quesAnsHeader1; quesAnsDataIndex = quesAnsDataIndex1; colHeader = colHeader1; dataIndex = dataIndex1; removecolumn = true; } if (StringUtil.isNullOrEmpty(usID)) { usID = sessionHandlerImplObj.getUserid(request); } if (StringUtil.isNullOrEmpty(request.getParameter("pdfEmail"))) companyid = sessionHandlerImplObj.getCompanyid(request); else { User u = (User) hibernateTemplate.get(User.class, usID); companyid = u.getCompany().getCompanyID(); } HashMap<String, Object> requestParams = new HashMap<String, Object>(); // companyid = sessionHandlerImplObj.getCompanyid(request); requestParams.put("companyid", companyid); requestParams.put("checklink", "appraisal"); if (!hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { quesAnsHeader = quesAnsHeader1; quesAnsDataIndex = quesAnsDataIndex1; colHeader = colHeader1; removecolumn = true; } requestParams.clear(); requestParams.put("companyid", companyid); requestParams.put("checklink", "overallcomments"); if (!hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { colHeader = colHeader2; dataIndex = dataIndex2; } requestParams.clear(); Document document = new Document(PageSize.A4.rotate(), 25, 25, 25, 25); writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage()); document.open(); java.awt.Color tColor = new Color(9, 9, 9); //fontSmallBold.setColor(tColor); Paragraph p = new Paragraph(); PdfPTable table = new PdfPTable(2); table.setWidthPercentage(100); table.setWidths(new float[] { 55, 75 }); PdfPTable mainTable = new PdfPTable(1); mainTable.setTotalWidth(90); mainTable.setWidthPercentage(100); mainTable.setSpacingBefore(20); PdfPCell headcell = null; headcell = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.performance.appraisal.details", null, RequestContextUtils.getLocale(request)), FontContext.REGULAR_BOLD_HELVETICA, tColor))); headcell.setBackgroundColor(new Color(0xEEEEEE)); headcell.setPadding(5); mainTable.addCell(headcell); document.add(mainTable); // String str=hrmsManager.getAppraisalReport(session, request); JSONObject jobjTemplate = new JSONObject(str); com.krawler.utils.json.base.JSONArray jarr = jobjTemplate.getJSONArray("data"); com.krawler.utils.json.base.JSONArray jarr2 = jarr.getJSONObject(0).getJSONArray("data"); JSONObject jobjAppraisal = new JSONObject(jarr2.getString(0)); jarr = jobjAppraisal.getJSONArray("competencies"); int headlen = colHeader.length; if (jarr.length() < 1) { headlen = headlen - 2; } for (int i = 0; i < headlen; i++) { PdfPCell pcell = new PdfPCell( new Paragraph(fontFamilySelector.process(colHeader[i], FontContext.MEDIUM_BOLD_HELVETICA))); pcell.setBorder(0); if (i == 0) pcell.setPaddingTop(10); pcell.setPaddingLeft(15); pcell.setPaddingBottom(4); pcell.setBorderColor(new Color(0xF2F2F2)); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); pcell.setVerticalAlignment(Element.ALIGN_LEFT); table.addCell(pcell); if (!dataIndex[i].equals("mancom")) { pcell = new PdfPCell(new Paragraph(fontFamilySelector.process(!dataIndex[i].equals("") ? !jobjAppraisal.isNull(dataIndex[i]) ? jobjAppraisal.getString(dataIndex[i]) : "" : "", FontContext.SMALL_NORMAL_HELVETICA))); if (i == 0) pcell.setPaddingTop(10); pcell.setBorder(0); pcell.setPaddingLeft(10); pcell.setPaddingBottom(4); pcell.setBorderColor(new Color(0xF2F2F2)); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); pcell.setVerticalAlignment(Element.ALIGN_LEFT); table.addCell(pcell); } else { if (!jobjAppraisal.isNull(dataIndex[i])) { JSONArray spl = new JSONArray(jobjAppraisal.getString(dataIndex[i])); String strData = ""; for (int counter = 0; counter < spl.length(); counter++) { strData += spl.getString(counter) + "\n"; } pcell = new PdfPCell(new Paragraph( fontFamilySelector.process(strData, FontContext.SMALL_NORMAL_HELVETICA))); if (i == 0) pcell.setPaddingTop(10); pcell.setBorder(0); pcell.setPaddingLeft(10); pcell.setPaddingBottom(4); pcell.setBorderColor(new Color(0xF2F2F2)); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); pcell.setVerticalAlignment(Element.ALIGN_LEFT); table.addCell(pcell); } } } document.add(table); PdfPTable quesansTable = new PdfPTable(quesAnsHeader.length); quesansTable.setWidthPercentage(100); if (removecolumn) { quesansTable.setWidths(new float[] { 40, 40 }); } else { quesansTable.setWidths(new float[] { 40, 40, 40 }); } quesansTable.setSpacingBefore(20); quesansTable.setHeaderRows(1); for (int i = 0; i < quesAnsHeader.length; i++) { PdfPCell pgcell = new PdfPCell(new Paragraph( fontFamilySelector.process(quesAnsHeader[i], FontContext.MEDIUM_BOLD_HELVETICA))); pgcell.setBorder(0); pgcell.setBorder(PdfPCell.BOX); pgcell.setPadding(4); pgcell.setBorderColor(Color.GRAY); pgcell.setHorizontalAlignment(Element.ALIGN_CENTER); quesansTable.addCell(pgcell); } JSONObject quesansjobj = new JSONObject(quesansstr); JSONArray quesansjarr = quesansjobj.getJSONArray("quesans"); JSONObject qajobj = new JSONObject(); for (int i = 0; i < quesansjarr.length(); i++) { qajobj = quesansjarr.getJSONObject(i); for (int k = 0; k < quesAnsHeader.length; k++) { String qatext = !qajobj.isNull(quesAnsDataIndex[k]) ? qajobj.getString(quesAnsDataIndex[k]) : ""; qatext = qatext.replaceAll("~", "\n\n"); qatext = qatext.replaceAll("\n", "<br/>"); StyleSheet st = new StyleSheet(); st.loadTagStyle("body", "face", "HELVETICA"); st.loadTagStyle("body", "size", "1"); st.loadTagStyle("body", "leading", "8,0"); StringReader stringReader = new StringReader(qatext); PdfPCell pcell = new PdfPCell(); ArrayList listStr = HTMLWorker.parseToList(stringReader, st); pcell.setPadding(4); for (int htmlCount = 0; htmlCount < listStr.size(); ++htmlCount) { if (!listStr.get(htmlCount).toString().equals("[]")) pcell.addElement((Element) listStr.get(htmlCount)); } pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); pcell.setBorderColor(Color.GRAY); pcell.setPadding(4); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); pcell.setVerticalAlignment(Element.ALIGN_CENTER); quesansTable.addCell(pcell); } } document.add(quesansTable); PdfPTable compTable = new PdfPTable(6); compTable.setWidthPercentage(100); compTable.setWidths(new float[] { 50, 60, 30, 50, 42, 70 }); compTable.setSpacingBefore(20); compTable.setHeaderRows(1); for (int i = 0; i < compHeader.length; i++) { PdfPCell pcell = new PdfPCell(new Paragraph( fontFamilySelector.process(compHeader[i], FontContext.MEDIUM_BOLD_HELVETICA))); pcell.setBorder(0); pcell.setBorder(PdfPCell.BOX); pcell.setPadding(4); pcell.setBorderColor(Color.GRAY); pcell.setHorizontalAlignment(Element.ALIGN_CENTER); compTable.addCell(pcell); } for (int i = 0; i < jarr.length(); i++) { jobjAppraisal = jarr.getJSONObject(i); for (int k = 0; k < compHeader.length; k++) { if (k != compHeader.length - 1) { scoreAvg = ""; if (!jobjAppraisal.isNull(compDataIndex[k]) && compDataIndex[k].equals("compmanwght")) { scoreAvg = jobjAppraisal.getString("nominalRat"); Chunk chunk1 = fontFamilySelector.processChunk( jobjAppraisal.getString(compDataIndex[k]) + "\n\n", FontContext.SMALL_NORMAL_HELVETICA); Chunk chunk2 = null; requestParams.clear(); if (!StringUtil.isNullOrEmpty(request.getParameter("pdfEmail"))) { // User user=(User)session.get(User.class,request.getParameter("userid")); // companyid=user.getCompany().getCompanyID(); requestParams.put("companyid", companyid); requestParams.put("checklink", "modaverage"); if (hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { chunk2 = fontFamilySelector.processChunk("[" + messageSource.getMessage("hrms.performance.mod.avg", null, RequestContextUtils.getLocale(request)) + ": " + scoreAvg + " ]", FontContext.SMALL_NORMAL_HELVETICA); } else { chunk2 = fontFamilySelector.processChunk("[" + messageSource.getMessage("hrms.performance.avg", null, RequestContextUtils.getLocale(request)) + ": " + scoreAvg + " ]", FontContext.SMALL_NORMAL_HELVETICA); } } else { requestParams.put("companyid", companyid); requestParams.put("checklink", "modaverage"); if (hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { chunk2 = fontFamilySelector.processChunk("[" + messageSource.getMessage("hrms.performance.mod.avg", null, RequestContextUtils.getLocale(request)) + ": " + scoreAvg + " ]", FontContext.SMALL_NORMAL_HELVETICA); } else { chunk2 = fontFamilySelector.processChunk("[" + messageSource.getMessage("hrms.performance.avg", null, RequestContextUtils.getLocale(request)) + ": " + scoreAvg + " ]", FontContext.SMALL_NORMAL_HELVETICA); } } Phrase phrase1 = new Phrase(); phrase1.add(chunk1); phrase1.add(chunk2); p = new Paragraph(); p.add(phrase1); } PdfPCell pcell = new PdfPCell(); if (!scoreAvg.equals("")) { pcell = new PdfPCell(new Paragraph(p)); pcell.setPadding(0); pcell.setPaddingTop(2); pcell.setPaddingBottom(4); } else { if (!jobjAppraisal.isNull(compDataIndex[k])) { String htmlStr = jobjAppraisal.getString(compDataIndex[k]); htmlStr = htmlStr.replaceAll("\n", "<br>"); StyleSheet st = new StyleSheet(); st.loadTagStyle("body", "face", "HELVETICA"); st.loadTagStyle("body", "size", "1"); st.loadTagStyle("body", "leading", "8,0"); HTMLWorker worker = new HTMLWorker(document); StringReader stringReader = new StringReader(htmlStr); ArrayList<Element> listStr = HTMLWorker.parseToList(stringReader, st); pcell.setPadding(4); for (int htmlCount = 0; htmlCount < listStr.size(); ++htmlCount) { if (!listStr.get(htmlCount).getChunks().isEmpty()) { pcell.addElement(fontFamilySelector.processElement( listStr.get(htmlCount).getChunks(), FontContext.SMALL_NORMAL_HELVETICA)); } } } else pcell = new PdfPCell(new Paragraph(fontFamilySelector.process( !jobjAppraisal.isNull(compDataIndex[k]) ? StringUtil .serverHTMLStripper(jobjAppraisal.getString(compDataIndex[k])) : "", FontContext.SMALL_NORMAL_HELVETICA))); } pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); pcell.setBorderColor(Color.GRAY); pcell.setHorizontalAlignment( compDataIndex[k].equals("comptename") || compDataIndex[k].equals("comptdesc") || compDataIndex[k].equals("selfcomment") ? Element.ALIGN_LEFT : Element.ALIGN_CENTER); pcell.setVerticalAlignment( compDataIndex[k].equals("comptdesc") || compDataIndex[k].equals("comptdesc") || compDataIndex[k].equals("selfcomment") ? Element.ALIGN_LEFT : Element.ALIGN_CENTER); compTable.addCell(pcell); } else { jarr2 = jobjAppraisal.getJSONArray("comments"); managerComments = ""; int commentCount = 1; for (int j = jarr2.length() - 1; j >= 0; j--) { jobjTemplate = jarr2.getJSONObject(j); managerComments += commentCount + ") " + jobjTemplate.getString("managercomment") + "\n\n"; commentCount++; } PdfPCell pcell = new PdfPCell(new Paragraph( fontFamilySelector.process(managerComments, FontContext.SMALL_NORMAL_HELVETICA))); pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); pcell.setPadding(4); pcell.setBorderColor(Color.GRAY); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); pcell.setVerticalAlignment(Element.ALIGN_LEFT); compTable.addCell(pcell); } } } document.add(compTable); PdfPCell pcell; if (jarr.length() > 0) { PdfPTable helpTable = new PdfPTable(1); helpTable.setTotalWidth(90); helpTable.setWidthPercentage(100); helpTable.setSpacingBefore(20); pcell = new PdfPCell(new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.performance.mod.avg", null, RequestContextUtils.getLocale(request)) + ". : " + messageSource.getMessage("hrms.performance.mode.average.ratings", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_HELVETICA))); pcell.setBorder(0); pcell.setPadding(4); pcell.setHorizontalAlignment(Element.ALIGN_LEFT); helpTable.addCell(pcell); requestParams.clear(); requestParams.put("companyid", companyid); requestParams.put("checklink", "modaverage"); if (!StringUtil.isNullOrEmpty(request.getParameter("pdfEmail"))) { if (hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { document.add(helpTable); } } else { if (hrmsCommonDAOObj.checkModule(requestParams).isSuccessFlag()) { document.add(helpTable); } } } PdfPTable compgTable = new PdfPTable(6); compgTable.setWidthPercentage(100); compgTable.setWidths(new float[] { 50, 60, 30, 50, 42, 70 }); compgTable.setSpacingBefore(20); compgTable.setHeaderRows(1); for (int i = 0; i < compGoalHeader.length; i++) { PdfPCell pgcell = new PdfPCell(new Paragraph( fontFamilySelector.process(compGoalHeader[i], FontContext.MEDIUM_BOLD_HELVETICA))); pgcell.setBorder(0); pgcell.setBorder(PdfPCell.BOX); pgcell.setPadding(4); pgcell.setBorderColor(Color.GRAY); pgcell.setHorizontalAlignment(Element.ALIGN_CENTER); compgTable.addCell(pgcell); } JSONObject jobjTemplates = new JSONObject(goalstr); com.krawler.utils.json.base.JSONArray jarr11 = jobjTemplates.getJSONArray("data"); JSONObject jobjl = new JSONObject(); for (int i = 0; i < jarr11.length(); i++) { jobjl = jarr11.getJSONObject(i); for (int k = 0; k < compHeader.length; k++) { pcell = new PdfPCell( new Paragraph( fontFamilySelector.process( !jobjl.isNull(compGoalDataIndex[k]) ? StringUtil .serverHTMLStripper(jobjl.getString(compGoalDataIndex[k])) : "", FontContext.SMALL_NORMAL_HELVETICA))); pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); pcell.setBorderColor(Color.GRAY); pcell.setPadding(4); pcell.setHorizontalAlignment(Element.ALIGN_CENTER); pcell.setVerticalAlignment(Element.ALIGN_CENTER); compgTable.addCell(pcell); } } document.add(compgTable); document.newPage(); document.close(); } catch (DocumentException ex) { ex.printStackTrace(); throw ServiceException.FAILURE("AppraisalDetails.AppraisalDetail", ex); } catch (JSONException e) { e.printStackTrace(); throw ServiceException.FAILURE("AppraisalDetails.AppraisalDetail", e); } catch (Exception ex) { ex.printStackTrace(); throw ServiceException.FAILURE(ex.getMessage(), ex); } finally { writer.close(); } return baos; }
From source file:com.krawler.spring.hrms.payroll.payslip.ExportPayslipController.java
License:Open Source License
public ModelAndView exportPDF(HttpServletRequest request, HttpServletResponse response) { JSONObject jsonResp = new JSONObject(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = null;//w w w. j a v a 2s . c o m try { Company company = (Company) kwlCommonTablesDAOObj.getObject("com.krawler.common.admin.Company", sessionHandlerImplObj.getCompanyid(request)); int i = 0; DecimalFormat decfm = new DecimalFormat("#,##0.00"); Date d2 = null; Date d3 = null; int days = 0; boolean showborder = true; if (!StringUtil.isNullOrEmpty(request.getParameter("showborder"))) { showborder = Boolean.parseBoolean(request.getParameter("showborder")); } SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy"); String stDate = request.getParameter("stdate").replace("/", "-"); String endDate = request.getParameter("enddate").replace("/", "-"); d2 = sdf.parse(stDate); d3 = sdf.parse(endDate); days = getWorkingDays(request.getParameter("stdate").replace("/", "-"), request.getParameter("enddate").replace("/", "-"), company.getCompanyID()); String historyid = ""; List<Payhistory> lst = exportPayslipDAO.getPayhistory(request.getParameter("empid"), d2, d3); ; if (lst != null && lst.size() == 0) { throw new Exception("Exception occured"); } else if (lst != null && lst.size() > 0) { String currSymbol = getCurrencySymbol(request, false); masterDB.Payhistory payhistory = (masterDB.Payhistory) lst.get(0); historyid = payhistory.getHistoryid(); double unpaidleaves = payhistory.getUnpaidleaves(); Document document = new Document(PageSize.A4, 15, 15, 15, 15); writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new EndPage(request)); document.open(); String userid = request.getParameter("empid"); User userinfo = payhistory.getUserID(); Useraccount ua = (Useraccount) kwlCommonTablesDAOObj .getObject("com.krawler.common.admin.Useraccount", userinfo.getUserID()); String uname = userinfo.getLastName() != null ? userinfo.getLastName() : ""; String empid = getUserCode(ua, company.getCompanyID()); String department = payhistory.getDepartment(); String designation = getUserDesignation(ua); String bankacc = ua.getAccno() != null ? ua.getAccno() : ""; Empprofile empprof = null; String epf = ""; String dateofjoin = ""; try { empprof = (Empprofile) kwlCommonTablesDAOObj.getObject("com.krawler.hrms.ess.Empprofile", userid); epf = StringUtil.isNullOrEmpty(empprof.getPfno()) ? "" : empprof.getPfno(); dateofjoin = empprof.getJoindate() != null ? empprof.getJoindate().toString() : ""; } catch (Exception ex) { epf = ""; } PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); PdfPTable table1 = new PdfPTable(3); table1.setWidthPercentage(100); table1.setWidths(new float[] { 40, 40, 20 }); PdfPTable userTable1 = new PdfPTable(1); String cmpid = AuthHandler.getCompanyid(request); userTable1.setHorizontalAlignment(Element.ALIGN_MIDDLE); userTable1.setWidthPercentage(10); PdfPCell cell11 = null; PdfPCell cell1x = new PdfPCell( new Paragraph(fontFamilySelector.process(" ", FontContext.REGULAR_BOLD_TIMES_NEW_ROMAN))); cell1x.setBorder(0); userTable1.addCell(cell1x); try { String imgPath = StorageHandler.GetProfileImgStorePath() + cmpid + ".png"; if (StringUtil.isStandAlone()) { imgPath = URLUtil.getPageURL(request, "").concat(ProfileImageServlet.defaultCompanyImgPath); } Image img = Image.getInstance(imgPath); cell11 = new PdfPCell(img); cell11.setPaddingLeft(5); } catch (Exception e) { cell11 = new PdfPCell(new Paragraph(fontFamilySelector .process(AuthHandler.getCompanyName(request), FontContext.TABLE_BOLD_TIMES_NEW_ROMAN))); cell11.setHorizontalAlignment(Element.ALIGN_CENTER); } if (cell11 != null) { cell11.setBorder(0); userTable1.addCell(cell11); } PdfPCell cell1 = new PdfPCell( new Paragraph(fontFamilySelector.process("", FontContext.REGULAR_BOLD_TIMES_NEW_ROMAN))); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); cell1.setBorder(0); userTable1.addCell(cell1); PdfPTable userTable2 = new PdfPTable(1); userTable2.setWidthPercentage(100); PdfPCell cell = new PdfPCell(new Paragraph(fontFamilySelector.process(company.getCompanyName(), FontContext.REGULAR_BOLD_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); cell.setPaddingTop(15); userTable2.addCell(cell); cell = new PdfPCell(new Paragraph( fontFamilySelector.process(company.getCity(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); userTable2.addCell(cell); cell = new PdfPCell(new Paragraph(fontFamilySelector.process(company.getAddress(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); userTable2.addCell(cell); cell = new PdfPCell(new Paragraph( fontFamilySelector.process(company.getState(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); userTable2.addCell(cell); cell = new PdfPCell(new Paragraph(fontFamilySelector.process(company.getZipCode(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); userTable2.addCell(cell); cell = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.payslip.period.params", new Object[] { request.getParameter("stdate"), request.getParameter("enddate") }, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); userTable2.addCell(cell); PdfPTable userTable3 = new PdfPTable(1); userTable3.setWidthPercentage(100); PdfPCell cell2 = new PdfPCell( new Paragraph(fontFamilySelector.process("", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); cell2.setHorizontalAlignment(Element.ALIGN_LEFT); cell2.setBorder(0); userTable1.addCell(cell2); PdfPCell mainCell11 = new PdfPCell(userTable1); if (!showborder) { mainCell11.setBorder(0); } else { mainCell11.setBorder(Rectangle.LEFT); } table1.addCell(mainCell11); PdfPCell mainCell13 = new PdfPCell(userTable2); mainCell13.setBorder(0); table1.addCell(mainCell13); PdfPCell mainCell15 = new PdfPCell(userTable3); if (!showborder) { mainCell15.setBorder(0); } else { mainCell15.setBorder(Rectangle.RIGHT); } table1.addCell(mainCell15); PdfPCell mainCell12 = new PdfPCell(new Paragraph("")); if (!showborder) { mainCell12.setBorder(0); } else { mainCell12.setBorder(Rectangle.LEFT); } table1.addCell(mainCell12); PdfPCell mainCell14 = new PdfPCell(new Paragraph("")); mainCell14.setBorder(0); table1.addCell(mainCell14); PdfPCell mainCell16 = new PdfPCell(new Paragraph("")); if (!showborder) { mainCell16.setBorder(0); } else { mainCell16.setBorder(Rectangle.RIGHT); } table1.addCell(mainCell16); PdfPCell mainCell1 = new PdfPCell(table1); if (!showborder) { mainCell1.setBorder(0); } else { mainCell1.setBorder(1); } mainTable.addCell(mainCell1); // __________________________________________________________________________ PdfPTable table2 = new PdfPTable(4); table2.setWidthPercentage(100); table2.setWidths(new float[] { 20, 30, 20, 30 }); PdfPCell h11 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.employee.code", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h11.setHorizontalAlignment(Element.ALIGN_LEFT); h11.setPadding(5); if (!showborder) { h11.setBorder(0); } table2.addCell(h11); PdfPCell h12 = new PdfPCell(new Paragraph( fontFamilySelector.process("" + empid, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h12.setHorizontalAlignment(Element.ALIGN_LEFT); h12.setPadding(5); if (!showborder) { h12.setBorder(0); } table2.addCell(h12); PdfPCell h13 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.employee.name", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h13.setHorizontalAlignment(Element.ALIGN_LEFT); h13.setPadding(5); if (!showborder) { h13.setBorder(0); } table2.addCell(h13); PdfPCell h14 = new PdfPCell(new Paragraph(fontFamilySelector .process(userinfo.getFirstName() + " " + uname, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h14.setHorizontalAlignment(Element.ALIGN_LEFT); h14.setPadding(5); if (!showborder) { h14.setBorder(0); } table2.addCell(h14); PdfPCell h21 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.department", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h21.setHorizontalAlignment(Element.ALIGN_LEFT); h21.setPadding(5); if (!showborder) { h21.setBorder(0); } table2.addCell(h21); PdfPCell h22 = new PdfPCell(new Paragraph( fontFamilySelector.process(department, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h22.setHorizontalAlignment(Element.ALIGN_LEFT); h22.setPadding(5); if (!showborder) { h22.setBorder(0); } table2.addCell(h22); PdfPCell h33 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.designation", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h33.setHorizontalAlignment(Element.ALIGN_LEFT); h33.setPadding(5); if (!showborder) { h33.setBorder(0); } table2.addCell(h33); PdfPCell h34 = new PdfPCell(new Paragraph( fontFamilySelector.process(designation, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h34.setHorizontalAlignment(Element.ALIGN_LEFT); h34.setPadding(5); if (!showborder) { h34.setBorder(0); } table2.addCell(h34); PdfPCell h43 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.bank.ac.no", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h43.setHorizontalAlignment(Element.ALIGN_LEFT); h43.setPadding(5); if (!showborder) { h43.setBorder(0); } table2.addCell(h43); PdfPCell h44 = new PdfPCell(new Paragraph( fontFamilySelector.process(bankacc, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h44.setHorizontalAlignment(Element.ALIGN_LEFT); h44.setPadding(5); if (!showborder) { h44.setBorder(0); } table2.addCell(h44); PdfPCell h61 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.working.days", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h61.setHorizontalAlignment(Element.ALIGN_LEFT); h61.setPadding(5); if (!showborder) { h61.setBorder(0); } table2.addCell(h61); PdfPCell h62 = new PdfPCell(new Paragraph(fontFamilySelector.process(String.valueOf(days), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h62.setHorizontalAlignment(Element.ALIGN_LEFT); h62.setPadding(5); if (!showborder) { h62.setBorder(0); } table2.addCell(h62); PdfPCell h63 = new PdfPCell(new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.e.p.f", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h63.setHorizontalAlignment(Element.ALIGN_LEFT); h63.setPadding(5); if (!showborder) { h63.setBorder(0); } table2.addCell(h63); PdfPCell h64 = new PdfPCell( new Paragraph(fontFamilySelector.process(epf, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h64.setHorizontalAlignment(Element.ALIGN_LEFT); h64.setPadding(5); if (!showborder) { h64.setBorder(0); } table2.addCell(h64); PdfPCell h65 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.common.DateofJoining", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h65.setHorizontalAlignment(Element.ALIGN_LEFT); h65.setPadding(5); if (!showborder) { h65.setBorder(0); } table2.addCell(h65); PdfPCell h66 = new PdfPCell(new Paragraph( fontFamilySelector.process(dateofjoin, FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); h66.setHorizontalAlignment(Element.ALIGN_LEFT); h66.setPadding(5); if (!showborder) { h66.setBorder(0); } table2.addCell(h66); for (int y = 0; y < 2; y++) { PdfPCell h71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h71.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { h71.setBorder(0); } else { h71.setBorder(Rectangle.LEFT); } table2.addCell(h71); for (i = 0; i < 2; i++) { h71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h71.setHorizontalAlignment(Element.ALIGN_LEFT); h71.setBorder(0); table2.addCell(h71); } h71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); h71.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { h71.setBorder(0); } else { h71.setBorder(Rectangle.RIGHT); } table2.addCell(h71); } PdfPCell mainCell2 = new PdfPCell(table2); if (!showborder) { mainCell2.setBorder(0); } else { mainCell2.setBorder(1); } mainTable.addCell(mainCell2); PdfPTable table3main = new PdfPTable(1); table3main.setWidthPercentage(100); PdfPTable table7main = new PdfPTable(1); table7main.setWidthPercentage(100); PdfPTable table31 = new PdfPTable(4); table31.setWidthPercentage(100); table31.setWidths(new float[] { 30, 20, 30, 20 }); PdfPTable table41 = new PdfPTable(2); table41.setWidthPercentage(100); table41.setWidths(new float[] { 50, 50 }); //*************************************************************************************************************** PdfPCell s11 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.Earnings", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s11.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s11.setBorder(0); } else { s11.setBorder(Rectangle.LEFT + Rectangle.BOTTOM); } s11.setPadding(5); table31.addCell(s11); PdfPCell s12 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.amount.params", new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s12.setHorizontalAlignment(Element.ALIGN_RIGHT); s12.setPadding(5); if (!showborder) { s12.setBorder(0); } else { s12.setBorder(Rectangle.LEFT + Rectangle.BOTTOM); } table31.addCell(s12); PdfPCell s14 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.Deduction", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s14.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s14.setBorder(0); } else { s14.setBorder(Rectangle.LEFT + Rectangle.BOTTOM); } s14.setPadding(5); table31.addCell(s14); PdfPCell s15 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.amount.params", new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s15.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s15.setBorder(0); } else { s15.setBorder(Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM); } s15.setPadding(5); table31.addCell(s15); int Wcount = 0; float taxtotal = 0; List<Historydetail> lst1 = exportPayslipDAO.getHistorydetail(historyid, "Wages", "Basic"); List<Historydetail> list = exportPayslipDAO.getHistorydetailNotType(historyid, "Wages", "Basic"); if (list != null) { lst1.addAll(list); } List<Historydetail> lst2 = exportPayslipDAO.getHistorydetail(historyid, "Taxes"); CompanyPreferences cp = hrmsCommonDAOObj.getCompanyPreferences(company.getCompanyID()); int financialMonth = cp.getFinancialmonth(); Calendar c1 = Calendar.getInstance(); c1.setTime(d3); c1.set(Calendar.MONTH, financialMonth); c1.set(Calendar.DATE, 1); Date d = c1.getTime(); Date DOJ = new java.util.Date(empprof.getJoindate().getTime()); if (d3.before(d)) { int currentYear = c1.get(Calendar.YEAR) - 1; c1.set(Calendar.YEAR, currentYear); d = c1.getTime(); } if (DOJ.after(d)) { c1.setTime(DOJ); c1.set(Calendar.DATE, 1); d = c1.getTime(); } List<Historydetail> lst3 = exportPayslipDAO.getHistorydetail(historyid, "Deduction"); int size = lst1.size() > (lst2.size() + lst3.size()) ? lst1.size() : lst2.size() + lst3.size(); float wagetotal = 0; double totalYTDEarning = 0, totalYTDDeduction = 0; for (i = 0; i < size; i++) { masterDB.Historydetail hd = null; if (i < lst1.size()) { hd = (masterDB.Historydetail) lst1.get(i); PdfPCell s21 = new PdfPCell(new Paragraph(fontFamilySelector.process(hd.getType(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s21.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s21.setBorder(0); } else { s21.setBorder(Rectangle.LEFT); } s21.setPadding(5); table31.addCell(s21); BigDecimal bd = new BigDecimal(hd.getAmount()); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); double newamount = bd.doubleValue(); PdfPCell s22 = new PdfPCell( new Paragraph(fontFamilySelector.process(String.valueOf(decfm.format(newamount)), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s22.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s22.setBorder(0); } else { s22.setBorder(Rectangle.LEFT); } s22.setPadding(5); table31.addCell(s22); List<Historydetail> lstw = exportPayslipDAO.getHistorydetail(request.getParameter("empid"), d, d3, hd.getType()); double wageAmt = 0; masterDB.Historydetail hd1 = null; for (int y = 0; y < lstw.size(); y++) { hd1 = (masterDB.Historydetail) lstw.get(y); wageAmt += Double.parseDouble(hd1.getAmount()); } wagetotal = wagetotal + Float.parseFloat(hd.getAmount()); totalYTDEarning = totalYTDEarning + wageAmt; Wcount++; } else { for (int j = 0; j < 2; j++) { PdfPCell s21 = new PdfPCell(new Paragraph( fontFamilySelector.process("", FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s21.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s21.setBorder(0); } else { s21.setBorder(Rectangle.LEFT); } s21.setPadding(5); table31.addCell(s21); } } if (i < lst2.size()) { hd = (masterDB.Historydetail) lst2.get(i); PdfPCell s24 = new PdfPCell(new Paragraph(fontFamilySelector.process(hd.getType(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s24.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s24.setBorder(0); } else { s24.setBorder(Rectangle.LEFT); } s24.setPadding(5); table31.addCell(s24); BigDecimal bd = new BigDecimal(hd.getAmount()); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); double newamount = bd.doubleValue(); PdfPCell s25 = new PdfPCell(new Paragraph(fontFamilySelector .process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s25.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s25.setBorder(0); } else { s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT); } s25.setPadding(5); table31.addCell(s25); List<Historydetail> lstw1 = exportPayslipDAO.getHistorydetail(request.getParameter("empid"), d, d3, hd.getType()); double taxAmt = 0; masterDB.Historydetail hd2 = null; for (int y = 0; y < lstw1.size(); y++) { hd2 = (masterDB.Historydetail) lstw1.get(y); taxAmt += Double.parseDouble(hd2.getAmount()); } taxtotal = taxtotal + Float.parseFloat(hd.getAmount()); totalYTDDeduction = totalYTDDeduction + taxAmt; } else { if (i - lst2.size() < lst3.size()) { hd = (masterDB.Historydetail) lst3.get(i - lst2.size()); PdfPCell s24 = new PdfPCell(new Paragraph(fontFamilySelector.process(hd.getType(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); if (hd.getType().equals("Unpaid_leaves")) { s24 = new PdfPCell(new Paragraph( fontFamilySelector.process(hd.getType() + "(" + unpaidleaves + ")", FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); } s24.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s24.setBorder(0); } else { s24.setBorder(Rectangle.LEFT); } s24.setPadding(5); table31.addCell(s24); BigDecimal bd = new BigDecimal(hd.getAmount()); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); double newamount = bd.doubleValue(); PdfPCell s25 = new PdfPCell(new Paragraph(fontFamilySelector .process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s25.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s25.setBorder(0); } else { s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT); ; } s25.setPadding(5); table31.addCell(s25); List<Historydetail> lstw2 = exportPayslipDAO .getHistorydetail(request.getParameter("empid"), d, d3, hd.getType()); masterDB.Historydetail hd3 = null; double deductAmt = 0; for (int y = 0; y < lstw2.size(); y++) { hd3 = (masterDB.Historydetail) lstw2.get(y); deductAmt += Double.parseDouble(hd3.getAmount()); } taxtotal = taxtotal + Float.parseFloat(hd.getAmount()); totalYTDDeduction = totalYTDDeduction + deductAmt; } else { for (int j = 0; j < 2; j++) { PdfPCell s21 = new PdfPCell(new Paragraph( fontFamilySelector.process("", FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s21.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s21.setBorder(0); } else { s21.setBorder(Rectangle.LEFT + Rectangle.RIGHT); } s21.setPadding(5); table31.addCell(s21); } } } } PdfPCell s91 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.total.earnings", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s91.setHorizontalAlignment(Element.ALIGN_BASELINE); s91.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s91.setBorder(0); } else { s91.setBorder(Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM); } s91.setPadding(5); table31.addCell(s91); BigDecimal bd = new BigDecimal(String.valueOf(wagetotal)); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); double newamount = bd.doubleValue(); PdfPCell s92 = new PdfPCell(new Paragraph(fontFamilySelector.process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s92.setHorizontalAlignment(Element.ALIGN_BASELINE); s92.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s92.setBorder(0); } else { s92.setBorder(Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM); } s92.setPadding(5); table31.addCell(s92); PdfPCell s94 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.total.deductions", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); s94.setHorizontalAlignment(Element.ALIGN_BASELINE); s94.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s94.setBorder(0); } else { s94.setBorder(Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM); } s94.setPadding(5); table31.addCell(s94); bd = new BigDecimal(String.valueOf(taxtotal)); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); newamount = bd.doubleValue(); PdfPCell s95 = new PdfPCell(new Paragraph(fontFamilySelector.process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s95.setHorizontalAlignment(Element.ALIGN_BASELINE); s95.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s95.setBorder(0); } else { s95.setBorder(Rectangle.RIGHT + Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM); } s95.setPadding(5); table31.addCell(s95); for (int y = 0; y < 2; y++) { PdfPCell he71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); he71.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { he71.setBorder(0); } else { he71.setBorder(Rectangle.LEFT); } table31.addCell(he71); for (i = 0; i < 2; i++) { he71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); he71.setHorizontalAlignment(Element.ALIGN_LEFT); he71.setBorder(0); table31.addCell(he71); } he71 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); he71.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { he71.setBorder(0); } else { he71.setBorder(Rectangle.RIGHT); } table31.addCell(he71); } List<Historydetail> lst4 = exportPayslipDAO.getHistorydetail(historyid, "Employer Contribution"); double ectotal = 0; PdfPCell ec11 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.EmployerContribution", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); ec11.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { ec11.setBorder(0); } else { ec11.setBorder(Rectangle.LEFT + Rectangle.BOTTOM); } ec11.setPadding(5); table41.addCell(ec11); PdfPCell ec12 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.amount.params", new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); ec12.setHorizontalAlignment(Element.ALIGN_RIGHT); ec12.setPadding(5); if (!showborder) { ec12.setBorder(0); } else { ec12.setBorder(Rectangle.LEFT + Rectangle.BOTTOM + Rectangle.RIGHT); } table41.addCell(ec12); masterDB.Historydetail hd1 = null; for (i = 0; i < lst4.size(); i++) { hd1 = (masterDB.Historydetail) lst4.get(i); PdfPCell s24 = new PdfPCell(new Paragraph( fontFamilySelector.process(hd1.getType(), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s24.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { s24.setBorder(0); } else { s24.setBorder(Rectangle.LEFT); } s24.setPadding(5); table41.addCell(s24); bd = new BigDecimal(hd1.getAmount()); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); newamount = bd.doubleValue(); ectotal = ectotal + newamount; PdfPCell s25 = new PdfPCell(new Paragraph(fontFamilySelector.process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); s25.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { s25.setBorder(0); } else { s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT); } s25.setPadding(5); table41.addCell(s25); } PdfPCell se91 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.total.contribution", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); se91.setHorizontalAlignment(Element.ALIGN_BASELINE); se91.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { se91.setBorder(0); } else { se91.setBorder(Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM); } se91.setPadding(5); table41.addCell(se91); bd = new BigDecimal(String.valueOf(ectotal)); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); newamount = bd.doubleValue(); PdfPCell se92 = new PdfPCell(new Paragraph(fontFamilySelector.process(decfm.format(newamount), FontContext.SMALL_NORMAL_TIMES_NEW_ROMAN))); se92.setHorizontalAlignment(Element.ALIGN_BASELINE); se92.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { se92.setBorder(0); } else { se92.setBorder(Rectangle.LEFT + Rectangle.TOP + Rectangle.BOTTOM + Rectangle.RIGHT); } se92.setPadding(5); table41.addCell(se92); PdfPCell Cell31 = new PdfPCell(table31); if (!showborder) { Cell31.setBorder(0); } else { Cell31.setBorder(1); } table3main.addCell(Cell31); PdfPCell mainCell4 = new PdfPCell(table3main); if (!showborder) { mainCell4.setBorder(0); } else { mainCell4.setBorder(1); } mainTable.addCell(mainCell4); PdfPCell Cell41 = new PdfPCell(table41); if (!showborder) { Cell41.setBorder(0); } else { Cell41.setBorder(1); } table7main.addCell(Cell41); PdfPCell mainCell44 = new PdfPCell(table7main); if (!showborder) { mainCell44.setBorder(0); } else { mainCell44.setBorder(1); } mainTable.addCell(mainCell44); //*************************************************************************************************************** PdfPTable table4 = new PdfPTable(2); table4.setWidthPercentage(100); for (i = 0; i < 4; i++) { PdfPCell i33 = new PdfPCell(new Paragraph( fontFamilySelector.process(" ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); i33.setHorizontalAlignment(Element.ALIGN_CENTER); if (!showborder) { i33.setBorder(0); } else { i33.setBorder(Rectangle.LEFT + Rectangle.RIGHT); } table4.addCell(i33); } PdfPCell i31 = new PdfPCell(new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.netpay", null, RequestContextUtils.getLocale(request)) + " ", FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); i31.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { i31.setBorder(0); } else { i31.setBorder(Rectangle.LEFT + Rectangle.TOP); } i31.setPadding(5); table4.addCell(i31); double netpay = 0; netpay = wagetotal - taxtotal; netpay = Math.round(netpay); String amount = numberFormatter((double) netpay, currSymbol); PdfPCell i33 = new PdfPCell( new Paragraph(fontFamilySelector.process(amount, FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); i33.setHorizontalAlignment(Element.ALIGN_RIGHT); if (!showborder) { i33.setBorder(0); } else { i31.setBorder(Rectangle.RIGHT); } i33.setPadding(5); table4.addCell(i33); PdfPCell i32 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.in.words", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); i32.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { i32.setBorder(0); } else { i31.setBorder(Rectangle.LEFT); } i32.setPadding(5); table4.addCell(i32); EnglishNumberToWords enw = new EnglishNumberToWords(request, messageSource); String netinword = enw.convert(netpay); PdfPCell i34 = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.only", new Object[] { getCurrencyName(request), netinword }, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); i34.setHorizontalAlignment(Element.ALIGN_LEFT); if (!showborder) { i34.setBorder(0); } else { i31.setBorder(Rectangle.RIGHT); } i34.setPadding(5); table4.addCell(i34); PdfPCell mainCell5 = new PdfPCell(table4); if (!showborder) { mainCell5.setBorder(0); } else { mainCell5.setBorder(1); } mainTable.addCell(mainCell5); document.add(new Paragraph("\n\n")); PdfPTable table5 = new PdfPTable(2); table5.setWidthPercentage(80); cell = new PdfPCell(new Paragraph("___________________________")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorder(0); table5.addCell(cell); cell = new PdfPCell(new Paragraph("___________________________")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorder(0); table5.addCell(cell); cell = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.employee.signature", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorder(0); table5.addCell(cell); cell = new PdfPCell( new Paragraph(fontFamilySelector.process( messageSource.getMessage("hrms.payroll.manager.signature", null, RequestContextUtils.getLocale(request)), FontContext.SMALL_BOLD_TIMES_NEW_ROMAN))); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorder(0); table5.addCell(cell); document.add(mainTable); document.close(); } String filename = "Employee_Payslip.pdf"; if (!StringUtil.isNullOrEmpty(request.getParameter("reportname"))) { String temp = request.getParameter("reportname"); filename = temp.lastIndexOf(".pdf") >= 0 ? temp : temp + ".pdf"; } response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); response.setContentType("application/octet-stream"); response.setContentLength(baos.size()); response.getOutputStream().write(baos.toByteArray()); jsonResp.put("valid", true); jsonResp.put("data", ""); } catch (Exception ex) { ex.printStackTrace(); } finally { try { if (response.getOutputStream() != null) { response.getOutputStream().flush(); response.getOutputStream().close(); } } catch (IOException e) { e.printStackTrace(); } writer.close(); } return new ModelAndView("jsonView", "model", jsonResp.toString()); }