Logo Studenta

Formulario-Productos-en-java

¡Estudia con miles de materiales!

Vista previa del material en texto

5
Formulario Personas
package Formulario;
import java.awt.event.KeyEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import Prg.Conexion;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 *
 * @author wily
 */
public class frmProducto extends javax.swing.JDialog {
 Conexion nCon; //Conexion de la base de datos
 String sentencia, idma, fechaInsert;
 Statement ejecutar;//variable para ejecucion de sentencias
 DecimalFormat numeros = new DecimalFormat("##,###,###");
 ResultSet resultado;//variable para almacenar resultado de consultas
 SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
 DefaultTableModel mitabla = new DefaultTableModel();
 char operacion;
 public frmProducto(java.awt.Frame parent, boolean modal) {
 super(parent, modal);
 initComponents();
 this.setLocationRelativeTo(null);
 this.setResizable(false);
 try {
 ejecutar = nCon.getConexion().createStatement();
 } catch (SQLException ex) {
 Logger.getLogger(frmPersonas.class.getName()).log(Level.SEVERE, null, ex);
 }
 CargarComboM();
 mitabla.addColumn("Codigo");
 mitabla.addColumn("NombreProducto");
 mitabla.addColumn("Precio Costo");
 mitabla.addColumn("Precio Venta");
 mitabla.addColumn("Nombre Marca");
 modoEdicion(false);
 mostrarDatos();
 }
 Validacion de campo
 private void txtPrecioVActionPerformed(java.awt.event.ActionEvent evt) { 
 try {
 int c = Integer.parseInt(txtPrecioC.getText());
 int v = Integer.parseInt(txtPrecioV.getText());
 if (v > 0) {
 } else {
 txtPrecioV.setText(Integer.toString(v));
 JOptionPane.showMessageDialog(this, "El Precio de Venta no puede ser menor que cero", "Dato Incorrecto", JOptionPane.WARNING_MESSAGE);
 }
 if (v > c) {
 } else {
 txtPrecioV.setText(Integer.toString(v));
 JOptionPane.showMessageDialog(this, "El Precio de Venta no puede ser menor que el precio de costo", "Dato Incorrecto", JOptionPane.WARNING_MESSAGE);
 txtPrecioV.grabFocus();
 txtPrecioV.setText(null);
 }
 } catch (Exception e) {
 JOptionPane.showMessageDialog(this, "El valor debe ser numerico", "Campo Numerico", JOptionPane.ERROR_MESSAGE);
 txtPrecioV.grabFocus();
 txtPrecioV.setText(null);
 }
 } 
Botones y cuadros de texto
 private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) { 
 accionModificar();
 } 
 private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) { 
 limpiarCuadros();
 modoEdicion(false);
 } 
 private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) { 
 accionAgregar();
 } 
 private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) { 
 accionGuardar();
 } 
 private void cmbMarcaKeyPressed(java.awt.event.KeyEvent evt) { 
 if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
 traerMarcas();
 }
 } 
 private void tablaProductoMouseClicked(java.awt.event.MouseEvent evt) { 
 cargarCuadros();
 } 
 private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) { 
 dispose();
 } 
 private void txtPrecioCActionPerformed(java.awt.event.ActionEvent evt) { 
 try {
 int prac = Integer.parseInt(txtPrecioC.getText());
 if (prac > 0) {
 } else {
 txtPrecioC.setText(Integer.toString(prac));
 JOptionPane.showMessageDialog(this, "El Precio de Costo no puede ser menor que cero", "Dato Incorrecto", JOptionPane.WARNING_MESSAGE);
 txtPrecioC.grabFocus();
 txtPrecioC.setText(null);
 }
 } catch (Exception e) {
 JOptionPane.showMessageDialog(this, "El valor debe ser numerico", "Campo Numerico", JOptionPane.ERROR_MESSAGE);
 txtPrecioC.grabFocus();
 txtPrecioC.setText(null);
 }
 } 
 private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) { 
 accionEliminar();
 } 
Metodos
 private void CargarComboM() {
 sentencia = "SELECT * FROM marca_prod";
 try {
 resultado = ejecutar.executeQuery(sentencia);
 while (resultado.next()) {
 Object dato[] = new Object[1];
 dato[0] = resultado.getObject(2).toString();
 cmbMarca.addItem(dato[0]);
 }
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 private void modoEdicion(boolean vL) {
 txtNombre.setEnabled(vL);
 txtIva.setEnabled(vL);
 txtPrecioC.setEnabled(vL);
 txtPrecioV.setEnabled(vL);
 cmbMarca.setEnabled(vL);
 tablaProducto.setEnabled(!vL);
 btnAgregar.setEnabled(!vL);
 btnGuardar.setEnabled(vL);
 btnCancelar.setEnabled(vL);
 btnModificar.setEnabled(!vL);
 btnEliminar.setEnabled(!vL);
 btnCerrar.setEnabled(!vL);
 }
 private void mostrarDatos() {
 mitabla.setRowCount(0);
 sentencia = "SELECT * FROM vistaProducto";
 try {
 resultado = ejecutar.executeQuery(sentencia);
 while (resultado.next()) {
 Object fila[] = new Object[8];
 for (int x = 0; x < 8; x++) {
 fila[x] = resultado.getObject(x + 1);
 }
 //asignar a tabla abstracta
 mitabla.addRow(fila);
 }
 //asignar modelo a tabla(objeto)
 tablaProducto.setModel(mitabla);
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 private void accionModificar() {
 if(!txtNombre.getText().isEmpty()){
 modoEdicion(true);
 operacion = 'M';//indicamos la modificacion de registros
 txtNombre.grabFocus();
 }else{
 JOptionPane.showMessageDialog(this,"Haga clic en el registro que desee modificar",
 "Seleccione un Producto",JOptionPane.WARNING_MESSAGE);
 }
 }
 private void limpiarCuadros() {
 txtCodigo.setText(null);
 txtNombre.setText(null);
 txtPrecioC.setText(null);
 txtPrecioV.setText(null);
 txtIva.setText(null);
 txtFecha.setText("");
 cmbMarca.setSelectedIndex(-1);
 }
 private void accionAgregar() {
 sentencia = "SELECT MAX(Id_Producto)FROM Producto";
 try {
 //ejecuta la consulta
 resultado = ejecutar.executeQuery(sentencia);
 //posicionamosal primer registro
 resultado.next();
 //obtenemos el valor entero del resultado
 int xid = resultado.getInt(1);
 //aumentar en 1
 xid++;
 //Asignar al cuadro codigo
 txtCodigo.setText(Integer.toString(xid));
 //Activar modo edicion (v)
 modoEdicion(true);
 //Enviar enfoque a nombre
 txtNombre.grabFocus();
 //Ingresar fecha por defecti
 Date fecha = new Date();
 txtFecha.setValue(fecha);
 fechaInsert = formato.format(fecha);
 operacion = 'A';//Indica que estamos agregando registro
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 private void accionGuardar() {
 //Obtener valores de cuadros en variables
 String v1 = txtCodigo.getText();
 String v2 = txtNombre.getText();
 String v3 = fechaInsert;
 String v4 = txtPrecioC.getText();
 String v5 = txtPrecioV.getText();
 String v6 = txtIva.getText();
 String v7 = idma; 
 //validar los datos
 if(txtNombre.getText().isEmpty()){
 JOptionPane.showMessageDialog(this,"No se puede dejar en blanco");
 txtNombre.grabFocus();
 }
 else{
 //sentencia de almacenamiento
 if(operacion=='A'){
 sentencia = "INSERT INTO Producto VALUES('"+v1+"','"+v2+"','"+v3+"','"+v4+"','"+v5+"','"+v6+"','"+v7+"')";
 }else{
 sentencia = "UPDATE Producto SET idmarca_prod='"+v2+"',nombre_prodo='"+v3+"',precio_costo='"+v4+"',precioventa='"+v5+"',porcentaje='"+v6+"' WHERE cod_prod='"+v1+"'";
 }
 try {
 ejecutar.executeUpdate(sentencia);
 } catch (SQLException ex) {
 JOptionPane.showMessageDialog(this,"Error al almacenar\n"+ex);
 }
 //limpiar cuadros y modo edicion a falso
 limpiarCuadros();
 modoEdicion(false);
 mostrarDatos();
 }
 }
 private void traerMarcas() {
 String xmar = cmbMarca.getSelectedItem().toString();
 sentencia = "SELECT * FROM marca_prod WHERE Descrip_marca ='" + xmar + "'";
 try {
 resultado = ejecutar.executeQuery(sentencia);
 resultado.first();
 idma = resultado.getObject(1).toString();
 System.out.print(idma);
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 private void cargarCuadros() {
 int fSel = tablaProducto.getSelectedRow();
 //Obtener id de la fila seleccionada
 String xid = tablaProducto.getValueAt(fSel,0).toString();
 //Traemos los datos del funcionario desde la tabla
 sentencia="SELECT * FROM Producto WHERE Id_Producto ='"+xid+"'";
 try {
 resultado= ejecutar.executeQuery(sentencia);
 resultado.next();
 //cargamos los valores en los cuadros de texto
 txtCodigo.setText(resultado.getObject(1).toString());
 txtNombre.setText(resultado.getObject(2).toString());
 txtFecha.setText(resultado.getObject(3).toString());
 txtPrecioC.setText(resultado.getObject(4).toString());
 txtPrecioV.setText(resultado.getObject(5).toString());
 txtIva.setText(resultado.getObject(6).toString());
 idma = resultado.getObject(7).toString();
 //PARA MARCAS
 sentencia = "SELECT * FROM marca_prod WHERE idmarca_prod='"+idma+"'";
 resultado = ejecutar.executeQuery(sentencia);
 resultado.next();
 cmbMarca.setSelectedItem(resultado.getObject(2));
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 private void accionEliminar() {
 if(!txtNombre.getText().isEmpty()){
 //obtenemos el id de la categoria
 String xid = txtCodigo.getText();
 sentencia = "DELETE FROM producto WHERE cod_prod ='"+xid+"'";
 int resp = JOptionPane.showConfirmDialog(this,"Confirma la eliminacion?",
 "Confirme",JOptionPane.YES_NO_OPTION);
 if(resp==JOptionPane.YES_OPTION){
 try {
 ejecutar.executeUpdate(sentencia);
 } catch (SQLException ex) {
 Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
 }
 mostrarDatos();
 limpiarCuadros();
 }

Continuar navegando