List of usage examples for com.itextpdf.text Rectangle NO_BORDER
int NO_BORDER
To view the source code for com.itextpdf.text Rectangle NO_BORDER.
Click Source Link
From source file:com.vimbox.hr.LicensePDFGenerator.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from w ww .j ava 2 s .c o m * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/pdf"); String fileName = request.getParameter("license_name"); String ext = fileName.substring(fileName.lastIndexOf(".") + 1); String path = System.getProperty("user.dir") + "/documents/licenses/" + fileName; path = path.replaceAll("%20", " "); if (ext.equalsIgnoreCase("pdf")) { FileInputStream baos = new FileInputStream(path); OutputStream os = response.getOutputStream(); byte buffer[] = new byte[8192]; int bytesRead; while ((bytesRead = baos.read(buffer)) != -1) { os.write(buffer, 0, bytesRead); } os.flush(); os.close(); } else { try { // Document Settings // Document document = new Document(); PdfWriter.getInstance(document, response.getOutputStream()); document.open(); // Loading MC // PdfPTable table = new PdfPTable(1); table.setWidthPercentage(100); // the cell object PdfPCell cell; Image img = Image.getInstance(path); int indentation = 0; float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin() - indentation) / img.getWidth()) * 100; img.scalePercent(scaler); //img.scaleAbsolute(80f, 80f); cell = new PdfPCell(img); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); document.add(table); //-----------------------------------// document.close(); } catch (DocumentException de) { throw new IOException(de.getMessage()); } } }
From source file:com.xumpy.itext.services.HeaderFooter.java
@Override public void onEndPage(PdfWriter writer, Document document) { PdfPTable header = new PdfPTable(3); try {/*from w ww.ja va 2 s. c o m*/ header.setWidths(new int[] { 24, 24, 24 }); header.setTotalWidth(527); header.setLockedWidth(true); header.getDefaultCell().setFixedHeight(20); header.getDefaultCell().setBorder(Rectangle.BOTTOM); for (PdfPCell cell : tableHeader) { cell.setBorder(Rectangle.NO_BORDER); header.addCell(cell); } header.writeSelectedRows(0, -1, 60, 803, writer.getDirectContent()); } catch (DocumentException ex) { Logger.getLogger(HeaderFooter.class.getName()).log(Level.SEVERE, null, ex); } PdfPTable footer = new PdfPTable(3); try { footer.setWidths(new int[] { 24, 24, 24 }); footer.setTotalWidth(527); footer.setLockedWidth(true); footer.getDefaultCell().setFixedHeight(20); footer.getDefaultCell().setBorder(Rectangle.BOTTOM); for (PdfPCell cell : tableFooter) { cell.setBorder(Rectangle.NO_BORDER); footer.addCell(cell); } footer.writeSelectedRows(0, -1, 60, 200, writer.getDirectContent()); } catch (DocumentException ex) { Logger.getLogger(HeaderFooter.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:comisionesafis.informes.CintaComisiones.java
public boolean generar() { // Abrimos el fichero de comisiones String sSQL = ""; Statement stmt;/*from w w w.j ava2 s .c o m*/ ResultSet rsComisiones; ResultSet rsBanco; String cuenta; // Generamos la sentencia de Seleccin de Datos try { // Generamos el PDF Document documento = new Document(PageSize.A4, 80, 80, 50, 50); FileOutputStream salida = new FileOutputStream(FICHERO_PDF); PdfWriter writer = PdfWriter.getInstance(documento, salida); writer.setInitialLeading(0); // Obtenemos una instancia de nuestro manejador de eventos CintaComisionesPie pie = new CintaComisionesPie(); //Asignamos el manejador de eventos al escritor. writer.setPageEvent(pie); // Abrimos el Documento documento.open(); sSQL = "SELECT * "; sSQL += " FROM ResumenComisiones"; sSQL += " ORDER BY CodAgente"; stmt = conexion.createStatement(); rsComisiones = stmt.executeQuery(sSQL); Paragraph Titulo = new Paragraph(); Titulo.setAlignment(Element.ALIGN_CENTER); Titulo.add("CINTA COMISIONES"); float[] anchuras = { 1f, 1.5f, 3f, 4f, 1f, 1.5f }; PdfPTable table = new PdfPTable(anchuras); table.setWidthPercentage(100); table.setSpacingBefore(15f); table.setSpacingAfter(10f); PdfPCell celda; // Tipo de letra para la tabla Font font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("Agente", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase("Importe", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase("Cuenta Bancaria", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase("Nombre", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase("Irpf", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase("Total", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); while (rsComisiones.next()) { // Buscamos la Cuenta Bancaria sSQL = "SELECT * "; sSQL += " FROM Agentes"; sSQL += " WHERE CodAgente='" + rsComisiones.getString("CodAgente") + "'"; stmt = conexion.createStatement(); rsBanco = stmt.executeQuery(sSQL); if (!rsBanco.next()) { cuenta = " "; } else { cuenta = rsBanco.getString("Banco"); cuenta += rsBanco.getString("Sucursal"); cuenta += rsBanco.getString("DC"); cuenta += rsBanco.getString("Cuenta"); } // Datos del agente celda = new PdfPCell(new Phrase(rsComisiones.getString("CodAgente"), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase( Numeros.formateaDosDecimales(Double.parseDouble(rsComisiones.getString("TotalComisiones"))), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase(cuenta, font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(celda); celda = new PdfPCell(new Phrase(rsComisiones.getString("Nombre"), font)); celda.setBorder(Rectangle.NO_BORDER); table.addCell(celda); celda = new PdfPCell(new Phrase( Numeros.formateaDosDecimales(Double.parseDouble(rsComisiones.getString("TotalRetencion"))), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase( Numeros.formateaDosDecimales(Double.parseDouble(rsComisiones.getString("TotalPagar"))), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); } documento.add(Titulo); documento.add(new Paragraph(" ")); // Agregamos la tabla al documento documento.add(table); documento.close(); return true; } catch (Exception e) { return false; } }
From source file:comisionesafis.informes.FacturasComisionesAgentes.java
public boolean generar() { // Abrimos el fichero de comisiones Periodos periodos = new Periodos(pb.getFicheroComisiones()); String sSQL = ""; Statement stmt;/*ww w .ja va 2 s .co m*/ ResultSet rsComisiones; String sFactura1; String sFactura2; // Generamos la sentencia de Seleccin de Datos try { // Generamos el PDF Document documento = new Document(PageSize.A4, 80, 80, 50, 50); FileOutputStream salida = new FileOutputStream("FacturasComisionesAgentes.pdf"); PdfWriter writer = PdfWriter.getInstance(documento, salida); writer.setInitialLeading(0); // Obtenemos una instancia de nuestro manejador de eventos FacturasComisionesAgentesPie pie = new FacturasComisionesAgentesPie(); //Asignamos el manejador de eventos al escritor. writer.setPageEvent(pie); // Abrimos el Documento documento.open(); sSQL = "SELECT * "; sSQL += " FROM ResumenComisiones"; sSQL += " ORDER BY CodAgente"; stmt = conexion.createStatement(); rsComisiones = stmt.executeQuery(sSQL); while (rsComisiones.next()) { // Generamos los prrafos // Datos del agente Paragraph pAgente[] = new Paragraph[5]; pAgente[0] = new Paragraph(); pAgente[0].add(rsComisiones.getString("Nombre")); pAgente[0].setAlignment(Paragraph.ALIGN_LEFT); pAgente[1] = new Paragraph(); pAgente[1].add(rsComisiones.getString("Direccion")); pAgente[1].setAlignment(Paragraph.ALIGN_LEFT); pAgente[2] = new Paragraph(); pAgente[2].add(rsComisiones.getString("CodPostal") + " " + rsComisiones.getString("Poblacion")); pAgente[2].setAlignment(Paragraph.ALIGN_LEFT); pAgente[3] = new Paragraph(); pAgente[3].add(rsComisiones.getString("Provincia")); pAgente[3].setAlignment(Paragraph.ALIGN_LEFT); pAgente[4] = new Paragraph(); pAgente[4].add(rsComisiones.getString("NIF")); pAgente[4].setAlignment(Paragraph.ALIGN_LEFT); // creating separators LineSeparator separador = new LineSeparator(1, 100, null, Element.ALIGN_CENTER, -2); // Datos fijos Paragraph pPelayo[] = new Paragraph[5]; pPelayo[0] = new Paragraph(); pPelayo[0].add("PELAYO VIDA"); pPelayo[0].setAlignment(Paragraph.ALIGN_RIGHT); pPelayo[1] = new Paragraph(); pPelayo[1].add("CL SANTA ENGRACIA 69"); pPelayo[1].setAlignment(Paragraph.ALIGN_RIGHT); pPelayo[2] = new Paragraph(); pPelayo[2].add("28010 MADRID"); pPelayo[2].setAlignment(Paragraph.ALIGN_RIGHT); pPelayo[3] = new Paragraph(); pPelayo[3].add("MADRID"); pPelayo[3].setAlignment(Paragraph.ALIGN_RIGHT); pPelayo[4] = new Paragraph(); pPelayo[4].add("06422"); pPelayo[4].setAlignment(Paragraph.ALIGN_RIGHT); // Fecha Paragraph pFecha = new Paragraph(); pFecha = new Paragraph("Madrid, a " + periodos.extraeFechaLarga()); pFecha.setAlignment(Paragraph.ALIGN_RIGHT); // Lnea 1 de FACTURA Paragraph pFactura1 = new Paragraph(); sFactura1 = "FACTURA: n factura "; sFactura1 += rsComisiones.getString("CodAgente") + " - "; sFactura1 += periodos.extraePeriodoMY("MM-YYYY"); pFactura1 = new Paragraph(sFactura1); // Lnea 2 de FACTURA Paragraph pFactura2 = new Paragraph(); sFactura2 = "Factura por la prestacin de servicios relativos a las operaciones "; sFactura2 += "de intermediacin de seguros realizadas para su entidad del mes de "; sFactura2 += periodos.extraePeriodoMY("MM YYYY"); ; pFactura2 = new Paragraph(sFactura2); // Datos Econmicos float[] anchuras = { 5f, 2f }; PdfPTable table = new PdfPTable(anchuras); table.getDefaultCell().setBorder(0); // Tipo de letra para la tabla Font font = new Font(Font.FontFamily.COURIER, 11, Font.NORMAL); PdfPCell celda = new PdfPCell(); celda = new PdfPCell(new Phrase("Comisiones pagadas", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell( new Phrase(Double.toString(rsComisiones.getDouble("TotalComisiones")) + " ", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase("Otros conceptos", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell(new Phrase(" ", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase( "Retencin (" + Double.toString(rsComisiones.getDouble("RetencionPorcentaje")) + "%)", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); Double dblRetencion = rsComisiones.getDouble("TotalComisiones") * (rsComisiones.getDouble("RetencionPorcentaje") / 100); celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(dblRetencion) + " ", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase("Conceptos no sujetos", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell(new Phrase(" ", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase("Total a pagar", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); Double dblTotalPagar = rsComisiones.getDouble("TotalComisiones") - dblRetencion; celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(dblTotalPagar) + " ", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); // Literal: Operacin exenta de IVA Paragraph pColetilla = new Paragraph(); pColetilla.add("Operacin exenta de IVA"); // Aadimos los prrafos al Documento for (int i = 0; i < 5; i++) documento.add(pAgente[i]); documento.add(new Paragraph(" ")); documento.add(separador); for (int i = 0; i < 5; i++) documento.add(pPelayo[i]); documento.add(new Paragraph(" ")); documento.add(pFecha); documento.add(new Paragraph(" ")); documento.add(pFactura1); documento.add(separador); documento.add(pFactura2); // Agregamos la tabla al documento documento.add(new Paragraph(" ")); documento.add(table); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); documento.add(pColetilla); documento.newPage(); } documento.close(); return true; } catch (Exception e) { return false; } }
From source file:comisionesafis.informes.LiquidacionComisiones.java
public boolean generar() { // Abrimos el fichero de comisiones String sSQL = ""; Statement stmt;/*from w w w . ja va2s. c o m*/ ResultSet rsAgentes; ResultSet rsRecibos; PdfPCell celda; boolean cabeceraColumnas; int filasPorPagina = 0; int fila = 0; PdfPTable table; Double dblTotal = 0.0; // Generamos la sentencia de Seleccin de Datos try { // Generamos el PDF Document documento = new Document(PageSize.A4, 80, 80, 50, 50); FileOutputStream salida = new FileOutputStream("LiquidacionComisiones.pdf"); PdfWriter writer = PdfWriter.getInstance(documento, salida); writer.setInitialLeading(0); // Obtenemos una instancia de nuestro manejador de eventos LiquidacionComisionesPie pie = new LiquidacionComisionesPie(); //Asignamos el manejador de eventos al escritor. writer.setPageEvent(pie); // Abrimos el Documento documento.open(); // SELECT para extraer todos los cdigos de los agentes con Recibos sSQL = "SELECT DISTINCT (CodAgente) AS Agente "; sSQL += " FROM ResumenComisiones"; sSQL += " ORDER BY CodAgente"; stmt = conexion.createStatement(); rsAgentes = stmt.executeQuery(sSQL); while (rsAgentes.next()) { if (sumaComisiones(rsAgentes.getString("Agente")) != 0) { paginaNum = 0; printCabecera1(documento); printCabeceraPelayo(documento); printCabecera2(documento, rsAgentes); // SELECT para extraer todos los Recibos de un agente sSQL = "SELECT * "; sSQL += " FROM Recibos"; sSQL += " WHERE CodAgente = '" + rsAgentes.getString("Agente") + "'"; stmt = conexion.createStatement(); rsRecibos = stmt.executeQuery(sSQL); // if(rsAgentes.getString("Agente").equals("10803")){ // System.out.println(""); // } // Creamos la tabla formateada table = creaTabla(); cabeceraColumnas = true; filasPorPagina = 42; dblTotal = 0.0; while (rsRecibos.next()) { if (Double.parseDouble(rsRecibos.getString("ImpComision")) != 0) { if (fila >= filasPorPagina) { // Salto de pgina // Imprimimos el contenido de la tabla documento.add(table); documento.newPage(); table = creaTabla(); saltoDePagina(documento, table, rsAgentes); fila = 1; filasPorPagina = 47; } else if (cabeceraColumnas) { // Primera pgina printCabeceraColumnas(table); cabeceraColumnas = false; fila = 1; } Font font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(rsRecibos.getString("NPoliza"), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell( new Phrase(Fechas.fechaVencimiento(rsRecibos.getString("Fecha")), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell(new Phrase(fondoRecibo(rsRecibos.getString("Descripcion")), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(celda); celda = new PdfPCell(new Phrase(rsRecibos.getString("Importe"), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales( Double.parseDouble(rsRecibos.getString("ImpComision"))), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(celda); dblTotal += Double.parseDouble(rsRecibos.getString("ImpComision")); fila++; } } if (fila >= filasPorPagina - 5) { documento.add(table); documento.newPage(); table = creaTabla(); } printResumenContable(table, dblTotal, rsAgentes.getString("Agente")); documento.add(table); documento.newPage(); } } documento.close(); return true; } catch (Exception e) { return false; } }
From source file:comisionesafis.informes.LiquidacionComisiones.java
private void printCabecera2(Document documento, ResultSet rsAgentes) { String sSQL = ""; Statement stmt;//from w w w . j a v a 2 s. co m ResultSet rsDatosAgente; try { // SELECT para extraer todos los cdigos de los agentes con Recibos sSQL = "SELECT * "; sSQL += " FROM Agentes"; sSQL += " WHERE CodAgente='" + rsAgentes.getString("Agente") + "'"; stmt = conexion.createStatement(); rsDatosAgente = stmt.executeQuery(sSQL); if (!rsDatosAgente.next()) { // Este error no debera darse System.out.println("Error: No hay datos para el agente " + rsAgentes.getString("Agente")); return; } // Generamos la cabecera //Font fuenteCabecera = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); float[] anchuras = { 3f, 1f, 5f }; PdfPTable table1 = new PdfPTable(anchuras); // Tipo de letra para la tabla Font font = new Font(Font.FontFamily.COURIER, 9, Font.NORMAL); PdfPCell celda = new PdfPCell(); // Sucursal/Delegacin celda = new PdfPCell(new Phrase("SUCURSAL/DELEGACIN", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); celda = new PdfPCell(new Phrase("02", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); celda = new PdfPCell(new Phrase("PELAYO MONDIALE VIDA", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); // No tenemos estos datos. Me pide Fernando que los quite // // Inspeccin // celda = new PdfPCell(new Phrase("INSPECCIN",font)); // celda.setBorder(Rectangle.NO_BORDER); // celda.setHorizontalAlignment(Element.ALIGN_LEFT); // table1.addCell(celda); // // celda = new PdfPCell(new Phrase("000001",font)); // celda.setBorder(Rectangle.NO_BORDER); // celda.setHorizontalAlignment(Element.ALIGN_LEFT); // table1.addCell(celda); // // celda = new PdfPCell(new Phrase("ACUERDO DE DISTRIBUCIN",font)); // celda.setBorder(Rectangle.NO_BORDER); // celda.setHorizontalAlignment(Element.ALIGN_LEFT); // table1.addCell(celda); // Agente celda = new PdfPCell(new Phrase("AGENTE", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); celda = new PdfPCell(new Phrase(rsDatosAgente.getString("CodAgente"), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); celda = new PdfPCell(new Phrase(rsDatosAgente.getString("Nombre"), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(celda); documento.add(table1); } catch (Exception e) { System.out.println(e.getMessage()); } }
From source file:comisionesafis.informes.LiquidacionComisiones.java
private void printResumenContable(PdfPTable tabla, Double total, String codAgente) { ResultSet rsAgente;/*from ww w . jav a 2 s .c o m*/ Statement stmt; String sSQL = ""; Double retencion; Double liquido; String patron = "dd/MM/yyyy"; SimpleDateFormat formato = new SimpleDateFormat(patron); String fecha = (formato.format(new Date())); String cuenta; try { // SELECT para extraer todos los cdigos de los agentes con Recibos sSQL = "SELECT * "; sSQL += " FROM Agentes"; sSQL += " WHERE CodAgente ='" + codAgente + "'"; stmt = conexion.createStatement(); rsAgente = stmt.executeQuery(sSQL); PdfPCell celda; Font font; // Primera fila de datos font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(" ", font)); celda.setColspan(3); celda.setBorder(Rectangle.TOP); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("TOTAL ", font)); celda.setBorder(Rectangle.TOP); celda.setHorizontalAlignment(Element.ALIGN_LEFT); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(total), font)); celda.setBorder(Rectangle.TOP); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); tabla.addCell(celda); // Segunda fila de datos font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(" ", font)); celda.setColspan(3); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("I.R.P.F. " + rsAgente.getString("RetencionPorcentaje") + "%", font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_LEFT); tabla.addCell(celda); retencion = total * (Double.parseDouble(rsAgente.getString("RetencionPorcentaje")) / 100); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(retencion), font)); celda.setBorder(Rectangle.NO_BORDER); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); tabla.addCell(celda); // Tercera fila de datos font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(" ", font)); celda.setColspan(3); celda.setBorder(Rectangle.BOTTOM); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("L?QUIDO ", font)); celda.setBorder(Rectangle.BOTTOM); celda.setHorizontalAlignment(Element.ALIGN_LEFT); tabla.addCell(celda); liquido = total - retencion; font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(Numeros.formateaDosDecimales(liquido), font)); celda.setBorder(Rectangle.BOTTOM); celda.setHorizontalAlignment(Element.ALIGN_RIGHT); tabla.addCell(celda); // Cuenta cuenta = rsAgente.getString("Banco") + " "; cuenta += rsAgente.getString("Sucursal") + " "; cuenta += rsAgente.getString("DC") + " "; cuenta += rsAgente.getString("Cuenta") + " "; font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("CTA n " + cuenta, font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); // Firma font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("En Madrid a " + fecha, font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("V.Bo. ", font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(" ", font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase(" ", font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); font = new Font(Font.FontFamily.COURIER, 8, Font.NORMAL); celda = new PdfPCell(new Phrase("PELAYO VIDA", font)); celda.setColspan(5); celda.setBorder(Rectangle.NO_BORDER); tabla.addCell(celda); } catch (Exception e) { System.out.println(e.getMessage()); } }
From source file:Compras.avanceSurtido.java
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed // TODO add your handling code here: try {//from w ww. ja v a 2 s . c o m File archivoPDF = null; javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser(); jF1.setFileFilter(new ExtensionFileFilter("Adobe document (*.pdf)", new String[] { "pdf" })); String ruta = null; if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) { ruta = jF1.getSelectedFile().getAbsolutePath(); DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00"); formatoPorcentaje.setMinimumFractionDigits(2); if (ruta != null) { if (ruta.substring(ruta.length() - 4, ruta.length()).compareTo(".pdf") == 0) archivoPDF = new File(ruta); else archivoPDF = new File(ruta + ".pdf"); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); //Orden ord=buscaApertura(); PDF reporte = new PDF(); reporte.Abrir2(PageSize.LEGAL.rotate(), "Avance de Pedidos", archivoPDF.getAbsolutePath()); reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 00, -32, 17)); reporte.contenido.setLineWidth(0.5f); reporte.contenido.setColorStroke(new GrayColor(0.2f)); reporte.contenido.setColorFill(new GrayColor(0.9f)); reporte.contenido.roundRectangle(30, 535, 945, 60, 5); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction().begin(); 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_CENTER, con.getEmpresa(), 505, 580, 0); reporte.contenido.setFontAndSize(bf, 8); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "HOLAJATERIA Y PINTURA EN GENERAL", 505, 567, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMPRA Y VENTA DE REFACCIONES", 505, 557, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "Avance de Pedidos de la orden: " + ord.getIdOrden(), 505, 537, 0); reporte.finTexto(); //agregamos renglones vacios para dejar un espacio reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); reporte.agregaObjeto(new Paragraph(" ")); float tam[] = new float[] { 25, 25, 190, 7, 7, 7, 7, 20, 30, 20, 100, 20, 30, 20, 60, 50, 30, 70, 35, 30, 30, 30, 7 }; com.itextpdf.text.Font font = new com.itextpdf.text.Font( com.itextpdf.text.Font.FontFamily.HELVETICA, 6, com.itextpdf.text.Font.BOLD); PdfPTable tabla = reporte.crearTabla(tam.length, tam, 100, Element.ALIGN_LEFT); 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("No", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Hoj", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Mec", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Sus", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Ele", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Can", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Fol", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Codigo", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Ori", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Prov", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Cant. c.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$C/U Comp", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Plazo", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Pedido", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("F. Pedido", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Ent.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Dev.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("Pend.", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("No Factura", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("OK", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); session.close(); //for de renflones double sum = 0.0d; for (int ren = 0; ren < t_datos.getRowCount(); ren++) { sum += (Double.parseDouble(t_datos.getValueAt(ren, 14).toString()) * Double.parseDouble(t_datos.getValueAt(ren, 15).toString())); for (int col = 1; col < t_datos.getColumnCount(); col++) { if (col > 3 && col < 8 || col == 23) { if ((boolean) t_datos.getValueAt(ren, col) == true) tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } else { if (t_datos.getValueAt(ren, col) != null) { if (col == 14 || col == 15 || col == 19 || col == 20 || col == 21) { if (col == 15) { tabla.addCell(reporte.celda( formatoPorcentaje.format(Double .parseDouble(t_datos.getValueAt(ren, col).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else tabla.addCell(reporte.celda(t_datos.getValueAt(ren, col).toString(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(ren, col).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } } else tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } } } tabla.addCell( reporte.celda("Importe Total:", font, contenido, derecha, 14, 1, Rectangle.NO_BORDER)); tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("", font, contenido, izquierda, 14, 1, Rectangle.NO_BORDER)); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar2(archivoPDF.getAbsolutePath()); } } } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto."); } }
From source file:Compras.Conciliacion.java
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed // TODO add your handling code here: try {//from w w w . j a v a2 s. c om javax.swing.JFileChooser archivo = new javax.swing.JFileChooser(); archivo.setFileFilter(new ExtensionFileFilter("pdf document (*.pdf)", new String[] { "PDF" })); String ruta = null; if (archivo.showSaveDialog(null) == archivo.APPROVE_OPTION) { ruta = archivo.getSelectedFile().getAbsolutePath(); if (ruta != null) { Session session = HibernateUtil.getSessionFactory().openSession(); ArrayList datos = new ArrayList(); Query query = session.createSQLQuery( "select compania.nombre, orden.tipo_nombre, orden.modelo, orden.no_serie, clientes.nombre as nombres,orden.id_orden \n" + "from orden inner join compania on compania.id_compania=orden.id_compania inner join clientes on clientes.id_clientes=orden.id_cliente\n" + "where orden.id_orden=" + Integer.parseInt(orden) + ""); query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); datos = (ArrayList) query.list(); // PDF reporte = new PDF(); reporte.Abrir2(PageSize.LEGAL.rotate(), "CONCILIACIN", ruta + ".pdf"); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); float[] nuevos = new float[] { 40, 40, 25, 40, 145, 20, 50, 50, 50, 50, 50, 50, 100, 50, 20 }; com.itextpdf.text.Font font = new com.itextpdf.text.Font( com.itextpdf.text.Font.FontFamily.HELVETICA, 7, com.itextpdf.text.Font.NORMAL); com.itextpdf.text.Font font1 = new com.itextpdf.text.Font( com.itextpdf.text.Font.FontFamily.HELVETICA, 7, com.itextpdf.text.Font.NORMAL); BaseColor contenido = BaseColor.WHITE; BaseColor contenido1 = BaseColor.DARK_GRAY; int centro = com.itextpdf.text.Element.ALIGN_CENTER; int izquierda = com.itextpdf.text.Element.ALIGN_LEFT; int derecha = com.itextpdf.text.Element.ALIGN_RIGHT; reporte.inicioTexto(); reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 730, -90, 45)); reporte.contenido.setFontAndSize(bf, 20); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "CONCILIACIN PARA FACTURACIN", 395, 577, 0); reporte.contenido.setFontAndSize(bf, 12); reporte.contenido.setColorFill(BaseColor.BLACK); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "COMPAIA:", 38, 540, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "TIPO DE UNIDAD:", 38, 520, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "MODELO:", 38, 500, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "SERIE VIN:", 38, 480, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CLIENTE:", 38, 460, 0); reporte.contenido.roundRectangle(170, 540, 410, 0, 0); reporte.contenido.roundRectangle(170, 520, 410, 0, 0); reporte.contenido.roundRectangle(170, 500, 410, 0, 0); reporte.contenido.roundRectangle(170, 480, 410, 0, 0); reporte.contenido.roundRectangle(170, 460, 410, 0, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE TRABAJO SET.", 605, 540, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ORDEN DE SURTIDO", 620, 480, 0); for (int i = 0; i < datos.size(); i++) { java.util.HashMap map = (java.util.HashMap) datos.get(i); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("nombre").toString(), 171, 540, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("tipo_nombre").toString(), 171, 520, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("modelo").toString(), 171, 500, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("no_serie").toString(), 171, 480, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("nombres").toString(), 171, 460, 0); reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, map.get("id_orden").toString(), 657, 520, 0); //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, " ", 645, 460, 0); } reporte.contenido.roundRectangle(640, 520, 80, 0, 0); reporte.contenido.roundRectangle(640, 460, 80, 0, 0); reporte.finTexto(); 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(" ")); PdfPTable tabla = reporte.crearTabla(nuevos.length, nuevos, 100, Element.ALIGN_CENTER); cabecera(reporte, bf, tabla, "", 2); // DecimalFormat formatoDecimal = new DecimalFormat("####0.0"); DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00"); for (int i = 0; i < t_datos.getRowCount(); i++) { for (int j = 0; j < 4; j++) { int renglon = 0; switch (j) { case 0: renglon = 8; break; case 1: renglon = 10; break; case 2: renglon = 11; break; case 3: renglon = 12; break; } if ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0 && t_datos.getValueAt(i, 9).toString().compareTo("N") == 0) || ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0 && renglon >= 10)) || (renglon == 8 && Double.parseDouble(t_datos.getValueAt(i, 10).toString()) <= 0 && Double.parseDouble(t_datos.getValueAt(i, 11).toString()) <= 0 && Double.parseDouble(t_datos.getValueAt(i, 12).toString()) <= 0)) { if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) contenido = BaseColor.WHITE; else contenido = BaseColor.LIGHT_GRAY; if ((boolean) t_datos.getValueAt(i, 3) == true || (boolean) t_datos.getValueAt(i, 4) == true) { //columna0 if (t_datos.getValueAt(i, 5) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 5).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna1 if (t_datos.getValueAt(i, 6) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 6).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna2 tabla.addCell(reporte.celda(t_datos.getValueAt(i, renglon).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); //columna3 if (t_datos.getValueAt(i, 14) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 14).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna4 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //columna5 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); else { switch (renglon) { case 8: tabla.addCell(reporte.celda("N", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 10: tabla.addCell(reporte.celda("D", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 11: tabla.addCell(reporte.celda("R", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 12: tabla.addCell(reporte.celda("M", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; } } //columna6 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 15)), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna7 $tot aut. double n; n = BigDecimal .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) * Double.parseDouble(t_datos.getValueAt(i, 15).toString())) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna8 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 16)), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna9 $tot com n = BigDecimal .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) * Double.parseDouble(t_datos.getValueAt(i, 16).toString())) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna10 11 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { switch (renglon) { case 8: n = BigDecimal.valueOf( Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 10: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.72d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 11: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 12: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; } } //columna12 if (t_datos.getValueAt(i, 18) == null) { tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 18).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } //columna13 if (t_datos.getValueAt(i, 19) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 19).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna14 tabla.addCell( reporte.celda("V", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } } } } font1.setColor(BaseColor.WHITE); tabla.addCell(reporte.celda("Faltante en Vales", font1, contenido1, centro, 15, 1, Rectangle.RECTANGLE)); for (int i = 0; i < t_datos.getRowCount(); i++) { for (int j = 0; j < 4; j++) { int renglon = 0; switch (j) { case 0: renglon = 8; break; case 1: renglon = 10; break; case 2: renglon = 11; break; case 3: renglon = 12; break; } if ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0 && t_datos.getValueAt(i, 9).toString().compareTo("N") == 0) || ((Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) > 0 && renglon >= 10)) || (renglon == 8 && Double.parseDouble(t_datos.getValueAt(i, 10).toString()) <= 0 && Double.parseDouble(t_datos.getValueAt(i, 11).toString()) <= 0 && Double.parseDouble(t_datos.getValueAt(i, 12).toString()) <= 0)) { System.out.println("entro"); if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) contenido = BaseColor.WHITE; else contenido = BaseColor.LIGHT_GRAY; if ((boolean) t_datos.getValueAt(i, 3) == false && (boolean) t_datos.getValueAt(i, 4) == false && t_datos.getValueAt(i, 5) != null) { //columna0 if (t_datos.getValueAt(i, 5) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 5).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna1 if (t_datos.getValueAt(i, 6) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 6).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna2 tabla.addCell(reporte.celda(t_datos.getValueAt(i, renglon).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); //columna3 if (t_datos.getValueAt(i, 14) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 14).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna4 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); //columna5 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); else { switch (renglon) { case 8: tabla.addCell(reporte.celda("N", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 10: tabla.addCell(reporte.celda("D", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 11: tabla.addCell(reporte.celda("R", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; case 12: tabla.addCell(reporte.celda("M", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); break; } } //columna6 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 15)), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna7 $tot aut. double n; n = BigDecimal .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) * Double.parseDouble(t_datos.getValueAt(i, 15).toString())) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna8 tabla.addCell(reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, 16)), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna9 $tot com n = BigDecimal .valueOf(Double.parseDouble(t_datos.getValueAt(i, renglon).toString()) * Double.parseDouble(t_datos.getValueAt(i, 16).toString())) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); //columna10 11 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { switch (renglon) { case 8: n = BigDecimal.valueOf( Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 10: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.72d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 11: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; case 12: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); tabla.addCell(reporte.celda( formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(formatoPorcentaje.format(n), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); break; } } //columna12 if (t_datos.getValueAt(i, 18) == null) { tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 18).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } //columna13 if (t_datos.getValueAt(i, 19) == null) { tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } else { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 19).toString(), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } //columna14 tabla.addCell( reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); } } } } tabla.addCell(reporte.celda("Total", font, contenido, derecha, 11, 1, Rectangle.NO_BORDER)); tabla.addCell( reporte.celda(formatoPorcentaje.format(Double.parseDouble(total.getValue().toString())), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(" ", font, contenido, centro, 3, 1, Rectangle.NO_BORDER)); tabla.setHeaderRows(1); reporte.agregaObjeto(tabla); reporte.cerrar(); reporte.visualizar2(ruta + ".pdf"); } } } catch (Exception e) { e.printStackTrace(); } }
From source file:Compras.Formatos.java
public void prefactura() { h = new Herramientas(usr, 0); h.session(sessionPrograma);/*from w ww .ja v a 2s . c om*/ 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."); } }