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.Almacen; import Hibernate.entidades.Movimiento; import Hibernate.entidades.Orden; import Hibernate.entidades.Partida; import Hibernate.entidades.PartidaExterna; import Hibernate.entidades.Usuario; import Integral.FormatoEditor; import java.awt.Color; import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; import javax.swing.KeyStroke; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import org.hibernate.Query; import org.hibernate.Session; import Integral.FormatoTabla; import Integral.Herramientas; import Integral.Render1; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; import org.hibernate.criterion.Restrictions; /** * * @author ESPECIALIZADO TOLUCA */ public class consultaPartidaOrden extends javax.swing.JDialog { public static final List RET_CANCEL = null; Orden orden; Herramientas h; String sessionPrograma; Usuario usr; consultaPartidaOrden.MyModel model; FormatoTabla formato; String[] columnas = new String[] { "N", "#", "N Parte", "Descripcin", "Medida", "Autorizados", "X Surtir", "Cantidad" }; /** * Creates new form consultaPartidaPedido */ public consultaPartidaOrden(java.awt.Frame parent, boolean modal, Orden ord, Usuario usuario) { super(parent, modal); initComponents(); getRootPane().setDefaultButton(ok); orden = ord; usr = usuario; Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class }; model = new MyModel(0, columnas, types); t_datos.setModel(model); t_datos.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); formato = new FormatoTabla(); } public void formatoTabla() { Color c1 = new java.awt.Color(2, 135, 242); for(int x=0; x<t_datos.getColumnModel().getColumnCount(); x++) { t_datos.getColumnModel().getColumn(x).setHeaderRenderer(new Render1(c1)); } tabla_tamaos(); t_datos.setShowVerticalLines(true); t_datos.setShowHorizontalLines(true); t_datos.setDefaultRenderer(Double.class, formato); t_datos.setDefaultRenderer(Integer.class, formato); t_datos.setDefaultRenderer(String.class, formato); t_datos.setDefaultRenderer(Boolean.class, formato); } private void doClose(List o) { returnStatus = o; setVisible(false); dispose(); } public List getReturnStatus() { return returnStatus; } /** * 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() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); t_orden = new javax.swing.JTextField(); jScrollPane4 = new javax.swing.JScrollPane(); t_datos = new javax.swing.JTable(); ok = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Bsqueda Partida Orden"); jPanel1.setBackground(new java.awt.Color(250, 250, 250)); jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true)); jLabel1.setText("N O.T.: "); t_orden.setEnabled(false); t_datos.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { "N", "#", "N Parte", "Descripcin", "Pedido", "Medida", "X Surtir", "Cantidad", "Costo c/u", "Total" })); t_datos.setAutoscrolls(false); t_datos.setCellSelectionEnabled(false); t_datos.setRowSelectionAllowed(true); t_datos.getTableHeader().setReorderingAllowed(false); t_datos.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { t_datosKeyPressed(evt); } }); jScrollPane4.setViewportView(t_datos); t_datos.getColumnModel().getSelectionModel() .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION); ok.setBackground(new java.awt.Color(2, 135, 242)); ok.setMnemonic('s'); ok.setText("Seleccionar"); ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okActionPerformed(evt); } }); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 899, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup().addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(t_orden, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE) .addComponent(ok))) .addContainerGap())); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1).addComponent(t_orden, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(ok) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); pack(); }// </editor-fold>//GEN-END:initComponents private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed // TODO add your handling code here: if (t_datos.getSelectedRows().length >= 0) { List datos = new ArrayList(); int renglones[] = t_datos.getSelectedRows(); for (int x = 0; x < renglones.length; x++) { List aux = new ArrayList(); for (int c = 0; c < t_datos.getColumnCount(); c++) { aux.add(t_datos.getValueAt(renglones[x], c)); } datos.add(aux); } doClose(datos); } else JOptionPane.showMessageDialog(null, "No hay una Partida seleccionada!"); }//GEN-LAST:event_okActionPerformed private void t_datosKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_t_datosKeyPressed // TODO add your handling code here: int code = evt.getKeyCode(); if (code == KeyEvent.VK_ENTER) { t_datos.getInputMap(t_datos.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), "selectColumnCell"); this.ok.requestFocus(); } }//GEN-LAST:event_t_datosKeyPressed /** * @param args the command line arguments */ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane4; private javax.swing.JButton ok; private javax.swing.JTable t_datos; public javax.swing.JTextField t_orden; // End of variables declaration//GEN-END:variables private List returnStatus = RET_CANCEL; public void busca(String tipo, String valor, String movimiento, String complemento, String complemento2) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); if (tipo.compareTo("Compaa") == 0) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class }; if (t_orden.getText().compareTo("") != 0) { if (movimiento.compareTo("Entrada") == 0) { String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin", "Medida", "Autorizados", "X Surtir", "Entrada" }; Query query = session.createQuery( "SELECT DISTINCT part FROM Partida part " + "where part.ordenByIdOrden.idOrden=" + Integer.parseInt(t_orden.getText()) + " and part.so=" + true); List partidas = query.list(); model = new MyModel(partidas.size(), columnas, types); t_datos.setModel(model); for (int a = 0; a < partidas.size(); a++) { Partida par = (Partida) partidas.get(a); Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]); double entradas = 0, devoluciones = 0; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 4) entradas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 4) devoluciones += mov[b].getCantidad(); } double total_almacen = entradas - devoluciones; double total = par.getCantidadAut() - total_almacen; model.setValueAt(par.getIdPartida(), a, 0); model.setValueAt(par.getIdEvaluacion(), a, 1); model.setValueAt(par.getSubPartida(), a, 2); if (par.getEjemplar() != null) model.setValueAt(par.getEjemplar().getIdParte(), a, 3); else model.setValueAt("", a, 3); model.setValueAt(par.getCatalogo().getNombre(), a, 4); model.setValueAt(par.getMed(), a, 5); model.setValueAt(par.getCantidadAut(), a, 6); model.setValueAt(total, a, 7); model.setValueAt(0.0d, a, 8); } } if (movimiento.compareTo("Salida") == 0) { String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin", "Medida", "Autorizados", "En almacen", "Devolucin" }; Query query = session.createQuery("SELECT DISTINCT part FROM Partida part " + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm " + "where alm.operacion=4 and part.ordenByIdOrden.idOrden=" + Integer.parseInt(t_orden.getText())); List partidas = query.list(); model = new MyModel(partidas.size(), columnas, types); t_datos.setModel(model); for (int a = 0; a < partidas.size(); a++) { Partida par = (Partida) partidas.get(a); Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class) .add(Restrictions.eq("partida.idPartida", par.getIdPartida())).list() .toArray(new Movimiento[0]); double entradas = 0, devoluciones = 0, entregadas = 0, devueltas = 0; ; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 4) entradas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 4) devoluciones += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5) devueltas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5) entregadas += mov[b].getCantidad(); } double total_Pedido = entradas - devoluciones; double total_operario = entregadas - devueltas; double total = total_Pedido - total_operario; model.setValueAt(par.getIdPartida(), a, 0); model.setValueAt(par.getIdEvaluacion(), a, 1); model.setValueAt(par.getSubPartida(), a, 2); if (par.getEjemplar() != null) model.setValueAt(par.getEjemplar().getIdParte(), a, 3); else model.setValueAt("", a, 3); model.setValueAt(par.getCatalogo().getNombre(), a, 4); model.setValueAt(par.getMed(), a, 5); model.setValueAt(par.getCantidadAut(), a, 6); model.setValueAt(total, a, 7); model.setValueAt(0.0d, a, 8); } } } } if (tipo.compareTo("Operarios") == 0) { if (t_orden != null) { if (movimiento.compareTo("Entrada") == 0) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class }; String[] columnas = new String[] { "Id", "Partida", "Tipo", "N Parte", "Descripcin", "Medida", "Operario", "Entregadas" }; /*Query query = session.createQuery("SELECT DISTINCT part FROM Partida part " + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm " + "where alm.operacion=5 and part.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText())); List partidas = query.list(); Query query1 = session.createQuery("SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion=5 and partEx.pedido.partida.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText())); List partidasExternas = query1.list();*/ String q1 = "SELECT DISTINCT part FROM Partida part " + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm " + "where alm.operacion=5 and part.ordenByIdOrden.idOrden=" + Integer.parseInt(t_orden.getText()) + complemento; /*String q2="SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion=5 and partEx.pedido.partida.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText())+complemento2;*/ String q2 = "SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion in (3, 5) and partEx.pedido.orden.idOrden=" + Integer.parseInt(t_orden.getText()) + complemento2; Query query = session.createQuery(q1); List partidas = query.list(); Query query1 = session.createQuery(q2); List partidasExternas = query1.list(); model = new MyModel(partidas.size() + partidasExternas.size(), columnas, types); t_datos.setModel(model); for (int a = 0; a < partidas.size(); a++) { Partida par = (Partida) partidas.get(a); Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]); double entregadas = 0, devueltas = 0; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5) devueltas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5) entregadas += mov[b].getCantidad(); } double total = entregadas - devueltas; model.setValueAt(par.getIdPartida(), a, 0); model.setValueAt(par.getIdEvaluacion() + "-" + par.getSubPartida(), a, 1); if (par.getPedido() == null) model.setValueAt("COM.", a, 2); else model.setValueAt("PED.", a, 2); if (par.getEjemplar() != null) model.setValueAt(par.getEjemplar().getIdParte(), a, 3); else model.setValueAt("", a, 3); model.setValueAt(par.getCatalogo().getNombre(), a, 4); model.setValueAt(par.getMed(), a, 5); model.setValueAt(total, a, 6); model.setValueAt(0.0d, a, 7); } for (int a = 0; a < partidasExternas.size(); a++) { PartidaExterna par = (PartidaExterna) partidasExternas.get(a); Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]); double entregadas = 0, devueltas = 0; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5) devueltas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5) entregadas += mov[b].getCantidad(); } double total = entregadas - devueltas; model.setValueAt(par.getIdPartidaExterna(), a + partidas.size(), 0); //model.setValueAt(par.getPedido().getPartida().getIdEvaluacion()+"-"+par.getPedido().getPartida().getSubPartida(), a+partidas.size(), 1); model.setValueAt("-", a + partidas.size(), 1); model.setValueAt("ADI.", a + partidas.size(), 2); if (par.getNoParte() != null) model.setValueAt(par.getNoParte(), a + partidas.size(), 3); else model.setValueAt("", a + partidas.size(), 3); //model.setValueAt(par.getPedido().getPartida().getCatalogo().getNombre()+"/"+par.getDescripcion(), a+partidas.size(), 4); model.setValueAt(par.getDescripcion(), a + partidas.size(), 4); model.setValueAt(par.getUnidad(), a + partidas.size(), 5); model.setValueAt(total, a + partidas.size(), 6); model.setValueAt(0.0d, a + partidas.size(), 7); } } if (movimiento.compareTo("Salida") == 0) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class, java.lang.Boolean.class }; String[] columnas = new String[] { "Id", "Partida", "Tipo", "N Parte", "Descripcin", "Medida", "Existencias", "Operario", "Entregadas", "Solicita" }; /*Query query = session.createQuery("SELECT DISTINCT part FROM Partida part " + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm " + "where part.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText()) + " and alm!="+null); List partidas = query.list(); Query query1 = session.createQuery("SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion in (3, 5) and partEx.pedido.partida.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText())); List partidasExternas = query1.list();*/ String q1 = "SELECT DISTINCT part FROM Partida part " + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm " + "where part.ordenByIdOrden.idOrden=" + Integer.parseInt(t_orden.getText()) + " and alm!=" + null + complemento; /*String q2="SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion in (3, 5) and partEx.pedido.partida.ordenByIdOrden.idOrden="+Integer.parseInt(t_orden.getText())+complemento2;*/ String q2 = "SELECT DISTINCT partEx FROM PartidaExterna partEx " + "LEFT JOIN FETCH partEx.movimientos movEx " + "LEFT JOIN movEx.almacen alm " + "where alm.operacion in (3, 5) and partEx.pedido.orden.idOrden=" + Integer.parseInt(t_orden.getText()) + complemento2; Query query = session.createQuery(q1); List partidas = query.list(); Query query1 = session.createQuery(q2); List partidasExternas = query1.list(); model = new MyModel(partidas.size() + partidasExternas.size(), columnas, types); t_datos.setModel(model); for (int a = 0; a < partidas.size(); a++) { Partida par = (Partida) partidas.get(a); Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]); double entradas = 0, devoluciones = 0, entregadas = 0, devueltas = 0; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); //Entradas por pedido interno if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 1) entradas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 1) devoluciones += mov[b].getCantidad(); //entrada por compaia if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 4) entradas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 4) devoluciones += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5) devueltas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5) entregadas += mov[b].getCantidad(); } double total_Pedido = entradas - devoluciones; double total_operario = entregadas - devueltas; double total = total_Pedido - total_operario; model.setValueAt(par.getIdPartida(), a, 0); model.setValueAt(par.getIdEvaluacion() + "-" + par.getSubPartida(), a, 1); if (par.getPedido() == null) model.setValueAt("COM.", a, 2); else model.setValueAt("PED.", a, 2); if (par.getEjemplar() != null) model.setValueAt(par.getEjemplar().getIdParte(), a, 3); else model.setValueAt("", a, 3); model.setValueAt(par.getCatalogo().getNombre(), a, 4); model.setValueAt(par.getMed(), a, 5); model.setValueAt(total, a, 6); model.setValueAt(total_operario, a, 7); model.setValueAt(0.0d, a, 8); //model.setValueAt(par.getPerdidases().size(), a, 9); model.setValueAt(par.getOp(), a, 9); } for (int a = 0; a < partidasExternas.size(); a++) { PartidaExterna par = (PartidaExterna) partidasExternas.get(a); Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]); double entradas = 0, devoluciones = 0, entregadas = 0, devueltas = 0; for (int b = 0; b < mov.length; b++) { Almacen alm = mov[b].getAlmacen(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 3) entradas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 3) devoluciones += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5) devueltas += mov[b].getCantidad(); if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5) entregadas += mov[b].getCantidad(); } double total_Pedido = entradas - devoluciones; double total_operario = entregadas - devueltas; double total = total_Pedido - total_operario; model.setValueAt(par.getIdPartidaExterna(), a + partidas.size(), 0); //model.setValueAt(par.getPedido().getPartida().getIdEvaluacion()+"-"+par.getPedido().getPartida().getSubPartida(), a+partidas.size(), 1); model.setValueAt("-", a + partidas.size(), 1); model.setValueAt("ADI.", a + partidas.size(), 2); if (par.getNoParte() != null) model.setValueAt(par.getNoParte(), a + partidas.size(), 3); else model.setValueAt("", a + partidas.size(), 3); //model.setValueAt(par.getPedido().getPartida().getCatalogo().getNombre()+"/"+par.getDescripcion(), a+partidas.size(), 4); model.setValueAt(par.getDescripcion(), a + partidas.size(), 4); model.setValueAt(par.getUnidad(), a + partidas.size(), 5); model.setValueAt(total, a + partidas.size(), 6); model.setValueAt(total_operario, a + partidas.size(), 7); model.setValueAt(0.0d, a + partidas.size(), 8); //model.setValueAt(0, a+partidas.size(), 9); model.setValueAt(par.getOp(), a + partidas.size(), 9); } } } } } catch (Exception e) { e.printStackTrace(); } if (session != null) if (session.isOpen()) session.close(); formatoTabla(); } private 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); for (int i=0; i<t_datos.getColumnCount(); i++) { TableColumn column = col_model.getColumn(i); switch(i) { case 0: column.setPreferredWidth(10); break; case 1: column.setPreferredWidth(10); break; case 2: column.setPreferredWidth(10); break; case 3: column.setPreferredWidth(100); break; case 4: column.setPreferredWidth(350); break; case 5: column.setPreferredWidth(50); break; case 6: column.setPreferredWidth(50); break; case 7: column.setPreferredWidth(50); break; case 8: column.setPreferredWidth(50); break; default: column.setPreferredWidth(50); break; } } JTableHeader header = t_datos.getTableHeader(); header.setBackground(new java.awt.Color(90,66,126)); header.setForeground(Color.white); } public class MyModel extends DefaultTableModel { Class[] types; int ren = 0; int col = 0; private List celdaEditable; public MyModel(int renglones, String columnas[], Class[] tipos) { types = tipos; ren = renglones; col = columnas.length; celdaEditable = new ArrayList(); for (int x = 0; x < renglones; x++) { List aux = new ArrayList(); for (int y = 0; y < types.length; y++) aux.add(false); celdaEditable.add(aux); } setDataVector(new Object[renglones][columnas.length], columnas); } } }