Guest User

Untitled

a guest
Aug 14th, 2018
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. # Quat Solutions - Proyecto Control de Personal
  2.  
  3. Por Alan Badillo Salas (badillo.soft@hotmail.com)
  4.  
  5. ## Introducción
  6.  
  7. 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.
  8.  
  9. ## Base de datos
  10.  
  11. Se han diseñado las siguientes tabla para la base de datos `quat_dev`.
  12.  
  13. > Crear o limpiar la base de datos `quat_dev`.
  14.  
  15. ~~~sql
  16. -- Borra la base de datos quat_dev si existe
  17. drop database if exists quat_dev;
  18. -- Crea la base de datos quat_dev
  19. create database quat_dev;
  20. -- Usa la base de datos quat_dev
  21. use quat_dev;
  22. ~~~
  23.  
  24. > Tabla personal
  25.  
  26. ~~~sql
  27. -- Asignado a Mardeli
  28. create table personal (
  29. id int primary key auto_increment,
  30. nombre varchar(60) not null,
  31. ap_paterno varchar(60) not null,
  32. ap_materno varchar(60),
  33. rfc varchar(20),
  34. curp varchar(20),
  35. fecha_ingreso timestamp,
  36. estatus varchar(255),
  37. foto mediumblob
  38. );
  39. ~~~
  40.  
  41. > Tabla proyectos
  42.  
  43. ~~~sql
  44. -- Asignado a Marco
  45. create table proyectos (
  46. id int primary key auto_increment,
  47. nombre varchar(255) not null,
  48. descripcion text,
  49. fecha_inicio timestamp not null,
  50. fecha_entrega timestamp,
  51. presupuesto float,
  52. retorno_esperado float
  53. );
  54. ~~~
  55.  
  56. > Tabla Puestos
  57.  
  58. ~~~sql
  59. -- Asignado a Steffany
  60. create table puestos (
  61. id int primary key auto_increment,
  62. nombre varchar(60) not null,
  63. caracteriscas varchar(255) not null
  64. );
  65. ~~~
  66.  
  67. > Tabla Gastos
  68.  
  69. ~~~sql
  70. -- Asignado a Victor
  71. create table gastos (
  72. id int primary key auto_increment,
  73. tipo varchar(255) not null,
  74. descripcion text,
  75. forma_pago_requerido varchar(255)
  76. );
  77. ~~~
  78.  
  79. > Tabla Asignacion del Personal al Puesto
  80.  
  81. ~~~sql
  82. -- Asignado a Steffany
  83. create table asignacion_personal_puesto (
  84. id int primary key auto_increment,
  85. id_personal int not null,
  86. id_puesto int not null,
  87. salario float not null,
  88. fecha_asignacion timestamp not null,
  89. fecha_desasignacion timestamp
  90. );
  91. ~~~
  92.  
  93. > Tabla Asignacion del Personal al Proyecto
  94.  
  95. ~~~sql
  96. -- Asignado a Marco
  97. create table asignacion_personal_proyecto (
  98. id int primary key auto_increment,
  99. id_personal int not null,
  100. id_proyecto int not null,
  101. objetivos varchar(255),
  102. fecha_asignacion timestamp,
  103. fecha_cumplimiento timestamp,
  104. fecha_desasignacion timestamp,
  105. motivo_desasignacion varchar(255)
  106. );
  107. ~~~
  108.  
  109. > Tabla Registro del Gasto al Proyecto
  110.  
  111. ~~~sql
  112. -- Asignado a Victor
  113. create table registro_gasto_proyecto (
  114. id int primary key auto_increment,
  115. id_gasto int not null,
  116. id_proyecto int not null,
  117. forma_pago varchar(255),
  118. comentarios text,
  119. factura_pdf mediumblob,
  120. factura_xml mediumblob
  121. );
  122. ~~~
  123.  
  124. > Tabla Registro de laa Facturas al Proyecto
  125.  
  126. ~~~sql
  127. -- Asignado a Mardeli
  128. create table registro_factura_proyecto (
  129. id int primary key auto_increment,
  130. id_proyecto int not null,
  131. rfc_emisor varchar(30),
  132. folio varchar(100),
  133. pdf mediumblob,
  134. xml mediumblob,
  135. subtotal float,
  136. iva_retenido float,
  137. isr_retenido float,
  138. iva_transladado float,
  139. total float,
  140. fecha_facturacion timestamp,
  141. estatus varchar(255)
  142. );
  143. ~~~
  144.  
  145. ## Formularios de Carga de datos en Consola (Java)
  146.  
  147. A continuación se describen los formularios para subir datos a cada tabla en *Java*.
  148.  
  149. > Registrar nuevo Personal
  150.  
  151. ~~~java
  152. class PersonalNuevoCli {
  153. public static void main(String[] args) {
  154. Scanner sc = new Scanner(System.in);
  155. System.out.println("Registrar nuevo Personal");
  156. System.out.println("------------------------------");
  157. System.out.print("Nombre: ");
  158. String nombre = sc.nextLine();
  159. System.out.print("Apellido Paterno: ");
  160. String ap_paterno = sc.nextLine();
  161. System.out.print("Apellido Materno (opcional): ");
  162. String ap_materno = sc.nextLine();
  163. System.out.print("RFC (opcional): ");
  164. String rfc = sc.nextLine();
  165. System.out.print("Curp (opcional): ");
  166. String curp = sc.nextLine();
  167. System.out.print("Fecha Ingreso (YYYY-MM-DD): ");
  168. String fecha_ingreso = sc.nextLine();
  169. Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/quat_dev?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "****");
  170. String query = "insert into personal " +
  171. "(nombre, ap_paterno, ap_materno, rfc, curp, fecha_ingreso, estatus) " +
  172. "values (?, ?, ?, ?, ?, ?, ?)";
  173. PreparedStatement st = conn.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
  174. st.setString(1, nombre);
  175. st.setString(2, ap_paterno);
  176. st.setString(3, ap_materno);
  177. st.setString(4, rfc);
  178. st.setString(5, curp);
  179. st.setString(6, fecha_ingreso);
  180. st.setString(7, "Personal registrado desde el Cliente de Consola v1.0");
  181. st.execute();
  182. ResultSet rs = st.getGeneratedKeys();
  183. System.out.println("------------------------------");
  184. if (rs.next()) {
  185. int id = rs.getInt(1);
  186. System.out.printf("Se creó el personal con id: %d\n", id);
  187. } else {
  188. System.out.println("Error al registrar al personal");
  189. }
  190. }
  191. }
  192. ~~~
Add Comment
Please, Sign In to add comment