Sie sind auf Seite 1von 104

Sistema Comercial de la empresa

InforSystems Computer S.A.C.

1
Ao del Buen Servicio al Ciudadano

INSTITUCIN
Universidad Politcnica de la Amazona

ESCUELA
Ing. Sistemas y Telemtica

TITULO
Sistema Comercial de la Empresa
InforSystems Computer S.A.C

DOCENTE
Ing: Marco Aurelio Porro Chulli

AUTORES
Angaspilco Montenegro Geyser

Piedra Olano Guadalupe

Marrufo Adan Yeimi Daniel

BAGUA GRANDE - UTCUBAMBA - AMAZONAS


2017

1
INTRODUCCIN
En la actualidad las empresas necesitan informatizar sus procesos para as tener
una mejor performance en la consecucin de sus objetivos empresariales para
ser competitivos en el mercado globalizado donde se encuentran inmersos.

El presente Proyecto, ha sido desarrollado para mejorar la gestin de los


procesos de compras y ventas de INFORSYSTEMS COMPUTER S.A.C. de la
ciudad de Bagua Grande, a travs de la implementacin de un sistema de
informacin de escritorio con lo cual, ofreciendo a los usuarios finales que
manejan a diario informacin un acceso rpido, actualizado y totalmente
confidencial.

La utilizacin de metodologas para el desarrollo de aplicaciones es imposible


omitirla, debido a la gran necesidad de control de variables que con lleva el
mismo desarrollo, y para la ordenada elaboracin de las aplicaciones.

Una metodologa es un marco general basado en un paradigma que sirve de


base para el desarrollo de software y que abarca el ciclo de vida.

Un proceso de desarrollo de software est basado en una metodologa, abarca


todo el ciclo de vida y provee herramientas tecnolgicas de soporte.

La metodologa RUP nos proporciona disciplinas en las cuales se encuentran


artefactos, con lo cual se podr contar con guas para poder documentar
e implementar de una manera fcil y eficiente, todo esto con las respectivas fases
con las cuales cuenta.

La aplicacin est desarrollada en Java(NetBeans) y el sistema administrador de


base de datos Sql Server 2012.

1
DEDICATORIA

Primero agradecer Dios por habernos brindado


salud necesaria para la culminacin de este
importante proyecto.

Tambien a nuestros padres por habernos inculcado


slidos valores y por su apoyo en todo momento
haciendo posible que se haga realidad el sueo que
anhelado de ser profesional.

2
AGRADECIMIENTO

Agradecemos a Dios por la vida y por la salud que nos brinda


da a da y a nuestros padres por su gran apoyo incondicional
y tambien a nuestros maestros por compartir todos sus
comocimientos que poseen .

3
INDICE
I. Anlisis y Diagnstico de la Empresa ........................................................................ 7
1. Descripcin de la Empresa........................................................................................ 7
2. Estructura Orgnica de la Empresa ........................................................................ 7
3. Visin............................................................................................................................... 7
4. Misin .............................................................................................................................. 7
5. Objetivos......................................................................................................................... 8
5.1. General .................................................................................................................... 8
5.2. Especficos............................................................................................................. 8
6. Breve descripcin de los Procesos Involucrados............................................... 8
6.1. Descripcin de los Procesos ............................................................................ 8
6.2. Descripcin de los Documentos ...................................................................... 9
7. Metodologa RUP-Diagrama UML........................................................................... 10
7.1. Anlisis de Requerimientos (Modelo de Casos de Usos del Negocio,
Modelo de Objetos del Negocio y Modelo del Dominio)...................................... 10
7.2. Diagrama de Casos de Uso ............................................................................. 18
7.3. Diagrama de Componentes ............................................................................. 20
7.4. Diagrama de Despliegue .................................................................................. 21
9. Diseo orientado a objetos...................................................................................... 23
1. Diseo de la base de datos...................................................................................... 23
1.1. Modelo E-R........................................................................................................... 23
1.2 . Diseo lgico .................................................................................................... 24
1.2. Diseo fsico........................................................................................................ 25
1.3. Diseo e implementacin de la base de datos (procedimientos
almacenados vistas, activadores, cursores, etc.) ................................................. 27
II. Arquitectura Tecnolgica Requerida ........................................................................ 29
1. Plataformas de Tecnologia ...................................................................................... 29
1.1. Requerimiento del Hardware y Software ..................................................... 29
Hardware: del Sistema .................................................................................................. 29
III. Implementacin al Sistema...................................................................................... 30
1.Pantallas del Sistema..................................................................................................... 30
1.1 Menu de Acceso....................................................................................................... 30
1.2 Menu Principal.......................................................................................................... 30
1.3 Mantenimientos: ..................................................................................................... 31
1.3.1- Categorias............................................................................................................. 31

4
1.3.2- Clientes.................................................................................................................. 31
1.3.3- Productos.............................................................................................................. 32
1.3.4- Proveedor.............................................................................................................. 32
1.3.5- Serie........................................................................................................................ 33
1.3.6- Comprobante........................................................................................................ 33
1.3.7- Marca...................................................................................................................... 33
1.3.8- Usuarios ................................................................................................................ 34
1.4- Movimientos: ............................................................................................................... 35
1.4.1- Ventas .................................................................................................................... 35
1.4.2- Compras ................................................................................................................ 35
1.5- Consultas: .................................................................................................................... 36
1.5.1- Categorias............................................................................................................. 36
1.5.2- Producto................................................................................................................ 36
1.5.3- Proveedor.............................................................................................................. 36
1.5.4- Serie........................................................................................................................ 37
1.5.5- Comprobante........................................................................................................ 37
1.5.6- Marca...................................................................................................................... 37
1.5.7- Clientes.................................................................................................................. 38
1.6.Configuracin:.............................................................................................................. 38
1.6.1- Global ..................................................................................................................... 38
1.7- Reportes: ...................................................................................................................... 39
1.7.1- Ventas .................................................................................................................... 39
1.7.2- Compras ................................................................................................................ 40
1.8- Acerca: .......................................................................................................................... 41
1.8.1- Autores .................................................................................................................. 41
1.9- Factura De Venta:....................................................................................................... 42
2. Codigo de la Aplicacin............................................................................................ 43
2.1 Menu de Acceso....................................................................................................... 43
2.2 Mantenimientos: .......................................................................................................... 44
2.2.1- Categorias............................................................................................................. 44
2.2.2- Clientes.................................................................................................................. 45
2.2.3- Productos.............................................................................................................. 47
2.2.4- Proveedor.............................................................................................................. 50
2.2.5- Serie........................................................................................................................ 52
2.2.6- Comprobante........................................................................................................ 54
2.2.7- Marca...................................................................................................................... 55
2.2.8- Usuario................................................................................................................... 57

5
2.3- Movimientos: ............................................................................................................... 59
2.3.1- Ventas .................................................................................................................... 59
2.3.2- Compras ................................................................................................................ 68
2.4- Consultas: .................................................................................................................... 74
2.4.1- Categorias............................................................................................................. 74
2.4.2- Productos.............................................................................................................. 76
2.4.3- Proveedor.............................................................................................................. 80
2.4.4- Serie........................................................................................................................ 82
2.4.5- Comprobante........................................................................................................ 84
2.4.6- Marca...................................................................................................................... 86
2.4.7- Cliente .................................................................................................................... 88
2.5.-Configuracin: ............................................................................................................ 91
2.5.1- Global ..................................................................................................................... 91
2.6- Reportes: ...................................................................................................................... 95
2.6.1- Ventas .................................................................................................................... 95
2.6.2- Compras ................................................................................................................ 96
Conclusiones................................................................................................................... 98
Recomendaciones.......................................................................................................... 99
Glosario de Trminos.................................................................................................. 100
Bibliografia..................................................................................................................... 101
Anexos ............................................................................................................................ 102

6
Sistema Comercial de la empresa InforSystems Computer S.A.C.

I. Anlisis y Diagnstico de la Empresa

1. Descripcin de la Empresa

INFORSYSTEMS COMPUTER S.A.C. es una empresa dedicada a la


comercializacin de equipos de cmputo y a brindar soluciones en sistemas
informticos y telecomunicaciones, la orientacin de sus esfuerzos es brindar
productos y servicios que guarden una buena relacin precio-calidad, asegurando as
que sus clientes realicen una compra segura mediante una slida garanta post-venta.
Estn ubicados en el Jr. San Martin 306 en la ciudad de Bagua Grande.
2. Estructura Orgnica de la Empresa

Directorio

Gerencia general

Secretaria

Ventas Compras Servicio


Tcnico

3. Visin
Ser la empresa lder en el nororiente del Per en la comercializacin de equipos de
cmputo y en brindar soluciones en telecomunicaciones.
4. Misin
Proveer equipos de cmputo y soluciones en telecomunicaciones a nuestros clientes
del nororiente del Per, asegurndoles una compra segura mediante una slida
garanta post-venta y el total cumplimiento de las garantas brindadas de nuestros
productos y servicios.

7
5. Objetivos
5.1.General

Abrir nuevas tiendas en diferentes lugares del nor oriente del Per, asimismo
liderar tecnologa, como tambin tener liderazgo en la logstica y ser reconocido
por el manejo de buenas prcticas empresariales.

5.2.Especficos

Brindar un servicio diferenciado a bajo costo, pero de reconocida calidad de


productos y servicios al cliente.
Ofrecer productos de calidad, precios accesibles y un servicio de atencin
profesional y personalizada, que el cliente de INFORSYSTEMS COMPUTER
S.A.C., sea fidelizado y regrese por ms productos.
Negociar con proveedores las adquisiciones, los tiempos de entrega,
volmenes de compra, promociones, manejo de stock convirtindolos en
socios estratgicos cuyo esfuerzo se refleje en la reduccin de costos y
eficiencia en la actividad operativa.
Implementacin de tecnologa como herramienta de gestin para optimizar
los procesos y manejo eficiente de los recursos.
Estrategia comercial de bsqueda constante de clientes segn cada
segmento y no esperar que el cliente se acerque a nuestras tiendas.
6. Breve descripcin de los Procesos Involucrados
6.1.Descripcin de los Procesos
Proceso de ventas
El proceso de ventas tiene sub procesos que a continuacin se detallan:
1. Consulta de stock y precios
Se inicia cuando un cliente consulta uno o ms productos.
El vendedor brinda la informacin correspondiente a stock y precios.

2. Registro del pedido.


Si el cliente acepta el precio indicado
El vendedor registra el pedido.
El vendedor informa sobre el total del pedido

3. Facturacin y cobro del pedido.


El cajero consulta el pedido registrado.
El cajero solicita el pago del importe del pedido.
El cliente paga el importe.

8
El cajero registra el comprobante de venta (factura o boleta).

4. Entrega de productos del pedido


El personal de despacho realiza el despacho de los productos del
pedido.
Finaliza el proceso.

Proceso de compras
El proceso de compras tiene sub procesos que a continuacin se
detallan:
1. Emisin de solicitud de cotizacin a los proveedores.
Se elabora una lista de productos con stock insuficiente.
Se enva por correo electrnico a los proveedores que venden dichos
Productos.

2. Comparacin de precios de cotizaciones de proveedores.


Se recepciona las cotizaciones de los proveedores.
Se elabora un cuadro comparativo de las cotizaciones.
Se selecciona el o los proveedores donde se realizar la compra.

3. Solicitud de compra dirigida al o los proveedores.


Se remite la solicitud de compra a los proveedores seleccionados,
indicando la direccin de envi por la cual tienen que remitir el
pedido

4. Depsito bancario de la compra


El proveedor remite una nota de pedido indicando los productos,
precios e importe total a depositar.
Se realiza el depsito bancario.

5. Recepcin de productos comprados.


Personal de despacho van a empresa de transportes a recoger
las encomiendas enviadas por los proveedores.
Se verifica la conformidad en cantidad y estado fsico de los
productos.
Se registra la compra.

6.2. Descripcin de los Documentos


Proceso de ventas
La facturacin del pedido es el tercer subproceso del proceso de ventas, all
se detalla el comprobante de venta que registra el cajero y que puede ser
boleta o factura

9
La boleta se entrega cuando el monto de la venta supera los 5
nuevos soles, caso contrario no es obligacin entregar la boleta de
venta, salvo que el comprador lo solicite.
La factura se realiza cuando el comprador tiene ruth, puede ser una
persona natural o jurdica.

7. Metodologa RUP-Diagrama UML

7.1.Anlisis de Requerimientos (Modelo de Casos de Usos del Negocio,


Modelo de Objetos del Negocio y Modelo del Dominio)

Modelo de casos de usos del negocio

10
Casos de usos del negocio

Gestionar Compra
Cajero
Proveedor

Gestionar Marca

Cliente

Gestionar Venta

Gestionar Usuario

Vendedor

Gestionar Proveedor Gestionar Serie Gestionar Cliente Gestionar Producto Gestionar Comprobante Gestionar Categoria

11
Modelo de objetos del negocio usuario

Modelo de objetos del negocio - usuario

Consultar

Cajero
Usuario
(from Use Case View)
Registrando Usuario

Usuario Registrar/Modificar/Anular
(from Use Case View)

Modelo de objetos del negocio proveedor

Consultar

Proveedor
Cajero
(from Use Case View)

Registrar Proveedor

Registrar/Modificar/Anular

Proveedor
(from Use Case View)

Modelo de objetos del negocio serie

12
Consultar

Serie

Cajero
Registrando Serie
(from Use Case View) Consulatr

Registrar/Modificar/Anular Comprobante

Modelo de objetos del negocio cliente

Consulatr Cliente

Cajero
(from Use Case View) Registrar/Modificar/Anular
Registrando Cliente

Cliente
(from Use Case View)

Modelo de objetos del negocio producto

13
Consultar

Producto
Consultar
Cajero Registrar Producto
(from Use Case View)

Consular

Categoria

Registrar/Modificar/Anular

Marca

Modelo de objetos del negocio comprobante

Consultar

Comprobante
Cajero
Registrar Comprobante
(from Use Case View)

Registrar/Modificar/Anular

Modelo de objetos del negocio categora

14
Consultar

Categoria
Cajero
(from Use Case View) Rgistrando Categoria

Registrar/Modificar/Anular

Modelo de objetos del negocio venta

Registrar / Modificar / Anular / Restaurar Venta

consultar

Producto

consultar

Registrando venta

consultar
Cliente

consultar

Comprobante

Serie

Modelo de objetos del negocio marca

15
Marca
Cajero
Registrando Marca
(from Use Case View)

Registra/Modificar/Anular

Modelo de objetos del negocio compra

consulta/modificar

consultar Compra
Cajero
(from Use Case View)
Registrando compra
consultar

Proveedor

Producto

Modelo de dominio

16
Serie +1
(from Diagrama de clases)
+n
+1
+n
Comprobante +1
(from Diagrama de clases) +n
+n +n +1 Cliente
Venta
(from Diagrama de clases)
(from Diagrama de clases)
+n

+n +1
+1
Categoria +1 +n +n Marca
Producto Persona Usuario
(from Diagrama de clases) (from Diagrama de clases) (from Diagrama de clases) (from Diagrama de clases)
+n

+n
Compra Proveedor
(from Diagrama de clases) (from Diagrama de clases)
+n +1

17
7.2.Diagrama de Casos de Uso

18
19
7.3.Diagrama de Componentes

PComprobante.java
GESTION SERIE
(Class)
SistemaDistribuidora.Datos GESTION MARCA
(funciones) (Class)

GESTION GESTION DE PProveedor.java


COMPROBANTE(Class) PROVEEDOR (Class)

PVenta.java
GESTION DE
PCliente.java
VENTAS (Class)
GESTION GESTION USUARIO GESTION PDetalleVenta.java
CLIENTE (Class) (Class) PRODUCTO (Class) GESTION Pserie.java
COMPRAS (Class) PComprobante.java

GESTION PCategoria.java
PCliente.java PProducto.java CATEGORIA (Class)
PPersona.java
PPersona.java PMarca.java PProveedor.java
PCategoria.java PUsuario.java
PDetalleCompra.java

Modelo Fisico
SisComercial.Logica Getters Modelo Lgico

PROYECTO-VENTAS

SisComercial.Interfaz Interfaz de usario Inicio

SistemaDistribuidora.Reportes Reportes del sistema

SistemaDistribuidora.Datos Funciones de las


clases

20
7.4.Diagrama de Despliegue

21
8. Cronograma de Actividades (Diagrama de Gantt)

Setiembre Octubre Noviembre Diciembre


N Actividad Responsable 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Anlisis y diagnstico de
1 la empresa. Equipo y
empresa
Diseo orientado a
objetos (Diseo de la
Base de Datos). Equipo
2
Diseo orientado a
objetos (Diseo de Equipo y
3 Sistema). empresa
Prototipo del
4 Sistema. Equipo
Diseo orientado a objetos
(Manuales del Sistema).
5 Equipo
Arquitectura
tecnolgica requerida e
6 implementacin del Equipo y
sistema. empresa
Entrega de proyecto
7 final. Equipo

22
9. Diseo orientado a objetos

1. Diseo de la base de datos


1.1. Modelo E-R

23
1.2 . Diseo lgico

Persona Proveedor
CodigoPersona : Integer CodProvee : Integer
Dni : Char(8) Compra Ruc : Varchar(11)
Nombres : Varchar(50) CodCompra : Integer RSocial : Varchar(30)
ApellidoP : Varchar(50) Numero : Integer EstadoRuc : Char(1)
ApellidoM : Varchar(50) Serie : Varchar(5) Telef : Char(9)
FeNac : Date TipDocm : Varchar(30) +n +1 Direccion : Varchar()30
Direc : Varchar(30) FecCompra : Date Ubicacion : Varchar(30)
Ubicacion : Varchar(30) FechaRegisto : Date Estado : Char(1)
Telf : Char(9) Igv : Char(1)
Estado : Char(1) Estado : Char(1)
Categoria
CodigoCategoria : Integer
+n
Categoria : Varchar(30)
Estado : Char(1)
Cliente
CodCliente : Integer +1
Usuario
CodUsuario : Integer +1 +n
NomUsuario : Varchar(30)
ClavUsuario : Varchar(30) +n
TipoUsuario : Varchar(30) +1 +n Producto
Estado : Char(1) CodProdcto : Integer
Venta Descrip : Varchar(50)
+n
CodigoVenta : Integer OtrasCaracter : Varchar(30)
+n Modelo : Varchar(30)
Numero : Integer +n
+n FechaVents : Date PrcCompra : Money
Comprobante +1 Igv : IChar(1) PrecVenta : Money
Estado : Char(1) Estado : Char(1)
CodigoComprobante : Integer
Descripcin : Varchar(30)
Estado : Char(1) +n +n
+1
+1 +1
+n Serie Marca
CodigoSerie : Integer CodigoMarca : Integer
Serie : Varchar(5) Descripcin : Varchar(30)
Numero : Integer Estado : Char(1)
Estado : Char(1)

24
1.2. Diseo fsico

25
26
1.3. Diseo e implementacin de la base de datos (procedimientos
almacenados vistas, activadores, cursores, etc.)

Tabla: Usuario

Tabla: Proveedor

Tabla: Serie

Tabla: Cliente

Tabla: Producto

27
Tabla: Comprobante

Tabla: Categora

Tabla: Venta

Tabla: Marca

Tabla: Compra

28
Tabla: DetalleVenta

Tabla: DetalleCompra

II. Arquitectura Tecnolgica Requerida

1. Plataformas de Tecnologia

1.1. Requerimiento del Hardware y Software


Hardware: del Sistema

Software: del Sistema


Microsoft SQL Server 2012.
NetBeans 8.0.2.
Java

29
III. Implementacin al Sistema

1.Pantallas del Sistema

1.1 Menu de Acceso

1.2 Menu Principal

30
1.3 Mantenimientos:

1.3.1- Categorias

1.3.2- Clientes

31
1.3.3- Productos

1.3.4- Proveedor

32
1.3.5- Serie

1.3.6- Comprobante

1.3.7- Marca

33
1.3.8- Usuarios

34
1.4- Movimientos:

1.4.1- Ventas

1.4.2- Compras

35
1.5- Consultas:

1.5.1- Categorias

1.5.2- Producto

1.5.3- Proveedor

36
1.5.4- Serie

1.5.5- Comprobante

1.5.6- Marca

37
1.5.7- Clientes

1.6.Configuracin:

1.6.1- Global

38
1.7- Reportes:

1.7.1- Ventas

39
1.7.2- Compras

40
1.8- Acerca:

1.8.1- Autores

41
1.9- Factura De Venta:

42
2. Codigo de la Aplicacin

2.1 Menu de Acceso


package Formularios;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import Base.ConectaBD;
import javax.swing.JOptionPane;

public class Frm_Login extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();

public Frm_Login() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}

private void close() {


this.dispose();
}
private void JBTNaceptarActionPerformed(java.awt.event.ActionEvent evt) {
String usu, clave, sql;
usu = this.JTXTusuario.getText();
clave = this.JPSWDcontrasea.getText();
sql = "SELECT u.CodUsuario,p.ApellidoP+' '+p.ApellidoM+' '+p.Nombres
FROM Usuario u inner join Persona p on p.CodigoPersona=u.IdPersona WHERE
NomUsuario='" + usu + "'AND ClavUsuario='" + clave + "'";
try {
//execute para consultar, executequery para mantenimiento
cnx.rs = cnx.stm.executeQuery(sql);
if (cnx.rs.next()) {
//Estoy cerrando la ventana actual
this.dispose();

Frm_Venta.codusuario = cnx.rs.getInt(1);
FrmMenuPrincipal.ues = cnx.rs.getString(2);
FrmMenuPrincipal FRM_menu = new FrmMenuPrincipal();
//Estamos llamando al menu
FRM_menu.show();
} //0 es el icono de x --- null es el tipo de la ventana
//2 signo de admiracin

43
//1 signo de informacin
else {
JOptionPane.showMessageDialog(null, "Usuario y/o contrasea
incorrecta", "Accesono valido", 2);
}
} catch (Exception e) {
System.out.println(e.getMessage());

}
}

2.2 Mantenimientos:

2.2.1- Categorias

package Formularios;
import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Categoria extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();


int Sw;

public void limpiar() {


this.jXTextCodigo.setText("");
this.jXTextDescripcion.setText("");
}

public void cajas(boolean estado) {


this.jXTextDescripcion.setEnabled(estado);
}

public void botones(boolean estado) {


this.JBTNnuevo.setEnabled(estado);
this.JBTNguardar.setEnabled(!estado);
this.JBTNcancelar.setEnabled(!estado);
this.JBTNactualizar.setEnabled(estado);
this.JBTNbuscar.setEnabled(estado);
}

public Frm_Categoria() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}

44
});
setLocationRelativeTo(null);
}
private void JBTNguardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String sql;
sql = ("INSERT INTO Categoria (Categoria) VALUES ('" +
this.jXTextDescripcion.getText() + "')");
try {
if (Sw == 0) {
r = JOptionPane.showConfirmDialog(null, "Grabar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute(sql);
limpiar();
}
}
if (Sw == 1) {
r = JOptionPane.showConfirmDialog(null, "Actualizar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute("UPDATE Categoria SET Categoria='" +
this.jXTextDescripcion.getText().toUpperCase() + "'where CodigoCategoria='" +
jXTextCodigo.getText() + "'");
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
}
2.2.2- Clientes

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Categoria.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.sql.Date;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;

public class Frm_Cliente extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();

45
int Sw;

public void limpiar() {


this.jXTextCodigo.setText("");
this.jXTextDni.setText("");
this.jXTextNombre.setText("");
this.jXTextApellidoPat.setText("");
this.jXTextApellidMat.setText("");
this.jTextFecnac.setText("");
this.jXTextDirec.setText("");
this.jXTextUbicacio.setText("");
this.jXTextTelef.setText("");
}

public void cajas(boolean estado) {


this.jXTextDni.setEnabled(estado);
this.jXTextNombre.setEnabled(estado);
this.jXTextApellidoPat.setEnabled(estado);
this.jXTextApellidMat.setEnabled(estado);
this.jTextFecnac.setEnabled(estado);
this.jXTextDirec.setEnabled(estado);
this.jXTextUbicacio.setEnabled(estado);
this.jXTextTelef.setEnabled(estado);

public void botones(boolean estado) {


this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancela.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}

public Frm_Cliente() {
initComponents();
jXTextCodigo.setVisible(false);
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String idpersona = "";
try {

46
cnx.stm.execute("INSERT INTO Persona
(DNI,Nombres,ApellidoP,ApellidoM,FeNac,Direc,Ubicacion,Telf)VALUES ('" +
this.jXTextDni.getText() + "','" + this.jXTextNombre.getText() + "','" +
this.jXTextApellidoPat.getText() + "','" + this.jXTextApellidMat.getText() + "','" +
this.jTextFecnac.getText() + "','" + this.jXTextDirec.getText() + "','" +
this.jXTextUbicacio.getText() + "','" + this.jXTextTelef.getText() + "')");

cnx.rs = cnx.stm.executeQuery("SELECT CodigoPersona FROM Persona


WHERE DNI='" + this.jXTextDni.getText() + "'");
while (cnx.rs.next()) {
idpersona = cnx.rs.getString(1);
}
if (Sw == 0) {
r = JOptionPane.showConfirmDialog(null, "Grabar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute("INSERT INTO Cliente (IdPersona)VALUES ('" +
idpersona + "')");
limpiar();
}
}
if (Sw == 1) {
r = JOptionPane.showConfirmDialog(null, "Actualizar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute("UPDATE Cliente SET IdPersona='" + idpersona + "'
Where CodCliente='" + jXTextCodigo.getText() + "'");
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
}

2.2.3- Productos

package Formularios;
import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Producto extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();


int Sw;
public void limpiar(){

47
this.jXTextCodigo.setText("");
this.jXTextDescripc.setText("");
this.jXTextCaract.setText("");
this.jXTextModelo.setText("");
this.jXTextPreciCompre.setText("");
this.jXTextPrecioVenta.setText("");
this.jXTextCantidad.setText("");
this.jCboMarc.setSelectedIndex(-1);
this.jCboCateg.setSelectedIndex(-1);
}
public void cajas(boolean estado){

this.jXTextDescripc.setEnabled(estado);
this.jXTextCaract.setEnabled(estado);
this.jXTextModelo.setEnabled(estado);
this.jXTextPreciCompre.setEnabled(estado);
this.jXTextPrecioVenta.setEnabled(estado);
this.jXTextCantidad.setEnabled(estado);
this.jCboMarc.setEnabled(estado);
this.jCboCateg.setEnabled(estado);
}
public void botones(boolean estado){
this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}
public void cargacombo1(){
try{
cnx.rs=cnx.stm.executeQuery("SELECT Descripcion FROM Marca ORDER
BY 1");
while(cnx.rs.next()){
this.jCboMarc.addItem(cnx.rs.getString(1));
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public void cargacombo2(){
try{
cnx.rs=cnx.stm.executeQuery("SELECT Categoria FROM Categoria ORDER
BY 1");
while(cnx.rs.next()){
this.jCboCateg.addItem(cnx.rs.getString(1));
}
}

48
catch(Exception e){
System.out.println(e.getMessage());
}
}
public Frm_Producto() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String idmarac="",idcategoria="";
try{
cnx.rs=cnx.stm.executeQuery("SELECT CodigoMarca FROM Marca WHERE
Descripcion='"+this.jCboMarc.getSelectedItem().toString()+"'");
while(cnx.rs.next()){
idmarac=cnx.rs.getString(1);
}
cnx.rs=cnx.stm.executeQuery("SELECT CodigoCategoria FROM Categoria
WHERE Categoria='"+this.jCboCateg.getSelectedItem().toString()+"'");
while(cnx.rs.next()){
idcategoria=cnx.rs.getString(1);
}
if(Sw==0){
r=JOptionPane.showConfirmDialog(null,"Grabar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("INSERT INTO Producto
(Descrip,OtrasCaracteristicas,IdMarca,IdCategoria,Modelo,PrecCompra,PrecVenta,
Cantidad)VALUES
('"+this.jXTextDescripc.getText().toUpperCase()+"','"+jXTextCaract.getText()+"','"+
idmarac +"','"+ idcategoria
+"','"+this.jXTextModelo.getText()+"','"+this.jXTextPreciCompre.getText()+"','"+this.j
XTextPrecioVenta.getText()+"','"+this.jXTextCantidad.getText()+"')");
}}
if(Sw==1){
r=JOptionPane.showConfirmDialog(null,"Actualizar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){

49
cnx.stm.execute("UPDATE Producto SET
Descrip='"+this.jXTextDescripc.getText().toUpperCase()+"',OtrasCaracteristicas='"+
jXTextCaract.getText()+"',IdMarca='"+ idmarac +"',IdCategoria='"+ idcategoria
+"',Modelo='"+this.jXTextModelo.getText()+"',PrecCompra='"+this.jXTextPreciComp
re.getText()+"',PrecVenta='"+this.jXTextPrecioVenta.getText()+"',Cantidad='"+this.j
XTextCantidad.getText()+"'where CodProducto='"+jXTextCodigo.getText()+"'");
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
limpiar();
}

2.2.4- Proveedor

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Producto.jXTextCaract;
import static Formularios.Frm_Producto.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Proveedor extends javax.swing.JFrame {

ConectaBD cnx= new ConectaBD();


int Sw;

public void limpiar() {


this.jXTextCodigo.setText("");
this.jXTextRuc.setText("");
this.jXTextRazonSocl.setText("");
this.jCboEstad.setSelectedIndex(-1);
this.jXTextTelefon.setText("");
this.jXTexttDireccion.setText("");
this.jXTextUbicacion.setText("");
}

public void cajas(boolean estado) {


this.jXTextRuc.setEnabled(estado);
this.jXTextRazonSocl.setEnabled(estado);
this.jCboEstad.setEnabled(estado);
this.jXTextTelefon.setEnabled(estado);
this.jXTexttDireccion.setEnabled(estado);

50
this.jXTextUbicacion.setEnabled(estado);
}

public void botones(boolean estado) {


this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}

public Frm_Proveedor() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
try{
if(Sw==0){
r=JOptionPane.showConfirmDialog(null,"Grabar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("INSERT INTO Proveedor
(RUC,RSocial,EstadoRUC,Telef,Direccion,Ubicacion)VALUES
('"+this.jXTextRuc.getText()+"','"+jXTextRazonSocl.getText()+"','"+this.jCboEstad.ge
tSelectedItem().toString()+"','"+this.jXTextTelefon.getText()+"','"+this.jXTexttDireccio
n.getText()+"','"+this.jXTextUbicacion.getText()+"')");
}}
if(Sw==1){
r=JOptionPane.showConfirmDialog(null,"Actualizar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("UPDATE Proveedor SET
RUC='"+this.jXTextRuc.getText()+"',RSocial='"+jXTextRazonSocl.getText()+"',Estad
oRUC='"+this.jCboEstad.getSelectedItem().toString()+"',Telef='"+this.jXTextTelefon.
getText()+"',Direccion='"+this.jXTexttDireccion.getText()+"',Ubicacion='"+this.jXText
Ubicacion.getText()+"'where CodProvee='"+jXTextCodigo.getText()+"'");
}

51
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
limpiar();
}
2.2.5- Serie

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Producto.jCboCateg;
import static Formularios.Frm_Producto.jCboMarc;
import static Formularios.Frm_Producto.jXTextCaract;
import static Formularios.Frm_Producto.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Serie extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();


int Sw;
public void limpiar(){
this.jXTextCodigo.setText("");
this.jCboComprobante.setSelectedIndex(-1);
this.jXTextSerie.setText("");
this.jXTextNumero.setText("");
}
public void cajas(boolean estado){

this.jCboComprobante.setEnabled(estado);
this.jXTextSerie.setEnabled(estado);
this.jXTextNumero.setEnabled(estado);
}
public void botones(boolean estado){
this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}
public void cargacombo1(){
try{
cnx.rs=cnx.stm.executeQuery("SELECT Descripcion FROM Comprobante
ORDER BY 1");

52
while(cnx.rs.next()){
this.jCboComprobante.addItem(cnx.rs.getString(1));
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

public Frm_Serie() {
initComponents();

titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String idcomprobant="";
try{
cnx.rs=cnx.stm.executeQuery("SELECT CodigoComprobante FROM
Comprobante WHERE
Descripcion='"+this.jCboComprobante.getSelectedItem().toString()+"'");
while(cnx.rs.next()){
idcomprobant=cnx.rs.getString(1);
}
if(Sw==0){
r=JOptionPane.showConfirmDialog(null,"Grabar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("INSERT INTO Serie
(IdComprobante,Serie,Numero)VALUES ('"+ idcomprobant
+"','"+jXTextSerie.getText()+"','"+this.jXTextNumero.getText()+"')");
}}
if(Sw==1){
r=JOptionPane.showConfirmDialog(null,"Actualizar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){

53
cnx.stm.execute("UPDATE Serie SET IdComprobante='"+ idcomprobant
+"',Serie='"+jXTextSerie.getText()+"',Numero='"+this.jXTextNumero.getText()+"'whe
re CodigoSerie='"+jXTextCodigo.getText()+"'");
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
limpiar();
}
2.2.6- Comprobante

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Marca.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Comprobante extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();


int Sw;

public void limpiar(){


this.jXTextCodigo.setText("");
this.jXTextDescripcion.setText("");
}
public void cajas(boolean estado){
this.jXTextDescripcion.setEnabled(estado);
}
public void botones(boolean estado){
this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}
public Frm_Comprobante() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});

54
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String sql;
sql=("INSERT INTO Comprobante (Descripcion) VALUES ('"+
this.jXTextDescripcion.getText() +"')");
try{
if(Sw==0){
r=JOptionPane.showConfirmDialog(null,"Grabar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute(sql);
limpiar();
}
}
if(Sw==1){
r=JOptionPane.showConfirmDialog(null,"Actualizar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("UPDATE Comprobante SET
Descripcion='"+this.jXTextDescripcion.getText().toUpperCase()+"'where
CodigoComprobante='"+jXTextCodigo.getText()+"'");
limpiar();
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
}
2.2.7- Marca

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Categoria.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class Frm_Marca extends javax.swing.JFrame {

55
ConectaBD cnx=new ConectaBD();
int Sw;

public void limpiar(){


this.jXTextCodigo.setText("");
this.jXTextDescripcion.setText("");
}
public void cajas(boolean estado){
this.jXTextDescripcion.setEnabled(estado);
}
public void botones(boolean estado){
this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}
public Frm_Marca() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
String sql;
sql=("INSERT INTO Marca (Descripcion) VALUES ('"+
this.jXTextDescripcion.getText() +"')");
try{
if(Sw==0){
r=JOptionPane.showConfirmDialog(null,"Grabar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute(sql);
limpiar();
}
}
if(Sw==1){

56
r=JOptionPane.showConfirmDialog(null,"Actualizar
datos","registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if(r==JOptionPane.YES_OPTION){
cnx.stm.execute("UPDATE Marca SET
Descripcion='"+this.jXTextDescripcion.getText().toUpperCase()+"'where
CodigoMarca='"+jXTextCodigo.getText()+"'");
limpiar();
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
}
2.2.8- Usuario

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Proveedor.jXTextCodigo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;

public class Frm_Usuario extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();


int Sw;

public void limpiar() {


this.jXTextcodigo.setText("");
this.jXTextNombre.setText("");
this.jCboTipo.setSelectedItem(-1);
this.jXTextDni.setText("");
this.jXTextNombreUs.setText("");
this.jXTextApater.setText("");
this.jXTextAmater.setText("");
this.jTextFecnac.setText("");
this.jXTextDirec.setText("");
this.jXTextUbicac.setText("");
this.jXTextTelef.setText("");
}

public void cajas(boolean estado) {


this.jXTextNombre.setEnabled(estado);

57
this.JDSWclave.setEnabled(estado);
this.jCboTipo.setEnabled(estado);
this.jXTextDni.setEnabled(estado);
this.jXTextNombreUs.setEnabled(estado);
this.jXTextApater.setEnabled(estado);
this.jXTextAmater.setEnabled(estado);
this.jTextFecnac.setEnabled(estado);
this.jXTextDirec.setEnabled(estado);
this.jXTextUbicac.setEnabled(estado);
this.jXTextTelef.setEnabled(estado);
}

public void botones(boolean estado) {


this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnActualizar.setEnabled(estado);
this.jBtnBuscar.setEnabled(estado);
}

public Frm_Usuario() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
//registrar en persona
int r;
String idpersona = "";
try {
cnx.stm.execute("INSERT INTO Persona
(DNI,Nombres,ApellidoP,ApellidoM,FeNac,Direc,Ubicacion,Telf)VALUES ('" +
this.jXTextDni.getText() + "','" + this.jXTextNombreUs.getText() + "','" +
this.jXTextApater.getText() + "','" + this.jXTextAmater.getText() + "','" +
this.jTextFecnac.getText() + "','" + this.jXTextDirec.getText() + "','" +
this.jXTextUbicac.getText() + "','" + this.jXTextTelef.getText() + "')");

cnx.rs = cnx.stm.executeQuery("SELECT CodigoPersona FROM Persona


WHERE DNI='" + this.jXTextDni.getText().toString() + "'");
while (cnx.rs.next()) {
idpersona = cnx.rs.getString(1);

58
}
if (Sw == 0) {
r = JOptionPane.showConfirmDialog(null, "Grabar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute("INSERT INTO Usuario
(NomUsuario,ClavUsuario,TipoUsuario,IdPersona)VALUES ('" +
this.jXTextNombre.getText() + "','" +this.JDSWclave.getText()+"','"+
this.jCboTipo.getSelectedItem().toString() + "','" + idpersona + "')");
}
}
if (Sw == 1) {
r = JOptionPane.showConfirmDialog(null, "Actualizar datos", "registrar",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (r == JOptionPane.YES_OPTION) {
cnx.stm.execute("UPDATE Usuario SET NomUsuario='" +
this.jXTextNombre.getText() +
"',ClavUsuario='"+JDSWclave.getText()+"',TipoUsuario='" +
this.jCboTipo.getSelectedItem().toString() + "',IdPersona='" + idpersona + "'WHERE
CodUsuario='"+jXTextcodigo.getText()+"'");
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
botones(true);
cajas(false);
limpiar();

2.3- Movimientos:

2.3.1- Ventas

package Formularios;

import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;

59
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

public class Frm_Venta extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();


public static int buscarprod = 0;//variable para que el formulario producto sepa
que va a enviar al frm_Venta
double igv = 0;
int item = 1;

public static int codusuario;

public Frm_Venta() {

initComponents();
setLocationRelativeTo(null);
this.setExtendedState(NORMAL);
bloquearCampos();
iniciarbotones();
OcultaColumnas();
ocultarLabelsCodigos();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});

private void ocultarLabelsCodigos() {


jlblcodigoserie.setVisible(false);
jlblcodigopro.setVisible(false);
jlblcantidad.setVisible(false);
jlblcodigocliente.setVisible(false);
// JLBLcc.setVisible(false);
}

private void close() {


this.dispose();

60
}

private void iniciarbotones() {


jlblcodigopro.setVisible(false);
jBtnGuardar.setEnabled(false);
jBtnnuevo.setEnabled(true);
jBtncancelar.setEnabled(false);
jBtnimprimir.setEnabled(false);
jBtnactualizar.setEnabled(false);
jBtnbuscaCliente.setEnabled(false);
jBtnbuscaproducto.setEnabled(false);

private void bloquearCampos() {


jCboserie.setEnabled(false);
jCboComprobante.setEnabled(false);
jtxtdni.setEnabled(false);
jtxtnombrescliente.setEnabled(false);
jtxtprecioventa.setEnabled(false);
jtxtcantidad.setEnabled(false);
jtxtsubtotal.setEnabled(false);
jtxtigv.setEnabled(false);
jtxtotal.setEnabled(false);

jBtnbuscaCliente.setEnabled(false);
jBtnbuscaproducto.setEnabled(false);
}

private void DesbloquearCampos() {


jCboserie.setEnabled(true);
jCboComprobante.setEnabled(true);
jtxtdni.setEnabled(true);
jtxtprecioventa.setEnabled(true);
jtxtcantidad.setEnabled(true);

jBtnbuscaproducto.setEnabled(true);

private void LimpiarTabla() {


DefaultTableModel modelo = (DefaultTableModel) jtblventa.getModel();
for (int x = modelo.getRowCount() - 1; x >= 0; x--) {
modelo.removeRow(x);
}
}

private void limpiarCampos() {

61
jCboserie.removeAllItems();
jCboComprobante.removeAllItems();
jCboserie.addItem("Seleccione");
jCboComprobante.addItem("Seleccione");
jtxtnumdoc.setText(null);
jtxtdni.setText(null);
jtxtnombrescliente.setText(null);
jtxtdescripcion.setText(null);
jtxtpreciocompra.setText(null);
jtxtprecioventa.setText(null);
jtxtcantidad.setText(null);
jtxtsubtotal.setText(null);
jtxtigv.setText(null);
jtxtotal.setText(null);
}

//Cargar combos
private void CargarSerie() {
try {
cnx.rs = cnx.stm.executeQuery("SELECT Serie FROM Serie where
Estado='A'");
while (cnx.rs.next()) {
this.jCboserie.addItem(cnx.rs.getString(1));
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

private void CargarComprobantes() {


try {
cnx.rs = cnx.stm.executeQuery("SELECT s.CodigoSerie,Descripcion FROM
Comprobante c inner join Serie s on c.CodigoComprobante=s.IdComprobante
where s.Serie='" + this.jCboserie.getSelectedItem().toString() + "' and
c.Estado='A'");
this.jCboComprobante.addItem("Seleccione");
while (cnx.rs.next()) {
this.jlblcodigoserie.setText(cnx.rs.getString(1));
this.jCboComprobante.addItem(cnx.rs.getString(2));
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

private void ConsultarNumero() {


try {

62
cnx.rs = cnx.stm.executeQuery("SELECT Correlativo FROM Serie where
Serie='" + this.jCboserie.getSelectedItem().toString() + "'");
if (cnx.rs.next()) {
String num = "";
int numcomprobante = cnx.rs.getInt(1) + 1;
if (numcomprobante < 10) {
num = "00000" + numcomprobante;
} else if (numcomprobante >= 10 && numcomprobante < 100) {
num = "0000" + numcomprobante;
} else if (numcomprobante >= 100 && numcomprobante < 1000) {
num = "000" + numcomprobante;
} else if (numcomprobante >= 1000 && numcomprobante < 10000) {
num = "00" + numcomprobante;
}
jtxtnumdoc.setText(num);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

private void consultarCliente() {


try {
cnx.rs = cnx.stm.executeQuery("SELECT c.CodCliente,p.Nombres+'
'+p.ApellidoP+' '+p.ApellidoM as cliente FROM Persona p inner join Cliente c on
p.CodigoPersona=c.IdPersona where p.DNI='" + this.jtxtdni.getText().trim() + "'");
if (cnx.rs.next()) {
this.jlblcodigocliente.setText(cnx.rs.getString(1));
this.jtxtnombrescliente.setText(cnx.rs.getString(2));
jBtnbuscaCliente.setEnabled(false);
} else {
jBtnbuscaCliente.setEnabled(true);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void OcultaColumnas() {


jtblventa.getColumnModel().getColumn(0).setPreferredWidth(30);
jtblventa.getColumnModel().getColumn(1).setPreferredWidth(-1);

public double conigv() {


try {
cnx.rs = cnx.stm.executeQuery("SELECT Igv From Global");
if (cnx.rs.next()) {

63
this.igv = cnx.rs.getDouble(1);
} else {
igv = 0;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return igv;
}

public void Totalizar() {


double subtotal = 0.0;
double total = 0.0;
try {
if (jtblventa.getRowCount() > 0) {
for (int i = 0; i < jtblventa.getRowCount(); i++) {
subtotal += Double.parseDouble(jtblventa.getValueAt(i, 5).toString());
jtblventa.setValueAt(i + 1, i, 0);
}

BigDecimal bigSubtotal = new BigDecimal(subtotal);


bigSubtotal = bigSubtotal.setScale(2, RoundingMode.HALF_UP);
jtxtsubtotal.setText("" + bigSubtotal);

//si aplica igv suma el subtotal+igv=total


//consulta igv
//calcula del subtotal*igv=IGV
BigDecimal bigIgv = new
BigDecimal(Double.parseDouble(this.jtxtsubtotal.getText()) * conigv());
bigIgv = bigIgv.setScale(2, RoundingMode.HALF_UP);
jtxtigv.setText("" + bigIgv);

total = (Double.parseDouble(this.jtxtsubtotal.getText()) +
(Double.parseDouble(this.jtxtigv.getText())));
BigDecimal bigTotal = new BigDecimal(total);
bigTotal = bigTotal.setScale(2, RoundingMode.HALF_UP);
jtxtotal.setText("" + bigTotal);
}
} catch (Exception e) {

}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
try {

int registradetalle = 0;//cuenta si ha registrado toda la tabla en detalleventa

64
if (jtxtnumdoc.getText().equals("") || jCboComprobante.getSelectedIndex()
== 0 || jCboserie.getSelectedIndex() == 0
|| jtblventa.getRowCount() == 0 || jlblcodigopro.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Falta ingresar datos");
} else {
cnx.stm.execute("INSERT INTO Venta(Numero, IdSerie, Igv,
Idcliente,IdUsuario)VALUES('"
+ this.jtxtnumdoc.getText() + "'," + (this.jlblcodigoserie.getText()) +
",'" + jtxtigv.getText() + "'," + Integer.parseInt(this.jlblcodigocliente.getText()) + "," +
codusuario + ")");

for (int f = 0; f < jtblventa.getRowCount(); f++) {


cnx.stm.execute("INSERT INTO DetalleVenta(IdVenta, IdProducto,
Cantidad, PrecioVenta)VALUES("
+ "(select max(CodigoVenta) from Venta)," +
this.jtblventa.getValueAt(f, 1) + "," + this.jtblventa.getValueAt(f, 3) + "," +
this.jtblventa.getValueAt(f, 4) + ")");
cnx.stm.execute("UPDATE Producto Set Cantidad=Cantidad-" +
this.jtblventa.getValueAt(f, 3) + " where CodProducto=" + this.jtblventa.getValueAt(f,
1) + "");
registradetalle++;
}
cnx.stm.execute("UPDATE Serie Set Correlativo=Correlativo+1 where
CodigoSerie=" + this.jlblcodigoserie.getText() + "");
if (registradetalle == jtblventa.getRowCount()) {
JOptionPane.showMessageDialog(null, "Venta registrada
correctamente");
limpiarCampos();
LimpiarTabla();
bloquearCampos();
jBtnGuardar.setEnabled(false);
jBtncancelar.setEnabled(false);
jBtnnuevo.setEnabled(true);
jBtnimprimir.setEnabled(true);
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

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


int idventa = 0;
try {
cnx.rs = cnx.stm.executeQuery("SELECT MAX(CodigoVenta)FROM
Venta");
if (cnx.rs.next()) {
idventa = cnx.rs.getInt(1);

65
}
JasperReport r =
JasperCompileManager.compileReport("src\\Reportes\\Factura.jrxml");
Map Parametro = new HashMap();
Parametro.put("CodigoVenta", idventa);

JasperPrint informe = JasperFillManager.fillReport(r, Parametro, cnx.cnn);


JasperViewer Hemograma = new JasperViewer(informe, false);
Hemograma.setTitle("COMPROBANTE DE PAGO");
Hemograma.setVisible(true);

} catch (JRException ex) {


Logger.getLogger(Frm_Venta.class.getName()).log(Level.SEVERE, null,
ex);
} catch (SQLException ex) {
Logger.getLogger(Frm_Venta.class.getName()).log(Level.SEVERE, null,
ex);
}
}
private void jtxtcantidadKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == evt.VK_ENTER) {

if (jtxtcantidad.getText().trim().equals("") ||
jtxtprecioventa.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, "Falta ingresar el precio de venta
o la cantidad");
} else {
if (Integer.parseInt(jtxtcantidad.getText()) <=
Integer.parseInt(jlblcantidad.getText())) {

double importe = Double.parseDouble(this.jtxtprecioventa.getText()) *


Integer.parseInt(this.jtxtcantidad.getText());
BigDecimal bigImporte = new BigDecimal(importe);
bigImporte = bigImporte.setScale(2, RoundingMode.HALF_UP);
//redondea a 2 decimales
DefaultTableModel model = (DefaultTableModel) jtblventa.getModel();
int encontrado = 0;
for (int fil = 0; fil < jtblventa.getRowCount(); fil++) {
if (jtblventa.getValueAt(fil,
1).toString().equals(this.jlblcodigopro.getText())) {
encontrado++;
}
}

if (encontrado == 0) { //si es = a 0 es porque no a encontrado


if (jtblventa.getRowCount() == 0) { //si la tabla esta vaca
Vector vRow = new Vector();
vRow.addElement(item);

66
vRow.addElement(jlblcodigopro.getText());
vRow.addElement(jtxtdescripcion.getText());
vRow.addElement(jtxtcantidad.getText().trim());
vRow.addElement(jtxtprecioventa.getText().trim());
vRow.addElement(bigImporte);
model.addRow(vRow);
Totalizar();
item++;
} else {
Vector vRow = new Vector();
vRow.addElement(item);
vRow.addElement(jlblcodigopro.getText());
vRow.addElement(jtxtdescripcion.getText());
vRow.addElement(jtxtcantidad.getText().trim());
vRow.addElement(jtxtprecioventa.getText().trim());
vRow.addElement(bigImporte);
model.addRow(vRow);
Totalizar();
item++;
}
} else {
JOptionPane.showMessageDialog(null, "El producto ya existe en la
lista");
}
} else {
JOptionPane.showMessageDialog(null, "No hay stock suficiente");
}
}

}
}

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

if (jtblventa.getSelectedRow() >= 0) {
DefaultTableModel modelo = (DefaultTableModel) jtblventa.getModel();
modelo.removeRow(jtblventa.getSelectedRow());
Totalizar();

} else {
JOptionPane.showMessageDialog(null, "Seleccione un producto");
}

67
2.3.2- Compras

package Formularios;

import Base.ConectaBD;
import static Formularios.Frm_Venta.buscarprod;
import static Formularios.Frm_Venta.jlblcodigopro;
import static Formularios.Frm_Venta.jtxtcantidad;
import static Formularios.Frm_Venta.jtxtconigv;
import static Formularios.Frm_Venta.jtxtdescripcion;
import static Formularios.Frm_Venta.jtxtprecioventa;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Frm_Compra extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();


Date ahora = new Date(System.currentTimeMillis());
SimpleDateFormat fecha = new SimpleDateFormat("dd/MM/yyyy");
public static int buscarprod = 0;//variable para que el formulario producto sepa
que va a enviar al frm_Venta
double igv = 0;
int item = 1;

public static int codusuario;

public Frm_Compra() {
initComponents();

this.setLocationRelativeTo(null);
this.setExtendedState(NORMAL);
bloquearCampos();
iniciarbotones();
OcultaColumnas();
ocultarLabelsCodigos();
titleBar1.addCloseAction(new ActionListener() {

68
public void actionPerformed(ActionEvent ae) {
close();
}
});
}

public void OcultaColumnas() {


jTblcompra.getColumnModel().getColumn(0).setPreferredWidth(30);
jTblcompra.getColumnModel().getColumn(1).setPreferredWidth(-1);

private void ocultarLabelsCodigos() {

jlblcodigopro.setVisible(false);
jlblcantidad.setVisible(false);
jlblcodigoproveedor.setVisible(false);

private void close() {


this.dispose();
}

private void iniciarbotones() {


jBtnGuardar.setEnabled(false);
jBtnCancelar.setEnabled(false);
jBtnNuevo.setEnabled(true);
jBtnImprimir.setEnabled(false);
// jBtnactualizar.setEnabled(false);
// jBtnbuscaCliente.setEnabled(false);
// jBtnbuscaproducto.setEnabled(false);

private void bloquearCampos() {


jXTextSerie.setEnabled(false);
jXTextnumero.setEnabled(false);
jXTextcomprobante.setEnabled(false);
jDcFecha.setEnabled(false);
JTXTruc.setEnabled(false);
JTXTrazonsocial.setEnabled(false);
jXTextDescripcion.setEnabled(false);
jXTextCompra.setEnabled(false);
jXTextPrecioVenta.setEnabled(false);
jXTextcantidad.setEnabled(false);
jXTexDsubtotal.setEnabled(false);
jXTextigv.setEnabled(false);

69
jXTexTotal.setEnabled(false);
jBtnProveedor.setEnabled(false);

private void DesbloquearCampos() {


JTXTruc.setEnabled(true);
jXTextPrecioVenta.setEnabled(true);
jXTextcantidad.setEnabled(true);
jBtnBuscarP.setEnabled(true);
jXTextSerie.setEnabled(true);
jXTextnumero.setEnabled(true);
jXTextcomprobante.setEnabled(true);
jDcFecha.setEnabled(true);
jXTextCompra.setEnabled(true);

private void LimpiarTabla() {


DefaultTableModel modelo = (DefaultTableModel) jTblcompra.getModel();
for (int x = modelo.getRowCount() - 1; x >= 0; x--) {
modelo.removeRow(x);
}
}

private void limpiarCampos() {


jXTextSerie.setText(null);
jXTextnumero.setText(null);
jXTextcomprobante.setText(null);
jDcFecha.setDate(ahora);
JTXTruc.setText(null);
JTXTrazonsocial.setText(null);
jXTextDescripcion.setText(null);
jXTextCompra.setText(null);
jXTextPrecioVenta.setText(null);
jXTextcantidad.setText(null);
jXTexDsubtotal.setText(null);
jXTextigv.setText(null);
jXTexTotal.setText(null);
}

private void consultarProveedor() {


try {
cnx.rs = cnx.stm.executeQuery("SELECT CodProvee,RSocial FROM
Proveedor WHERE RUC='" + JTXTruc.getText() + "'");
if (cnx.rs.next()) {
this.jlblcodigoproveedor.setText(cnx.rs.getString(1));
this.JTXTrazonsocial.setText(cnx.rs.getString(2));

70
jBtnProveedor.setEnabled(false);
} else {
jBtnProveedor.setEnabled(true);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public double conigv() {


try {
cnx.rs = cnx.stm.executeQuery("SELECT Igv From Global");
if (cnx.rs.next()) {
this.igv = cnx.rs.getDouble(1);
} else {
igv = 0;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return igv;
}

public void Totalizar() {


double subtotal = 0.0;
double total = 0.0;
try {
if (jTblcompra.getRowCount() > 0) {
for (int i = 0; i < jTblcompra.getRowCount(); i++) {
subtotal += Double.parseDouble(jTblcompra.getValueAt(i,
6).toString());
jTblcompra.setValueAt(i + 1, i, 0);
}

BigDecimal bigSubtotal = new BigDecimal(subtotal);


bigSubtotal = bigSubtotal.setScale(2, RoundingMode.HALF_UP);
jXTexDsubtotal.setText("" + bigSubtotal);

//si aplica igv suma el subtotal+igv=total


//consulta igv
//calcula del subtotal*igv=IGV
BigDecimal bigIgv = new
BigDecimal(Double.parseDouble(this.jXTexDsubtotal.getText()) * conigv());
bigIgv = bigIgv.setScale(2, RoundingMode.HALF_UP);
jXTextigv.setText("" + bigIgv);

total = (Double.parseDouble(this.jXTexDsubtotal.getText()) +
(Double.parseDouble(this.jXTextigv.getText())));

71
BigDecimal bigTotal = new BigDecimal(total);
bigTotal = bigTotal.setScale(2, RoundingMode.HALF_UP);
jXTexTotal.setText("" + bigTotal);
}
} catch (Exception e) {

}
}
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
try {
String fechacompra = fecha.format(this.jDcFecha.getDate());
String igb = "";//para guardar si tiene igv
int registradetalle = 0;//cuenta si ha registrado toda la tabla en detalleventa
igb = "S";

if (jXTextSerie.equals("") || jXTextnumero.getText().equals("") ||
jXTextcomprobante.getText().equals("") || jTblcompra.getRowCount() == 0 ||
jlblcodigopro.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Falta ingresar datos");
} else {
cnx.stm.execute("INSERT INTO Compra(Numero, Serie, TipDocm,
FechaCompra,Igv,IdProveedor)VALUES('"
+ this.jXTextnumero.getText() + "','" + this.jXTextSerie.getText() +
"','" + jXTextcomprobante.getText() + "','" + fechacompra + "','" + igb + "'," +
jlblcodigoproveedor.getText() + ")");

for (int f = 0; f < jTblcompra.getRowCount(); f++) {


cnx.stm.execute("INSERT INTO DetalleCompra(IdCompra, IdProducto,
Cantidad, PrecioCompra,PrecioVenta)VALUES("
+ "(select max(CodCompra) from Compra)," +
this.jTblcompra.getValueAt(f, 1) + "," + this.jTblcompra.getValueAt(f, 5) + "," +
this.jTblcompra.getValueAt(f, 3) + "," + this.jTblcompra.getValueAt(f, 4) + ")");
cnx.stm.execute("UPDATE Producto Set PrecCompra=" +
this.jTblcompra.getValueAt(f, 3) + ",PrecVenta=" + this.jTblcompra.getValueAt(f, 4)
+",Cantidad=Cantidad+" + this.jTblcompra.getValueAt(f, 5) + " where
CodProducto=" + this.jTblcompra.getValueAt(f, 1) + "");

registradetalle++;
}

if (registradetalle == jTblcompra.getRowCount()) {
JOptionPane.showMessageDialog(null, "Compra registrada
correctamente");
limpiarCampos();
LimpiarTabla();
bloquearCampos();
jBtnGuardar.setEnabled(false);
jBtnCancelar.setEnabled(false);

72
jBtnNuevo.setEnabled(true);
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
private void jXTextcantidadKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == evt.VK_ENTER) {

if (jXTextcantidad.getText().trim().equals("") ||
jXTextPrecioVenta.getText().trim().equals("") ||
jXTextCompra.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, "Falta ingresar el precio compra o
precio venta o cantidad");
} else {

double importe = Double.parseDouble(this.jXTextCompra.getText()) *


Integer.parseInt(this.jXTextcantidad.getText());
BigDecimal bigImporte = new BigDecimal(importe);
bigImporte = bigImporte.setScale(2, RoundingMode.HALF_UP);
//redondea a 2 decimales
DefaultTableModel model = (DefaultTableModel)
jTblcompra.getModel();
int encontrado = 0;

for (int fil = 0; fil < jTblcompra.getRowCount(); fil++) {


if (jTblcompra.getValueAt(fil,
1).toString().equals(this.jlblcodigopro.getText())) {
encontrado++;
}
}

if (encontrado == 0) { //si es = a 0 es porque no a encontrado


if (jTblcompra.getRowCount() == 0) { //si la tabla esta vaca
Vector vRow = new Vector();
vRow.addElement(item);
vRow.addElement(jlblcodigopro.getText());
vRow.addElement(jXTextDescripcion.getText());
vRow.addElement(jXTextCompra.getText().trim());
vRow.addElement(jXTextPrecioVenta.getText().trim());
vRow.addElement(jXTextcantidad.getText().trim());
vRow.addElement(bigImporte);
model.addRow(vRow);
Totalizar();
item++;

73
} else {
Vector vRow = new Vector();
vRow.addElement(item);
vRow.addElement(jlblcodigopro.getText());
vRow.addElement(jXTextDescripcion.getText());
vRow.addElement(jXTextCompra.getText().trim());
vRow.addElement(jXTextPrecioVenta.getText().trim());
vRow.addElement(jXTextcantidad.getText().trim());
vRow.addElement(bigImporte);
model.addRow(vRow);
Totalizar();
item++;
}
} else {
JOptionPane.showMessageDialog(null, "El producto ya existe en la
lista");
}

}
}

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


if (jTblcompra.getSelectedRow() >= 0) {
DefaultTableModel modelo = (DefaultTableModel) jTblcompra.getModel();
modelo.removeRow(jTblcompra.getSelectedRow());
Totalizar();

} else {
JOptionPane.showMessageDialog(null, "Seleccione un producto");
}
}

2.4- Consultas:

2.4.1- Categorias

package Formularios;

import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class Frm_Categoria_Consulta extends javax.swing.JFrame {

74
ConectaBD cnx=new ConectaBD();

public void monstrar_categoria(){


String
cod=this.jTblCategoria.getValueAt(this.jTblCategoria.getSelectedRow(),0).toString()
;
String sql="SELECT * FROM Categoria WHERE CodigoCategoria='" + cod +"'";
try{
cnx.rs=cnx.stm.executeQuery(sql);
if(cnx.rs.next()){ //SI EXISTE EL REGISTRO
Frm_Categoria.jXTextCodigo.setText(cnx.rs.getString(1));
Frm_Categoria.jXTextDescripcion.setText(cnx.rs.getString(2));
}

}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public void limpiartabla(DefaultTableModel model){
//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for( int x=model.getRowCount()-1;x>=0;x--){
model.removeRow(x);
}
}
public void llenartabla(String consulta_SQL){
try{
cnx.rs=cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model=(DefaultTableModel) jTblCategoria.getModel();
limpiartabla(model);
while(cnx.rs.next()){
String cod=cnx.rs.getString(1);
String catg=cnx.rs.getString(2);
Vector vRow=new Vector();
vRow.addElement(cod);
vRow.addElement(catg);
model.addRow(vRow);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public Frm_Categoria_Consulta() {
initComponents();
titleBar2.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {

75
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
cnx.conectar();
String sql;
sql="SELECT * FROM Categoria";
llenartabla(sql);
}

private void txtcaegoriaKeyReleased(java.awt.event.KeyEvent evt) {


String dato=txtcaegoria.getText();
String sql="SELECT * FROM Categoria WHERE Categoria LIKE
'%"+dato+"%'";
try{
llenartabla(sql);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM Categoria";
llenartabla(sql);
}
2.4.2- Productos

package Formularios;

import Base.ConectaBD;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Frm_Producto_Consulta extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();

public void monstrar_en_productos() {

76
try {
int fila = jTblProducto.getSelectedRow();
Frm_Producto.jXTextCodigo.setText(jTblProducto.getValueAt(fila,
0).toString());
Frm_Producto.jXTextDescripc.setText(jTblProducto.getValueAt(fila,
1).toString());
Frm_Producto.jXTextCaract.setText(jTblProducto.getValueAt(fila,
2).toString());
Frm_Producto.jCboMarc.setSelectedItem(jTblProducto.getValueAt(fila,
3).toString());
Frm_Producto.jCboCateg.setSelectedItem(jTblProducto.getValueAt(fila,
4).toString());
Frm_Producto.jXTextModelo.setText(jTblProducto.getValueAt(fila,
5).toString());
Frm_Producto.jXTextPreciCompre.setText(jTblProducto.getValueAt(fila,
6).toString());
Frm_Producto.jXTextPrecioVenta.setText(jTblProducto.getValueAt(fila,
7).toString());
Frm_Producto.jXTextCantidad.setText(jTblProducto.getValueAt(fila,
8).toString());

// this.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void monstrar_en_venta() {


try {
int fila = jTblProducto.getSelectedRow();
Frm_Venta.jlblcodigopro.setText(jTblProducto.getValueAt(fila, 0).toString());
Frm_Venta.jtxtdescripcion.setText(jTblProducto.getValueAt(fila,
1).toString());
Frm_Venta.jtxtpreciocompra.setText(jTblProducto.getValueAt(fila,
6).toString());
Frm_Venta.jtxtprecioventa.setText(jTblProducto.getValueAt(fila,
7).toString());
Frm_Venta.jlblcantidad.setText(jTblProducto.getValueAt(fila, 8).toString());
Frm_Venta.jtxtcantidad.setText(null);
Frm_Venta.jtxtcantidad.requestFocus();

// this.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void mostrar_en_compra(){
try {

77
int fila = jTblProducto.getSelectedRow();
Frm_Compra.jlblcodigopro.setText(jTblProducto.getValueAt(fila,
0).toString());
Frm_Compra.jXTextDescripcion.setText(jTblProducto.getValueAt(fila,
1).toString());
Frm_Compra.jXTextCompra.setText(jTblProducto.getValueAt(fila,
6).toString());
Frm_Compra.jXTextPrecioVenta.setText(jTblProducto.getValueAt(fila,
7).toString());
Frm_Compra.jlblcantidad.setText(jTblProducto.getValueAt(fila,
8).toString());
Frm_Compra.jXTextcantidad.setText(null);
Frm_Compra.jXTextcantidad.requestFocus();

// this.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void limpiartabla(DefaultTableModel model) {
for (int x = model.getRowCount() - 1; x >= 0; x--) {
model.removeRow(x);
}
}

private double consultarigv() {


double igv = 0.0;
try {
cnx.rs = cnx.stm.executeQuery("SELECT Igv From Global");
if (cnx.rs.next()) {
igv = cnx.rs.getDouble(1);
} else {
igv = 0;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return igv;
}

public void llenartabla(String consulta_SQL) {


try {
cnx.rs = cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model = (DefaultTableModel) jTblProducto.getModel();
limpiartabla(model);
while (cnx.rs.next()) {
Vector vRow = new Vector();
vRow.addElement(cnx.rs.getString(1));

78
vRow.addElement(cnx.rs.getString(2));
vRow.addElement(cnx.rs.getString(3));
vRow.addElement(cnx.rs.getString(4));
vRow.addElement(cnx.rs.getString(5));
vRow.addElement(cnx.rs.getString(6));
vRow.addElement(cnx.rs.getString(7));
vRow.addElement(cnx.rs.getString(8));
vRow.addElement(cnx.rs.getInt(9));
model.addRow(vRow);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public Frm_Producto_Consulta() {
initComponents();
this.setLocationRelativeTo(this);
}
private void jTblProductoMouseClicked(java.awt.event.MouseEvent evt) {
if (Frm_Venta.buscarprod == 1) {
monstrar_en_venta();
double igv = consultarigv();

double costoigv =
((Double.parseDouble(jTblProducto.getValueAt(jTblProducto.getSelectedRow(),
7).toString())) * igv);
double costonormal =
(Double.parseDouble(jTblProducto.getValueAt(jTblProducto.getSelectedRow(),
7).toString()));
double totalcosto = costoigv + costonormal;
BigDecimal bigSubtotal = new BigDecimal(totalcosto);
bigSubtotal = bigSubtotal.setScale(2, RoundingMode.HALF_UP);
Frm_Venta.jtxtconigv.setText("" + bigSubtotal);
Frm_Venta.buscarprod = 0;
this.dispose();
}
else if(Frm_Compra.buscarprod==1){
mostrar_en_compra();
double igv = consultarigv();

double costoigv =
((Double.parseDouble(jTblProducto.getValueAt(jTblProducto.getSelectedRow(),
7).toString())) * igv);
double costonormal =
(Double.parseDouble(jTblProducto.getValueAt(jTblProducto.getSelectedRow(),
7).toString()));
double totalcosto = costoigv + costonormal;

79
BigDecimal bigSubtotal = new BigDecimal(totalcosto);
bigSubtotal = bigSubtotal.setScale(2, RoundingMode.HALF_UP);
Frm_Compra.JTXTconigv.setText("" + bigSubtotal);
Frm_Compra.buscarprod = 0;
this.dispose();
}
else {
monstrar_en_productos();

this.dispose();
}

}
private void txtproductoKeyReleased(java.awt.event.KeyEvent evt) {
String dato = txtproducto.getText();
String sql = "SELECT * FROM Producto WHERE Descrip LIKE '%" + dato +
"%'";
try {
llenartabla(sql);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
String sql;
sql = "SELECT * FROM Genaral_Producto_V";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM Genaral_Producto_V";
llenartabla(sql);
}
2.4.3- Proveedor

package Formularios;
import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class Frm_Proveedor_Consulta extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();

public void monstrar_proveedor() {

80
String cod =
this.jTblProveedor.getValueAt(this.jTblProveedor.getSelectedRow(), 0).toString();
String sql = "SELECT * FROM Proveedor WHERE CodProvee='" + cod + "'";
try {
cnx.rs = cnx.stm.executeQuery(sql);
if (cnx.rs.next()) { //SI EXISTE EL REGISTRO
Frm_Proveedor.jXTextCodigo.setText(cnx.rs.getString(1));
Frm_Proveedor.jXTextRuc.setText(cnx.rs.getString(2));
Frm_Proveedor.jXTextRazonSocl.setText(cnx.rs.getString(3));
Frm_Proveedor.jCboEstad.setSelectedItem(cnx.rs.getString(4));
Frm_Proveedor.jXTextTelefon.setText(cnx.rs.getString(5));
Frm_Proveedor.jXTexttDireccion.setText(cnx.rs.getString(6));
Frm_Proveedor.jXTextUbicacion.setText(cnx.rs.getString(7));
}

} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void limpiartabla(DefaultTableModel model) {


//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for (int x = model.getRowCount() - 1; x >= 0; x--) {
model.removeRow(x);
}
}

public void llenartabla(String consulta_SQL) {


try {
cnx.rs = cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model = (DefaultTableModel) jTblProveedor.getModel();
limpiartabla(model);
while (cnx.rs.next()) {
String cod = cnx.rs.getString(1);
String rec = cnx.rs.getString(2);
String rsonc = cnx.rs.getString(3);
String estd = cnx.rs.getString(4);
String telef = cnx.rs.getString(5);
String direc = cnx.rs.getString(6);
String ubic = cnx.rs.getString(7);

Vector vRow = new Vector();


vRow.addElement(cod);
vRow.addElement(rec);
vRow.addElement(rsonc);
vRow.addElement(estd);
vRow.addElement(telef);

81
vRow.addElement(direc);
vRow.addElement(ubic);
model.addRow(vRow);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public Frm_Proveedor_Consulta() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void txtproveedorKeyReleased(java.awt.event.KeyEvent evt) {
String dato=txtproveedor.getText();
String sql="SELECT * FROM Proveedor WHERE RUC LIKE '%"+dato+"%'";
try{
llenartabla(sql);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
String sql;
sql = "SELECT * FROM Proveedor";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM Proveedor";
llenartabla(sql);
}
2.4.4- Serie

package Formularios;

import Base.ConectaBD;

82
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class Frm_Serie_Consulta extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();

public void monstrar_serie() {


String cod = this.jTblserie.getValueAt(this.jTblserie.getSelectedRow(),
0).toString();
String sql = "SELECT * FROM General_Serie_V WHERE CodigoSerie='" +
cod + "'";
try {
cnx.rs = cnx.stm.executeQuery(sql);
if (cnx.rs.next()) { //SI EXISTE EL REGISTRO
Frm_Serie.jXTextCodigo.setText(cnx.rs.getString(1));
Frm_Serie.jCboComprobante.setSelectedItem(cnx.rs.getString(2));
Frm_Serie.jXTextSerie.setText(cnx.rs.getString(3));
Frm_Serie.jXTextNumero.setText(cnx.rs.getString(4));
}

} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void limpiartabla(DefaultTableModel model) {


//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for (int x = model.getRowCount() - 1; x >= 0; x--) {
model.removeRow(x);
}
}

public void llenartabla(String consulta_SQL) {


try {
cnx.rs = cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model = (DefaultTableModel) jTblserie.getModel();
limpiartabla(model);
while (cnx.rs.next()) {
String cod = cnx.rs.getString(1);
String comp = cnx.rs.getString(2);
String ser = cnx.rs.getString(3);
String num = cnx.rs.getString(4);

Vector vRow = new Vector();


vRow.addElement(cod);

83
vRow.addElement(comp);
vRow.addElement(ser);
vRow.addElement(num);
model.addRow(vRow);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public Frm_Serie_Consulta() {
initComponents();
titleBar5.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void txtserieKeyReleased(java.awt.event.KeyEvent evt) {
String dato=txtserie.getText();
String sql="SELECT * FROM Serie WHERE Serie LIKE '%"+dato+"%'";
try{
llenartabla(sql);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
String sql;
sql = "SELECT * FROM General_Serie_V";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM General_Serie_V";
llenartabla(sql);
}
2.4.5- Comprobante

package Formularios;
import Base.ConectaBD;

84
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class Frm_Comprobante_Consulta extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();

public void monstrar_comprobante(){


String
cod=this.jTblComprobante.getValueAt(this.jTblComprobante.getSelectedRow(),0).t
oString();
String sql="SELECT * FROM Comprobante WHERE CodigoComprobante='" +
cod +"'";
try{
cnx.rs=cnx.stm.executeQuery(sql);
if(cnx.rs.next()){ //SI EXISTE EL REGISTRO
Frm_Comprobante.jXTextCodigo.setText(cnx.rs.getString(1));
Frm_Comprobante.jXTextDescripcion.setText(cnx.rs.getString(2));
}

}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public void limpiartabla(DefaultTableModel model){
//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for( int x=model.getRowCount()-1;x>=0;x--){
model.removeRow(x);
}
}
public void llenartabla(String consulta_SQL){
try{
cnx.rs=cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model=(DefaultTableModel) jTblComprobante.getModel();
limpiartabla(model);
while(cnx.rs.next()){
String cod=cnx.rs.getString(1);
String catg=cnx.rs.getString(2);
Vector vRow=new Vector();
vRow.addElement(cod);
vRow.addElement(catg);
model.addRow(vRow);
}
}
catch(Exception e){

85
System.out.println(e.getMessage());
}
}

public Frm_Comprobante_Consulta() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void txtcomprobanteKeyReleased(java.awt.event.KeyEvent evt) {
String dato=txtcomprobante.getText();
String sql="SELECT * FROM Comprobante WHERE Descripcion LIKE
'%"+dato+"%'";
try{
llenartabla(sql);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
String sql;
sql="SELECT * FROM Comprobante";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM Comprobante";
llenartabla(sql);
}
2.4.6- Marca

package Formularios;

import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;

86
public class Frm_Marca_Consulta extends javax.swing.JFrame {

ConectaBD cnx=new ConectaBD();

public void monstrar_maraca(){


String
cod=this.jTblMarca.getValueAt(this.jTblMarca.getSelectedRow(),0).toString();
String sql="SELECT * FROM Marca WHERE CodigoMarca='" + cod +"'";
try{
cnx.rs=cnx.stm.executeQuery(sql);
if(cnx.rs.next()){ //SI EXISTE EL REGISTRO
Frm_Marca.jXTextCodigo.setText(cnx.rs.getString(1));
Frm_Marca.jXTextDescripcion.setText(cnx.rs.getString(2));
}

}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public void limpiartabla(DefaultTableModel model){
//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for( int x=model.getRowCount()-1;x>=0;x--){
model.removeRow(x);
}
}
public void llenartabla(String consulta_SQL){
try{
cnx.rs=cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model=(DefaultTableModel) jTblMarca.getModel();
limpiartabla(model);
while(cnx.rs.next()){
String cod=cnx.rs.getString(1);
String catg=cnx.rs.getString(2);
Vector vRow=new Vector();
vRow.addElement(cod);
vRow.addElement(catg);
model.addRow(vRow);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

public Frm_Marca_Consulta() {

87
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void txtmaracaKeyReleased(java.awt.event.KeyEvent evt) {
String dato=txtmaraca.getText();
String sql="SELECT * FROM Marca WHERE Descripcion LIKE '%"+dato+"%'";
try{
llenartabla(sql);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
String sql;
sql="SELECT * FROM Marca";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM Marca";
llenartabla(sql);
}

2.4.7- Cliente

package Formularios;

import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;

public class Frm_Cliente_Consulta extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();

88
public void limpiartabla(DefaultTableModel model) {
//int x;
//DefaulTableModel posee filas que empiezan a contarse desde
for (int x = model.getRowCount() - 1; x >= 0; x--) {
model.removeRow(x);
}
}

public void llenartabla(String consulta_SQL) {


try {
cnx.rs = cnx.stm.executeQuery(consulta_SQL);
DefaultTableModel model = (DefaultTableModel) jTblClientes.getModel();
limpiartabla(model);
while (cnx.rs.next()) {
String cod = cnx.rs.getString(1);
String dni = cnx.rs.getString(2);
String nom = cnx.rs.getString(3);
String apter = cnx.rs.getString(4);
String amt = cnx.rs.getString(5);
String fecn = cnx.rs.getString(6);
String direc = cnx.rs.getString(7);
String ubic = cnx.rs.getString(8);
String telef = cnx.rs.getString(9);

Vector vRow = new Vector();


vRow.addElement(cod);
vRow.addElement(dni);
vRow.addElement(nom);
vRow.addElement(apter);
vRow.addElement(amt);
vRow.addElement(fecn);
vRow.addElement(direc);
vRow.addElement(ubic);
vRow.addElement(telef);
model.addRow(vRow);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public Frm_Cliente_Consulta() {
initComponents();
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();

89
}
});
setLocationRelativeTo(null);
}

private void close() {


this.dispose();
}
private void txtclienteKeyReleased(java.awt.event.KeyEvent evt) {
String dato = txtcliente.getText();
String sql = "SELECT * FROM v_General_Cliente WHERE Nombres LIKE '%"
+ dato + "%'";
try {
llenartabla(sql);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

private void jTblClientesMouseClicked(java.awt.event.MouseEvent evt) {


int fila=jTblClientes.getSelectedRow();
Frm_Cliente.jXTextCodigo.setText(jTblClientes.getValueAt(fila, 0).toString());
Frm_Cliente.jXTextDni.setText(jTblClientes.getValueAt(fila, 1).toString());
Frm_Cliente.jXTextNombre.setText(jTblClientes.getValueAt(fila, 2).toString());
Frm_Cliente.jXTextApellidoPat.setText(jTblClientes.getValueAt(fila,
3).toString());
Frm_Cliente.jXTextApellidMat.setText(jTblClientes.getValueAt(fila,
4).toString());
Frm_Cliente.jTextFecnac.setText(jTblClientes.getValueAt(fila, 5).toString());
Frm_Cliente.jXTextDirec.setText(jTblClientes.getValueAt(fila, 6).toString());
Frm_Cliente.jXTextUbicacio.setText(jTblClientes.getValueAt(fila, 7).toString());
Frm_Cliente.jXTextTelef.setText(jTblClientes.getValueAt(fila, 8).toString());
this.dispose();
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
cnx.conectar();
String sql;
sql = "SELECT * FROM v_General_Cliente";
llenartabla(sql);
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


String sql = "SELECT * FROM v_General_Cliente";
llenartabla(sql);
}

90
2.5.-Configuracin:

2.5.1- Global

package Formularios;

import Base.ConectaBD;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Frm_Global extends javax.swing.JFrame {


ConectaBD cnx=new ConectaBD();
int Sw;

public void Limpiar(){


this.jTextCod.setText("");
this.jTextRazonSocial.setText("");
this.jTextRuc.setText("");
this.jTextIgv.setText("");
}
public void Cajas (boolean estado ){

this.jTextRazonSocial.setEnabled(estado);
this.jTextRuc.setEnabled(estado);
this.jTextIgv.setEnabled(estado);
}
public void Botones (boolean estado){
this.jBtnNuevo.setEnabled(estado);
this.jBtnGuardar.setEnabled(!estado);
this.jBtnCancelar.setEnabled(!estado);
this.jBtnEditar.setEnabled(estado);
this.jBtnEliminar.setEnabled(estado);
this.jBtnLliminar.setEnabled(estado);
}
public Frm_Global() {
initComponents();
this.setLocationRelativeTo(this);
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}

91
private void close() {
this.dispose();

public void Mostrar(){


String cod;

try{
cod=jTblGlobal.getValueAt(jTblGlobal.getSelectedRow(),0).toString();
cnx.rs=cnx.stm.executeQuery("SELECT * FROM Global WHERE
IdConfiguracion='"+ cod +"'");
if(cnx.rs.next()){
this.jTextCod.setText(cnx.rs.getString(1));
this.jTextRazonSocial.setText(cnx.rs.getString(2));
this.jTextRuc.setText(cnx.rs.getString(3));
this.jTextIgv.setText(cnx.rs.getString(4));
}
}
catch(Exception a){
System.out.println(a.getMessage());
}
}
public void LimpiarTabla(DefaultTableModel model){
for(int i=model.getRowCount()-1;i>=0;i--){
model.removeRow(i);
}
}

public void LlenarTabla(){


String sql;
sql="SELECT * FROM Global ";
try{
cnx.rs=cnx.stm.executeQuery(sql);
DefaultTableModel model=(DefaultTableModel)jTblGlobal.getModel();
LimpiarTabla(model);
while(cnx.rs.next()){
String cod=cnx.rs.getString(1);
String nom=cnx.rs.getString(2);
String ruc=cnx.rs.getString(3);
String igv=cnx.rs.getString(4);

Vector vRow=new Vector();


vRow.addElement(cod);
vRow.addElement(nom);
vRow.addElement(ruc);
vRow.addElement(igv);
model.addRow(vRow);

92
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
private void jBtnLliminarActionPerformed(java.awt.event.ActionEvent evt) {
int r;
r= JOptionPane.showConfirmDialog(null,"Cerrar
Programa","Salir",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if (r==JOptionPane.YES_OPTION){
this.dispose();
}
}

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


int r;
try{
if(Sw==0){
r= JOptionPane.showConfirmDialog(null,"Grabar
Datos","Registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if (r==JOptionPane.YES_OPTION){
cnx.stm.execute("INSERT INTO Global VALUES('"+
this.jTextRazonSocial.getText() +"','"+ this.jTextRuc.getText() +"','"+
this.jTextIgv.getText() +"')");
}
}
if(Sw==1){
r= JOptionPane.showConfirmDialog(null,"Actualizar
Datos","Registrar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MES
SAGE);
if (r==JOptionPane.YES_OPTION){
cnx.stm.execute("UPDATE Global SET RazonSocial='"+
this.jTextRazonSocial.getText() +"',Ruc='"+ this.jTextRuc.getText() +"',Igv='"+
this.jTextIgv.getText() +"'");
}
}
}
catch(SQLException a){
System.out.println(a.getMessage());
}
LlenarTabla();
jTblGlobal.changeSelection(0, 0,false,true);
Mostrar();
Botones(true);
Cajas(false);

93
}

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


jTblGlobal.changeSelection(0, 0,false,true);
Mostrar();
Botones(true);
Cajas(false);
}

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


int r;
try{
r= JOptionPane.showConfirmDialog(null,"Desea Borrar un
Registro","Eliminar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_ME
SSAGE);
if (r==JOptionPane.YES_OPTION){
cnx.stm.execute("DELETE FROM Global WHERE IdConfiguracion='"+
this.jTextCod.getText() + "'");
}
}
catch(SQLException a){
System.out.println(a.getMessage());
}
LlenarTabla();
jTblGlobal.changeSelection(0, 0,false,true);
Mostrar();
}

private void jTblGlobalMousePressed(java.awt.event.MouseEvent evt) {


Mostrar();
}

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


Sw = 1;
Mostrar();
Botones(false);
Cajas(true);
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
LlenarTabla();
jTblGlobal.changeSelection(0,0,false,true);
Mostrar();
Botones(true);
Cajas(false);
}

94
2.6- Reportes:

2.6.1- Ventas

package Formularios;

import Base.ConectaBD;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

public class Frm_ReporteVenta extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();


Date ahora = new Date(System.currentTimeMillis());
SimpleDateFormat fecha = new SimpleDateFormat("yyyy/MM/dd");

public Frm_ReporteVenta() {
initComponents();
this.setLocationRelativeTo(this);
// this.getContentPane().setBackground(Color.white);
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void JBTNimprimirActionPerformed(java.awt.event.ActionEvent evt) {
try {
String fecha1 = fecha.format(this.JDCfecha.getDate());
String fecha2 = fecha.format(this.JDCfecha1.getDate());

95
JasperReport r =
JasperCompileManager.compileReport("src\\Reportes\\Reporte_Venta.jrxml");
Map Parametro = new HashMap();
Parametro.put("fecha1", fecha1);
Parametro.put("fecha2", fecha2);

JasperPrint informe = JasperFillManager.fillReport(r, Parametro, cnx.cnn);


JasperViewer Hemograma = new JasperViewer(informe, false);
Hemograma.setTitle("REPORTE DE VENTA");
Hemograma.setVisible(true);

} catch (JRException ex) {


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

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
this.JDCfecha.setDate(ahora);
this.JDCfecha1.setDate(ahora);
}

2.6.2- Compras

package Formularios;

import Base.ConectaBD;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

public class Frm_ReporteCompra extends javax.swing.JFrame {

ConectaBD cnx = new ConectaBD();

96
Date ahora = new Date(System.currentTimeMillis());
SimpleDateFormat fecha = new SimpleDateFormat("yyyy/MM/dd");

public Frm_ReporteCompra() {
initComponents();
this.setLocationRelativeTo(this);
// this.getContentPane().setBackground(Color.white);
titleBar1.addCloseAction(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
close();
}
});
setLocationRelativeTo(null);
}
private void close() {
this.dispose();
}
private void JBTNimprimirActionPerformed(java.awt.event.ActionEvent evt) {
try {
String fecha1 = fecha.format(this.JDCfecha.getDate());
String fecha2 = fecha.format(this.JDCfecha1.getDate());
JasperReport r =
JasperCompileManager.compileReport("src\\Reportes\\Reporte_Compra.jrxml");
Map Parametro = new HashMap();
Parametro.put("fechac1", fecha1);
Parametro.put("fechac2", fecha2);

JasperPrint informe = JasperFillManager.fillReport(r, Parametro, cnx.cnn);


JasperViewer Hemograma = new JasperViewer(informe, false);
Hemograma.setTitle("REPORTE DE COMPRA");
Hemograma.setVisible(true);

} catch (JRException ex) {

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

private void formWindowOpened(java.awt.event.WindowEvent evt) {


cnx.conectar();
this.JDCfecha.setDate(ahora);
this.JDCfecha1.setDate(ahora);
}

97
Conclusiones

1. Es muy importante la integracin de las reas mediante una red


informtica lo que permite agilizar los procesos y compartir recursos
incluido los datos para lograr la eficacia y eficiencia en el servicio dado as
como la toma de decisiones de las respectivas reas.

2. Las diferentes herramientas utilizadas aceleran el desarrollo del sistema,


permitiendo as a los usuarios el ahorro de tiempo y recursos.

3. Es importante elaborar el perfil de un proyecto para establecer claramente


las necesidades de hardware, software as como el capital a invertir y junto
con ello establecerlos lineamientos para lograr el xito del proyecto y
evitar detenerse en pleno desarrollo del proyecto.

4. El anlisis y Diseo permite implementar en una forma ms sencilla y


organizada la aplicacin, elemento importante en un sistema de
informacin.

98
Recomendaciones

1. Realizar el proceso de capacitacin al personal que trabajar con el


Sistema para llegar al buen uso de la Aplicacin.

2. Difundir entre los trabajadores las reglas del negocio que se deben
respetar as como hacer de conocimiento las bondades del sistema que
ser en beneficio de todo el personal de la empresa.

3. Planificar un perodo en el cual la aplicacin pase a una fase de prueba


para poder identificar los posibles errores que pueden tener.

4. Entregar el presente documento a la persona responsable de la


administracin del sistema as como los respectivos manuales para una
mejor informacin por parte los usuarios involucrados.

99
Glosario de Trminos

Informatica: Conjunto de conocimientos tcnicos que se ocupan del tratamiento


automtico de la informacin por medio de computadoras.

Venta: es el contrato a travs del cual se transfiere una cosa propia a dominio
ajeno por el precio pactado. La venta puede ser algo potencial (un producto
que est a la venta pero que an no ha sido comprado).

Personalizada: Referirse o hacer alusin a una persona o a un grupo de personas


en particular: no personalices,que no hemos sido ni mis hermanos ni yo. Dar carcter
personal a algo.

Segmento: es la parte de una rutina de un ordenador digital lo bastante corta


para ser completamente almacenada en la memoria interna, y que contiene el
cdigo necesario para seleccionar e introducir automticamente otros
segmentos de la rutina.

Proceso: es una secuencia de pasos dispuesta con algn tipo de lgica que
se enfoca en lograr algn resultado especfico. Los procesos son mecanismos
de comportamiento que disean los hombres para mejorar la productividad de
algo, para establecer un orden o eliminar algn tipo de problema.

Cotizacin: est formada por la cantidad que el total de los trabajadores deben
aportar al Estado de contribuciones a la seguridad social. Tambin
denominada cotizacin previsional, se trata de un porcentaje del salario que el
empleador (mediante una retencin) o el empleado tienen que depositar en el
sistema nacional de seguridad social.

Clase: Una clase es un conjunto de datos (variables o campos) y de las


funciones (los mtodos) utilizadas para acceder a estos datos. A los datos y
funciones pertenecientes a una clase se les conoce como variables y funciones
o mtodo miembro.

Hardware: La parte que se puede tocar de un computador, ejemplo: Teclado.


Monitor, Mouse.

Prototipo: es un objeto que sirve como referencia para futuros modelos en


una misma cadena de produccin. Un Prototipo es el primer dispositivo que se
fabrica y del que se toman las ideas ms relevantes para la construccin de
otros diseos y representa todas las ideas en cuanto a diseo, soporte y
tecnologia que se les puedan ocurrir a sus creadores.

Servidor: Es una red de ordenadores, un servidor es un equipo que pone


ciertos recursos a disposicin de otros ordenadores (los cliente). Estos
recursos pueden ser datos, aplicaciones, impresoras, etc.

100
Bibliografia

http://www.uai.edu.ar/facultades/tecnologia-informatica/carrera-ingenieria-en-
sistemas-informaticos.asp

http://si.usfx.bo/si/

https://www.etsisi.upm.es/escuela

https://www.sip.pe/

http://www1.herrera.unt.edu.ar/biblcet/wp-
content/uploads/2014/12/Desarrollo-de-Proyectos-Inform%C3%A1ticos-con-
Tecnolog%C3%ADa-Java.pdf

101
Anexos

Anexo 01. Establecimiento comercial.

Anexo 02. Boleta de Venta.

102

Das könnte Ihnen auch gefallen