Guest User

Untitled

a guest
May 25th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.37 KB | None | 0 0
  1. package pFinal;
  2.  
  3. /**
  4.  *
  5.  * @author LSI, curso 2010/2011
  6.  *
  7.  */
  8. public class GestorEmpleados {
  9.    
  10.     private ListaEmpleados listaEmpleados = new ListaEmpleados();
  11.    
  12.    
  13.     /**
  14.      * Devuelve el impuesto que tiene que pagar el empleado.
  15.      * @param e empleado
  16.      * @return impuesto a pagar
  17.      */
  18.     public int getImpuesto(IEmpleado e){
  19.         ICalculadorFiscal aux;
  20.        
  21.         if(e.getDatosPersonales().getComunidad() == Constantes.Madrid){
  22.             aux = new CalculadorFiscalMadrid(e);
  23.         }
  24.        
  25.         else if(e.getDatosPersonales().getComunidad() == Constantes.Murcia){
  26.             aux = new CalculadorFiscalMurcia(e);
  27.         }
  28.        
  29.         else{
  30.             aux = new CalculadorPorDefecto(e);
  31.         }
  32.        
  33.         return aux.calcularImpuesto();     
  34.     }
  35.    
  36.     /**
  37.      * Da de alta a un empleado.
  38.      * @param e empleado a dar de alta.
  39.      * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
  40.      */
  41.     public int altaEmpleado(IEmpleado e) { 
  42.            
  43.         if(listaEmpleados.estaEmpleado(e)){
  44.             return Constantes.ErrEmpleadoYaIncluido;
  45.         }else{
  46.             listaEmpleados.aniadirEmpleado(e);
  47.         }
  48.        
  49.         return Constantes.NoError;
  50.     }
  51.    
  52.    
  53.     /**
  54.      * Da de baja a un empleado.
  55.      * @param e empleado a dar de baja.
  56.      * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
  57.      */
  58.     public int bajaEmpleado(IEmpleado e) {
  59.        
  60.         if(!listaEmpleados.estaEmpleado(e)){
  61.             return Constantes.ErrNoExisteEmpleado;
  62.         }else{
  63.             listaEmpleados.borrarEmpleado(e);
  64.         }
  65.        
  66.         return Constantes.NoError;
  67.     }
  68.    
  69.     /**
  70.      * Da de baja a un empleado.
  71.      * @param id identificar del empleado a dar de baja.
  72.      * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
  73.      */
  74.     public int bajaEmpleado(int id) {
  75.        
  76.         if(!listaEmpleados.estaEmpleado(id)){
  77.             return Constantes.ErrNoExisteEmpleado;
  78.         }else{
  79.             listaEmpleados.borrarEmpleado(id);
  80.         }
  81.        
  82.         return Constantes.NoError;
  83.     }
  84.    
  85.     /**
  86.      * Obtiene un empleado a partir de su código.
  87.      * @param id identificar del empleado.
  88.      * @return el empleado o null si no está dado de alta en el gestor.
  89.      */
  90.     public IEmpleado getEmpleado(int id) {
  91.         return listaEmpleados.getEmpleado(id);
  92.     }
  93.    
  94.    
  95.     /**
  96.      * Imprime por consola los nombres de todos los empleados.
  97.      */
  98.     public void listarNombresEmpleados(){
  99.        
  100.         IEmpleado[] listadoCompleto = listaEmpleados.getEmpleados();
  101.        
  102.         for (int i = 0; i < listadoCompleto.length; i++){
  103.             System.out.println(listadoCompleto[i].getDatosPersonales().getNombre());
  104.         }
  105.  
  106.     }
  107.    
  108.     /**
  109.      * Muestra por consola los datos de todos los empleados dados de alta.
  110.      */
  111.     public void mostrarDatosEmpleados(){   
  112.  
  113.         IEmpleado[] listadoCompleto = listaEmpleados.getEmpleados();
  114.        
  115.         for(int i = 0; i < listadoCompleto.length; i++){
  116.  
  117.             System.out.println("-------------------------------------\n" +
  118.                        "Nombre:  " + listadoCompleto[i].getDatosPersonales().getNombre() + "\n" +
  119.                        "CA:      " + Constantes.getNombreComunidad(listadoCompleto[i].getDatosPersonales().getComunidad()) + "\n" +
  120.                        "Hijos:   " + listadoCompleto[i].getDatosPersonales().getNroHijos() + "\n" +
  121.                        "Paga(M): " + listadoCompleto[i].getPagaMensual() + "\n" +
  122.                        "Paga(A): " + listadoCompleto[i].getPagaAnual() + "\n" +
  123.                        "-------------------------------------\n");
  124.         }
  125.     }
  126.    
  127.    
  128.     /**
  129.      * Imprime por pantalla el nombres de los empleados seguidos por el
  130.      * resumen de datos fiscales:
  131.      *
  132.      *   Carmelo Cotón ->  tipo: nomina.    ganacias:4500   impuesto: 17
  133.      *   Aitor Menta   ->  tipo: comision.   ganacias:9002   impuesto:290
  134.      *   ...
  135.      */
  136.     public void mostrarResumenFiscal(){
  137.        
  138.         String tipo = null;
  139.         IEmpleado [] emp = listaEmpleados.getEmpleados();
  140.        
  141.         for(int i = 0; i < listaEmpleados.nroEmpleados(); i++){
  142.  
  143.            
  144.             if(emp[i] instanceof EmpleadoNomina){
  145.                tipo = "nomina.";
  146.             }
  147.             else if(emp[i] instanceof EmpleadoHoras){
  148.                 tipo = "horas.";
  149.                
  150.             }
  151.             else if(emp[i] instanceof EmpleadoComision){
  152.                 tipo = "comision.";
  153.             }
  154.            
  155.             System.out.println(emp[i].getDatosPersonales().getNombre() + " -> "+
  156.                                 "tipo: " + tipo + "\t\t" +
  157.                                 "ganancias (M): " + emp[i].getPagaMensual() + "\t\t" +
  158.                                 "ganancias (A): " + emp[i].getPagaAnual() + "\t\t" +
  159.                                 "impuesto: " + getImpuesto(emp[i])
  160.                                 );
  161.        }
  162.     }
  163. }
Add Comment
Please, Sign In to add comment