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 Almacen; import Hibernate.Util.HibernateUtil; import Hibernate.entidades.Orden; import Hibernate.entidades.Partida; import Hibernate.entidades.PartidaExterna; import Hibernate.entidades.Usuario; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Element; 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.PdfContentByte; import com.itextpdf.text.pdf.PdfPTable; import java.awt.Color; import java.awt.Desktop; import java.io.File; import java.io.FileOutputStream; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.Vector; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.ListSelectionModel; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.CellStyle; import org.hibernate.Query; import org.hibernate.Session; import Integral.DefaultTableHeaderCellRenderer; import Integral.ExtensionFileFilter; import Integral.FormatoEditor; import Integral.FormatoTabla; import Integral.Herramientas; import Integral.HorizontalBarUI; import Integral.PDF; import Integral.VerticalBarUI; import java.io.FileInputStream; import java.math.BigDecimal; import java.math.RoundingMode; import java.nio.file.CopyOption; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import javax.swing.DefaultCellEditor; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.util.CellRangeAddress; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.hibernate.Criteria; /** * * @author salvador */ public class Conciliacion extends javax.swing.JPanel { /** * Creates new form avanceSurtido */ private String orden; private Usuario user; String sessionPrograma = ""; Herramientas h; int entro = 0, x = 0; String[] columnas = new String[] { "Id", "Tipo", "Descripcion", "Aut", "Val", "N SET", "N Ext.", "C.Aut", "N", "Ori", "D", "R", "M", "Med", "Codigo", "$C/U Aut", "N $C/U", "Factura Tot", "Prov", "N Fact." }; Orden ord; FormatoTabla formato; MyModel model; Class[] types = new Class[] { java.lang.String.class/*Id*/, java.lang.String.class/*Tipo*/, java.lang.String.class/*Descripcion*/, java.lang.Boolean.class/*Aut*/, java.lang.Boolean.class/*Vales*/, java.lang.Integer.class/*N SET*/, java.lang.String.class/*N Ext*/, java.lang.Double.class/*C. Aut*/, java.lang.Double.class/*C. N*/, java.lang.String.class/*Ori*/, java.lang.Double.class/*C. D*/, java.lang.Double.class/*C. R*/, java.lang.Double.class/*C. M*/, java.lang.String.class/*Uni*/, java.lang.String.class/*Cod*/, java.lang.Double.class/*C/U Aut*/, java.lang.Double.class/*N $C/U*/, java.lang.Double.class/*$Factura Tot*/, java.lang.Integer.class/*Prov*/, java.lang.String.class/*N Fact.*/ }; List noPartida; public Conciliacion(String ord, Usuario us, String ses) { initComponents(); scroll.getVerticalScrollBar().setUI(new VerticalBarUI()); scroll.getHorizontalScrollBar().setUI(new HorizontalBarUI()); sessionPrograma = ses; orden = ord; user = us; t_datos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); model = new MyModel(1, columnas, this.types); t_datos.setModel(model); formatoTabla(); formato = new FormatoTabla(); buscaCuentas(); } public void formatoTabla() { TableCellRenderer textNormal = new DefaultTableHeaderCellRenderer(); int no_ren=t_datos.getColumnModel().getColumnCount(); for(int x=0; x<no_ren; x++) { t_datos.getColumnModel().getColumn(x).setHeaderRenderer(textNormal); } tabla_tamaos(); t_datos.setShowVerticalLines(true); t_datos.setShowHorizontalLines(true); t_datos.setDefaultRenderer(String.class, formato); t_datos.setDefaultRenderer(Double.class, formato); t_datos.setDefaultRenderer(Integer.class, formato); t_datos.setDefaultRenderer(Boolean.class, formato); } public void tabla_tamaos() { TableColumnModel col_model = t_datos.getColumnModel(); DefaultTableCellRenderer tcr = new DefaultTableCellRenderer(); tcr.setHorizontalAlignment(SwingConstants.RIGHT); FormatoEditor fe=new FormatoEditor(); t_datos.setDefaultEditor(Double.class, fe); int num_row=t_datos.getColumnCount(); for (int i=0; i<num_row; i++) { TableColumn column = col_model.getColumn(i); switch(i) { case 0://Id column.setPreferredWidth(40); break; case 1://tipo column.setPreferredWidth(10); break; case 2://descripcion column.setPreferredWidth(310); break; case 3://Aut column.setPreferredWidth(10); break; case 4://Vales column.setPreferredWidth(10); break; case 5://No SET column.setPreferredWidth(50); break; case 6://No ext column.setPreferredWidth(50); break; case 7://Cant Aut column.setPreferredWidth(40); break; case 8://Cant N column.setPreferredWidth(40); break; case 9://origen column.setPreferredWidth(10); DefaultCellEditor editor = new DefaultCellEditor(tipo); column.setCellEditor(editor); editor.setClickCountToStart(2); break; case 10://Cant D column.setPreferredWidth(40); break; case 11://Cant R column.setPreferredWidth(40); break; case 12://Cant M column.setPreferredWidth(40); break; case 13://Uni column.setPreferredWidth(30); break; case 14://codigo column.setPreferredWidth(80); break; case 15://Aut C/U column.setPreferredWidth(70); break; case 16://Compra C/U column.setPreferredWidth(70); break; case 17://Factura C/U column.setPreferredWidth(70); break; case 18://Prov column.setPreferredWidth(100); break; case 19://N Factura column.setPreferredWidth(60); break; default: column.setPreferredWidth(17); break; } } JTableHeader header = t_datos.getTableHeader(); header.setBackground(new java.awt.Color(2, 135, 242));//102,102,102 header.setForeground(Color.white); } private void buscaCuentas() { double imp = 0.0; if (orden != null) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); ord = (Orden) session.get(Orden.class, Integer.parseInt(orden)); user = (Usuario) session.get(Usuario.class, user.getIdUsuario()); imp = ord.getCompania().getImporteHora(); Query query = session.createSQLQuery( "select id_partida, partida.tipo, catalogo.nombre, autorizado, facturado, partida.id_pedido as id, pedido.id_externo, Cantidad_aut, cant_pcp, d, r, m, med, id_parte, ori_con, \n" + "Precio_aut_c_u, pcp, proveedor.nombre as prov, (select concat('[',tipo_documento,']',documento) from almacen where tipo_movimiento=1 and operacion in(1, 4) and id_pedido=id order by fecha limit 1) as factura \n" + "from partida inner join catalogo on partida.id_catalogo=catalogo.id_catalogo " + "left join pedido on pedido.id_pedido=partida.id_pedido left join proveedor on pedido.id_proveedor = proveedor.id_proveedor " + "where partida.id_orden=" + ord.getIdOrden() + " and (partida.autorizado=true or partida.facturado=true or partida.id_pedido is not null) order by partida.id_evaluacion, partida.sub_partida desc;"); query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); ArrayList cuentas = (ArrayList) query.list(); Query query2 = session.createSQLQuery( "select id_partida_externa, 'AC'as tipo, descripcion, false, facturado, partida_externa.id_pedido as id, id_externo, 0.0, cantidad, d, r, m, unidad, noParte, ori_con, \n" + "0.0, costo, proveedor.nombre as prov, (select concat('[',tipo_documento,']',documento) from almacen where tipo_movimiento=1 and operacion=3 and id_pedido=id order by fecha limit 1) as factura \n" + "from partida_externa left join pedido on partida_externa.id_pedido=pedido.id_pedido \n" + "inner join proveedor on pedido.id_proveedor= proveedor.id_proveedor where pedido.id_orden=" + ord.getIdOrden() + " order by partida_externa.id_partida_externa"); query2.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); ArrayList cuentas2 = (ArrayList) query2.list(); int renglones = cuentas.size() + cuentas2.size(); model = new MyModel(renglones, columnas, this.types); t_datos.setModel(model); if (cuentas.size() > 0) { noPartida = new ArrayList(); int num_c = cuentas.size(); for (int i = 0; i < num_c; i++) { java.util.HashMap map = (java.util.HashMap) cuentas.get(i); noPartida.add(map.get("id_partida")); model.setValueAt(map.get("id_partida"), i, 0); model.setValueAt(map.get("tipo"), i, 1); model.setValueAt(map.get("nombre"), i, 2); model.setValueAt(map.get("autorizado"), i, 3); model.setValueAt(map.get("facturado"), i, 4); model.setValueAt(map.get("id"), i, 5); model.setValueAt(map.get("id_externo"), i, 6); model.setValueAt(map.get("Cantidad_aut"), i, 7);//cant Aut if (map.get("cant_pcp") != null) model.setValueAt(map.get("cant_pcp"), i, 8);//cant Com else model.setValueAt(0.00d, i, 8);//cant Com model.setValueAt(map.get("ori_con"), i, 9);//origen model.setCeldaEditable(i, 9, true); model.setValueAt(map.get("d"), i, 10);//origen model.setCeldaEditable(i, 10, true); model.setValueAt(map.get("r"), i, 11);//origen model.setCeldaEditable(i, 11, true); model.setValueAt(map.get("m"), i, 12);//origen model.setCeldaEditable(i, 12, true); model.setValueAt(map.get("med"), i, 13); model.setValueAt(map.get("id_parte"), i, 14); model.setValueAt(map.get("Precio_aut_c_u"), i, 15); if (map.get("pcp") != null) model.setValueAt(map.get("pcp"), i, 16);//C/U Com else model.setValueAt(0.00d, i, 16);//C/U Com double suma = 0.0d; if (map.get("ori_con").toString().compareToIgnoreCase("-") != 0) { if (map.get("cant_pcp") != null && map.get("pcp") != null) suma = Double.parseDouble(map.get("cant_pcp").toString()) * (Double.parseDouble(map.get("pcp").toString()) / 0.9d); } if (Double.parseDouble(map.get("d").toString()) > 0) { if (map.get("Precio_aut_c_u") != null) suma += Double.parseDouble(map.get("d").toString()) * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.72d); } if (Double.parseDouble(map.get("r").toString()) > 0) { if (map.get("Precio_aut_c_u") != null) suma += Double.parseDouble(map.get("r").toString()) * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.65d); } if (Double.parseDouble(map.get("m").toString()) > 0) { if (map.get("Precio_aut_c_u") != null) suma += Double.parseDouble(map.get("m").toString()) * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.65d); } model.setValueAt(suma, i, 17); model.setValueAt(map.get("prov"), i, 18);//proveedor model.setValueAt(map.get("factura"), i, 19);// no de factura } if (user.getGeneraPedidos() == false) t_datos.setEnabled(false); else t_datos.setEnabled(false); } int num_c2 = cuentas2.size(); if (num_c2 > 0) { for (int i = 0; i < num_c2; i++) { java.util.HashMap map = (java.util.HashMap) cuentas2.get(i); model.setValueAt(map.get("id_partida_externa"), i + cuentas.size(), 0); model.setValueAt(map.get("tipo"), i + cuentas.size(), 1); model.setValueAt(map.get("descripcion"), i + cuentas.size(), 2); model.setValueAt(false, i + cuentas.size(), 3); model.setValueAt(map.get("facturado"), i + cuentas.size(), 4); model.setCeldaEditable(i + cuentas.size(), 4, true); model.setValueAt(map.get("id"), i + cuentas.size(), 5); model.setValueAt(map.get("id_externo"), i + cuentas.size(), 6); model.setValueAt(map.get("cantidad"), i + cuentas.size(), 7); model.setValueAt(map.get("cantidad"), i + cuentas.size(), 8); model.setValueAt(map.get("ori_con"), i + cuentas.size(), 9);//Origen model.setCeldaEditable(i + cuentas.size(), 9, true); model.setValueAt(map.get("d"), i + cuentas.size(), 10);//origen model.setCeldaEditable(i + cuentas.size(), 10, true); model.setValueAt(map.get("r"), i + cuentas.size(), 11);//origen model.setCeldaEditable(i + cuentas.size(), 11, true); model.setValueAt(map.get("m"), i + cuentas.size(), 12);//origen model.setCeldaEditable(i + cuentas.size(), 12, true); model.setValueAt(map.get("unidad"), i + cuentas.size(), 13); model.setValueAt(map.get("noParte"), i + cuentas.size(), 14); model.setValueAt(0.0, i + cuentas.size(), 15); model.setValueAt(map.get("costo"), i + cuentas.size(), 16); double suma = 0.0d; if (map.get("ori_con").toString().compareToIgnoreCase("-") != 0) suma = Double.parseDouble(map.get("costo").toString()) / 0.9; model.setValueAt(suma, i + cuentas.size(), 17); model.setValueAt(map.get("prov"), i + cuentas.size(), 18); model.setValueAt(map.get("factura"), i + cuentas.size(), 19);// N factura } } session.beginTransaction().rollback(); } catch (Exception e) { e.printStackTrace(); } finally { if (session.isOpen() == true) session.close(); } } else { model = new MyModel(0, columnas, this.types); t_datos.setModel(model); } formatoTabla(); suma(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { tipo = new javax.swing.JComboBox(); jPanel1 = new javax.swing.JPanel(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel(); t_busca = new javax.swing.JTextField(); b_busca1 = new javax.swing.JButton(); total = new javax.swing.JFormattedTextField(); scroll = new javax.swing.JScrollPane(); t_datos = new javax.swing.JTable(); tipo.setFont(new java.awt.Font("Dialog", 0, 9)); // NOI18N tipo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "N" })); setLayout(new java.awt.BorderLayout()); jPanel1.setBackground(new java.awt.Color(2, 135, 242)); jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jButton1.setIcon(new ImageIcon("imagenes/exel.png")); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 0, 45, 40)); jButton2.setIcon(new ImageIcon("imagenes/pdf.png")); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, 45, 40)); jLabel4.setFont(new java.awt.Font("Arial", 0, 9)); // NOI18N jLabel4.setForeground(new java.awt.Color(255, 255, 255)); jLabel4.setText("Buscar:"); jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 10, -1, -1)); t_busca.setFont(new java.awt.Font("Arial", 0, 9)); // NOI18N t_busca.setBorder(javax.swing.BorderFactory.createEtchedBorder()); t_busca.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { t_buscaActionPerformed(evt); } }); t_busca.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) { t_buscaKeyTyped(evt); } }); jPanel1.add(t_busca, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 10, 223, -1)); b_busca1.setIcon(new ImageIcon("imagenes/buscar1.png")); b_busca1.setToolTipText("Busca una partida"); b_busca1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b_busca1ActionPerformed(evt); } }); jPanel1.add(b_busca1, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 10, 23, 23)); total.setEditable(false); total.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory( new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#,##0.00")))); total.setHorizontalAlignment(javax.swing.JTextField.RIGHT); total.setDisabledTextColor(new java.awt.Color(0, 0, 153)); jPanel1.add(total, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 0, 110, -1)); add(jPanel1, java.awt.BorderLayout.PAGE_END); scroll.setPreferredSize(new java.awt.Dimension(453, 150)); t_datos.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); t_datos.setForeground(new java.awt.Color(102, 102, 102)); t_datos.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { "Id", "N", "#", "Grupo", "D/M", "Rep Min ", "Title 7", "Title 8", "Title 9", "Title 10", "Title 11", "Title 12", "Title 13", "Title 14", "Title 15", "Title 16", "Title 17", "Title 18", "Title 19", "Title 20", "Title 21", "Title 22" })); t_datos.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN); t_datos.setGridColor(new java.awt.Color(102, 102, 102)); t_datos.getTableHeader().setReorderingAllowed(false); scroll.setViewportView(t_datos); add(scroll, java.awt.BorderLayout.CENTER); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: try { javax.swing.JFileChooser archivo = new javax.swing.JFileChooser(); archivo.setFileFilter(new ExtensionFileFilter("Excel document (*.xls)", new String[] { "xls" })); String ruta = null; if (archivo.showSaveDialog(null) == archivo.APPROVE_OPTION) { ruta = archivo.getSelectedFile().getAbsolutePath(); if (ruta != null) { File archivoXLS = new File(ruta + ".xls"); 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(); // Path FROM = Paths.get("imagenes/plantillaConciliacion.xls"); Path TO = Paths.get(ruta + ".xls"); //sobreescribir el fichero de destino, si existe, y copiar // los atributos, incluyendo los permisos rwx CopyOption[] options = new CopyOption[] { StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES }; Files.copy(FROM, TO, options); FileInputStream miPlantilla = new FileInputStream(archivoXLS); POIFSFileSystem fsFileSystem = new POIFSFileSystem(miPlantilla); HSSFWorkbook libro = new HSSFWorkbook(fsFileSystem); libro.getSheet("Conciliacion").getRow(0).getCell(6) .setCellValue("CONCILIACIN PARA FACTURACIN"); for (int i = 0; i < datos.size(); i++) { java.util.HashMap map = (java.util.HashMap) datos.get(i); libro.getSheet("Conciliacion").getRow(1).getCell(2) .setCellValue(map.get("nombre").toString()); libro.getSheet("Conciliacion").getRow(2).getCell(2) .setCellValue(map.get("tipo_nombre").toString()); libro.getSheet("Conciliacion").getRow(3).getCell(2) .setCellValue(map.get("modelo").toString()); libro.getSheet("Conciliacion").getRow(4).getCell(2) .setCellValue(map.get("no_serie").toString()); libro.getSheet("Conciliacion").getRow(5).getCell(2) .setCellValue(map.get("nombres").toString()); libro.getSheet("Conciliacion").getRow(2).getCell(12) .setCellValue(map.get("id_orden").toString()); } HSSFCellStyle borde_d = libro.createCellStyle(); borde_d.setBorderBottom(CellStyle.BORDER_THIN); borde_d.setBorderTop(CellStyle.BORDER_THIN); borde_d.setBorderRight(CellStyle.BORDER_THIN); borde_d.setBorderLeft(CellStyle.BORDER_THIN); borde_d.setAlignment(CellStyle.ALIGN_RIGHT); HSSFCellStyle borde_i = libro.createCellStyle(); borde_i.setBorderBottom(CellStyle.BORDER_THIN); borde_i.setBorderTop(CellStyle.BORDER_THIN); borde_i.setBorderRight(CellStyle.BORDER_THIN); borde_i.setBorderLeft(CellStyle.BORDER_THIN); borde_i.setAlignment(CellStyle.ALIGN_LEFT); HSSFCellStyle borde_c = libro.createCellStyle(); borde_c.setBorderBottom(CellStyle.BORDER_THIN); borde_c.setBorderTop(CellStyle.BORDER_THIN); borde_c.setBorderRight(CellStyle.BORDER_THIN); borde_c.setBorderLeft(CellStyle.BORDER_THIN); borde_c.setAlignment(CellStyle.ALIGN_CENTER); HSSFCellStyle borde_dr = libro.createCellStyle(); borde_dr.setBorderBottom(CellStyle.BORDER_THIN); borde_dr.setBorderTop(CellStyle.BORDER_THIN); borde_dr.setBorderRight(CellStyle.BORDER_THIN); borde_dr.setBorderLeft(CellStyle.BORDER_THIN); borde_dr.setAlignment(CellStyle.ALIGN_RIGHT); borde_dr.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); borde_dr.setFillBackgroundColor(HSSFColor.LIGHT_BLUE.index); borde_dr.setFillForegroundColor(HSSFColor.YELLOW.index); HSSFCellStyle borde_ir = libro.createCellStyle(); borde_ir.setBorderBottom(CellStyle.BORDER_THIN); borde_ir.setBorderTop(CellStyle.BORDER_THIN); borde_ir.setBorderRight(CellStyle.BORDER_THIN); borde_ir.setBorderLeft(CellStyle.BORDER_THIN); borde_ir.setAlignment(CellStyle.ALIGN_LEFT); borde_ir.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); borde_ir.setFillBackgroundColor(HSSFColor.LIGHT_BLUE.index); borde_ir.setFillForegroundColor(HSSFColor.YELLOW.index); HSSFCellStyle borde_cr = libro.createCellStyle(); borde_cr.setBorderBottom(CellStyle.BORDER_THIN); borde_cr.setBorderTop(CellStyle.BORDER_THIN); borde_cr.setBorderRight(CellStyle.BORDER_THIN); borde_cr.setBorderLeft(CellStyle.BORDER_THIN); borde_cr.setAlignment(CellStyle.ALIGN_CENTER); borde_cr.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); borde_cr.setFillBackgroundColor(HSSFColor.LIGHT_BLUE.index); borde_cr.setFillForegroundColor(HSSFColor.YELLOW.index); DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00"); int miRenglon = 9; int num_tab = t_datos.getRowCount(); for (int i = 0; i < num_tab; 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 ((boolean) t_datos.getValueAt(i, 3) == true || (boolean) t_datos.getValueAt(i, 4) == true) { libro.getSheet("Conciliacion").createRow(miRenglon); //columna0 if (t_datos.getValueAt(i, 5) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(0) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(0) .setCellValue(t_datos.getValueAt(i, 5).toString()); } //columna1 if (t_datos.getValueAt(i, 6) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(1) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(1) .setCellValue(t_datos.getValueAt(i, 6).toString()); } //columna2 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(2) .setCellValue(t_datos.getValueAt(i, renglon).toString()); //columna3 if (t_datos.getValueAt(i, 14) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(3) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(3) .setCellValue(t_datos.getValueAt(i, 14).toString()); } //columna4 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(4) .setCellValue(t_datos.getValueAt(i, 2).toString()); //columna5 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue(""); else { switch (renglon) { case 8: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("N"); break; case 10: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("D"); break; case 11: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("R"); break; case 12: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("M"); break; } } //columna6 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(6) .setCellValue(formatoPorcentaje.format(t_datos.getValueAt(i, 15))); //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(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(7) .setCellValue(formatoPorcentaje.format(n)); //columna8 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(8) .setCellValue(formatoPorcentaje.format(t_datos.getValueAt(i, 16))); //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(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(9) .setCellValue(formatoPorcentaje.format(n)); //columna10 11 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(""); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(""); } else { switch (renglon) { case 8: n = BigDecimal.valueOf( Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n)); break; case 10: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.72d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n)); break; case 11: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n)); break; case 12: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n)); break; } } //columna12 if (t_datos.getValueAt(i, 18) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(12) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(12) .setCellValue(t_datos.getValueAt(i, 18).toString()); } //columna13 if (t_datos.getValueAt(i, 19) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(13) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(13) .setCellValue(t_datos.getValueAt(i, 19).toString()); } //columna14 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(14) .setCellValue("V"); if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { libro.getSheet("Conciliacion").getRow(miRenglon).getCell(0) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(1) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(2) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(3) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(4) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(5) .setCellStyle(borde_c); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(6) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(7) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(8) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(9) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(10) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(11) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(12) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(13) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(14) .setCellStyle(borde_d); } else { libro.getSheet("Conciliacion").getRow(miRenglon).getCell(0) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(1) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(2) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(3) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(4) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(5) .setCellStyle(borde_cr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(6) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(7) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(8) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(9) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(10) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(11) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(12) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(13) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(14) .setCellStyle(borde_dr); } miRenglon++; } } } } //font1.setColor(BaseColor.WHITE); libro.getSheet("Conciliacion").createRow(miRenglon); libro.getSheet("Conciliacion") .addMergedRegion(new CellRangeAddress(miRenglon, miRenglon, 0, 14)); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(0) .setCellValue("Faltante en Vales"); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(0).setCellStyle(borde_c); miRenglon++; for (int i = 0; i < num_tab; 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 ((boolean) t_datos.getValueAt(i, 3) == false && (boolean) t_datos.getValueAt(i, 4) == false && t_datos.getValueAt(i, 5) != null) { libro.getSheet("Conciliacion").createRow(miRenglon); //columna0 if (t_datos.getValueAt(i, 5) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(0) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(0) .setCellValue(t_datos.getValueAt(i, 5).toString()); } //columna1 if (t_datos.getValueAt(i, 6) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(1) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(1) .setCellValue(t_datos.getValueAt(i, 6).toString()); } //columna2 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(2) .setCellValue(t_datos.getValueAt(i, renglon).toString()); //columna3 if (t_datos.getValueAt(i, 14) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(3) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(3) .setCellValue(t_datos.getValueAt(i, 14).toString()); } //columna4 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(4) .setCellValue(t_datos.getValueAt(i, 2).toString()); //columna5 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue(""); else { switch (renglon) { case 8: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("N"); break; case 10: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("D"); break; case 11: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("R"); break; case 12: libro.getSheet("Conciliacion").getRow(miRenglon).createCell(5) .setCellValue("M"); break; } } //columna6 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(6) .setCellValue(formatoPorcentaje.format(t_datos.getValueAt(i, 15))); //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(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(7) .setCellValue(formatoPorcentaje.format(n)); //columna8 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(8) .setCellValue(formatoPorcentaje.format(t_datos.getValueAt(i, 16))); //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(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(9) .setCellValue(formatoPorcentaje.format(n)); //columna10 11 if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(""); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(""); } else { switch (renglon) { case 8: n = BigDecimal.valueOf( Double.parseDouble(t_datos.getValueAt(i, 16).toString()) / 0.9d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n)); break; case 10: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.72d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n)); break; case 11: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n)); break; case 12: n = BigDecimal .valueOf( Double.parseDouble(t_datos.getValueAt(i, 15).toString()) * 0.65d) .setScale(2, RoundingMode.UP).doubleValue(); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(10) .setCellValue(formatoPorcentaje.format(n * Double.parseDouble( t_datos.getValueAt(i, renglon).toString()))); libro.getSheet("Conciliacion").getRow(miRenglon).createCell(11) .setCellValue(formatoPorcentaje.format(n)); break; } } //columna12 if (t_datos.getValueAt(i, 18) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(12) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(12) .setCellValue(t_datos.getValueAt(i, 18).toString()); } //columna13 if (t_datos.getValueAt(i, 19) == null) { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(13) .setCellValue(""); } else { libro.getSheet("Conciliacion").getRow(miRenglon).createCell(13) .setCellValue(t_datos.getValueAt(i, 19).toString()); } //columna14 libro.getSheet("Conciliacion").getRow(miRenglon).createCell(14) .setCellValue(""); if (renglon == 8 && t_datos.getValueAt(i, 9).toString().compareTo("-") == 0) { libro.getSheet("Conciliacion").getRow(miRenglon).getCell(0) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(1) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(2) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(3) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(4) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(5) .setCellStyle(borde_c); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(6) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(7) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(8) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(9) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(10) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(11) .setCellStyle(borde_d); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(12) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(13) .setCellStyle(borde_i); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(14) .setCellStyle(borde_d); } else { libro.getSheet("Conciliacion").getRow(miRenglon).getCell(0) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(1) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(2) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(3) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(4) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(5) .setCellStyle(borde_cr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(6) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(7) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(8) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(9) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(10) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(11) .setCellStyle(borde_dr); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(12) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(13) .setCellStyle(borde_ir); libro.getSheet("Conciliacion").getRow(miRenglon).getCell(14) .setCellStyle(borde_dr); } miRenglon++; } } } } FileOutputStream archivo1 = new FileOutputStream(archivoXLS); libro.write(archivo1); archivo1.close(); Desktop.getDesktop().open(archivoXLS); } } } catch (Exception e) { e.printStackTrace(); } }//GEN-LAST:event_jButton1ActionPerformed private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed // TODO add your handling code here: try { 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.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 formatoPorcentaje = new DecimalFormat("#,##0.00"); int num_r = t_datos.getRowCount(); for (int i = 0; i < num_r; 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 < num_r; 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) == 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(); } }//GEN-LAST:event_jButton2ActionPerformed private void t_buscaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_t_buscaActionPerformed // TODO add your handling code here: busca(); }//GEN-LAST:event_t_buscaActionPerformed private void t_buscaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_t_buscaKeyTyped // TODO add your handling code here: char car = evt.getKeyChar(); evt.setKeyChar(Character.toUpperCase(evt.getKeyChar())); }//GEN-LAST:event_t_buscaKeyTyped private void b_busca1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_busca1ActionPerformed // TODO add your handling code here: busca(); }//GEN-LAST:event_b_busca1ActionPerformed private void suma() { double suma = 0.00d; int num_r = t_datos.getRowCount(); for (int x = 0; x < num_r; x++) { if ((t_datos.getValueAt(x, 1).toString().compareTo("AC") != 0 && (((boolean) t_datos.getValueAt(x, 3)) == true || ((boolean) t_datos.getValueAt(x, 4)) == true)) || (t_datos.getValueAt(x, 1).toString().compareTo("AC") == 0 && (t_datos.getValueAt(x, 5) != null))) suma += (double) t_datos.getValueAt(x, 17); } total.setValue(suma); } private static void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla, String titulo, int op) { com.itextpdf.text.Font font = new com.itextpdf.text.Font(com.itextpdf.text.Font.FontFamily.HELVETICA, 7, com.itextpdf.text.Font.BOLD); font.setColor(BaseColor.WHITE); BaseColor cabecera = BaseColor.DARK_GRAY; int centro = com.itextpdf.text.Element.ALIGN_CENTER; tabla.addCell(reporte.celda("N.SET", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("N.EXT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("CNT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("NPARTE", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("ORI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$C/U AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$TOT AUT", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$C/U COM", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$TOT COM", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$C/U FAC", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("$TOT FAC", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("PROVEEDOR", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("#FACTURA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("VAL", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton b_busca1; private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane scroll; private javax.swing.JTextField t_busca; private javax.swing.JTable t_datos; private javax.swing.JComboBox tipo; private javax.swing.JFormattedTextField total; // End of variables declaration//GEN-END:variables public class MyModel extends DefaultTableModel { Class[] types; int ren = 0; int col = 0; private boolean[][] celdaEditable; public MyModel(int renglones, String columnas[], Class[] tipo) { types = tipo; ren = renglones; col = columnas.length; celdaEditable = new boolean[types.length][renglones]; int num_t = types.length; for (int x = 0; x < num_t; x++) { for (int y = 0; y < renglones; y++) { celdaEditable[x][y] = false; } } this.setDataVector(new Object[renglones][columnas.length], columnas); } @Override public int getRowCount() { return ren; } @Override public int getColumnCount() { return col; } @Override public void setValueAt(Object value, int row, int col) { Vector vector = (Vector) this.dataVector.elementAt(row); //Object celda = ((Vector)this.dataVector.elementAt(row)).elementAt(col); switch (col) { case 4: if (vector.get(col) == null) { vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); if (t_datos.getValueAt(row, 1).toString().compareTo("I") == 0) { Partida par = (Partida) session.get(Partida.class, (Integer) t_datos.getValueAt(row, 0)); par.setFacturado((boolean) value); session.update(par); session.beginTransaction().commit(); vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { PartidaExterna par = (PartidaExterna) session.get(PartidaExterna.class, (Integer) t_datos.getValueAt(row, 0)); par.setFacturado((boolean) value); session.update(par); session.beginTransaction().commit(); vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } } catch (Exception e) { System.out.println(e); } finally { if (session != null) if (session.isOpen()) session.close(); } } break; case 9: if (vector.get(col) == null) { vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { double tot = 0.0; if (((String) value).compareTo("N") == 0) tot = Double.parseDouble(t_datos.getValueAt(row, 8).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 10).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 11).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 12).toString()); if (tot <= Double.parseDouble(t_datos.getValueAt(row, 7).toString())) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); String dato = t_datos.getValueAt(row, 1).toString(); if (dato.compareToIgnoreCase("o") == 0 || dato.compareToIgnoreCase("c") == 0 || dato.compareToIgnoreCase("a") == 0 || dato.compareToIgnoreCase("e") == 0) { Partida par = (Partida) session.get(Partida.class, (Integer) t_datos.getValueAt(row, 0)); par.setOriCon((String) value); session.update(par); session.beginTransaction().commit(); } else { PartidaExterna par = (PartidaExterna) session.get(PartidaExterna.class, (Integer) t_datos.getValueAt(row, 0)); par.setOriCon((String) value); session.update(par); session.beginTransaction().commit(); } double suma = 0.0d;//Double.parseDouble(t_datos.getValueAt(row, 12).toString()) if (((String) value).compareToIgnoreCase("-") != 0) suma = Double.parseDouble(t_datos.getValueAt(row, 8).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 16).toString()) / 0.9); if (Double.parseDouble(t_datos.getValueAt(row, 10).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 10).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.72); if (Double.parseDouble(t_datos.getValueAt(row, 11).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 11).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); if (Double.parseDouble(t_datos.getValueAt(row, 12).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 12).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); vector.setElementAt(value, col); vector.setElementAt(suma, 17); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); fireTableCellUpdated(row, 17); suma(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) if (session.isOpen()) session.close(); } } else JOptionPane.showMessageDialog(null, "La suma de N, D, R, M excede del total Autorizado"); } break; case 10: if (vector.get(col) == null) { vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { double tot = 0.0; if (t_datos.getValueAt(row, 9).toString().compareTo("N") == 0) tot = Double.parseDouble(t_datos.getValueAt(row, 8).toString()); tot += (double) value; tot += Double.parseDouble(t_datos.getValueAt(row, 11).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 12).toString()); if (tot <= Double.parseDouble(t_datos.getValueAt(row, 7).toString())) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); String dato = t_datos.getValueAt(row, 1).toString(); if (dato.compareToIgnoreCase("o") == 0 || dato.compareToIgnoreCase("c") == 0 || dato.compareToIgnoreCase("a") == 0 || dato.compareToIgnoreCase("e") == 0) { Partida par = (Partida) session.get(Partida.class, (Integer) t_datos.getValueAt(row, 0)); par.setD((double) value); session.update(par); session.beginTransaction().commit(); } else { PartidaExterna par = (PartidaExterna) session.get(PartidaExterna.class, (Integer) t_datos.getValueAt(row, 0)); par.setD((double) value); session.update(par); session.beginTransaction().commit(); } double suma = 0.0d;//Double.parseDouble(t_datos.getValueAt(row, 12).toString()) if (t_datos.getValueAt(row, 9).toString().compareToIgnoreCase("-") != 0) suma = Double.parseDouble(t_datos.getValueAt(row, 8).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 16).toString()) / 0.9); if ((double) value > 0) suma += ((double) value) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.72); if (Double.parseDouble(t_datos.getValueAt(row, 11).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 11).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); if (Double.parseDouble(t_datos.getValueAt(row, 12).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 12).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); vector.setElementAt(value, col); vector.setElementAt(suma, 17); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); fireTableCellUpdated(row, 17); suma(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) if (session.isOpen()) session.close(); } } else JOptionPane.showMessageDialog(null, "La suma de N, D, R, M excede del total Autorizado"); } break; case 11: if (vector.get(col) == null) { vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { double tot = 0.0; if (t_datos.getValueAt(row, 9).toString().compareTo("N") == 0) tot = Double.parseDouble(t_datos.getValueAt(row, 8).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 10).toString()); tot += (double) value; tot += Double.parseDouble(t_datos.getValueAt(row, 12).toString()); if (tot <= Double.parseDouble(t_datos.getValueAt(row, 7).toString())) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); String dato = t_datos.getValueAt(row, 1).toString(); if (dato.compareToIgnoreCase("o") == 0 || dato.compareToIgnoreCase("c") == 0 || dato.compareToIgnoreCase("a") == 0 || dato.compareToIgnoreCase("e") == 0) { Partida par = (Partida) session.get(Partida.class, (Integer) t_datos.getValueAt(row, 0)); par.setR((double) value); session.update(par); session.beginTransaction().commit(); } else { PartidaExterna par = (PartidaExterna) session.get(PartidaExterna.class, (Integer) t_datos.getValueAt(row, 0)); par.setR((double) value); session.update(par); session.beginTransaction().commit(); } double suma = 0.0d;//Double.parseDouble(t_datos.getValueAt(row, 12).toString()) if (t_datos.getValueAt(row, 9).toString().compareToIgnoreCase("-") != 0) suma = Double.parseDouble(t_datos.getValueAt(row, 8).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 16).toString()) / 0.9); if (Double.parseDouble(t_datos.getValueAt(row, 10).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 10).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.72); if (((double) value) > 0) suma += ((double) value) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); if (Double.parseDouble(t_datos.getValueAt(row, 12).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 12).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); vector.setElementAt(value, col); vector.setElementAt(suma, 17); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); fireTableCellUpdated(row, 17); suma(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) if (session.isOpen()) session.close(); } } else JOptionPane.showMessageDialog(null, "La suma de N, D, R, M excede del total Autorizado"); } break; case 12: if (vector.get(col) == null) { vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); } else { double tot = 0.0; if (t_datos.getValueAt(row, 9).toString().compareTo("N") == 0) tot = Double.parseDouble(t_datos.getValueAt(row, 8).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 10).toString()); tot += Double.parseDouble(t_datos.getValueAt(row, 11).toString()); tot += (double) value; if (tot <= Double.parseDouble(t_datos.getValueAt(row, 7).toString())) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); String dato = t_datos.getValueAt(row, 1).toString(); if (dato.compareToIgnoreCase("o") == 0 || dato.compareToIgnoreCase("c") == 0 || dato.compareToIgnoreCase("a") == 0 || dato.compareToIgnoreCase("e") == 0) { Partida par = (Partida) session.get(Partida.class, (Integer) t_datos.getValueAt(row, 0)); par.setM((double) value); session.update(par); session.beginTransaction().commit(); } else { PartidaExterna par = (PartidaExterna) session.get(PartidaExterna.class, (Integer) t_datos.getValueAt(row, 0)); par.setM((double) value); session.update(par); session.beginTransaction().commit(); } double suma = 0.0d;//Double.parseDouble(t_datos.getValueAt(row, 12).toString()) if (t_datos.getValueAt(row, 9).toString().compareToIgnoreCase("-") != 0) suma = Double.parseDouble(t_datos.getValueAt(row, 8).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 16).toString()) / 0.9); if (Double.parseDouble(t_datos.getValueAt(row, 10).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 10).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.72); if (Double.parseDouble(t_datos.getValueAt(row, 11).toString()) > 0) suma += Double.parseDouble(t_datos.getValueAt(row, 11).toString()) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); if (((double) value) > 0) suma += ((double) value) * (Double.parseDouble(t_datos.getValueAt(row, 15).toString()) * 0.65); vector.setElementAt(value, col); vector.setElementAt(suma, 17); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); fireTableCellUpdated(row, 17); suma(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) if (session.isOpen()) session.close(); } } else JOptionPane.showMessageDialog(null, "La suma de N, D, R, M excede del total Autorizado"); } break; default: vector.setElementAt(value, col); this.dataVector.setElementAt(vector, row); fireTableCellUpdated(row, col); break; } t_datos.requestFocus(); } public Class getColumnClass(int columnIndex) { return types[columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return this.celdaEditable[columnIndex][rowIndex]; } public void setCeldaEditable(int fila, int columna, boolean editable) { this.celdaEditable[columna][fila] = editable; } public void setColumnaEditable(int columna, boolean editable) { int i = 0; int ce = celdaEditable[columna].length; for (i = 0; i < ce; i++) this.celdaEditable[columna][i] = editable; } //not necessary } public void busca() { h = new Herramientas(user, 0); h.session(sessionPrograma); if (this.t_busca.getText().compareToIgnoreCase("") != 0) { int num_r = t_datos.getRowCount(); if (x >= num_r) { x = 0; java.awt.Rectangle r = t_datos.getCellRect(x, 2, true); t_datos.scrollRectToVisible(r); } for (; x < num_r; x++) { if (t_datos.getValueAt(x, 2).toString().indexOf(t_busca.getText()) != -1) { t_datos.setRowSelectionInterval(x, x); t_datos.setColumnSelectionInterval(2, 2); java.awt.Rectangle r = t_datos.getCellRect(x, 2, true); t_datos.scrollRectToVisible(r); break; } } x++; } } }