beans.CronogramaPDF.java Source code

Java tutorial

Introduction

Here is the source code for beans.CronogramaPDF.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;

/**
 *
 * @author Fido
 */
public class CronogramaPDF {

    public static String ruta = "";
    public List<SolicitudDeMantenimiento> solicitudes;

    public CronogramaPDF(List<SolicitudDeMantenimiento> solicitudes) {
        this.solicitudes = solicitudes;
    }

    public boolean pdfCronograma() throws IOException, DocumentException, SQLException {
        Parametrizacion p = new Parametrizacion();
        try {
            ruta = p.getParametro("rutaPDFServer") + "Cronograma.pdf";
            //ot.setRuta(p.getParametro("rutaPDFBD") + "Cronograma.pdf");
            File file = new File(ruta);
            file.getParentFile().mkdirs();
            new CronogramaPDF(this.solicitudes).createPdf(ruta);
            // ot.setPdf(true);
            // ot.actualizarOrdenDeTrabajo();
            //            System.out.println("Documento creado Correctamente");
            return true;
        } catch (IOException | DocumentException e) {
            //            System.out.println("Documento en uso, no se ha creado el nuevo");
            return false;
        }
    }

    private void createPdf(String dest) throws IOException, DocumentException, SQLException {
        Parametrizacion p = new Parametrizacion();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(dest));
        document.open();
        PdfPTable table = new PdfPTable(12);
        BaseColor color = new BaseColor(142, 170, 219);
        PdfPCell celda;
        Phrase texto;
        Font font = new Font(Font.FontFamily.TIMES_ROMAN, 7);
        Font font1 = new Font(Font.FontFamily.TIMES_ROMAN, 10);
        table.setWidthPercentage(100);

        Image img = Image.getInstance(p.getParametro("rutaImgServer") + "logo.png");
        celda = new PdfPCell(img, true);
        celda.setPadding(5);
        celda.setColspan(4);
        table.addCell(celda);
        celda = new PdfPCell(new Phrase(
                "\n\n\nFecha de creacin: " + dateFormat.format(Calendar.getInstance().getTime()), font1));
        celda.setColspan(8);
        // head.setBackgroundColor(BaseColor.CYAN);
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("CRONOGRAMA DE MANTENIMIENTOS", font));
        celda.setColspan(112);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("N", font));
        celda.setColspan(1);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("CODIGO", font));
        celda.setColspan(1);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("FECHA SOLICITUD", font));
        celda.setColspan(1);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("EQUIPO", font));
        celda.setColspan(3);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("SERVICIO SOLICITADO", font));
        celda.setColspan(3);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        celda = new PdfPCell(new Phrase("ACCIONES A REALIZAR", font));
        celda.setColspan(3);
        celda.setBackgroundColor(new BaseColor(142, 170, 219));
        table.addCell(celda);

        int i = 1;
        for (SolicitudDeMantenimiento sM : this.solicitudes) {
            if (!sM.getEstado().equals("Realizada")) {
                celda = new PdfPCell(new Phrase(i + "", font));
                celda.setColspan(1);
                table.addCell(celda);

                celda = new PdfPCell(new Phrase(sM.getCodigo(), font));
                celda.setColspan(1);
                table.addCell(celda);

                celda = new PdfPCell(new Phrase(sM.getFecha(), font));
                celda.setColspan(1);
                table.addCell(celda);

                celda = new PdfPCell(new Phrase(sM.getEquipo().getNombre(), font));
                celda.setColspan(3);
                table.addCell(celda);

                celda = new PdfPCell(new Phrase(sM.getDescripcionServicio(), font));
                celda.setColspan(3);
                table.addCell(celda);

                celda = new PdfPCell(new Phrase(sM.getDescripcionAcciones(), font));
                celda.setColspan(3);
                table.addCell(celda);
                i++;
            }

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