Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 27

package Formulario;

import claseConectar.conectar;
import java.awt.Color;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Factura extends javax.swing.JInternalFrame {


/** Creates new form Factura */
public Factura() {
initComponents();
this.setLocation(25,15 );
txtfac.setEnabled(false);
txtfec.setEnabled(false);
txtfec.setDisabledTextColor(Color.blue);
txtfec.setText(fechaactual());
numeros();

void descontarstock(String codi,String can){


int des = Integer.parseInt(can);
String cap="";
int desfinal;
String consul="SELECT * FROM productos WHERE cod_pro='"+codi+"'";
try {
Statement st= cn.createStatement();
ResultSet rs= st.executeQuery(consul);
while(rs.next())
{
cap= rs.getString(4);
}

} catch (Exception e) {
}
desfinal=Integer.parseInt(cap)-des;
String modi="UPDATE productos SET Stock='"+desfinal+"' WHERE cod_pro = '"+codi+"'";
try {
PreparedStatement pst = cn.prepareStatement(modi);
pst.executeUpdate();
} catch (Exception e) {
}

void numeros(){
int j;
int cont=1;
String num="";
String c="";
String SQL="select max(num_fac) from facturas";
// String SQL="select count(*) from factura";
//String SQL="SELECT MAX(cod_emp) AS cod_emp FROM empleado";
//String SQL="SELECT @@identity AS ID";
try {
Statement st = cn.createStatement();
ResultSet rs=st.executeQuery(SQL);
if(rs.next())
{
c=rs.getString(1);
}

if(c==null){
txtfac.setText("00000001");
}
else{
j=Integer.parseInt(c);
GenerarNumero gen= new GenerarNumero();
gen.generar(j);
txtfac.setText(gen.serie());
}

} catch (SQLException ex) {


Logger.getLogger(Factura.class.getName()).log(Level.SEVERE, null, ex);
}
}

void calcular(){
String pre;
String can;
double iva=0;
double total=0;
double subtotal=0;
double precio;
int cantidad;
double imp=0.0;

/*can=Integer.parseInt(cant);
imp=pre*can;
dato[4]=Float.toString(imp);*/

for(int i=0;i<tbdet.getRowCount();i++)
{
pre=tbdet.getValueAt(i, 2).toString();
can=tbdet.getValueAt(i, 3).toString();
precio=Double.parseDouble(pre);
cantidad=Integer.parseInt(can);
imp=precio*cantidad;
subtotal=subtotal+imp;
iva=subtotal*0.18;
total=subtotal+iva;
// txtcod.setText(""+Math.rint(c*100)/100)
tbdet.setValueAt(Math.rint(imp*100)/100, i, 4);

}
txtsubtotal.setText(Double.toString(subtotal));
txtiva.setText(""+Math.rint(iva*100)/100);
txttotal.setText(""+Math.rint(total*100)/100);

void factura(){
String InsertarSQL="INSERT INTO facturas
(num_fac,cod_cli,nit_cli,subtotal,iva,total,fecha_fac) VALUES (?,?,?,?,?,?,?)";
String numfac=txtfac.getText();
String codcli=txtcod.getText();
String nitcli=txtnit.getText();
String subtotal=txtsubtotal.getText();
String iva=txtiva.getText();
String total=txttotal.getText();
String fecha=txtfec.getText();
try {
PreparedStatement pst = cn.prepareStatement(InsertarSQL);
pst.setString(1,numfac);
pst.setString(2,codcli);
pst.setString(3,nitcli);
pst.setString(4,subtotal);
pst.setString(5,iva);
pst.setString(6,total);
pst.setString(7,fecha);
int n= pst.executeUpdate();
if(n>0)
{
JOptionPane.showMessageDialog(null,"Los datos se guardaron correctamente");
}

} catch (SQLException ex) {


Logger.getLogger(Factura.class.getName()).log(Level.SEVERE, null, ex);
}
}

void detallefacturas(){
for(int i=0;i<tbdet.getRowCount();i++){
String InsertarSQL="INSERT INTO
detallefacturas(num_fac,cod_pro,detalle_fac,cantidad,vr_unitario,vr_total) VALUES (?,?,?,?,?,?)";
String numfac=txtfac.getText();
String codpro=tbdet.getValueAt(i, 0).toString();
String despro=tbdet.getValueAt(i, 1).toString();
String cantpro=tbdet.getValueAt(i, 3).toString();
String preunit=tbdet.getValueAt(i, 2).toString();
String importe=tbdet.getValueAt(i, 4).toString();
try {
PreparedStatement pst = cn.prepareStatement(InsertarSQL);
pst.setString(1,numfac);
pst.setString(2,codpro);
pst.setString(3,despro);
pst.setString(4,cantpro);
pst.setString(5,preunit);
pst.setString(6,importe);

pst.executeUpdate();

} catch (SQLException ex) {


Logger.getLogger(Factura.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

/** 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">
private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();


jTable1 = new javax.swing.JTable();
jLabel2 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel16 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel8 = new javax.swing.JLabel();
txtnomape = new javax.swing.JTextField();
btnclientes = new javax.swing.JButton();
txtnit = new javax.swing.JTextField();
btnproductos = new javax.swing.JButton();
txtcod = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
txtcc = new javax.swing.JTextField();
txtdir = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
txtfec = new javax.swing.JTextField();
jLabel14 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
txtsubtotal = new javax.swing.JTextField();
jLabel19 = new javax.swing.JLabel();
txtiva = new javax.swing.JTextField();
jLabel20 = new javax.swing.JLabel();
txttotal = new javax.swing.JTextField();
tbdetalle = new javax.swing.JTable();
jScrollPane2 = new javax.swing.JScrollPane();
tbdet = new javax.swing.JTable();
jPanel5 = new javax.swing.JPanel();
btnguardar = new javax.swing.JButton();
btnsalir = new javax.swing.JButton();
btncalcular = new javax.swing.JButton();
btneliminar = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jLabel15 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
txtfac = new javax.swing.JTextField();

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);

setClosable(true);
setIconifiable(true);
setMaximizable(true);
setResizable(true);
setTitle("FACTURA");
setPreferredSize(new java.awt.Dimension(0, 0));

jPanel1.setBackground(new java.awt.Color(102, 102, 255));

jLabel1.setFont(new java.awt.Font("Tempus Sans ITC", 0, 11)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText("SUPERMERCADO EL DIAMANTE");

jLabel4.setForeground(new java.awt.Color(255, 255, 255));


jLabel4.setText("Calle 100 N 54A 23 B/Alamos Norte");

jLabel5.setForeground(new java.awt.Color(255, 255, 255));


jLabel5.setText("Telefono: 2222222");

jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/supermercado
- copia.png"))); // NOI18N

jLabel16.setForeground(new java.awt.Color(255, 255, 255));


jLabel16.setText("BOGOTA D.C.");

jLabel3.setForeground(new java.awt.Color(255, 255, 255));


jLabel3.setText("NIT: 80000000111001");

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);


jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(131, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(135, 135, 135))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel5)
.addGap(75, 75, 75))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(155, 155, 155))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jLabel16)
.addGap(174, 174, 174)))
.addComponent(jLabel7)
.addGap(104, 104, 104))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel16)
.addContainerGap())
);

jPanel2.setBackground(new java.awt.Color(102, 102, 255));

jLabel8.setForeground(new java.awt.Color(255, 255, 255));


jLabel8.setText("Señor(a):");

txtnomape.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


txtnomape.setForeground(new java.awt.Color(0, 51, 204));
txtnomape.setEnabled(false);
txtnomape.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtnomapeActionPerformed(evt);
}
});

btnclientes.setBackground(new java.awt.Color(153, 153, 153));


btnclientes.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/buscar1.JPG"))); // NOI18N
btnclientes.setText("...");
btnclientes.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnclientesActionPerformed(evt);
}
});

txtnit.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


txtnit.setEnabled(false);

btnproductos.setBackground(new java.awt.Color(153, 153, 153));


btnproductos.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/buscar.jpg"))); // NOI18N
btnproductos.setText("Buscar");
btnproductos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnproductosActionPerformed(evt);
}
});
txtcod.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
txtcod.setEnabled(false);

jLabel11.setForeground(new java.awt.Color(255, 255, 255));


jLabel11.setText("Cod. Cliente:");

txtcc.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


txtcc.setForeground(new java.awt.Color(51, 51, 255));
txtcc.setEnabled(false);

txtdir.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


txtdir.setEnabled(false);

jLabel10.setForeground(new java.awt.Color(255, 255, 255));


jLabel10.setText("Direccion:");

jLabel9.setForeground(new java.awt.Color(255, 255, 255));


jLabel9.setText("C.C.:");

jLabel13.setForeground(new java.awt.Color(255, 255, 255));


jLabel13.setText("NIT:");

jLabel12.setForeground(new java.awt.Color(255, 255, 255));


jLabel12.setText("Fecha:");

jLabel14.setForeground(new java.awt.Color(255, 255, 255));


jLabel14.setText("Articulo:");

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtdir, javax.swing.GroupLayout.PREFERRED_SIZE, 165,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(34, 34, 34)
.addComponent(jLabel14)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnproductos, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addComponent(jLabel8)
.addComponent(jLabel9))
.addGap(5, 5, 5)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(txtcc, javax.swing.GroupLayout.PREFERRED_SIZE, 84,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtcod, javax.swing.GroupLayout.PREFERRED_SIZE, 74,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12)
.addGap(18, 18, 18)
.addComponent(txtfec, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(txtnomape, javax.swing.GroupLayout.PREFERRED_SIZE, 195,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnclientes)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel13)
.addGap(19, 19, 19)
.addComponent(txtnit, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(17, 17, 17)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel8)
.addComponent(txtnomape)
.addComponent(btnclientes, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtnit, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(txtcc, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(jLabel11)
.addComponent(txtcod, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtfec, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel12))
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel10)
.addComponent(txtdir, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel14)
.addComponent(btnproductos))
.addContainerGap())
);

jPanel4.setBackground(new java.awt.Color(102, 102, 255));


jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder(java.awt.Color.white, null));

jLabel18.setForeground(new java.awt.Color(255, 255, 255));


jLabel18.setText("SubTotal:");

jLabel19.setForeground(new java.awt.Color(255, 255, 255));


jLabel19.setText("IVA:");

jLabel20.setForeground(new java.awt.Color(255, 255, 255));


jLabel20.setText("Total:");

tbdetalle.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {

}
));

tbdet.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"Codigo", "Descripcion", "Precio", "Cantidad", "Importe"
}
){
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class,
java.lang.String.class
};

public Class getColumnClass(int columnIndex) {


return types [columnIndex];
}
});
jScrollPane2.setViewportView(tbdet);

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);


jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jLabel18)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtsubtotal, javax.swing.GroupLayout.PREFERRED_SIZE, 68,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36)
.addComponent(jLabel19)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtiva, javax.swing.GroupLayout.PREFERRED_SIZE, 68,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jLabel20)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txttotal, javax.swing.GroupLayout.PREFERRED_SIZE, 68,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane2))
.addContainerGap())
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(0, 17, Short.MAX_VALUE)
.addComponent(tbdetalle, javax.swing.GroupLayout.PREFERRED_SIZE, 450,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 18, Short.MAX_VALUE)))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(11, 11, 11)
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel18)
.addComponent(txtsubtotal, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel19)
.addComponent(txtiva, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txttotal, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel20))
.addContainerGap(17, Short.MAX_VALUE))
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGap(0, 88, Short.MAX_VALUE)
.addComponent(tbdetalle, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 87, Short.MAX_VALUE)))
);

jPanel5.setBackground(new java.awt.Color(102, 102, 255));


jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(java.awt.Color.white, null));

btnguardar.setBackground(new java.awt.Color(153, 153, 153));


btnguardar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/Guardar1.JPG"))); // NOI18N
btnguardar.setText("Realizar Venta");
btnguardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnguardarActionPerformed(evt);
}
});

btnsalir.setBackground(new java.awt.Color(153, 153, 153));


btnsalir.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/salir1.JPG"))); // NOI18N
btnsalir.setText("Salir");
btnsalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsalirActionPerformed(evt);
}
});

btncalcular.setBackground(new java.awt.Color(153, 153, 153));


btncalcular.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/Cacular1.jpg"))); // NOI18N
btncalcular.setText("Realizar Calculo");
btncalcular.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btncalcularActionPerformed(evt);
}
});

btneliminar.setBackground(new java.awt.Color(153, 153, 153));


btneliminar.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Imagenes/Wzdelete.jpg"))); // NOI18N
btneliminar.setText("Eliminar");
btneliminar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneliminarActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);


jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG, false)
.addComponent(btnsalir, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btneliminar, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnguardar, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(btncalcular, javax.swing.GroupLayout.Alignment.TRAILING))
.addContainerGap(20, Short.MAX_VALUE))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel5Layout.createSequentialGroup()
.addContainerGap(25, Short.MAX_VALUE)
.addComponent(btncalcular)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnguardar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btneliminar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnsalir)
.addContainerGap())
);

jPanel3.setBackground(new java.awt.Color(102, 102, 255));


jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder(java.awt.Color.white, null));
jLabel15.setForeground(new java.awt.Color(255, 255, 255));
jLabel15.setText("FACTURA DE VENTA");

jLabel17.setForeground(new java.awt.Color(255, 255, 255));


jLabel17.setText("Nº");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);


jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel3Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel15)
.addGap(36, 36, 36))
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(jLabel17)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtfac, javax.swing.GroupLayout.PREFERRED_SIZE, 115,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(jLabel15)
.addGap(18, 18, 18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(jLabel17)
.addComponent(txtfac, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.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)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addGap(14, 14, 14)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(4, 4, 4)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(12, 12, 12))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(181, 181, 181)
.addComponent(jLabel2))
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE)))
.addGap(24, 24, 24))
);
setBounds(0, 0, 719, 518);
}// </editor-fold>

public static String fechaactual(){


Date fecha= new Date();
SimpleDateFormat formatofecha= new SimpleDateFormat("dd/MM/YYYY");
return formatofecha.format(fecha);
}

private void btnclientesActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
clientes cli = new clientes();
Principal.jdpescritorio.add(cli);
cli.toFront();
cli.setVisible(true);

private void btnproductosActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
try {
Productos pro= new Productos();
Principal.jdpescritorio.add(pro);
pro.toFront();
pro.setVisible(true);

} catch (Exception e) {
}

private void txtnomapeActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void btncalcularActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(tbdet.getRowCount()<1)
{
JOptionPane.showMessageDialog(this, "Error, no ingreso ningun producto");
}
else{
calcular();
}

private void btnsalirActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
this.dispose();
}

private void btnguardarActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if((txtcod.getText().equals("")) || (txtsubtotal.getText().equals("")))
{
JOptionPane.showMessageDialog(this, "No ingreso cliente,productos o realice operacion");
}
else
{
String capcod="",capcan="";
for(int i=0;i<Factura.tbdet.getRowCount();i++)
{
capcod=Factura.tbdet.getValueAt(i, 0).toString();
capcan=Factura.tbdet.getValueAt(i, 3).toString();
descontarstock(capcod, capcan);

}
factura();
detallefacturas();

txtcod.setText("");
txtnomape.setText("");
txtdir.setText("");
txtcc.setText("");
txtiva.setText("");
txtsubtotal.setText("");
txtnit.setText("");
txttotal.setText("");

DefaultTableModel modelo = (DefaultTableModel) tbdet.getModel();


int a =tbdet.getRowCount()-1;
int i;
for(i=a;i>=0;i--)
{
modelo.removeRow(i);
}

numeros();
}

private void btneliminarActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
DefaultTableModel modelo = (DefaultTableModel) tbdet.getModel();
int fila = tbdet.getSelectedRow();
if(fila>=0)
{
modelo.removeRow(fila);
}
else
{
JOptionPane.showMessageDialog(null, "No Selecciono ninguna fila");
}
}

// Variables declaration - do not modify


private javax.swing.JButton btncalcular;
private javax.swing.JButton btnclientes;
private javax.swing.JButton btneliminar;
private javax.swing.JButton btnguardar;
private javax.swing.JButton btnproductos;
private javax.swing.JButton btnsalir;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
public static javax.swing.JTable tbdet;
private javax.swing.JTable tbdetalle;
public static javax.swing.JTextField txtcc;
public static javax.swing.JTextField txtcod;
public static javax.swing.JTextField txtdir;
private javax.swing.JTextField txtfac;
private javax.swing.JTextField txtfec;
private javax.swing.JTextField txtiva;
public static javax.swing.JTextField txtnit;
public static javax.swing.JTextField txtnomape;
private javax.swing.JTextField txtsubtotal;
private javax.swing.JTextField txttotal;
// End of variables declaration

conectar cc=new conectar();


Connection cn= cc.conexion();

You might also like