Java tutorial
/* * 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 Compras; import Hibernate.Util.HibernateUtil; import Hibernate.entidades.Adicionales; import Hibernate.entidades.Concepto; import Hibernate.entidades.Configuracion; import Hibernate.entidades.Factura; import Hibernate.entidades.Orden; import Hibernate.entidades.Partida; import Hibernate.entidades.PartidaExterna; import Hibernate.entidades.Pedido; import Hibernate.entidades.Usuario; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.GrayColor; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfPTable; import java.io.File; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JOptionPane; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import Integral.Herramientas; import Integral.PDF; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /** * * @author salvador */ public class Formatos { private Session session; Herramientas h; String sessionPrograma = ""; Usuario usr; public Orden ord; public Factura factura = null; String no_ped = ""; public Formatos(Usuario u, String ses, Orden o, String p) { sessionPrograma = ses; usr = u; ord = o; no_ped = p; } public Formatos(Usuario u, String ses, Orden o) { sessionPrograma = ses; usr = u; ord = o; } public void prefactura() { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); //factura=(Factura)session.get(Factura.class, factura.getIdFactura()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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, "Pedido", "reportes/" + ord.getIdOrden() + "/" + valor + "-preFac.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; float tam[] = new float[] { 40, 40, 350, 70, 70 }; PdfPTable tabla = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT); //Pedido ord = (Pedido)session.get(Pedido.class, Integer.parseInt(this.no_ped)); cabeceraPre(reporte, bf, tabla); Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class) .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())) .add(Restrictions.eq("facturado", true)).add(Restrictions.eq("incluida", false)) .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list() .toArray(new Partida[0]); Partida[] enlazadas = (Partida[]) session.createCriteria(Partida.class) .add(Restrictions.eq("ordenByEnlazada.idOrden", ord.getIdOrden())) .add(Restrictions.eq("facturado", true)).addOrder(Order.asc("idEvaluacion")) .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]); Adicionales[] externas = (Adicionales[]) session.createCriteria(Adicionales.class) .add(Restrictions.eq("orden.idOrden", ord.getIdOrden())).addOrder(Order.asc("idAdicionales")) .list().toArray(new Adicionales[0]); //**********agregamos la mano de obra******************* double tot_mo = 0.0d; Query query = session.createQuery("SELECT SUM( " + "(CASE WHEN dm>0 THEN (dm*cant) ELSE 0 END) + " + "(CASE WHEN cam>0 THEN (cam*cant) ELSE 0 END) + " + "(CASE WHEN repMin>0 THEN (repMin*cant) ELSE 0 END) + " + "(CASE WHEN repMed>0 THEN (repMed*cant) ELSE 0 END) + " + "(CASE WHEN repMax>0 THEN (repMax*cant) ELSE 0 END) + " + "(CASE WHEN pint>0 THEN (pint*cant) ELSE 0 END) " + ") from Partida " + " where ordenByIdOrden.idOrden =" + ord.getIdOrden() + " OR ordenByEnlazada.idOrden =" + ord.getIdOrden()); Object ent = query.uniqueResult(); if (ent != null) { tot_mo = Double.parseDouble(ent.toString()) * ord.getCompania().getImporteHora(); } if (ord.getMoDirecta() > 0d) tot_mo = ord.getMoDirecta(); tabla.addCell(reporte.celda("1", font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda("NA", font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("MANO DE OBRA", font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(tot_mo), font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(tot_mo), font, contenido, derecha, 0, 1, 12)); int ren = 0; double total = tot_mo; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { tabla.addCell(reporte.celda("" + cuentas[i].getCantidadFactura(), font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda(cuentas[i].getMed(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda(cuentas[i].getDescripcionFactura().toUpperCase(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(cuentas[i].getPrecioFactura()), font, contenido, derecha, 0, 1, 12)); double tot = cuentas[i].getPrecioFactura() * cuentas[i].getCantidadFactura(); total += tot; tabla.addCell( reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12)); /*if(ren==30) { tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT); this.cabeceraPre(reporte, bf, tabla); ren=-1; } ren++;*/ } } if (enlazadas.length > 0) { for (int i = 0; i < enlazadas.length; i++) { tabla.addCell(reporte.celda("" + enlazadas[i].getCantidadFactura(), font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda(enlazadas[i].getMed(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda(enlazadas[i].getDescripcionFactura().toUpperCase(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(enlazadas[i].getPrecioFactura()), font, contenido, derecha, 0, 1, 12)); double tot = enlazadas[i].getPrecioFactura() * enlazadas[i].getCantidadFactura(); total += tot; tabla.addCell( reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12)); /*if(ren==30) { tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT); this.cabeceraPre(reporte, bf, tabla); ren=-1; } ren++;*/ } } if (externas.length > 0) { for (int ex = 0; ex < externas.length; ex++) { tabla.addCell( reporte.celda("" + externas[ex].getCantidad(), font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda(externas[ex].getMedida(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda(externas[ex].getDescripcion().toUpperCase(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(externas[ex].getPrecio()), font, contenido, derecha, 0, 1, 12)); double tot = externas[ex].getPrecio() * externas[ex].getCantidad(); total += tot; tabla.addCell( reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12)); /*if(ren==30) { tabla.addCell(reporte.celda("", font, contenido, izquierda, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda(">> continua en la siguente hoja <<", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); tabla.addCell(reporte.celda("", font, contenido, derecha, 0,1,12)); reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT); this.cabeceraPre(reporte, bf, tabla); ren=-1; } ren++;*/ } } PdfPTable tabla1 = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT); tabla1.addCell(reporte.celda("Metodo de Pago: NO IDENTIFICADO", font, contenido, izquierda, 3, 1, Rectangle.TOP)); tabla1.addCell(reporte.celda("SUB-TOTAL:", font, contenido, derecha, 0, 1, Rectangle.TOP + Rectangle.BOTTOM + 12)); tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.TOP + Rectangle.BOTTOM + 12)); tabla1.addCell( reporte.celda("Lugar de Expedicin: ", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla1.addCell(reporte.celda("IVA:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); Configuracion con = (Configuracion) session.get(Configuracion.class, 1); double iva = total * (con.getIva() * 0.01); tabla1.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell( reporte.celda("(CANTIDAD CON LETRA)", font, contenido, izquierda, 3, 2, Rectangle.NO_BORDER)); tabla1.addCell(reporte.celda("DEDUCIBLE:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("$0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("TOTAL:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); total += iva; tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("PAGO EN UNA SOLA EXHIBICIN", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla1.addCell( reporte.celda("EFECTOS FISCALES AL PAGO", font, contenido, centro, 2, 1, Rectangle.NO_BORDER)); session.beginTransaction().rollback(); tabla.setHeaderRows(2); reporte.agregaObjeto(tabla); float tam1[] = new float[] { 180, 180, 180, 180 }; PdfPTable tabla2 = reporte.crearTabla(4, tam1, 100, Element.ALIGN_LEFT); tabla2.addCell( reporte.celda(reporte.Imagen("imagenes/rq.png"), contenido, centro, 0, 8, Rectangle.NO_BORDER)); tabla2.addCell(reporte.celda("Regimen Fiscal:REGIMEN GENERAL DE LEY DE PERSONAS MORALES", font, contenido, centro, 3, 1, Rectangle.BOTTOM)); tabla2.addCell(reporte.celda("Sello Digital del SAT:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Sello Digital del Emisor:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Cadena original del complemento de certificacin digital del SAT:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Este documento es una representacin impresa de un CFDI", font, contenido, izquierda, 3, 1, Rectangle.TOP)); reporte.agregaObjeto(tabla1); reporte.agregaObjeto(tabla2); reporte.cerrar(); reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-preFac.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void pedidos() { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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, "cabecera", "reportes/" + ord.getIdOrden() + "/" + valor + "-pedido.pdf"); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 30, 25, 60, 190, 25, 30, 20, 40, 40 }; PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT); Pedido ped = (Pedido) session.get(Pedido.class, Integer.parseInt(this.no_ped)); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); cabecera(reporte, bf, tabla, ped); Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class) .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())) .add(Restrictions.eq("pedido.idPedido", Integer.parseInt(no_ped))) .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list() .toArray(new Partida[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //Partida y subpartida tabla.addCell( reporte.celda("" + cuentas[i].getIdEvaluacion() + " " + cuentas[i].getSubPartida(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //folio del articulo de articulo tabla.addCell(reporte.celda("" + cuentas[i].getCatalogo().getIdCatalogo(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getEjemplar() != null) { //No de parte tabla.addCell(reporte.celda("" + cuentas[i].getEjemplar().getIdParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //Medida tabla.addCell(reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getPlazo() != null)//plazo de entrega tabla.addCell(reporte.celda("" + cuentas[i].getPlazo(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0)//cantidad a comprar tabla.addCell(reporte.celda("" + cuentas[i].getCantPcp(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getPcp() != null)//costo unit tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPcp()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0 && cuentas[i].getPcp() != null)//costo total { double sum = cuentas[i].getCantPcp() * cuentas[i].getPcp(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); /*if(ren==38) { reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT); cabecera(reporte, bf, tabla, ped); ren=-1; }*/ ren++; } } tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 5, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas: " + ped.getNotas(), font, contenido, izquierda, 10, 1, Rectangle.NO_BORDER)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-pedido.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void pedidosExternos(int pedido) { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); Pedido ped = (Pedido) session.get(Pedido.class, pedido); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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/externos"); folder.mkdirs(); reporte.Abrir(PageSize.LETTER, "cabecera", "reportes/externos/" + valor + "-pedido.pdf"); //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 30, 25, 60, 190, 25, 30, 20, 40, 40 }; PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT); //Pedido ped = (Pedido)session.get(Pedido.class, Integer.parseInt(this.no_ped)); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); cabecera(reporte, bf, tabla, ped); PartidaExterna[] cuentas = (PartidaExterna[]) session.createCriteria(PartidaExterna.class). //add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())). add(Restrictions.eq("pedido.idPedido", pedido)).addOrder(Order.asc("idPartidaExterna")).list() .toArray(new PartidaExterna[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //Partida y subpartida if (cuentas[i].getPartida() != null) tabla.addCell( reporte.celda("" + cuentas[i].getPartida() + " " + cuentas[i].getIdValuacion(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //folio del articulo de articulo tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("" + cuentas[i].getNoParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getDescripcion(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //Medida tabla.addCell(reporte.celda(cuentas[i].getUnidad(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getPlazo() != null)//plazo de entrega tabla.addCell(reporte.celda("" + cuentas[i].getPlazo(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //cantidad a compra tabla.addCell(reporte.celda("" + cuentas[i].getCantidad(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCosto()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); double sum = cuentas[i].getCantidad() * cuentas[i].getCosto(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); /*if(ren==38) { reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT); cabecera(reporte, bf, tabla, ped); ren=-1; } ren++;*/ } } tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 5, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 9, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas: " + ped.getNotas(), font, contenido, izquierda, 10, 1, Rectangle.NO_BORDER)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/externos/" + valor + "-pedido.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void ordenCompra() { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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, "cabecera", "reportes/" + ord.getIdOrden() + "/" + valor + "-orden.pdf"); //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 20, 220, 40, 90, 50, 50 }; PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); Pedido ped = (Pedido) session.get(Pedido.class, Integer.parseInt(no_ped)); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); cabeceraCompra(reporte, bf, tabla, ped); Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class) .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())) .add(Restrictions.eq("pedido.idPedido", Integer.parseInt(no_ped))) .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list() .toArray(new Partida[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0)//cantidad a comprar tabla.addCell(reporte.celda("" + cuentas[i].getCantPcp(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //folio del articulo-partida-subpartida tabla.addCell(reporte.celda( "" + cuentas[i].getCatalogo().getIdCatalogo() + "-" + cuentas[i].getIdEvaluacion() + "-" + cuentas[i].getSubPartida(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getEjemplar() != null) { //No de parte tabla.addCell(reporte.celda("" + cuentas[i].getEjemplar().getIdParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getPcp() != null)//costo unit tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPcp()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0 && cuentas[i].getPcp() != null)//costo total { double sum = cuentas[i].getCantPcp() * cuentas[i].getPcp(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); /*if(ren==38) { reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); cabeceraCompra(reporte, bf, tabla, ped); ren=-1; }*/ ren++; } } if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); else tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 3, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda( "[NO SE RECIBIR? MATERIAL EN ALMACN SIN ESTA ORDEN DE COMPRA Y REMISIN O FACTURA CORRESPONDIENTE]", font, contenido, centro, 7, 1, Rectangle.NO_BORDER)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-orden.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void ordenCompraDCG(String tipo) { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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, "cabecera", "reportes/" + ord.getIdOrden() + "/" + valor + "-ordenDCG.pdf"); //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 20, 40, 220, 90, 50, 50 }; PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); Pedido ped = (Pedido) session.get(Pedido.class, Integer.parseInt(no_ped)); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); cabeceraCompraDCG(reporte, bf, tabla, ped, tipo); Partida[] cuentas = (Partida[]) session.createCriteria(Partida.class) .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())) .add(Restrictions.eq("pedido.idPedido", Integer.parseInt(no_ped))) .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list() .toArray(new Partida[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0)//cantidad a comprar tabla.addCell(reporte.celda("" + cuentas[i].getCantPcp(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getMed() != null)//Unidad tabla.addCell(reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getEjemplar() != null) { //No de parte tabla.addCell(reporte.celda("" + cuentas[i].getEjemplar().getIdParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getPcp() != null)//costo unit tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPcp()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); if (cuentas[i].getCantPcp() > 0 && cuentas[i].getPcp() != null)//costo total { double sum = cuentas[i].getCantPcp() * cuentas[i].getPcp(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); ren++; } } if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); else tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 2, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ordenDCG.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void ordenCompraExternosDCG(int pedido, String tipo) { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); //ord=(Orden)session.get(Orden.class, ord.getIdOrden()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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/externos"); folder.mkdirs(); reporte.Abrir(PageSize.LETTER, "cabecera", "reportes/externos/" + valor + "-ordenDCG.pdf"); //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 20, 40, 220, 90, 50, 50 }; PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); Pedido ped = (Pedido) session.get(Pedido.class, pedido); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); if (ped.getTipoPedido().compareToIgnoreCase("Externo") == 0) cabeceraCompraExDCG(reporte, bf, tabla, ped, tipo); if (ped.getTipoPedido().compareToIgnoreCase("Adicional") == 0) cabeceraCompraDCG(reporte, bf, tabla, ped, tipo); PartidaExterna[] cuentas = (PartidaExterna[]) session.createCriteria(PartidaExterna.class). //add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())). add(Restrictions.eq("pedido.idPedido", pedido)).addOrder(Order.asc("idPartidaExterna")).list() .toArray(new PartidaExterna[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //cantidad a comprar tabla.addCell(reporte.celda("" + cuentas[i].getCantidad(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Unidad tabla.addCell(reporte.celda(cuentas[i].getUnidad(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getDescripcion(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("" + cuentas[i].getNoParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //costo unit tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCosto()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); double sum = cuentas[i].getCantidad() * cuentas[i].getCosto(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); /*if(ren==38) { reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); cabeceraCompraEx(reporte, bf, tabla, ped); ren=-1; }*/ ren++; } } if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); else tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 2, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/externos/" + valor + "-ordenDCG.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } void ordenCompraExternos(int pedido) { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); //ord=(Orden)session.get(Orden.class, ord.getIdOrden()); try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); 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/externos"); folder.mkdirs(); reporte.Abrir(PageSize.LETTER, "cabecera", "reportes/externos/" + valor + "-orden.pdf"); //Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 8, Font.BOLD); BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; float tam[] = new float[] { 20, 20, 220, 40, 90, 50, 50 }; PdfPTable tabla = reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); Pedido ped = (Pedido) session.get(Pedido.class, pedido); //Pedido ped = (Pedido)session.get(Pedido.class, Integer.parseInt(this.no_ped)); if (ped.getUsuarioByAutorizo() != null && ped.getUsuarioByAutorizo2() != null) { reporte.estatusAutoriza(ped.getUsuarioByAutorizo().getEmpleado().getNombre(), ped.getUsuarioByAutorizo2().getEmpleado().getNombre()); } else reporte.estatusAutoriza("", " NO AUTORIZADO"); if (ped.getTipoPedido().compareToIgnoreCase("Externo") == 0) cabeceraCompraEx(reporte, bf, tabla, ped); if (ped.getTipoPedido().compareToIgnoreCase("Adicional") == 0) cabeceraCompra(reporte, bf, tabla, ped); PartidaExterna[] cuentas = (PartidaExterna[]) session.createCriteria(PartidaExterna.class). //add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden())). add(Restrictions.eq("pedido.idPedido", pedido)).addOrder(Order.asc("idPartidaExterna")).list() .toArray(new PartidaExterna[0]); int ren = 0; double total = 0d; if (cuentas.length > 0) { for (int i = 0; i < cuentas.length; i++) { int r = i + 1; //consecutivo tabla.addCell(reporte.celda("" + r, font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //cantidad a comprar tabla.addCell(reporte.celda("" + cuentas[i].getCantidad(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //Descripcion tabla.addCell(reporte.celda(cuentas[i].getDescripcion(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //folio del articulo-partida-subpartida if (cuentas[i].getPartida() != null) tabla.addCell(reporte.celda(cuentas[i].getPartida() + "-" + cuentas[i].getIdValuacion(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("" + cuentas[i].getNoParte(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //costo unit tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCosto()), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); double sum = cuentas[i].getCantidad() * cuentas[i].getCosto(); total += sum; tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); /*if(ren==38) { reporte.agregaObjeto(tabla); reporte.writer.newPage(); tabla=reporte.crearTabla(7, tam, 100, Element.ALIGN_LEFT); cabeceraCompraEx(reporte, bf, tabla, ped); ren=-1; }*/ ren++; } } if (ped.getNotas() != null) tabla.addCell(reporte.celda("Notas:" + ped.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); else tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 7, 1, Rectangle.BOTTOM)); tabla.addCell(reporte.celda("[Los montos estan en Pesos]", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 3, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); double iva = total * 0.16d; tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 6, 1, Rectangle.NO_BORDER)); total += iva; tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda( "[NO SE RECIBIR? MATERIAL EN ALMACN SIN ESTA ORDEN DE COMPRA Y REMISIN O FACTURA CORRESPONDIENTE]", font, contenido, centro, 7, 1, Rectangle.NO_BORDER)); tabla.setHeaderRows(1); session.beginTransaction().rollback(); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar("reportes/externos/" + valor + "-orden.pdf"); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } private void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla, Pedido ped) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 670, 240, 70, 5); reporte.contenido.roundRectangle(280, 670, 293, 70, 5); Configuracion con = (Configuracion) session.get(Configuracion.class, 1); reporte.inicioTexto(); reporte.contenido.setFontAndSize(bf, 14); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, con.getEmpresa(), 160, 760, 0); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pedido a Proveedores", 35, 745, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Datos de Facturacin", 450, 730, 0); reporte.contenido.setFontAndSize(bf, 8); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 745, 0); //ord = (Orden)session.get(Orden.class, ord.getIdOrden()); //************************datos del proveedor**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pedido: " + ped.getIdPedido(), 40, 725, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Fecha: " + dateFormat.format(ped.getFechaPedido()), 190, 725, 0); String nomb = ped.getProveedorByIdProveedor().getNombre(); if (nomb.length() > 40) nomb = nomb.substring(0, 39); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Proveedor: " + ped.getProveedorByIdProveedor().getIdProveedor(), 40, 715, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, nomb, 40, 705, 0); if (ord != null) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "O. Taller: " + ord.getIdOrden() + " Modelo: " + ord.getModelo(), 40, 695, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ord.getTipo().getTipoNombre(), 40, 685, 0); if (ord.getNoSerie() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Serie: " + ord.getNoSerie(), 40, 675, 0); } else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Externo", 40, 695, 0); //**********************datos de facturacion***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Clave: " + ped.getProveedorByIdEmpresa().getIdProveedor(), 285, 725, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Nomb: " + ped.getProveedorByIdEmpresa().getNombre(), 284, 715, 0); if (ped.getProveedorByIdEmpresa().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir: " + ped.getProveedorByIdEmpresa().getDireccion(), 295, 705, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 295, 705, 0); if (ped.getProveedorByIdEmpresa().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdEmpresa().getColonia(), 293, 695, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 293, 695, 0); if (ped.getProveedorByIdEmpresa().getPoblacion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob: " + ped.getProveedorByIdEmpresa().getPoblacion(), 291, 685, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 291, 685, 0); if (ped.getProveedorByIdEmpresa().getCp() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP: " + ped.getProveedorByIdEmpresa().getCp(), 500, 685, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 500, 685, 0); if (ped.getProveedorByIdEmpresa().getRfc() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC: " + ped.getProveedorByIdEmpresa().getRfc(), 289, 675, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 289, 675, 0); reporte.contenido.setColorFill(BaseColor.BLACK); /*reporte.contenido.roundRectangle(50, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Solicita", 120, 10, 0); reporte.contenido.roundRectangle(370, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Autoriza", 440, 10, 0);*/ reporte.finTexto(); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Part P.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Folio", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("T.E.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Costo C/U", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } private void cabeceraCompra(PDF reporte, BaseFont bf, PdfPTable tabla, Pedido ped) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 695, 180, 10, 0); reporte.contenido.roundRectangle(35, 625, 180, 80, 0); reporte.contenido.roundRectangle(215, 695, 180, 10, 0); reporte.contenido.roundRectangle(215, 625, 180, 80, 0); reporte.contenido.roundRectangle(395, 695, 180, 10, 0); reporte.contenido.roundRectangle(395, 625, 180, 80, 0); reporte.inicioTexto(); reporte.contenido.setFontAndSize(bf, 13); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.agregaObjeto(reporte.crearImagen("imagenes/grande300115.jpg", 30, -40, 60)); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE COMPRA: " + ped.getIdPedido(), 35, 710, 0); reporte.contenido.setFontAndSize(bf, 7); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 710, 0); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); //************************datos del proveedor**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DEL PROVEEDOR", 73, 697, 0); String nomb = ped.getProveedorByIdProveedor().getNombre(); if (ped.getProveedorByIdProveedor().getNombre().length() > 37) nomb = nomb.substring(0, 36); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, nomb, 40, 687, 0); if (ped.getProveedorByIdProveedor().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdProveedor().getDireccion(), 40, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 40, 677, 0); if (ped.getProveedorByIdProveedor().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdProveedor().getColonia(), 40, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 40, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Edo: " + ped.getProveedorByIdProveedor().getEstado(), 40, 657, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel: " + ped.getProveedorByIdProveedor().getTel1(), 40, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel:", 40, 647, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto: " + ped.getProveedorByIdProveedor().getRepresentante(), 40, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto:", 40, 637, 0); if (ped.getProveedorByIdProveedor().getEmail() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: " + ped.getProveedorByIdProveedor().getEmail(), 40, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: ", 40, 627, 0); //**********************datos de facturacion***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DE FACTURACIN", 250, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getNombre(), 220, 687, 0); if (ped.getProveedorByIdEmpresa().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getDireccion(), 220, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 220, 677, 0); if (ped.getProveedorByIdEmpresa().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdEmpresa().getColonia(), 220, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 220, 667, 0); if (ped.getProveedorByIdEmpresa().getPoblacion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob: " + ped.getProveedorByIdEmpresa().getPoblacion(), 220, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 220, 657, 0); if (ped.getProveedorByIdEmpresa().getCp() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP: " + ped.getProveedorByIdEmpresa().getCp(), 220, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 220, 647, 0); if (ped.getProveedorByIdEmpresa().getRfc() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC: " + ped.getProveedorByIdEmpresa().getRfc(), 220, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 220, 537, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS LA UNIDAD", 450, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ord.getIdOrden(), 410, 687, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ord.getTipo().getTipoNombre(), 410, 677, 0); if (ord.getNoSerie() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: " + ord.getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ord.getModelo(), 410, 657, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ord.getCompania().getNombre(), 410, 647, 0); String clien = ord.getClientes().getNombre(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cliente:" + clien, 410, 637, 0); if (ord.getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ord.getSiniestro(), 410, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 627, 0); reporte.contenido.setFontAndSize(bf, 12); /*reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.roundRectangle(50, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Solicita", 120, 10, 0); reporte.contenido.roundRectangle(370, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Autoriza", 440, 10, 0);*/ reporte.finTexto(); reporte.contenido.setFontAndSize(bf, 12); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Part P.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Costo C/U", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } private void cabeceraCompraDCG(PDF reporte, BaseFont bf, PdfPTable tabla, Pedido ped, String tipo) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 695, 180, 10, 0); reporte.contenido.roundRectangle(35, 625, 180, 80, 0); reporte.contenido.roundRectangle(215, 695, 180, 10, 0); reporte.contenido.roundRectangle(215, 625, 180, 80, 0); reporte.contenido.roundRectangle(395, 695, 180, 10, 0); reporte.contenido.roundRectangle(395, 625, 180, 80, 0); reporte.inicioTexto(); reporte.contenido.setFontAndSize(bf, 13); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.agregaObjeto(reporte.crearImagen("imagenes/volvo.png", 0, -35, 30)); reporte.agregaObjeto(reporte.crearImagen("imagenes/mack.png", 410, -30, 30)); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Distribuidora de Camiones Guerrero, S.A. de C.V.", 110, 770, 0); if (ped.getIdExterno() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, tipo + ": " + ped.getIdExterno(), 35, 710, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, tipo + ": NA", 35, 710, 0); reporte.contenido.setFontAndSize(bf, 7); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "2da. De la Cadena S/N", 110, 760, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col. Reforma", 110, 750, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "San Pedro Totoltepec", 110, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Toluca, Mx. C.P. 50200", 110, 730, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel. 199 24 04 / 590 12 29", 110, 720, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 710, 0); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); //************************datos del proveedor**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DEL PROVEEDOR", 73, 697, 0); String nomb = ped.getProveedorByIdProveedor().getNombre(); if (ped.getProveedorByIdProveedor().getNombre().length() > 37) nomb = nomb.substring(0, 36); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, nomb, 40, 687, 0); if (ped.getProveedorByIdProveedor().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdProveedor().getDireccion(), 40, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 40, 677, 0); if (ped.getProveedorByIdProveedor().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdProveedor().getColonia(), 40, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 40, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Edo: " + ped.getProveedorByIdProveedor().getEstado(), 40, 657, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel: " + ped.getProveedorByIdProveedor().getTel1(), 40, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel:", 40, 647, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto: " + ped.getProveedorByIdProveedor().getRepresentante(), 40, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto:", 40, 637, 0); if (ped.getProveedorByIdProveedor().getEmail() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: " + ped.getProveedorByIdProveedor().getEmail(), 40, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: ", 40, 627, 0); //**********************datos de facturacion***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DE FACTURACIN", 250, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getNombre(), 220, 687, 0); if (ped.getProveedorByIdEmpresa().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getDireccion(), 220, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 220, 677, 0); if (ped.getProveedorByIdEmpresa().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdEmpresa().getColonia(), 220, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 220, 667, 0); if (ped.getProveedorByIdEmpresa().getPoblacion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob: " + ped.getProveedorByIdEmpresa().getPoblacion(), 220, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 220, 657, 0); if (ped.getProveedorByIdEmpresa().getCp() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP: " + ped.getProveedorByIdEmpresa().getCp(), 220, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 220, 647, 0); if (ped.getProveedorByIdEmpresa().getRfc() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC: " + ped.getProveedorByIdEmpresa().getRfc(), 220, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 220, 537, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS LA UNIDAD", 450, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ord.getIdOrden(), 410, 687, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ord.getTipo().getTipoNombre(), 410, 677, 0); if (ord.getNoSerie() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: " + ord.getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ord.getModelo(), 410, 657, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ord.getCompania().getNombre(), 410, 647, 0); String clien = ord.getClientes().getNombre(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cliente:" + clien, 410, 637, 0); if (ord.getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ord.getSiniestro(), 410, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 627, 0); reporte.contenido.setFontAndSize(bf, 12); reporte.finTexto(); reporte.contenido.setFontAndSize(bf, 12); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("Part.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Uni.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Costo C/U", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } private void cabeceraCompraExDCG(PDF reporte, BaseFont bf, PdfPTable tabla, Pedido ped, String tipo) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 695, 180, 10, 0); reporte.contenido.roundRectangle(35, 625, 180, 80, 0); reporte.contenido.roundRectangle(215, 695, 180, 10, 0); reporte.contenido.roundRectangle(215, 625, 180, 80, 0); reporte.contenido.roundRectangle(395, 695, 180, 10, 0); reporte.contenido.roundRectangle(395, 625, 180, 80, 0); reporte.inicioTexto(); reporte.contenido.setFontAndSize(bf, 13); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.agregaObjeto(reporte.crearImagen("imagenes/volvo.png", 0, -35, 30)); reporte.agregaObjeto(reporte.crearImagen("imagenes/mack.png", 410, -30, 30)); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Distribuidora de Camiones Guerrero, S.A. de C.V.", 110, 770, 0); if (ped.getIdExterno() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, tipo + ": " + ped.getIdExterno(), 35, 710, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, tipo + ": NA", 35, 710, 0); reporte.contenido.setFontAndSize(bf, 7); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "2da. De la Cadena S/N", 110, 760, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col. Reforma", 110, 750, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "San Pedro Totoltepec", 110, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Toluca, Mx. C.P. 50200", 110, 730, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel. 199 24 04 / 590 12 29", 110, 720, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 710, 0); //ord = (Orden)session.get(Orden.class, ord.getIdOrden()); //************************datos del proveedor**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DEL PROVEEDOR", 73, 697, 0); String nomb = ped.getProveedorByIdProveedor().getNombre(); if (nomb.length() > 37) nomb = nomb.substring(0, 36); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, nomb, 40, 687, 0); if (ped.getProveedorByIdProveedor().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdProveedor().getDireccion(), 40, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 40, 677, 0); if (ped.getProveedorByIdProveedor().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdProveedor().getColonia(), 40, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 40, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Edo: " + ped.getProveedorByIdProveedor().getEstado(), 40, 657, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel: " + ped.getProveedorByIdProveedor().getTel1(), 40, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel:", 40, 647, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto: " + ped.getProveedorByIdProveedor().getRepresentante(), 40, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto:", 40, 637, 0); if (ped.getProveedorByIdProveedor().getEmail() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: " + ped.getProveedorByIdProveedor().getEmail(), 40, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: ", 40, 627, 0); //**********************datos de facturacion***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DE FACTURACIN", 250, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getNombre(), 220, 687, 0); if (ped.getProveedorByIdEmpresa().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getDireccion(), 220, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 220, 677, 0); if (ped.getProveedorByIdEmpresa().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdEmpresa().getColonia(), 220, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 220, 667, 0); if (ped.getProveedorByIdEmpresa().getPoblacion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob: " + ped.getProveedorByIdEmpresa().getPoblacion(), 220, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 220, 657, 0); if (ped.getProveedorByIdEmpresa().getCp() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP: " + ped.getProveedorByIdEmpresa().getCp(), 220, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 220, 647, 0); if (ped.getProveedorByIdEmpresa().getRfc() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC: " + ped.getProveedorByIdEmpresa().getRfc(), 220, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 220, 537, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS LA UNIDAD", 450, 697, 0); if (ped.getPartida() == null) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ped.getOrdenExterna().getIdOrden(), 410, 687, 0); if (ped.getOrdenExterna().getTipo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ped.getOrdenExterna().getTipo().getTipoNombre(), 410, 677, 0); /*if(ped.getOrdenExterna().getNoSerie()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: "+ped.getOrdenExterna().getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0);*/ if (ped.getOrdenExterna().getModelo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ped.getOrdenExterna().getModelo(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: ", 410, 667, 0); if (ped.getOrdenExterna().getCompania() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ped.getOrdenExterna().getCompania().getNombre(), 410, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: ", 410, 657, 0); if (ped.getOrdenExterna().getAsegurado() != null) { String clien = ped.getOrdenExterna().getAsegurado(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:" + clien, 410, 647, 0); } else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:", 410, 647, 0); if (ped.getOrdenExterna().getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ped.getOrdenExterna().getSiniestro(), 410, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 637, 0); } else { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ped.getPartida().getOrdenByIdOrden().getIdOrden(), 410, 687, 0); if (ped.getPartida().getOrdenByIdOrden().getTipo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ped.getPartida().getOrdenByIdOrden().getTipo().getTipoNombre(), 410, 677, 0); /*if(ped.getOrdenExterna().getNoSerie()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: "+ped.getOrdenExterna().getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0);*/ if (ped.getPartida().getOrdenByIdOrden().getModelo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ped.getPartida().getOrdenByIdOrden().getModelo(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: ", 410, 667, 0); if (ped.getPartida().getOrdenByIdOrden().getCompania() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ped.getPartida().getOrdenByIdOrden().getCompania().getNombre(), 410, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: ", 410, 657, 0); if (ped.getPartida().getOrdenByIdOrden().getClientes() != null) { String clien = ped.getPartida().getOrdenByIdOrden().getClientes().getNombre(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:" + clien, 410, 647, 0); } else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:", 410, 647, 0); if (ped.getPartida().getOrdenByIdOrden().getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ped.getPartida().getOrdenByIdOrden().getSiniestro(), 410, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 637, 0); } reporte.contenido.setColorFill(BaseColor.BLACK); /*reporte.contenido.roundRectangle(50, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Solicita", 120, 10, 0); reporte.contenido.roundRectangle(370, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Autoriza", 440, 10, 0);*/ reporte.finTexto(); reporte.contenido.setFontAndSize(bf, 12); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("Part.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Uni.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Costo C/U", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } private void cabeceraCompraEx(PDF reporte, BaseFont bf, PdfPTable tabla, Pedido ped) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 695, 180, 10, 0); reporte.contenido.roundRectangle(35, 625, 180, 80, 0); reporte.contenido.roundRectangle(215, 695, 180, 10, 0); reporte.contenido.roundRectangle(215, 625, 180, 80, 0); reporte.contenido.roundRectangle(395, 695, 180, 10, 0); reporte.contenido.roundRectangle(395, 625, 180, 80, 0); reporte.inicioTexto(); reporte.contenido.setFontAndSize(bf, 13); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.agregaObjeto(reporte.crearImagen("imagenes/grande300115.jpg", 30, -40, 60)); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE COMPRA: " + ped.getIdPedido(), 35, 710, 0); reporte.contenido.setFontAndSize(bf, 7); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 710, 0); //ord = (Orden)session.get(Orden.class, ord.getIdOrden()); //************************datos del proveedor**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DEL PROVEEDOR", 73, 697, 0); String nomb = ped.getProveedorByIdProveedor().getNombre(); if (nomb.length() > 37) nomb = nomb.substring(0, 36); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, nomb, 40, 687, 0); if (ped.getProveedorByIdProveedor().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdProveedor().getDireccion(), 40, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 40, 677, 0); if (ped.getProveedorByIdProveedor().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdProveedor().getColonia(), 40, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 40, 667, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Edo: " + ped.getProveedorByIdProveedor().getEstado(), 40, 657, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel: " + ped.getProveedorByIdProveedor().getTel1(), 40, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel:", 40, 647, 0); if (ped.getProveedorByIdProveedor().getTel1() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto: " + ped.getProveedorByIdProveedor().getRepresentante(), 40, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto:", 40, 637, 0); if (ped.getProveedorByIdProveedor().getEmail() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: " + ped.getProveedorByIdProveedor().getEmail(), 40, 627, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: ", 40, 627, 0); //**********************datos de facturacion***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DE FACTURACIN", 250, 697, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getNombre(), 220, 687, 0); if (ped.getProveedorByIdEmpresa().getDireccion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ped.getProveedorByIdEmpresa().getDireccion(), 220, 677, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 220, 677, 0); if (ped.getProveedorByIdEmpresa().getColonia() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col: " + ped.getProveedorByIdEmpresa().getColonia(), 220, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 220, 667, 0); if (ped.getProveedorByIdEmpresa().getPoblacion() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob: " + ped.getProveedorByIdEmpresa().getPoblacion(), 220, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 220, 657, 0); if (ped.getProveedorByIdEmpresa().getCp() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP: " + ped.getProveedorByIdEmpresa().getCp(), 220, 647, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 220, 647, 0); if (ped.getProveedorByIdEmpresa().getRfc() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC: " + ped.getProveedorByIdEmpresa().getRfc(), 220, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 220, 537, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS LA UNIDAD", 450, 697, 0); if (ped.getPartida() == null) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ped.getOrdenExterna().getIdOrden(), 410, 687, 0); if (ped.getOrdenExterna().getTipo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ped.getOrdenExterna().getTipo().getTipoNombre(), 410, 677, 0); /*if(ped.getOrdenExterna().getNoSerie()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: "+ped.getOrdenExterna().getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0);*/ if (ped.getOrdenExterna().getModelo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ped.getOrdenExterna().getModelo(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: ", 410, 667, 0); if (ped.getOrdenExterna().getCompania() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ped.getOrdenExterna().getCompania().getNombre(), 410, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: ", 410, 657, 0); if (ped.getOrdenExterna().getAsegurado() != null) { String clien = ped.getOrdenExterna().getAsegurado(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:" + clien, 410, 647, 0); } else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:", 410, 647, 0); if (ped.getOrdenExterna().getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ped.getOrdenExterna().getSiniestro(), 410, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 637, 0); } else { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ped.getPartida().getOrdenByIdOrden().getIdOrden(), 410, 687, 0); if (ped.getPartida().getOrdenByIdOrden().getTipo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ped.getPartida().getOrdenByIdOrden().getTipo().getTipoNombre(), 410, 677, 0); /*if(ped.getOrdenExterna().getNoSerie()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: "+ped.getOrdenExterna().getNoSerie(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0);*/ if (ped.getPartida().getOrdenByIdOrden().getModelo() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ped.getPartida().getOrdenByIdOrden().getModelo(), 410, 667, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: ", 410, 667, 0); if (ped.getPartida().getOrdenByIdOrden().getCompania() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: " + ped.getPartida().getOrdenByIdOrden().getCompania().getNombre(), 410, 657, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Compaa: ", 410, 657, 0); if (ped.getPartida().getOrdenByIdOrden().getClientes() != null) { String clien = ped.getPartida().getOrdenByIdOrden().getClientes().getNombre(); if (clien.length() > 25) clien = clien.substring(0, 25); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:" + clien, 410, 647, 0); } else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Asegurado:", 410, 647, 0); if (ped.getPartida().getOrdenByIdOrden().getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ped.getPartida().getOrdenByIdOrden().getSiniestro(), 410, 637, 0); else reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 637, 0); } reporte.contenido.setColorFill(BaseColor.BLACK); /*reporte.contenido.roundRectangle(50, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Solicita", 120, 10, 0); reporte.contenido.roundRectangle(370, 20, 180, 1, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Autoriza", 440, 10, 0);*/ reporte.finTexto(); reporte.contenido.setFontAndSize(bf, 12); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Part P.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Costo C/U", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } private void cabeceraPre(PDF reporte, BaseFont bf, PdfPTable tabla) { reporte.contenido.setLineWidth(0.5f); //reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 660, 543, 40, 5);//cuadro cliente reporte.contenido.roundRectangle(35, 618, 543, 40, 5);//cuadro unidad //reporte.contenido.roundRectangle(35, 600, 543, 14, 5);//cuadro cabecera tabla reporte.contenido.roundRectangle(353, 738, 223, 10, 0);//cuadro fecha reporte.contenido.roundRectangle(353, 728, 223, 10, 0);//cuadro F.Fiscal reporte.contenido.roundRectangle(353, 718, 223, 10, 0);//cuadro C. SAT reporte.contenido.roundRectangle(353, 708, 223, 10, 0);//cuadro C. Emisor Configuracion con = (Configuracion) session.get(Configuracion.class, 1); reporte.inicioTexto(); reporte.agregaObjeto(reporte.crearImagen("imagenes/factura300115.jpg", 00, -32, 40)); reporte.contenido.setFontAndSize(bf, 10); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "FACTURA", 520, 765, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "", 520, 755, 0); reporte.contenido.setFontAndSize(bf, 8); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:", 425, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 430, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Folio Fiscal:", 425, 730, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Certificado SAT:", 425, 720, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Certificado Emisor:", 425, 710, 0); reporte.contenido.setFontAndSize(bf, 6); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "2a. DE LA CADENA S/N COL. SAN PEDRO TOTOLTEPEC MEXICO CP 50200", 40, 702, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tel. (01 722) 199-24- 04", 570, 702, 0); ord = (Orden) session.get(Orden.class, ord.getIdOrden()); reporte.contenido.setFontAndSize(bf, 8); //************************datos del cliente**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Cliente: ", 80, 692, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Direccion: ", 80, 682, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Ciudad: ", 80, 672, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "R.F.C.: ", 80, 662, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Marca: ", 80, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tipo: ", 80, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "No. Serie: ", 80, 630, 0); //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "asegurado: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Modelo: ", 350, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Placas: ", 350, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Poliza: ", 350, 630, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Km: ", 350, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Sinisestro: ", 490, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "INC: ", 490, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Reporte: ", 490, 630, 0); if (factura == null) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getMarca().getMarcaNombre(), 80, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getTipo().getTipoNombre(), 80, 640, 0); if (ord.getNoSerie() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoSerie(), 80, 630, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "" + ord.getModelo(), 350, 650, 0); if (ord.getNoPlacas() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoPlacas(), 350, 640, 0); if (ord.getPoliza() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getPoliza(), 350, 630, 0); if (ord.getTipoCliente().compareTo("2") == 0 || ord.getTipoCliente().compareTo("3") == 0) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tercero: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getClientes().getNombre(), 80, 620, 0); } else { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Asegurado: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getClientes().getNombre(), 80, 620, 0); } if (ord.getKm() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, ord.getKm(), 365, 620, 0); if (ord.getSiniestro() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getSiniestro(), 490, 650, 0); if (ord.getInciso() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getInciso(), 490, 640, 0); if (ord.getNoReporte() != null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoReporte(), 490, 630, 0); } reporte.finTexto(); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font_mini = new Font(Font.FontFamily.HELVETICA, 1, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("Cant", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda("U/Med", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda("D E S C R I P C I O N", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell( reporte.celda("Precio c/u", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell( reporte.celda("T O T A L", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda(" ", font_mini, null, centro, 5, 1, Rectangle.BOTTOM)); } public void factura() { h = new Herramientas(usr, 0); h.session(sessionPrograma); session = HibernateUtil.getSessionFactory().openSession(); factura = (Factura) session.get(Factura.class, factura.getIdFactura()); String ruta = ""; try { ruta = ""; FileReader f = new FileReader("config.txt"); BufferedReader b = new BufferedReader(f); if ((ruta = b.readLine()) == null) ruta = ""; b.close(); } catch (IOException e) { e.printStackTrace(); } try { DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.000"); formatoPorcentaje.setMinimumFractionDigits(2); 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(ruta + "xml-timbrados/"); folder.mkdirs(); String fi = "xml-timbrados/" + factura.getRfcEmisor() + "_" + factura.getSerie() + "_" + factura.getFolio() + "_" + factura.getRfcReceptor() + ".pdf"; reporte.Abrir(PageSize.LETTER, "Pedido", "xml-timbrados/" + factura.getRfcEmisor() + "_" + factura.getSerie() + "_" + factura.getFolio() + "_" + factura.getRfcReceptor() + ".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; float tam[] = new float[] { 40, 40, 350, 70, 70 }; PdfPTable tabla = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT); this.cabeceraFac(reporte, bf, tabla, factura); Concepto[] concepto = (Concepto[]) session.createCriteria(Concepto.class) .add(Restrictions.eq("factura.idFactura", factura.getIdFactura())) .addOrder(Order.asc("idConcepto")).list().toArray(new Concepto[0]); int ren = 0; double total = 0.0; if (concepto.length > 0) { for (int i = 0; i < concepto.length; i++) { tabla.addCell( reporte.celda("" + concepto[i].getCantidad(), font, contenido, derecha, 0, 1, 12)); tabla.addCell(reporte.celda(concepto[i].getMedida(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda(concepto[i].getDescripcion().toUpperCase(), font, contenido, izquierda, 0, 1, 12)); tabla.addCell(reporte.celda("" + formatoPorcentaje.format(concepto[i].getPrecio()), font, contenido, derecha, 0, 1, 12)); double tot = concepto[i].getPrecio() * concepto[i].getCantidad(); total += tot; tabla.addCell( reporte.celda("" + formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1, 12)); } } PdfPTable tabla1 = reporte.crearTabla(5, tam, 100, Element.ALIGN_LEFT); tabla1.addCell(reporte.celda("Metodo de Pago:" + factura.getMetodoPago(), font, contenido, izquierda, 3, 1, Rectangle.TOP)); tabla1.addCell(reporte.celda("SUB-TOTAL:", font, contenido, derecha, 0, 1, Rectangle.TOP + Rectangle.BOTTOM + 12)); tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.TOP + Rectangle.BOTTOM + 12)); tabla1.addCell(reporte.celda( "Lugar de Expedicin: " + factura.getMunicipioEmisor() + ", " + factura.getEstadoEmisor(), font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla1.addCell(reporte.celda("IVA:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); Configuracion con = (Configuracion) session.get(Configuracion.class, 1); double iva = total * (con.getIva() * 0.01); tabla1.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell( reporte.celda("(CANTIDAD CON LETRA)", font, contenido, izquierda, 3, 2, Rectangle.NO_BORDER)); tabla1.addCell(reporte.celda("DEDUCIBLE:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("" + factura.getDeducible(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("TOTAL:", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); total += iva; tabla1.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla1.addCell(reporte.celda("PAGO EN UNA SOLA EXHIBICIN", font, contenido, izquierda, 3, 1, Rectangle.NO_BORDER)); tabla1.addCell( reporte.celda("EFECTOS FISCALES AL PAGO", font, contenido, centro, 2, 1, Rectangle.NO_BORDER)); session.beginTransaction().rollback(); tabla.setHeaderRows(2); reporte.agregaObjeto(tabla); float tam1[] = new float[] { 180, 180, 180, 180 }; PdfPTable tabla2 = reporte.crearTabla(4, tam1, 100, Element.ALIGN_LEFT); tabla2.addCell( reporte.celda(reporte.Imagen("imagenes/rq.png"), contenido, centro, 0, 8, Rectangle.NO_BORDER)); tabla2.addCell(reporte.celda("Regimen Fiscal:REGIMEN GENERAL DE LEY DE PERSONAS MORALES", font, contenido, centro, 3, 1, Rectangle.BOTTOM)); tabla2.addCell(reporte.celda("Sello Digital del SAT:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Sello Digital del Emisor:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Cadena original del complemento de certificacin digital del SAT:", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda(" ", font, contenido, izquierda, 3, 1, 12)); tabla2.addCell(reporte.celda("Este documento es una representacin impresa de un CFDI", font, contenido, izquierda, 3, 1, Rectangle.TOP)); reporte.agregaObjeto(tabla1); reporte.agregaObjeto(tabla2); reporte.cerrar(); reporte.visualizar(fi); } catch (Exception e) { System.out.println(e); e.printStackTrace(); JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto."); } } private void cabeceraFac(PDF reporte, BaseFont bf, PdfPTable tabla, Factura fac) { reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(35, 660, 543, 40, 5);//cuadro cliente reporte.contenido.roundRectangle(35, 618, 543, 40, 5);//cuadro unidad reporte.contenido.roundRectangle(353, 738, 223, 10, 0);//cuadro fecha reporte.contenido.roundRectangle(353, 728, 223, 10, 0);//cuadro F.Fiscal reporte.contenido.roundRectangle(353, 718, 223, 10, 0);//cuadro C. SAT reporte.contenido.roundRectangle(353, 708, 223, 10, 0);//cuadro C. Emisor Configuracion con = (Configuracion) session.get(Configuracion.class, 1); reporte.inicioTexto(); reporte.agregaObjeto(reporte.crearImagen("imagenes/factura300115.jpg", 00, -32, 40)); reporte.contenido.setFontAndSize(bf, 10); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "FACTURA", 520, 765, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, fac.getFolio(), 520, 755, 0); reporte.contenido.setFontAndSize(bf, 8); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Fecha:", 425, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, fac.getFechaFiscal()/*new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())*/, 430, 740, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Folio Fiscal:", 425, 730, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, fac.getFFiscal(), 430, 730, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Certificado SAT:", 425, 720, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Certificado Emisor:", 425, 710, 0); reporte.contenido.setFontAndSize(bf, 6); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "2a. DE LA CADENA S/N COL. SAN PEDRO TOTOLTEPEC MEXICO CP 50200", 40, 702, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tel. (01 722) 199-24- 04", 570, 702, 0); reporte.contenido.setFontAndSize(bf, 8); //************************datos del cliente**************************** DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Cliente: " + fac.getNombreReceptor(), 80, 692, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, fac.getNombreReceptor(), 85, 692, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Direccion: ", 80, 682, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, fac.getCalleReceptor() + " " + fac.getNumeroExteriorReceptor() + " Col:" + fac.getColoniaReceptor(), 85, 682, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Ciudad: ", 80, 672, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, fac.getMunicipioReceptor() + " " + fac.getMunicipioReceptor(), 85, 672, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "R.F.C.: ", 80, 662, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, fac.getRfcReceptor(), 85, 662, 0); //**********************datos de la unidad***************************** reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Marca: ", 80, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tipo: ", 80, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "No. Serie: ", 80, 630, 0); //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "asegurado: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Modelo: ", 350, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Placas: ", 350, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Poliza: ", 350, 630, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Km: ", 350, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Sinisestro: ", 490, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "INC: ", 490, 640, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Reporte: ", 490, 630, 0); /*if(factura==null) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getMarca().getMarcaNombre(), 80, 650, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getTipo().getTipoNombre(), 80, 640, 0); if(ord.getNoSerie()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoSerie(), 80, 630, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ""+ord.getModelo(), 350, 650, 0); if(ord.getNoPlacas()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoPlacas(), 350, 640, 0); if(ord.getPoliza()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getPoliza(), 350, 630, 0); if(ord.getTipoCliente().compareTo("2")==0 || ord.getTipoCliente().compareTo("3")==0) { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Tercero: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getClientes().getNombre(), 80, 620, 0); } else { reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Asegurado: ", 80, 620, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getClientes().getNombre(), 80, 620, 0); } if(ord.getKm()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, ord.getKm(), 365, 620, 0); if(ord.getSiniestro()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getSiniestro(), 490, 650, 0); if(ord.getInciso()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getInciso(), 490, 640, 0); if(ord.getNoReporte()!=null) reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, ord.getNoReporte(), 490, 630, 0); }*/ reporte.finTexto(); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD); Font font_mini = new Font(Font.FontFamily.HELVETICA, 1, Font.BOLD); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("Cant", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda("U/Med", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda("D E S C R I P C I O N", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell( reporte.celda("Precio c/u", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell( reporte.celda("T O T A L", font, contenido, centro, 0, 1, Rectangle.RECTANGLE + Rectangle.TOP)); tabla.addCell(reporte.celda(" ", font_mini, null, centro, 5, 1, Rectangle.BOTTOM)); } }