Export.SeguroRoubo.java Source code

Java tutorial

Introduction

Here is the source code for Export.SeguroRoubo.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 Export;

import Export.ConfigDoc.Empresa;
import Export.ConfigDoc.Fontes;
import bean.RouboBean;
import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfGState;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Contrato;
import modelo.Roubo;

/**
 *
 * @author AhmedJorge
 */
public class SeguroRoubo implements Serializable {

    private String reString;

    public String criarDoc(String numApolice, String numCliente, RouboBean rb, Contrato c, String user,
            String arquivo) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("dd 'DE' MMMM 'DE' yyyy", new Locale("pt", "BR"));
            SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy hh'.'mm'.'ss");

            Font fontCabecalhoN = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 9.5f);
            Font fontCorpo = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 8f);
            Font fontCorpoP = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 7f);
            Font fontCorpoN = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 8f);
            Font fontCorpoNG = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 8.5f);
            Font fontCorpoNGT = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 10f);
            Font fontCabecalhoNG = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 16f,
                    Font.UNDERLINE);

            PdfPTable pTableEmpresaPricipal = new PdfPTable(new float[] { 25f, 75f });
            PdfPTable pTableEmpresaInforImpres1 = new PdfPTable(1);
            PdfPTable pTableEmpresaInforImpres2 = new PdfPTable(1);
            PdfPTable pTableEmpresaInforImpres5 = new PdfPTable(1);

            PdfPTable pTableNull = new PdfPTable(1);
            PdfPCell cellNull = new PdfPCell(new Phrase(" ", fontCorpo));
            cellNull.setBorder(0);
            pTableNull.addCell(cellNull);

            PdfPCell pCellNomeEmpresa = new PdfPCell(new Phrase(Empresa.NOME, fontCabecalhoNG));
            pCellNomeEmpresa.setBorder(0);

            PdfPCell pCellNomeEndereco = new PdfPCell(new Phrase(Empresa.ENDERECO, fontCabecalhoN));
            pCellNomeEndereco.setBorder(0);

            PdfPCell pCellCaixaPostal = new PdfPCell(new Phrase(Empresa.CAIXAPOSTAL, fontCabecalhoN));
            pCellCaixaPostal.setBorder(0);

            PdfPCell pCellTeleFax = new PdfPCell(
                    new Phrase(Empresa.TELEFAX + " " + ConfigDoc.Empresa.EMAIL, fontCabecalhoN));
            pCellTeleFax.setBorder(0);

            PdfPCell pCellSociedade = new PdfPCell(new Phrase(Empresa.SOCIEDADE, fontCabecalhoN));
            pCellSociedade.setBorder(0);

            PdfPCell pCellPolice = new PdfPCell(new Phrase(Empresa.APOLICE + numApolice, fontCabecalhoN));
            pCellPolice.setBorder(0);

            Image imageEmpresa = Image.getInstance("logo.png");
            imageEmpresa.scaleToFit(120f, 85f);

            pTableEmpresaInforImpres1.addCell(pCellNomeEmpresa);
            pTableEmpresaInforImpres1.addCell(pCellNomeEndereco);
            pTableEmpresaInforImpres1.addCell(pCellCaixaPostal);
            pTableEmpresaInforImpres1.addCell(pCellTeleFax);
            pTableEmpresaInforImpres1.addCell(pCellSociedade);

            pTableEmpresaInforImpres1.addCell(pCellPolice);

            PdfPCell cellTabela3 = new PdfPCell(pTableEmpresaInforImpres1);
            cellTabela3.setBorder(0);

            pTableEmpresaInforImpres5.addCell(cellTabela3);

            PdfPCell cellTabela5 = new PdfPCell(pTableEmpresaInforImpres5);
            cellTabela5.setBorder(0);

            PdfPCell cellTabela6 = new PdfPCell(imageEmpresa);
            cellTabela6.setBorder(0);

            pTableEmpresaPricipal.addCell(cellTabela6);
            pTableEmpresaPricipal.addCell(cellTabela5);

            PdfPTable pTableSeguro = new PdfPTable(1);
            PdfPTable pTableCliente = new PdfPTable(1);

            PdfPTable pTableTitulo = new PdfPTable(1);
            Phrase pTitulo = new Phrase("Formulario de SEguro Roubo".toUpperCase(), fontCorpoNGT);
            PdfPCell cellTitulo = new PdfPCell(pTitulo);
            cellTitulo.setBorder(0);
            cellTitulo.setHorizontalAlignment(Element.ALIGN_CENTER);
            pTableTitulo.addCell(cellTitulo);

            ClienteI ci = new ClienteI(numCliente);

            PdfPCell cellTituloTsbleSegurado = new PdfPCell(
                    new Phrase("1 - Informaes Cliente".toUpperCase(), fontCorpoNG));
            cellTituloTsbleSegurado.setBorder(0);

            Paragraph pCl = new Paragraph();
            pCl.add(new Phrase("   " + ci.getNOMEL_(), fontCorpo));
            pCl.add(new Phrase(ci.getNOME_(), fontCorpoN));
            PdfPCell cellNome = new PdfPCell(new Phrase(pCl));
            cellNome.setBorder(0);

            pCl = new Paragraph();
            pCl.add(new Phrase("   " + ci.getENDERECOL_(), fontCorpo));
            pCl.add(new Phrase(ci.getENDERECO_(), fontCorpoN));
            PdfPCell cellEndereco = new PdfPCell(pCl);
            cellEndereco.setBorder(0);

            pCl = new Paragraph();
            pCl.add(new Phrase("   " + ci.getNUNCLIENTEL_(), fontCorpo));
            pCl.add(new Phrase(ci.getNUNCLIENTE_(), fontCorpoN));
            PdfPCell cellNCliente = new PdfPCell(pCl);
            cellNCliente.setBorder(0);

            pCl = new Paragraph();
            pCl.add(new Phrase("   " + ci.getPROFISSAOL_(), fontCorpo));
            pCl.add(new Phrase(ci.getPROFISSAO_(), fontCorpoN));
            PdfPCell cellProfissao = new PdfPCell(pCl);
            cellProfissao.setBorder(0);

            pCl = new Paragraph();
            pCl.add(new Phrase("   " + ci.getLOCALTRABALHOL_(), fontCorpo));
            pCl.add(new Phrase(ci.getLOCALTRABALHO_(), fontCorpoN));
            PdfPCell cellLocalTrabalho = new PdfPCell(pCl);
            cellLocalTrabalho.setBorder(0);

            pTableCliente.addCell(cellTituloTsbleSegurado);
            pTableCliente.addCell(cellNome);
            pTableCliente.addCell(cellEndereco);
            pTableCliente.addCell(cellNCliente);
            pTableCliente.addCell(cellProfissao);
            pTableCliente.addCell(cellLocalTrabalho);

            PdfPTable pTableDadosTitulo = new PdfPTable(1);
            PdfPCell cellDadosTitulo = new PdfPCell(new Phrase());
            cellDadosTitulo.setBorder(0);
            Paragraph pInfoTitulo = new Paragraph("2 - Informaes do(s) Objecto (s) Segurado(s)".toUpperCase(),
                    fontCorpoN);
            Paragraph pInfo1 = new Paragraph("   O Segurado: ".toUpperCase() + rb.getRoubo().getTipoEdificio(),
                    fontCorpo);
            Paragraph pInfo2 = new Paragraph("   Endereo: ".toUpperCase() + rb.getRoubo().getEnderecoEdificio(),
                    fontCorpo);

            cellDadosTitulo.addElement(pInfoTitulo);
            cellDadosTitulo.addElement(pInfo1);
            cellDadosTitulo.addElement(pInfo2);
            pTableDadosTitulo.addCell(cellDadosTitulo);

            PdfPCell cellSeguro = new PdfPCell(new Phrase());
            cellSeguro.setBorder(0);
            Paragraph pSegTitulo = new Paragraph("3 - Informaes Montante Segurado".toUpperCase(), fontCorpoN);
            Paragraph pSeg1 = new Paragraph(
                    "   A Propriendade SEgurada: ......................................................... veja a especificao I"
                            .toUpperCase(),
                    fontCorpo);
            Paragraph pSeg2 = new Paragraph("   Periodo Do Seguro ".toUpperCase(), fontCorpo);
            Paragraph pSeg3 = new Paragraph("   - DE " + sdf.format(c.getDataInicio()) + " At "
                    + sdf.format(c.getDataFim()) + " (16:00 Da DATA DE Epirao): ".toUpperCase(), fontCorpo);

            Paragraph pSeg4 = new Paragraph("   Data de Renovao: "
                    + ((c.getDataRenovacao() == null) ? "" : sdf.format(c.getDataRenovacao()).toUpperCase()),
                    fontCorpo);
            Paragraph pSeg5 = new Paragraph("   Primeiro premio: ".toUpperCase() + c.getPrimeiroPremio(),
                    fontCorpo);
            Paragraph pSeg6 = new Paragraph("   Prmeio Anual: ".toUpperCase() + c.getPremioAnual(), fontCorpo);
            Paragraph pSeg7 = new Paragraph(
                    "Ojectos/Limite de responsabilidade dedutvel/prmio/observao/natureza/Do Risco/valor segurado/preo excesso"
                            .toUpperCase(),
                    fontCorpo);
            Paragraph pSeg8 = new Paragraph("   ".toUpperCase(), fontCorpo);
            Paragraph pSeg9 = new Paragraph("   Prmio grosso:".toUpperCase(), fontCorpo);
            Paragraph pSeg10 = new Paragraph("   MeNor: ".toUpperCase(), fontCorpo);
            Paragraph pSeg11 = new Paragraph("   Adiciona: ".toUpperCase(), fontCorpo);
            Paragraph pSeg12 = new Paragraph("   Prmio Liquido Pagvel: ".toUpperCase(), fontCorpo);
            Paragraph pSeg13 = new Paragraph(
                    "   outras condies/memorando .......................................................... queira por favor vira a pgina "
                            .toUpperCase(),
                    fontCorpo);

            Paragraph pSegData = new Paragraph("   Data Em ".toUpperCase() + sdf.format(new Date()).toUpperCase(),
                    fontCorpo);

            cellSeguro.addElement(pSegTitulo);
            cellSeguro.addElement(pSeg1);
            cellSeguro.addElement(pSeg2);
            cellSeguro.addElement(pSeg3);
            cellSeguro.addElement(pSeg4);
            cellSeguro.addElement(pSeg5);
            cellSeguro.addElement(pSeg6);
            cellSeguro.addElement(pSeg8);
            cellSeguro.addElement(pSeg7);
            cellSeguro.addElement(pSeg8);
            cellSeguro.addElement(pSeg9);
            cellSeguro.addElement(pSeg10);
            cellSeguro.addElement(pSeg11);
            cellSeguro.addElement(pSeg12);
            cellSeguro.addElement(pSeg13);
            cellSeguro.addElement(pSeg8);
            cellSeguro.addElement(pSeg8);
            cellSeguro.addElement(pSegData);

            pTableSeguro.addCell(cellSeguro);

            PdfPTable pTableObs = new PdfPTable(1);
            PdfPCell cellObs = new PdfPCell();
            cellObs.setBorder(0);
            Paragraph pObs = new Paragraph(
                    "2.2 Especificao lidada e que faz parte de aplice de seguro contra Roubo N. 1"
                            .toUpperCase(),
                    fontCorpo);
            cellObs.addElement(pSeg8);
            cellObs.addElement(pSeg8);
            cellObs.setBorderWidthBottom(0.6f);
            cellObs.addElement(pObs);

            PdfPCell cellObs1 = new PdfPCell();
            cellObs1.setBorder(0);
            Paragraph pObs1 = new Paragraph(
                    "Sobre artigos domsticos e afetos pessoais incluindo mobilias e instalaes, a proprriedade do Seguro ou"
                            + "ou em fiana ou sobre comisso do qual o Segurado  responsavel enqunto estiver num edificio de contruo padro.",
                    fontCorpo);
            cellObs1.addElement(pObs1);
            cellObs1.addElement(pSeg8);
            cellObs1.addElement(pSeg8);

            pTableObs.addCell(cellObs);
            pTableObs.addCell(cellObs1);

            PdfPTable pTableOjsSegurado = new PdfPTable(new float[] { 8, 40, 26, 26 });
            pTableOjsSegurado.setWidthPercentage(90);
            PdfPTable pTableOjsSegurado1 = new PdfPTable(new float[] { 74, 26 });
            pTableOjsSegurado1.setWidthPercentage(90);
            PdfPCell cellOjsSegurado1 = new PdfPCell(new Phrase("Quant.", fontCorpoNG));
            PdfPCell cellOjsSegurado2 = new PdfPCell(
                    new Phrase("Descrio de Propriedade".toUpperCase(), fontCorpoNG));
            PdfPCell cellOjsSegurado3 = new PdfPCell(
                    new Phrase("Modelo No/n DE Serie".toUpperCase(), fontCorpoNG));
            PdfPCell cellOjsSegurado4 = new PdfPCell(new Phrase("Valor Segurado".toUpperCase(), fontCorpoNG));

            cellOjsSegurado1.setHorizontalAlignment(Element.ALIGN_CENTER);
            cellOjsSegurado2.setHorizontalAlignment(Element.ALIGN_CENTER);
            cellOjsSegurado3.setHorizontalAlignment(Element.ALIGN_CENTER);
            cellOjsSegurado4.setHorizontalAlignment(Element.ALIGN_CENTER);

            pTableOjsSegurado.addCell(cellOjsSegurado1);
            pTableOjsSegurado.addCell(cellOjsSegurado2);
            pTableOjsSegurado.addCell(cellOjsSegurado3);
            pTableOjsSegurado.addCell(cellOjsSegurado4);

            Double valortotal = 0.0;
            for (Roubo r : rb.getInfo()) {
                cellOjsSegurado1 = new PdfPCell(new Phrase(r.getQuantidade(), fontCorpo));
                cellOjsSegurado2 = new PdfPCell(new Phrase(r.getDescricao(), fontCorpo));
                cellOjsSegurado3 = new PdfPCell(new Phrase(r.getModelo(), fontCorpo));
                cellOjsSegurado4 = new PdfPCell(new Phrase(r.getValor(), fontCorpo));

                valortotal += Double.valueOf(r.getValor());

                cellOjsSegurado1.setHorizontalAlignment(Element.ALIGN_LEFT);
                cellOjsSegurado2.setHorizontalAlignment(Element.ALIGN_LEFT);
                cellOjsSegurado3.setHorizontalAlignment(Element.ALIGN_CENTER);
                cellOjsSegurado4.setHorizontalAlignment(Element.ALIGN_LEFT);

                pTableOjsSegurado.addCell(cellOjsSegurado1);
                pTableOjsSegurado.addCell(cellOjsSegurado2);
                pTableOjsSegurado.addCell(cellOjsSegurado3);
                pTableOjsSegurado.addCell(cellOjsSegurado4);
            }

            PdfPCell cellOjs1Segurado1 = new PdfPCell(new Phrase(
                    "Somatrio ----------------------------------------------------------------------------------------------"
                            .toUpperCase(),
                    fontCorpo));
            cellOjs1Segurado1.setHorizontalAlignment(Element.ALIGN_CENTER);
            PdfPCell cellOjs1Segurado2 = new PdfPCell(new Phrase(valortotal + "", fontCorpo));
            cellOjs1Segurado2.setHorizontalAlignment(Element.ALIGN_LEFT);

            pTableOjsSegurado1.addCell(cellOjs1Segurado1);
            pTableOjsSegurado1.addCell(cellOjs1Segurado2);

            PdfPTable pTableAssinaturaTitulo = new PdfPTable(1);
            PdfPTable pTableAssinatura = new PdfPTable(new float[] { 50f, 50f });
            PdfPCell cellAssinatora = new PdfPCell(new Phrase("Assinaturas".toUpperCase(), fontCorpoN));
            cellAssinatora.setBorder(0);
            cellAssinatora.setHorizontalAlignment(Element.ALIGN_CENTER);
            PdfPCell celllinha1 = new PdfPCell(
                    new Phrase("____________________________________________".toUpperCase(), fontCorpo));
            celllinha1.setBorder(0);
            celllinha1.setHorizontalAlignment(Element.ALIGN_CENTER);
            PdfPCell celllinha2 = new PdfPCell(
                    new Phrase("____________________________________________".toUpperCase(), fontCorpo));
            celllinha2.setBorder(0);
            celllinha2.setHorizontalAlignment(Element.ALIGN_CENTER);

            PdfPCell celllinha11 = new PdfPCell(new Phrase("para nicon Seguro sa stp".toUpperCase(), fontCorpoP));
            celllinha11.setBorder(0);
            celllinha11.setHorizontalAlignment(Element.ALIGN_CENTER);
            PdfPCell celllinha21 = new PdfPCell(new Phrase("o segurado ".toUpperCase(), fontCorpoP));
            celllinha21.setBorder(0);
            celllinha21.setHorizontalAlignment(Element.ALIGN_CENTER);

            pTableAssinaturaTitulo.addCell(cellAssinatora);
            pTableAssinatura.addCell(celllinha1);
            pTableAssinatura.addCell(celllinha2);
            pTableAssinatura.addCell(celllinha11);
            pTableAssinatura.addCell(celllinha21);

            Document documento = new Document();
            documento.setPageSize(PageSize.A4);
            documento.setMargins(20f, 20f, 35f, 5f);

            //            File ff= new File("Documentos\\"+user+"\\Seguro Roubo\\");
            //            ff.mkdirs();
            //            ff =new File(ff.getAbsoluteFile()+"\\"+"Formulario Seguro Roubo "+sdf1.format(new Date())+".pdf");
            File ff = new File(arquivo + "/" + user + "/Seguro Roubo/");

            ff.mkdirs();
            String Ddata = sdf1.format(new Date());
            ff = new File(ff.getAbsoluteFile() + "/" + "Formulario Seguro Roubo " + Ddata + ".pdf");

            reString = "../Documentos/" + user + "/Seguro Roubo/" + "Formulario Seguro Roubo " + Ddata + ".pdf";

            OutputStream outputStraem = new FileOutputStream(ff);
            PdfWriter writer = PdfWriter.getInstance(documento, outputStraem);

            if (MarcaDAgua.isSimulation) {
                MarcaDAgua.SimulacaoVertical v = new MarcaDAgua.SimulacaoVertical();
                writer.setPageEvent(v);
            }

            if (MarcaDAgua.isCanceled) {
                MarcaDAgua.AnulacaoVertical v = new MarcaDAgua.AnulacaoVertical();
                writer.setPageEvent(v);
            }

            documento.open();
            documento.add(pTableEmpresaPricipal);
            documento.add(pTableNull);
            documento.add(pTableTitulo);
            documento.add(pTableNull);
            documento.add(pTableCliente);
            documento.add(pTableNull);
            documento.add(pTableDadosTitulo);
            documento.add(pTableNull);
            documento.add(pTableSeguro);
            documento.add(pTableNull);
            documento.add(pTableAssinaturaTitulo);
            documento.add(pTableNull);
            documento.add(pTableNull);
            documento.add(pTableAssinatura);
            if (rb.getInfo().size() >= 10) {
                documento.newPage();
            }
            documento.add(pTableObs);
            documento.add(pTableOjsSegurado);
            documento.add(pTableOjsSegurado1);
            documento.close();

            //           PrintPdf printPdf = new PrintPdf(ff.getAbsolutePath(), ff.getAbsolutePath(), 0, 595f,842f,"Enviar Para o OneNote 2013",1); 
            //PrintPdf printPdf = new PrintPdf(ff.getAbsolutePath(), ff.getAbsolutePath(), 0, 595f,842f,"Hewlett-Packard HP LaserJet P2035",1); 
            //            printPdf.print();
        } catch (BadElementException | IOException ex) {
            Logger.getLogger(SeguroAPG.class.getName()).log(Level.SEVERE, null, ex);
        } catch (DocumentException ex) {
            Logger.getLogger(SeguroAPG.class.getName()).log(Level.SEVERE, null, ex);
        }
        return reString;
    }

    public static void main(String[] args) {
        SeguroRoubo aPG = new SeguroRoubo();
        aPG.criarDoc("ddhd", "223", new RouboBean(), new Contrato(), "ah", "");
    }
    //    class MyFooter extends PdfPageEventHelper {
    //
    //        @Override
    //        public void onStartPage(PdfWriter writer, Document document) {
    //            try {
    //                PdfContentByte canvas = writer.getDirectContentUnder();
    //                Image image = Image.getInstance("logo.png");
    //                image.scaleAbsolute(PageSize.A4.rotate());
    //                image.scaleToFit(700f, 500f);
    //                image.setAbsolutePosition(document.getPageSize().getWidth() - 495, 170);
    //                canvas.saveState();
    //                PdfGState state = new PdfGState();
    //                state.setFillOpacity(0.2f);
    //                canvas.setGState(state);
    //                canvas.addImage(image);
    //                canvas.restoreState();
    //            } catch (BadElementException | IOException ex) {
    //                Logger.getLogger(ReciboPagamento.class.getName()).log(Level.SEVERE, null, ex);
    //            } catch (DocumentException ex) {
    //                Logger.getLogger(ReciboPagamento.class.getName()).log(Level.SEVERE, null, ex);
    //            }
    //        }
    //    }
}