Example usage for com.lowagie.text Paragraph Paragraph

List of usage examples for com.lowagie.text Paragraph Paragraph

Introduction

In this page you can find the example usage for com.lowagie.text Paragraph Paragraph.

Prototype

public Paragraph(float leading, String string) 

Source Link

Document

Constructs a Paragraph with a certain String and a certain leading.

Usage

From source file:com.krawler.esp.servlets.ExportLeavePdfServlet.java

License:Open Source License

private ByteArrayOutputStream createLeaveForm(String cname, HttpServletRequest request, Session session,
        boolean isEmm) throws JSONException, SessionExpiredException, ParseException {

    String companyid = AuthHandler.getCompanyid(request);
    Company com = (Company) session.get(Company.class, companyid);
    String from = "";
    String to = "";
    String formTitle = "Absence Leave Form";
    int i = 0;/* w  w  w  .  j  a v a2  s.  co m*/
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    DecimalFormat decfm = new DecimalFormat("#,##0.00");
    Date d2 = null;
    Date d3 = null;
    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    String month = "";
    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, session, companyid);

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfWriter writer = null;
    try {

        String empname = "";
        String design = "";
        String historyid = "";
        String net = "";
        String name = "";
        String wtot = "";
        String dtot = "";
        String ttot = "";
        Date generatedOn = null;
        DateFormat monthformat = new SimpleDateFormat("MMMM");
        DateFormat monthformat2 = new SimpleDateFormat("MMMM dd yyyy");
        Query query = null;

        //            if (request.getParameter("flagpdf").equals("datewise")) {
        //                query = session.createQuery("from masterDB.Payhistory t where t.userID.userID=:empid and t.paymonth=:month");
        //                query.setString("empid", request.getParameter("empid"));
        //                query.setString("month", month);
        //            }
        //            if (request.getParameter("flagpdf").equals("monthwise")) {
        //                month = request.getParameter("month");
        //                query = session.createQuery("from masterDB.Payhistory t where t.userID.userID=:empid and t.paymonth=:month");
        //                query.setString("empid", request.getParameter("empid"));
        //                query.setString("month", request.getParameter("month"));
        //            }
        query = session.createQuery(
                "from masterDB.Payhistory t where t.userID.userID=:empid and t.paycyclestart=:paycyclestart and t.paycycleend=:paycycleend");
        query.setString("empid", request.getParameter("empid"));
        query.setDate("paycyclestart", d2);
        query.setDate("paycycleend", d3);

        String currSymbol = "";
        String curid = AuthHandler.getCurrencyID(request);
        Query queryx = session.createQuery("from KWLCurrency where currencyID=:curid");
        queryx.setString("curid", curid);
        KWLCurrency curncy = (KWLCurrency) queryx.uniqueResult();
        String currsym = curncy.getHtmlcode();
        String currname = curncy.getName();
        try {
            char a1 = (char) Integer.parseInt(currsym, 16);
            currSymbol = Character.toString(a1);
        } catch (Exception e) {
            currSymbol = currsym;
        }

        List lst = (List) query.list();
        if (lst.size() == 0) {
            throw new Exception("Exception occured");
        }
        if (lst.size() > 0) {
            masterDB.Payhistory wage = (masterDB.Payhistory) lst.get(0);
            empname = wage.getName();
            design = wage.getDesign();
            historyid = wage.getHistoryid();
            net = String.format("%.2f", Float.valueOf(wage.getNet().trim()).floatValue());
            name = wage.getName();
            wtot = wage.getWagetot();
            ttot = wage.getTaxtot();
            dtot = wage.getDeductot();
            double unpaidleaves = wage.getUnpaidleaves();
            generatedOn = wage.getGeneratedon();
            String gen = monthformat2.format(generatedOn);
            String startdate = monthformat2.format(wage.getCreatedon());
            String enddate = monthformat2.format(wage.getCreatedfor());

            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");

            query = session.createQuery("from com.krawler.common.admin.User as t where t.userID=:empid ");
            query.setString("empid", userid);
            lst = (List) query.list();
            com.krawler.common.admin.User userinfo = (com.krawler.common.admin.User) lst.get(0);
            Useraccount ua = (Useraccount) session.get(Useraccount.class, userinfo.getUserID());
            String uname = userinfo.getLastName() != null ? userinfo.getLastName() : "";
            String empid = "";
            if (ua.getEmployeeIdFormat() == null) {
                empid = ua.getEmployeeid() == null ? ""
                        : hrmsManager.getEmpidFormatEdit(session, request, ua.getEmployeeid());
            } else {
                HashMap<String, Object> requestParams = new HashMap<String, Object>();
                requestParams.put("standardEmpId",
                        hrmsManager.getEmpidFormatEdit(session, request, ua.getEmployeeid()));
                requestParams.put("employeeIdFormat", ua.getEmployeeIdFormat());
                empid = hrmsManager.getNewEmployeeIdFormat(requestParams);
            }

            String department = wage.getDepartment();
            String designation = getUserDesignation(ua);
            String bankacc = ua.getAccno() != null ? ua.getAccno() : "";
            Empprofile empprof = null;
            String epf = "";
            String dateofjoin = "";
            try {
                empprof = (Empprofile) session.get(Empprofile.class, 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);
            imgPath = "images/logo1.gif";
            String cmpid = AuthHandler.getCompanyid(request);
            ServletContext sc = getServletContext();
            userTable1.setHorizontalAlignment(Element.ALIGN_MIDDLE);
            userTable1.setWidthPercentage(10);
            PdfPCell cell11 = null;

            PdfPCell cell1x = new PdfPCell(new Paragraph("  ", fontMediumBold));
            cell1x.setBorder(0);
            userTable1.addCell(cell1x);
            try {
                Image img = Image.getInstance(StorageHandler.GetProfileImgStorePath() + cmpid + ".png");
                cell11 = new PdfPCell(img);
                cell11.setPaddingLeft(5);
            } catch (Exception e) {
                cell11 = new PdfPCell(new Paragraph(AuthHandler.getCompanyName(request), fontTblLargeBold));
                cell11.setHorizontalAlignment(Element.ALIGN_CENTER);
            }
            if (cell11 != null) {
                cell11.setBorder(0);
                userTable1.addCell(cell11);
            }

            PdfPCell cell1 = new PdfPCell(new Paragraph("", fontMediumBold));
            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(com.getCompanyName(), fontMediumBold));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setBorder(0);
            cell.setPaddingTop(15);
            userTable2.addCell(cell);
            cell = new PdfPCell(new Paragraph(com.getCity(), fontSmallRegular));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setBorder(0);
            userTable2.addCell(cell);
            cell = new PdfPCell(new Paragraph(com.getAddress(), fontSmallRegular));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setBorder(0);
            userTable2.addCell(cell);
            cell = new PdfPCell(new Paragraph(com.getState(), fontSmallRegular));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setBorder(0);
            userTable2.addCell(cell);
            cell = new PdfPCell(new Paragraph(com.getZipCode(), fontSmallRegular));
            cell.setHorizontalAlignment(Element.ALIGN_LEFT);
            cell.setBorder(0);
            userTable2.addCell(cell);
            cell = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.payslip.period.params",
                    new Object[] { request.getParameter("stdate"), request.getParameter("enddate") },
                    RequestContextUtils.getLocale(request)), fontSmallBold));
            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("", fontSmallBold));
            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(messageSource.getMessage("hrms.common.employee.code",
                    null, RequestContextUtils.getLocale(request)), fontSmallBold));
            h11.setHorizontalAlignment(Element.ALIGN_LEFT);
            h11.setPadding(5);
            if (!showborder) {
                h11.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h11);
            PdfPCell h12 = new PdfPCell(new Paragraph("" + empid, fontSmallRegular));
            h12.setHorizontalAlignment(Element.ALIGN_LEFT);
            h12.setPadding(5);
            if (!showborder) {
                h12.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h12);
            PdfPCell h13 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.employee.name",
                    null, RequestContextUtils.getLocale(request)), fontSmallBold));
            h13.setHorizontalAlignment(Element.ALIGN_LEFT);
            h13.setPadding(5);
            if (!showborder) {
                h13.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h13);
            PdfPCell h14 = new PdfPCell(new Paragraph(userinfo.getFirstName() + " " + uname, fontSmallRegular));
            h14.setHorizontalAlignment(Element.ALIGN_LEFT);
            h14.setPadding(5);
            if (!showborder) {
                h14.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h14);

            PdfPCell h21 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.department", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            h21.setHorizontalAlignment(Element.ALIGN_LEFT);
            h21.setPadding(5);
            if (!showborder) {
                h21.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h21);
            PdfPCell h22 = new PdfPCell(new Paragraph(department, fontSmallRegular));
            h22.setHorizontalAlignment(Element.ALIGN_LEFT);
            h22.setPadding(5);
            if (!showborder) {
                h22.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h22);
            PdfPCell h33 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.designation", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            h33.setHorizontalAlignment(Element.ALIGN_LEFT);
            h33.setPadding(5);
            if (!showborder) {
                h33.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h33);
            PdfPCell h34 = new PdfPCell(new Paragraph(designation, fontSmallRegular));
            h34.setHorizontalAlignment(Element.ALIGN_LEFT);
            h34.setPadding(5);
            if (!showborder) {
                h34.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h34);
            PdfPCell h43 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.bank.ac.no", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            h43.setHorizontalAlignment(Element.ALIGN_LEFT);
            h43.setPadding(5);
            if (!showborder) {
                h43.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h43);
            PdfPCell h44 = new PdfPCell(new Paragraph(bankacc, fontSmallRegular));
            h44.setHorizontalAlignment(Element.ALIGN_LEFT);
            h44.setPadding(5);
            if (!showborder) {
                h44.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h44);
            PdfPCell h61 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.working.days", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            h61.setHorizontalAlignment(Element.ALIGN_LEFT);
            h61.setPadding(5);
            if (!showborder) {
                h61.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h61);
            PdfPCell h62 = new PdfPCell(new Paragraph(String.valueOf(days), fontSmallRegular));
            h62.setHorizontalAlignment(Element.ALIGN_LEFT);
            h62.setPadding(5);
            if (!showborder) {
                h62.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h62);
            PdfPCell h63 = new PdfPCell(new Paragraph(
                    messageSource.getMessage("hrms.common.e.p.f", null, RequestContextUtils.getLocale(request)),
                    fontTblMediumBold));
            h63.setHorizontalAlignment(Element.ALIGN_LEFT);
            h63.setPadding(5);
            if (!showborder) {
                h63.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h63);
            PdfPCell h64 = new PdfPCell(new Paragraph(epf, fontSmallRegular));
            h64.setHorizontalAlignment(Element.ALIGN_LEFT);
            h64.setPadding(5);
            if (!showborder) {
                h64.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h64);
            PdfPCell h65 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.common.DateofJoining",
                    null, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            h65.setHorizontalAlignment(Element.ALIGN_LEFT);
            h65.setPadding(5);
            if (!showborder) {
                h65.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h65);
            PdfPCell h66 = new PdfPCell(new Paragraph(dateofjoin, fontSmallRegular));
            h66.setHorizontalAlignment(Element.ALIGN_LEFT);
            h66.setPadding(5);
            if (!showborder) {
                h66.setBorder(0);
            }
            //                else{
            //                    mainCell1.setBorder(1);
            //                }
            table2.addCell(h66);

            for (int y = 0; y < 2; y++) {
                PdfPCell h71 = new PdfPCell(new Paragraph("  ", fontTblMediumBold));
                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("  ", fontTblMediumBold));
                    h71.setHorizontalAlignment(Element.ALIGN_LEFT);
                    h71.setBorder(0);
                    table2.addCell(h71);
                }
                h71 = new PdfPCell(new Paragraph("  ", fontTblMediumBold));
                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[]{20,15,15,20,15,15});
            table31.setWidths(new float[] { 30, 20, 30, 20 });
            PdfPTable table41 = new PdfPTable(2);
            table41.setWidthPercentage(100);
            //table31.setWidths(new float[]{20,15,15,20,15,15});
            table41.setWidths(new float[] { 50, 50 });

            //***************************************************************************************************************
            PdfPCell s11 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.Earnings", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(messageSource.getMessage("hrms.payroll.amount.params",
                    new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            s12.setHorizontalAlignment(Element.ALIGN_RIGHT);
            s12.setPadding(5);
            if (!showborder) {
                s12.setBorder(0);
            } else {
                s12.setBorder(Rectangle.LEFT + Rectangle.BOTTOM);
            }
            table31.addCell(s12);
            //                PdfPCell s13 = new PdfPCell(new Paragraph("Year to Date", fontTblMediumBold));
            //                s13.setHorizontalAlignment(Element.ALIGN_RIGHT);
            //                s13.setBorder(Rectangle.LEFT + Rectangle.BOTTOM);
            //                s13.setPadding(5);
            //                table31.addCell(s13);
            PdfPCell s14 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.Deduction", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(messageSource.getMessage("hrms.payroll.amount.params",
                    new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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);
            //                PdfPCell s16 = new PdfPCell(new Paragraph("Year to Date", fontTblMediumBold));
            //                s16.setHorizontalAlignment(Element.ALIGN_RIGHT);
            //                s16.setBorder(Rectangle.RIGHT + Rectangle.LEFT + Rectangle.BOTTOM);
            //                s16.setPadding(5);
            //                table31.addCell(s16);
            int Wcount = 0;
            float taxtotal = 0;

            Query queryw = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.userID=:userid and createdfor >=:stdate and createdfor <=:enddate and t.type =:type");
            Query basicquery1 = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.historyid=:historyid and t.name=:name and t.type=:type ");
            basicquery1.setString("historyid", historyid);
            basicquery1.setString("name", "Wages");
            basicquery1.setString("type", "Basic");
            List lst1 = (List) basicquery1.list();
            Query query1 = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.historyid=:historyid and t.name=:name and t.type<>:type order by t.amount");
            query1.setString("historyid", historyid);
            query1.setString("name", "Wages");
            query1.setString("type", "Basic");
            lst1.addAll((List) query1.list());

            Query query2 = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.historyid=:historyid and t.name=:name order by t.amount");
            query2.setString("historyid", historyid);
            query2.setString("name", "Taxes");
            List lst2 = (List) query2.list();

            CompanyPreferences comp = (CompanyPreferences) session.get(CompanyPreferences.class, cmpid);
            int financialMonth = comp.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();
            }
            Query query3 = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.historyid=:historyid and t.name=:name order by t.amount");
            query3.setString("historyid", historyid);
            query3.setString("name", "Deduction");
            List lst3 = (List) query3.list();
            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(hd.getType(), fontSmallRegular));
                    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(String.valueOf(decfm.format(newamount)), fontSmallRegular));
                    s22.setHorizontalAlignment(Element.ALIGN_RIGHT);
                    if (!showborder) {
                        s22.setBorder(0);
                    } else {
                        s22.setBorder(Rectangle.LEFT);
                    }
                    s22.setPadding(5);
                    table31.addCell(s22);

                    queryw.setString("userid", request.getParameter("empid"));
                    queryw.setTimestamp("stdate", d);
                    queryw.setTimestamp("enddate", d3);
                    queryw.setString("type", hd.getType());
                    List lstw = (List) queryw.list();
                    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());
                    }
                    //                        PdfPCell s23 = new PdfPCell(new Paragraph(String.valueOf(decfm.format(wageAmt)), fontSmallRegular));
                    //                        s23.setHorizontalAlignment(Element.ALIGN_RIGHT);
                    //                        s23.setBorder(Rectangle.LEFT);
                    //                        s23.setPadding(5);
                    //                        table31.addCell(s23);
                    wagetotal = wagetotal + Float.parseFloat(hd.getAmount());
                    totalYTDEarning = totalYTDEarning + wageAmt;
                    Wcount++;
                } else {
                    for (int j = 0; j < 2; j++) {
                        PdfPCell s21 = new PdfPCell(new Paragraph("", fontSmallRegular));
                        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(hd.getType(), fontSmallRegular));
                    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(decfm.format(newamount), fontSmallRegular));
                    s25.setHorizontalAlignment(Element.ALIGN_RIGHT);
                    if (!showborder) {
                        s25.setBorder(0);
                    } else {
                        s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT);
                    }
                    s25.setPadding(5);
                    table31.addCell(s25);

                    queryw.setString("userid", request.getParameter("empid"));
                    queryw.setTimestamp("stdate", d);
                    queryw.setTimestamp("enddate", d3);
                    queryw.setString("type", hd.getType());
                    List lstw1 = (List) queryw.list();
                    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());
                    }
                    //                        PdfPCell s26 = new PdfPCell(new Paragraph(decfm.format(taxAmt), fontSmallRegular));
                    //                        s26.setHorizontalAlignment(Element.ALIGN_RIGHT);
                    //                        s26.setBorder(Rectangle.RIGHT + Rectangle.LEFT);
                    //                        s26.setPadding(5);
                    //                        table31.addCell(s26);
                    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(hd.getType(), fontSmallRegular));
                        if (hd.getType().equals("Unpaid_leaves")) {
                            s24 = new PdfPCell(
                                    new Paragraph(hd.getType() + "(" + unpaidleaves + ")", fontSmallRegular));
                        }
                        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(decfm.format(newamount), fontSmallRegular));
                        s25.setHorizontalAlignment(Element.ALIGN_RIGHT);
                        if (!showborder) {
                            s25.setBorder(0);
                        } else {
                            s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT);
                            ;
                        }
                        s25.setPadding(5);
                        table31.addCell(s25);

                        queryw.setString("userid", request.getParameter("empid"));
                        queryw.setTimestamp("stdate", d);
                        queryw.setTimestamp("enddate", d3);
                        queryw.setString("type", hd.getType());
                        List lstw2 = (List) queryw.list();
                        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());
                        }

                        //                        PdfPCell s26 = new PdfPCell(new Paragraph(decfm.format(deductAmt), fontSmallRegular));
                        //                        s26.setHorizontalAlignment(Element.ALIGN_RIGHT);
                        //                        s26.setBorder(Rectangle.RIGHT + Rectangle.LEFT);
                        //                        s26.setPadding(5);
                        //                        table31.addCell(s26);
                        taxtotal = taxtotal + Float.parseFloat(hd.getAmount());
                        totalYTDDeduction = totalYTDDeduction + deductAmt;
                    } else {
                        //                          if(i-lst2.size()-lst3.size() < lst4.size()){
                        //                                hd = (masterDB.Historydetail) lst4.get(i-lst2.size()-lst3.size());
                        //                                PdfPCell v24 = new PdfPCell(new Paragraph(hd.getType(), fontSmallRegular));
                        //                                v24.setHorizontalAlignment(Element.ALIGN_LEFT);
                        //                                v24.setBorder(Rectangle.LEFT);
                        //                                v24.setPadding(5);
                        //                                table31.addCell(v24);
                        //
                        //                                BigDecimal bd = new BigDecimal(hd.getAmount());
                        //                                bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
                        //                                double newamount = bd.doubleValue();
                        //
                        //                                PdfPCell s25 = new PdfPCell(new Paragraph(decfm.format(newamount), fontSmallRegular));
                        //                                s25.setHorizontalAlignment(Element.ALIGN_RIGHT);
                        //                                s25.setBorder(Rectangle.RIGHT + Rectangle.LEFT);;
                        //                                s25.setPadding(5);
                        //                                table31.addCell(s25);
                        //                          }else{
                        for (int j = 0; j < 2; j++) {
                            PdfPCell s21 = new PdfPCell(new Paragraph("", fontSmallRegular));
                            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(messageSource.getMessage("hrms.payroll.total.earnings",
                    null, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(decfm.format(newamount), fontSmallRegular));
            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 s93 = new PdfPCell(new Paragraph(decfm.format(totalYTDEarning), fontSmallRegular));
            //                s93.setHorizontalAlignment(Element.ALIGN_BASELINE);
            //                s93.setHorizontalAlignment(Element.ALIGN_RIGHT);
            //                s93.setBorder(Rectangle.LEFT + Rectangle.TOP);
            //                s93.setPadding(5);
            //                table31.addCell(s93);
            PdfPCell s94 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.total.deductions",
                    null, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(decfm.format(newamount), fontSmallRegular));
            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);
            //                PdfPCell s96 = new PdfPCell(new Paragraph(decfm.format(totalYTDDeduction), fontSmallRegular));
            //                s96.setHorizontalAlignment(Element.ALIGN_BASELINE);
            //                s96.setHorizontalAlignment(Element.ALIGN_RIGHT);
            //                s96.setBorder(Rectangle.RIGHT + Rectangle.LEFT + Rectangle.TOP);
            //                s96.setPadding(5);
            //                table31.addCell(s96);

            for (int y = 0; y < 2; y++) {
                PdfPCell he71 = new PdfPCell(new Paragraph("  ", fontTblMediumBold));
                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("  ", fontTblMediumBold));
                    he71.setHorizontalAlignment(Element.ALIGN_LEFT);
                    he71.setBorder(0);
                    table31.addCell(he71);
                }
                he71 = new PdfPCell(new Paragraph("  ", fontTblMediumBold));
                he71.setHorizontalAlignment(Element.ALIGN_LEFT);
                //      he71.setBorder(Rectangle.RIGHT);
                if (!showborder) {
                    he71.setBorder(0);
                } else {
                    he71.setBorder(Rectangle.RIGHT);
                }
                table31.addCell(he71);
            }

            Query query4 = session.createQuery(
                    "from masterDB.Historydetail t where t.payhistory.historyid=:historyid and t.name=:name order by t.amount");
            query4.setString("historyid", historyid);
            query4.setString("name", "Employer Contribution");
            List lst4 = (List) query4.list();
            double ectotal = 0;
            PdfPCell ec11 = new PdfPCell(
                    new Paragraph(messageSource.getMessage("hrms.payroll.EmployerContribution", null,
                            RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(messageSource.getMessage("hrms.payroll.amount.params",
                    new Object[] { currSymbol }, RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(hd1.getType(), fontSmallRegular));
                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(decfm.format(newamount), fontSmallRegular));
                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(messageSource.getMessage("hrms.payroll.total.contribution", null,
                            RequestContextUtils.getLocale(request)), fontTblMediumBold));
            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(decfm.format(newamount), fontSmallRegular));
            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("  ", fontTblMediumBold));
                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(messageSource.getMessage("hrms.payroll.netpay", null,
                    RequestContextUtils.getLocale(request)) + " ", fontTblMediumBold));
            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(currSymbol+String.valueOf((int)netpay+".00"), fontSmallRegular));
            PdfPCell i33 = new PdfPCell(new Paragraph(amount, fontTblMediumBold));
            //                PdfPCell i33 = new PdfPCell(new Paragraph("Rs 13,350.00", fontTblMediumBold));
            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(messageSource.getMessage("hrms.payroll.in.words", null,
                    RequestContextUtils.getLocale(request)), fontTblMediumBold));
            i32.setHorizontalAlignment(Element.ALIGN_LEFT);
            if (!showborder) {
                i32.setBorder(0);
            } else {
                i31.setBorder(Rectangle.LEFT);
            }
            i32.setPadding(5);
            table4.addCell(i32);
            int netpayi = (int) netpay;
            //                String netinword = EnglishNumberToWords.convert(Long.parseLong(String.valueOf(netpayi)));
            String netinword = "";//new EnglishNumberToWords(request).convert(netpay);
            PdfPCell i34 = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.only",
                    new Object[] { currname, netinword }, RequestContextUtils.getLocale(request)),
                    fontTblMediumBold));
            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(messageSource.getMessage("hrms.payroll.employee.signature", null,
                    RequestContextUtils.getLocale(request)), fontSmallBold));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(0);
            table5.addCell(cell);
            cell = new PdfPCell(new Paragraph(messageSource.getMessage("hrms.payroll.manager.signature", null,
                    RequestContextUtils.getLocale(request)), fontSmallBold));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(0);
            table5.addCell(cell);

            document.add(mainTable);
            //                document.add(new Paragraph("\n\n\n\n\n\n\n\n\n\n\n\n"));
            //                document.add(table5);
            document.close();
        }

        return baos;

    } catch (Exception ex) {
        ex.printStackTrace();
        return null;
    } finally {
        writer.close();
    }

}

From source file:com.krawler.esp.servlets.ExportMPXServlet.java

License:Open Source License

private static void addComponyLogo(Document d) throws ConfigurationException, DocumentException {
    PdfPTable table = new PdfPTable(1);
    table.setHorizontalAlignment(Element.ALIGN_RIGHT);
    table.setWidthPercentage(50);/*w  w w .  j  av  a 2s  .c om*/
    PdfPCell cell = null;
    try {
        imgPath = com.krawler.esp.utils.ConfigReader.getinstance().get("platformURL") + "b/" + companySubDomain
                + "/images/store/?company=true";
        // imgPath="http://192.168.0.141:8080/dp_dev/b/Demo/images/store/?company=true";
        Image img = Image.getInstance(imgPath);
        cell = new PdfPCell(img);
    } catch (Exception e) {
        cell = new PdfPCell(new Paragraph(companyName, fontBig));
    }
    cell.setBorder(0);
    cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
    table.addCell(cell);
    table.setSpacingAfter(10);
    d.add(table);
}

From source file:com.krawler.esp.servlets.ExportMPXServlet.java

License:Open Source License

public static void addPdfRowToTable(String[] values, PdfPTable tab, Font fnt, int lvl) {
    for (int i = 0; i < values.length; i++) {
        PdfPCell cell = new PdfPCell(new Paragraph(values[i], fnt));
        if (values[i].compareTo("") == 0) {
            cell.setMinimumHeight(16); // Setting minimum height for cell when no data is present
        }/*from www.  j a v a  2  s  .com*/
        if (i == 1 && lvl != 0) {
            cell.setIndent((lvl * 10));
        }
        tab.addCell(cell);
    }
}

From source file:com.krawler.esp.servlets.ExportProjectReportServlet.java

License:Open Source License

private static void addComponyLogo(Document d, HttpServletRequest request)
        throws ConfigurationException, DocumentException {
    PdfPTable table = new PdfPTable(2);
    table.setHorizontalAlignment(Element.ALIGN_LEFT);
    table.setWidthPercentage(100);/*from w ww  .j  a va2 s .co m*/
    PdfPCell cell = null;
    try {
        imgPath = com.krawler.esp.utils.ConfigReader.getinstance().get("platformURL") + "b/" + companySubDomain
                + "/images/store/?company=true";
        // imgPath="http://192.168.0.141:8080/dp_dev/b/Demo/images/store/?company=true";
        Image img = Image.getInstance(imgPath);
        cell = new PdfPCell(img);
    } catch (Exception e) {
        cell = new PdfPCell(new Paragraph(companyName, fontBig));
    }
    cell.setBorder(0);
    cell.setHorizontalAlignment(Element.ALIGN_LEFT);
    table.addCell(cell);
    PdfPCell cell2 = new PdfPCell(new Paragraph(ProjectName.toUpperCase(),
            FontFactory.getFont("Helvetica", 15, Font.BOLD, Color.BLACK)));
    cell2.setBorderWidth(0);
    cell2.setHorizontalAlignment(Element.ALIGN_RIGHT);
    table.addCell(cell2);
    d.add(table);
}

From source file:com.krawler.esp.servlets.ExportProjectReportServlet.java

License:Open Source License

private static void addTitleSubtitle(Document d) throws DocumentException, JSONException {
    java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16));
    fontBold.setColor(tColor);/*from  w ww  . ja  v a  2 s  .  c o m*/
    fontRegular.setColor(tColor);
    PdfPTable table = new PdfPTable(1);
    table.setHorizontalAlignment(Element.ALIGN_CENTER);

    table.setWidthPercentage(100);
    table.setSpacingBefore(6);

    //Report Title
    PdfPCell cell = new PdfPCell(new Paragraph(config.getString("title"), fontBold));
    cell.setBorder(0);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    //Report Subtitle(s)
    String[] SubTitles = config.getString("subtitles").split("~");// '~' as separator
    for (int i = 0; i < SubTitles.length; i++) {
        cell = new PdfPCell(new Paragraph(SubTitles[i], fontRegular));
        cell.setBorder(0);
        cell.setBorderWidth(0);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        table.addCell(cell);
    }
    table.setSpacingAfter(6);
    d.add(table);

    //Separator line
    PdfPTable line = new PdfPTable(1);
    line.setWidthPercentage(100);
    PdfPCell cell1 = null;
    cell1 = new PdfPCell(new Paragraph(""));
    cell1.setBorder(PdfPCell.BOTTOM);
    line.addCell(cell1);
    d.add(line);
}

From source file:com.krawler.esp.servlets.ExportProjectReportServlet.java

License:Open Source License

private int addTable(int stcol, int stpcol, int strow, int stprow, JSONArray store, String[] colwidth2,
        String[] colHeader, Document document) throws JSONException, DocumentException {

    java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16));
    fontSmallBold.setColor(tColor);//w  w w .  j  av  a 2 s.co m

    com.krawler.utils.json.base.JSONObject colWidth = config.getJSONObject("colWidth");
    JSONArray widths = colWidth.getJSONArray("data");
    ArrayList arr = new ArrayList();
    PdfPTable table;
    float[] f = new float[widths.length() + 1];//[(stpcol - stcol) + 1];
    float[] tcol = new float[(stpcol - stcol) + 1];

    if (widths.length() == 0) {
        f[0] = 10;
        for (int k = 1; k < f.length; k++) {
            f[k] = 20;
        }
        tcol[0] = 10;
    } else {
        for (int i = 0; i < widths.length(); i++) {
            JSONObject temp = widths.getJSONObject(i);
            arr.add(temp.getInt("width"));
        }

        f[0] = 30;
        for (int k = 1; k < f.length; k++) {
            if (!config.getBoolean("landscape") && (Integer) arr.get(k - 1) > 550) {
                f[k] = 550;
            } else {
                f[k] = (Integer) arr.get(k - 1);
            }
        }
        //            table = new PdfPTable(f);
        //            table.setTotalWidth(90);
        // table.setWidthPercentage(f,document.getPageSize());
        tcol[0] = 30;
    }
    int i = 1;
    for (int k = stcol; k < stpcol; k++) {
        tcol[i] = f[k + 1];
        i++;
    }

    table = new PdfPTable(tcol);
    table.setTotalWidth(90);
    table.setWidthPercentage(tcol, document.getPageSize());

    table.setSpacingBefore(15);
    Font f1 = FontFactory.getFont("Helvetica", 8, Font.NORMAL, tColor);
    PdfPCell h2 = new PdfPCell(new Paragraph("No.", fontSmallBold));
    if (config.getBoolean("gridBorder")) {
        h2.setBorder(PdfPCell.BOX);
    } else {
        h2.setBorder(0);
    }
    h2.setPadding(4);
    h2.setBorderColor(Color.GRAY);
    h2.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(h2);
    int stpcol1 = 0;
    for (int hcol = stcol; hcol < stpcol; hcol++) {
        PdfPCell h1 = new PdfPCell(new Paragraph(colHeader[hcol], fontSmallBold));
        h1.setHorizontalAlignment(Element.ALIGN_CENTER);
        if (config.getBoolean("gridBorder")) {
            h1.setBorder(PdfPCell.BOX);
        } else {
            h1.setBorder(0);
        }
        h1.setBorderColor(Color.GRAY);
        h1.setPadding(4);
        table.addCell(h1);
    }
    table.setHeaderRows(1);

    for (int row = strow; row < stprow; row++) {
        h2 = new PdfPCell(new Paragraph(String.valueOf(row + 1), f1));
        if (config.getBoolean("gridBorder")) {
            h2.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT);
        } else {
            h2.setBorder(0);
        }
        h2.setPadding(4);
        h2.setBorderColor(Color.GRAY);
        h2.setHorizontalAlignment(Element.ALIGN_CENTER);
        h2.setVerticalAlignment(Element.ALIGN_CENTER);
        table.addCell(h2);

        for (int col = stcol; col < stpcol; col++) {
            Paragraph para = null;
            if (store.getJSONObject(row).has(colwidth2[col]))
                para = new Paragraph(store.getJSONObject(row).getString(colwidth2[col]), f1);
            else
                para = new Paragraph("", f1);
            //                    Paragraph para = new Paragraph(store.getJSONObject(row).getString(colwidth2[col]), f1);
            PdfPCell h1 = new PdfPCell(para);
            if (config.getBoolean("gridBorder")) {
                h1.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT);
            } else {
                h1.setBorder(0);
            }
            h1.setPadding(4);
            h1.setBorderColor(Color.GRAY);
            h1.setHorizontalAlignment(Element.ALIGN_CENTER);
            h1.setVerticalAlignment(Element.ALIGN_CENTER);
            table.addCell(h1);
        }

    }
    document.add(table);
    document.newPage();

    /* add instance of OnStartPage*/
    if (widths.length() != 0) {
        if (stpcol != colwidth2.length) {
            float twidth = 0;
            stpcol1 = stpcol;

            int docwidth;
            if (config.getBoolean("landscape"))
                docwidth = 800;
            else
                docwidth = 600;

            while (twidth < docwidth && stpcol1 < f.length) {
                twidth += f[stpcol1];
                stpcol1++;
            }
            stpcol1--;

            addTable(stpcol, stpcol1, strow, stprow, store, colwidth2, colHeader, document);
        }

    } else {
        if (stpcol != colwidth2.length) {
            if ((colwidth2.length - stpcol) > showColumns) { // column limit
                stpcol1 = stpcol + 5;
            } else {
                stpcol1 = (colwidth2.length - stpcol) + stpcol;
            }
            addTable(stpcol, stpcol1, strow, stprow, store, colwidth2, colHeader, document);
        }
    }
    return stpcol;
}

From source file:com.krawler.esp.servlets.ExportProjectReportServlet.java

License:Open Source License

private int addTableTimeLine(int stcol, int stpcol, int strow, int stprow, JSONArray store, String[] colwidth2,
        int maxlevel, Document document) throws JSONException, DocumentException {
    float[] f = new float[(stpcol - stcol) + 1];
    for (int k = 0; k < f.length; k++) {
        f[k] = 20;/*from  w  ww  .j a  v a 2  s  .c o  m*/
    }
    f[0] = f[0] + 10 * maxlevel;
    PdfPTable table = new PdfPTable(f);

    java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16));

    Font font = FontFactory.getFont("Helvetica", 8, Font.BOLD, tColor);
    Font font1 = FontFactory.getFont("Helvetica", 8, Font.NORMAL, tColor);
    Font f1;

    table.setWidthPercentage(90);
    PdfPCell h2 = new PdfPCell(new Paragraph("Name", font)); // new
    if (config.getBoolean("gridBorder"))
        h2.setBorder(PdfPCell.BOX);
    else
        h2.setBorder(0);
    h2.setPadding(2);
    //                h2.setHorizontalAlignment(Element.ALIGN_UNDEFINED);
    // Paragraph(colwidth2[hcol],font);
    table.addCell(h2);
    int stpcol1 = 0;
    for (int hcol = stcol; hcol < stpcol; hcol++) {
        PdfPCell h1 = new PdfPCell(new Paragraph(colwidth2[hcol], font)); // new
        h1.setHorizontalAlignment(Element.ALIGN_RIGHT);
        if (config.getBoolean("gridBorder"))
            h1.setBorder(PdfPCell.BOX);
        else
            h1.setBorder(0);
        h1.setPadding(2);
        // Paragraph(colwidth2[hcol],font);
        table.addCell(h1);
    }
    table.setHeaderRows(1);

    for (int row = strow; row < stprow; row++) {
        if (row % 62 == 61) {
            document.add(table);
            table.deleteBodyRows();
            table.setSkipFirstHeader(true);
        }
        if (store.getJSONObject(row).getBoolean("flag"))
            f1 = font;
        else
            f1 = font1;
        if (store.getJSONObject(row).getString("info").compareTo("") != 0) {
            h2 = new PdfPCell(new Paragraph(store.getJSONObject(row).getString("info"), f1));
            //                    h2.setPaddingLeft((Integer.parseInt(store.getJSONObject(row).getString("level")) * 10) + 5);
        } else {
            h2 = new PdfPCell(new Paragraph(store.getJSONObject(row).getString("info"), f1));
            //                    h2.setPaddingTop(9);
            //                    h2.setPaddingLeft((Integer.parseInt(store.getJSONObject(row).getString("level")) * 10) + 5);
        }

        //                h2.setBorder(0);
        //                h2.setPadding(1);
        //                Color bColor = Color.decode("DDDDDD");

        if (config.getBoolean("gridBorder")) {
            if (store.getJSONObject(row).getBoolean("flag")) {
                h2.setBackgroundColor(new Color(0xEEEEEE));
                h2.setBorder(PdfPCell.LEFT | PdfPCell.BOTTOM);
            } else
                h2.setBorder(PdfPCell.BOX);
        } else {
            h2.setBorder(0);
        }
        h2.setPadding(2);
        h2.setBorderColor(Color.GRAY);
        if (store.getJSONObject(row).getBoolean("flag"))
            h2.setHorizontalAlignment(Element.ALIGN_LEFT);
        else
            h2.setHorizontalAlignment(Element.ALIGN_RIGHT);
        h2.setVerticalAlignment(Element.ALIGN_CENTER);
        table.addCell(h2);
        for (int col = stcol; col < stpcol; col++) {
            Paragraph para = new Paragraph(store.getJSONObject(row).getString(colwidth2[col]), f1);
            PdfPCell h1 = new PdfPCell(para);
            //                    h1.setBorder(0);
            //                    h1.setPadding(1);

            h1.setMinimumHeight(15);
            h1.setHorizontalAlignment(Element.ALIGN_RIGHT);
            h1.setVerticalAlignment(Element.ALIGN_CENTER);
            if (config.getBoolean("gridBorder")) {
                if (store.getJSONObject(row).getBoolean("flag")) {
                    h1.setBorder(PdfPCell.BOTTOM);
                    h1.setBackgroundColor(new Color(0xEEEEEE));
                    if (col == stpcol - 1)
                        h1.setBorder(PdfPCell.BOTTOM | PdfPCell.RIGHT);
                } else
                    h1.setBorder(PdfPCell.BOX);
            } else {
                h1.setBorder(0);
            }
            h1.setPadding(2);
            h1.setBorderColor(Color.GRAY);
            table.addCell(h1);
            //               table.addCell(new Paragraph(store.getJSONObject(row)
            //                     .getString(colwidth2[col]), f1));
        }

    }
    document.add(table);
    document.newPage();
    if (stpcol != colwidth2.length) {
        if ((colwidth2.length - stpcol) > 5) // column limit
            stpcol1 = stpcol + 5;
        else
            stpcol1 = (colwidth2.length - stpcol) + stpcol;
        addTableTimeLine(stpcol, stpcol1, strow, stprow, store, colwidth2, maxlevel, document);
    }

    return stpcol;
}

From source file:com.krawler.esp.servlets.ExportProjectSummaryServlet.java

License:Open Source License

private static void addComponyLogo(Document d, HttpServletRequest request)
        throws ConfigurationException, DocumentException {
    PdfPTable table = new PdfPTable(1);
    table.setHorizontalAlignment(Element.ALIGN_LEFT);
    table.setWidthPercentage(50);/*from w  w w  .j a v a 2s .  c  o m*/
    PdfPCell cell = null;
    try {
        imgPath = com.krawler.esp.utils.ConfigReader.getinstance().get("platformURL") + "b/" + companySubDomain
                + "/images/store/?company=true";
        Image img = Image.getInstance(imgPath);
        cell = new PdfPCell(img);
    } catch (Exception e) {
        cell = new PdfPCell(new Paragraph(companyName, fontBig));
    }
    cell.setBorder(0);
    cell.setHorizontalAlignment(Element.ALIGN_LEFT);
    table.addCell(cell);
    d.add(table);
}

From source file:com.krawler.esp.servlets.ExportProjectSummaryServlet.java

License:Open Source License

private static void addTitleSubtitle(Document d) throws DocumentException, JSONException {
    java.awt.Color tColor = new Color(0, 0, 0);
    fontBold.setColor(tColor);/*from ww w .  j  a v a2 s.  c o m*/
    fontRegular.setColor(tColor);
    PdfPTable table = new PdfPTable(1);
    table.setHorizontalAlignment(Element.ALIGN_CENTER);
    java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
    java.util.Date today = new java.util.Date();

    table.setWidthPercentage(100);
    table.setSpacingBefore(6);

    //Report Title
    PdfPCell cell = new PdfPCell(new Paragraph("Project Summary", fontBold));
    cell.setBorder(0);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    //Sub-title(s)
    cell = new PdfPCell(new Paragraph("(on comparison with " + baseName + ")", fontRegular));
    cell.setBorder(0);
    cell.setBorderWidth(0);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    //Separator line
    PdfPTable line = new PdfPTable(1);
    line.setWidthPercentage(100);
    PdfPCell cell1 = null;
    cell1 = new PdfPCell(new Paragraph(""));
    cell1.setBorder(PdfPCell.BOTTOM);
    line.addCell(cell1);
    d.add(table);
    d.add(line);
}

From source file:com.krawler.esp.servlets.ExportProjectSummaryServlet.java

License:Open Source License

private void addTable(JSONArray store, String[] res, String[] colIndex, String[] colHeader, String[] mainHeader,
        String[] val, Document document) throws JSONException, DocumentException {

    java.awt.Color tColor = new Color(0, 0, 0);
    fontSmallBold.setColor(tColor);/*from ww w . ja  v  a 2 s  .c o  m*/
    Font f1 = FontFactory.getFont("Helvetica", 8, Font.NORMAL, tColor);

    float[] colw = new float[4];
    for (int x = 0; x < 4; x++) {
        colw[x] = 150;
    }
    int col = 0;

    for (int x = 0; x < mainHeader.length; x++) {
        //table start
        PdfPTable table = new PdfPTable(colw);
        table.setTotalWidth(88);
        table.setWidthPercentage(colw, document.getPageSize());
        //table.setSpacingBefore(10);

        PdfPTable mainTable = new PdfPTable(1);
        mainTable.setTotalWidth(90);
        mainTable.setWidthPercentage(100);
        mainTable.setSpacingBefore(20);

        //header cell for mainTable
        PdfPCell headcell = null;
        headcell = new PdfPCell(new Paragraph(mainHeader[x], fontSmallBold));
        headcell.setBackgroundColor(new Color(0xEEEEEE));
        headcell.setPadding(padding);
        mainTable.addCell(headcell);
        document.add(mainTable);

        //header cell added to mainTable
        int row = 3;
        if (x == 0 || x == 4) {
            row = 4;
        } else if (x == 5) {
            row = 0;
        }
        for (; row > 0; row--) {
            for (int y = 1; y < colw.length + 1; y++) {// for each column add the colHeader and value cell
                if (col != colHeader.length) {
                    if (y % 2 != 0) {
                        Paragraph p = new Paragraph(colHeader[col], f1);
                        if (colHeader[col].contains("Variance")) {
                            p = new Paragraph(colHeader[col], fontSmallBold);
                        }
                        PdfPCell pcell = new PdfPCell(p);
                        if (gridBorder) {
                            pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP);
                        } else {
                            pcell.setBorder(0);
                        }
                        pcell.setPadding(padding);
                        pcell.setBorderColor(new Color(0xF2F2F2));
                        pcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        pcell.setVerticalAlignment(Element.ALIGN_CENTER);
                        table.addCell(pcell);
                    } else {
                        Paragraph p;
                        p = new Paragraph(val[col], f1);
                        if (colHeader[col].contains("Start Variance")
                                || colHeader[col].contains("End Variance")) {
                            p = new Paragraph(val[col] + " days", fontSmallBold);
                        } else if (colHeader[col].contains("Duration")) {
                            if (colHeader[col].contains("Duration Variance"))
                                p = new Paragraph(val[col] + " days", fontSmallBold);
                            else
                                p = new Paragraph(val[col] + " days", f1);
                        } else if (colHeader[col].contains("Work")) {
                            if (colHeader[col].contains("Work Variance"))
                                p = new Paragraph(val[col] + " hrs", fontSmallBold);
                            else
                                p = new Paragraph(val[col] + " hrs", f1);
                        } else if (colHeader[col].contains("Cost")) {
                            if (colHeader[col].contains("Cost Variance"))
                                p = new Paragraph(currSymbol + " " + val[col], fontSmallBold);
                            else
                                p = new Paragraph(currSymbol + " " + val[col], f1);
                        } else if (colHeader[col].contains("Percent Complete")) {
                            p = new Paragraph(val[col] + " %", f1);
                        }
                        PdfPCell pcell = new PdfPCell(p);
                        if (gridBorder) {
                            pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP);
                        } else {
                            pcell.setBorder(0);
                        }
                        pcell.setPadding(padding);
                        pcell.setBorderColor(new Color(0xF2F2F2));
                        pcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        pcell.setVerticalAlignment(Element.ALIGN_CENTER);
                        table.addCell(pcell);
                        col++;
                    }
                }
            }
        }
        if (x == 5) {
            int y = 0;
            row = res.length / 4;
            for (; row > 0; row--) {
                for (int c = 0; c < 2; c++) {
                    Paragraph p = new Paragraph(res[y], f1);
                    PdfPCell pcell = new PdfPCell(p);
                    if (gridBorder) {
                        pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP);
                    } else {
                        pcell.setBorder(0);
                    }
                    pcell.setPadding(padding);
                    pcell.setBorderColor(new Color(0xF2F2F2));
                    pcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    pcell.setVerticalAlignment(Element.ALIGN_CENTER);
                    table.addCell(pcell);
                    p = new Paragraph(res[y + 1], f1);
                    pcell = new PdfPCell(p);
                    if (gridBorder) {
                        pcell.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP);
                    } else {
                        pcell.setBorder(0);
                    }
                    pcell.setPadding(padding);
                    pcell.setBorderColor(new Color(0xF2F2F2));
                    pcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    pcell.setVerticalAlignment(Element.ALIGN_CENTER);
                    table.addCell(pcell);
                    y += 2;
                }
            }
        }
        document.add(table);
    }
}