Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.gp.cong.logisoft.lcl.report; import com.gp.cong.common.CommonConstants; import com.gp.cong.common.CommonUtils; import com.gp.cong.common.ConstantsInterface; import static com.gp.cong.common.ConstantsInterface.INSURANCE_CHARGE_CODE; import com.gp.cong.common.DateUtils; import com.gp.cong.common.NumberUtils; import com.gp.cong.lcl.common.constant.BlUtils; import com.gp.cong.lcl.common.constant.LclCommonConstant; import com.gp.cong.lcl.common.constant.LclUtils; import com.gp.cong.lcl.model.ExportVoyageSearchModel; import com.gp.cong.logisoft.domain.UnLocation; import com.gp.cong.logisoft.domain.lcl.LclBooking; import com.gp.cong.logisoft.domain.lcl.LclBookingPad; import com.gp.cong.logisoft.domain.lcl.LclBookingPiece; import com.gp.cong.logisoft.domain.lcl.LclOptions; import com.gp.cong.logisoft.domain.lcl.LclSsDetail; import com.gp.cong.logisoft.domain.lcl.LclUnitSs; import com.gp.cong.logisoft.domain.lcl.bl.LclBl; import com.gp.cong.logisoft.domain.lcl.bl.LclBlAc; import com.gp.cong.logisoft.domain.lcl.bl.LclBlPiece; import com.gp.cong.logisoft.hibernate.dao.AgencyInfoDAO; import com.gp.cong.logisoft.hibernate.dao.GenericCodeDAO; import com.gp.cong.logisoft.hibernate.dao.LCLPortConfigurationDAO; import com.gp.cong.logisoft.hibernate.dao.PortsDAO; import com.gp.cong.logisoft.hibernate.dao.UnLocationDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.Lcl3pRefNoDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclBlAcDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclBookingHotCodeDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclBookingHsCodeDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclBookingPieceDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclConsolidateDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclHazmatDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclInbondsDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclRemarksDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.LclUnitSsDAO; import com.gp.cong.logisoft.hibernate.dao.lcl.bl.LCLBlDAO; import com.gp.cong.logisoft.reports.ConvertNumberToWords; import com.gp.cong.logisoft.util.CommonFunctions; import com.gp.cong.struts.LoadLogisoftProperties; import com.gp.cvst.logisoft.domain.CustAddress; import com.gp.cvst.logisoft.hibernate.dao.CustAddressDAO; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Font.FontFamily; import com.itextpdf.text.FontFactory; import com.itextpdf.text.Image; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.ColumnText; import com.itextpdf.text.pdf.GrayColor; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfPageEventHelper; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileOutputStream; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; public class LclAllBLPdfCreator extends LclReportFormatMethods implements ConstantsInterface, LclCommonConstant { private static final Logger log = Logger.getLogger(LclBLPdfCreator.class); private LclBl lclbl; private LclBooking lclBooking; private BlUtils blUtils = new BlUtils(); private LclUtils lclUtils = new LclUtils(); private String polValues = ""; private String podValues = ""; private String billingType = ""; private String billType = ""; private String unitNumber = ""; private String voyageNumber = ""; private String sealOut = ""; private String printdocumentName = ""; private String ipeHotCodeComments = ""; private String printRadio = "", fileId = "", ruleName = ""; private boolean isFirst_page = true; private int page_count = 0; private int commodity_count = 0; List<LclBlPiece> lclBlPiecesList = null; private double total_ar_amount = 0.0; private double total_ar_col_amount = 0.0; private double total_ar_ppd_amount = 0.0; private final Set<String> ppdBillToSet = new HashSet<String>(); private String ladenSailDateRemarks = "", termsType1 = "", engmet = "", servletPath = "", sailDate = "", sailDateFormat = "", arBillToParty = ""; private String watermarkLabel = "N", headingAlert = "N", fdOverride = "N", hblPolOverRideKey = "N", printHazBeforeKeyValue = "N", ladenSailDateOptKey = "N", printTermsTypeKey = "ROUTING", printPierPol = "N", hblPierOverRideKey = "N", altAgentKey = "N", altAgentValue = "", ncmKeyValue = "N", aesKeyValue = "N", hsKeyValue = "N", miniKeyValue = "N", impKeyValue = "N", metKeyValue = "N", receiveKeyValue = "N", portKey = "N", portKeyValue = "", printPpdBlBothKey = "N", printBlInsuranceKey = "Y"; private String OCNFRT_Total = ""; private String[] agencyInfo = new String[3]; public void createBlReport(String realPath, String outputFileName, String documentName, String fileId, String unitSsId, String printRadio) throws Exception { this.servletPath = realPath; init(outputFileName, realPath, documentName, fileId, printRadio); } class headerFooterEvent extends PdfPageEventHelper { Font FONT = new Font(FontFamily.HELVETICA, 100f, Font.BOLD, new GrayColor(0.75f)); @Override public void onEndPage(PdfWriter writer, Document document) { try { PdfPTable commityTable = addingCommodityValues(); PdfPTable footerTable = commodityValues(); commityTable.setTotalWidth(document.getPageSize().getWidth() - document.leftMargin()); commityTable.writeSelectedRows(0, 20, 15, 355, writer.getDirectContent()); footerTable.setTotalWidth(document.getPageSize().getWidth() - document.leftMargin()); footerTable.writeSelectedRows(0, 20, 15, 245, writer.getDirectContent()); } catch (Exception ex) { log.info("Exception on class LclBLPdfCreator in method onEndPage" + new Date(), ex); } } @Override public void onStartPage(PdfWriter writer, Document document) { try { LclAllBLPdfCreator.this.lclbl = new LCLBlDAO().getByProperty("lclFileNumber.id", Long.parseLong(LclAllBLPdfCreator.this.fileId)); new LCLBlDAO().getCurrentSession().evict(LclAllBLPdfCreator.this.lclbl); LclAllBLPdfCreator.this.lclBooking = lclbl.getLclFileNumber().getLclBooking(); setLclBLPdfCreator(printdocumentName, LclAllBLPdfCreator.this.lclbl, lclBooking); lclbl = LclAllBLPdfCreator.this.lclbl; ColumnText.showTextAligned(writer.getDirectContentUnder(), Element.ALIGN_CENTER, new Phrase(LclAllBLPdfCreator.this.watermarkLabel.equalsIgnoreCase("Y") ? "PROOF" : "EDIT", FONT), document.getPageSize().getWidth() / 2, document.getPageSize().getHeight() / 2, 50); PdfPTable headerTable = new PdfPTable(1); headerTable.setWidthPercentage(100f); PdfPCell headerCell = new PdfPCell(); headerCell.setBorder(0); headerCell.setFixedHeight(10f); headerCell.addElement(headerSection()); headerTable.addCell(headerCell); headerCell = new PdfPCell(); headerCell.setFixedHeight(315f); headerCell.setBorder(0); headerCell.addElement(bodySection()); headerTable.addCell(headerCell); headerCell = new PdfPCell(); headerCell.setBorder(2); headerCell.addElement(commodityHeadingSection()); headerTable.addCell(headerCell); document.add(headerTable); } catch (Exception ex) { log.info("Exception on class LclAllBLPdfCreator in method onStartPage" + new Date(), ex); } } } public void setLclBLPdfCreator(String documentName, LclBl lclbl, LclBooking lclBooking) throws Exception { this.printdocumentName = documentName; if (CommonFunctions.isNotNull(lclbl)) { List<LclOptions> optionsList = lclbl.getLclFileNumber().getLclOptionsList(); for (LclOptions options : optionsList) { if (!"CORRECTEDBL".equalsIgnoreCase(options.getOptionValue()) && !"ARRIVALDATE".equalsIgnoreCase(options.getOptionValue())) { if ("ALERT".equalsIgnoreCase(options.getOptionValue())) { headingAlert = options.getOptionKey(); } if ("LADENSAILDATE".equalsIgnoreCase(options.getOptionValue())) { ladenSailDateOptKey = options.getOptionKey(); } if ("PROOF".equalsIgnoreCase(options.getOptionValue())) { LclAllBLPdfCreator.this.watermarkLabel = options.getOptionKey(); } if ("PRINTTERMSTYPE".equalsIgnoreCase(options.getOptionValue())) { printTermsTypeKey = options.getOptionKey(); } if ("PIER".equalsIgnoreCase(options.getOptionValue())) { printPierPol = options.getOptionKey(); } if ("HBLPOL".equalsIgnoreCase(options.getOptionValue())) { hblPolOverRideKey = options.getOptionKey(); } if ("HBLPIER".equalsIgnoreCase(options.getOptionValue())) { hblPierOverRideKey = options.getOptionKey(); } if ("DELIVERY".equalsIgnoreCase(options.getOptionValue())) { fdOverride = options.getOptionKey(); } if ("RECEIVE".equalsIgnoreCase(options.getOptionValue())) { receiveKeyValue = options.getOptionKey(); } if ("NCM".equalsIgnoreCase(options.getOptionValue())) { ncmKeyValue = options.getOptionKey(); } if ("AES".equalsIgnoreCase(options.getOptionValue())) { aesKeyValue = options.getOptionKey(); } if ("HS".equalsIgnoreCase(options.getOptionValue())) { hsKeyValue = options.getOptionKey(); } if ("MINI".equalsIgnoreCase(options.getOptionValue())) { miniKeyValue = options.getOptionKey(); } if ("IMP".equalsIgnoreCase(options.getOptionValue())) { impKeyValue = options.getOptionKey(); } if ("MET".equalsIgnoreCase(options.getOptionValue())) { metKeyValue = options.getOptionKey(); } if ("FP".equalsIgnoreCase(options.getOptionValue())) { altAgentKey = options.getOptionKey(); } if ("FPFEILD".equalsIgnoreCase(options.getOptionValue())) { altAgentValue = options.getOptionKey(); } if ("PORT".equalsIgnoreCase(options.getOptionValue())) { portKey = options.getOptionKey(); } if ("PORTFIELD".equalsIgnoreCase(options.getOptionValue())) { portKeyValue = options.getOptionKey(); } if ("PRINTHAZBEFORE".equalsIgnoreCase(options.getOptionValue())) { printHazBeforeKeyValue = options.getOptionKey(); } if ("PRINTPPDBLBOTH".equalsIgnoreCase(options.getOptionValue())) { printPpdBlBothKey = options.getOptionKey(); } if ("INSURANCE".equalsIgnoreCase(options.getOptionValue())) { printBlInsuranceKey = options.getOptionKey(); } } } engmet = new PortsDAO() .getEngmet(lclbl.getFinalDestination() != null ? lclbl.getFinalDestination().getUnLocationCode() : lclbl.getPortOfDestination().getUnLocationCode()); String printTermsValueBodyBl = null != lclbl.getTermsType1() ? lclbl.getTermsType1() : ""; if (!"".equalsIgnoreCase(printTermsValueBodyBl)) { termsType1 = "ER".equalsIgnoreCase(printTermsValueBodyBl) ? "\nExpress Release" : "OR".equalsIgnoreCase(printTermsValueBodyBl) ? "\nOriginals Required" : "ORD".equalsIgnoreCase(printTermsValueBodyBl) ? "\nOriginals Released At Destination" : "DER".equalsIgnoreCase(printTermsValueBodyBl) ? "\nDo Not Express Release" : "MBL".equalsIgnoreCase(printTermsValueBodyBl) ? "\nMEMO HOUSE BILL OF LADING" : ""; } lclBlPiecesList = lclbl.getLclFileNumber().getLclBlPieceList(); if (CommonFunctions.isNotNull(lclbl.getPortOfLoading())) { polValues = lclbl.getPortOfLoading().getUnLocationName(); } if (CommonFunctions.isNotNull(lclbl.getPortOfLoading()) && CommonFunctions.isNotNull(lclbl.getPortOfLoading().getStateId()) && CommonFunctions.isNotNull(lclbl.getPortOfLoading().getStateId().getCode())) { polValues += "," + lclbl.getPortOfLoading().getStateId().getCode(); } Integer PodId = 0; String FreightAcctNo = null; boolean freightFlag = false; if (lclBooking.getBookingType().equals("T")) { PodId = lclbl.getLclFileNumber().getLclBookingImport().getForeignPortOfDischarge().getId(); FreightAcctNo = lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo() != null ? lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo().getAccountno() : null; } else if (lclBooking.getAgentAcct() != null) { PodId = lclBooking.getPortOfDestination().getId(); FreightAcctNo = lclBooking.getAgentAcct().getAccountno(); } if (CommonUtils.isNotEmpty(FreightAcctNo)) { agencyInfo = new AgencyInfoDAO().getAgentPickAcctNo(PodId, FreightAcctNo); if (agencyInfo != null && CommonUtils.isNotEmpty(agencyInfo[1])) { freightFlag = true; UnLocation unLocation = new UnLocationDAO().getUnlocation( StringUtils.substring(agencyInfo[1], agencyInfo[1].length() - 6).replace(")", "")); if (unLocation != null && CommonFunctions.isNotNull(unLocation.getUnLocationName())) { podValues = unLocation.getUnLocationName(); } if (unLocation != null && CommonFunctions.isNotNull(unLocation.getCountryId()) && CommonFunctions.isNotNull(unLocation.getCountryId().getCodedesc())) { podValues += ", " + unLocation.getCountryId().getCodedesc(); } } } if (CommonFunctions.isNotNull(lclbl.getPortOfDestination()) && !freightFlag) { if (CommonFunctions.isNotNull(lclbl.getPortOfDestination().getUnLocationName())) { podValues = lclbl.getPortOfDestination().getUnLocationName(); } if (CommonFunctions.isNotNull(lclbl.getPortOfDestination().getCountryId()) && CommonFunctions.isNotNull(lclbl.getPortOfDestination().getCountryId().getCodedesc())) { podValues += ", " + lclbl.getPortOfDestination().getCountryId().getCodedesc(); } } ruleName = lclbl.getLclFileNumber().getBusinessUnit(); } boolean ipeHotCodeFlag = new LclBookingHotCodeDAO().isHotCodeValidate(lclBooking.getFileNumberId(), "IPE"); if (ipeHotCodeFlag) { Iterator bookingCommentsIterator = new GenericCodeDAO().getLclPrintComments(39, "ipeclass"); while (bookingCommentsIterator.hasNext()) { Object[] row = (Object[]) bookingCommentsIterator.next(); ipeHotCodeComments = (String) row[1]; } } } public void init(String outputFileName, String realPath, String documentName, String fileId, String printRadio) throws Exception { this.printdocumentName = "Bill Of Lading"; document = new Document(PageSize.A4, 18, 3, 30, 355); pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(outputFileName)); LclAllBLPdfCreator.headerFooterEvent event = new LclAllBLPdfCreator.headerFooterEvent(); pdfWriter.setPageEvent(event); String[] file = fileId.split(","); if (file.length > 0) { this.fileId = file[file.length - 1]; document.open(); for (LclBlPiece lclBlPiece : lclBlPiecesList) { commodity_count++; document.add(commodityTab(lclBlPiece)); } if (file.length > 1) { for (int i = file.length - 2; i >= 0; i--) { page_count = 0; commodity_count = 0; this.fileId = file[i]; document.newPage(); isFirst_page = true; for (LclBlPiece lclBlPiece : lclBlPiecesList) { commodity_count++; document.add(commodityTab(lclBlPiece)); } } } document.close(); } } public PdfPTable headerSection() throws Exception { Paragraph p = null; String companyName = ""; Font blackArialFont20 = FontFactory.getFont("Arial", 20f, Font.NORMAL); table = new PdfPTable(3); table.setWidthPercentage(100f); cell = new PdfPCell(); cell.setBorder(0); companyName = LoadLogisoftProperties .getProperty(ruleName.equalsIgnoreCase("ECU") ? "application.ECU.companyname" : ruleName.equalsIgnoreCase("ECI") ? "application.Econo.companyname" : ruleName.equalsIgnoreCase("OTI") ? "application.OTI.companyname" : "application.Econo.companyname"); p = new Paragraph(2f, companyName.toUpperCase(), blackArialFont20); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(2f, this.headingAlert.equalsIgnoreCase("Y") ? "PRE-ALERT" : "", blackBoldFont14); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(2f, "BILL OF LADING", blackArialFont20); p.setAlignment(Element.ALIGN_RIGHT); cell.addElement(p); table.addCell(cell); //empty space table.addCell(createEmptyCell(0, 1f, 3)); return table; } public PdfPTable bodySection() throws Exception { String exportRefRemarks = ""; String routingInsRemarks = ""; String InsStatement = ""; StringBuilder pierValues = new StringBuilder(); String[] remarkTypes = { REMARKS_TYPE_ROUTING_INSTRU, REMARKS_TYPE_EXPORT_REF }; List remarks = new LclRemarksDAO().getRemarksByTypes(lclbl.getFileNumberId(), remarkTypes); for (Object row : remarks) { Object[] col = (Object[]) row; if (col[1].toString().equalsIgnoreCase("Export Reference")) { exportRefRemarks = col[0].toString(); } if (col[1].toString().equalsIgnoreCase("Routing Instruction")) { routingInsRemarks = col[0].toString(); } } String bill_type = lclbl.getBillingType(); billingType = bill_type.equalsIgnoreCase("P") ? "** FREIGHT PREPAID **" : bill_type.equalsIgnoreCase("C") ? "** FREIGHT COLLECT **" : bill_type.equalsIgnoreCase("B") && "Y".equalsIgnoreCase(printPpdBlBothKey) ? "** FREIGHT PREPAID **" : "** FREIGHT COLLECT **"; billType = bill_type.equalsIgnoreCase("P") ? "PPD" : bill_type.equalsIgnoreCase("C") ? "COL" : "BOTH"; LclSsDetail bookedOrPickedVoy = null; ExportVoyageSearchModel pickedDetails = new LclUnitSsDAO() .getPickedVoyageByVessel(lclBooking.getFileNumberId(), "E"); if (pickedDetails != null && CommonUtils.isNotEmpty(pickedDetails.getUnitSsId())) { LclUnitSs lclUnitSs = new LclUnitSsDAO().findById(Long.parseLong(pickedDetails.getUnitSsId())); bookedOrPickedVoy = lclUnitSs.getLclSsHeader().getVesselSsDetail(); unitNumber = lclUnitSs.getLclUnit().getUnitNo(); voyageNumber = lclUnitSs.getLclSsHeader().getScheduleNo(); sealOut = CommonUtils.isNotEmpty(lclUnitSs.getSUHeadingNote()) ? lclUnitSs.getSUHeadingNote().toUpperCase() : ""; } else { bookedOrPickedVoy = null != lclbl.getBookedSsHeaderId() ? lclbl.getBookedSsHeaderId().getVesselSsDetail() : null; } StringBuilder carrierName = new StringBuilder(); if (bookedOrPickedVoy != null) { sailDate = DateUtils.formatStringDateToAppFormatMMM(bookedOrPickedVoy.getStd()); sailDateFormat = DateUtils.formatDateToMMMMDDYYYY(bookedOrPickedVoy.getStd()); ladenSailDateRemarks = "\nLaden On Board:" + sailDate; if (CommonFunctions.isNotNull(bookedOrPickedVoy.getSpReferenceName())) { carrierName.append(bookedOrPickedVoy.getSpReferenceName()).append(" "); } if (CommonUtils.isNotEmpty(bookedOrPickedVoy.getTransMode())) { carrierName.append(bookedOrPickedVoy.getTransMode()).append(". "); } if (CommonUtils.isNotEmpty(bookedOrPickedVoy.getSpReferenceNo())) { carrierName.append(bookedOrPickedVoy.getSpReferenceNo()); } pierValues.append(bookedOrPickedVoy.getDeparture().getUnLocationName()); if (null != bookedOrPickedVoy.getDeparture().getStateId()) { pierValues.append("/").append(bookedOrPickedVoy.getDeparture().getStateId().getCode()); } } Paragraph p = null; table = new PdfPTable(2); table.setWidthPercentage(100f); table.setWidths(new float[] { 5.3f, 4.7f }); PdfPCell bCell = null; bCell = new PdfPCell(); bCell.setBorder(0); bCell.setPadding(0f); bCell.setBorderWidthBottom(0.06f); bCell.setBorderWidthTop(0.06f); bCell.setBorderWidthRight(0.06f); PdfPTable bTable = new PdfPTable(2); bTable.setWidths(new float[] { 5f, 4f }); bTable.setWidthPercentage(100f); bTable.addCell(makeCellLeftTopNoBorderFont("SHIPPER/EXPORTER", -0.5f, 0.8f, blackBoldFont65)); PdfPCell shCell = new PdfPCell(); shCell.setBorder(0); shCell.setColspan(2); shCell.setPadding(0f); shCell.setPaddingLeft(4f); shCell.setBorderWidthBottom(0.06f); shCell.setFixedHeight(65f); String shipperDetails = lclUtils.getConcatenatedAccountDetails(lclbl.getShipContact()); if (CommonUtils.isNotEmpty(shipperDetails)) { p = new Paragraph(11f, "" + shipperDetails.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); p.setSpacingAfter(15f); } else { p = new Paragraph(8f, "", totalFontQuote); shCell.setPadding(35f); } shCell.addElement(p); bTable.addCell(shCell); //consignee bTable.addCell(makeCellLeftTopNoBorderFont("CONSIGNEE", -0.5f, 0.8f, blackBoldFont65)); //consignee Values PdfPCell cvCell = new PdfPCell(); cvCell.setBorder(0); cvCell.setColspan(2); cvCell.setPadding(0f); cvCell.setPaddingLeft(4f); cvCell.setBorderWidthBottom(0.06f); cvCell.setFixedHeight(65f); String consDetails = lclUtils.getConcatenatedAccountDetails(lclbl.getConsContact()); if (CommonUtils.isNotEmpty(consDetails)) { p = new Paragraph(11f, "" + consDetails.toUpperCase(), totalFontQuote); p.setSpacingAfter(15f); p.setAlignment(Element.ALIGN_LEFT); } else { p = new Paragraph(8f, "", totalFontQuote); cvCell.setPadding(30f); } cvCell.addElement(p); bTable.addCell(cvCell); //Notify bTable.addCell(makeCellLeftTopNoBorderFont("NOTIFY PARTY", -0.5f, 0.8f, blackBoldFont65)); //consignee Values PdfPCell nvCell = new PdfPCell(); nvCell.setBorder(0); nvCell.setColspan(2); nvCell.setPadding(0f); nvCell.setPaddingLeft(4f); nvCell.setBorderWidthBottom(0.06f); nvCell.setFixedHeight(70f); String notyDetails = lclUtils.getConcatenatedAccountDetails(lclbl.getNotyContact()); if (CommonUtils.isNotEmpty(notyDetails)) { p = new Paragraph(11f, "" + notyDetails.toUpperCase(), totalFontQuote); p.setSpacingAfter(25f); p.setAlignment(Element.ALIGN_LEFT); } else { p = new Paragraph(8f, "", totalFontQuote); nvCell.setPadding(40f); } nvCell.addElement(p); bTable.addCell(nvCell); //place of receipt PdfPCell prCell = new PdfPCell(); prCell.setBorder(0); prCell.setPaddingLeft(-0.9f); prCell.setPaddingTop(-0.2f); p = new Paragraph(7f, "PLACE OF RECEIPT", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); prCell.addElement(p); bTable.addCell(prCell); /* Pier Logic */ String pier = "N".equalsIgnoreCase(printPierPol) ? ("N".equalsIgnoreCase(printPierPol) && !"N".equalsIgnoreCase(hblPierOverRideKey)) ? hblPierOverRideKey : pierValues.toString() : ""; /* POL Logic */ String pol = ""; if ("Y".equalsIgnoreCase(printPierPol)) { if ("N".equalsIgnoreCase(hblPierOverRideKey)) { pol = pierValues.toString(); } else { pol = hblPierOverRideKey; } } else { pol = !"N".equalsIgnoreCase(hblPolOverRideKey) ? hblPolOverRideKey : polValues; } Boolean checkBlInsurance = new LclBlAcDAO().checkBlInsurance(lclbl.getFileNumberId(), INSURANCE_CHARGE_CODE); if (checkBlInsurance && "Y".equalsIgnoreCase(printBlInsuranceKey)) { InsStatement = LoadLogisoftProperties.getProperty("InsuranceChargeComment"); } PdfPCell pierCell = new PdfPCell(); pierCell.setBorder(0); pierCell.setBorderWidthLeft(0.06f); pierCell.setPaddingTop(-0.2f); p = new Paragraph(7f, "PIER", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); pierCell.addElement(p); bTable.addCell(pierCell); //place of receipt values PdfPCell prvCell = new PdfPCell(); prvCell.setBorder(0); prvCell.setBorderWidthBottom(0.06f); if (lclBooking.getPooPickup()) { LclBookingPad lclBookingPad = lclBooking.getLclFileNumber().getLclBookingPadList().get(0); String pickUp_city = lclBookingPad.getPickUpCity().replaceAll("/", ","); pickUp_city = pickUp_city.substring(pickUp_city.indexOf("-") + 1, pickUp_city.length()); p = new Paragraph(7f, "" + pickUp_city.toUpperCase(), totalFontQuote); } else { StringBuilder placeofReceipt = new StringBuilder(); if (null != lclbl.getPortOfOrigin()) { placeofReceipt.append(lclbl.getPortOfOrigin().getUnLocationName()); if (CommonFunctions.isNotNull(lclbl.getPortOfOrigin().getStateId()) && CommonFunctions.isNotNull(lclbl.getPortOfOrigin().getStateId().getCode())) { placeofReceipt.append(",").append(lclbl.getPortOfOrigin().getStateId().getCode()); } } p = new Paragraph(7f, "" + placeofReceipt.toString().toUpperCase(), totalFontQuote); } p.setSpacingAfter(5f); p.setSpacingBefore(5f); p.setAlignment(Element.ALIGN_LEFT); prvCell.addElement(p); bTable.addCell(prvCell); //pier values PdfPCell piervCell = new PdfPCell(); piervCell.setBorder(0); piervCell.setBorderWidthLeft(0.06f); piervCell.setBorderWidthBottom(0.06f); p = new Paragraph(7f, "" + pier, totalFontQuote); p.setSpacingAfter(5f); p.setSpacingBefore(5f); p.setAlignment(Element.ALIGN_LEFT); piervCell.addElement(p); bTable.addCell(piervCell); //exporting carrier PdfPCell ecCell = new PdfPCell(); ecCell.setBorder(0); ecCell.setPaddingLeft(-0.5f); ecCell.setPaddingTop(-0.2f); p = new Paragraph(7f, "EXPORTING CARRIER (Vessel) (Flag)", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); ecCell.addElement(p); bTable.addCell(ecCell); //portof loading PdfPCell portCell = new PdfPCell(); portCell.setBorder(0); portCell.setPaddingTop(-0.2f); portCell.setBorderWidthLeft(0.06f); p = new Paragraph(7f, "PORT OF LOADING", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); portCell.addElement(p); bTable.addCell(portCell); //exporting values PdfPCell exvCell = new PdfPCell(); exvCell.setBorder(0); exvCell.setFixedHeight(15f); exvCell.setBorderWidthBottom(0.06f); p = new Paragraph(7f, "" + carrierName.toString().toUpperCase(), totalFontQuote); p.setSpacingAfter(5f); p.setSpacingBefore(5f); p.setAlignment(Element.ALIGN_LEFT); exvCell.addElement(p); bTable.addCell(exvCell); //port of loading values PdfPCell portvCell = new PdfPCell(); portvCell.setBorder(0); portvCell.setBorderWidthLeft(0.06f); portvCell.setBorderWidthBottom(0.06f); p = new Paragraph(7f, "" + pol.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); portvCell.addElement(p); bTable.addCell(portvCell); //sea port of discharge PdfPCell seaCell = new PdfPCell(); seaCell.setBorder(0); seaCell.setPaddingLeft(-0.5f); seaCell.setPaddingTop(-0.2f); p = new Paragraph(7f, "SEA PORT OF DISCHARGE", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); seaCell.addElement(p); bTable.addCell(seaCell); //finalde PdfPCell finalCell = new PdfPCell(); finalCell.setBorder(0); finalCell.setBorderWidthLeft(0.06f); finalCell.setPaddingTop(-0.2f); p = new Paragraph(7f, "FINAL DELIVERY TO", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); finalCell.addElement(p); bTable.addCell(finalCell); //sea values PdfPCell seavCell = new PdfPCell(); seavCell.setBorder(0); seavCell.setFixedHeight(25f); // seavCell.setBorderWidthBottom(0.06f); p = new Paragraph(7f, "" + podValues.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); seavCell.addElement(p); bTable.addCell(seavCell); //fina deliver values String finalDest = !fdOverride.equalsIgnoreCase("N") ? fdOverride : (agencyInfo != null && CommonUtils.isNotEmpty(agencyInfo[2])) ? agencyInfo[2] : blUtils.getBLConcatenatedFinalDestination(lclbl); PdfPCell finalvCell = new PdfPCell(); finalvCell.setBorder(0); finalvCell.setBorderWidthLeft(0.06f); p = new Paragraph(7f, !finalDest.equalsIgnoreCase(podValues) ? "" + finalDest.toUpperCase() : "", totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); finalvCell.addElement(p); bTable.addCell(finalvCell); bCell.addElement(bTable); table.addCell(bCell); //2column cell = new PdfPCell(); cell.setBorder(0); cell.setPadding(0f); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); PdfPTable pTable = new PdfPTable(2); pTable.setWidths(new float[] { 4f, 2f }); pTable.setWidthPercentage(100f); PdfPCell nCell = null; nCell = new PdfPCell(); nCell.setBorder(0); nCell.setPaddingTop(0.2f); p = new Paragraph(7f, "DOCUMENT NO", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); nCell.addElement(p); pTable.addCell(nCell); nCell = new PdfPCell(); nCell.setBorder(0); nCell.setPaddingTop(0.2f); p = new Paragraph(7f, "PAGE : " + ++page_count, blackBoldFont65); p.setAlignment(Element.ALIGN_RIGHT); nCell.addElement(p); pTable.addCell(nCell); String consolidateNumber = new LclConsolidateDAO() .getConsolidatesFileNumbers(lclbl.getLclFileNumber().getId().toString()); consolidateNumber = null == consolidateNumber ? lclbl.getLclFileNumber().getFileNumber() : lclbl.getLclFileNumber().getFileNumber() + "," + consolidateNumber; PdfPCell dvCell = new PdfPCell(); dvCell.setBorder(0); dvCell.setColspan(2); dvCell.setBorderWidthBottom(0.06f); dvCell.setPaddingLeft(8f); dvCell.setPaddingBottom(5f); dvCell.setPaddingTop(2f); p = new Paragraph(8f, "" + consolidateNumber.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); dvCell.addElement(p); pTable.addCell(dvCell); PdfPCell eCell = new PdfPCell(); eCell.setBorder(0); eCell.setPaddingTop(0.2f); eCell.setColspan(2); p = new Paragraph(7f, "EXPORT REFERENCE", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); eCell.addElement(p); pTable.addCell(eCell); PdfPCell evCell = new PdfPCell(); evCell.setBorder(0); evCell.setColspan(2); evCell.setBorderWidthBottom(0.06f); evCell.setPaddingLeft(8f); evCell.setFixedHeight(35f); exportRefRemarks = exportRefRemarks + ("EXPORT".equalsIgnoreCase(ladenSailDateOptKey) ? ladenSailDateRemarks : "") + ("EXPORT".equalsIgnoreCase(printTermsTypeKey) ? termsType1 : ""); if (exportRefRemarks != null && !exportRefRemarks.equals("")) { p = new Paragraph(10f, "" + exportRefRemarks, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); } else { p = new Paragraph(8f, "", contentBLNormalFont); } evCell.addElement(p); pTable.addCell(evCell); PdfPCell fCell = new PdfPCell(); fCell.setBorder(0); fCell.setColspan(2); fCell.setPaddingTop(0.2f); p = new Paragraph(7f, "FORWARDING AGENT-REFERENCES", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); fCell.addElement(p); pTable.addCell(fCell); //forwarding avlues PdfPCell fvCell = new PdfPCell(); fvCell.setBorder(0); fvCell.setColspan(2); fvCell.setPaddingLeft(3f); fvCell.setPaddingTop(2f); fvCell.setBorderWidthBottom(0.06f); fvCell.setFixedHeight(65f); if (null != lclbl.getFwdAcct() && !lclbl.getFwdAcct().getAccountName().equalsIgnoreCase("NO FRT. FORWARDER ASSIGNED")) { boolean forwarderAcctFlag = new LCLBlDAO() .getFreightForwardAcctStatus(lclbl.getFwdAcct().getAccountno()); String fwdDetails = lclUtils.getConcatenatedAccountDetails(lclbl.getFwdContact()); if (CommonUtils.isNotEmpty(fwdDetails) && !forwarderAcctFlag) { p = new Paragraph(11f, "" + fwdDetails.toUpperCase(), totalFontQuote); p.setSpacingAfter(15f); p.setAlignment(Element.ALIGN_LEFT); } else { p = new Paragraph(8f, "", totalFontQuote); fvCell.setPadding(25f); } fvCell.addElement(p); pTable.addCell(fvCell); } else { p = new Paragraph(8f, "", totalFontQuote); fvCell.setBorderWidthBottom(0.06f); pTable.addCell(fvCell); } //pointoforigin PdfPCell pCell = new PdfPCell(); pCell.setBorder(0); pCell.setColspan(2); pCell.setPaddingTop(0.2f); p = new Paragraph(7f, "POINT AND COUNTRY OF ORIGIN", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); pCell.addElement(p); pTable.addCell(pCell); //point avlues PdfPCell pvCell = new PdfPCell(); pvCell.setBorder(0); pvCell.setColspan(2); pvCell.setPaddingLeft(8f); pvCell.setPaddingBottom(5f); pvCell.setPaddingTop(2f); pvCell.setFixedHeight(20f); pvCell.setBorderWidthBottom(0.06f); if (lclbl.getPointOfOrigin() != null) { p = new Paragraph(9f, "" + lclbl.getPointOfOrigin(), totalFontQuote); pvCell.addElement(p); } p.setAlignment(Element.ALIGN_LEFT); pTable.addCell(pvCell); //domes PdfPCell doCell = new PdfPCell(); doCell.setBorder(0); doCell.setColspan(2); doCell.setPaddingTop(0.2f); p = new Paragraph(7f, "DOMESTIC ROUTING/EXPORT INSTRUCTIONS", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); doCell.addElement(p); pTable.addCell(doCell); //point avlues PdfPCell dovCell = new PdfPCell(); dovCell.setBorder(0); dovCell.setColspan(2); dovCell.setPaddingLeft(8f); dovCell.setBorderWidthBottom(0.06f); dovCell.setFixedHeight(45f); routingInsRemarks = routingInsRemarks + ("ROUTING".equalsIgnoreCase(ladenSailDateOptKey) ? ladenSailDateRemarks : "") + ("ROUTING".equalsIgnoreCase(printTermsTypeKey) ? termsType1 : ""); if (routingInsRemarks != null && !"".equalsIgnoreCase(routingInsRemarks)) { p = new Paragraph(10f, "" + routingInsRemarks, totalFontQuote); p.setSpacingAfter(10f); p.setAlignment(Element.ALIGN_LEFT); } else { p = new Paragraph(8f, "", contentBLNormalFont); dovCell.setPadding(15f); } dovCell.addElement(p); pTable.addCell(dovCell); //addito PdfPCell adCell = new PdfPCell(); adCell.setBorder(0); adCell.setColspan(2); adCell.setPaddingTop(0.2f); p = new Paragraph(7f, "ADDITIONAL DOCUMENT NUMBERS", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); adCell.addElement(p); pTable.addCell(adCell); //add values PdfPCell advCell = new PdfPCell(); advCell.setBorder(0); advCell.setColspan(2); advCell.setPadding(10f); p = new Paragraph(7f, InsStatement, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); advCell.addElement(p); pTable.addCell(advCell); cell.addElement(pTable); table.addCell(cell); return table; } public PdfPTable commodityHeadingSection() throws Exception { Paragraph p = null; cell = null; table = new PdfPTable(6); table.setWidthPercentage(101f); table.setWidths(new float[] { 0f, 2f, 0.74f, 4.72f, 1.048f, 1.048f }); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(6); cell.setBorderWidthBottom(0.6f); p = new Paragraph(2f, "PARTICULARS FURNISHED BY SHIPPER", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); //marks cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6f); p = new Paragraph(6f, "MARKS AND NUMBERS", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); //no of pkgs cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6f); cell.setBorderWidthLeft(0.6f); p = new Paragraph(6f, "NO.OF.PKGS", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); //desc cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6f); cell.setBorderWidthLeft(0.6f); p = new Paragraph(6f, "DESCRIPTION OF PACKAGES AND GOODS", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); //grossweight cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6f); cell.setBorderWidthLeft(0.6f); p = new Paragraph(6f, "GROSS WEIGHT", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); //measure cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6f); cell.setBorderWidthLeft(0.6f); p = new Paragraph(6f, "MEASURE", blackBoldFont65); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); return table; } public PdfPTable commodityTab(LclBlPiece lclBlPiece) throws DocumentException, Exception { LclReportUtils reportUtils = new LclReportUtils(); LclConsolidateDAO consolidateDAO = new LclConsolidateDAO(); List<Long> conoslidatelist = consolidateDAO.getConsolidatesFiles(lclbl.getFileNumberId()); conoslidatelist.add(lclbl.getFileNumberId()); Lcl3pRefNoDAO _3pRefNoDAO = new Lcl3pRefNoDAO(); StringBuilder inbondAppend = new StringBuilder();//Inbond inbondAppend.append(reportUtils.appendInbond(conoslidatelist, new LclInbondsDAO())); StringBuilder ncmAppend = new StringBuilder();//NCM ncmAppend.append(reportUtils.appendNcm(conoslidatelist, _3pRefNoDAO)); StringBuilder hsAppend = new StringBuilder();//HS hsAppend.append(reportUtils.appendHsCode(conoslidatelist, new LclBookingHsCodeDAO())); StringBuilder aesAppend = new StringBuilder();//AES aesAppend.append(reportUtils.appendAes(conoslidatelist, _3pRefNoDAO)); Paragraph p = null; table = new PdfPTable(5); table.setWidthPercentage(100f); table.setWidths(new float[] { 2f, 0.75f, 4.74f, 1.047f, 1.047f }); LclHazmatDAO hazmatDAO = new LclHazmatDAO(); StringBuilder hazmatValues = new StringBuilder(); if (commodity_count == 1) { hazmatValues.append(reportUtils.appendHazmatForFreightInvoice(conoslidatelist, hazmatDAO));//Hazmat List } cell = new PdfPCell(); cell.setBorder(0); if (lclBlPiece.getMarkNoDesc() != null && !lclBlPiece.getMarkNoDesc().equals("")) { p = new Paragraph(7f, "" + lclBlPiece.getMarkNoDesc().toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if (CommonUtils.isNotEmpty(inbondAppend)) { p = new Paragraph(7f, "INBOND:" + inbondAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("N".equalsIgnoreCase(ncmKeyValue) && CommonUtils.isNotEmpty(ncmAppend)) { p = new Paragraph(7f, "" + ncmAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("N".equalsIgnoreCase(aesKeyValue) && CommonUtils.isNotEmpty(aesAppend)) { p = new Paragraph(7f, "" + aesAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("N".equalsIgnoreCase(hsKeyValue) && CommonUtils.isNotEmpty(hsAppend)) { p = new Paragraph(7f, "" + hsAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("MARKS".equalsIgnoreCase(printTermsTypeKey)) { p = new Paragraph(7f, "" + termsType1, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } table.addCell(cell); //no of pkgs cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (printdocumentName.equalsIgnoreCase("Bill Of Lading") && "Y".equalsIgnoreCase(miniKeyValue)) { List<LclBookingPiece> lclBookingPieceList = new LclBookingPieceDAO() .getConsolidatePieceCount(conoslidatelist); for (LclBookingPiece bkgPiece : lclBookingPieceList) { String packageDesc = null != bkgPiece.getActualPackageType() ? bkgPiece.getActualPackageType().getAbbr01() : bkgPiece.getPackageType().getAbbr01(); Integer pieceCount = bkgPiece.getActualPieceCount() != null ? bkgPiece.getActualPieceCount() : bkgPiece.getBookedPieceCount(); p = new Paragraph(7f, "" + pieceCount + " " + packageDesc, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); } } else if (lclBlPiece != null && lclBlPiece.getActualPieceCount() != null && lclBlPiece.getPackageType().getAbbr01() != null) { p = new Paragraph(7f, "" + lclBlPiece.getActualPieceCount() + " " + lclBlPiece.getPackageType().getAbbr01(), totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); // p.setSpacingAfter(spaceSize); cell.addElement(p); } table.addCell(cell); //desc cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); // print option "Y" Print Haz info first before Descriptions if (CommonUtils.isNotEmpty(hazmatValues) && "Y".equalsIgnoreCase(printHazBeforeKeyValue)) { String hazmat = hazmatValues.toString().replace("WEIGHT", "WT"); p = new Paragraph(7f, "" + hazmat.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); p.setSpacingAfter(10f); cell.addElement(p); } String commodityDesc = null != lclBlPiece.getPieceDesc() ? lclBlPiece.getPieceDesc().toUpperCase() : ""; p = new Paragraph(6.7f, "" + commodityDesc + ("BODYBL".equalsIgnoreCase(ladenSailDateOptKey) ? ladenSailDateRemarks : "") + ("BODYBL".equalsIgnoreCase(printTermsTypeKey) ? termsType1 : ""), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); if (CommonUtils.isNotEmpty(hazmatValues) && "N".equalsIgnoreCase(printHazBeforeKeyValue)) { String hazmat = hazmatValues.toString().replace("WEIGHT", "WT"); p = new Paragraph(7f, "" + hazmat.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("Y".equalsIgnoreCase(ncmKeyValue) && CommonUtils.isNotEmpty(ncmAppend)) { p = new Paragraph(7f, "" + ncmAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("Y".equalsIgnoreCase(aesKeyValue) && CommonUtils.isNotEmpty(aesAppend)) { p = new Paragraph(7f, "" + aesAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } if ("Y".equalsIgnoreCase(hsKeyValue) && CommonUtils.isNotEmpty(hsAppend)) { p = new Paragraph(7f, "" + hsAppend.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } table.addCell(cell); setCaribbenAndNonCaribben(lclBlPiece, impKeyValue, metKeyValue, "M".equalsIgnoreCase(engmet)); if (commodity_count == lclBlPiecesList.size()) { table.setExtendLastRow(true); } return table; } public PdfPTable addingCommodityValues() throws DocumentException, ParseException, Exception { Font font6 = new Font(FontFamily.COURIER, 6f, Font.BOLD); Font blackContentNormalFont8 = FontFactory.getFont("Arial", 8f, Font.NORMAL); Paragraph p = null; table = new PdfPTable(5); table.setWidthPercentage(100f); table.setWidths(new float[] { 2.74f, 1f, 6.33f, 1.40f, 1.40f }); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, " " + ipeHotCodeComments, blackContentNormalFont8); p.setAlignment(Element.ALIGN_LEFT); p.setSpacingAfter(2f); cell.addElement(p); p = new Paragraph(7f, "" + billingType, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingAfter(2f); cell.addElement(p); if ("Y".equalsIgnoreCase(receiveKeyValue)) { p = new Paragraph(7f, "*** PLEASE NOTE THAT PAYMENT MUST BE RECEIVED PRIOR TO ISSUING EXPRESS RELEASE / ORIGINAL HBL ***", blackContentNormalFont8); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } p = new Paragraph(7f, "I HEREBY DECLARE THAT THE ABOVE NAMED MATERIALS ARE PROPERLY CLASSIFIED," + "\n" + "DESCRIBED,PACKAGED, MARKED, AND LABELED, AND ARE IN PROPER CONDITION FOR" + "\n" + "TRANSPORTATION ACCORDING TO THE APPLICABLE REGULATIONS OF THE DEPARTMENT" + "\n" + " OF TRANSPORTATION AND IMO.", font6); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(5); p = new Paragraph(7f, " Declared value per Package if value is More Than $500 Per Package USD___________________________", blackContentNormalFont8); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingBefore(5f); cell.addElement(p); p = new Paragraph(7f, "These Commodities, Technology Or Software Were Exported From the United States in Accordance with the Export " + "Administration Regulations.", blackContentNormalFont8); p.setSpacingBefore(5f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); p = new Paragraph(7f, "Diversion Contrary To U.S. Law Prohibited.", blackContentNormalFont8); p.setSpacingBefore(3f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); return table; } public PdfPTable commodityValues() throws DocumentException, ParseException, Exception { Paragraph p = null; table = new PdfPTable(2); table.setWidthPercentage(100f); table.setWidths(new float[] { 5f, 3.2f }); cell = new PdfPCell(); cell.setBorder(2); cell.setBorderWidthTop(0.6f); cell.setBorderWidthRight(0.6f); cell.setBorderWidthBottom(0f); if (isFirst_page) { cell.addElement(appendChargesAndCommodity()); isFirst_page = false; } else { cell.setFixedHeight(100f); } table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthTop(0.6f); cell.addElement(appendDescComments()); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); PdfPTable fileAndLogo = new PdfPTable(2); fileAndLogo.setWidthPercentage(100f); fileAndLogo.setWidths(new float[] { 4f, 2f }); PdfPCell file = new PdfPCell(); file.setBorder(0); String blNumbering = new LCLBlDAO().getExportBlNumbering(lclbl.getLclFileNumber().getId().toString()); p = new Paragraph(16f, "B/L# " + blNumbering, blackBoldFont14); file.setPaddingTop(-6f); file.addElement(p); fileAndLogo.addCell(file); String companyLogo = LoadLogisoftProperties.getProperty( "ECU".equalsIgnoreCase(ruleName) ? "application.image.logo" : "application.image.econo.logo"); Image img = Image.getInstance(servletPath + companyLogo); img.scalePercent(25); file = new PdfPCell(img); file.setBorder(0); file.setBorder(Rectangle.NO_BORDER); file.setHorizontalAlignment(Element.ALIGN_LEFT); file.setVerticalAlignment(Element.ALIGN_LEFT); file.setBorder(0); fileAndLogo.addCell(file); cell.addElement(fileAndLogo); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); return table; } public PdfPTable companyLogo(String realPath) throws Exception { String path = LoadLogisoftProperties.getProperty("application.image.logo"); table = new PdfPTable(1); table.setWidthPercentage(100f); Image img = Image.getInstance(realPath + path); img.scalePercent(75); PdfPCell logoCell = new PdfPCell(img); logoCell.setBorder(Rectangle.NO_BORDER); logoCell.setHorizontalAlignment(Element.ALIGN_LEFT); logoCell.setVerticalAlignment(Element.ALIGN_LEFT); logoCell.setBorder(0); logoCell.setPaddingLeft(50); table.addCell(logoCell); return table; } public void setCaribbenAndNonCaribben(LclBlPiece lclBlPiece, String impKeyValue, String metKeyValue, boolean iscaribben) throws Exception { String AWImp = "0.000", AVImp = "0.000"; String AWMet = "0.000", AVMet = "0.000"; if (lclBlPiece.getActualWeightImperial() != null) { AWImp = "Y".equalsIgnoreCase(impKeyValue) ? NumberUtils.convertToThreeDecimalhash(lclBlPiece.getActualWeightImperial().doubleValue()) : lclBlPiece.getActualWeightImperial().setScale(0, BigDecimal.ROUND_HALF_UP).toString(); } if (lclBlPiece.getActualVolumeImperial() != null) { AVImp = "Y".equalsIgnoreCase(impKeyValue) ? NumberUtils.convertToThreeDecimalhash(lclBlPiece.getActualVolumeImperial().doubleValue()) : lclBlPiece.getActualVolumeImperial().setScale(0, BigDecimal.ROUND_HALF_UP).toString(); } if ("N".equalsIgnoreCase(metKeyValue) && lclBlPiece.getActualWeightMetric() != null) { AWMet = NumberUtils.convertToThreeDecimalhash(lclBlPiece.getActualWeightMetric().doubleValue()); } if ("N".equalsIgnoreCase(metKeyValue) && lclBlPiece.getActualVolumeMetric() != null) { AVMet = NumberUtils.convertToThreeDecimalhash(lclBlPiece.getActualVolumeMetric().doubleValue()); } Paragraph p = null; cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); PdfPTable inner_Table = new PdfPTable(1); inner_Table.setWidthPercentage(100f); PdfPCell inner_Cell = null; inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setBorderWidthBottom(0.6f); p = new Paragraph(6f, iscaribben ? "LBS" : "KGS", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); p = new Paragraph(7f, iscaribben ? AWImp : AWMet, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setPaddingBottom(18f); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); if ("N".equalsIgnoreCase(metKeyValue)) { inner_Cell.setBorderWidthBottom(0.6f); p = new Paragraph(6f, iscaribben ? "KGS" : "LBS", blackBoldFont65); } else { AWMet = ""; AWImp = ""; p = new Paragraph(6f, "", blackBoldFont65); } p.setAlignment(Element.ALIGN_LEFT); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); p = new Paragraph(7f, iscaribben ? AWMet : AWImp, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); if (commodity_count != lclBlPiecesList.size()) { inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setPaddingBottom(16f); inner_Table.addCell(inner_Cell); } cell.addElement(inner_Table); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); inner_Table = new PdfPTable(1); inner_Table.setWidthPercentage(100f); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setBorderWidthBottom(0.6f); p = new Paragraph(6f, iscaribben ? "CU.FT." : "CBM", blackBoldFont65); p.setAlignment(Element.ALIGN_LEFT); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); p = new Paragraph(7f, iscaribben ? AVImp : AVMet, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setPaddingBottom(18f); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); if ("N".equalsIgnoreCase(metKeyValue)) { inner_Cell.setBorderWidthBottom(0.6f); p = new Paragraph(6f, iscaribben ? "CBM" : "CU.FT.", blackBoldFont65); } else { AVMet = ""; AVImp = ""; p = new Paragraph(6f, "", blackBoldFont65); } p.setAlignment(Element.ALIGN_LEFT); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); p = new Paragraph(7f, iscaribben ? AVMet : AVImp, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); inner_Cell.addElement(p); inner_Table.addCell(inner_Cell); if (commodity_count != lclBlPiecesList.size()) { inner_Cell = new PdfPCell(); inner_Cell.setBorder(0); inner_Cell.setPaddingBottom(16f); inner_Table.addCell(inner_Cell); } cell.addElement(inner_Table); table.addCell(cell); } public PdfPTable appendChargesAndCommodity() throws Exception { LclBlAcDAO lclBlAcDAO = new LclBlAcDAO(); List<LclBlPiece> lclBlPiecesList = lclbl.getLclFileNumber().getLclBlPieceList(); List<LclBlAc> chargeList = lclBlAcDAO.getLclCostByFileNumberAsc(lclbl.getFileNumberId()); PdfPTable chargeTable = new PdfPTable(6); PdfPCell chargeCell = null; chargeTable.setWidths(new float[] { 3.8f, 1.5f, .8f, 3.8f, 1.5f, .8f }); chargeTable.setWidthPercentage(100f); Paragraph p = null; this.total_ar_amount = 0.00; this.total_ar_col_amount = 0.00; this.total_ar_ppd_amount = 0.00; List<LinkedHashMap<String, PdfPCell>> listChargeMap = null; LinkedHashMap<String, PdfPCell> chargeMap = null; if ("BOTH".equalsIgnoreCase(billType)) { listChargeMap = this.getTotalChargesList(chargeList, lclBlPiecesList); } else { chargeMap = this.getTotalCharges(chargeList, lclBlPiecesList); } LclBlAc blAC = lclBlAcDAO.manualChargeValidate(lclbl.getFileNumberId(), "OCNFRT", false); if (lclBlPiecesList != null && lclBlPiecesList.size() > 0 && blAC != null) { BigDecimal CFT = BigDecimal.ZERO, LBS = BigDecimal.ZERO; LclBlPiece lclBlPiece = (LclBlPiece) lclBlPiecesList.get(0); if (blAC.getRatePerUnitUom() != null) { CFT = blAC.getRatePerUnitUom().equalsIgnoreCase("FRV") ? blAC.getRatePerVolumeUnit() : BigDecimal.ZERO; LBS = blAC.getRatePerUnitUom().equalsIgnoreCase("FRW") ? blAC.getRatePerWeightUnit() : BigDecimal.ZERO; } if (CFT != BigDecimal.ZERO || LBS != BigDecimal.ZERO) { StringBuilder cbmValues = new StringBuilder(); if (CFT != BigDecimal.ZERO && lclBlPiece.getActualVolumeImperial() != null) { cbmValues.append(NumberUtils .convertToThreeDecimalhash(lclBlPiece.getActualVolumeImperial().doubleValue())); } if (LBS != BigDecimal.ZERO && lclBlPiece.getActualWeightImperial() != null) { cbmValues.append(NumberUtils .convertToThreeDecimalhash(lclBlPiece.getActualWeightImperial().doubleValue())); } if (null != blAC.getArAmount() && blAC.getArAmount().toString().equalsIgnoreCase(OCNFRT_Total)) { if (CFT == BigDecimal.ZERO) { cbmValues.append(" LBS @ ").append(LBS).append(" PER 100 LBS @ ") .append(blAC.getArAmount()); } else { cbmValues.append(" CFT @ ").append(CFT).append(" PER CFT @").append(blAC.getArAmount()); } chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(6); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(6); p = new Paragraph(2f, "" + cbmValues.toString().toUpperCase(), totalFontQuote); p.add(new Paragraph(2f, null != lclBlPiece && null != lclBlPiece.getCommodityType() ? " Commodity# " + lclBlPiece.getCommodityType().getCode() : " Commodity#", totalFontQuote)); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } } } this.OCNFRT_Total = ""; LinkedHashMap<String, PdfPCell> left_chargeMap = new LinkedHashMap<String, PdfPCell>(); LinkedHashMap<String, PdfPCell> right_chargeMap = new LinkedHashMap<String, PdfPCell>(); if ("BOTH".equalsIgnoreCase(billType) && listChargeMap != null && !listChargeMap.isEmpty()) { if (listChargeMap.size() > 1) { if (listChargeMap.get(0).size() > 6 || listChargeMap.get(1).size() > 6) { chargeMap = new LinkedHashMap<String, PdfPCell>(); chargeMap.putAll(listChargeMap.get(0)); chargeMap.putAll(listChargeMap.get(1)); int count = 0, size = chargeMap.size() / 2 <= 6 ? 6 : chargeMap.size() / 2; for (String key : chargeMap.keySet()) { if (count++ < size) { left_chargeMap.put(key, chargeMap.get(key)); } else { right_chargeMap.put(key, chargeMap.get(key)); } } } else { left_chargeMap.putAll(listChargeMap.get(0)); right_chargeMap.putAll(listChargeMap.get(1)); } } else { int count = 0, size = listChargeMap.get(0).size() / 2 <= 6 ? 6 : listChargeMap.get(0).size() / 2; for (String key : listChargeMap.get(0).keySet()) { if (count++ < size) { left_chargeMap.put(key, listChargeMap.get(0).get(key)); } else { right_chargeMap.put(key, listChargeMap.get(0).get(key)); } } } } else if (chargeMap != null && !chargeMap.isEmpty()) { int count = 0, size = chargeMap.size() / 2 <= 6 ? 6 : chargeMap.size() / 2; for (String key : chargeMap.keySet()) { if (count++ < size) { left_chargeMap.put(key, chargeMap.get(key)); } else { right_chargeMap.put(key, chargeMap.get(key)); } } } if (!left_chargeMap.isEmpty()) { String chargeDesc = null; PdfPTable innner_chargeTable = new PdfPTable(2); innner_chargeTable.setWidthPercentage(100f); PdfPCell inner_chargeCell = null; chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(3); chargeCell.setBorderWidthRight(0.6f); chargeCell.setPadding(0); innner_chargeTable = new PdfPTable(2); innner_chargeTable.setWidths(new float[] { 5f, 3f }); if (!left_chargeMap.isEmpty()) { for (String key : left_chargeMap.keySet()) { inner_chargeCell = new PdfPCell(); inner_chargeCell.setBorder(0); inner_chargeCell.setPaddingLeft(-15); chargeDesc = key.substring(key.indexOf("#") + 1, key.indexOf("$")); inner_chargeCell.addElement(new Paragraph(7f, "" + chargeDesc, totalFontQuote)); innner_chargeTable.addCell(inner_chargeCell); inner_chargeCell = new PdfPCell(); inner_chargeCell.setBorder(0); inner_chargeCell = left_chargeMap.get(key); innner_chargeTable.addCell(inner_chargeCell); } } chargeCell.addElement(innner_chargeTable); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(3); chargeCell.setPadding(0); innner_chargeTable = new PdfPTable(2); innner_chargeTable.setWidths(new float[] { 5f, 3f }); if (!left_chargeMap.isEmpty()) { for (String key : right_chargeMap.keySet()) { inner_chargeCell = new PdfPCell(); inner_chargeCell.setBorder(0); inner_chargeCell.setPaddingLeft(-15); chargeDesc = key.substring(key.indexOf("#") + 1, key.indexOf("$")); inner_chargeCell.addElement(new Paragraph(7f, "" + chargeDesc, totalFontQuote)); innner_chargeTable.addCell(inner_chargeCell); inner_chargeCell = new PdfPCell(); inner_chargeCell.setBorder(0); inner_chargeCell = right_chargeMap.get(key); innner_chargeTable.addCell(inner_chargeCell); } } chargeCell.addElement(innner_chargeTable); chargeTable.addCell(chargeCell); } else { this.total_ar_amount = 0.00; this.total_ar_ppd_amount = 0.00; this.total_ar_col_amount = 0.00; } String acctNo = ""; String billToParty = ""; if (CommonFunctions.isNotNull(lclbl.getBillToParty()) && CommonUtils.isNotEmpty(lclbl.getBillToParty())) { if (lclbl.getBillToParty().equalsIgnoreCase("T") && CommonFunctions.isNotNull(lclbl.getThirdPartyAcct())) { billToParty = "THIRD PARTY"; acctNo = lclbl.getThirdPartyAcct().getAccountno(); } else if (lclbl.getBillToParty().equalsIgnoreCase("S") && CommonFunctions.isNotNull(lclbl.getShipAcct())) { billToParty = "SHIPPER"; acctNo = lclbl.getShipAcct().getAccountno(); } else if (lclbl.getBillToParty().equalsIgnoreCase("F") && CommonFunctions.isNotNull(lclbl.getFwdAcct())) { billToParty = "FORWARDER"; acctNo = lclbl.getFwdAcct().getAccountno(); } else if (lclbl.getBillToParty().equalsIgnoreCase("A") && CommonFunctions.isNotNull(lclbl.getAgentAcct())) { billToParty = "AGENT"; if (lclBooking.getBookingType().equals("T") && lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo() != null) { acctNo = lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo().getAccountno(); } else if (lclBooking.getAgentAcct() != null) { acctNo = lclBooking.getAgentAcct().getAccountno(); } else { acctNo = lclbl.getAgentAcct().getAccountno(); } } } if ("BOTH".equalsIgnoreCase(billType)) { if (this.total_ar_ppd_amount != 0.00 || this.total_ar_col_amount != 0.00) { if (this.total_ar_ppd_amount != 0.00) { if (CommonFunctions.isNotNullOrNotEmpty(ppdBillToSet) && ppdBillToSet.size() == 1) { for (String billTo : ppdBillToSet) { arBillToParty = billTo; break; } if (arBillToParty.equalsIgnoreCase("T")) { billToParty = "THIRD PARTY"; acctNo = null != lclbl.getThirdPartyAcct() ? lclbl.getThirdPartyAcct().getAccountno() : acctNo; } else if (arBillToParty.equalsIgnoreCase("S")) { acctNo = null != lclbl.getShipAcct() ? lclbl.getShipAcct().getAccountno() : acctNo; billToParty = "SHIPPER"; } else if (arBillToParty.equalsIgnoreCase("F")) { billToParty = "FORWARDER"; acctNo = null != lclbl.getFwdAcct() ? lclbl.getFwdAcct().getAccountno() : acctNo; } } else { acctNo = null; } chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(2); p = new Paragraph(7f, "T O T A L (USA)", totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setColspan(4); chargeCell.setBorder(0); if (null != acctNo) { p = new Paragraph(7f, "$" + NumberUtils.convertToTwoDecimal(this.total_ar_ppd_amount) + " PPD " + billToParty + "-" + acctNo, totalFontQuote); } else { p = new Paragraph(7f, "$" + NumberUtils.convertToTwoDecimal(this.total_ar_ppd_amount) + " PPD ", totalFontQuote); } p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } if (this.total_ar_col_amount != 0.00) { String colAcctNo = ""; if (lclBooking.getBookingType().equals("T") && lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo() != null) { colAcctNo = lclbl.getLclFileNumber().getLclBookingImport().getExportAgentAcctNo() .getAccountno(); } else if (lclBooking.getAgentAcct() != null) { colAcctNo = lclBooking.getAgentAcct().getAccountno(); } else if (lclbl.getAgentAcct() != null) { colAcctNo = lclbl.getAgentAcct().getAccountno(); } chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(2); if (this.total_ar_ppd_amount == 0.00) { p = new Paragraph(7f, "T O T A L (USA)", totalFontQuote); } else { p = new Paragraph(7f, "", totalFontQuote); } p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setColspan(4); chargeCell.setBorder(0); p = new Paragraph(7f, "$" + NumberUtils.convertToTwoDecimal(this.total_ar_col_amount) + " COL AGENT-" + colAcctNo, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } NumberFormat numberFormat = new DecimalFormat("###,###,##0.000"); if (this.total_ar_ppd_amount != 0.00) { String totalString1 = numberFormat.format(this.total_ar_ppd_amount).replaceAll(",", ""); int indexdot = totalString1.indexOf("."); String beforeDecimal = totalString1.substring(0, indexdot); String afterDecimal = totalString1.substring(indexdot + 1, totalString1.length()); chargeCell = new PdfPCell(); chargeCell.setColspan(6); chargeCell.setBorder(0); p = new Paragraph(7f, "" + ConvertNumberToWords.convert(Integer.parseInt(beforeDecimal)) + " DOLLARS AND " + StringUtils.removeEnd(afterDecimal, "0") + " CENTS", totalFontQuote); chargeCell.setHorizontalAlignment(Element.ALIGN_CENTER); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } if (this.total_ar_col_amount != 0.00) { String totalString1 = numberFormat.format(this.total_ar_col_amount).replaceAll(",", ""); int indexdot = totalString1.indexOf("."); String beforeDecimal = totalString1.substring(0, indexdot); String afterDecimal = totalString1.substring(indexdot + 1, totalString1.length()); chargeCell = new PdfPCell(); chargeCell.setColspan(6); chargeCell.setBorder(0); p = new Paragraph(7f, "" + ConvertNumberToWords.convert(Integer.parseInt(beforeDecimal)) + " DOLLARS AND " + StringUtils.removeEnd(afterDecimal, "0") + " CENTS", totalFontQuote); chargeCell.setHorizontalAlignment(Element.ALIGN_CENTER); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } } } else if (this.total_ar_amount != 0.00) { chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(2); chargeCell.setPaddingTop(8f); p = new Paragraph(7f, "T O T A L (USA)", totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setColspan(4); chargeCell.setBorder(0); chargeCell.setPaddingTop(8f); p = new Paragraph(7f, "$" + NumberUtils.convertToTwoDecimal(this.total_ar_amount) + " " + billType + " " + billToParty + "-" + acctNo, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); NumberFormat numberFormat = new DecimalFormat("###,###,##0.000"); String totalString1 = numberFormat.format(this.total_ar_amount).replaceAll(",", ""); int indexdot = totalString1.indexOf("."); String beforeDecimal = totalString1.substring(0, indexdot); String afterDecimal = totalString1.substring(indexdot + 1, totalString1.length()); chargeCell = new PdfPCell(); chargeCell.setColspan(6); chargeCell.setBorder(0); p = new Paragraph(7f, "" + ConvertNumberToWords.convert(Integer.parseInt(beforeDecimal)) + " DOLLARS AND " + StringUtils.removeEnd(afterDecimal, "0") + " CENTS", totalFontQuote); chargeCell.setHorizontalAlignment(Element.ALIGN_CENTER); chargeCell.addElement(p); chargeTable.addCell(chargeCell); } chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(4); p = new Paragraph(5f, "" + sailDateFormat, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setColspan(5); chargeCell.setBorder(0); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setColspan(3); chargeCell.setBorder(0); chargeCell.setRowspan(3); String fdPodValue = null; if (agencyInfo != null && CommonUtils.isNotEmpty(agencyInfo[2])) { fdPodValue = agencyInfo[2]; } else if (CommonFunctions.isNotNull(lclbl.getFinalDestination()) && CommonFunctions.isNotNull(lclbl.getFinalDestination().getCountryId()) && CommonFunctions.isNotNull(lclbl.getFinalDestination().getCountryId().getCodedesc())) { fdPodValue = lclbl.getFinalDestination().getUnLocationName() + "," + lclbl.getFinalDestination().getCountryId().getCodedesc(); } p = new Paragraph(7f, fdPodValue != null ? fdPodValue.toUpperCase() : podValues.toUpperCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(3); p = new Paragraph(5f, "UNIT# " + unitNumber, headingblackBoldFont); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(3); chargeCell.setPaddingTop(2f); p = new Paragraph(5f, "SEAL# " + sealOut, headingblackBoldFont); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); chargeCell = new PdfPCell(); chargeCell.setBorder(0); chargeCell.setColspan(3); chargeCell.setPaddingTop(2f); p = new Paragraph(5f, "CONTROL-VOY# " + voyageNumber, totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); chargeCell.addElement(p); chargeTable.addCell(chargeCell); String emailId = ""; StringBuilder agentDetails = new StringBuilder(); //Agent Details String agentAcctNo = ""; if ("Y".equalsIgnoreCase(altAgentKey)) { agentAcctNo = CommonUtils.isNotEmpty(altAgentValue) ? altAgentValue : ""; } else if (lclbl.getAgentAcct() != null) { agentAcctNo = (agencyInfo != null && CommonUtils.isNotEmpty(agencyInfo[0])) ? agencyInfo[0] : lclbl.getAgentAcct().getAccountno(); } if (CommonUtils.isNotEmpty(agentAcctNo)) { CustAddress custAddress = new CustAddressDAO().findPrimeContact(agentAcctNo); if (CommonFunctions.isNotNull(custAddress)) { if (CommonFunctions.isNotNull(custAddress.getAcctName())) { agentDetails.append(custAddress.getAcctName()).append(" "); } if (CommonFunctions.isNotNull(custAddress.getPhone())) { agentDetails.append("Phone: ").append(custAddress.getPhone()).append("\n"); } else { agentDetails.append("\n"); } if (CommonFunctions.isNotNull(custAddress.getCoName())) { agentDetails.append(custAddress.getCoName()).append("\n"); } if (CommonFunctions.isNotNull(custAddress.getAddress1())) { agentDetails.append(custAddress.getAddress1().replace(", ", "\n")).append("\n"); } if (CommonFunctions.isNotNull(custAddress.getCity1())) { agentDetails.append(custAddress.getCity1()); } if (CommonFunctions.isNotNull(custAddress.getState())) { agentDetails.append(" ").append(custAddress.getState()); } if (CommonFunctions.isNotNull(custAddress.getEmail1())) { emailId = custAddress.getEmail1(); } } } BigDecimal PrintInvoiceValue = null; if (lclbl.getPortOfDestination() != null) { boolean schnum = new LCLPortConfigurationDAO().getSchnumValue(lclbl.getPortOfDestination().getId()); if (schnum) { BigDecimal printInvoice = lclbl.getInvoiceValue(); Long fileId = lclbl.getFileNumberId(); if (!CommonUtils.isEmpty(printInvoice) && !CommonUtils.isEmpty(fileId)) { PrintInvoiceValue = printInvoice; } } } chargeCell = new PdfPCell(); chargeCell.setBorder(2); chargeCell.setColspan(6); chargeCell.setPadding(0f); PdfPTable agent_Contact_Table = new PdfPTable(3); agent_Contact_Table.setWidthPercentage(100f); agent_Contact_Table.setWidths(new float[] { 2.3f, 1.7f, 1.8f }); PdfPCell agent_Contact_cell = new PdfPCell(); agent_Contact_cell.setBorder(0); agent_Contact_cell.setBorderWidthTop(1f); agent_Contact_cell.setBorderWidthLeft(1f); agent_Contact_cell.setBorderWidthBottom(0.06f); agent_Contact_cell.setBorderWidthRight(1f); p = new Paragraph(7f, "To Pick Up Freight Please Contact: ", blackContentNormalFont); p.setAlignment(Element.ALIGN_LEFT); agent_Contact_cell.addElement(p); agent_Contact_Table.addCell(agent_Contact_cell); agent_Contact_cell = new PdfPCell(); agent_Contact_cell.setBorder(0); agent_Contact_cell.setColspan(2); agent_Contact_cell.setBorderWidthTop(1f); agent_Contact_cell.setPaddingBottom(2f); p = new Paragraph(7f, "Email: " + emailId.toLowerCase(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); agent_Contact_cell.addElement(p); agent_Contact_Table.addCell(agent_Contact_cell); agent_Contact_cell = new PdfPCell(); agent_Contact_cell.setColspan(2); agent_Contact_cell.setBorder(0); agent_Contact_cell.setBorderWidthLeft(1f); p = new Paragraph(7f, "" + agentDetails.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_LEFT); agent_Contact_cell.addElement(p); agent_Contact_Table.addCell(agent_Contact_cell); agent_Contact_cell = new PdfPCell(); agent_Contact_cell.setBorder(0); agent_Contact_cell.setPaddingTop(27f); p = new Paragraph(7f, "" + agentAcctNo, totalFontQuote); p.setAlignment(Element.ALIGN_RIGHT); agent_Contact_cell.addElement(p); agent_Contact_Table.addCell(agent_Contact_cell); agent_Contact_cell = new PdfPCell(); agent_Contact_cell.setBorder(0); agent_Contact_cell.setColspan(3); agent_Contact_cell.setBorderWidthLeft(1f); StringBuilder builder = new StringBuilder(); builder.append(PrintInvoiceValue != null ? "Value of Goods:USD $" + PrintInvoiceValue : ""); p = new Paragraph(3f, "" + builder.toString(), totalFontQuote); p.setAlignment(Element.ALIGN_RIGHT); agent_Contact_cell.addElement(p); agent_Contact_Table.addCell(agent_Contact_cell); chargeCell.addElement(agent_Contact_Table); chargeTable.addCell(chargeCell); return chargeTable; } public PdfPTable appendDescComments() throws Exception { PdfPTable descTable = new PdfPTable(5); descTable.setWidthPercentage(100f); descTable.setWidths(new float[] { 0.1f, 0.5f, 4f, 0.5f, 0.01f }); PdfPCell descCell = null; Paragraph p = null; descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(5); String comments = LoadLogisoftProperties.getProperty(ruleName.equalsIgnoreCase("ECU") ? "ECU.tariffterms" : this.ruleName.equalsIgnoreCase("OTI") ? "OTI.tariffterms" : "Econo.tariffterms"); p = new Paragraph(8f, comments + "" + "" + "\n" + "IN WITNESS WHERE OF THE CARRIER BY ITS AGENT HAS SIGNED................. 3(THREE) BILLS OF LADING, ALL OF THE SAME TENOR AND DATE, " + "ONE OF WHICH BEING ACCOMPLISHED, THE OTHERS TO STAND VOID.\nPLEASE SEE OUR WEBSITE FOR TERMS AND CONDITIONS.", contentNormalFont); p.setSpacingAfter(10f); p.setAlignment(Element.ALIGN_LEFT); descCell.addElement(p); descCell.setFixedHeight(100f); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setColspan(5); descCell.setFixedHeight(10f); descCell.setBorder(0); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setBorderWidthBottom(0.06f); String carrierName = LoadLogisoftProperties.getProperty(ruleName.equalsIgnoreCase("ECU") ? "ECU.carrier" : ruleName.equalsIgnoreCase("OTI") ? "OTI.carrier" : "Econo.carrier"); p = new Paragraph(12f, "BY " + carrierName.toUpperCase(), fontCompNormalSub); p.setAlignment(Element.ALIGN_LEFT); descCell.addElement(p); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setFixedHeight(15f); descCell.setColspan(2); descCell.setBorder(0); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setBorderWidthBottom(0.06f); p = new Paragraph(7f, "", blackBoldFontSize8); p.setAlignment(Element.ALIGN_LEFT); descCell.addElement(p); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descCell.setFixedHeight(15f); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setBorderWidthBottom(0.06f); p = new Paragraph(12f, "" + polValues.toUpperCase(), fontCompNormalSub); p.setAlignment(Element.ALIGN_CENTER); descCell.addElement(p); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); if ("N".equalsIgnoreCase(portKey)) { p = new Paragraph(7f, "PORT", fontCompNormalSub); } else { p = new Paragraph(7f, "PORT" + " " + portKeyValue, fontCompNormalSub); } p.setAlignment(Element.ALIGN_CENTER); descCell.addElement(p); descTable.addCell(descCell); descCell = new PdfPCell(); descCell.setBorder(0); descCell.setColspan(2); descTable.addCell(descCell); return descTable; } public LinkedHashMap<String, PdfPCell> getTotalCharges(List<LclBlAc> chargeList, List<LclBlPiece> lclBlPiecesList) throws Exception { List formattedChargesList = null; String chargeCode = ""; LinkedHashMap<String, PdfPCell> chargeMap = new LinkedHashMap<String, PdfPCell>(); if (chargeList != null && chargeList.size() > 0 && lclBlPiecesList != null) { if (!"".equalsIgnoreCase(engmet)) { if (lclBlPiecesList.size() == 1) { formattedChargesList = blUtils.getFormattedLabelChargesForBl(lclBlPiecesList, chargeList, engmet, null, true); } else { formattedChargesList = blUtils.getRolledUpChargesForBl(lclBlPiecesList, chargeList, engmet, null, true); } } Double bundleMinchg = 0.0; Double flatRateMinimum = 0.0; Double barrelBundlechg = 0.0; Double barrelAmount = 0.0; boolean is_OFBARR_Bundle = false; if (formattedChargesList != null && !formattedChargesList.isEmpty()) { PdfPCell chargeCell = null; Paragraph p = null; for (int i = 0; i < formattedChargesList.size(); i++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(i); if (lclBlAc.getBundleIntoOf()) { if ("TTBARR".equalsIgnoreCase(lclBlAc.getArglMapping().getChargeCode())) { if (null != lclBlAc.getRolledupCharges()) { barrelBundlechg += lclBlAc.getRolledupCharges().doubleValue(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { barrelBundlechg += lclBlAc.getArAmount().doubleValue(); } } else { if ("OFBARR".equalsIgnoreCase(lclBlAc.getArglMapping().getChargeCode())) { is_OFBARR_Bundle = true; } if (null != lclBlAc.getRolledupCharges()) { bundleMinchg += lclBlAc.getRolledupCharges().doubleValue(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { bundleMinchg += lclBlAc.getArAmount().doubleValue(); } } } } for (int k = 0; k < formattedChargesList.size(); k++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(k); if (lclBlAc.getArglMapping().getChargeCode().equals(CommonConstants.OFR_CHARGECODE)) { if (null != lclBlAc.getRolledupCharges()) { flatRateMinimum = lclBlAc.getRolledupCharges().doubleValue() + bundleMinchg; } else if (lclBlAc != null && lclBlAc.getArAmount() != null) { flatRateMinimum = lclBlAc.getArAmount().doubleValue() + bundleMinchg; } } else if (!is_OFBARR_Bundle && lclBlAc.getArglMapping().getChargeCode().equalsIgnoreCase("OFBARR")) { if (null != lclBlAc.getRolledupCharges()) { barrelAmount = lclBlAc.getRolledupCharges().doubleValue() + barrelBundlechg; } else if (lclBlAc.getArAmount() != null) { barrelAmount = lclBlAc.getArAmount().doubleValue() + barrelBundlechg; } } } Iterator sList = formattedChargesList.iterator(); while (sList.hasNext()) { LclBlAc lclBl = (LclBlAc) sList.next(); if (lclBl.getBundleIntoOf()) { sList.remove(); } else if (!lclBl.getPrintOnBl()) { sList.remove(); } } for (int i = 0; i < formattedChargesList.size(); i++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(i); String chargeDesc = null; String lbl = ""; if (lclBlAc.getArglMapping() != null && CommonUtils.isNotEmpty(lclBlAc.getArglMapping().getChargeCode())) { chargeCode = lclBlAc.getArglMapping().getChargeCode(); chargeDesc = CommonUtils.isNotEmpty(lclBlAc.getArglMapping().getChargeDescriptions()) ? lclBlAc.getArglMapping().getChargeDescriptions() : lclBlAc.getArglMapping().getChargeCode(); } String ar_amountLabel = ""; if (lclBlAc.getArAmount() != null) { if (lclBlAc.getArglMapping().getChargeCode().equals(CommonConstants.OFR_CHARGECODE)) { flatRateMinimum += is_OFBARR_Bundle ? barrelBundlechg : 0; this.total_ar_amount += flatRateMinimum; ar_amountLabel = NumberUtils.convertToTwoDecimal(flatRateMinimum); OCNFRT_Total = NumberUtils.convertToTwoDecimal(flatRateMinimum); } else if (!is_OFBARR_Bundle && lclBlAc.getArglMapping().getChargeCode().equalsIgnoreCase("OFBARR")) { this.total_ar_amount += barrelAmount; ar_amountLabel = NumberUtils.convertToTwoDecimal(barrelAmount); } else if (null != lclBlAc.getRolledupCharges()) { this.total_ar_amount += lclBlAc.getRolledupCharges().doubleValue(); ar_amountLabel = lclBlAc.getRolledupCharges().toString(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { this.total_ar_amount += lclBlAc.getArAmount().doubleValue(); ar_amountLabel = lclBlAc.getArAmount().toString(); } } chargeCell = new PdfPCell(); chargeCell.setBorder(0); if (lclBlAc.getRatePerUnitUom().equalsIgnoreCase("W") || lclBlAc.getRatePerUnitUom().equalsIgnoreCase("FRW")) { lbl = "WT"; chargeCell.setPaddingRight(-14); } else if (lclBlAc.getRatePerUnitUom().equalsIgnoreCase("V") || lclBlAc.getRatePerUnitUom().equalsIgnoreCase("FRV")) { lbl = "MEA"; chargeCell.setPaddingRight(-14); } else if (lclBlAc.getRatePerUnitUom().equalsIgnoreCase("M") || lclBlAc.getRatePerUnitUom().equalsIgnoreCase("FRM")) { lbl = "MIN"; chargeCell.setPaddingRight(-14); } else { chargeCell.setPaddingRight(7); } chargeCell.setPaddingLeft(-5); p = new Paragraph(7f, ar_amountLabel + " " + lbl, totalFontQuote); p.setAlignment(Element.ALIGN_RIGHT); chargeCell.addElement(p); int blAcId = lclBlAc.getId().intValue(); chargeMap.put(chargeCode + "#" + chargeDesc + "$" + blAcId, chargeCell); } } } return chargeMap; } public List<LinkedHashMap<String, PdfPCell>> getTotalChargesList(List<LclBlAc> chargeList, List<LclBlPiece> lclBlPiecesList) throws Exception { List<LinkedHashMap<String, PdfPCell>> l = new ArrayList<LinkedHashMap<String, PdfPCell>>(); List formattedChargesList = null; String chargeCode = ""; LinkedHashMap<String, PdfPCell> ppdChargeMap = new LinkedHashMap<String, PdfPCell>(); LinkedHashMap<String, PdfPCell> colChargeMap = new LinkedHashMap<String, PdfPCell>(); Double bundleMinchg = 0.0; Double flatRateMinimum = 0.0; Double barrelBundlechg = 0.0; Double barrelAmount = 0.0; boolean is_OFBARR_Bundle = false; PdfPCell chargeCell = null; Paragraph p = null; if (chargeList != null && chargeList.size() > 0 && lclBlPiecesList != null) { String engmet = new PortsDAO() .getEngmet(lclbl.getFinalDestination() != null ? lclbl.getFinalDestination().getUnLocationCode() : lclbl.getPortOfDestination().getUnLocationCode()); if (!"".equalsIgnoreCase(engmet)) { if (lclBlPiecesList.size() == 1) { formattedChargesList = blUtils.getFormattedLabelChargesForBl(lclBlPiecesList, chargeList, engmet, null, true); } else { formattedChargesList = blUtils.getRolledUpChargesForBl(lclBlPiecesList, chargeList, engmet, null, true); } } if (formattedChargesList != null && !formattedChargesList.isEmpty()) { for (int i = 0; i < formattedChargesList.size(); i++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(i); if (lclBlAc.getBundleIntoOf()) { if ("TTBARR".equalsIgnoreCase(lclBlAc.getArglMapping().getChargeCode())) { if (null != lclBlAc.getRolledupCharges()) { barrelBundlechg += lclBlAc.getRolledupCharges().doubleValue(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { barrelBundlechg += lclBlAc.getArAmount().doubleValue(); } } else { if ("OFBARR".equalsIgnoreCase(lclBlAc.getArglMapping().getChargeCode())) { is_OFBARR_Bundle = true; } if (null != lclBlAc.getRolledupCharges()) { bundleMinchg += lclBlAc.getRolledupCharges().doubleValue(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { bundleMinchg += lclBlAc.getArAmount().doubleValue(); } } } } for (int k = 0; k < formattedChargesList.size(); k++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(k); if (lclBlAc.getArglMapping().getChargeCode().equals(CommonConstants.OFR_CHARGECODE)) { if (null != lclBlAc.getRolledupCharges()) { flatRateMinimum = lclBlAc.getRolledupCharges().doubleValue() + bundleMinchg; } else if (lclBlAc != null && lclBlAc.getArAmount() != null) { flatRateMinimum = lclBlAc.getArAmount().doubleValue() + bundleMinchg; } } else if (!is_OFBARR_Bundle && lclBlAc.getArglMapping().getChargeCode().equalsIgnoreCase("OFBARR")) { if (null != lclBlAc.getRolledupCharges()) { barrelAmount = lclBlAc.getRolledupCharges().doubleValue() + barrelBundlechg; } else if (lclBlAc != null && lclBlAc.getArAmount() != null) { barrelAmount = lclBlAc.getArAmount().doubleValue() + barrelBundlechg; } } } Iterator sList = formattedChargesList.iterator(); while (sList.hasNext()) { LclBlAc lclBl = (LclBlAc) sList.next(); if (lclBl.getBundleIntoOf()) { sList.remove(); } else if (!lclBl.getPrintOnBl()) { sList.remove(); } } for (int i = 0; i < formattedChargesList.size(); i++) { LclBlAc lclBlAc = (LclBlAc) formattedChargesList.get(i); String chargeDesc = null; String lbl = ""; if (lclBlAc.getArglMapping() != null && CommonUtils.isNotEmpty(lclBlAc.getArglMapping().getChargeCode())) { chargeCode = lclBlAc.getArglMapping().getChargeCode(); chargeDesc = CommonUtils.isNotEmpty(lclBlAc.getArglMapping().getChargeDescriptions()) ? lclBlAc.getArglMapping().getChargeDescriptions() : lclBlAc.getArglMapping().getChargeCode(); } String ar_amountLabel = ""; if (lclBlAc.getArAmount() != null) { if (lclBlAc.getArglMapping().getChargeCode().equals(CommonConstants.OFR_CHARGECODE)) { flatRateMinimum += is_OFBARR_Bundle ? barrelBundlechg : 0; if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { this.total_ar_col_amount += flatRateMinimum; } else { this.total_ar_ppd_amount += flatRateMinimum; } ar_amountLabel = NumberUtils.convertToTwoDecimal(flatRateMinimum); OCNFRT_Total = NumberUtils.convertToTwoDecimal(flatRateMinimum); } else if (!is_OFBARR_Bundle && lclBlAc.getArglMapping().getChargeCode().equalsIgnoreCase("OFBARR")) { if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { this.total_ar_col_amount += barrelAmount; } else { this.total_ar_ppd_amount += barrelAmount; } ar_amountLabel = NumberUtils.convertToTwoDecimal(barrelAmount); } else if (null != lclBlAc.getRolledupCharges()) { if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { this.total_ar_col_amount += lclBlAc.getRolledupCharges().doubleValue(); } else { this.total_ar_ppd_amount += lclBlAc.getRolledupCharges().doubleValue(); } ar_amountLabel = lclBlAc.getRolledupCharges().toString(); } else if (!CommonUtils.isEmpty(lclBlAc.getArAmount())) { if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { this.total_ar_col_amount += lclBlAc.getArAmount().doubleValue(); } else { this.total_ar_ppd_amount += lclBlAc.getArAmount().doubleValue(); } ar_amountLabel = lclBlAc.getArAmount().toString(); } } chargeCell = new PdfPCell(); chargeCell.setBorder(0); if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { lbl = "COL"; } else { lbl = "PPD"; } chargeCell.setPaddingRight(-14); chargeCell.setPaddingLeft(-5); p = new Paragraph(7f, ar_amountLabel + " " + lbl, totalFontQuote); p.setAlignment(Element.ALIGN_RIGHT); chargeCell.addElement(p); int blAcId = lclBlAc.getId().intValue(); if ("A".equalsIgnoreCase(lclBlAc.getArBillToParty())) { colChargeMap.put(chargeCode + "#" + chargeDesc + "$" + blAcId, chargeCell); } else { ppdBillToSet.add(lclBlAc.getArBillToParty()); ppdChargeMap.put(chargeCode + "#" + chargeDesc + "$" + blAcId, chargeCell); } } if (!ppdChargeMap.isEmpty() && !colChargeMap.isEmpty()) { l.add(0, ppdChargeMap); l.add(1, colChargeMap); } else if (!ppdChargeMap.isEmpty()) { l.add(0, ppdChargeMap); } else if (!colChargeMap.isEmpty()) { l.add(0, colChargeMap); } } } return l; } }