Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Quat Solutions - Proyecto Control de Personal
- Por Alan Badillo Salas (badillo.soft@hotmail.com)
- ## Introducción
- El proyecto consiste en un sistema de control de personal y proyectos dividido en varias etapas. La primer etapa consistirá en definir la base de datos utilizada. La segunda etapa consistirá en crear formularios de consola para cargar y visualizar datos, una tercer etapa será el montaje de un servidor backend con Spring para proveer los servicios para procesar diversos formularios enviados y una cuarta etapa será la creación de una aplicación web para proveer los fomularios y visualizar los datos del sistema.
- ## Base de datos
- Se han diseñado las siguientes tabla para la base de datos `quat_dev`.
- > Crear o limpiar la base de datos `quat_dev`.
- ~~~sql
- -- Borra la base de datos quat_dev si existe
- drop database if exists quat_dev;
- -- Crea la base de datos quat_dev
- create database quat_dev;
- -- Usa la base de datos quat_dev
- use quat_dev;
- ~~~
- > Tabla personal
- ~~~sql
- -- Asignado a Mardeli
- create table personal (
- id int primary key auto_increment,
- nombre varchar(60) not null,
- ap_paterno varchar(60) not null,
- ap_materno varchar(60),
- rfc varchar(20),
- curp varchar(20),
- fecha_ingreso timestamp,
- estatus varchar(255),
- foto mediumblob
- );
- ~~~
- > Tabla proyectos
- ~~~sql
- -- Asignado a Marco
- create table proyectos (
- id int primary key auto_increment,
- nombre varchar(255) not null,
- descripcion text,
- fecha_inicio timestamp not null,
- fecha_entrega timestamp,
- presupuesto float,
- retorno_esperado float
- );
- ~~~
- > Tabla Puestos
- ~~~sql
- -- Asignado a Steffany
- create table puestos (
- id int primary key auto_increment,
- nombre varchar(60) not null,
- caracteriscas varchar(255) not null
- );
- ~~~
- > Tabla Gastos
- ~~~sql
- -- Asignado a Victor
- create table gastos (
- id int primary key auto_increment,
- tipo varchar(255) not null,
- descripcion text,
- forma_pago_requerido varchar(255)
- );
- ~~~
- > Tabla Asignacion del Personal al Puesto
- ~~~sql
- -- Asignado a Steffany
- create table asignacion_personal_puesto (
- id int primary key auto_increment,
- id_personal int not null,
- id_puesto int not null,
- salario float not null,
- fecha_asignacion timestamp not null,
- fecha_desasignacion timestamp
- );
- ~~~
- > Tabla Asignacion del Personal al Proyecto
- ~~~sql
- -- Asignado a Marco
- create table asignacion_personal_proyecto (
- id int primary key auto_increment,
- id_personal int not null,
- id_proyecto int not null,
- objetivos varchar(255),
- fecha_asignacion timestamp,
- fecha_cumplimiento timestamp,
- fecha_desasignacion timestamp,
- motivo_desasignacion varchar(255)
- );
- ~~~
- > Tabla Registro del Gasto al Proyecto
- ~~~sql
- -- Asignado a Victor
- create table registro_gasto_proyecto (
- id int primary key auto_increment,
- id_gasto int not null,
- id_proyecto int not null,
- forma_pago varchar(255),
- comentarios text,
- factura_pdf mediumblob,
- factura_xml mediumblob
- );
- ~~~
- > Tabla Registro de laa Facturas al Proyecto
- ~~~sql
- -- Asignado a Mardeli
- create table registro_factura_proyecto (
- id int primary key auto_increment,
- id_proyecto int not null,
- rfc_emisor varchar(30),
- folio varchar(100),
- pdf mediumblob,
- xml mediumblob,
- subtotal float,
- iva_retenido float,
- isr_retenido float,
- iva_transladado float,
- total float,
- fecha_facturacion timestamp,
- estatus varchar(255)
- );
- ~~~
- ## Formularios de Carga de datos en Consola (Java)
- A continuación se describen los formularios para subir datos a cada tabla en *Java*.
- > Registrar nuevo Personal
- ~~~java
- class PersonalNuevoCli {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("Registrar nuevo Personal");
- System.out.println("------------------------------");
- System.out.print("Nombre: ");
- String nombre = sc.nextLine();
- System.out.print("Apellido Paterno: ");
- String ap_paterno = sc.nextLine();
- System.out.print("Apellido Materno (opcional): ");
- String ap_materno = sc.nextLine();
- System.out.print("RFC (opcional): ");
- String rfc = sc.nextLine();
- System.out.print("Curp (opcional): ");
- String curp = sc.nextLine();
- System.out.print("Fecha Ingreso (YYYY-MM-DD): ");
- String fecha_ingreso = sc.nextLine();
- Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/quat_dev?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "****");
- String query = "insert into personal " +
- "(nombre, ap_paterno, ap_materno, rfc, curp, fecha_ingreso, estatus) " +
- "values (?, ?, ?, ?, ?, ?, ?)";
- PreparedStatement st = conn.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
- st.setString(1, nombre);
- st.setString(2, ap_paterno);
- st.setString(3, ap_materno);
- st.setString(4, rfc);
- st.setString(5, curp);
- st.setString(6, fecha_ingreso);
- st.setString(7, "Personal registrado desde el Cliente de Consola v1.0");
- st.execute();
- ResultSet rs = st.getGeneratedKeys();
- System.out.println("------------------------------");
- if (rs.next()) {
- int id = rs.getInt(1);
- System.out.printf("Se creó el personal con id: %d\n", id);
- } else {
- System.out.println("Error al registrar al personal");
- }
- }
- }
- ~~~
Add Comment
Please, Sign In to add comment