Advertisement
Guest User

Clase Gestion JAVIER GARCIA ICETA

a guest
May 28th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.82 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package conexionbd;
  7. import java.sql.*;
  8. import java.util.Scanner;
  9. /**
  10.  *
  11.  * @author alumno
  12.  */
  13. public class Gestion {
  14.     Conexion miBD;
  15.    
  16.     public Gestion(){
  17.         miBD = new Conexion();
  18.     }
  19.    
  20.     public void menu(){
  21.         int opcion;
  22.         String user = pedirUsuario();
  23.         String password = pedirContrasenia();
  24.        
  25.         if(iniciarSesion(user, password)){
  26.                 do{
  27.                 opcion = mostrarMenu();
  28.                 switch(opcion){
  29.                     case 1:
  30.                         conectar(user, password);
  31.                         mostrarDepartamentos();
  32.                         desconectar();
  33.                         break;
  34.                     case 2:
  35.                         conectar(user, password);
  36.                         mostrarEmpleados();
  37.                         desconectar();
  38.                         break;
  39.                     case 3:
  40.                         conectar(user, password);
  41.                         mostrarOficios();
  42.                         desconectar();
  43.                         break;
  44.                     case 4:
  45.                         conectar(user, password);
  46.                         mostrarEmpleadosFiltrados();
  47.                         desconectar();
  48.                     case 5:
  49.                         conectar(user, password);
  50.                         pedirDatosInsertarDepartamento();
  51.                         desconectar();
  52.                     case 6:
  53.                         conectar(user, password);
  54.                         pedirDatosModificarNombreDepartamento();
  55.                         desconectar();
  56.                     case 7:
  57.                         conectar(user, password);
  58.                         pedirDatosEliminarDepartamento();
  59.                         desconectar();
  60.                     case 8:
  61.                         conectar(user, password);
  62.                         pedirDatosNumeroEmpleadosDepartamento();
  63.                         desconectar();
  64.                 }
  65.             }while(opcion != 0);
  66.         }
  67.         else
  68.             System.out.println("Intentos agotados. Se cerrará el programa.");
  69.     }
  70.    
  71.     public int mostrarMenu(){
  72.         System.out.println("\n\n");
  73.         Scanner leer = new Scanner(System.in);
  74.         System.out.println("+++ PROGRAMA CONEXIÓN A BASE DE DATOS +++");
  75.         System.out.println("1. Mostrar todos los departamentos");
  76.         System.out.println("2. Mostrar apellidos, oficio, departamento y salario de todos los empleados.");
  77.         System.out.println("3. Mostrar los oficios diferentes de los empleados.");
  78.         System.out.println("4. Filtrar la consulta 2 por oficio o departamento");
  79.         System.out.println("5. Insertar un departamento nuevo");
  80.         System.out.println("6. Modificar el nombre de un departamento");
  81.         System.out.println("7. Eliminar un departamento");
  82.         System.out.println("8. Número de empleados de un departamento");
  83.         System.out.println("----------------------------------------------------------------------------");
  84.         System.out.println("0. SALIR");
  85.         System.out.print("Introducir opción --> ");
  86.         int opcion = leer.nextInt();
  87.        
  88.         return opcion;
  89.     }
  90.    
  91.     //método que controla el número de intentos de inicio de sesión
  92.     private boolean iniciarSesion(String user, String password){    
  93.         int intentosPermitidos = 2; //se inicia a 2 porque el primer intento se hace en el método menu()
  94.         boolean salida = false;
  95.        
  96.         do{
  97.             if(!miBD.conexionCorrecta(user, password)){
  98.                 //System.out.println("Usuario o contraseña incorrectos.");//No hace falta porque salta el mensaje del catch del método abrirConexion
  99.                 intentosPermitidos--;
  100.                 System.out.println("Quedan "+(intentosPermitidos+1)+" intentos.");
  101.                 user = pedirUsuario();
  102.                 password = pedirContrasenia();
  103.             }
  104.             else{
  105.                 System.out.println("Conexión establecida.");
  106.                 intentosPermitidos = 0;
  107.                 salida = true;
  108.             }
  109.         }while(intentosPermitidos > 0);
  110.        
  111.         return salida;
  112.     }
  113.    
  114.     //método que pide el nombre de usuario y lo devuelve
  115.     private String pedirUsuario(){
  116.         Scanner leer = new Scanner(System.in);
  117.         String usuario;
  118.        
  119.         System.out.print("Introducir usuario: ");
  120.         usuario = leer.nextLine();
  121.        
  122.         return usuario;
  123.     }
  124.    
  125.     //método que pide la contraseña y la devuelve
  126.     private String pedirContrasenia(){
  127.         Scanner leer = new Scanner(System.in);
  128.         String password;
  129.        
  130.         System.out.print("Introducir contraseña: ");
  131.         password = leer.nextLine();
  132.        
  133.         return password;
  134.     }
  135.    
  136.     private void conectar(String user, String password){
  137.         miBD.abrirConexion(user, password);
  138.     }
  139.    
  140.     private void desconectar(){
  141.         miBD.cerrarConexion();
  142.     }
  143.    
  144.    
  145.     public void mostrarDepartamentos(){
  146.         System.out.println(miBD.getDepartamentos());
  147.     }
  148.    
  149.     public void mostrarEmpleados(){
  150.         System.out.println(miBD.getEmpleados());
  151.     }
  152.    
  153.     public void mostrarOficios(){
  154.         System.out.println(miBD.getOficios());
  155.     }
  156.    
  157.     public void mostrarEmpleadosFiltrados(){
  158.         int tipoFiltro;
  159.         String filtro;
  160.         Scanner leer = new Scanner(System.in);
  161.        
  162.         System.out.print("Introducir 1 para filtrar por oficios, 2 para filtrar por departamentos");
  163.         tipoFiltro = leer.nextInt();
  164.         leer.next();
  165.         if(tipoFiltro == 1)
  166.             System.out.print("Introducir nombre de oficio: ");
  167.         else if(tipoFiltro == 2)
  168.             System.out.print("Introducir nombre de departamento: ");
  169.         filtro = leer.nextLine();
  170.         System.out.println(miBD.getEmpleados(tipoFiltro, filtro));
  171.     }
  172.    
  173.     public void pedirDatosInsertarDepartamento(){
  174.         int cod;
  175.         String nombre;
  176.         String ciudad;
  177.         Scanner leer = new Scanner(System.in);
  178.        
  179.         System.out.print("Introducir codigo del departamento: ");
  180.         cod = leer.nextInt();
  181.         leer.next();
  182.         System.out.print("Introducir nombre del departamento: ");
  183.         nombre = leer.nextLine();
  184.         System.out.println("Introducir ciudad del departamento: ");
  185.         ciudad = leer.nextLine();
  186.        
  187.         System.out.println(miBD.insertarDepartamento(cod, nombre, ciudad));
  188.     }
  189.    
  190.     public void pedirDatosModificarNombreDepartamento(){
  191.         String nuevo;
  192.         String viejo;
  193.         Scanner leer = new Scanner(System.in);
  194.        
  195.         System.out.print("Introducir nombre del departamento a modificar: ");
  196.         viejo = leer.nextLine();
  197.         System.out.print("Introducir el nuevo nombre de departamento: ");
  198.         nuevo = leer.nextLine();
  199.        
  200.         System.out.println(miBD.modificarNombreDepartamento(viejo, nuevo));
  201.     }
  202.    
  203.     public void pedirDatosEliminarDepartamento(){
  204.         String nombre;
  205.         Scanner leer = new Scanner(System.in);
  206.        
  207.         System.out.print("Introducir nombre del departamento a eliminar: ");
  208.         nombre = leer.nextLine();
  209.        
  210.         System.out.println(miBD.eliminarDepartamento(nombre));
  211.     }
  212.    
  213.     public void pedirDatosNumeroEmpleadosDepartamento(){
  214.         String nombre;
  215.         Scanner leer = new Scanner(System.in);
  216.        
  217.         System.out.print("Introducir nombre del departamento del que se quieren contar los empleados: ");
  218.         nombre = leer.nextLine();
  219.        
  220.         System.out.println(miBD.numeroEmpleadosDepartamento(nombre));
  221.     }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement