@Override public void actionPerformed(ActionEvent e) { if (e.getSource() == prodGui.getModificar()) { // Modificar producto prodGui.getGuardar().setEnabled(true); modificarPulsado = true; nuevoPulsado = false; prodGui.habilitarCampos(true); prodGui.getIdArticulo().setEditable(false); prodGui.getProveedores().removeAllItems(); abrirBase(); int r = tabla.getSelectedRow(); if (r > -1) { Producto p = Producto.first("numero_producto = ?", tabla.getValueAt(r, 0)); LazyList<Proveedor> l = Proveedor.findAll(); Iterator<Proveedor> it = l.iterator(); while (it.hasNext()) { Proveedor prov = it.next(); String nom = prov.getString("nombre"); String cuil = prov.getString("cuil"); String prove = nom + ";" + cuil; prodGui.getProveedores().addItem(prove); } if (p != null) { prodGui.CargarCampos(p); Proveedor prov = Proveedor.findById(p.getInteger("proveedor_id")); if (prov != null) { String nom = prov.getString("nombre"); String cuil = prov.getString("cuil"); String pr = nom + ";" + cuil; prodGui.getProveedores().setSelectedItem(pr); } } } if (Base.hasConnection()) Base.close(); // Agregar al combo todos los proveedores! } if (e.getSource() == prodGui.getNuevo()) { // Producto nuevo prodGui.getGuardar().setEnabled(true); nuevoPulsado = true; modificarPulsado = false; prodGui.getModificar().setEnabled(false); prodGui.getBorrar().setEnabled(false); prodGui.limpiarCampos(); prodGui.habilitarCampos(true); prodGui.getProveedores().removeAllItems(); abrirBase(); LazyList<Proveedor> l = Proveedor.findAll(); Iterator<Proveedor> it = l.iterator(); while (it.hasNext()) { Proveedor prov = it.next(); String nom = prov.getString("nombre"); String cuil = prov.getString("cuil"); String prove = nom + ";" + cuil; prodGui.getProveedores().addItem(prove); } if (Base.hasConnection()) Base.close(); // Agregar al combo todos los proveedores } if (e.getSource() == prodGui.getGuardar() && modificarPulsado) { String id = prodGui.getIdArticulo().getText(); abrirBase(); Producto p = Producto.first("numero_producto = ?", id); cargarDatosProd(p, false); if (Base.hasConnection()) Base.close(); String prov = (String) prodGui.getProveedores().getSelectedItem(); String[] proveedor = prov.split(";"); p.setCuilProveedor(proveedor[1]); // p.set("priveedor_id"); abrirBase(); Proveedor proveed = Proveedor.first("cuil = ?", proveedor[1]); p.set("proveedor_id", proveed.get("id")); if (abmProd.modificar(p)) { JOptionPane.showMessageDialog(apgui, "Producto modificado exitosamente."); pl = pb.filtroProducto("", "", ""); actualizarLista(); modificarPulsado = false; prodGui.habilitarCampos(false); prodGui.getModificar().setEnabled(false); prodGui.getGuardar().setEnabled(false); } else { JOptionPane.showMessageDialog(prodGui, "El número de producto ya existe"); } } if (e.getSource() == prodGui.getGuardar() && nuevoPulsado) { Producto p = new Producto(); cargarDatosProd(p, false); String prov = (String) prodGui.getProveedores().getSelectedItem(); String[] proveedor = prov.split(";"); p.setCuilProveedor(proveedor[1]); if (p.getString("nombre").equals("") || p.getString("marca").equals("")) { JOptionPane.showMessageDialog(prodGui, "Un producto debe tener nombre y marca"); } abrirBase(); if (abmProd.alta(p)) { JOptionPane.showMessageDialog(prodGui, "Producto registrado exitosamente"); p = abmProd.getProducto(p); agregarFila(p); nuevoPulsado = false; prodGui.habilitarCampos(false); prodGui.getGuardar().setEnabled(false); } else { JOptionPane.showMessageDialog(prodGui, "Producto existente"); } vc.actualizarListaProd(); if (Base.hasConnection()) Base.close(); } if (e.getSource() == prodGui.getBorrar()) { confirmarBorrar = JOptionPane.showConfirmDialog( prodGui, "¿borrar producto?", "Confirmar Borrado", JOptionPane.YES_NO_OPTION); if (JOptionPane.OK_OPTION == confirmarBorrar) { abrirBase(); Producto p = Producto.first("numero_producto = ?", prodGui.getIdArticulo().getText()); if (abmProd.baja(p)) { JOptionPane.showMessageDialog(prodGui, "Producto borrado exitosamente"); pl = pb.filtroProducto("", "", ""); actualizarLista(); prodGui.limpiarCampos(); prodGui.getBorrar().setEnabled(false); prodGui.getModificar().setEnabled(false); prodGui.getGuardar().setEnabled(false); } else { JOptionPane.showMessageDialog(prodGui, "No se ha borrado el producto"); } } } if (e.getSource() == prodGui.getAnterior()) { prodGui.getProveedores().removeAllItems(); int r = tabla.getSelectedRow(); if (r > 0) { tabla.changeSelection(tabla.getSelectedRow() - 1, 0, false, false); r--; abrirBase(); Producto c = Producto.first("numero_producto =?", tabla.getValueAt(r, 0)); Proveedor p = Proveedor.first("id = ?", c.getString("proveedor_id")); if (Base.hasConnection()) Base.close(); prodGui.CargarCampos(c); String nom = p.getString("nombre"); String cuil = p.getString("cuil"); String pr = nom + ";" + cuil; prodGui.getProveedores().addItem(pr); prodGui.repaint(); } } if (e.getSource() == prodGui.getSiguiente()) { // permite avanzar al siguiente cliente de la lista prodGui.getProveedores().removeAllItems(); int r = tabla.getSelectedRow(); if (tablaProductos.getRowCount() - 1 > r) { tabla.changeSelection(r + 1, 0, false, false); r++; abrirBase(); Producto c = Producto.first("numero_producto =?", tabla.getValueAt(r, 0)); Proveedor p = Proveedor.first("id = ?", c.getString("proveedor_id")); if (Base.hasConnection()) Base.close(); prodGui.CargarCampos(c); String nom = p.getString("nombre"); String cuil = p.getString("cuil"); String pr = nom + ";" + cuil; prodGui.getProveedores().addItem(pr); } } if (e.getSource() == prodGui.getModificarPrecios()) { DefaultTableModel t = mpp.getTablaArticulos(); t.setRowCount(0); abrirBase(); LazyList<Producto> prod = Producto.findAll(); Iterator<Producto> it = prod.iterator(); while (it.hasNext()) { Producto a = it.next(); Object row[] = new Object[7]; row[0] = a.getString("numero_producto"); row[1] = a.getString("nombre"); row[2] = a.getString("marca"); row[3] = a.getString("tipo"); row[4] = a.getString("precio_compra"); row[5] = BigDecimal.valueOf(Double.valueOf(a.getString("precio_venta"))); row[6] = BigDecimal.valueOf(Double.valueOf(a.getString("precio_venta"))); t.addRow(row); } if (Base.hasConnection()) Base.close(); mpp.setLocationRelativeTo(prodGui); mpp.setVisible(true); if (mpp.getReturnStatus() == 1) { Iterator<Pair> list = mpp.getProductosModificados().iterator(); while (list.hasNext()) { Pair par = list.next(); abrirBase(); Producto p = Producto.findFirst("numero_producto =?", (String) par.first()); p.set("precio_venta", par.second()); if (p.saveIt()) { JOptionPane.showMessageDialog( prodGui, "Precios modificados exitosamente", "Precios modificados", JOptionPane.INFORMATION_MESSAGE); } if (Base.hasConnection()) Base.close(); } } } vc.actualizarListaProd(); cc.actualizarListaProd(); vrc.actualizarListaFacturas(); crc.actualizarListaCompras(); /*if(e.getSource() == mpp.getAceptar()){ int srow = prodGui.getTabla().getSelectedRow(); Object id = prodGui.getTablaArticulos().getValueAt(srow, 0); Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/sexshop", "root", "root"); Producto p = Producto.first("id = ?", id); p.set("precio_venta", mpp.getPesos().getText()); p.saveIt(); if (Base.hasConnection()) Base.close(); mpp.dispose(); JOptionPane.showMessageDialog(apgui, "Precio modificado exitosamente."); } if(e.getSource() == mpp.getCancelar()){ mpp.dispose(); } */ }