com.macrosoft.icms.util.PDFCreator.java Source code

Java tutorial

Introduction

Here is the source code for com.macrosoft.icms.util.PDFCreator.java

Source

package com.macrosoft.icms.util;

import java.io.File;
import java.io.FileOutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
import com.macrosoft.icms.qydj.GTDJ_JBXX_SQ;
import com.macrosoft.icms.qydj.GTDJ_JYZXX_SQ;
import com.macrosoft.icms.qydj.QYDJ_CWFZR_SQ;
import com.macrosoft.icms.qydj.QYDJ_CZXX_SQ;
import com.macrosoft.icms.qydj.QYDJ_JBXX_SQ;
import com.macrosoft.icms.qydj.QYDJ_RYXX_SQ;
import com.macrosoft.icms.qydj.QYDJ_SQWT_SQ;
import com.macrosoft.icms.qydj.QYDJ_WZLLR_SQ;
import com.macrosoft.icms.qydj.QYDJ_WZWJSD_SQ;
import com.macrosoft.icms.qydj.QYDJ_YWSB_SQ;

public class PDFCreator {

    private static Logger logger = Logger.getLogger(PDFCreator.class);

    public static void createPdfByData(String fileName, String path, Map dataMap) {
        Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50);
        String opetype = (String) dataMap.get("opetype");

        try {
            //PDF
            File file = new File(path);
            if (!file.exists()) {
                file.mkdirs();
            }
            PdfWriter.getInstance(document, new FileOutputStream(path + fileName));

            //PDF
            document.open();

            //
            BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            Font titleChinese = new Font(bfChinese, 30, Font.BOLD);
            //table
            Font contentFont = new Font(bfChinese, 16, Font.NORMAL);
            //table
            Font tblTitleFont = new Font(bfChinese, 16, Font.BOLD);
            //PDF
            Paragraph title = new Paragraph((String) dataMap.get("title"), titleChinese);
            title.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(title);

            Paragraph attionTitle = new Paragraph("", contentFont);
            attionTitle.setAlignment(Paragraph.ALIGN_CENTER);

            if ("GT".equals(opetype)) {
                Map<String, String> gtMap = (Map<String, String>) dataMap.get("gtMap");
                Table gtxxtable = new Table(5);
                int gtxxwidths[] = { 30, 15, 20, 15, 20 };
                gtxxtable.setWidths(gtxxwidths);
                gtxxtable.setWidth(100);
                gtxxtable.setPadding(3);
                gtxxtable.setBorderWidth(1);
                gtxxtable.setAlignment(Cell.ALIGN_CENTER);

                Cell cell = new Cell(new Phrase(" ", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("traname"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(4);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setRowspan(7);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("name"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("sex"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("cerno"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(3);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("dom"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(3);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("postalcode"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("tel"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("email"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(3);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("polstand"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("nation"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("litedeg"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("occstbeapp"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                cell.setRowspan(2);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("grjy"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(4);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("jtjy"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("fammember"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(2);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("busscoandform"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(4);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("oploc"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(4);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("empnum"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase("", contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                gtxxtable.addCell(cell);
                cell = new Cell(new Phrase(gtMap == null ? "" : gtMap.get("capam"), contentFont));
                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
                cell.setColspan(2);
                gtxxtable.addCell(cell);

                Paragraph p1 = new Paragraph(
                        "\n    ",
                        contentFont);
                Paragraph p2 = new Paragraph(" ", contentFont);
                p2.setIndentationLeft(500);
                Paragraph p3 = new Paragraph("                         ", contentFont);
                p3.setIndentationLeft(500);
                cell = new Cell();
                cell.add(p1);
                cell.add(p2);
                cell.add(p3);
                cell.setColspan(5);
                gtxxtable.addCell(cell);

                document.add(gtxxtable);

                Paragraph wtitle = new Paragraph("\n", titleChinese);
                wtitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(wtitle);

                Map<String, String> wtrMap = (Map<String, String>) dataMap.get("wtrMap");
                Paragraph wtr = new Paragraph("\n :" + (wtrMap == null ? "" : wtrMap.get("sqr")),
                        contentFont);
                document.add(wtr);
                wtr = new Paragraph(" " + (wtrMap == null ? "" : wtrMap.get("wtr")), contentFont);
                document.add(wtr);
                wtr = new Paragraph("  \n", contentFont);
                document.add(wtr);
                wtr = new Paragraph("1. " + (wtrMap == null ? " " : wtrMap.get("qx1"))
                        + "  ", contentFont);
                wtr.setIndentationLeft(100);
                document.add(wtr);
                wtr = new Paragraph("2. " + (wtrMap == null ? " " : wtrMap.get("qx2"))
                        + "  ", contentFont);
                wtr.setIndentationLeft(100);
                document.add(wtr);
                wtr = new Paragraph(
                        "3. " + (wtrMap == null ? " " : wtrMap.get("qx3")) + "  ",
                        contentFont);
                wtr.setIndentationLeft(100);
                document.add(wtr);
                wtr = new Paragraph("4. " + (wtrMap == null ? " " : wtrMap.get("qx4"))
                        + "  ", contentFont);
                wtr.setIndentationLeft(100);
                document.add(wtr);

                wtr = new Paragraph("\n   " + (wtrMap == null ? "" : wtrMap.get("confrom"))
                        + "         " + (wtrMap == null ? "" : wtrMap.get("conto")) + "\n", contentFont);
                document.add(wtr);

                Table t = new Table(4);
                int twidths[] = { 20, 30, 20, 30 };
                t.setWidths(twidths);
                t.setWidth(100);
                t.setPadding(3);
                t.setBorderWidth(1);
                t.setAlignment(Cell.ALIGN_CENTER);

                Cell tCell = new Cell(new Phrase("", contentFont));
                tCell.setColspan(2);
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("unit"), contentFont));
                tCell.setColspan(2);
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                tCell = new Cell(new Phrase("", contentFont));
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("postalcode"), contentFont));
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                tCell = new Cell(new Phrase("", contentFont));
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                tCell = new Cell(new Phrase(wtrMap == null ? "" : wtrMap.get("tel"), contentFont));
                tCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                t.addCell(tCell);
                document.add(t);

                Paragraph pp = new Paragraph("\n", contentFont);
                document.add(pp);
                pp = new Paragraph("                                                                     ",
                        contentFont);
                pp.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(pp);

            } else {
                //
                //
                Table jbxxtable = new Table(4);
                int jbxxwidths[] = { 20, 30, 20, 30 };
                jbxxtable.setWidths(jbxxwidths);
                jbxxtable.setWidth(100);
                jbxxtable.setPadding(3);
                jbxxtable.setBorderWidth(1);
                jbxxtable.setAlignment(Cell.ALIGN_CENTER);

                //
                Cell jbxxTitle = new Cell(new Phrase("", tblTitleFont));
                jbxxTitle.setColspan(4);
                jbxxTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxTitle);

                Map<String, String> jbxxMap = (Map<String, String>) dataMap.get("jbxxMap");

                if ("GS".equals(opetype) || "NZFR".equals(opetype) || "HHQY".equals(opetype)
                        || "GRDZ".equals(opetype) || "WZGS".equals(opetype) || "WZHH".equals(opetype)
                        || "HZS".equals(opetype) || "HZSFZ".equals(opetype)) {
                    Cell jbxxName = new Cell(new Phrase(" ", contentFont));
                    jbxxName.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxName);

                    Cell jbxxNameValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                    jbxxNameValue.setColspan(3);
                    jbxxtable.addCell(jbxxNameValue);

                    Cell jbxxRegno = new Cell(new Phrase("/\n", contentFont));
                    jbxxRegno.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxRegno);
                    if ("WZGS".equals(opetype)) {
                        Cell jbxxRegnoValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                        jbxxtable.addCell(jbxxRegnoValue);
                        Cell gbc = new Cell(new Phrase("", contentFont));
                        gbc.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(gbc);
                        gbc = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                        gbc.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(gbc);
                    } else {
                        Cell jbxxRegnoValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                        jbxxRegnoValue.setColspan(3);
                        jbxxtable.addCell(jbxxRegnoValue);
                    }
                } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                        || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                    String lsdw = "";
                    if ("NZYY".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                        lsdw = "";
                    }
                    Cell cell = null;
                    if (!"HHFZ".equals(opetype) && !"GRDZFZ".equals(opetype)) {
                        cell = new Cell(new Phrase(lsdw, contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("supentname"), contentFont));
                        jbxxtable.addCell(cell);

                        cell = new Cell(new Phrase("/", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("supregno"), contentFont));
                        jbxxtable.addCell(cell);
                    }

                    String fgsname = "";
                    if ("NZYY".equals(opetype)) {
                        fgsname = "";
                    } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                            || "WZHHFZ".equals(opetype)) {
                        fgsname = "";
                    }
                    cell = new Cell(new Phrase(fgsname, contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                    jbxxtable.addCell(cell);

                    String regname = "//";
                    if ("NZYY".equals(opetype)) {
                        regname = "//";
                    } else if ("NZYY".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)) {
                        regname = "//";
                    }
                    cell = new Cell(new Phrase(regname, contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                    jbxxtable.addCell(cell);
                }
                if ("WGJY".equals(opetype)) {
                    Cell cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("/", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else if ("WGDB".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("entname"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("/", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regno"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else {
                    String domname = "";
                    if ("FGS".equals(opetype) || "WZHHFZ".equals(opetype)) {
                        domname = "";
                    } else if ("GRDZ".equals(opetype)) {
                        domname = "";
                    } else if ("GRDZFZ".equals(opetype) || "HHFZ".equals(opetype) || "HZSFZ".equals(opetype)) {
                        domname = "";
                    } else if ("WZHH".equals(opetype) || "HHQY".equals(opetype)) {
                        domname = "";
                    }
                    Cell jbxxDom = new Cell(new Phrase(domname, contentFont));
                    jbxxDom.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxDom);

                    Cell jbxxDomValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("dom"), contentFont));
                    jbxxDomValue.setColspan(3);
                    jbxxtable.addCell(jbxxDomValue);

                    Cell jbxxOploc = new Cell(new Phrase("", contentFont));
                    jbxxOploc.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxOploc);

                    Cell jbxxOplocValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("oploc"), contentFont));
                    jbxxOplocValue.setColspan(3);
                    jbxxtable.addCell(jbxxOplocValue);
                }

                Cell jbxxTel = new Cell(new Phrase("", contentFont));
                jbxxTel.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxTel);

                Cell jbxxTelValue = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
                jbxxTelValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxTelValue);

                Cell jbxxEmail = new Cell(new Phrase("", contentFont));
                jbxxEmail.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxEmail);

                Cell jbxxEmailValue = new Cell(
                        new Phrase(jbxxMap == null ? "" : jbxxMap.get("postalcode"), contentFont));
                jbxxEmailValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(jbxxEmailValue);

                //
                String slname = " ";
                if ("NZFR".equals(opetype) || "NZYY".equals(opetype) || "WGJY".equals(opetype)) {
                    slname = "";
                }
                Cell slTitle = new Cell(new Phrase(slname, tblTitleFont));
                slTitle.setColspan(4);
                slTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                jbxxtable.addCell(slTitle);

                if ("GS".equals(opetype) || "NZFR".equals(opetype) || "WZGS".equals(opetype)) {
                    Cell jbxxLerep = new Cell(new Phrase("", contentFont));
                    jbxxLerep.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxLerep);

                    Cell jbxxLerepValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    jbxxLerepValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxLerepValue);

                    if ("WZGS".equals(opetype)) {
                        Cell cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("position"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        cell.setColspan(3);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congro"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congrocur"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("congrousd"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("insform"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("\n\n\n", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        cell.setColspan(3);
                        jbxxtable.addCell(cell);
                    } else {
                        Cell jbxxPosition = new Cell(new Phrase(" ", contentFont));
                        jbxxPosition.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxPosition);

                        Cell jbxxPositionValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("position"), contentFont));
                        jbxxPositionValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxPositionValue);

                        String regcapname = "";
                        if ("NZFR".equals(opetype)) {
                            regcapname = "";
                        }
                        Cell jbxxRegcap = new Cell(new Phrase(regcapname, contentFont));
                        jbxxRegcap.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxRegcap);

                        Cell jbxxRegcapValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                        jbxxRegcapValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxRegcapValue);

                        String enttypename = "";
                        if ("NZFR".equals(opetype)) {
                            enttypename = "";
                        }
                        Cell jbxxEnttype = new Cell(new Phrase(enttypename, contentFont));
                        jbxxEnttype.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxEnttype);

                        Cell jbxxEnttypeValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                        jbxxEnttypeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxEnttypeValue);
                    }

                    if ("GS".equals(opetype)) {
                        Cell jbxxInsform = new Cell(new Phrase("\n", contentFont));
                        jbxxInsform.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxInsform);

                        Cell jbxxInsformValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("insform"), contentFont));
                        jbxxInsformValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxInsformValue.setColspan(3);
                        jbxxtable.addCell(jbxxInsformValue);

                        Cell jbxxBusscope = new Cell(new Phrase("\n\n\n", contentFont));
                        jbxxBusscope.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxBusscope);

                        Cell jbxxBusscopeValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                        jbxxBusscopeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxBusscopeValue.setColspan(3);
                        jbxxtable.addCell(jbxxBusscopeValue);
                    }

                    Cell jbxxOpfyears = new Cell(new Phrase("", contentFont));
                    jbxxOpfyears.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxOpfyears);

                    Cell jbxxOpfyearsValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("opfyears"), contentFont));
                    jbxxOpfyearsValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxOpfyearsValue);

                    Cell jbxxConum = new Cell(new Phrase("", contentFont));
                    jbxxConum.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxConum);

                    Cell jbxxConumValue = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                    jbxxConumValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(jbxxConumValue);

                    if ("NZFR".equals(opetype)) {
                        Cell jbxxBusscope = new Cell(new Phrase("\n\n\n", contentFont));
                        jbxxBusscope.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(jbxxBusscope);

                        Cell jbxxBusscopeValue = new Cell(
                                new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                        jbxxBusscopeValue.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxBusscopeValue.setColspan(3);
                        jbxxtable.addCell(jbxxBusscopeValue);
                    }
                } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                        || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)
                        || "HZSFZ".equals(opetype)) {
                    Cell cell = null;
                    if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype)) {
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("houseadd"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("cerno"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empno"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("postalcode"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        cell.setColspan(3);
                        jbxxtable.addCell(cell);
                    } else {
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                        jbxxtable.addCell(cell);
                        if ("NZYY".equals(opetype)) {
                            cell = new Cell(new Phrase("", contentFont));
                            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            jbxxtable.addCell(cell);
                            cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("tel"), contentFont));
                            jbxxtable.addCell(cell);
                            cell = new Cell(new Phrase("", contentFont));
                            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            jbxxtable.addCell(cell);
                            cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                            jbxxtable.addCell(cell);
                        }
                        cell = new Cell(new Phrase("", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        jbxxtable.addCell(cell);
                        cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                        jbxxtable.addCell(cell);
                    }

                    String bussname = "";
                    if ("FGS".equals(opetype)) {
                        bussname = "";
                    } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                        bussname = "";
                    }
                    cell = new Cell(new Phrase(bussname, contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);

                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(
                            new Phrase(jbxxMap == null ? "" : jbxxMap.get("calculationmethod"), contentFont));
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else if ("HHQY".equals(opetype)) {
                    Cell hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setRowspan(2);
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(2);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(
                            new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(2);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("hhlx"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(3);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("hhcze"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(3);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("\n\n\n", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(3);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(" ______________________________________________",
                            contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(3);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("parnum"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("exenum"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase("", contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(hhcell);
                    hhcell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empnum"), contentFont));
                    hhcell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    hhcell.setColspan(3);
                    jbxxtable.addCell(hhcell);
                } else if ("GRDZ".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("empnum"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("grczfs"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("\n\n\n", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else if ("WZHH".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("  ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("reccap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcapcur"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("\n\n\n", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("opfyears"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("conum"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                } else if ("WGJY".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("enttype"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("depincha"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("exaauth"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandate"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcapcur"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("itemofoporcpro"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentname"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentadd"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else if ("WGDB".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regorg"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("yysj"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandate"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("sandocno"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);

                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(4);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentname"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentforname"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentadd"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("cxqx"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentautsign"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forenliafor"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("country"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("forentscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                } else if ("HZS".equals(opetype)) {
                    Cell cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("lerep"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("regcap"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                    Paragraph p1 = new Paragraph("    " + dataMap.get("cyzs") + "     ",
                            contentFont);
                    Paragraph p2 = new Paragraph("    " + dataMap.get("nmcy")
                            + "          " + dataMap.get("nmcyrate") + "   %", contentFont);
                    p2.setIndentationLeft(60);
                    Paragraph p3 = new Paragraph("     " + dataMap.get("frcy")
                            + "          " + dataMap.get("frcyrate") + "   %", contentFont);
                    p3.setIndentationLeft(120);

                    cell = new Cell();
                    cell.add(p1);
                    cell.add(p2);
                    cell.add(p3);
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(4);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase("\n\n\n", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    jbxxtable.addCell(cell);
                    cell = new Cell(new Phrase(jbxxMap == null ? "" : jbxxMap.get("busscope"), contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(3);
                    jbxxtable.addCell(cell);
                }

                document.add(jbxxtable);

                //
                //TABLE
                Table remarktable = new Table(6);
                int remarkwidths[] = { 15, 10, 20, 15, 20, 20 };
                remarktable.setWidths(remarkwidths);
                remarktable.setWidth(100);
                remarktable.setPadding(3);
                remarktable.setBorderWidth(1);
                remarktable.setAlignment(Cell.ALIGN_CENTER);
                if ("GS".equals(opetype) || "NZFR".equals(opetype) || "HHQY".equals(opetype)
                        || "HHFZ".equals(opetype) || "GRDZ".equals(opetype) || "GRDZFZ".equals(opetype)
                        || "WZGS".equals(opetype) || "WZHH".equals(opetype) || "HZS".equals(opetype)) {
                    Cell bgTitle = new Cell(new Phrase("", tblTitleFont));
                    bgTitle.setColspan(6);
                    bgTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(bgTitle);

                    Cell bg1 = new Cell(new Phrase("", contentFont));
                    bg1.setColspan(2);
                    bg1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(bg1);

                    Cell bg2 = new Cell(new Phrase("", contentFont));
                    bg2.setColspan(2);
                    bg2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(bg2);

                    Cell bg3 = new Cell(new Phrase("", contentFont));
                    bg3.setColspan(2);
                    bg3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(bg3);

                    for (int i = 0; i < 5; i++) {
                        Cell bg11 = new Cell("");
                        bg11.setColspan(2);
                        remarktable.addCell(bg11);

                        Cell bg21 = new Cell(" ");
                        bg21.setColspan(2);
                        remarktable.addCell(bg21);

                        Cell bg31 = new Cell(" ");
                        bg31.setColspan(2);
                        remarktable.addCell(bg31);
                    }

                    if ("GS".equals(opetype) || "HHQY".equals(opetype) || "GRDZ".equals(opetype)
                            || "WZGS".equals(opetype) || "WZHH".equals(opetype) || "HZS".equals(opetype)) {
                        Cell baTitle = new Cell(new Phrase(" ", tblTitleFont));
                        baTitle.setColspan(6);
                        baTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(baTitle);

                        Cell fgsCell = new Cell(new Phrase("\n", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        fgsCell.setRowspan(2);
                        remarktable.addCell(fgsCell);

                        Cell nameCell = new Cell(new Phrase("", contentFont));
                        nameCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nameCell);

                        Cell nameValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(nameValueCell);

                        Cell regnoCell = new Cell(new Phrase("/", contentFont));
                        regnoCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        regnoCell.setColspan(2);
                        remarktable.addCell(regnoCell);

                        Cell regnoValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(regnoValueCell);

                        Cell djjgCell = new Cell(new Phrase("", contentFont));
                        djjgCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(djjgCell);

                        Cell djjgValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(djjgValueCell);

                        Cell djrqCell = new Cell(new Phrase("", contentFont));
                        djrqCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        djrqCell.setColspan(2);
                        remarktable.addCell(djrqCell);

                        Cell djrqValueCell = new Cell(new Phrase("", contentFont));
                        remarktable.addCell(djrqValueCell);

                        if ("GRDZ".equals(opetype)) {
                            Cell qtc = new Cell(new Phrase("", contentFont));
                            qtc.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(qtc);
                            qtc = new Cell(new Phrase("     ", contentFont));
                            qtc.setHorizontalAlignment(Element.ALIGN_CENTER);
                            qtc.setColspan(5);
                            remarktable.addCell(qtc);
                        } else {
                            Cell qszCell = new Cell(new Phrase("", contentFont));
                            qszCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            qszCell.setRowspan(2);
                            remarktable.addCell(qszCell);

                            Cell cyCell = new Cell(new Phrase("", contentFont));
                            cyCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(cyCell);

                            Cell cyValueCell = new Cell(new Phrase("", contentFont));
                            cyValueCell.setColspan(4);
                            remarktable.addCell(cyValueCell);

                            Cell fzrCell = new Cell(new Phrase("", contentFont));
                            fzrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(fzrCell);

                            Cell fzrValueCell = new Cell(new Phrase("", contentFont));
                            remarktable.addCell(fzrValueCell);

                            Cell lxdhCell = new Cell(new Phrase("", contentFont));
                            lxdhCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            lxdhCell.setColspan(2);
                            remarktable.addCell(lxdhCell);

                            Cell lxdhValueCell = new Cell(new Phrase("", contentFont));
                            remarktable.addCell(lxdhValueCell);
                        }

                        if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                            Cell qtCell = new Cell(new Phrase("", contentFont));
                            qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(qtCell);
                            Cell qtValueCell = new Cell(new Phrase(
                                    "                    ",
                                    contentFont));
                            qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            qtValueCell.setColspan(5);
                            remarktable.addCell(qtValueCell);
                        } else if ("HHQY".equals(opetype)) {
                            Cell qtCell = new Cell(new Phrase("", contentFont));
                            qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(qtCell);
                            Cell qtValueCell = new Cell(
                                    new Phrase("        ", contentFont));
                            qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            qtValueCell.setColspan(5);
                            remarktable.addCell(qtValueCell);
                            qtCell = new Cell(new Phrase("", contentFont));
                            qtCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            remarktable.addCell(qtCell);
                            qtValueCell = new Cell(new Phrase("         ", contentFont));
                            qtValueCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                            qtValueCell.setColspan(5);
                            remarktable.addCell(qtValueCell);
                        }

                    } else if ("NZFR".equals(opetype)) {
                        Cell nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setRowspan(2);
                        nzfrCell.setColspan(2);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("  ", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("  ", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("  ", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);

                        nzfrCell = new Cell(new Phrase(" ", tblTitleFont));
                        nzfrCell.setColspan(6);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);

                        nzfrCell = new Cell(new Phrase("\n", contentFont));
                        nzfrCell.setRowspan(4);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);

                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setColspan(2);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase(" ", contentFont));
                        nzfrCell.setColspan(3);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setColspan(2);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase(" ", contentFont));
                        nzfrCell.setColspan(3);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setColspan(2);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase(" ", contentFont));
                        nzfrCell.setColspan(3);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setColspan(2);
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase(" ", contentFont));
                        nzfrCell.setColspan(3);
                        remarktable.addCell(nzfrCell);

                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("    ", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        nzfrCell.setColspan(2);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(nzfrCell);
                        nzfrCell = new Cell(new Phrase("     ", contentFont));
                        nzfrCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        nzfrCell.setColspan(2);
                        remarktable.addCell(nzfrCell);
                    }
                } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "WZFZ".equals(opetype)
                        || "WZHHFZ".equals(opetype) || "WGJY".equals(opetype) || "WGDB".equals(opetype)
                        || "HZSFZ".equals(opetype)) {
                    Cell fgsCell = new Cell(new Phrase("/", tblTitleFont));
                    fgsCell.setColspan(6);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("/", contentFont));
                    fgsCell.setColspan(2);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("/", contentFont));
                    fgsCell.setColspan(2);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);

                    fgsCell = new Cell(new Phrase("/", contentFont));
                    fgsCell.setColspan(2);
                    fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(fgsCell);

                    for (int i = 0; i < 3; i++) {
                        fgsCell = new Cell("");
                        fgsCell.setColspan(2);
                        remarktable.addCell(fgsCell);

                        fgsCell = new Cell(" ");
                        fgsCell.setColspan(2);
                        remarktable.addCell(fgsCell);

                        fgsCell = new Cell(" ");
                        fgsCell.setColspan(2);
                        remarktable.addCell(fgsCell);
                    }

                    if ("FGS".equals(opetype) || "HZSFZ".equals(opetype)) {
                        fgsCell = new Cell(new Phrase(" ", tblTitleFont));
                        fgsCell.setColspan(6);
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase(
                                "  1;      2;\n  3;  4",
                                contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);

                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("       ", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);
                    } else if ("NZYY".equals(opetype)) {
                        fgsCell = new Cell(new Phrase(" ", tblTitleFont));
                        fgsCell.setColspan(6);
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase(
                                "  1;     2;\n  3 3; 4",
                                contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);

                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(
                                new Phrase("   ", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("       ", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);

                        fgsCell = new Cell(new Phrase("", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(fgsCell);
                        fgsCell = new Cell(new Phrase("            ", contentFont));
                        fgsCell.setHorizontalAlignment(Element.ALIGN_LEFT);
                        fgsCell.setColspan(5);
                        remarktable.addCell(fgsCell);
                    }
                }

                if ("HHFZ".equals(opetype) || "GRDZ".equals(opetype) || "GRDZFZ".equals(opetype)
                        || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)) {
                    Cell cell = null;
                    cell = new Cell(new Phrase(" ", tblTitleFont));
                    cell.setColspan(6);
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(cell);

                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(cell);
                    if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                            || "WZHHFZ".equals(opetype)) {
                        cell = new Cell(new Phrase(
                                " 1.       2.\n 3.       4. ",
                                contentFont));
                    } else if ("GRDZ".equals(opetype)) {
                        cell = new Cell(new Phrase(
                                " \n \n \n __________________ ",
                                contentFont));
                    }
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(5);
                    remarktable.addCell(cell);
                    if ("GRDZ".equals(opetype)) {
                        cell = new Cell(new Phrase(" ", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        remarktable.addCell(cell);
                        cell = new Cell(new Phrase(" ", contentFont));
                        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                        cell.setColspan(5);
                        remarktable.addCell(cell);
                    }
                    cell = new Cell(new Phrase(" ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    remarktable.addCell(cell);
                    cell = new Cell(new Phrase("      ", contentFont));
                    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell.setColspan(5);
                    remarktable.addCell(cell);
                }

                //
                Cell sqrTitle = new Cell(new Phrase("", tblTitleFont));
                sqrTitle.setColspan(6);
                sqrTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
                remarktable.addCell(sqrTitle);

                String sqrtext = "";
                if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                    sqrtext = "\n       \n";
                } else if ("FGS".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("NZFR".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("NZYY".equals(opetype)) {
                    sqrtext = "\n       \n";
                } else if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                        || "WZHHFZ".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("GRDZ".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("WGJY".equals(opetype)) {
                    sqrtext = "\n      \n";
                } else if ("WGDB".equals(opetype)) {
                    sqrtext = "\n       \n";
                } else if ("HZS".equals(opetype) || "HZSFZ".equals(opetype)) {
                    sqrtext = "\n      \n";
                }
                Paragraph sqrp = new Paragraph(sqrtext, contentFont);
                String fdbdrname = "";
                if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                    fdbdrname = "";
                } else if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype)
                        || "WZHHFZ".equals(opetype)) {
                    fdbdrname = "\n  \n  ";
                } else if ("GRDZ".equals(opetype)) {
                    fdbdrname = "";
                } else if ("WGJY".equals(opetype) || "WGDB".equals(opetype)) {
                    fdbdrname = ":";
                }
                Paragraph fdbdr = new Paragraph("      " + fdbdrname
                        + "                                                                                                        ",
                        contentFont);
                fdbdr.setFirstLineIndent(40);
                Paragraph fzrqz = new Paragraph(
                        "    " + (("GS".equals(opetype)
                                || "HHQY".equals(opetype) || "WZHH".equals(opetype) || "GRDZ".equals(opetype)
                                || "WZGS".equals(opetype) || "HZS".equals(opetype))
                                        ? ""
                                        : "")
                                + "                                                                                                                                              ",
                        contentFont);
                fzrqz.setFirstLineIndent(40);
                Cell allCell = new Cell();
                allCell.add(sqrp);
                allCell.add(fdbdr);
                allCell.add(fzrqz);
                allCell.setColspan(6);
                remarktable.addCell(allCell);

                document.add(remarktable);

                //
                if ("GRDZ".equals(opetype)) {
                    Paragraph lerepTitle = new Paragraph("\n", titleChinese);
                    lerepTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(lerepTitle);

                    //TABLE
                    Table lereptable = new Table(4);
                    int lerepwidths[] = { 20, 30, 20, 30 };
                    lereptable.setWidths(lerepwidths);
                    lereptable.setWidth(100);
                    lereptable.setPadding(3);
                    lereptable.setBorderWidth(1);
                    lereptable.setAlignment(Cell.ALIGN_CENTER);

                    Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                    Cell lerep1 = new Cell(new Phrase(" ", contentFont));
                    lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep1);
                    Cell lerep2 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                    lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep2);
                    Cell lerep3 = new Cell(new Phrase(" ", contentFont));
                    lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep3);
                    Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("sex"), contentFont));
                    lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep4);

                    Cell lerep5 = new Cell(new Phrase("", contentFont));
                    lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep5);
                    Cell lerep6 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("natdate"), contentFont));
                    lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep6);
                    Cell lerep7 = new Cell(new Phrase(" ", contentFont));
                    lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep7);
                    Cell lerep8 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("nation"), contentFont));
                    lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep8);

                    Cell lerep9 = new Cell(new Phrase("", contentFont));
                    lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep9);
                    Cell lerep10 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("litedeg"), contentFont));
                    lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep10);
                    Cell lerep11 = new Cell(new Phrase("", contentFont));
                    lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep11);
                    Cell lerep12 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("polstand"), contentFont));
                    lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep12);

                    Cell lerep13 = new Cell(new Phrase("", contentFont));
                    lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep13);
                    Cell lerep14 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("mobile"), contentFont));
                    lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep14);
                    Cell lerep15 = new Cell(new Phrase("", contentFont));
                    lerep15.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep15);
                    Cell lerep16 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("email"), contentFont));
                    lerep16.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep16);

                    Cell lerep17 = new Cell(new Phrase("", contentFont));
                    lerep17.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep17);
                    Cell lerep18 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                    lerep18.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep18);
                    Cell lerep19 = new Cell(new Phrase("", contentFont));
                    lerep19.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep19);
                    Cell lerep20 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                    lerep20.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep20);

                    Cell lerep21 = new Cell(new Phrase(" ", contentFont));
                    lerep21.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep21);
                    Cell lerep22 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("houseadd"), contentFont));
                    lerep22.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep22);
                    Cell lerep23 = new Cell(new Phrase("", contentFont));
                    lerep23.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep23);
                    Cell lerep24 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("postalcode"), contentFont));
                    lerep24.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep24);

                    Cell lerep25 = new Cell(new Phrase("", contentFont));
                    lerep25.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep25);
                    Cell lerep26 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("occstbeapp"), contentFont));
                    lerep26.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lerep26.setColspan(3);
                    lereptable.addCell(lerep26);

                    document.add(lereptable);
                } else if ("WGDB".equals(opetype)) {
                    Paragraph lerepTitle1 = new Paragraph("\n", titleChinese);
                    lerepTitle1.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(lerepTitle1);
                    Paragraph lerepTitle2 = new Paragraph("/", titleChinese);
                    lerepTitle2.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(lerepTitle2);

                    //TABLE
                    Table lereptable = new Table(4);
                    int lerepwidths[] = { 20, 30, 20, 30 };
                    lereptable.setWidths(lerepwidths);
                    lereptable.setWidth(100);
                    lereptable.setPadding(3);
                    lereptable.setBorderWidth(1);
                    lereptable.setAlignment(Cell.ALIGN_CENTER);

                    Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                    Cell lerep1 = new Cell(new Phrase("", contentFont));
                    lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep1);
                    Cell lerep2 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("entname"), contentFont));
                    lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep2);
                    Cell lerep3 = new Cell(new Phrase("", contentFont));
                    lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep3);
                    Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                    lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep4);

                    Cell lerep5 = new Cell(new Phrase("", contentFont));
                    lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep5);
                    Cell lerep6 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("position"), contentFont));
                    lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep6);
                    Cell lerep7 = new Cell(new Phrase("", contentFont));
                    lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep7);
                    Cell lerep8 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("country"), contentFont));
                    lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep8);

                    Cell lerep9 = new Cell(new Phrase("", contentFont));
                    lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep9);
                    Cell lerep10 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("arrchdate"), contentFont));
                    lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep10);
                    Cell lerep11 = new Cell(new Phrase("", contentFont));
                    lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep11);
                    Cell lerep12 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("tel"), contentFont));
                    lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep12);

                    Cell lerep13 = new Cell(new Phrase("", contentFont));
                    lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep13);
                    Cell lerep14 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                    lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep14);
                    Cell lerep15 = new Cell(new Phrase("", contentFont));
                    lerep15.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep15);
                    Cell lerep16 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                    lerep16.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep16);

                    Cell lerep17 = new Cell(new Phrase("", contentFont));
                    lerep17.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep17);
                    Cell lerep18 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("houaddinchina"), contentFont));
                    lerep18.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep18);
                    Cell lerep19 = new Cell(new Phrase("", contentFont));
                    lerep19.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep19);
                    Cell lerep20 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("repdate"), contentFont));
                    lerep20.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep20);

                    Paragraph rep1 = new Paragraph("",
                            contentFont);
                    rep1.setAlignment(Paragraph.ALIGN_LEFT);
                    Paragraph rep2 = new Paragraph("1",
                            contentFont);
                    rep2.setAlignment(Paragraph.ALIGN_LEFT);
                    Paragraph rep3 = new Paragraph(
                            "25",
                            contentFont);
                    rep3.setAlignment(Paragraph.ALIGN_LEFT);
                    Paragraph rep4 = new Paragraph("3", contentFont);
                    rep4.setAlignment(Paragraph.ALIGN_LEFT);
                    Paragraph rep5 = new Paragraph("/", contentFont);
                    rep5.setAlignment(Paragraph.ALIGN_LEFT);
                    rep5.setIndentationLeft(200);

                    Cell lerep21 = new Cell();
                    lerep21.add(rep1);
                    lerep21.add(rep2);
                    lerep21.add(rep3);
                    lerep21.add(rep4);
                    lerep21.add(rep5);
                    lerep21.setColspan(4);
                    lereptable.addCell(lerep21);

                    document.add(lereptable);
                } else {
                    Paragraph lerepTitle = null;
                    if ("GS".equals(opetype) || "NZFR".equals(opetype) || "WZGS".equals(opetype)
                            || "HZS".equals(opetype)) {
                        lerepTitle = new Paragraph("\n", titleChinese);
                    } else if ("FGS".equals(opetype) || "NZYY".equals(opetype) || "HHFZ".equals(opetype)
                            || "GRDZFZ".equals(opetype) || "WZFZ".equals(opetype) || "WZHHFZ".equals(opetype)
                            || "WGJY".equals(opetype) || "HZSFZ".equals(opetype)) {
                        lerepTitle = new Paragraph("\n", titleChinese);
                    } else if ("HHQY".equals(opetype) || "WZHH".equals(opetype)) {
                        lerepTitle = new Paragraph("\n", titleChinese);
                    }
                    lerepTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(lerepTitle);

                    //TABLE
                    Table lereptable = new Table(4);
                    int lerepwidths[] = { 20, 30, 20, 30 };
                    lereptable.setWidths(lerepwidths);
                    lereptable.setWidth(100);
                    lereptable.setPadding(3);
                    lereptable.setBorderWidth(1);
                    lereptable.setAlignment(Cell.ALIGN_CENTER);

                    Map<String, String> lerepMap = (Map<String, String>) dataMap.get("lerepMap");
                    Cell lerep1 = new Cell(new Phrase(" ", contentFont));
                    lerep1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep1);
                    Cell lerep2 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("name"), contentFont));
                    lerep2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep2);
                    Cell lerep3 = new Cell(new Phrase("", contentFont));
                    lerep3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep3);
                    Cell lerep4 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("tel"), contentFont));
                    lerep4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep4);

                    Cell lerep5 = new Cell(new Phrase("", contentFont));
                    lerep5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep5);
                    Cell lerep6 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("mobile"), contentFont));
                    lerep6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep6);
                    Cell lerep7 = new Cell(new Phrase("", contentFont));
                    lerep7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep7);
                    Cell lerep8 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("email"), contentFont));
                    lerep8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep8);

                    Cell lerep9 = new Cell(new Phrase("", contentFont));
                    lerep9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep9);
                    Cell lerep10 = new Cell(
                            new Phrase(lerepMap == null ? "" : lerepMap.get("certype"), contentFont));
                    lerep10.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep10);
                    Cell lerep11 = new Cell(new Phrase("", contentFont));
                    lerep11.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep11);
                    Cell lerep12 = new Cell(new Phrase(lerepMap == null ? "" : lerepMap.get("cerno"), contentFont));
                    lerep12.setHorizontalAlignment(Element.ALIGN_CENTER);
                    lereptable.addCell(lerep12);
                    if ("HHFZ".equals(opetype) || "GRDZFZ".equals(opetype)) {
                        Cell lerep13 = new Cell(new Phrase("", contentFont));
                        lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                        lereptable.addCell(lerep13);
                        Cell lerep14 = new Cell(
                                new Phrase(lerepMap == null ? "" : lerepMap.get("occstbeapp"), contentFont));
                        lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                        lerep14.setColspan(3);
                        lereptable.addCell(lerep14);
                    } else if ("WZFZ".equals(opetype) || "WZHH".equals(opetype) || "WZHHFZ".equals(opetype)
                            || "WGJY".equals(opetype)) {
                        Cell lerep13 = new Cell(new Phrase("", contentFont));
                        lerep13.setHorizontalAlignment(Element.ALIGN_CENTER);
                        lereptable.addCell(lerep13);
                        Cell lerep14 = new Cell(
                                new Phrase(lerepMap == null ? "" : lerepMap.get("country"), contentFont));
                        lerep14.setHorizontalAlignment(Element.ALIGN_CENTER);
                        lerep14.setColspan(3);
                        lereptable.addCell(lerep14);
                    }

                    document.add(lereptable);
                }

                if ("HZS".equals(opetype)) {
                    Paragraph hzsp = new Paragraph(
                            "\n  ",
                            contentFont);
                    document.add(hzsp);
                    Paragraph hzsp1 = new Paragraph("\n", contentFont);
                    hzsp1.setIndentationLeft(200);
                    document.add(hzsp1);
                    Paragraph hzsp2 = new Paragraph("\n                                                 ",
                            contentFont);
                    hzsp2.setAlignment(Paragraph.ALIGN_RIGHT);
                    document.add(hzsp2);
                }

                if ("GS".equals(opetype) || "WZGS".equals(opetype)) {
                    //()
                    Paragraph ryxxTitle = new Paragraph("\n", titleChinese);
                    ryxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(ryxxTitle);

                    //TABLE
                    Table ryxxtable = new Table(1);
                    int ryxxwidths[] = { 100 };
                    ryxxtable.setWidths(ryxxwidths);
                    ryxxtable.setWidth(100);
                    ryxxtable.setPadding(3);
                    ryxxtable.setBorderWidth(1);
                    ryxxtable.setAlignment(Cell.ALIGN_CENTER);
                    List<Map<String, String>> ryxxList = (List<Map<String, String>>) dataMap.get("ryxxList");
                    if (ryxxList != null && !ryxxList.isEmpty()) {
                        for (int i = 0; i < ryxxList.size(); i++) {
                            Map<String, String> ryxxs = ryxxList.get(i);
                            Paragraph p = new Paragraph();
                            if ("GS".equals(opetype)) {
                                Phrase p1 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("name")) + "     ", contentFont);
                                p.add(p1);
                                Phrase p2 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("position")) + "     ",
                                        contentFont);
                                p.add(p2);
                                Phrase p3 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("certype")) + "     ",
                                        contentFont);
                                p.add(p3);
                                Phrase p4 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("cerno")) + "     ",
                                        contentFont);
                                p.add(p4);
                            } else if ("WZGS".equals(opetype)) {
                                Phrase p1 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("name")) + "     ", contentFont);
                                p.add(p1);
                                Phrase p2 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("country")) + "     ",
                                        contentFont);
                                p.add(p2);
                                Phrase p3 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("certype")) + "     ",
                                        contentFont);
                                p.add(p3);
                                Phrase p4 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("cerno")) + "     ",
                                        contentFont);
                                p.add(p4);
                                Phrase p5 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("position")) + "     ",
                                        contentFont);
                                p.add(p5);
                                Phrase p6 = new Phrase(
                                        "" + (ryxxs == null ? "" : ryxxs.get("posbrform")) + "     ",
                                        contentFont);
                                p.add(p6);
                            }
                            Cell cell = new Cell(p);
                            ryxxtable.addCell(cell);
                        }
                    }
                    document.add(ryxxtable);
                }

                if ("GS".equals(opetype)) {
                    //()
                    Paragraph czxxTitle = new Paragraph("\n()", titleChinese);
                    czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(czxxTitle);

                    //TABLE
                    Table czxxtable = new Table(7);
                    int czxxwidths[] = { 20, 20, 15, 10, 10, 15, 10 };
                    czxxtable.setWidths(czxxwidths);
                    czxxtable.setWidth(100);
                    czxxtable.setPadding(3);
                    czxxtable.setBorderWidth(1);
                    czxxtable.setAlignment(Cell.ALIGN_CENTER);

                    List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                    if (czxxList != null && !czxxList.isEmpty()) {
                        Cell ct1 = new Cell(new Phrase("\n", contentFont));
                        ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct1);
                        Cell ct2 = new Cell(new Phrase("", contentFont));
                        ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct2);
                        Cell ct3 = new Cell(new Phrase("", contentFont));
                        ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct3);
                        Cell ct4 = new Cell(new Phrase("", contentFont));
                        ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct4);
                        Cell ct5 = new Cell(new Phrase("", contentFont));
                        ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct5);
                        Cell ct6 = new Cell(new Phrase("\n", contentFont));
                        ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct6);
                        Cell ct7 = new Cell(new Phrase("", contentFont));
                        ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct7);
                        for (int i = 0; i < czxxList.size(); i++) {
                            List<String> czxxs = czxxList.get(i);
                            if (!czxxs.isEmpty()) {
                                for (int j = 0; j < czxxs.size(); j++) {
                                    Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                    czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    czxxtable.addCell(czCell);
                                }
                            }
                        }
                    }
                    document.add(czxxtable);
                } else if ("WZGS".equals(opetype) || "WZHH".equals(opetype)) {
                    //()
                    Paragraph czxxTitle = new Paragraph("\n/", titleChinese);
                    czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(czxxTitle);

                    //TABLE
                    int length = 0;
                    int[] czxxwidths = null;
                    if ("WZGS".equals(opetype)) {
                        length = 8;
                        czxxwidths = new int[] { 20, 10, 15, 10, 10, 15, 10, 10 };
                    } else if ("WZHH".equals(opetype)) {
                        length = 9;
                        czxxwidths = new int[] { 12, 11, 11, 11, 11, 11, 11, 11, 11 };
                    }
                    Table czxxtable = new Table(length);
                    czxxtable.setWidths(czxxwidths);
                    czxxtable.setWidth(100);
                    czxxtable.setPadding(3);
                    czxxtable.setBorderWidth(1);
                    czxxtable.setAlignment(Cell.ALIGN_CENTER);

                    List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                    if (czxxList != null && !czxxList.isEmpty()) {
                        String ct1text = "";
                        if ("WZGS".equals(opetype)) {
                            ct1text = "\n";
                        } else if ("WZHH".equals(opetype)) {
                            ct1text = "\n";
                        }
                        Cell ct1 = new Cell(new Phrase(ct1text, contentFont));
                        ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct1);
                        Cell ct11 = new Cell(new Phrase("", contentFont));
                        ct11.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct11);
                        Cell ct2 = new Cell(new Phrase("", contentFont));
                        ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct2);
                        Cell ct3 = new Cell(new Phrase("", contentFont));
                        ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct3);
                        Cell ct31 = new Cell(new Phrase("", contentFont));
                        ct31.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct31);
                        Cell ct4 = new Cell(new Phrase("", contentFont));
                        ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct4);
                        Cell ct5 = new Cell(new Phrase("", contentFont));
                        ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct5);
                        Cell ct6 = new Cell(new Phrase("\n", contentFont));
                        ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct6);
                        Cell ct7 = new Cell(new Phrase("", contentFont));
                        ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct7);
                        for (int i = 0; i < czxxList.size(); i++) {
                            List<String> czxxs = czxxList.get(i);
                            if (!czxxs.isEmpty()) {
                                for (int j = 0; j < czxxs.size(); j++) {
                                    Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                    czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    czxxtable.addCell(czCell);
                                }
                            }
                        }
                    }
                    document.add(czxxtable);
                } else if ("HHQY".equals(opetype)) {
                    //
                    Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                    czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(czxxTitle);

                    //TABLE
                    Table czxxtable = new Table(9);
                    int czxxwidths[] = { 12, 11, 11, 11, 11, 11, 11, 11, 11 };
                    czxxtable.setWidths(czxxwidths);
                    czxxtable.setWidth(100);
                    czxxtable.setPadding(3);
                    czxxtable.setBorderWidth(1);
                    czxxtable.setAlignment(Cell.ALIGN_CENTER);

                    List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                    if (czxxList != null && !czxxList.isEmpty()) {
                        Cell ct1 = new Cell(new Phrase("", contentFont));
                        ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct1);
                        Cell ct2 = new Cell(new Phrase("", contentFont));
                        ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct2);
                        Cell ct3 = new Cell(new Phrase("", contentFont));
                        ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct3);
                        Cell ct4 = new Cell(new Phrase("", contentFont));
                        ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct4);
                        Cell ct5 = new Cell(new Phrase("", contentFont));
                        ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct5);
                        Cell ct6 = new Cell(new Phrase("", contentFont));
                        ct6.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct6);
                        Cell ct7 = new Cell(new Phrase("", contentFont));
                        ct7.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct7);
                        Cell ct8 = new Cell(new Phrase("", contentFont));
                        ct8.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct8);
                        Cell ct9 = new Cell(new Phrase("", contentFont));
                        ct9.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct9);
                        for (int i = 0; i < czxxList.size(); i++) {
                            List<String> czxxs = czxxList.get(i);
                            if (!czxxs.isEmpty()) {
                                for (int j = 0; j < czxxs.size(); j++) {
                                    Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                    czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    czxxtable.addCell(czCell);
                                }
                            }
                        }
                    }
                    document.add(czxxtable);
                } else if ("HZS".equals(opetype)) {
                    //
                    Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                    czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(czxxTitle);

                    //TABLE
                    Table czxxtable = new Table(5);
                    int czxxwidths[] = { 10, 30, 20, 20, 20 };
                    czxxtable.setWidths(czxxwidths);
                    czxxtable.setWidth(100);
                    czxxtable.setPadding(3);
                    czxxtable.setBorderWidth(1);
                    czxxtable.setAlignment(Cell.ALIGN_CENTER);

                    List<List<String>> czxxList = (List<List<String>>) dataMap.get("czxxList");
                    if (czxxList != null && !czxxList.isEmpty()) {
                        Cell ct1 = new Cell(new Phrase("", contentFont));
                        ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct1);
                        Cell ct2 = new Cell(new Phrase("", contentFont));
                        ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct2);
                        Cell ct3 = new Cell(new Phrase("", contentFont));
                        ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct3);
                        Cell ct4 = new Cell(new Phrase("", contentFont));
                        ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct4);
                        Cell ct5 = new Cell(new Phrase("", contentFont));
                        ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct5);
                        for (int i = 0; i < czxxList.size(); i++) {
                            List<String> czxxs = czxxList.get(i);
                            if (!czxxs.isEmpty()) {
                                for (int j = 0; j < czxxs.size(); j++) {
                                    Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                    czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    czxxtable.addCell(czCell);
                                }
                            }
                        }
                    }
                    document.add(czxxtable);

                    Paragraph czzep = new Paragraph("\n:    " + dataMap.get("regcap") + "   ()  ",
                            contentFont);
                    czzep.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep.setIndentationLeft(100);
                    document.add(czzep);
                    Paragraph czzep1 = new Paragraph("\n  ", contentFont);
                    czzep1.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep1.setIndentationLeft(100);
                    document.add(czzep1);
                    Paragraph czzep2 = new Paragraph(
                            "\n                                                        ", contentFont);
                    czzep2.setAlignment(Paragraph.ALIGN_RIGHT);
                    document.add(czzep2);
                }

                if ("HZS".equals(opetype)) {
                    //
                    Paragraph czxxTitle = new Paragraph("\n", titleChinese);
                    czxxTitle.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(czxxTitle);

                    //TABLE
                    Table czxxtable = new Table(5);
                    int czxxwidths[] = { 10, 20, 30, 25, 15 };
                    czxxtable.setWidths(czxxwidths);
                    czxxtable.setWidth(100);
                    czxxtable.setPadding(3);
                    czxxtable.setBorderWidth(1);
                    czxxtable.setAlignment(Cell.ALIGN_CENTER);

                    List<List<String>> czxxList = (List<List<String>>) dataMap.get("hzsList");
                    if (czxxList != null && !czxxList.isEmpty()) {
                        Cell ct1 = new Cell(new Phrase("", contentFont));
                        ct1.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct1);
                        Cell ct2 = new Cell(new Phrase("", contentFont));
                        ct2.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct2);
                        Cell ct3 = new Cell(new Phrase("", contentFont));
                        ct3.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct3);
                        Cell ct4 = new Cell(new Phrase("", contentFont));
                        ct4.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct4);
                        Cell ct5 = new Cell(new Phrase("", contentFont));
                        ct5.setHorizontalAlignment(Element.ALIGN_CENTER);
                        czxxtable.addCell(ct5);
                        for (int i = 0; i < czxxList.size(); i++) {
                            List<String> czxxs = czxxList.get(i);
                            if (!czxxs.isEmpty()) {
                                for (int j = 0; j < czxxs.size(); j++) {
                                    Cell czCell = new Cell(new Phrase(czxxs.get(j), contentFont));
                                    czCell.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    czxxtable.addCell(czCell);
                                }
                            }
                        }
                    }
                    document.add(czxxtable);

                    Paragraph czzep = new Paragraph("\n:    " + dataMap.get("cyzs") + "   ()    ",
                            contentFont);
                    czzep.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep.setIndentationLeft(40);
                    document.add(czzep);
                    Paragraph czzep1 = new Paragraph(" " + dataMap.get("nmcy") + "   ()  "
                            + dataMap.get("nmcyrate") + "    % ", contentFont);
                    czzep1.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep1.setIndentationLeft(100);
                    document.add(czzep1);
                    Paragraph czzep2 = new Paragraph("   " + dataMap.get("frcy")
                            + "   () " + dataMap.get("frcyrate") + "  %", contentFont);
                    czzep2.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep2.setIndentationLeft(100);
                    document.add(czzep2);

                    Paragraph czzep3 = new Paragraph(
                            " ",
                            contentFont);
                    czzep3.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep3.setIndentationLeft(40);
                    document.add(czzep3);

                    Paragraph czzep4 = new Paragraph("\n ", contentFont);
                    czzep4.setAlignment(Paragraph.ALIGN_LEFT);
                    czzep4.setIndentationLeft(100);
                    document.add(czzep4);

                    Paragraph czzep5 = new Paragraph(
                            "\n                                                                 ",
                            contentFont);
                    czzep4.setAlignment(Paragraph.ALIGN_RIGHT);
                    document.add(czzep4);
                }

                //()
                Paragraph cwfzrTitle = new Paragraph("\n", titleChinese);
                cwfzrTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(cwfzrTitle);

                //TABLE
                Table cwfzrtable = new Table(4);
                int cwfzrwidths[] = { 20, 30, 20, 30 };
                cwfzrtable.setWidths(cwfzrwidths);
                cwfzrtable.setWidth(100);
                cwfzrtable.setPadding(3);
                cwfzrtable.setBorderWidth(1);
                cwfzrtable.setAlignment(Cell.ALIGN_CENTER);

                Map<String, String> cwfzrMap = (Map<String, String>) dataMap.get("cwfzrMap");
                Cell cwfzr1 = new Cell(new Phrase(" ", contentFont));
                cwfzr1.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr1);
                Cell cwfzr2 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("name"), contentFont));
                cwfzr2.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr2);
                Cell cwfzr3 = new Cell(new Phrase("", contentFont));
                cwfzr3.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr3);
                Cell cwfzr4 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("tel"), contentFont));
                cwfzr4.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr4);

                Cell cwfzr5 = new Cell(new Phrase("", contentFont));
                cwfzr5.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr5);
                Cell cwfzr6 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("mobile"), contentFont));
                cwfzr6.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr6);
                Cell cwfzr7 = new Cell(new Phrase("", contentFont));
                cwfzr7.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr7);
                Cell cwfzr8 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("email"), contentFont));
                cwfzr8.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr8);

                Cell cwfzr9 = new Cell(new Phrase("", contentFont));
                cwfzr9.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr9);
                Cell cwfzr10 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("certype"), contentFont));
                cwfzr10.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr10);
                Cell cwfzr11 = new Cell(new Phrase("", contentFont));
                cwfzr11.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr11);
                Cell cwfzr12 = new Cell(new Phrase(cwfzrMap == null ? "" : cwfzrMap.get("cerno"), contentFont));
                cwfzr12.setHorizontalAlignment(Element.ALIGN_CENTER);
                cwfzrtable.addCell(cwfzr12);

                document.add(cwfzrtable);

                //()
                Paragraph llrTitle = new Paragraph("\n", titleChinese);
                llrTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(llrTitle);

                //TABLE
                Table llrtable = new Table(4);
                int llrwidths[] = { 20, 30, 20, 30 };
                llrtable.setWidths(llrwidths);
                llrtable.setWidth(100);
                llrtable.setPadding(3);
                llrtable.setBorderWidth(1);
                llrtable.setAlignment(Cell.ALIGN_CENTER);

                Map<String, String> llrMap = (Map<String, String>) dataMap.get("llrMap");
                Cell llr1 = new Cell(new Phrase(" ", contentFont));
                llr1.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr1);
                Cell llr2 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("name"), contentFont));
                llr2.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr2);
                Cell llr3 = new Cell(new Phrase("", contentFont));
                llr3.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr3);
                Cell llr4 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("tel"), contentFont));
                llr4.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr4);

                Cell llr5 = new Cell(new Phrase("", contentFont));
                llr5.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr5);
                Cell llr6 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("mobile"), contentFont));
                llr6.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr6);
                Cell llr7 = new Cell(new Phrase("", contentFont));
                llr7.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr7);
                Cell llr8 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("email"), contentFont));
                llr8.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr8);

                Cell llr9 = new Cell(new Phrase("", contentFont));
                llr9.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr9);
                Cell llr10 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("certype"), contentFont));
                llr10.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr10);
                Cell llr11 = new Cell(new Phrase("", contentFont));
                llr11.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr11);
                Cell llr12 = new Cell(new Phrase(llrMap == null ? "" : llrMap.get("cerno"), contentFont));
                llr12.setHorizontalAlignment(Element.ALIGN_CENTER);
                llrtable.addCell(llr12);

                document.add(llrtable);

                //()
                Paragraph wtrTitle = new Paragraph("\n", titleChinese);
                wtrTitle.setAlignment(Paragraph.ALIGN_CENTER);
                document.add(wtrTitle);

                Map<String, String> wtrMap = (Map<String, String>) dataMap.get("wtrMap");

                String sqrText = "   " + (wtrMap == null ? "" : wtrMap.get("sqr"));
                Paragraph sqr = new Paragraph(sqrText, contentFont);
                sqr.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(sqr);

                String wtrText = " " + (wtrMap == null ? "" : wtrMap.get("wtr"));
                Paragraph wtr = new Paragraph(wtrText, contentFont);
                wtr.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(wtr);

                Paragraph wtsx = new Paragraph("\n", contentFont);
                wtsx.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(wtsx);

                String wtText1 = "1    " + (wtrMap == null ? "" : wtrMap.get("entname"))
                        + "     ";
                Paragraph wt1 = new Paragraph(wtText1, contentFont);
                //
                wt1.setIndentationLeft(60);
                document.add(wt1);

                Paragraph wt2 = new Paragraph("           ",
                        contentFont);
                //
                wt2.setIndentationLeft(70);
                document.add(wt2);

                Paragraph wt3 = new Paragraph("       __________",
                        contentFont);
                //
                wt3.setIndentationLeft(70);
                document.add(wt3);

                Paragraph wt4 = new Paragraph("2." + (wtrMap == null ? "" : wtrMap.get("qx1"))
                        + " ", contentFont);
                //
                wt4.setIndentationLeft(60);
                document.add(wt4);

                Paragraph wt5 = new Paragraph(
                        "3." + (wtrMap == null ? "" : wtrMap.get("qx2")) + "  ",
                        contentFont);
                //
                wt5.setIndentationLeft(60);
                document.add(wt5);

                Paragraph wt6 = new Paragraph(
                        "4." + (wtrMap == null ? "" : wtrMap.get("qx3")) + " ",
                        contentFont);
                //
                wt6.setIndentationLeft(60);
                document.add(wt6);

                Paragraph wt7 = new Paragraph(
                        "5." + (wtrMap == null ? "" : wtrMap.get("qx4")) + "\n",
                        contentFont);
                //
                wt7.setIndentationLeft(60);
                document.add(wt7);

                Paragraph wt8 = new Paragraph(
                        "    " + (wtrMap == null ? "" : wtrMap.get("confrom"))
                                + "        " + (wtrMap == null ? "" : wtrMap.get("conto")) + " \n ",
                        contentFont);
                wt8.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(wt8);

                //TABLE
                Table wtrtable = new Table(2);
                int[] wtrwidths = { 50, 50 };
                wtrtable.setWidths(wtrwidths);
                wtrtable.setWidth(100);
                wtrtable.setPadding(3);
                wtrtable.setBorderWidth(1);
                wtrtable.setAlignment(Cell.ALIGN_CENTER);

                Cell wtrc1 = new Cell(new Phrase("", contentFont));
                wtrc1.setRowspan(3);
                wtrc1.setHorizontalAlignment(Element.ALIGN_CENTER);
                wtrtable.addCell(wtrc1);

                Cell wtrc2 = new Cell(new Phrase(" ", contentFont));
                wtrc2.setHorizontalAlignment(Element.ALIGN_LEFT);
                wtrtable.addCell(wtrc2);

                String telText = "" + (wtrMap == null ? "" : wtrMap.get("tel"));
                Cell wtrc3 = new Cell(new Phrase(telText, contentFont));
                wtrc3.setHorizontalAlignment(Element.ALIGN_LEFT);
                wtrtable.addCell(wtrc3);

                String mobileText = "" + (wtrMap == null ? "" : wtrMap.get("mobile"));
                Cell wtrc4 = new Cell(new Phrase(mobileText, contentFont));
                wtrc4.setHorizontalAlignment(Element.ALIGN_LEFT);
                wtrtable.addCell(wtrc4);

                document.add(wtrtable);

                Paragraph wt9 = new Paragraph("\n ", contentFont);
                wt9.setAlignment(Paragraph.ALIGN_LEFT);
                document.add(wt9);

                Paragraph wt10 = new Paragraph("\n" + (wtrMap == null ? "" : wtrMap.get("condate")) + " ",
                        contentFont);
                wt10.setAlignment(Paragraph.ALIGN_RIGHT);
                document.add(wt10);

                //
                if ("WZGS".equals(opetype) || "WZHH".equals(opetype) || "WGJY".equals(opetype)) {
                    Paragraph wtsTitle1 = new Paragraph("\n", titleChinese);
                    wtsTitle1.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(wtsTitle1);
                    Paragraph wtsTitle2 = new Paragraph("", titleChinese);
                    wtsTitle2.setAlignment(Paragraph.ALIGN_CENTER);
                    document.add(wtsTitle2);

                    Map<String, String> sdMap = (Map<String, String>) dataMap.get("sdMap");

                    Paragraph sdsq = new Paragraph(" ", contentFont);
                    sdsq.setAlignment(Paragraph.ALIGN_LEFT);
                    document.add(sdsq);

                    String sdbsqText = "    " + (sdMap == null ? "" : sdMap.get("name"));
                    Paragraph sdbsq = new Paragraph(sdbsqText, contentFont);
                    sdbsq.setAlignment(Paragraph.ALIGN_LEFT);
                    document.add(sdbsq);

                    String sqfwText = "   " + (sdMap == null ? "" : sdMap.get("name"))
                            + "     ";
                    Paragraph sqfw = new Paragraph(sqfwText, contentFont);
                    sqfw.setAlignment(Paragraph.ALIGN_LEFT);
                    document.add(sqfw);

                    Paragraph sqfw2 = new Paragraph(
                            "_______",
                            contentFont);
                    sqfw2.setAlignment(Paragraph.ALIGN_LEFT);
                    sqfw2.setIndentationLeft(60);
                    document.add(sqfw2);

                    //TABLE
                    Table sdstable = new Table(4);
                    int[] sdswidths = { 20, 30, 20, 30 };
                    sdstable.setWidths(sdswidths);
                    sdstable.setWidth(100);
                    sdstable.setPadding(3);
                    sdstable.setBorderWidth(1);
                    sdstable.setAlignment(Cell.ALIGN_CENTER);

                    Cell sd1 = new Cell(new Phrase("", contentFont));
                    sd1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd1);

                    Cell sd2 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("addr"), contentFont));
                    sd2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd2);

                    Cell sd3 = new Cell(new Phrase("", contentFont));
                    sd3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd3);

                    Cell sd4 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("postalcode"), contentFont));
                    sd4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd4);

                    Cell sd5 = new Cell(new Phrase("", contentFont));
                    sd5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd5);

                    Cell sd6 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("linkman"), contentFont));
                    sd6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd6);

                    Cell sd7 = new Cell(new Phrase("", contentFont));
                    sd7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd7);

                    Cell sd8 = new Cell(new Phrase(sdMap == null ? "" : sdMap.get("email"), contentFont));
                    sd8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd8);

                    Cell sd9 = new Cell(new Phrase("\n", contentFont));
                    sd9.setRowspan(2);
                    sd9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    sdstable.addCell(sd9);

                    Cell sd10 = new Cell(
                            new Phrase("     " + (sdMap == null ? "" : sdMap.get("tel")), contentFont));
                    sd10.setColspan(3);
                    sd10.setHorizontalAlignment(Element.ALIGN_LEFT);
                    sdstable.addCell(sd10);

                    Cell sd11 = new Cell(
                            new Phrase("     " + (sdMap == null ? "" : sdMap.get("mobtel")), contentFont));
                    sd11.setColspan(3);
                    sd11.setHorizontalAlignment(Element.ALIGN_LEFT);
                    sdstable.addCell(sd11);

                    document.add(sdstable);

                    Paragraph sds1 = new Paragraph(
                            "\n                                                                            ",
                            contentFont);
                    sds1.setAlignment(Paragraph.ALIGN_LEFT);
                    sds1.setIndentationLeft(100);
                    document.add(sds1);

                    Paragraph sds2 = new Paragraph("\n                                                      ",
                            contentFont);
                    sds2.setAlignment(Paragraph.ALIGN_RIGHT);
                    document.add(sds2);

                    Paragraph remark = new Paragraph(
                            "  ",
                            contentFont);
                    remark.setIndentationLeft(60);
                    remark.setAlignment(Paragraph.ALIGN_LEFT);
                    document.add(remark);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.debug(e);
        }

        //PDF
        document.close();
    }

    public String getPdfUrlAndCreatePdf(String openo) {
        QYDJ_YWSB_SQ ywsb = new QYDJ_YWSB_SQ();
        QYDJ_JBXX_SQ jbxx = new QYDJ_JBXX_SQ();
        QYDJ_RYXX_SQ lerep = new QYDJ_RYXX_SQ();
        QYDJ_CZXX_SQ czxx = new QYDJ_CZXX_SQ();
        QYDJ_RYXX_SQ ryxx = new QYDJ_RYXX_SQ();
        QYDJ_CWFZR_SQ cwfzr = new QYDJ_CWFZR_SQ();
        QYDJ_WZLLR_SQ llr = new QYDJ_WZLLR_SQ();
        QYDJ_SQWT_SQ sqwt = new QYDJ_SQWT_SQ();
        QYDJ_WZWJSD_SQ wjsd = new QYDJ_WZWJSD_SQ();
        GTDJ_JBXX_SQ gtxx = new GTDJ_JBXX_SQ();
        GTDJ_JYZXX_SQ jyzxx = new GTDJ_JYZXX_SQ();
        List<QYDJ_RYXX_SQ> ryxxs = new ArrayList<QYDJ_RYXX_SQ>();
        List<QYDJ_CZXX_SQ> czxxs = new ArrayList<QYDJ_CZXX_SQ>();
        List<QYDJ_SQWT_SQ> sqwts = new ArrayList<QYDJ_SQWT_SQ>();
        List<QYDJ_WZWJSD_SQ> wjsds = new ArrayList<QYDJ_WZWJSD_SQ>();
        try {
            ywsb.setOPENO(openo);
            ywsb.doSelect();
            jbxx.setOPENO(openo);
            jbxx.doSelect();
            lerep.setOPENO(openo);
            lerep.getDataByFr();
            ryxxs = ryxx.getList(" WHERE OPENO='" + openo + "'");
            czxxs = czxx.getList(" WHERE OPENO='" + openo + "'");
            cwfzr.setOPENO(openo);
            cwfzr.doSelect();
            llr.setOPENO(openo);
            llr.doSelect();
            sqwts = sqwt.getList(" WHERE OPENO='" + openo + "'");
            wjsds = wjsd.getList(" WHERE OPENO='" + openo + "'");
            gtxx.setOPENO(openo);
            gtxx.doSelect();
            jyzxx.setOPENO(openo);
            jyzxx.doSelect();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        String checkBox = "";
        String selected = "";

        Map map = new HashMap();

        if (StringUtils.isEmpty(jbxx.getENTTYPE()) && StringUtils.isEmpty(gtxx.getTRANAME())) {
            return null;
        }
        String opetype = "";
        if (StringUtils.isEmpty(gtxx.getTRANAME())) {
            opetype = getDmdzByTypeAndCode("ENTTYPE", jbxx.getENTTYPE(), "2");
        } else {
            opetype = "GT";
        }

        //
        String title = "";
        if ("GS".equals(opetype)) {
            title = "";
        } else if ("FGS".equals(opetype)) {
            title = "";
        } else if ("NZFR".equals(opetype)) {
            title = "";
        } else if ("NZYY".equals(opetype)) {
            title = "";
        } else if ("HHQY".equals(opetype)) {
            title = "";
        } else if ("HHFZ".equals(opetype)) {
            title = "";
        } else if ("GRDZ".equals(opetype)) {
            title = "";
        } else if ("GRDZFZ".equals(opetype)) {
            title = "";
        } else if ("WZGS".equals(opetype)) {
            title = "";
        } else if ("WZFZ".equals(opetype)) {
            title = "";
        } else if ("WGDB".equals(opetype)) {
            title = "";
        } else if ("WGJY".equals(opetype)) {
            title = "";
        } else if ("WZHH".equals(opetype)) {
            title = "";
        } else if ("WZHHFZ".equals(opetype)) {
            title = "";
        } else if ("HZS".equals(opetype)) {
            title = "";
        } else if ("HZSFZ".equals(opetype)) {
            title = "";
        } else if ("GT".equals(opetype)) {
            title = "";
        }

        map.put("title", title);
        map.put("opetype", opetype);

        Map<String, String> jbxxMap = new HashMap<String, String>();
        jbxxMap.put("entname", jbxx.getENTNAME());
        jbxxMap.put("regno", jbxx.getNAMEAPPNO());
        jbxxMap.put("supentname", jbxx.getSUPENTNAME());
        jbxxMap.put("supregno", jbxx.getSUPREGNO());

        //
        StringBuilder dom = new StringBuilder();
        dom.append(getDmdzByTypeAndCode("DISCOUS",
                jbxx.getPROVINCE().length() == 6 ? jbxx.getPROVINCE() : jbxx.getPROVINCE() + "00", "1"))
                .append("  /  ");
        dom.append(getDmdzByTypeAndCode("DISCOUS", jbxx.getCITY(), "1")).append("  //  ");
        dom.append(getDmdzByTypeAndCode("DISCOUS", jbxx.getCOUNTY(), "1"))
                .append("  ////  ");
        dom.append(jbxx.getTOWN()).append("  //  ");
        dom.append(jbxx.getVILLAGE()).append("  /  ");
        dom.append(jbxx.getHOUSENUMBER()).append("  ");
        jbxxMap.put("dom", dom.toString());
        jbxxMap.put("depincha", jbxx.getDEPINCHA());

        //
        StringBuilder oploc = new StringBuilder();
        oploc.append(getDmdzByTypeAndCode("DISCOUS",
                jbxx.getPROPROVINCE().length() == 6 ? jbxx.getPROPROVINCE() : jbxx.getPROPROVINCE() + "00", "1"))
                .append("  /  ");
        oploc.append(getDmdzByTypeAndCode("DISCOUS", jbxx.getPROCITY(), "1")).append("  //  ");
        oploc.append(getDmdzByTypeAndCode("DISCOUS", jbxx.getPROCOUNTY(), "1"))
                .append("  ////  ");
        oploc.append(jbxx.getPROTOWN()).append("  //  ");
        oploc.append(jbxx.getPROVILLAGE()).append("  /  ");
        oploc.append(jbxx.getPROHOUSENUMBER()).append("  ");
        jbxxMap.put("oploc", oploc.toString());

        jbxxMap.put("tel", jbxx.getTEL());
        jbxxMap.put("postalcode", jbxx.getPOSTALCODE());
        jbxxMap.put("lerep", jbxx.getLEREP());
        jbxxMap.put("houseadd", ryxx.getHOUSEADD());
        jbxxMap.put("cerno", ryxx.getCERNO());
        jbxxMap.put("yysj", "   " + jbxx.getOPFROM() + "         " + jbxx.getOPTO());
        //
        StringBuilder position = new StringBuilder();
        String sl1 = checkBox, sl2 = checkBox, sl3 = checkBox;
        if ("431A".equals(jbxx.getPOSITION()) || "431B".equals(jbxx.getPOSITION())) {
            sl1 = selected;
        } else if ("432K".equals(jbxx.getPOSITION())) {
            sl2 = selected;
        } else if ("434Q".equals(jbxx.getPOSITION()) || "434R".equals(jbxx.getPOSITION())
                || "436A".equals(jbxx.getPOSITION())) {
            sl3 = selected;
        } else if ("410A".equals(jbxx.getPOSITION())) {
            sl1 = selected;
            sl3 = selected;
        } else if ("410C".equals(jbxx.getPOSITION())) {
            sl2 = selected;
            sl3 = selected;
        }
        position.append(sl1).append("");
        position.append(sl2).append("");
        position.append(sl3).append("");
        jbxxMap.put("position", position.toString());

        jbxxMap.put("regcap", jbxx.getREGCAP() + "");
        jbxxMap.put("regcapcur", getDmdzByTypeAndCode("CURRENCY", jbxx.getREGCAPCUR(), "1"));
        jbxxMap.put("enttype", getDmdzByTypeAndCode("ENTTYPE", jbxx.getENTTYPE(), "1"));
        //
        String hhlx = "";
        if ("4531".equals(jbxx.getENTTYPE())) {
            hhlx = selected + "    " + checkBox + "         " + checkBox + "   ";
        } else if ("4532".equals(jbxx.getENTTYPE())) {
            hhlx = checkBox + "    " + selected + "         " + checkBox + "   ";
        } else if ("4533".equals(jbxx.getENTTYPE())) {
            hhlx = checkBox + "    " + checkBox + "         " + selected + "   ";
        }
        jbxxMap.put("hhlx", hhlx);
        //
        String hhcze = "    " + jbxx.getREGCAP() + "      " + jbxx.getREGCAP() + "     ";
        jbxxMap.put("hhcze", hhcze);

        jbxxMap.put("parnum", String.valueOf(jbxx.getPARNUM()));
        jbxxMap.put("exenum", String.valueOf(jbxx.getEXENUM()));
        jbxxMap.put("empnum", String.valueOf(jbxx.getEMPNUM()));
        //
        String grczfs = "";
        if ("1".equals(jbxx.getSCONFORM())) {
            grczfs = selected + " 1.   " + checkBox + " 2.";
        } else if ("2".equals(jbxx.getSCONFORM())) {
            grczfs = checkBox + " 1.   " + selected + " 2.";
        }
        //
        String insform;
        if ("01".equals(jbxx.getINSFORM())) {
            insform = selected + "" + "  " + checkBox + "";
        } else if ("07".equals(jbxx.getINSFORM())) {
            insform = checkBox + "" + "  " + selected + "";
        } else {
            insform = checkBox + "" + "  " + checkBox + "";
        }
        jbxxMap.put("insform", insform);
        //
        String calculationmethod;
        if ("1".equals(jbxx.getCALCULATIONMETHOD())) {
            calculationmethod = selected + "        " + checkBox + "  ";
        } else if ("2".equals(jbxx.getCALCULATIONMETHOD())) {
            calculationmethod = checkBox + "        " + selected + "  ";
        } else {
            calculationmethod = checkBox + "        " + checkBox + "  ";
        }
        jbxxMap.put("calculationmethod", calculationmethod);

        jbxxMap.put("busscope", jbxx.getBUSSCOPE());
        //
        String opfyears;
        String yyqx = (String) jbxx.doPreProcess(jbxx.getOPDATETO());
        if ("".equals(yyqx) || "".equals(yyqx)) {
            opfyears = checkBox + "__  " + selected + "";
        } else {
            opfyears = selected + yyqx + "    " + checkBox + "";
        }
        jbxxMap.put("opfyears", opfyears);

        jbxxMap.put("conum", String.valueOf(jbxx.getCOPYNUM()));
        jbxxMap.put("country", getDmdzByTypeAndCode("COUNTRY", jbxx.getCOUNTRY(), "1"));
        jbxxMap.put("congro", String.valueOf(jbxx.getCONGRO()));
        jbxxMap.put("congrocur", getDmdzByTypeAndCode("CURRENCY", jbxx.getCONGROCUR(), "1"));
        jbxxMap.put("congrousd", String.valueOf(jbxx.getCONGROUSD()));
        jbxxMap.put("exaauth", jbxx.getEXAAUTH());
        jbxxMap.put("sandate", jbxx.getSANDATE());
        jbxxMap.put("itemofoporcpro", jbxx.getITEMOFOPORCPRO());
        jbxxMap.put("forentname", jbxx.getFORENTNAME());
        jbxxMap.put("forentadd", jbxx.getFORENTADD());
        jbxxMap.put("forentscope", jbxx.getFORENTSCOPE());
        jbxxMap.put("regorg", getDmdzByTypeAndCode("REGORG", jbxx.getREGORG(), "1"));
        jbxxMap.put("sandocno", jbxx.getSANDOCNO());
        jbxxMap.put("forentforname", jbxx.getFORENTFORNAME());
        jbxxMap.put("cxqx", "   " + jbxx.getFORENTOPFROM() + "       " + jbxx.getFORENTOPTO());
        jbxxMap.put("forentautsign", jbxx.getFORENTAUTSIGN());
        //
        String forenliafor = "";
        if ("1".equals(jbxx.getFORENLIAFOR())) {
            forenliafor = checkBox + "    " + selected + " ";
        } else if ("2".equals(jbxx.getFORENLIAFOR())) {
            forenliafor = selected + "    " + checkBox + " ";
        } else {
            forenliafor = checkBox + "    " + checkBox + " ";
        }
        jbxxMap.put("forenliafor", forenliafor);
        jbxxMap.put("forentcap", jbxx.getFORENTCAP() + "");
        jbxxMap.put("forentscope", jbxx.getFORENTSCOPE());

        map.put("jbxxMap", jbxxMap);

        //
        Map<String, String> lerepMap = new HashMap<String, String>();
        lerepMap.put("name", lerep.getNAME());
        lerepMap.put("tel", lerep.getTEL());
        lerepMap.put("mobile", lerep.getMOBTEL());
        lerepMap.put("email", lerep.getEMAIL());
        lerepMap.put("certype", getDmdzByTypeAndCode("CERTYPE", lerep.getCERTYPE(), "1"));
        lerepMap.put("cerno", lerep.getCERNO());
        lerepMap.put("occstbeapp", lerep.getOCCSTBEAPP());
        lerepMap.put("sex", getDmdzByTypeAndCode("SEX", lerep.getSEX(), "1"));
        lerepMap.put("natdate", lerep.getNATDATE());
        lerepMap.put("nation", getDmdzByTypeAndCode("NATION", lerep.getNATION(), "1"));
        lerepMap.put("litedeg", getDmdzByTypeAndCode("LITEDEG", lerep.getLITEDEG(), "1"));
        lerepMap.put("polstand", getDmdzByTypeAndCode("POLSTAND", lerep.getPOLSTAND(), "1"));
        lerepMap.put("houseadd", lerep.getHOUSEADD());
        lerepMap.put("country", getDmdzByTypeAndCode("COUNTRY", lerep.getCOUNTRY(), "1"));
        lerepMap.put("entname", jbxx.getENTNAME());
        lerepMap.put("arrchdate", lerep.getARRCHDATE());
        lerepMap.put("houaddinchina", lerep.getHOUADDINCHINA());
        lerepMap.put("repdate", "    " + lerep.getREPCARFROM() + "        " + lerep.getREPCARTO());
        lerepMap.put("position", getDmdzByTypeAndCode("POSITION", lerep.getPOSITION(), "1"));

        map.put("lerepMap", lerepMap);

        //
        List ryxxList = new ArrayList();
        if (ryxxs != null && !ryxxs.isEmpty()) {
            for (int i = 0; i < ryxxs.size(); i++) {
                Map<String, String> rys = new HashMap<String, String>();
                QYDJ_RYXX_SQ rysq = ryxxs.get(i);
                rys.put("name", rysq.getNAME());
                rys.put("position", getDmdzByTypeAndCode("POSITION", rysq.getPOSITION(), "1"));
                rys.put("certype", getDmdzByTypeAndCode("CERTYPE", rysq.getCERTYPE(), "1"));
                rys.put("cerno", rysq.getCERNO());
                rys.put("country", getDmdzByTypeAndCode("COUNTRY", rysq.getCOUNTRY(), "1"));
                rys.put("posbrform", getDmdzByTypeAndCode("POSBRFORM", rysq.getPOSBRFORM(), "1"));
                ryxxList.add(rys);
            }
        }
        map.put("ryxxList", ryxxList);

        //
        List czxxList = new ArrayList();
        if (czxxs != null && !czxxs.isEmpty()) {
            for (int i = 0; i < czxxs.size(); i++) {
                List<String> rys = new ArrayList<String>();
                QYDJ_CZXX_SQ czsq = czxxs.get(i);
                if ("GS".equals(opetype)) {
                    rys.add(czsq.getINV());
                    String invtype = czsq.getINVTYPE();
                    if ("20".equals(invtype) || "21".equals(invtype) || "22".equals(invtype) || "35".equals(invtype)
                            || "36".equals(invtype)) {
                        rys.add(getDmdzByTypeAndCode("CERTYPE", czsq.getCERTYPE(), "1"));
                        rys.add(czsq.getCERNO());
                    } else {
                        rys.add(getDmdzByTypeAndCode("BLICTYPE", czsq.getBLICTYPE(), "1"));
                        rys.add(czsq.getBLICNO());
                    }
                    rys.add(czsq.getCONDATE());
                    rys.add(getDmdzByTypeAndCode("CONFORM", czsq.getCONFORM(), "1"));
                    rys.add(String.valueOf(czsq.getSUBCONAM()));
                    rys.add(String.valueOf(czsq.getSUBCONPROP()));
                    czxxList.add(rys);
                } else if ("HHQY".equals(opetype)) {
                    rys.add(czsq.getINV());
                    rys.add(czsq.getDOM());
                    String typeAndCerno = "";
                    if ("20".equals(czsq.getINVTYPE()) || "21".equals(czsq.getINVTYPE())
                            || "22".equals(czsq.getINVTYPE()) || "35".equals(czsq.getINVTYPE())
                            || "36".equals(czsq.getINVTYPE())) {
                        typeAndCerno = getDmdzByTypeAndCode("CERTYPE", czsq.getCERTYPE(), "1") + "  "
                                + czsq.getCERNO();
                    } else {
                        typeAndCerno = getDmdzByTypeAndCode("BLICTYPE", czsq.getBLICTYPE(), "1") + "  "
                                + czsq.getBLICNO();
                    }
                    rys.add(typeAndCerno);
                    rys.add(getDmdzByTypeAndCode("ONDUTYSTY", czsq.getONDUTYSTY(), "1"));
                    rys.add(getDmdzByTypeAndCode("CONFORM", czsq.getCONFORM(), "1"));
                    rys.add(getDmdzByTypeAndCode("EVALSTY", czsq.getEVALSTY(), "1"));
                    rys.add(String.valueOf(czsq.getSUBCONAM()));
                    rys.add(String.valueOf(czsq.getACCONAM()));
                    rys.add(czsq.getBALDELTERM());
                    czxxList.add(rys);
                } else if ("WZGS".equals(opetype) || "WZHH".equals(opetype)) {
                    rys.add(czsq.getINV());
                    rys.add(getDmdzByTypeAndCode("COUNTRY", czsq.getCOUNTRY(), "1"));
                    String invtype = czsq.getINVTYPE();
                    if ("20".equals(invtype) || "21".equals(invtype) || "22".equals(invtype) || "35".equals(invtype)
                            || "36".equals(invtype)) {
                        rys.add(getDmdzByTypeAndCode("CERTYPE", czsq.getCERTYPE(), "1"));
                        rys.add(czsq.getCERNO());
                    } else {
                        rys.add(getDmdzByTypeAndCode("BLICTYPE", czsq.getBLICTYPE(), "1"));
                        rys.add(czsq.getBLICNO());
                    }
                    if ("WZHH".equals(opetype)) {
                        rys.add(getDmdzByTypeAndCode("ONDUTYSTY", czsq.getONDUTYSTY(), "1"));
                    }
                    rys.add(czsq.getCONDATE());
                    rys.add(getDmdzByTypeAndCode("CONFORM", czsq.getCONFORM(), "1"));
                    rys.add(String.valueOf(czsq.getSUBCONAM()));
                    rys.add(String.valueOf(czsq.getSUBCONPROP()));
                    czxxList.add(rys);
                } else if ("HZS".equals(opetype)) {
                    rys.add(String.valueOf(i + 1));
                    rys.add(czsq.getINV());
                    rys.add(getDmdzByTypeAndCode("CONFORM", czsq.getCONFORM(), "1"));
                    rys.add(String.valueOf(czsq.getSUBCONAM()));
                    rys.add(" ");
                    czxxList.add(rys);
                }
            }
        }
        map.put("czxxList", czxxList);

        //
        List hzsList = new ArrayList();
        if (czxxs != null && !czxxs.isEmpty()) {
            for (int i = 0; i < czxxs.size(); i++) {
                List<String> rys = new ArrayList<String>();
                QYDJ_CZXX_SQ czsq = czxxs.get(i);
                rys.add(String.valueOf(i + 1));
                rys.add(czsq.getINV());
                String typeAndCerno = "";
                if ("20".equals(czsq.getINVTYPE()) || "21".equals(czsq.getINVTYPE())
                        || "22".equals(czsq.getINVTYPE()) || "35".equals(czsq.getINVTYPE())
                        || "36".equals(czsq.getINVTYPE())) {
                    typeAndCerno = getDmdzByTypeAndCode("CERTYPE", czsq.getCERTYPE(), "1") + "  " + czsq.getCERNO();
                } else {
                    typeAndCerno = getDmdzByTypeAndCode("BLICTYPE", czsq.getBLICTYPE(), "1") + "  "
                            + czsq.getBLICNO();
                }
                rys.add(typeAndCerno);
                rys.add(czsq.getDOM());
                rys.add(getDmdzByTypeAndCode("MEMTYPE", czsq.getMEMTYPE(), "1"));
                hzsList.add(rys);
            }
        }
        map.put("hzsList", hzsList);

        map.put("cyzs", jbxx.getMEMNUM());
        map.put("nmcy", jbxx.getPEAMEMNUM());
        map.put("nmcyrate", jbxx.getPEAMEMRATE());
        map.put("frcy", jbxx.getGROMEMNUM());
        map.put("frcyrate", jbxx.getGROMEMRATE());
        map.put("regcap", jbxx.getREGCAP());

        //
        Map<String, String> cwfzrMap = new HashMap<String, String>();
        cwfzrMap.put("name", cwfzr.getNAME());
        cwfzrMap.put("tel", cwfzr.getTEL());
        cwfzrMap.put("mobile", cwfzr.getMOBTEL());
        cwfzrMap.put("email", cwfzr.getEMAIL());
        cwfzrMap.put("certype", getDmdzByTypeAndCode("CERTYPE", cwfzr.getCERTYPE(), "1"));
        cwfzrMap.put("cerno", cwfzr.getCERNO());
        map.put("cwfzrMap", cwfzrMap);

        //
        Map<String, String> llrMap = new HashMap<String, String>();
        llrMap.put("name", llr.getNAME());
        llrMap.put("tel", llr.getTEL());
        llrMap.put("mobile", llr.getMOBTEL());
        llrMap.put("email", llr.getEMAIL());
        llrMap.put("certype", getDmdzByTypeAndCode("CERTYPE", llr.getCERTYPE(), "1"));
        llrMap.put("cerno", llr.getCERNO());
        map.put("llrMap", llrMap);

        //
        if (sqwts != null && !sqwts.isEmpty()) {
            QYDJ_SQWT_SQ wtr = sqwts.get(0);
            Map<String, String> wtrMap = new HashMap<String, String>();
            wtrMap.put("sqr", wtr.getAPPPER());
            wtrMap.put("wtr", wtr.getCONSIGNER());
            wtrMap.put("entname", jbxx.getENTNAME());
            String qx1, qx2, qx3, qx4;
            if ("1".equals(wtr.getIFLICENSE1())) {
                qx1 = "" + selected + " " + checkBox;
            } else if ("2".equals(wtr.getIFLICENSE1())) {
                qx1 = "" + checkBox + " " + selected;
            } else {
                qx1 = "" + checkBox + " " + checkBox;
            }
            if ("1".equals(wtr.getIFLICENSE2())) {
                qx2 = "" + selected + " " + checkBox;
            } else if ("2".equals(wtr.getIFLICENSE2())) {
                qx2 = "" + checkBox + " " + selected;
            } else {
                qx2 = "" + checkBox + " " + checkBox;
            }
            if ("1".equals(wtr.getIFLICENSE3())) {
                qx3 = "" + selected + " " + checkBox;
            } else if ("2".equals(wtr.getIFLICENSE3())) {
                qx3 = "" + checkBox + " " + selected;
            } else {
                qx3 = "" + checkBox + " " + checkBox;
            }
            if ("1".equals(wtr.getIFLICENSE4())) {
                qx4 = "" + selected + " " + checkBox;
            } else if ("2".equals(wtr.getIFLICENSE4())) {
                qx4 = "" + checkBox + " " + selected;
            } else {
                qx4 = "" + checkBox + " " + checkBox;
            }
            wtrMap.put("qx1", qx1);
            wtrMap.put("qx2", qx2);
            wtrMap.put("qx3", qx3);
            wtrMap.put("qx4", qx4);

            wtrMap.put("confrom", wtr.getCONFROM());
            wtrMap.put("conto", wtr.getCONTO());
            wtrMap.put("tel", wtr.getTEL());
            wtrMap.put("mobile", wtr.getMOBTEL());
            wtrMap.put("condate", wtr.getCONDATE());

            wtrMap.put("unit", wtr.getUNIT());
            wtrMap.put("postalcode", wtr.getPOSTALCODE());

            map.put("wtrMap", wtrMap);
        }

        //
        if (wjsds != null && wjsds.size() > 0) {
            QYDJ_WZWJSD_SQ wzwj = wjsds.get(0);
            Map<String, String> sdMap = new HashMap<String, String>();
            sdMap.put("name", wzwj.getNAME());
            sdMap.put("addr", wzwj.getADDR());
            sdMap.put("postalcode", wzwj.getPOSTALCODE());
            sdMap.put("linkman", wzwj.getLINKMAN());
            sdMap.put("email", wzwj.getEMAIL());
            sdMap.put("tel", wzwj.getTEL());
            sdMap.put("mobtel", wzwj.getMOBTEL());
            map.put("sdMap", sdMap);
        }

        //
        Map<String, String> gtMap = new HashMap<String, String>();
        gtMap.put("traname", gtxx.getTRANAME());
        gtMap.put("sex", getDmdzByTypeAndCode("SEX", jyzxx.getSEX(), "1"));
        gtMap.put("name", jyzxx.getNAME());
        gtMap.put("cerno", jyzxx.getCERNO());
        gtMap.put("dom", jyzxx.getDOM());
        gtMap.put("postalcode", jyzxx.getPOSTALCODE());
        gtMap.put("tel", jyzxx.getTEL());
        gtMap.put("email", jyzxx.getEMAIL());
        gtMap.put("polstand", getDmdzByTypeAndCode("POLSTAND", jyzxx.getPOLSTAND(), "1"));
        gtMap.put("nation", getDmdzByTypeAndCode("NATION", jyzxx.getNATION(), "1"));
        gtMap.put("litedeg", getDmdzByTypeAndCode("LITEDEG", jyzxx.getLITEDEG(), "1"));
        gtMap.put("occstbeapp", jyzxx.getOCCSTBEAPP());
        //
        String grjy = "";
        if ("1".equals(gtxx.getCOMPFORM())) {
            grjy += selected;
        } else {
            grjy += checkBox;
        }
        gtMap.put("grjy", grjy);
        //
        String jtjy = "";
        if ("2".equals(gtxx.getCOMPFORM())) {
            jtjy += selected;
        } else {
            jtjy += checkBox;
        }
        gtMap.put("jtjy", jtjy);

        gtMap.put("fammember", gtxx.getFAMMEMBER());
        gtMap.put("busscoandform", gtxx.getBUSSCOANDFORM());
        gtMap.put("oploc", gtxx.getOPLOC());
        gtMap.put("empnum", gtxx.getEMPNUM() + "");
        gtMap.put("capam", gtxx.getCAPAM() + "");

        map.put("gtMap", gtMap);

        //
        String enttype = jbxx.getENTTYPE();

        String sqsPath = PropertiesConfigUtil.getValue("SQS_PATH") + "/" + opetype + "/";
        String fileName = "gssqs_" + openo + ".pdf";

        createPdfByData(fileName, sqsPath, map);

        return sqsPath + fileName;
    }

    /**
     * typecodedmdzcontentremark
     * @param type
     * @param code
     * @param flag 1:content 2:remark
     * @return
     */
    public static String getDmdzByTypeAndCode(String type, String code, String flag) {
        String remark = "";
        SYS_DMDZ dmdz = new SYS_DMDZ();
        dmdz.setTYPE(type);
        dmdz.setCODE(code);
        try {
            dmdz.doSelect();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        if ("1".equals(flag)) {
            remark = dmdz.getCONTENT();
        } else if ("2".equals(flag)) {
            remark = dmdz.getREMARK();
        }
        return remark;
    }

    public static void main(String[] args) {
        PDFCreator creator = new PDFCreator();
        System.out.println(creator.getPdfUrlAndCreatePdf("37020221607260001"));
    }

}