Example usage for com.itextpdf.text Rectangle TOP

List of usage examples for com.itextpdf.text Rectangle TOP

Introduction

In this page you can find the example usage for com.itextpdf.text Rectangle TOP.

Prototype

int TOP

To view the source code for com.itextpdf.text Rectangle TOP.

Click Source Link

Document

This represents one side of the border of the Rectangle.

Usage

From source file:org.fossa.rolp.util.PdfFormatHelper.java

License:Open Source License

public static PdfPTable buildFooterHalbjahrDatumKlassenleiterLine(Font footerFont) throws DocumentException {
    PdfPCell leftCell = new PdfPCell(new Phrase("Datum", footerFont));
    leftCell.setBorder(Rectangle.TOP);
    leftCell.setBorderWidth(1f);/*from  w ww . j  a  v  a 2 s  .c o m*/
    leftCell.setHorizontalAlignment(Element.ALIGN_CENTER);

    PdfPCell centerCell = new PdfPCell(new Phrase("", footerFont));
    centerCell.setBorder(Rectangle.TOP);
    centerCell.setBorderWidth(1f);
    centerCell.setHorizontalAlignment(Element.ALIGN_CENTER);

    PdfPCell rightCell = new PdfPCell(new Phrase("Klassenleiter(in)", footerFont));
    rightCell.setBorder(Rectangle.TOP);
    rightCell.setBorderWidth(1f);
    rightCell.setHorizontalAlignment(Element.ALIGN_CENTER);

    PdfPTable table = new PdfPTable(3);
    table.setWidthPercentage(100f);
    table.addCell(leftCell);
    table.addCell(centerCell);
    table.addCell(rightCell);
    table.setWidths(new float[] { 0.3f, 0.3f, 0.3f });
    return table;
}

From source file:org.ganttproject.impex.htmlpdf.itext.ThemeImpl.java

License:GNU General Public License

private PdfPTable createColontitleTable(String topLeft, String topRight, String bottomLeft,
        String bottomRight) {//from w ww . java 2s  . c o  m
    PdfPTable head = new PdfPTable(2);
    {
        PdfPCell cell = new PdfPCell();
        cell.setBorder(Rectangle.NO_BORDER);
        Paragraph p = new Paragraph(topLeft, getSansRegularBold(18));
        p.setAlignment(Paragraph.ALIGN_LEFT);
        // colontitle.setLeading(0);
        cell.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
        // cell.setPaddingLeft(2);
        cell.setPaddingBottom(6);
        cell.setPhrase(p);
        head.addCell(cell);
    }
    {
        PdfPCell cell = new PdfPCell();
        cell.setBorder(Rectangle.NO_BORDER);
        Paragraph p = new Paragraph(topRight, getSansRegularBold(10));
        p.setAlignment(Paragraph.ALIGN_RIGHT);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setVerticalAlignment(Element.ALIGN_BOTTOM);
        cell.setPaddingBottom(6);
        cell.setPhrase(p);
        head.addCell(cell);
    }
    {
        PdfPCell cell = new PdfPCell();
        cell.setVerticalAlignment(Element.ALIGN_TOP);
        cell.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell.setPaddingLeft(3);
        cell.setPaddingTop(2);
        cell.setPaddingBottom(6);
        cell.setBorder(Rectangle.TOP);
        cell.setBorderWidthTop(2);
        cell.setBorderColor(SORTAVALA_GREEN);
        Paragraph p = new Paragraph(bottomLeft, getSansRegularBold(18));
        p.setAlignment(Paragraph.ALIGN_LEFT);
        p.setExtraParagraphSpace(0);
        p.setIndentationLeft(0);
        p.setSpacingBefore(0);
        cell.setPhrase(p);
        // cell.addElement(p);
        head.addCell(cell);
    }
    {
        PdfPCell cell = new PdfPCell();
        cell.setVerticalAlignment(Element.ALIGN_TOP);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setPaddingTop(2);
        cell.setPaddingBottom(6);
        cell.setBorder(Rectangle.TOP);
        cell.setBorderWidthTop(2);
        cell.setBorderColor(SORTAVALA_GREEN);
        Paragraph p = new Paragraph(bottomRight, getSansRegularBold(10));
        p.setAlignment(Paragraph.ALIGN_RIGHT);
        cell.setPhrase(p);
        head.addCell(cell);
    }
    final Document document = myDoc;
    Rectangle page = document.getPageSize();
    head.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin());
    return head;
}

From source file:org.openmrs.module.tracpatienttransfer.util.FileExporter.java

License:Open Source License

/**
 * @param request/*www.  j av a 2  s .  c  om*/
 * @param response
 * @param res
 * @param filename
 * @param title
 * @throws Exception
 */
public void exportToPDF(HttpServletRequest request, HttpServletResponse response, List<Integer> res,
        String filename, String title) throws Exception {

    SimpleDateFormat sdf = Context.getDateFormat();

    Document document = new Document();

    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); // file name

    PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream());
    writer.setBoxSize("art", new Rectangle(36, 54, 559, 788));

    float[] colsWidth = { 1.6f, 2.7f, 2.7f, 8f, 10.5f, 4f, 5f, 7.5f };//, 9.3f };
    PdfPTable table = new PdfPTable(colsWidth); // column number

    HeaderFooter event = new HeaderFooter(table);
    writer.setPageEvent(event);

    document.setPageSize(PageSize.A4.rotate());
    document.open();

    document.addAuthor(Context.getAuthenticatedUser().getPersonName().getFamilyName() + " "
            + Context.getAuthenticatedUser().getPersonName().getGivenName());// the name of the author

    ObsService os = Context.getObsService();
    FontSelector fontTitle = new FontSelector();
    fontTitle.addFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD));
    document.add(
            fontTitle.process(MohTracUtil.getMessage("tracpatienttransfer.report", null) + "    : " + title));// Report title
    document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdon", null)
            + " : " + sdf.format(new Date())));// Report date
    document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdby", null)
            + " : " + Context.getAuthenticatedUser().getPersonName()));// Report
    // author
    document.add(new Paragraph("\n"));

    Paragraph para = new Paragraph("" + title.toUpperCase());
    para.setAlignment(Element.ALIGN_CENTER);
    para.setFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD));
    document.add(para);

    table.setWidthPercentage(100.0f);

    // title row
    FontSelector fontTitleSelector = new FontSelector();
    fontTitleSelector.addFont(new Font(FontFamily.HELVETICA, 8, Font.BOLD));

    // top line of table
    for (int i = 0; i < 8; i++) {
        PdfPCell pdfPCell = new PdfPCell(fontTitleSelector.process(" "));
        pdfPCell.setBorder(PdfPCell.BOTTOM);
        table.addCell(pdfPCell);
    }

    boolean hasRoleToViewPatientsNames = Context.getAuthenticatedUser().hasPrivilege("View Patient Names");

    // table Header
    PdfPCell cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.number")));
    cell.setBorder(Rectangle.LEFT);
    table.addCell(cell);

    cell = new PdfPCell(fontTitleSelector.process(Context.getPatientService()
            .getPatientIdentifierType(TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId())
            .getName()));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(Context.getPatientService()
                    .getPatientIdentifierType(
                            TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId())
                    .getName()));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    if (hasRoleToViewPatientsNames) {
        cell = new PdfPCell(
                fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.names")));
        cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);
    }

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.reasonofexit")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.exitwhen")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(fontTitleSelector.process(ContextProvider.getMessage("Encounter.provider")));
    cell.setBorder(Rectangle.NO_BORDER);
    table.addCell(cell);

    cell = new PdfPCell(
            fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.report.location")));
    cell.setBorder(Rectangle.RIGHT);
    table.addCell(cell);

    //      cell = new PdfPCell(fontTitleSelector
    //            .process("Resumed? (reason - by who?)"));
    //      cell.setBorder(Rectangle.RIGHT);
    //      table.addCell(cell);

    // normal row
    FontSelector fontselector = new FontSelector();
    fontselector.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL));

    // empty row
    FontSelector fontEmptyCell = new FontSelector();
    fontEmptyCell.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL));

    int ids = 0;

    for (Integer obsId : res) {
        Obs obs = os.getObs(obsId);
        Integer patientId = obs.getPersonId();
        ids += 1;

        cell = new PdfPCell(fontselector.process(ids + "."));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        String tracnetId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId(patientId,
                TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId());
        cell = new PdfPCell(fontselector.process(tracnetId + ""));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        String localIdentifierTypeId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId(
                patientId, TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId());
        cell = new PdfPCell(fontselector.process(localIdentifierTypeId + ""));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        if (hasRoleToViewPatientsNames) {
            String names = TransferOutInPatientTag.getPersonNames(patientId);
            cell = new PdfPCell(fontselector.process(names + ""));
            if (ids == 1)
                cell.setBorder(Rectangle.TOP);
            else
                cell.setBorder(Rectangle.NO_BORDER);
            table.addCell(cell);
        }

        String conceptValue = TransferOutInPatientTag.conceptValueByObs(obs);

        conceptValue += ((obs.getValueCoded().getConceptId()
                .intValue() == TransferOutInPatientConstant.PATIENT_TRANSFERED_OUT)
                        ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs,
                                TransferOutInPatientConstant.TRANSFER_OUT_TO_A_LOCATION) + ")"
                        : (obs.getValueCoded().getConceptId()
                                .intValue() == TransferOutInPatientConstant.PATIENT_DEAD)
                                        ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs,
                                                TransferOutInPatientConstant.CAUSE_OF_DEATH) + ")"
                                        : "");

        cell = new PdfPCell(fontselector.process(conceptValue));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        cell = new PdfPCell(fontselector.process(sdf.format(obs.getObsDatetime())));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        /*
         * cell=newPdfPCell(fontselector.process(TransferOutInPatientTag.
         * getProviderByObs(obs))); if(ids==1)
         * cell.setBorder(Rectangle.TOP); else
         * cell.setBorder(Rectangle.NO_BORDER);
         */table.addCell(cell);

        cell = new PdfPCell(fontselector.process(obs.getLocation().getName()));
        if (ids == 1)
            cell.setBorder(Rectangle.TOP);
        else
            cell.setBorder(Rectangle.NO_BORDER);
        table.addCell(cell);

        //         cell = new PdfPCell(fontselector.process(TransferOutInPatientTag
        //               .obsVoidedReason(obs)));
        //         if (ids == 1)
        //            cell.setBorder(Rectangle.TOP);
        //         else
        //            cell.setBorder(Rectangle.NO_BORDER);
        //         table.addCell(cell);
    }

    document.add(table);
    document.close();

    log.info("pdf file created");
}

From source file:Valuacion.valuacion.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from   ww  w.j  a  va2s . c om
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         DecimalFormat formatoDecimal = new DecimalFormat("####0.0");
         formatoPorcentaje.setMinimumFractionDigits(2);
         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         PDF reporte = new PDF();
         Date fecha = new Date();
         DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
         String valor = dateFormat.format(fecha);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER, "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-valuacion.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         float tam[] = new float[] { 15, 15, 60, 140, 14, 14, 14, 14, 14, 14, 25 };
         PdfPTable tabla = reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);

         cabecera(reporte, bf, tabla);
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         for (int i = 0; i < t_datos.getRowCount(); i++) {
             if (t_datos.getValueAt(i, 38).toString().compareTo("e") != 0) {
                 double suma = 0d;
                 double v = 0.0d;
                 tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 10).toString(), font, contenido,
                         izquierda, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 11).toString(), font, contenido, izquierda, 0,
                         1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 4) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 4).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 4).toString());
                     dm += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 8) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 8).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 8).toString());
                     cam += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 5) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 5).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 5).toString());
                     min += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 6) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 6).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 6).toString());
                     med += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 7) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 7).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 7).toString());
                     max += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (t_datos.getValueAt(i, 9) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 9).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 9).toString());
                     pin += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 suma *= ord.getCompania().getImporteHora();
                 suma *= Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(suma), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
                 tot += suma;
                 /*if(ren==38)
                 {
                 reporte.agregaObjeto(tabla);
                 reporte.writer.newPage();
                        
                 tabla=reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);
                 cabecera(reporte, bf, tabla);
                 ren=-1;
                 }
                 ren++;*/
             }
         }
         Double tot_horas = dm + cam + min + med + max + pin;
         tabla.addCell(reporte.celda(
                 "Costo M.O:$" + formatoPorcentaje.format(ord.getCompania().getImporteHora())
                         + "     Total de Horas:" + formatoDecimal.format(tot_horas),
                 font, contenido, derecha, 4, 1, Rectangle.RIGHT));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(dm), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(cam), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(min), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(med), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(max), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(pin), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER));
         tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 7, 1, Rectangle.TOP));
         tabla.setHeaderRows(2);

         PdfPTable tabla1 = reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);
         tabla1.addCell(reporte.celda("OBSERVACIONES", font, contenido, izquierda, 11, 1, Rectangle.NO_BORDER));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));

         reporte.agregaObjeto(tabla);
         reporte.agregaObjeto(tabla1);
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-valuacion.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from  w  w w. ja v  a  2  s .  c  o  m
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         formatoPorcentaje.setMinimumFractionDigits(2);
         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         PDF reporte = new PDF();
         Date fecha = new Date();
         DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
         String valor = dateFormat.format(fecha);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         Configuracion config = (Configuracion) session.get(Configuracion.class, 1);
         /*Todas Autorizadas Sin Autorizar*/
         Partida[] cuentas = new Partida[] {};

         switch (cb_partidas.getSelectedItem().toString()) {
         case "Todas":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espHoj", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espMec", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espSus", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;

             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             }
             break;

         case "Autorizadas":
             cuentas = (Partida[]) session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espHoj", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espMec", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espSus", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espEle", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;

             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             }
             break;
         case "Sin Autorizar":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espHoj", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espMec", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espSus", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espEle", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             }
             break;

         case "Marcadas":
             if (t_datos.getSelectedRows().length > 0) {
                 String consulta = "from Partida where concat(idEvaluacion, subPartida) in (";
                 int[] selec = t_datos.getSelectedRows();
                 for (int x = 0; x < selec.length; x++) {
                     if (x > 0)
                         consulta += ", ";
                     consulta += t_datos.getValueAt(selec[x], 0).toString()
                             + t_datos.getValueAt(selec[x], 1).toString();
                 }
                 switch (cb_tipo.getSelectedItem().toString()) {
                 case "Hojalateria":
                     consulta += ") AND(espHoj=true) ";
                     break;
                 case "Mecanica":
                     consulta += ") AND(espMec=true) ";
                     break;
                 case "Suspension":
                     consulta += ") AND(espSus=true) ";
                     break;
                 case "Electrico":
                     consulta += ") AND(espEle=true) ";
                     break;
                 case "Pintura":
                     consulta += ")) AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) ";
                     break;
                 case "Todas":
                     consulta += ") ";
                     break;
                 }
                 consulta += "AND (ordenByIdOrden.idOrden=" + orden
                         + ") order by idEvaluacion asc, subPartida asc";
                 Query q = session.createQuery(consulta);
                 cuentas = (Partida[]) q.list().toArray(new Partida[0]);
             } else
                 cuentas = new Partida[0];
             break;
         }
         /*if(this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra")!=0)
         {*/
         float tam[];
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0)
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 25, 25 };
         else
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 35, 12 };

         PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

         cabecera1(reporte, bf, tabla);

         for (int i = 0; i < cuentas.length; i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + cuentas[i].getIdEvaluacion(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getSubPartida(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             if (cuentas[i].getEjemplar() != null)
                 tabla.addCell(reporte.celda(cuentas[i].getEjemplar().getIdParte(), font, contenido, centro, 0,
                         1, Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("S/N", font, contenido, centro, 0, 0, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Cotizado") == 0) {
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCU()), font, contenido,
                         derecha, 0, 1, Rectangle.RECTANGLE));
                 Double precio = cuentas[i].getCU() * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true) {
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 } else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Autorizado") == 0) {
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPrecioAutCU()), font,
                         contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 Double precio = cuentas[i].getPrecioAutCU() * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true)
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compaia") == 0) {
                 Double costo = 0.0 + Math.round(cuentas[i].getCU() / (1 - (cuentas[i].getPorcentaje() * 0.01)));
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(costo), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
                 Double precio = costo * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true)
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0) {
                 //costo de cotizacion
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCU()), font, contenido,
                         derecha, 0, 1, Rectangle.RECTANGLE));
                 //costo de compra si ya fue comprado
                 //PartidaPedido pc = (PartidaPedido)session.createCriteria(PartidaPedido.class).add(Restrictions.eq("partida.idPartida", cuentas[i].getIdPartida())).add(Restrictions.ne("pedido", null)).addOrder(Order.desc("idPartidaPedido")).setMaxResults(1).uniqueResult();
                 double pcom = 0d;
                 if (cuentas[i].getPedido() != null) {
                     pcom = cuentas[i].getPcp();
                     tabla.addCell(reporte.celda(formatoPorcentaje.format(pcom), font, contenido, derecha, 0, 1,
                             Rectangle.RECTANGLE));
                     Double precio = pcom * cuentas[i].getCantPcp();
                     tot += precio;
                 } else
                     tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 //cosoto autorizado
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPrecioAutCU()), font,
                         contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 //Utlidad
                 double util = cuentas[i].getPrecioAutCU() - pcom;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(util), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             }

             /*if(ren==37)
             {
                 reporte.agregaObjeto(tabla);
                 reporte.writer.newPage();
                 tabla=reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);
                 cabecera1(reporte, bf, tabla);
                 ren=-1;
             }
             ren++;*/
         }
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") != 0) {
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
             tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         } else {
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
             tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         }
         tabla.setHeaderRows(1);
         reporte.agregaObjeto(tabla);
         //}
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void btActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {/*from  ww w . j a  v  a 2s  . com*/
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         formatoPorcentaje.setMinimumFractionDigits(2);
         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         PDF reporte = new PDF();
         Date fecha = new Date();
         DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
         String valor = dateFormat.format(fecha);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         Configuracion config = (Configuracion) session.get(Configuracion.class, 1);

         float tam[];
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0)
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 25, 25 };
         else
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 35, 12 };

         PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

         cabecera1(reporte, bf, tabla);

         for (int i = 0; i < t_datos.getRowCount(); i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 0).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 1).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             if (t_datos.getValueAt(i, 13) != null)
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 13).toString(), font, contenido, centro, 0, 1,
                         Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("S/N", font, contenido, centro, 0, 0, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 10).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(t_datos.getValueAt(i, 11).toString(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));

             //Double costo=0.0+Math.round(cuentas[i].getCU()/(1-(cuentas[i].getPorcentaje()*0.01)));
             Double costo = 0.0;
             if (t_datos.getValueAt(i, 16) != null) {
                 costo = (Double) t_datos.getValueAt(i, 16);
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(costo), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             } else
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(0.0), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             //Double precio=costo*cuentas[i].getCant();
             Double precio = costo * (Double) t_datos.getValueAt(i, 10);
             tot += precio;
             tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             if (t_datos.getValueAt(i, 27) != null)
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 27).toString(), font, contenido, centro, 0, 1,
                         Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
         }
         //if(this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra")!=0)
         //{
         tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
         tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         //}
         tabla.setHeaderRows(1);
         reporte.agregaObjeto(tabla);

         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:WeeklyReport.Sections.Declines.java

public PdfPTable declinesByCommodityTable() {
    PdfPTable table = new PdfPTable(2);
    cell = new PdfPCell(new Phrase("Commodities Declined by Cubic Meter & Trade Lane", SUBHEADING_FONT));
    cell.setBorder(Rectangle.NO_BORDER);
    cell.setColspan(3);//from  w w w  . ja v a2 s.  c om
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Commodity", COLUMN_HEADER));
    cell.setBorder(Rectangle.BOTTOM);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Trade Lane"));
    cell.setBorder(Rectangle.BOTTOM);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    cell = new PdfPCell(new Phrase("Cubic Meters"));
    cell.setBorder(Rectangle.BOTTOM);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(cell);

    Map<Double, Map<String, String>> mp = DECLINES_BY_COMMODITY_CLASS;
    mp.entrySet().stream().forEach((mapEntry) -> {
        Map<String, String> mp1 = mapEntry.getValue();
        mp1.entrySet().stream().forEach((secondMapEntry) -> {
            cell = new PdfPCell(new Phrase(String.valueOf(secondMapEntry.getValue()), TEXT_FONT));
            cell.setBorder(Rectangle.TOP);
            table.addCell(cell);

            cell = new PdfPCell(new Phrase(String.valueOf(secondMapEntry.getValue()), TEXT_FONT));
            cell.setBorder(Rectangle.TOP);
            table.addCell(cell);

            cell = new PdfPCell(new Phrase(String.valueOf(mapEntry.getKey()), TEXT_FONT));
            cell.setBorder(Rectangle.TOP);
            table.addCell(cell);
        });
    });
    return table;
}