Professional Documents
Culture Documents
7 Construccion de Registro de Factura
7 Construccion de Registro de Factura
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;
} 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());
}
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");
}
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();
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));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/supermercado
- copia.png"))); // NOI18N
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
};
} catch (Exception e) {
}
}
factura();
detallefacturas();
txtcod.setText("");
txtnomape.setText("");
txtdir.setText("");
txtcc.setText("");
txtiva.setText("");
txtsubtotal.setText("");
txtnit.setText("");
txttotal.setText("");
numeros();
}