From 10bb6dc2e56360eeea92d1a283f5e545d98285f1 Mon Sep 17 00:00:00 2001 From: tuzikuz Date: Mon, 11 Aug 2025 21:37:11 -0500 Subject: [PATCH] add base_de_datos --- .gitignore | 3 + base_de_datos/README.md | 37 + base_de_datos/makefile | 41 + base_de_datos/pom.xml | 81 ++ base_de_datos/sql/1_db.sql | 2 + base_de_datos/sql/2_table.sql | 62 + base_de_datos/sql/3_insert.sql | 95 ++ base_de_datos/sql/4_debug.sql | 10 + base_de_datos/sql/backup.sql | 143 ++ .../java/com/proy_final/Proy_final_db.java | 12 + .../main/java/com/proy_final/mod/Init.java | 55 + .../java/com/proy_final/mod/db/DataBase.java | 129 ++ .../com/proy_final/mod/template/Persona.java | 505 +++++++ .../proy_final/mod/template/Ubicacion.java | 8 + .../com/proy_final/mod/util/data/Cliente.java | 195 +++ .../mod/util/data/Departamento.java | 38 + .../proy_final/mod/util/data/Provincia.java | 64 + .../proy_final/mod/util/data/Vendedor.java | 79 ++ .../com/proy_final/mod/util/menu/NavBar.java | 86 ++ .../menu/inicio/MenuInicioPresentacion.java | 19 + .../MenuMantenimientoCliente.java | 20 + .../MenuMantenimientoVendedor.java | 21 + .../util/menu/reporte/MenuReporteCliente.java | 23 + .../menu/reporte/MenuReporteVendedor.java | 22 + .../proy_final/mod/util/settings/Global.java | 10 + .../proy_final/mod/util/struct/Vec2x2.java | 31 + .../view/PanelMantenimientoBoxCliente.java | 9 + .../view/PanelMantenimientoBoxVendedor.java | 9 + .../mod/util/view/PanelPresentacion.java | 56 + .../mod/util/view/PanelReporteCliente.java | 109 ++ .../mod/util/view/PanelReporteVendedor.java | 115 ++ .../util/view/gui/PanelMantenimientoBox.java | 1262 +++++++++++++++++ .../resources/reports/reporte_cliente.jrxml | 118 ++ .../main/resources/reports/reporte_none.jrxml | 0 .../resources/reports/reporte_vendedor.jrxml | 118 ++ 35 files changed, 3587 insertions(+) create mode 100755 .gitignore create mode 100644 base_de_datos/README.md create mode 100755 base_de_datos/makefile create mode 100644 base_de_datos/pom.xml create mode 100644 base_de_datos/sql/1_db.sql create mode 100644 base_de_datos/sql/2_table.sql create mode 100644 base_de_datos/sql/3_insert.sql create mode 100644 base_de_datos/sql/4_debug.sql create mode 100644 base_de_datos/sql/backup.sql create mode 100644 base_de_datos/src/main/java/com/proy_final/Proy_final_db.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/Init.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/db/DataBase.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/template/Persona.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/template/Ubicacion.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/data/Cliente.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/data/Departamento.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/data/Provincia.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/data/Vendedor.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/NavBar.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/inicio/MenuInicioPresentacion.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoCliente.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoVendedor.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteCliente.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteVendedor.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/settings/Global.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/struct/Vec2x2.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxCliente.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxVendedor.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelPresentacion.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteCliente.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteVendedor.java create mode 100644 base_de_datos/src/main/java/com/proy_final/mod/util/view/gui/PanelMantenimientoBox.java create mode 100644 base_de_datos/src/main/resources/reports/reporte_cliente.jrxml create mode 100644 base_de_datos/src/main/resources/reports/reporte_none.jrxml create mode 100644 base_de_datos/src/main/resources/reports/reporte_vendedor.jrxml diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..26f78e3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.class +*.log +*.tmp \ No newline at end of file diff --git a/base_de_datos/README.md b/base_de_datos/README.md new file mode 100644 index 0000000..61b40b4 --- /dev/null +++ b/base_de_datos/README.md @@ -0,0 +1,37 @@ +# Proyecto No. 3 Base de datos + +## How compile (Java) (Linux) + +### Dependency +- Java 17 ([adoptium](https://adoptium.net)) +- shell +- my_sql +- maven +- make + +#### My Sql + +##### Install +```shell +sudo apt update +sudo apt update -y + +sudo apt install mysql-server -y + +user = root +pass = root + +sudo mysql_secure_installation + + +sudo systemctl start mysql +sudo systemctl enable mysql +``` + +##### Remove +```shell + sudo apt remove --purge mysql-server mysql-client mysql-common -y + sudo rm -rf /etc/mysql /var/lib/mysql + sudo apt autoremove -y + sudo apt autoclean +``` \ No newline at end of file diff --git a/base_de_datos/makefile b/base_de_datos/makefile new file mode 100755 index 0000000..242263a --- /dev/null +++ b/base_de_datos/makefile @@ -0,0 +1,41 @@ +.PHONY: sql sql_export + +all: + mvn compile exec:java + +compile: + mvn clean compile exec:java + +debug: + mvn clean compile -q exec:java + +install: + mvn clean install + +jar: + mvn clean package + mkdir -p build + cp target/Proy_final_db-0.0.jar build/ + java -jar build/Proy_final_db-0.0.jar + +clear_exec: + mvn clean compile exec:java + +clean: + mvn clean + rm -rf target + rm -f dependency-reduced-pom.xml + rm -f reporte_cliente.pdf + rm -f reporte_vendedor.pdf + +sql: + cd sql && mysql -u root -proot < 1_db.sql + cd sql && mysql -u root db -proot < 2_table.sql + cd sql && mysql -u root db -proot < 3_insert.sql + cd sql && mysql -u root db -proot < 4_debug.sql + +sql_export: + cd sql && mysqldump -u root -proot db > backup.sql + +sql_debug: + cd sql && mysql -u root db -proot < 4_debug.sql diff --git a/base_de_datos/pom.xml b/base_de_datos/pom.xml new file mode 100644 index 0000000..8585bd4 --- /dev/null +++ b/base_de_datos/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + com.proy_final + Proy_final_db + 0.0 + + + + 17 + 17 + UTF-8 + + + + + mysql + mysql-connector-java + 8.0.33 + + + + + net.sf.jasperreports + jasperreports + 6.20.5 + + + + + + + org.codehaus.mojo + exec-maven-plugin + 3.0.0 + + com.proy_final.Proy_final_db + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.0 + + + package + + shade + + + + + com.proy_final.Proy_final_db + + + + + + + + + + + diff --git a/base_de_datos/sql/1_db.sql b/base_de_datos/sql/1_db.sql new file mode 100644 index 0000000..be06e04 --- /dev/null +++ b/base_de_datos/sql/1_db.sql @@ -0,0 +1,2 @@ +DROP DATABASE IF EXISTS db; +CREATE DATABASE db; diff --git a/base_de_datos/sql/2_table.sql b/base_de_datos/sql/2_table.sql new file mode 100644 index 0000000..dc2c272 --- /dev/null +++ b/base_de_datos/sql/2_table.sql @@ -0,0 +1,62 @@ +-- MySql +USE db; + +CREATE TABLE Cliente ( + id INT AUTO_INCREMENT PRIMARY KEY, + cedula VARCHAR(15), + nombre VARCHAR(30), + apellido VARCHAR(30), + direccion VARCHAR(50), + telefono VARCHAR(7), + provincia VARCHAR(2), + compra_anual NUMERIC(6) +); + +CREATE TABLE Vendedor ( + id INT AUTO_INCREMENT PRIMARY KEY, + codigo VARCHAR(4), + nombre VARCHAR(20), + apellido VARCHAR(20), + departamento VARCHAR(2), + cargo VARCHAR(20), + venta_mensual NUMERIC(6), + venta_anual NUMERIC(9) +); + +CREATE TABLE Provincia ( + id INT AUTO_INCREMENT PRIMARY KEY, + codigo VARCHAR(2), + descripcion VARCHAR(30) +); + +CREATE TABLE Departamento ( + id INT AUTO_INCREMENT PRIMARY KEY, + codigo VARCHAR(2), + descripcion VARCHAR(30) +); + + + +-- --------------------------- Unique + + +ALTER TABLE Provincia +ADD CONSTRAINT provincia_unique_codigo +UNIQUE (codigo); + +ALTER TABLE Departamento +ADD CONSTRAINT departamento_unique_codigo +UNIQUE (codigo); + + +-- ------------------------------- FK + +ALTER TABLE Vendedor +ADD CONSTRAINT fk_Vendedor_Departamento +FOREIGN KEY (departamento) -- From Vendedor +REFERENCES Departamento(codigo); + +ALTER TABLE Cliente +ADD CONSTRAINT fk_Cliente_Provincia +FOREIGN KEY (provincia) -- From client +REFERENCES Provincia(codigo); \ No newline at end of file diff --git a/base_de_datos/sql/3_insert.sql b/base_de_datos/sql/3_insert.sql new file mode 100644 index 0000000..3cbbf77 --- /dev/null +++ b/base_de_datos/sql/3_insert.sql @@ -0,0 +1,95 @@ +INSERT INTO Provincia + (codigo, descripcion) +VALUES + ('BT', 'Bocas del Toro'), + ('CO', 'Coclé'), + ('CL', 'Colón'), + ('CH', 'Chiriquí'), + ('DA', 'Darién'), + ('HE', 'Herrera'), + ('LS', 'Los Santos'), + ('PA', 'Panamá'), + ('VE', 'Veraguas'), + ('PO', 'Panamá Oeste'), + ('EW', 'Emberá-Wounaan'), + ('GY', 'Guna Yala'), + ('NB', 'Ngöbe-Buglé'), + ('NT', 'Naso Tjër Di'); + + + +INSERT INTO Departamento + (codigo, descripcion) +VALUES + ('VT', 'Ventas General'), + ('ET', 'Eletrodomesticos'), + ('RP', 'Ropa'), + ('MB', 'Muebles'), + ('DA', 'Despensa Alimentaria'); + + + +INSERT INTO Cliente + (cedula, nombre, apellido, direccion, telefono, provincia, compra_anual) +VALUES + ('1-268-4633', 'Sol', 'Bayo', 'El Ejido, Los Santos', '9943529', 'BT', 10), + ('2-368-4693', 'Karto', 'Ukao', 'Carretera Madden, Chilibre', '8943325', 'CO', 2), + ('3-248-4693', 'Nardo', 'Karmen', 'Centro Comercial Limajo', '4943329', 'CL', 40), + ('4-265-4693', 'Carmen', 'Leno', 'Zona Libre', '6943329', 'CH', 2), + ('5-268-6693', 'Rinaldo', 'Oleno', 'Vista Alegre', '8943329', 'DA', 5), + ('6-268-4793', 'Fernando', 'Halo', 'Vía José A Arango Juan Díaz', '4945329', 'HE', 7), + ('7-268-4693', 'Karna', 'Leno', 'Cl 7, Sant', '6345329', 'LS', 9), + ('8-938-4693', 'Cevella', 'Kinto', 'Ave Las Américas', '6745529', 'PA', 10), + ('1-264-4623', 'Luna', 'Bayo', 'Av Manuel Espinosa B', '6465729', 'BT', 11), + ('10-233-3692', 'Sermi', 'Cebin', 'Vía Interamericana', '6953579', 'PO', 2), + ('11-037-4892', 'Yerkin', 'Tea', 'Av Manuel Espinosa B', '6953529', 'EW', 7), + ('12-237-4892', 'Fulano', 'Tal', 'Av Ramón Arias Bella Vta', '6946529', 'GY', 5), + ('8-237-4893', 'Herico', 'Dinal', 'Vúa Rdo J Alfaro', '9943629', 'NB', 6), + ('4-257-4895', 'Kinto', 'Carbo', 'direccion', '9945624', 'NT', 90), + ('8-237-4890', 'Jaime', 'Gordon', 'direccion', '9933329', 'LS', 23), + ('5-537-4892', 'Karmen', 'Galeon', 'direccion', '6933329', 'CO', 44), + ('8-247-4897', 'Chimel', 'Gadol', 'Ave Las Américas', '6935329', 'CH', 55), + ('8-237-4896', 'Manche', 'Galeno', 'direccion', '3935529', 'HE', 2), + ('7-267-4497', 'Fernando', 'Viola', 'direccion', '3935529', 'BT', 2), + ('8-277-4895', 'Gimena', 'Viola', 'direccion', '3943529', 'PO', 2), + ('8-277-4899', 'Dano', 'Pinto', 'Zona Libre', '6144127', 'LS', 2), + ('1-277-4839', 'Gergo', 'Cantor', 'direccion', '6143127', 'NB', 2), + ('8-277-4837', 'Santa', 'Perres', 'direccion', '5143127', 'CO', 2), + ('5-977-4837', 'Linera', 'Melon', 'direccion', '8923127', 'PA', 2), + ('8-977-4837', 'Sergio', 'Pinto', 'Centro Comercial Limajo', '8923467', 'CH', 2), + ('7-937-4837', 'Kamel', 'Seda', 'direccion', '8923467', 'PO', 77), + ('8-937-4837', 'Jomek', 'Kaker', 'Centro Comercial Limajo', '6423469', 'BT', 2), + ('12-967-4831', 'Demi', 'Holcen', 'Vía Interamericana', '4244529', 'LS', 2), + ('8-964-4832', 'Miker', 'Hazar', 'Ave Las Américas', '6443459', 'PO', 2), + ('11-257-4837', 'Zalmo', 'Chazar', 'direccion', '6944529', 'CH', 2); + + + +-- UPDATE Cliente SET id = 1, nombre = "ddd" WHERE id = 1; + +INSERT INTO Vendedor + (codigo, nombre, apellido, departamento, cargo, venta_mensual, venta_anual) +VALUES + ("V1", "Kamicho", "Checo", "VT", "Vendedor", 45, 1503), + ("V2", "Mecha", "Carmen", "VT", "Vendedor", 76, 903), + ("V3", "Pala", "Sancho", "ET", "Administrador", 54, 603), + ("V3", "Chomika", "Checo", "VT", "Vendedor", 34, 103), + ("V4", "Jagero", "Sanches", "DA", "Vendedor", 42, 425), + ("V5", "Chaigo", "Felero", "MB", "Administrador", 40, 703), + ("V6", "Gomes", "Migo", "VT", "Vendedor", 44, 303), + ("V7", "Yakera", "Velada", "ET", "Vendedor", 57, 603), + ("V8", "Mila", "Karmela", "VT", "Administrador", 77, 555), + ("V9", "Batera", "Gotas", "VT", "Vendedor", 87, 903), + ("V10", "Nailo", "Glamo", "DA", "Administrador", 40, 703), + ("V11", "Florego", "Chargo", "DA", "Vendedor", 40, 803), + ("V12", "Hiramo", "Maner", "ET", "Vendedor", 40, 303), + ("V13", "Yamel", "Sojas", "DA", "Vendedor", 40, 703), + ("V14", "Gamik", "Fata", "VT", "Vendedor", 40, 573), + ("V15", "Kamicho", "Checo", "MB", "Vendedor", 40, 403), + ("V16", "Kopero", "Lamira", "VT", "Vendedor", 40, 703), + ("V17", "Garbedio", "Checo", "RP", "Administrador", 40, 703), + ("V18", "FLik", "Melino", "MB", "Vendedor", 40, 703), + ("V19", "Hadina", "Chago", "RP", "Administrador", 40, 903), + ("V20", "Nigto", "Goto", "VT", "Administrador", 40, 503); + + diff --git a/base_de_datos/sql/4_debug.sql b/base_de_datos/sql/4_debug.sql new file mode 100644 index 0000000..2ea5ea3 --- /dev/null +++ b/base_de_datos/sql/4_debug.sql @@ -0,0 +1,10 @@ + + +-- SELECT * FROM Cliente; + +-- SELECT * FROM Cliente WHERE id = 1; + + +-- SHOW CREATE TABLE Cliente; + +-- SELECT * FROM Cliente \ No newline at end of file diff --git a/base_de_datos/sql/backup.sql b/base_de_datos/sql/backup.sql new file mode 100644 index 0000000..7f7bd2c --- /dev/null +++ b/base_de_datos/sql/backup.sql @@ -0,0 +1,143 @@ +-- MySQL dump 10.13 Distrib 8.4.5, for Linux (x86_64) +-- +-- Host: localhost Database: db +-- ------------------------------------------------------ +-- Server version 8.4.5 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `Cliente` +-- + +DROP TABLE IF EXISTS `Cliente`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `Cliente` ( + `id` int NOT NULL AUTO_INCREMENT, + `cedula` varchar(15) DEFAULT NULL, + `nombre` varchar(30) DEFAULT NULL, + `apellido` varchar(30) DEFAULT NULL, + `direccion` varchar(50) DEFAULT NULL, + `telefono` varchar(7) DEFAULT NULL, + `provincia` varchar(2) DEFAULT NULL, + `compra_anual` decimal(6,0) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_Cliente_Provincia` (`provincia`), + CONSTRAINT `fk_Cliente_Provincia` FOREIGN KEY (`provincia`) REFERENCES `Provincia` (`codigo`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `Cliente` +-- + +LOCK TABLES `Cliente` WRITE; +/*!40000 ALTER TABLE `Cliente` DISABLE KEYS */; +INSERT INTO `Cliente` VALUES (1,'1-268-4633','Sol','Bayo','El Ejido, Los Santos','9943529','BT',10),(2,'2-368-4693','Karto','Ukao','Carretera Madden, Chilibre','8943325','CO',2),(3,'3-248-4693','Nardo','Karmen','Centro Comercial Limajo','4943329','CL',40),(4,'4-265-4693','Carmen','Leno','Zona Libre','6943329','CH',2),(5,'5-268-6693','Rinaldo','Oleno','Vista Alegre','8943329','DA',5),(6,'6-268-4793','Fernando','Halo','Vía José A Arango Juan Díaz','4945329','HE',7),(7,'7-268-4693','Karna','Leno','Cl 7, Sant','6345329','LS',9),(8,'8-938-4693','Cevella','Kinto','Ave Las Américas','6745529','PA',10),(9,'1-264-4623','Luna','Bayo','Av Manuel Espinosa B','6465729','BT',11),(10,'10-233-3692','Sermi','Cebin','Vía Interamericana','6953579','PO',2),(11,'11-037-4892','Yerkin','Tea','Av Manuel Espinosa B','6953529','EW',7),(12,'12-237-4892','Fulano','Tal','Av Ramón Arias Bella Vta','6946529','GY',5),(13,'8-237-4893','Herico','Dinal','Vúa Rdo J Alfaro','9943629','NB',6),(14,'4-257-4895','Kinto','Carbo','direccion','9945624','NT',90),(15,'8-237-4890','Jaime','Gordon','direccion','9933329','LS',23),(16,'5-537-4892','Karmen','Galeon','direccion','6933329','CO',44),(17,'8-247-4897','Chimel','Gadol','Ave Las Américas','6935329','CH',55),(18,'8-237-4896','Manche','Galeno','direccion','3935529','HE',2),(19,'7-267-4497','Fernando','Viola','direccion','3935529','BT',2),(20,'8-277-4895','Gimena','Viola','direccion','3943529','PO',2),(21,'8-277-4899','Dano','Pinto','Zona Libre','6144127','LS',2),(22,'1-277-4839','Gergo','Cantor','direccion','6143127','NB',2),(23,'8-277-4837','Santa','Perres','direccion','5143127','CO',2),(24,'5-977-4837','Linera','Melon','direccion','8923127','PA',2),(25,'8-977-4837','Sergio','Pinto','Centro Comercial Limajo','8923467','CH',2),(26,'7-937-4837','Kamel','Seda','direccion','8923467','PO',77),(27,'8-937-4837','Jomek','Kaker','Centro Comercial Limajo','6423469','BT',2),(28,'12-967-4831','Demi','Holcen','Vía Interamericana','4244529','LS',2),(29,'8-964-4832','Miker','Hazar','Ave Las Américas','6443459','PO',2),(30,'11-257-4837','Zalmo','Chazar','direccion','6944529','CH',2); +/*!40000 ALTER TABLE `Cliente` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `Departamento` +-- + +DROP TABLE IF EXISTS `Departamento`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `Departamento` ( + `id` int NOT NULL AUTO_INCREMENT, + `codigo` varchar(2) DEFAULT NULL, + `descripcion` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `departamento_unique_codigo` (`codigo`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `Departamento` +-- + +LOCK TABLES `Departamento` WRITE; +/*!40000 ALTER TABLE `Departamento` DISABLE KEYS */; +INSERT INTO `Departamento` VALUES (1,'VT','Ventas General'),(2,'ET','Eletrodomesticos'),(3,'RP','Ropa'),(4,'MB','Muebles'),(5,'DA','Despensa Alimentaria'); +/*!40000 ALTER TABLE `Departamento` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `Provincia` +-- + +DROP TABLE IF EXISTS `Provincia`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `Provincia` ( + `id` int NOT NULL AUTO_INCREMENT, + `codigo` varchar(2) DEFAULT NULL, + `descripcion` varchar(30) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `provincia_unique_codigo` (`codigo`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `Provincia` +-- + +LOCK TABLES `Provincia` WRITE; +/*!40000 ALTER TABLE `Provincia` DISABLE KEYS */; +INSERT INTO `Provincia` VALUES (1,'BT','Bocas del Toro'),(2,'CO','Coclé'),(3,'CL','Colón'),(4,'CH','Chiriquí'),(5,'DA','Darién'),(6,'HE','Herrera'),(7,'LS','Los Santos'),(8,'PA','Panamá'),(9,'VE','Veraguas'),(10,'PO','Panamá Oeste'),(11,'EW','Emberá-Wounaan'),(12,'GY','Guna Yala'),(13,'NB','Ngöbe-Buglé'),(14,'NT','Naso Tjër Di'); +/*!40000 ALTER TABLE `Provincia` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `Vendedor` +-- + +DROP TABLE IF EXISTS `Vendedor`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `Vendedor` ( + `id` int NOT NULL AUTO_INCREMENT, + `codigo` varchar(4) DEFAULT NULL, + `nombre` varchar(20) DEFAULT NULL, + `apellido` varchar(20) DEFAULT NULL, + `departamento` varchar(2) DEFAULT NULL, + `cargo` varchar(20) DEFAULT NULL, + `venta_mensual` decimal(6,0) DEFAULT NULL, + `venta_anual` decimal(9,0) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_Vendedor_Departamento` (`departamento`), + CONSTRAINT `fk_Vendedor_Departamento` FOREIGN KEY (`departamento`) REFERENCES `Departamento` (`codigo`) +) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `Vendedor` +-- + +LOCK TABLES `Vendedor` WRITE; +/*!40000 ALTER TABLE `Vendedor` DISABLE KEYS */; +INSERT INTO `Vendedor` VALUES (1,'V1','Kamicho','Checo','VT','Vendedor',45,1503),(2,'V2','Mecha','Carmen','VT','Vendedor',76,903),(3,'V3','Pala','Sancho','ET','Administrador',54,603),(4,'V3','Chomika','Checo','VT','Vendedor',34,103),(5,'V4','Jagero','Sanches','DA','Vendedor',42,425),(6,'V5','Chaigo','Felero','MB','Administrador',40,703),(7,'V6','Gomes','Migo','VT','Vendedor',44,303),(8,'V7','Yakera','Velada','ET','Vendedor',57,603),(9,'V8','Mila','Karmela','VT','Administrador',77,555),(10,'V9','Batera','Gotas','VT','Vendedor',87,903),(11,'V10','Nailo','Glamo','DA','Administrador',40,703),(12,'V11','Florego','Chargo','DA','Vendedor',40,803),(13,'V12','Hiramo','Maner','ET','Vendedor',40,303),(14,'V13','Yamel','Sojas','DA','Vendedor',40,703),(15,'V14','Gamik','Fata','VT','Vendedor',40,573),(16,'V15','Kamicho','Checo','MB','Vendedor',40,403),(17,'V16','Kopero','Lamira','VT','Vendedor',40,703),(18,'V17','Garbedio','Checo','RP','Administrador',40,703),(19,'V18','FLik','Melino','MB','Vendedor',40,703),(20,'V19','Hadina','Chago','RP','Administrador',40,903),(21,'V20','Nigto','Goto','VT','Administrador',40,503); +/*!40000 ALTER TABLE `Vendedor` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2025-07-31 10:40:35 diff --git a/base_de_datos/src/main/java/com/proy_final/Proy_final_db.java b/base_de_datos/src/main/java/com/proy_final/Proy_final_db.java new file mode 100644 index 0000000..e6ef342 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/Proy_final_db.java @@ -0,0 +1,12 @@ +package com.proy_final; + +import com.proy_final.mod.Init; + +public class Proy_final_db { + public static void main(String[] args) { + System.out.printf("Proy_final_db%n"); + + Init init = new Init(); + init.start(); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/Init.java b/base_de_datos/src/main/java/com/proy_final/mod/Init.java new file mode 100644 index 0000000..478251c --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/Init.java @@ -0,0 +1,55 @@ + +package com.proy_final.mod; + +import com.proy_final.mod.db.DataBase; + +import com.proy_final.mod.uil.menu.NavBar; +import com.proy_final.mod.util.settings.Global; + +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Color; + +import javax.swing.JFrame; +import javax.swing.JPanel; + +public class Init extends JFrame implements ActionListener { + + + + + public Init() { + this.setTitle("Proy Final"); + this.setLayout(null); + this.setVisible(true); + this.setBounds( + 0, + 0, + 1000, + 900 + ); + if (Global.DEBUG) { + this.getContentPane().setBackground(Color.GREEN); + } + this.setExtendedState(JFrame.MAXIMIZED_BOTH); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + + + + public void start() { + + this.setJMenuBar(new NavBar(this)); + + this.revalidate(); + this.repaint(); + + } + + public void actionPerformed(ActionEvent e) { + + } +} + + diff --git a/base_de_datos/src/main/java/com/proy_final/mod/db/DataBase.java b/base_de_datos/src/main/java/com/proy_final/mod/db/DataBase.java new file mode 100644 index 0000000..055dbd4 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/db/DataBase.java @@ -0,0 +1,129 @@ +package com.proy_final.mod.db; + +import java.sql.*; + + +import java.util.HashMap; +import java.util.Map; +import java.io.InputStream; + +import net.sf.jasperreports.engine.*; +import net.sf.jasperreports.view.*; + +public class DataBase { + + private String url, user, pass, sql; + private Connection connection; + private Statement statement; + private ResultSet result_set; + + + public DataBase() { + url = "jdbc:mysql://127.0.0.1:3306/db"; + user = "root"; + pass = "root"; + } + + + public void open() { + try { + connection = DriverManager.getConnection(url, user, pass); + statement = connection.createStatement(); + System.out.println("Ok: Database "); + } catch(Exception e) { + System.out.println("Err: Database: "+e.toString()); + } + } + + + public void close() { + try { + if (result_set != null) { + result_set.close(); + statement.close(); + connection.close(); + } + } catch(Exception e){ + System.out.println("error cerrar "+e.toString()); + } + } + + + public ResultSet executeQuery(String sql) { + try { + this.open(); + this.result_set = statement.executeQuery(sql); + + } catch(Exception e) { + System.out.println("error queryBD " + e.toString()); + } + return this.result_set; + } + + + public void executeUpdate(String sql) { + try { + this.open(); + + statement.executeUpdate(sql); + + this.close(); + } catch(Exception e) { + System.out.println("error update " + e.toString()); + } + } + + public Connection getConnection() { return connection; } + + + + public static enum EnumReporteType { + REPORTECLIENTE, + REPORTEVENDEDOR + } + + public void reporte(String orden, EnumReporteType reporte_type) { + + try{ + this.open(); + + + Map parametro = new HashMap(); + parametro.put("orden", orden); + + InputStream input; + switch (reporte_type) { + case REPORTECLIENTE: + input = getClass().getResourceAsStream("/reports/reporte_cliente.jrxml"); + break; + case REPORTEVENDEDOR: + input = getClass().getResourceAsStream("/reports/reporte_vendedor.jrxml"); + break; + default: + input = getClass().getResourceAsStream("/reports/reporte_none.jrxml"); + break; + } + + JasperReport jasperReport = JasperCompileManager.compileReport(input); + + JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametro, this.connection); + + + switch (reporte_type) { + case REPORTECLIENTE: + JasperExportManager.exportReportToPdfFile(jasperPrint, "reporte_cliente.pdf"); + break; + + case REPORTEVENDEDOR: + JasperExportManager.exportReportToPdfFile(jasperPrint, "reporte_vendedor.pdf"); + break; + + default: + JasperExportManager.exportReportToPdfFile(jasperPrint, "reporte_none.pdf"); + break; + } + } catch(Exception e) { + System.out.println(e.toString()); + } + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/template/Persona.java b/base_de_datos/src/main/java/com/proy_final/mod/template/Persona.java new file mode 100644 index 0000000..90116d4 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/template/Persona.java @@ -0,0 +1,505 @@ +package com.proy_final.mod.template; + +import com.proy_final.mod.db.DataBase; +import com.proy_final.mod.util.data.Departamento; + +import javax.swing.JOptionPane; + +import java.util.List; +import java.util.ArrayList; + +import java.sql.*; + +public class Persona { + protected String id; + protected String nombre; + protected String apellido; + + + protected String sql_command; + protected List sql_variables_list = new ArrayList<>(); + + + public List getVariableList() { return this.sql_variables_list; } + + public void setVariableList(List sql_variables_list) { this.sql_variables_list = sql_variables_list; }; + + public void setSelfType(EnumPersona self_type) { + this.self_type = self_type; + } + + protected EnumPersona self_type = EnumPersona.PERSONA; + public enum EnumPersona { + PERSONA, + CLIENTE, + VENDEDOR + } + + public enum EnumVendedor { + VENDEDORID, + VENDEDORCODIGO, + VENDEDORNOMBRE, + VENDEDORAPELLIDO, + VENDEDORDEPARTAMENTO, + VENDEDORCARGO, + VENDEDORVENTAMENSUAL, + VENDEDORVENTAANUAL + } + + public enum EnumCliente { + CLIENTEID, + CLIENTECEDULA, + CLIENTENOMBRE, + CLIENTEAPELLIDO, + CLIENTEDIRECCION, + CLIENTETELEFONO, + CLIENTEPROVINCIA, + CLIENTECOMPRAANUAL + } + + + + + public Persona() {} + + + public void setDBTableAdd() { + switch (this.self_type) { + case CLIENTE: + this.sql_command = String.format(""" + INSERT INTO Cliente (cedula, nombre, apellido, direccion, telefono, provincia, compra_anual) + VALUES ('%s', '%s', '%s', '%s', '%s', '%s', %s);""", + + this.sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTENOMBRE.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEDIRECCION.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEPROVINCIA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTECOMPRAANUAL.ordinal()) + ); + break; + + case VENDEDOR: + this.sql_command = String.format(""" + INSERT INTO Vendedor (codigo, nombre, apellido, departamento, cargo, venta_mensual, venta_anual) + VALUES ('%s', '%s', '%s', '%s', '%s', %s, %s);""", + + this.sql_variables_list.get(EnumVendedor.VENDEDORCODIGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORNOMBRE.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORDEPARTAMENTO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORCARGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAANUAL.ordinal()) + ); + + System.out.println(this.sql_command); + break; + + default: + return; + } + new DataBase().executeUpdate(this.sql_command); + JOptionPane.showMessageDialog( + null, + "El registro se grabo", + "Agregar status", + JOptionPane.INFORMATION_MESSAGE + ); + } + + public void setDBDelete() { + + switch (this.self_type) { + case CLIENTE: + this.sql_command = String.format("DELETE FROM Cliente WHERE id = %s;", this.id); + System.out.println(sql_command); + System.out.println(this.id); + + break; + + case VENDEDOR: + this.sql_command = String.format("DELETE FROM Vendedor WHERE id = %s;", this.id); + break; + + default: + return; + } + new DataBase().executeUpdate(this.sql_command); + JOptionPane.showMessageDialog( + null, + "El registro se elimino", + "Eliminar status", + JOptionPane.INFORMATION_MESSAGE + ); + } + + public void setDBUpdate() { + + switch (this.self_type) { + case CLIENTE: + try { + if (this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal()).equals("")) { + this.sql_variables_list.set(EnumCliente.CLIENTETELEFONO.ordinal(), "0"); + } + + if (this.sql_variables_list.get(EnumCliente.CLIENTECOMPRAANUAL.ordinal()).equals("")) { + this.sql_variables_list.set(EnumCliente.CLIENTECOMPRAANUAL.ordinal(), "0"); + } + + + // System.out.println("------------------"); + // System.out.println("Variables"); + // for (String list : sql_variables_list) { + // System.out.println(list); + // } + // System.out.println("------------------"); + + this.sql_command = String.format(""" + UPDATE Cliente + SET cedula = '%s', nombre = '%s', apellido = '%s', direccion = '%s', telefono = '%s', provincia = '%s', compra_anual = %s + WHERE id = %s;""", + + this.sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTENOMBRE.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEDIRECCION.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEPROVINCIA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTECOMPRAANUAL.ordinal()), + + this.sql_variables_list.get(EnumCliente.CLIENTEID.ordinal()) + ); + + + System.out.println(this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal())); + + + System.out.println(this.sql_command); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + break; + + case VENDEDOR: + try { + + if (this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal()).equals("")) { + this.sql_variables_list.set(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal(), "0"); + } + + if (this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAANUAL.ordinal()).equals("")) { + this.sql_variables_list.set(EnumVendedor.VENDEDORVENTAANUAL.ordinal(), "0"); + } + + this.sql_command = String.format(""" + UPDATE Vendedor + SET codigo = '%s', nombre = '%s', apellido = '%s', departamento = '%s', cargo = '%s', venta_mensual = '%s', venta_anual = %s + WHERE id = %s;""", + + + this.sql_variables_list.get(EnumVendedor.VENDEDORCODIGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORNOMBRE.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORDEPARTAMENTO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORCARGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAANUAL.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORID.ordinal()) + + + ); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + } + + new DataBase().executeUpdate(sql_command); + JOptionPane.showMessageDialog( + null, + "El registro se modifico", + "Modificar status", + JOptionPane.INFORMATION_MESSAGE + ); + } + + + public List getDBTableWhere() { + List list_table_where = new ArrayList<>(); + + switch (this.self_type) { + case CLIENTE: + try { + + this.sql_command = String.format("SELECT * FROM Cliente WHERE cedula = '%s';", sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal())); + + + System.out.println(this.sql_command); + ResultSet result_set = new DataBase().executeQuery(this.sql_command); + + while (result_set.next()) { + Persona persona_cliente = new Persona(); + + List list_tmp = persona_cliente.getVariableList(); + + list_tmp.add(result_set.getString("id")); + list_tmp.add(result_set.getString("cedula")); + list_tmp.add(result_set.getString("nombre")); + list_tmp.add(result_set.getString("apellido")); + list_tmp.add(result_set.getString("direccion")); + list_tmp.add(result_set.getString("telefono")); + list_tmp.add(result_set.getString("provincia")); + list_tmp.add(result_set.getString("compra_anual")); + + persona_cliente.setVariableList(list_tmp); + + list_table_where.add(persona_cliente); + + } + + result_set.close(); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + break; + + case VENDEDOR: + try { + + this.sql_command = String.format("SELECT * FROM Vendedor WHERE codigo = '%s';", sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal())); + + System.out.println(this.sql_command); + ResultSet result_set = new DataBase().executeQuery(this.sql_command); + + while (result_set.next()) { + Persona persona_vendedor = new Persona(); + + List list_tmp = persona_vendedor.getVariableList(); + + list_tmp.add(result_set.getString("id")); + list_tmp.add(result_set.getString("codigo")); + list_tmp.add(result_set.getString("nombre")); + list_tmp.add(result_set.getString("apellido")); + list_tmp.add(result_set.getString("departamento")); + list_tmp.add(result_set.getString("cargo")); + list_tmp.add(result_set.getString("venta_mensual")); + list_tmp.add(result_set.getString("venta_anual")); + + persona_vendedor.setVariableList(list_tmp); + + list_table_where.add(persona_vendedor); + + } + + result_set.close(); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + + break; + + default: + break; + } + + return list_table_where; + } + + public List getDBTableAll() { + List list_table_all = new ArrayList<>(); + + switch (this.self_type) { + case CLIENTE: + try { + + this.sql_command = "SELECT * FROM Cliente;"; + + ResultSet result_set = new DataBase().executeQuery(this.sql_command); + + + while (result_set.next()) { + Persona persona_cliente = new Persona(); + + List list_tmp = persona_cliente.getVariableList(); + + list_tmp.add(result_set.getString("id")); + list_tmp.add(result_set.getString("cedula")); + list_tmp.add(result_set.getString("nombre")); + list_tmp.add(result_set.getString("apellido")); + list_tmp.add(result_set.getString("direccion")); + list_tmp.add(result_set.getString("telefono")); + list_tmp.add(result_set.getString("provincia")); + list_tmp.add(result_set.getString("compra_anual")); + + persona_cliente.setVariableList(list_tmp); + + list_table_all.add(persona_cliente); + } + + result_set.close(); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + break; + + case VENDEDOR: + try { + + this.sql_command = "SELECT * FROM Vendedor;"; + + ResultSet result_set = new DataBase().executeQuery(this.sql_command); + + + while (result_set.next()) { + Persona persona_vendedor = new Persona(); + + List list_tmp = persona_vendedor.getVariableList(); + + list_tmp.add(result_set.getString("id")); + list_tmp.add(result_set.getString("codigo")); + list_tmp.add(result_set.getString("nombre")); + list_tmp.add(result_set.getString("apellido")); + list_tmp.add(result_set.getString("departamento")); + list_tmp.add(result_set.getString("cargo")); + list_tmp.add(result_set.getString("venta_mensual")); + list_tmp.add(result_set.getString("venta_anual")); + + persona_vendedor.setVariableList(list_tmp); + + list_table_all.add(persona_vendedor); + } + + result_set.close(); + + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + break; + + default: + list_table_all.add(new Persona()); + + break; + } + + return list_table_all; + } + + + public String[] getDBTableTitleRow() { + String[] row_table_title = new String[0]; + + + switch (this.self_type) { + case CLIENTE: + row_table_title = new String[] { + "ID", + "Cedula", + "Nombre", + "Apellido", + "Direccion", + "Telefono", + "Provincia", + "Compra Anual" + }; + break; + + case VENDEDOR: + row_table_title = new String[] { + "ID", + "Codigo", + "Nombre", + "Apellido", + "Departamento", + "Cargo", + "Venta Mensuales", + "venta Anual" + }; + break; + + default: + System.out.println(this.self_type); + row_table_title = new String[] { + "NULL", + }; + break; + } + return row_table_title; + } + + + public String[] getDBTableRow() { + String[] row_table_row; + + switch (this.self_type) { + case CLIENTE: + row_table_row = new String[] { + this.sql_variables_list.get(EnumCliente.CLIENTEID.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTENOMBRE.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEDIRECCION.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTEPROVINCIA.ordinal()), + this.sql_variables_list.get(EnumCliente.CLIENTECOMPRAANUAL.ordinal()) + }; + break; + + case VENDEDOR: + row_table_row = new String[] { + this.sql_variables_list.get(EnumVendedor.VENDEDORID.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORCODIGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORNOMBRE.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORAPELLIDO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORDEPARTAMENTO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORCARGO.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal()), + this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAANUAL.ordinal()) + }; + break; + + default: + row_table_row = new String[] { + "null" + }; + break; + } + + return row_table_row; + } + + + public String getVendedorID() { return this.sql_variables_list.get(EnumVendedor.VENDEDORID.ordinal()); } + public String getVendedorCodigo() { return this.sql_variables_list.get(EnumVendedor.VENDEDORCODIGO.ordinal()); } + public String getVendedorNombre() { return this.sql_variables_list.get(EnumVendedor.VENDEDORNOMBRE.ordinal()); } + public String getVendedorApellido() { return this.sql_variables_list.get(EnumVendedor.VENDEDORAPELLIDO.ordinal()); } + public String getVendedorCargo() { return this.sql_variables_list.get(EnumVendedor.VENDEDORCARGO.ordinal()); } + public String getVendedorDepartamento() { return this.sql_variables_list.get(EnumVendedor.VENDEDORDEPARTAMENTO.ordinal()); } + public String getVendedorVentaMensual() { return this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAMENSUAL.ordinal()); } + public String getVendedorVentaAnual() { return this.sql_variables_list.get(EnumVendedor.VENDEDORVENTAANUAL.ordinal()); } + + + public String getClienteID() { return this.sql_variables_list.get(EnumCliente.CLIENTEID.ordinal()); } + public String getClienteCedula() { return this.sql_variables_list.get(EnumCliente.CLIENTECEDULA.ordinal()); } + public String getClienteNombre() { return this.sql_variables_list.get(EnumCliente.CLIENTENOMBRE.ordinal()); } + public String getClienteApellido() { return this.sql_variables_list.get(EnumCliente.CLIENTEAPELLIDO.ordinal()); } + public String getClienteDirrecion() { return this.sql_variables_list.get(EnumCliente.CLIENTEDIRECCION.ordinal()); } + public String getClienteTelefono() { return this.sql_variables_list.get(EnumCliente.CLIENTETELEFONO.ordinal()); } + public String getClienteProvincia() { return this.sql_variables_list.get(EnumCliente.CLIENTEPROVINCIA.ordinal()); } + public String getClienteCompraAnual() { return this.sql_variables_list.get(EnumCliente.CLIENTECOMPRAANUAL.ordinal()); } + + + public String getID() { return this.id; } + public String getNombre() { return this.nombre; } + public String getApellido() { return this.apellido; } + + public void setID(String id) { this.id = id; } + public void setNombre(String nombre) { this.nombre = nombre; } + public void setApellido(String apellido) { this.apellido = apellido; } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/template/Ubicacion.java b/base_de_datos/src/main/java/com/proy_final/mod/template/Ubicacion.java new file mode 100644 index 0000000..635769e --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/template/Ubicacion.java @@ -0,0 +1,8 @@ +package com.proy_final.mod.template; + + +public class Ubicacion { + protected int id; + protected String codigo; + protected String descripcion; +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/data/Cliente.java b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Cliente.java new file mode 100644 index 0000000..869bcf1 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Cliente.java @@ -0,0 +1,195 @@ +package com.proy_final.mod.util.data; + +import com.proy_final.mod.template.Persona; +import com.proy_final.mod.db.DataBase; +import com.proy_final.mod.util.data.Provincia; + +import java.util.List; +import java.util.ArrayList; + +import java.sql.*; + +public class Cliente extends Persona { + private String id; + private String cedula; + private String direccion; + private String telefono; + private String provincia; + private String compra_anual; + + + + public Cliente() { + this.self_type = EnumPersona.CLIENTE; + this.id = ""; + this.cedula = ""; + this.nombre = ""; + this.apellido = ""; + this.direccion = ""; + this.telefono = ""; + this.provincia = ""; + this.compra_anual = ""; + } + + public Cliente( + String id, + String cedula, + String nombre, + String apellido, + String direccion, + String telefono, + String provincia, + String compra_anual + ) { + + { + this.self_type = EnumPersona.CLIENTE; + this.id = id; + this.nombre = nombre; + this.apellido = apellido; + } + + { + this.cedula = cedula; + this.direccion = direccion; + this.telefono = telefono; + this.provincia = provincia; + this.compra_anual = compra_anual; + } + } + + public String[] getArrayVarString() { + String[] var_array = new String[] { + "ID", + "Cedula", + "Nombre", + "Apellido", + "Direccion", + "Telefono", + "Provincia", + "Compra anual", + }; + + return var_array; + } + + public void addClienteTable() { + + this.provincia = new Provincia().getRealProvinciaDB(this.provincia); + + + String sql_command = String.format("INSERT INTO Cliente (cedula, nombre, apellido, direccion, telefono, provincia, compra_anual) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', %s);", this.cedula, this.nombre, this.apellido, this.direccion, this.telefono, this.provincia, this.compra_anual); + new DataBase().executeUpdate(sql_command); + } + + public void updateClienteTable() { + + this.provincia = new Provincia().getRealProvinciaDB(this.provincia); + + + if (this.compra_anual.equals("")) { + this.compra_anual = "0"; + } + // cedula, nombre, apellido, direccion, telefono, provincia, compra_anual + String sql_command = String.format("UPDATE Cliente SET cedula = '%s', nombre = '%s', apellido = '%s', direccion = '%s', telefono = '%s', provincia = '%s', compra_anual = %s WHERE id = %s;", this.cedula, this.nombre, this.apellido, this.direccion, this.telefono, this.provincia, this.compra_anual, this.id); + System.out.println(sql_command); + + new DataBase().executeUpdate(sql_command); + } + + + public void deleteClienteTable() { + String sql_command = String.format("DELETE FROM Cliente WHERE id = %s;", this.id); + new DataBase().executeUpdate(sql_command); + } + + public List getClientTableSelectWhere(String sql_command) { + List list_cliente = new ArrayList<>(); + try { + ResultSet result_set; + DataBase data_base = new DataBase(); + + String sql_command_to_execute = String.format("SELECT * FROM Cliente WHERE cedula = '%s';", sql_command); + + result_set = data_base.executeQuery(sql_command_to_execute); + while (result_set.next()) { + list_cliente.add( + new Cliente( + result_set.getString("id"), + result_set.getString("cedula"), + result_set.getString("nombre"), + result_set.getString("apellido"), + result_set.getString("direccion"), + result_set.getString("telefono"), + result_set.getString("provincia"), + result_set.getString("compra_anual") + ) + ); + } + + result_set.close(); + data_base.close(); + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + + return list_cliente; + } + + public List getClientTable() { + List list_cliente = new ArrayList<>(); + try { + ResultSet result_set; + DataBase data_base = new DataBase(); + String sql_command = "select * from Cliente;"; + + result_set = data_base.executeQuery(sql_command); + + + while (result_set.next()) { + list_cliente.add( + new Cliente( + result_set.getString("id"), + result_set.getString("cedula"), + result_set.getString("nombre"), + result_set.getString("apellido"), + result_set.getString("direccion"), + result_set.getString("telefono"), + result_set.getString("provincia"), + result_set.getString("compra_anual") + ) + ); + } + + result_set.close(); + data_base.close(); + } catch(Exception e) { + System.out.println("Error select: " + e.toString()); + } + + return list_cliente; + } + + + public String getId() { return this.id; } + public String getCedula() { return this.cedula; } + + public String getNombre() { return this.nombre; } + public String getApellido() { return this.apellido; } + + + public String getDireccion() { return this.direccion; } + public String getTelefono() { return this.telefono; } + public String getProvincia() { return this.provincia; } + public String getCompra_anual() { return this.compra_anual; } + + + public void setCedula(String cedula) { this.cedula = cedula; } + public void setNombre(String nombre) { this.nombre = nombre; } + public void setApellido(String apellido) { this.apellido = apellido; } + public void setDireccion(String direccion) { this.direccion = direccion; } + public void setTelefono(String telefono) { this.telefono = telefono; } + public void setProvincia(String provincia) { this.provincia = provincia; } + public void setCompraAnual(String anual) { this.compra_anual = compra_anual; } + +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/data/Departamento.java b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Departamento.java new file mode 100644 index 0000000..68e69e2 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Departamento.java @@ -0,0 +1,38 @@ +package com.proy_final.mod.util.data; + +import com.proy_final.mod.template.Ubicacion; + +public class Departamento extends Ubicacion { + + + public Departamento() { + + } + + + public String getRealDepartamentoComboBox (String departamento_db) { + switch (departamento_db) { + case "VT": return "Ventas General"; + case "ET": return "Eletrodomesticos"; + case "RP": return "Ropa"; + case "MB": return "Muebles"; + case "DA": return "Despensa Alimentaria"; + default: + return "NN"; + } + } + + public String getRealDepartamentoDB (String departamento_combo_box) { + switch (departamento_combo_box) { + case "Ventas General": return "VT"; + case "Eletrodomesticos": return "ET"; + case "Ropa": return "RP"; + case "Muebles": return "MB"; + case "Despensa Alimentaria": return "DA"; + default: + return "NN"; + } + } +} + + diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/data/Provincia.java b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Provincia.java new file mode 100644 index 0000000..7e54ac1 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Provincia.java @@ -0,0 +1,64 @@ +package com.proy_final.mod.util.data; + +import com.proy_final.mod.template.Ubicacion; + +public class Provincia extends Ubicacion { + public enum EnumUbicacion { + BocasDelToro, + Cocle, + Colón, + Chiriquí, + Darién, + Herrera, + LosSantos, + Panama, + Veraguas, + PanamaOeste, + EmberaWounaan, + GunaYala, + NgöbeBugle, + NasoTjërDi + } + + public String getRealProvinciaComboBox (String provincia_db) { + switch (provincia_db) { + case "BT": return "1 Bocas del Toro"; + case "CO": return "2 Coclé"; + case "CL": return "3 Colón"; + case "CH": return "4 Chiriquí"; + case "DA": return "5 Darién"; + case "HE": return "6 Herrera"; + case "LS": return "7 Los Santos"; + case "PA": return "8 Panamá"; + case "VE": return "9 Veraguas"; + case "PO": return "10 Panamá Oeste"; + case "EW": return "11 Emberá-Wounaan"; + case "GY": return "12 Guna Yala"; + case "NB": return "13 Ngöbe-Buglé"; + case "NT": return "14 Naso Tjër Di"; + default: + return "NN"; + } + } + + public String getRealProvinciaDB (String provincia_combo_box) { + switch (provincia_combo_box) { + case "1 Bocas del Toro": return "BT"; + case "2 Coclé": return "CO"; + case "3 Colón": return "CL"; + case "4 Chiriquí": return "CH"; + case "5 Darién": return "DA"; + case "6 Herrera": return "HE"; + case "7 Los Santos": return "LS"; + case "8 Panamá": return "PA"; + case "9 Veraguas": return "VE"; + case "10 Panamá Oeste": return "PO"; + case "11 Emberá-Wounaan": return "EW"; + case "12 Guna Yala": return "GY"; + case "13 Ngöbe-Buglé": return "NB"; + case "14 Naso Tjër Di": return "NT"; + default: + return "NN"; + } + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/data/Vendedor.java b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Vendedor.java new file mode 100644 index 0000000..4d673cc --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/data/Vendedor.java @@ -0,0 +1,79 @@ +package com.proy_final.mod.util.data; + +import com.proy_final.mod.template.Persona; +import com.proy_final.mod.db.DataBase; +import com.proy_final.mod.util.data.Departamento; + +import java.util.List; +import java.util.ArrayList; + +import java.sql.*; + +public class Vendedor extends Persona { + + private String codigo; + private String cargo; + private String departamento; + private String venta_mensual; + private String venta_anual; + + + public Vendedor() { + { + this.self_type = EnumPersona.VENDEDOR; + this.id = ""; + this.nombre = ""; + this.apellido = ""; + } + + { + this.codigo = ""; + this.cargo = ""; + this.departamento = ""; + this.venta_mensual = ""; + this.venta_anual = ""; + } + } + + + public Vendedor ( + String id, + String nombre, + String apellido, + + String codigo, + String cargo, + String departamento, + String venta_mensual, + String venta_anual + ) { + { + this.self_type = EnumPersona.VENDEDOR; + this.id = id; + this.nombre = nombre; + this.apellido = apellido; + } + + { + this.codigo = codigo; + this.cargo = cargo; + this.departamento = departamento; + this.venta_mensual = venta_mensual; + this.venta_anual = venta_anual; + } + } + + + public String getCodigo() { return this.codigo; } + public String getCargo() { return this.cargo; } + public String getDepartamento() { return this.departamento; } + public String getVentaMensual() { return this.venta_mensual; } + public String getVentaAnual() { return this.venta_anual; } + + + public void setCodigo(String codigo) { this.codigo = codigo; } + public void setDepartamento(String departamento) { this.departamento = departamento; } + public void setCargo(String cargo) { this.cargo = cargo; } + public void setVentaMensual(String venta_mensual) { this.venta_mensual = venta_mensual; } + public void setVentaAnual(String venta_anual) { this.venta_anual = venta_anual; } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/NavBar.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/NavBar.java new file mode 100644 index 0000000..eef0d02 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/NavBar.java @@ -0,0 +1,86 @@ +package com.proy_final.mod.uil.menu; + +import com.proy_final.mod.util.view.PanelPresentacion; +import com.proy_final.mod.util.view.PanelMantenimientoBoxCliente; +import com.proy_final.mod.util.view.PanelMantenimientoBoxVendedor; +import com.proy_final.mod.util.view.PanelReporteCliente; +import com.proy_final.mod.util.view.PanelReporteVendedor; + +import com.proy_final.mod.util.menu.inicio.MenuInicioPresentacion; + +import com.proy_final.mod.util.menu.mantenimiento.MenuMantenimientoCliente; +import com.proy_final.mod.util.menu.mantenimiento.MenuMantenimientoVendedor; + +import com.proy_final.mod.util.menu.reporte.MenuReporteCliente; +import com.proy_final.mod.util.menu.reporte.MenuReporteVendedor; + + +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JMenuBar; +import javax.swing.JFrame; + +import java.awt.Color; + + +public class NavBar extends JMenuBar { + + + + private PanelPresentacion view_PanelPresentacion = new PanelPresentacion(); + private PanelMantenimientoBoxCliente view_PanelCliente = new PanelMantenimientoBoxCliente(); + private PanelMantenimientoBoxVendedor view_PanelVendedor = new PanelMantenimientoBoxVendedor(); + + private PanelReporteCliente view_PanelReporteCliente = new PanelReporteCliente(); + private PanelReporteVendedor view_PanelReporteVendedor = new PanelReporteVendedor(); + + + public NavBar (JFrame main_frame) { + + + { + JMenu menu_inicio = new JMenu("Inicio"); + + MenuInicioPresentacion menu_inicio_presentacion = new MenuInicioPresentacion(main_frame, this.view_PanelPresentacion); + menu_inicio.add(menu_inicio_presentacion); + + + JMenuItem menu_inicio_salir = new JMenuItem("Salir"); + menu_inicio_salir.addActionListener(e -> { + System.exit(0); + }); + menu_inicio.add(menu_inicio_salir); + + this.add(menu_inicio); + } + + + { + + JMenu menu_mantenimiento = new JMenu("Mantenimiento"); + + MenuMantenimientoCliente menu_mantenimiento_cliente = new MenuMantenimientoCliente(main_frame, this.view_PanelCliente); + menu_mantenimiento.add(menu_mantenimiento_cliente); + + MenuMantenimientoVendedor menu_mantenimiento_vendedor = new MenuMantenimientoVendedor(main_frame, this.view_PanelVendedor); + menu_mantenimiento.add(menu_mantenimiento_vendedor); + + this.add(menu_mantenimiento); + } + + + { + JMenu menu_reporte = new JMenu("Reporte"); + + + MenuReporteCliente menu_reporte_cliente = new MenuReporteCliente(main_frame, this.view_PanelReporteCliente); + menu_reporte.add(menu_reporte_cliente); + + MenuReporteVendedor menu_reporte_vendedor = new MenuReporteVendedor(main_frame, this.view_PanelReporteVendedor); + menu_reporte.add(menu_reporte_vendedor); + + this.add(menu_reporte); + } + + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/inicio/MenuInicioPresentacion.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/inicio/MenuInicioPresentacion.java new file mode 100644 index 0000000..1e1b2ff --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/inicio/MenuInicioPresentacion.java @@ -0,0 +1,19 @@ +package com.proy_final.mod.util.menu.inicio; + +import com.proy_final.mod.util.view.PanelPresentacion; + +import javax.swing.JMenuItem; +import javax.swing.JFrame; + +public class MenuInicioPresentacion extends JMenuItem { + + public MenuInicioPresentacion(JFrame main_frame, PanelPresentacion panel_presentacion) { + super("Presentacion"); + + this.addActionListener(e -> { + main_frame.setContentPane(panel_presentacion); + main_frame.revalidate(); + main_frame.repaint(); + }); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoCliente.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoCliente.java new file mode 100644 index 0000000..52b3bb7 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoCliente.java @@ -0,0 +1,20 @@ +package com.proy_final.mod.util.menu.mantenimiento; + +import com.proy_final.mod.util.view.PanelMantenimientoBoxCliente; + +import javax.swing.JMenuItem; +import javax.swing.JFrame; + +public class MenuMantenimientoCliente extends JMenuItem { + + public MenuMantenimientoCliente(JFrame main_frame, PanelMantenimientoBoxCliente panel_cliente) { + super("Cliente"); + + this.addActionListener(e -> { + main_frame.setContentPane(panel_cliente); + main_frame.revalidate(); + main_frame.repaint(); + }); + + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoVendedor.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoVendedor.java new file mode 100644 index 0000000..bcb0aa3 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/mantenimiento/MenuMantenimientoVendedor.java @@ -0,0 +1,21 @@ +package com.proy_final.mod.util.menu.mantenimiento; + +import com.proy_final.mod.util.view.PanelMantenimientoBoxVendedor; + +import javax.swing.JMenuItem; +import javax.swing.JFrame; + + + +public class MenuMantenimientoVendedor extends JMenuItem { + + public MenuMantenimientoVendedor(JFrame main_frame, PanelMantenimientoBoxVendedor panel_vendedor) { + super("Vendedor"); + + this.addActionListener(e -> { + main_frame.setContentPane(panel_vendedor); + main_frame.revalidate(); + main_frame.repaint(); + }); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteCliente.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteCliente.java new file mode 100644 index 0000000..169f948 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteCliente.java @@ -0,0 +1,23 @@ +package com.proy_final.mod.util.menu.reporte; + + + +import com.proy_final.mod.util.view.PanelReporteCliente; + +import javax.swing.JMenuItem; +import javax.swing.JFrame; + + + +public class MenuReporteCliente extends JMenuItem { + + public MenuReporteCliente(JFrame main_frame, PanelReporteCliente panel_reporte_cliente) { + super("Reporte de Cliente"); + + this.addActionListener(e -> { + main_frame.setContentPane(panel_reporte_cliente); + main_frame.revalidate(); + main_frame.repaint(); + }); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteVendedor.java b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteVendedor.java new file mode 100644 index 0000000..d39c4fb --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/menu/reporte/MenuReporteVendedor.java @@ -0,0 +1,22 @@ +package com.proy_final.mod.util.menu.reporte; + + +import com.proy_final.mod.util.view.PanelReporteVendedor; + +import javax.swing.JMenuItem; +import javax.swing.JFrame; + + + +public class MenuReporteVendedor extends JMenuItem { + + public MenuReporteVendedor(JFrame main_frame, PanelReporteVendedor panel_reporte_vendedor) { + super("Reporte de Vendedor"); + + this.addActionListener(e -> { + main_frame.setContentPane(panel_reporte_vendedor); + main_frame.revalidate(); + main_frame.repaint(); + }); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/settings/Global.java b/base_de_datos/src/main/java/com/proy_final/mod/util/settings/Global.java new file mode 100644 index 0000000..663c149 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/settings/Global.java @@ -0,0 +1,10 @@ +package com.proy_final.mod.util.settings; + +import java.awt.Color; + + +public class Global { + public static boolean DEBUG = false; + + public static Color BGCOLOR = new Color(226, 240, 217); +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/struct/Vec2x2.java b/base_de_datos/src/main/java/com/proy_final/mod/util/struct/Vec2x2.java new file mode 100644 index 0000000..c348387 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/struct/Vec2x2.java @@ -0,0 +1,31 @@ +package com.proy_final.mod.util.struct; + +public class Vec2x2 { + private int x_pos, y_pos; + private int x_size, y_size; + + public Vec2x2() { + this.x_pos = 0; + this.y_pos = 0; + this.x_size = 0; + this.y_size = 0; + } + + public Vec2x2(int x_pos, int y_pos, int x_size, int y_size) { + this.x_pos = x_pos; + this.y_pos = y_pos; + this.x_size = x_size; + this.y_size = y_size; + } + + public void setXPos(int x_pos) { this.x_pos = x_pos; } + public void setYPos(int y_pos) { this.y_pos = y_pos; } + public void setXSize(int x_size) { this.x_size = x_size; } + public void setYSize(int y_size) { this.y_size = y_size; } + + + public int getXPos() { return this.x_pos; } + public int getYPos() { return this.y_pos; } + public int getXSize() { return this.x_size; } + public int getYSize() { return this.y_size; } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxCliente.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxCliente.java new file mode 100644 index 0000000..b3c7b5d --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxCliente.java @@ -0,0 +1,9 @@ +package com.proy_final.mod.util.view; + +import com.proy_final.mod.util.view.gui.PanelMantenimientoBox; + +public class PanelMantenimientoBoxCliente extends PanelMantenimientoBox { + public PanelMantenimientoBoxCliente() { + super("Cliente", EnumPanel.MANTENIMIENTOCLIENTE); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxVendedor.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxVendedor.java new file mode 100644 index 0000000..22501bf --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelMantenimientoBoxVendedor.java @@ -0,0 +1,9 @@ +package com.proy_final.mod.util.view; + +import com.proy_final.mod.util.view.gui.PanelMantenimientoBox; + +public class PanelMantenimientoBoxVendedor extends PanelMantenimientoBox { + public PanelMantenimientoBoxVendedor() { + super("Vendedor", EnumPanel.MANTENIMIENTOVENDEDOR); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelPresentacion.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelPresentacion.java new file mode 100644 index 0000000..8940265 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelPresentacion.java @@ -0,0 +1,56 @@ +package com.proy_final.mod.util.view; + + +import com.proy_final.mod.util.struct.Vec2x2; +import com.proy_final.mod.util.settings.Global; + +import javax.swing.JPanel; +import javax.swing.JLabel; + +import java.awt.Color; +import java.awt.Font; + +public class PanelPresentacion extends JPanel { + public PanelPresentacion() { + this.setLayout(null); + if (Global.DEBUG) { + this.setBackground(Color.BLUE); + } else { + this.setBackground(Global.BGCOLOR); + } + + + String[] menu_info = new String[] { + String.format(" %65s ", "Proyecto No. 3 Base de datos"), + String.format(" %65s ", "Universidad Facultad: "), + String.format(" %65s ", "Carrera: "), + String.format(" %65s ", "Materia: "), + String.format(" %65s ", "Profesor: "), + String.format(" %65s ", "Grupo: " ), + String.format(" %65s ", "Cedula: "), + String.format(" %65s ", "Fecha: "), + }; + + + Vec2x2 label_data_vec = new Vec2x2(315, 130, 700, 50); + for (int i = 0; i < menu_info.length; i = i + 1 ) { + JLabel label_data_show = new JLabel(menu_info[i]); + label_data_show.setFont(new Font("Arial", Font.PLAIN, 18)); + + label_data_show.setBounds( + label_data_vec.getXPos(), + label_data_vec.getYPos(), + label_data_vec.getXSize(), + label_data_vec.getYSize() + ); + + if (Global.DEBUG) { + label_data_show.setOpaque(true); + label_data_show.setBackground(Color.RED); + } + + label_data_vec.setYPos(label_data_vec.getYPos() + 60); + this.add(label_data_show); + } + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteCliente.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteCliente.java new file mode 100644 index 0000000..fed576c --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteCliente.java @@ -0,0 +1,109 @@ +package com.proy_final.mod.util.view; + + + +import com.proy_final.mod.util.struct.Vec2x2; +import com.proy_final.mod.util.settings.Global; +import com.proy_final.mod.db.DataBase; + + + +import javax.swing.JButton; +import javax.swing.JPanel; +import java.awt.Color; + +import java.util.List; +import java.util.ArrayList; + +import javax.swing.JRadioButton; +import javax.swing.ButtonGroup; +import javax.swing.JOptionPane; + +public class PanelReporteCliente extends JPanel { + + public enum EnumRarioButton { + Cedula, + Nombre, + Apellido, + MontoDeCompra, + ID + } + + public PanelReporteCliente() { + this.setLayout(null); + if (Global.DEBUG) { + this.setBackground(Color.ORANGE); + } else { + this.setBackground(Global.BGCOLOR); + } + + List list_radio_button = new ArrayList<>(); + + String[] radio_string = new String[] { + "ID", + "Cedula", + "Nombre", + "Apellido", + "Monto de compra", + }; + + + Vec2x2 radio_button_vec = new Vec2x2(100, 130, 250, 50); + + + ButtonGroup group_button = new ButtonGroup(); + for (String string : radio_string) { + + JRadioButton radio_button = new JRadioButton(string); + radio_button.setBounds( + radio_button_vec.getXPos(), + radio_button_vec.getYPos(), + radio_button_vec.getXSize(), + radio_button_vec.getYSize() + ); + radio_button_vec.setYPos(radio_button_vec.getYPos() + 60); + + group_button.add(radio_button); + list_radio_button.add(radio_button); + + this.add(radio_button); + } + + JButton button_reporte = new JButton("Reportar"); + button_reporte.setBounds( + radio_button_vec.getXPos(), + radio_button_vec.getYPos(), + radio_button_vec.getXSize(), + radio_button_vec.getYSize() + ); + this.add(button_reporte); + + button_reporte.addActionListener(e -> + { + + + String orden = "c.id ASC"; + if (list_radio_button.get(0).isSelected()) { orden = "c.id ASC"; } + + if (list_radio_button.get(1).isSelected()) { orden = "c.cedula ASC"; } + + if (list_radio_button.get(2).isSelected()) { orden = "c.nombre ASC"; } + + if (list_radio_button.get(3).isSelected()) { orden = "c.apellido ASC"; } + + if (list_radio_button.get(4).isSelected()) { orden = "c.compra_anual ASC"; } + + new DataBase().reporte(orden, DataBase.EnumReporteType.REPORTECLIENTE); + + JOptionPane.showMessageDialog( + null, + "Reporte terminado", + "Reporte Status", + JOptionPane.INFORMATION_MESSAGE + ); + + + } + ); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteVendedor.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteVendedor.java new file mode 100644 index 0000000..16aa996 --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/PanelReporteVendedor.java @@ -0,0 +1,115 @@ +package com.proy_final.mod.util.view; + + + + +import com.proy_final.mod.util.struct.Vec2x2; +import com.proy_final.mod.db.DataBase; +import com.proy_final.mod.util.settings.Global; + +import javax.swing.JPanel; +import java.awt.Color; + + + +import javax.swing.JOptionPane; + +import javax.swing.JButton; +import javax.swing.JPanel; +import java.awt.Color; + +import java.util.List; +import java.util.ArrayList; + +import javax.swing.JRadioButton; +import javax.swing.ButtonGroup; + + +public class PanelReporteVendedor extends JPanel { + public PanelReporteVendedor() { + this.setLayout(null); + if (Global.DEBUG) { + this.setBackground(Color.RED); + } else { + this.setBackground(Global.BGCOLOR); + } + + + + List list_radio_button = new ArrayList<>(); + + String[] radio_string = new String[] { + "ID", + "Codigo", + "Nombre", + "Apellido", + "Departamento", + "Cargo", + "Venta mensual", + "Venta anual", + }; + + Vec2x2 radio_button_vec = new Vec2x2(100, 90, 250, 50); + + + ButtonGroup group_button = new ButtonGroup(); + for (String string : radio_string) { + + JRadioButton radio_button = new JRadioButton(string); + radio_button.setBounds( + radio_button_vec.getXPos(), + radio_button_vec.getYPos(), + radio_button_vec.getXSize(), + radio_button_vec.getYSize() + ); + radio_button_vec.setYPos(radio_button_vec.getYPos() + 60); + + group_button.add(radio_button); + list_radio_button.add(radio_button); + + this.add(radio_button); + } + + JButton button_reporte = new JButton("Reportar"); + button_reporte.setBounds( + radio_button_vec.getXPos(), + radio_button_vec.getYPos(), + radio_button_vec.getXSize(), + radio_button_vec.getYSize() + ); + this.add(button_reporte); + + button_reporte.addActionListener(e -> + { + String orden = "v.id ASC"; + if (list_radio_button.get(0).isSelected()) { orden = "v.id ASC"; } + + if (list_radio_button.get(1).isSelected()) { orden = "v.codigo ASC"; } + + if (list_radio_button.get(2).isSelected()) { orden = "v.nombre ASC"; } + + if (list_radio_button.get(3).isSelected()) { orden = "v.apellido ASC"; } + + if (list_radio_button.get(4).isSelected()) { orden = "d.codigo ASC"; } + + if (list_radio_button.get(5).isSelected()) { orden = "v.cargo ASC"; } + + if (list_radio_button.get(6).isSelected()) { orden = "v.venta_mensual ASC"; } + + if (list_radio_button.get(7).isSelected()) { orden = "v.venta_anual ASC"; } + + new DataBase().reporte(orden, DataBase.EnumReporteType.REPORTEVENDEDOR); + + JOptionPane.showMessageDialog( + null, + "Reporte terminado", + "Reporte Status", + JOptionPane.INFORMATION_MESSAGE + ); + + + } + ); + + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/java/com/proy_final/mod/util/view/gui/PanelMantenimientoBox.java b/base_de_datos/src/main/java/com/proy_final/mod/util/view/gui/PanelMantenimientoBox.java new file mode 100644 index 0000000..d41f0ef --- /dev/null +++ b/base_de_datos/src/main/java/com/proy_final/mod/util/view/gui/PanelMantenimientoBox.java @@ -0,0 +1,1262 @@ +package com.proy_final.mod.util.view.gui; + +import com.proy_final.mod.db.DataBase; +import java.sql.*; + + +import com.proy_final.mod.template.Persona; + +import com.proy_final.mod.util.struct.Vec2x2; +import com.proy_final.mod.util.settings.Global; +import com.proy_final.mod.util.data.Vendedor; +import com.proy_final.mod.util.data.Provincia; +import com.proy_final.mod.util.data.Departamento; + + +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; + +import javax.swing.JPanel; +import javax.swing.JLabel; +import javax.swing.JButton; +import javax.swing.JTextField; + +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.table.JTableHeader; +import javax.swing.table.DefaultTableModel; +import javax.swing.JOptionPane; + +import javax.swing.JComboBox; + +import java.awt.Color; +import java.awt.Font; +import java.awt.event.FocusListener; +import java.awt.event.FocusEvent; + + + +import com.proy_final.mod.util.data.Cliente; + +import javax.swing.JButton; +import javax.swing.JPanel; +import javax.swing.JOptionPane; + +public class PanelMantenimientoBox extends JPanel { + + protected EnumPanel self_type; + public enum EnumPanel { + MANTENIMIENTOCLIENTE, + MANTENIMIENTOVENDEDOR + } + + // private PanelCliente panel_cliente; + + + + public PanelMantenimientoBox(String title, EnumPanel self_type) { + this.setLayout(null); + + this.self_type = self_type; + + if (Global.DEBUG) { + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + this.setBackground(Color.YELLOW); + break; + + case MANTENIMIENTOVENDEDOR: + this.setBackground(Color.PINK); + break; + + default: + this.setBackground(Color.PINK); + break; + + + } + + } else { + this.setBackground(Global.BGCOLOR); + } + + { + JLabel label_Clientes_data = new JLabel(title); + label_Clientes_data.setFont(new Font("Arial", Font.PLAIN, 18)); + + Vec2x2 label_Clientes_data_vec = new Vec2x2(650, 10, 700, 40); + label_Clientes_data.setBounds( + label_Clientes_data_vec.getXPos(), + label_Clientes_data_vec.getYPos(), + label_Clientes_data_vec.getXSize(), + label_Clientes_data_vec.getYSize() + ); + this.add(label_Clientes_data); + } + + + + { + JLabel label_adicionar_data = new JLabel("Adicionar"); + label_adicionar_data.setFont(new Font("Arial", Font.PLAIN, 18)); + Vec2x2 label_adicionar_data_vec = new Vec2x2(650, 500, 700, 40); + label_adicionar_data.setBounds( + label_adicionar_data_vec.getXPos(), + label_adicionar_data_vec.getYPos(), + label_adicionar_data_vec.getXSize(), + label_adicionar_data_vec.getYSize() + ); + this.add(label_adicionar_data); + } + + + this.menu_table(); + this.menu_db(); + this.menu_search(); + this.menu_adicionar(); + } + + + private DefaultTableModel table_model; + private JTable table_database; + private JScrollPane table_scroll_pane; + + public void menu_table() { + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + this.table_model = new DefaultTableModel(new Cliente().getDBTableTitleRow(), 0); + break; + + case MANTENIMIENTOVENDEDOR: + this.table_model = new DefaultTableModel(new Vendedor().getDBTableTitleRow(), 0); + break; + + default: + break; + } + + + this.table_database = new JTable(this.table_model); + this.table_database.getTableHeader().setReorderingAllowed(false); + this.table_database.setEnabled(false); + + + this.table_scroll_pane = new JScrollPane(table_database); + Vec2x2 table_scroll_pane_vec = new Vec2x2(200, 100, 1000, 400); + table_scroll_pane.setBounds( + table_scroll_pane_vec.getXPos(), + table_scroll_pane_vec.getYPos(), + table_scroll_pane_vec.getXSize(), + table_scroll_pane_vec.getYSize() + ); + this.add(table_scroll_pane); + + } + + + + + private JButton button_listar; + private JButton button_limpiar; + + private JButton button_adicionar; + private JButton button_modificar; + private JButton button_eliminar; + + + + public void menu_db() { + Vec2x2 button_db_vec = new Vec2x2(10, 60, 100, 40); + int button_db_vec_extra_pos = 50; + + + { + this.button_listar = new JButton("Listar"); + this.button_listar.setEnabled(true); + this.button_listar.setBounds( + button_db_vec.getXPos(), + button_db_vec.getYPos(), + button_db_vec.getXSize(), + button_db_vec.getYSize() + ); + this.add(button_listar); + button_db_vec.setYPos(button_db_vec.getYPos() + button_db_vec_extra_pos); + + + + this.button_listar.addActionListener(e -> + { + this.button_listar.setEnabled(false); + this.setDisableBuscar(); + + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + List list_persona_cliente = new Cliente().getDBTableAll(); + + for (Persona cliente : list_persona_cliente) { + cliente.setSelfType(Persona.EnumPersona.CLIENTE); + this.table_model.addRow(cliente.getDBTableRow()); + } + break; + + case MANTENIMIENTOVENDEDOR: + List list_persona_vendedor = new Vendedor().getDBTableAll(); + + for (Persona vendedor : list_persona_vendedor) { + vendedor.setSelfType(Persona.EnumPersona.VENDEDOR); + this.table_model.addRow(vendedor.getDBTableRow()); + } + break; + + default: + break; + } + + } + ); + + + } + + { + button_limpiar = new JButton("Limpiar"); + button_limpiar.setBounds( + button_db_vec.getXPos(), + button_db_vec.getYPos(), + button_db_vec.getXSize(), + button_db_vec.getYSize() + ); + button_db_vec.setYPos(button_db_vec.getYPos() + button_db_vec_extra_pos); + this.add(button_limpiar); + + button_limpiar.addActionListener(e -> + { + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + this.setTableModelClean(); + + // Limpiar ENable + this.button_listar.setEnabled(true); + + + // Buscar Enable + this.text_field_buscar.setText(""); + this.text_field_buscar.setEnabled(true); + this.button_buscar.setEnabled(true); + this.button_adicionar.setEnabled(false); + + this.setDisabledAdicionar(); + + + // Limpiar ENable Modificar ELiminar + + this.button_modificar.setEnabled(false); + this.button_eliminar.setEnabled(false); + + break; + + case MANTENIMIENTOVENDEDOR: + this.setTableModelClean(); + + // Limpiar ENable + this.button_listar.setEnabled(true); + + + // Buscar Enable + this.text_field_buscar.setText(""); + this.text_field_buscar.setEnabled(true); + this.button_buscar.setEnabled(true); + this.button_adicionar.setEnabled(false); + + this.setDisabledAdicionarVendedor(); + + + // Limpiar ENable Modificar ELiminar + + this.button_modificar.setEnabled(false); + this.button_eliminar.setEnabled(false); + + break; + } + } + ); + } + + + { + this.button_adicionar = new JButton("Adicionar"); + this.button_adicionar.setEnabled(false); + this.button_adicionar.setBounds( + button_db_vec.getXPos(), + button_db_vec.getYPos(), + button_db_vec.getXSize(), + button_db_vec.getYSize() + ); + this.add(button_adicionar); + button_db_vec.setYPos(button_db_vec.getYPos() + button_db_vec_extra_pos); + + this.button_adicionar.addActionListener(e -> + { + List list_tmp; + switch(this.self_type) { + case MANTENIMIENTOCLIENTE: + if (cliente_text_field_adicionar_cedulas.getText().equals("") || + cliente_text_field_adicionar_nombre.getText().equals("") || + cliente_text_field_adicionar_apellido.getText().equals("") + ) { + JOptionPane.showMessageDialog(null, "Error types", "Formulario invalido", JOptionPane.ERROR_MESSAGE); + return; + } + Cliente cliente = new Cliente(); + list_tmp = cliente.getVariableList(); + + list_tmp.add(cliente_text_field_adicionar_id.getText()); + list_tmp.add(cliente_text_field_adicionar_cedulas.getText()); + list_tmp.add(cliente_text_field_adicionar_nombre.getText()); + list_tmp.add(cliente_text_field_adicionar_apellido.getText()); + list_tmp.add(cliente_text_field_adicionar_direccion.getText()); + list_tmp.add(cliente_text_field_adicionar_telefono.getText()); + list_tmp.add(new Provincia().getRealProvinciaDB((String)combo_box_adicionar_privincia_box.getSelectedItem())); + list_tmp.add(cliente_text_field_adicionar_compra_anual.getText()); + cliente.setVariableList(list_tmp); + + cliente.setDBTableAdd(); + + this.text_field_buscar.setText(""); + + this.setTableModelClean(); + this.button_adicionar.setEnabled(false); + this.button_listar.setEnabled(true); + this.setDisabledAdicionar(); + break; + + case MANTENIMIENTOVENDEDOR: + if (vendedor_text_field_adicionar_codigo.getText().equals("") || + vendedor_text_field_adicionar_nombre.getText().equals("") || + vendedor_text_field_adicionar_apellido.getText().equals("") + ) { + JOptionPane.showMessageDialog(null, "Error types", "Formulario invalido", JOptionPane.ERROR_MESSAGE); + return; + } + Vendedor vendedor = new Vendedor(); + list_tmp = vendedor.getVariableList(); + + list_tmp.add(vendedor_text_field_adicionar_id.getText()); + list_tmp.add(vendedor_text_field_adicionar_codigo.getText()); + list_tmp.add(vendedor_text_field_adicionar_nombre.getText()); + list_tmp.add(vendedor_text_field_adicionar_apellido.getText()); + list_tmp.add(new Departamento().getRealDepartamentoDB((String)vendedor_box_adicionar_departamento.getSelectedItem())); + list_tmp.add(vendedor_text_field_adicionar_cargo.getText()); + list_tmp.add(vendedor_text_field_adicionar_venta_mensual.getText()); + list_tmp.add(vendedor_text_field_adicionar_venta_anual.getText()); + vendedor.setVariableList(list_tmp); + + vendedor.setDBTableAdd(); + + this.text_field_buscar.setText(""); + + this.setTableModelClean(); + this.button_adicionar.setEnabled(false); + this.button_listar.setEnabled(true); + this.setDisabledAdicionar(); + break; + + default: + break; + } + } + ); + } + + + { + this.button_modificar = new JButton("Modificar"); + this.button_modificar.setEnabled(false); + this.button_modificar.setBounds( + button_db_vec.getXPos(), + button_db_vec.getYPos(), + button_db_vec.getXSize(), + button_db_vec.getYSize() + ); + button_db_vec.setYPos(button_db_vec.getYPos() + button_db_vec_extra_pos); + this.add(button_modificar); + + this.button_modificar.addActionListener(e -> + { + List list_tmp; + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + if (cliente_text_field_adicionar_cedulas.getText().equals("") || + cliente_text_field_adicionar_nombre.getText().equals("") || + cliente_text_field_adicionar_apellido.getText().equals("") + ) { + JOptionPane.showMessageDialog(null, "Error types", "Formulario invalido", JOptionPane.ERROR_MESSAGE); + return; + } + + Cliente cliente = new Cliente(); + list_tmp = cliente.getVariableList(); + + + + list_tmp.add(cliente_text_field_adicionar_id.getText()); + list_tmp.add(cliente_text_field_adicionar_cedulas.getText()); + list_tmp.add(cliente_text_field_adicionar_nombre.getText()); + list_tmp.add(cliente_text_field_adicionar_apellido.getText()); + list_tmp.add(cliente_text_field_adicionar_direccion.getText()); + list_tmp.add(cliente_text_field_adicionar_telefono.getText()); + list_tmp.add(new Provincia().getRealProvinciaDB((String)combo_box_adicionar_privincia_box.getSelectedItem())); + list_tmp.add(cliente_text_field_adicionar_compra_anual.getText()); + + System.out.println("Variables"); + System.out.println(cliente_text_field_adicionar_telefono.getText()); + + cliente.setVariableList(list_tmp); + + cliente.setDBUpdate(); + + this.setDisabledAdicionar(); + this.setLimpiarBuscar(); + break; + + case MANTENIMIENTOVENDEDOR: + if (vendedor_text_field_adicionar_codigo.getText().equals("") || + vendedor_text_field_adicionar_nombre.getText().equals("") || + vendedor_text_field_adicionar_apellido.getText().equals("") + ) { + JOptionPane.showMessageDialog(null, "Error types", "Formulario invalido", JOptionPane.ERROR_MESSAGE); + return; + } + + Vendedor vendedor = new Vendedor(); + list_tmp = vendedor.getVariableList(); + + list_tmp.add(vendedor_text_field_adicionar_id.getText()); + list_tmp.add(vendedor_text_field_adicionar_codigo.getText()); + list_tmp.add(vendedor_text_field_adicionar_nombre.getText()); + list_tmp.add(vendedor_text_field_adicionar_apellido.getText()); + list_tmp.add(new Departamento().getRealDepartamentoDB((String)vendedor_box_adicionar_departamento.getSelectedItem())); + list_tmp.add(vendedor_text_field_adicionar_cargo.getText()); + list_tmp.add(vendedor_text_field_adicionar_venta_mensual.getText()); + list_tmp.add(vendedor_text_field_adicionar_venta_anual.getText()); + + vendedor.setVariableList(list_tmp); + + vendedor.setDBUpdate(); + + this.setDisabledAdicionarVendedor(); + this.setLimpiarBuscar(); + break; + } + + } + ); + } + + { + this.button_eliminar = new JButton("Eliminar"); + this.button_eliminar.setEnabled(false); + this.button_eliminar.setBounds( + button_db_vec.getXPos(), + button_db_vec.getYPos(), + button_db_vec.getXSize(), + button_db_vec.getYSize() + ); + button_db_vec.setYPos(button_db_vec.getYPos() + button_db_vec_extra_pos); + this.add(button_eliminar); + button_eliminar.addActionListener(e -> + { + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + Cliente cliente = new Cliente(); + System.out.println(this.cliente_text_field_adicionar_id.getText()); + cliente.setID(this.cliente_text_field_adicionar_id.getText()); + cliente.setDBDelete(); + + this.setDisabledAdicionar(); + this.setLimpiarBuscar(); + break; + + case MANTENIMIENTOVENDEDOR: + Vendedor vendedor = new Vendedor(); + System.out.println(this.vendedor_text_field_adicionar_id.getText()); + vendedor.setID(this.vendedor_text_field_adicionar_id.getText()); + vendedor.setDBDelete(); + + this.setDisabledAdicionar(); + this.setLimpiarBuscar(); + break; + + default: + break; + } + } + ); + } + } + + private JTextField text_field_buscar; + private JButton button_buscar; + + public void menu_search() { + Vec2x2 vec_buscar = new Vec2x2(200, 50, 850, 40); + + { + text_field_buscar = new JTextField(); + + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + text_field_buscar.setText("Cedula de cliente..."); + text_field_buscar.addFocusListener(new FocusListener() + { + @Override + public void focusGained(FocusEvent e) { + if (text_field_buscar.getText().equals("Cedula de cliente...")) { + text_field_buscar.setText(""); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (text_field_buscar.getText().equals("")) { + text_field_buscar.setText("Cedula de cliente..."); + } + } + } + ); + break; + + case MANTENIMIENTOVENDEDOR: + text_field_buscar.setText("Codigo de vendedor..."); + text_field_buscar.addFocusListener(new FocusListener() + { + @Override + public void focusGained(FocusEvent e) { + if (text_field_buscar.getText().equals("Codigo de vendedor...")) { + text_field_buscar.setText(""); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (text_field_buscar.getText().equals("")) { + text_field_buscar.setText("Codigo de vendedor..."); + } + } + } + ); + break; + default: + break; + } + + text_field_buscar.setBounds( + vec_buscar.getXPos(), + vec_buscar.getYPos(), + vec_buscar.getXSize(), + vec_buscar.getYSize() + ); + this.add(text_field_buscar); + + } + + { + button_buscar = new JButton("Buscar"); + button_buscar.setBounds( + vec_buscar.getXPos() + 860, + vec_buscar.getYPos(), + vec_buscar.getXSize() - 710, + vec_buscar.getYSize() + ); + this.add(button_buscar); + + button_buscar.addActionListener(e -> + { + + if (text_field_buscar.getText().equals("Cedula de cliente...") || text_field_buscar.getText().equals("Codigo de vendedor...")) { + return; + } + + List list_tmp; + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + Cliente cliente = new Cliente(); + list_tmp = cliente.getVariableList(); + list_tmp.add(""); + list_tmp.add(text_field_buscar.getText()); + + cliente.setVariableList(list_tmp); + + List list_persona = cliente.getDBTableWhere(); + + + this.setEnabledAdicionarCliente(); + if (list_persona.size() == 0) { + + this.cliente_text_field_adicionar_cedulas.setText(this.text_field_buscar.getText()); + + this.button_adicionar.setEnabled(true); + this.cliente_text_field_adicionar_cedulas.setEnabled(false); + this.button_listar.setEnabled(false); + + return; + } + + // Enablers Buscar + this.setTableModelClean(); + this.text_field_buscar.setEnabled(false); + this.button_buscar.setEnabled(false); + this.button_listar.setEnabled(false); + + for (Persona cliente_data : list_persona) { + cliente_data.setSelfType(Persona.EnumPersona.CLIENTE); + this.table_model.addRow(cliente_data.getDBTableRow()); + + + this.setVariableInAdicionarCliente( + cliente_data.getClienteID(), + cliente_data.getClienteCedula(), + cliente_data.getClienteNombre(), + cliente_data.getClienteApellido(), + new Provincia().getRealProvinciaComboBox(cliente_data.getClienteProvincia()), + cliente_data.getClienteTelefono(), + cliente_data.getClienteDirrecion(), + cliente_data.getClienteCompraAnual() + ); + + this.button_modificar.setEnabled(true); + this.button_eliminar.setEnabled(true); + this.cliente_text_field_adicionar_id.setEnabled(false); + this.cliente_text_field_adicionar_cedulas.setEnabled(false); + + } + + break; + + case MANTENIMIENTOVENDEDOR: + Vendedor vendedor = new Vendedor(); + list_tmp = vendedor.getVariableList(); + list_tmp.add(""); + list_tmp.add(text_field_buscar.getText()); + + vendedor.setVariableList(list_tmp); + + List list_vendedor = vendedor.getDBTableWhere(); + + // Enablers Buscar + this.setTableModelClean(); + this.text_field_buscar.setEnabled(false); + this.button_buscar.setEnabled(false); + this.button_listar.setEnabled(false); + + + this.setEnabledAdicionarVendedor(); + + if (list_vendedor.size() == 0) { + + this.vendedor_text_field_adicionar_codigo.setText(this.text_field_buscar.getText()); + + this.button_adicionar.setEnabled(true); + this.vendedor_text_field_adicionar_codigo.setEnabled(false); + this.button_listar.setEnabled(false); + + + this.vendedor_text_field_adicionar_codigo.setEnabled(false); + this.vendedor_text_field_adicionar_id.setEnabled(false); + + return; + } + + + + + for (Persona vendedor_data : list_vendedor) { + vendedor_data.setSelfType(Persona.EnumPersona.VENDEDOR); + + this.table_model.addRow(vendedor_data.getDBTableRow()); + + + System.out.println(new Departamento().getRealDepartamentoComboBox(vendedor_data.getVendedorDepartamento())); + + System.out.println(vendedor_data.getVendedorDepartamento()); + + this.setVariableInAdicionarVendedor( + vendedor_data.getVendedorID(), + vendedor_data.getVendedorCodigo(), + vendedor_data.getVendedorNombre(), + vendedor_data.getVendedorApellido(), + vendedor_data.getVendedorCargo(), + new Departamento().getRealDepartamentoComboBox(vendedor_data.getVendedorDepartamento()), + vendedor_data.getVendedorVentaMensual(), + vendedor_data.getVendedorVentaAnual() + ); + + this.button_modificar.setEnabled(true); + this.button_eliminar.setEnabled(true); + this.cliente_text_field_adicionar_id.setEnabled(false); + + this.vendedor_text_field_adicionar_codigo.setEnabled(false); + this.vendedor_text_field_adicionar_id.setEnabled(false); + + } + + break; + default: + break; + } + } + ); + } + + } + + + private JTextField cliente_text_field_adicionar_id = new JTextField(); + private JTextField cliente_text_field_adicionar_cedulas = new JTextField(); + private JTextField cliente_text_field_adicionar_nombre = new JTextField(); + private JTextField cliente_text_field_adicionar_apellido = new JTextField(); + private JComboBox combo_box_adicionar_privincia_box = new JComboBox<>(new String[] { "NULL" }); + private JTextField cliente_text_field_adicionar_compra_anual = new JTextField(); + private JTextField cliente_text_field_adicionar_telefono = new JTextField(); + private JTextField cliente_text_field_adicionar_direccion = new JTextField(); + + + private JTextField vendedor_text_field_adicionar_id = new JTextField(); + private JTextField vendedor_text_field_adicionar_codigo = new JTextField(); + private JTextField vendedor_text_field_adicionar_nombre = new JTextField(); + private JTextField vendedor_text_field_adicionar_apellido = new JTextField(); + private JTextField vendedor_text_field_adicionar_cargo = new JTextField(); + private JComboBox vendedor_box_adicionar_departamento = new JComboBox<>(new String[] { "NULL" }); + private JTextField vendedor_text_field_adicionar_venta_mensual = new JTextField(); + private JTextField vendedor_text_field_adicionar_venta_anual = new JTextField(); + + public void menu_adicionar() { + Vec2x2 agregar_label_vec = new Vec2x2(150, 525, 180, 40); + int agregar_label_extra_pos = 150; + + Vec2x2 text_field_add_vec = new Vec2x2(100, 560, 150, 40); + int agregar_extra_pos = 155; + + + String[] labels_agregar = new String[0]; + + switch (this.self_type) { + case MANTENIMIENTOCLIENTE: + { + labels_agregar = new String[] { + "ID", + "Cedula", + "Nombre", + "Apellido", + "Direccion", + "Telefono", + "Provincia", + "Compras anual" + }; + + for (String labels : labels_agregar) { + + JLabel label_agregar = new JLabel(labels); + + label_agregar.setBounds( + agregar_label_vec.getXPos(), + agregar_label_vec.getYPos(), + agregar_label_vec.getXSize(), + agregar_label_vec.getYSize() + ); + + agregar_label_vec.setXPos(agregar_label_vec.getXPos() + agregar_label_extra_pos); + + this.add(label_agregar); + } + } + + + { + + this.cliente_text_field_adicionar_id = new JTextField(); + this.cliente_text_field_adicionar_id.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.add(this.cliente_text_field_adicionar_id); + this.cliente_text_field_adicionar_id.setEnabled(false); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + } + + + { + this.cliente_text_field_adicionar_cedulas = new JTextField(); + this.cliente_text_field_adicionar_cedulas.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.add(this.cliente_text_field_adicionar_cedulas); + this.cliente_text_field_adicionar_cedulas.setEnabled(false); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + cliente_text_field_adicionar_cedulas.addFocusListener(new FocusListener() + { + @Override + public void focusGained(FocusEvent e) { + if (cliente_text_field_adicionar_cedulas.getText().equals("Ejemplo: 8-974-4355")) { + cliente_text_field_adicionar_cedulas.setText(""); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (cliente_text_field_adicionar_cedulas.getText().equals("")) { + cliente_text_field_adicionar_cedulas.setText("Ejemplo: 8-974-4355"); + } + } + } + ); + + } + + { + this.cliente_text_field_adicionar_nombre = new JTextField(); + this.cliente_text_field_adicionar_nombre.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.cliente_text_field_adicionar_nombre.setEnabled(false); + this.add(this.cliente_text_field_adicionar_nombre); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + this.cliente_text_field_adicionar_apellido = new JTextField(); + this.cliente_text_field_adicionar_apellido.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.cliente_text_field_adicionar_apellido.setEnabled(false); + this.add(this.cliente_text_field_adicionar_apellido); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + this.cliente_text_field_adicionar_direccion = new JTextField(); + this.cliente_text_field_adicionar_direccion.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.cliente_text_field_adicionar_direccion.setEnabled(false); + this.add(this.cliente_text_field_adicionar_direccion); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + this.cliente_text_field_adicionar_telefono = new JTextField(); + this.cliente_text_field_adicionar_telefono.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.cliente_text_field_adicionar_telefono.setEnabled(false); + this.add(this.cliente_text_field_adicionar_telefono); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + String[] privincia_settings = new String[] { + "1 Bocas del Toro", + "2 Coclé", + "3 Colón", + "4 Chiriquí", + "5 Darién", + "6 Herrera", + "7 Los Santos", + "8 Panamá", + "9 Veraguas", + "10 Panamá Oeste", + "11 Emberá-Wounaan", + "12 Guna Yala", + "13 Ngöbe-Buglé", + "14 Naso Tjër Di", + }; + + + combo_box_adicionar_privincia_box = new JComboBox<>(privincia_settings); + combo_box_adicionar_privincia_box.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + combo_box_adicionar_privincia_box.setEnabled(false); + this.add(combo_box_adicionar_privincia_box); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + + } + + + { + cliente_text_field_adicionar_compra_anual = new JTextField(); + cliente_text_field_adicionar_compra_anual.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + cliente_text_field_adicionar_compra_anual.setEnabled(false); + this.add(cliente_text_field_adicionar_compra_anual); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + } + + break; + case MANTENIMIENTOVENDEDOR: + { + labels_agregar = new String[] { + "ID", + "Codigo", + "Nombre", + "Apellido", + "Cargo", + "Departamento", + "Venta mensual", + "Venta anual" + }; + + + for (String labels : labels_agregar) { + + JLabel label_agregar = new JLabel(labels); + + label_agregar.setBounds( + agregar_label_vec.getXPos(), + agregar_label_vec.getYPos(), + agregar_label_vec.getXSize(), + agregar_label_vec.getYSize() + ); + + agregar_label_vec.setXPos(agregar_label_vec.getXPos() + agregar_label_extra_pos); + + this.add(label_agregar); + } + + } + + + { + + this.vendedor_text_field_adicionar_id = new JTextField(); + this.vendedor_text_field_adicionar_id.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.add(this.vendedor_text_field_adicionar_id); + this.vendedor_text_field_adicionar_id.setEnabled(false); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + } + + + { + this.vendedor_text_field_adicionar_codigo = new JTextField(); + this.vendedor_text_field_adicionar_codigo.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.add(this.vendedor_text_field_adicionar_codigo); + this.vendedor_text_field_adicionar_codigo.setEnabled(false); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + vendedor_text_field_adicionar_codigo.addFocusListener(new FocusListener() + { + @Override + public void focusGained(FocusEvent e) { + if (vendedor_text_field_adicionar_codigo.getText().equals("V1")) { + vendedor_text_field_adicionar_codigo.setText(""); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (vendedor_text_field_adicionar_codigo.getText().equals("")) { + vendedor_text_field_adicionar_codigo.setText("V1"); + } + } + } + ); + + } + + { + this.vendedor_text_field_adicionar_nombre = new JTextField(); + this.vendedor_text_field_adicionar_nombre.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.vendedor_text_field_adicionar_nombre.setEnabled(false); + this.add(this.vendedor_text_field_adicionar_nombre); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + this.vendedor_text_field_adicionar_apellido = new JTextField(); + this.vendedor_text_field_adicionar_apellido.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.vendedor_text_field_adicionar_apellido.setEnabled(false); + this.add(this.vendedor_text_field_adicionar_apellido); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + { + this.vendedor_text_field_adicionar_cargo = new JTextField(); + this.vendedor_text_field_adicionar_cargo.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.vendedor_text_field_adicionar_cargo.setEnabled(false); + this.add(this.vendedor_text_field_adicionar_cargo); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + + { + String[] departamento_settings = new String[] { + "Ventas General", + "Eletrodomesticos", + "Ropa", + "Muebles", + "Despensa Alimentaria" + }; + + + vendedor_box_adicionar_departamento = new JComboBox<>(departamento_settings); + vendedor_box_adicionar_departamento.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + vendedor_box_adicionar_departamento.setEnabled(false); + this.add(vendedor_box_adicionar_departamento); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + + } + + + { + this.vendedor_text_field_adicionar_venta_mensual = new JTextField(); + this.vendedor_text_field_adicionar_venta_mensual.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + this.vendedor_text_field_adicionar_venta_mensual.setEnabled(false); + this.add(this.vendedor_text_field_adicionar_venta_mensual); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + } + + + { + vendedor_text_field_adicionar_venta_anual = new JTextField(); + vendedor_text_field_adicionar_venta_anual.setBounds( + text_field_add_vec.getXPos(), + text_field_add_vec.getYPos(), + text_field_add_vec.getXSize(), + text_field_add_vec.getYSize() + ); + vendedor_text_field_adicionar_venta_anual.setEnabled(false); + this.add(vendedor_text_field_adicionar_venta_anual); + text_field_add_vec.setXPos(text_field_add_vec.getXPos() + agregar_extra_pos); + + } + + break; + + default: + break; + + } + + } + + public void setTableModelClean() { + this.table_model.setRowCount(0); + } + + public void setEnableAdicionarVendedor() { + this.vendedor_text_field_adicionar_id.setEnabled(true); + this.vendedor_text_field_adicionar_codigo.setEnabled(true); + this.vendedor_text_field_adicionar_nombre.setEnabled(true); + this.vendedor_text_field_adicionar_apellido.setEnabled(true); + this.vendedor_text_field_adicionar_cargo.setEnabled(true); + this.vendedor_box_adicionar_departamento.setEnabled(true); + this.vendedor_text_field_adicionar_venta_mensual.setEnabled(true); + this.vendedor_text_field_adicionar_venta_anual.setEnabled(true); + } + + public void setDisabledAdicionarVendedor() { + this.vendedor_text_field_adicionar_id.setEnabled(false); + this.vendedor_text_field_adicionar_codigo.setEnabled(false); + this.vendedor_text_field_adicionar_nombre.setEnabled(false); + this.vendedor_text_field_adicionar_apellido.setEnabled(false); + this.vendedor_text_field_adicionar_cargo.setEnabled(false); + this.vendedor_box_adicionar_departamento.setEnabled(false); + this.vendedor_text_field_adicionar_venta_mensual.setEnabled(false); + this.vendedor_text_field_adicionar_venta_anual.setEnabled(false); + + + this.vendedor_text_field_adicionar_id.setText(""); + this.vendedor_text_field_adicionar_codigo.setText(""); + this.vendedor_text_field_adicionar_nombre.setText(""); + this.vendedor_text_field_adicionar_apellido.setText(""); + this.vendedor_text_field_adicionar_cargo.setText(""); + this.vendedor_box_adicionar_departamento.setSelectedIndex(0); + this.vendedor_text_field_adicionar_venta_mensual.setText(""); + this.vendedor_text_field_adicionar_venta_anual.setText(""); + } + + + public void setDisabledAdicionar() { + this.cliente_text_field_adicionar_id.setEnabled(false); + this.cliente_text_field_adicionar_cedulas.setEnabled(false); + this.cliente_text_field_adicionar_nombre.setEnabled(false); + this.cliente_text_field_adicionar_apellido.setEnabled(false); + this.combo_box_adicionar_privincia_box.setEnabled(false); + this.cliente_text_field_adicionar_compra_anual.setEnabled(false); + this.cliente_text_field_adicionar_telefono.setEnabled(false); + this.cliente_text_field_adicionar_direccion.setEnabled(false); + + this.cliente_text_field_adicionar_id.setText(""); + this.cliente_text_field_adicionar_cedulas.setText(""); + this.cliente_text_field_adicionar_nombre.setText(""); + this.cliente_text_field_adicionar_apellido.setText(""); + this.combo_box_adicionar_privincia_box.setSelectedIndex(0); + this.cliente_text_field_adicionar_compra_anual.setText(""); + this.cliente_text_field_adicionar_telefono.setText(""); + this.cliente_text_field_adicionar_direccion.setText(""); + } + + public void setVariableInAdicionarVendedor ( + String id, + String codigo, + String nombre, + String apellido, + String cargo, + String departamento, + String ventaMensual, + String ventaAnual + ) { + this.vendedor_text_field_adicionar_id.setText(id); + this.vendedor_text_field_adicionar_codigo.setText(codigo); + this.vendedor_text_field_adicionar_nombre.setText(nombre); + this.vendedor_text_field_adicionar_apellido.setText(apellido); + this.vendedor_text_field_adicionar_cargo.setText(cargo); + this.vendedor_box_adicionar_departamento.setSelectedItem(departamento); + this.vendedor_text_field_adicionar_venta_mensual.setText(ventaMensual); + this.vendedor_text_field_adicionar_venta_anual.setText(ventaAnual); + } + + public void setVariableInAdicionarCliente ( + String id, + String cedulas, + String nombre, + String apellido, + String privincia_box, + String telefono, + String direccion, + String compra_anual + ) { + this.cliente_text_field_adicionar_id.setText(id); + this.cliente_text_field_adicionar_cedulas.setText(cedulas); + this.cliente_text_field_adicionar_nombre.setText(nombre); + this.cliente_text_field_adicionar_apellido.setText(apellido); + this.combo_box_adicionar_privincia_box.setSelectedItem(privincia_box); + this.cliente_text_field_adicionar_compra_anual.setText(compra_anual); + this.cliente_text_field_adicionar_telefono.setText(telefono); + this.cliente_text_field_adicionar_direccion.setText(direccion); + } + + public void setEnabledAdicionarVendedor() { + + this.vendedor_text_field_adicionar_id.setEnabled(true); + this.vendedor_text_field_adicionar_codigo.setEnabled(true); + this.vendedor_text_field_adicionar_nombre.setEnabled(true); + this.vendedor_text_field_adicionar_apellido.setEnabled(true); + this.vendedor_text_field_adicionar_cargo.setEnabled(true); + this.vendedor_box_adicionar_departamento.setEnabled(true); + this.vendedor_text_field_adicionar_venta_mensual.setEnabled(true); + this.vendedor_text_field_adicionar_venta_anual.setEnabled(true); + + } + + public void setEnabledAdicionarCliente() { + + this.cliente_text_field_adicionar_id.setEnabled(true); + this.cliente_text_field_adicionar_cedulas.setEnabled(true); + this.cliente_text_field_adicionar_nombre.setEnabled(true); + this.cliente_text_field_adicionar_apellido.setEnabled(true); + this.combo_box_adicionar_privincia_box.setEnabled(true); + this.cliente_text_field_adicionar_compra_anual.setEnabled(true); + this.cliente_text_field_adicionar_telefono.setEnabled(true); + this.cliente_text_field_adicionar_direccion.setEnabled(true); + + } + + public void setDisableBuscar() { + this.text_field_buscar.setEnabled(false); + this.button_buscar.setEnabled(false); + } + + + public void setLimpiarBuscar() { + this.setTableModelClean(); + // Limpiar ENable + this.button_listar.setEnabled(true); + + + // Buscar Enable + this.text_field_buscar.setText(""); + this.text_field_buscar.setEnabled(true); + this.button_buscar.setEnabled(true); + this.button_adicionar.setEnabled(false); + + this.setDisabledAdicionar(); + + + // Limpiar ENable Modificar ELiminar + + this.button_modificar.setEnabled(false); + this.button_eliminar.setEnabled(false); + } +} \ No newline at end of file diff --git a/base_de_datos/src/main/resources/reports/reporte_cliente.jrxml b/base_de_datos/src/main/resources/reports/reporte_cliente.jrxml new file mode 100644 index 0000000..7209f41 --- /dev/null +++ b/base_de_datos/src/main/resources/reports/reporte_cliente.jrxml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base_de_datos/src/main/resources/reports/reporte_none.jrxml b/base_de_datos/src/main/resources/reports/reporte_none.jrxml new file mode 100644 index 0000000..e69de29 diff --git a/base_de_datos/src/main/resources/reports/reporte_vendedor.jrxml b/base_de_datos/src/main/resources/reports/reporte_vendedor.jrxml new file mode 100644 index 0000000..7285109 --- /dev/null +++ b/base_de_datos/src/main/resources/reports/reporte_vendedor.jrxml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +