@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(); } */ }
@Override public void actionPerformed(ActionEvent ae) { if (!Base.hasConnection()) { Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/quiniela", "tecpro", "tecpro"); if (ae.getActionCommand().equals("Actualizar")) { // si presiono actualizar cargarProductos(); // actualizo la tabla de productos } if (ae.getActionCommand().equals("Quitar")) { // si presiono quitar abmp.bajaFecha( (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0), (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0)); cargarFecha( (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0)); } if (ae.getActionCommand().equals("Eliminar")) { // si presiono eliminar abmp.bajaProducto( (int) tablaProducto.getValueAt( getView().getTablaProductos().getSelectedRow(), 0)); // saco el id de la fila en la primer columna cargarProductos(); } if (ae.getActionCommand().equals("Nuevo")) { // si presiono nuevo Object row[] = new Object[6]; // creo una fila nueva vacia getView().getProdModificar().setEnabled(true); tablaProducto.addRow(row); } if (ae.getActionCommand().equals("Modificar")) { // si presiono guardar cambios en una fila BigDecimal b1, b2; String nombre; int hayStock; int stock; for (int j = 0; j < tablaProducto.getRowCount(); j++) { // tomo el nombre de la tabla if (tablaProducto.getValueAt(j, 1) != null) { nombre = (String) tablaProducto.getValueAt(j, 1); } else { nombre = ""; System.out.println("El nombre no puede ser vacio"); } // tomo el precio de la tabla if (tablaProducto.getValueAt(j, 2) != null) { b1 = new BigDecimal((Double) tablaProducto.getValueAt(j, 2)); } else { b1 = new BigDecimal(0); } // tomo la comision de la tabla if (tablaProducto.getValueAt(j, 3) != null) { b2 = new BigDecimal((Double) tablaProducto.getValueAt(j, 3)); } else { b2 = new BigDecimal(0); } // tomo el valor del checkbox de la tabla(si hay o no stock) if (tablaProducto.getValueAt(j, 4) == null || (boolean) tablaProducto.getValueAt(j, 4) == false) { hayStock = 0; } else { hayStock = 1; } if (tablaProducto.getValueAt(j, 5) != null) { stock = new Integer((Integer) tablaProducto.getValueAt(j, 5)); } else { stock = new Integer(0); } // Si el producto es nuevo(no tiene id) if (tablaProducto.getValueAt(j, 0) == null) { abmp.altaProducto(nombre, b1, b2, hayStock, stock); } else { // si el producto existe y solo sera modificado int id = (int) tablaProducto.getValueAt(j, 0); abmp.modificarProducto(id, nombre, b1, b2, hayStock, stock); } } cargarProductos(); // actualizo la tabla de productos JOptionPane.showMessageDialog(getView(), "Cambios guardados con exito!"); } if (ae.getActionCommand().equals("Insertar")) { // si presiono insertar // cargo stock y fecha de la tabla junto con el id del producto String diaDepo = (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0); diaDepo = diaDepo.toLowerCase(); if ("lunes".equals(diaDepo) || "martes".equals(diaDepo) || "miercoles".equals(diaDepo) || "jueves".equals(diaDepo) || "viernes".equals(diaDepo) || "sabado".equals(diaDepo) || "domingo".equals(diaDepo)) { abmp.altaFecha( (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0), (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0)); cargarFecha( (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0)); JOptionPane.showMessageDialog(getView(), "Dia cargado con exito!"); } else { cargarFecha( (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0)); JOptionPane.showMessageDialog(getView(), "El dia esta mal escrito!"); } } } if (Base.hasConnection()) { Base.close(); } cc.cargarProductos(); }