Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pFinal;
- /**
- *
- * @author LSI, curso 2010/2011
- *
- */
- public class GestorEmpleados {
- private ListaEmpleados listaEmpleados = new ListaEmpleados();
- /**
- * Devuelve el impuesto que tiene que pagar el empleado.
- * @param e empleado
- * @return impuesto a pagar
- */
- public int getImpuesto(IEmpleado e){
- ICalculadorFiscal aux;
- if(e.getDatosPersonales().getComunidad() == Constantes.Madrid){
- aux = new CalculadorFiscalMadrid(e);
- }
- else if(e.getDatosPersonales().getComunidad() == Constantes.Murcia){
- aux = new CalculadorFiscalMurcia(e);
- }
- else{
- aux = new CalculadorPorDefecto(e);
- }
- return aux.calcularImpuesto();
- }
- /**
- * Da de alta a un empleado.
- * @param e empleado a dar de alta.
- * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
- */
- public int altaEmpleado(IEmpleado e) {
- if(listaEmpleados.estaEmpleado(e)){
- return Constantes.ErrEmpleadoYaIncluido;
- }else{
- listaEmpleados.aniadirEmpleado(e);
- }
- return Constantes.NoError;
- }
- /**
- * Da de baja a un empleado.
- * @param e empleado a dar de baja.
- * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
- */
- public int bajaEmpleado(IEmpleado e) {
- if(!listaEmpleados.estaEmpleado(e)){
- return Constantes.ErrNoExisteEmpleado;
- }else{
- listaEmpleados.borrarEmpleado(e);
- }
- return Constantes.NoError;
- }
- /**
- * Da de baja a un empleado.
- * @param id identificar del empleado a dar de baja.
- * @return Constantes.NoError si todo va bien, sino código de error definido en Constantes.
- */
- public int bajaEmpleado(int id) {
- if(!listaEmpleados.estaEmpleado(id)){
- return Constantes.ErrNoExisteEmpleado;
- }else{
- listaEmpleados.borrarEmpleado(id);
- }
- return Constantes.NoError;
- }
- /**
- * Obtiene un empleado a partir de su código.
- * @param id identificar del empleado.
- * @return el empleado o null si no está dado de alta en el gestor.
- */
- public IEmpleado getEmpleado(int id) {
- return listaEmpleados.getEmpleado(id);
- }
- /**
- * Imprime por consola los nombres de todos los empleados.
- */
- public void listarNombresEmpleados(){
- IEmpleado[] listadoCompleto = listaEmpleados.getEmpleados();
- for (int i = 0; i < listadoCompleto.length; i++){
- System.out.println(listadoCompleto[i].getDatosPersonales().getNombre());
- }
- }
- /**
- * Muestra por consola los datos de todos los empleados dados de alta.
- */
- public void mostrarDatosEmpleados(){
- IEmpleado[] listadoCompleto = listaEmpleados.getEmpleados();
- for(int i = 0; i < listadoCompleto.length; i++){
- System.out.println("-------------------------------------\n" +
- "Nombre: " + listadoCompleto[i].getDatosPersonales().getNombre() + "\n" +
- "CA: " + Constantes.getNombreComunidad(listadoCompleto[i].getDatosPersonales().getComunidad()) + "\n" +
- "Hijos: " + listadoCompleto[i].getDatosPersonales().getNroHijos() + "\n" +
- "Paga(M): " + listadoCompleto[i].getPagaMensual() + "\n" +
- "Paga(A): " + listadoCompleto[i].getPagaAnual() + "\n" +
- "-------------------------------------\n");
- }
- }
- /**
- * Imprime por pantalla el nombres de los empleados seguidos por el
- * resumen de datos fiscales:
- *
- * Carmelo Cotón -> tipo: nomina. ganacias:4500 impuesto: 17
- * Aitor Menta -> tipo: comision. ganacias:9002 impuesto:290
- * ...
- */
- public void mostrarResumenFiscal(){
- String tipo = null;
- IEmpleado [] emp = listaEmpleados.getEmpleados();
- for(int i = 0; i < listaEmpleados.nroEmpleados(); i++){
- if(emp[i] instanceof EmpleadoNomina){
- tipo = "nomina.";
- }
- else if(emp[i] instanceof EmpleadoHoras){
- tipo = "horas.";
- }
- else if(emp[i] instanceof EmpleadoComision){
- tipo = "comision.";
- }
- System.out.println(emp[i].getDatosPersonales().getNombre() + " -> "+
- "tipo: " + tipo + "\t\t" +
- "ganancias (M): " + emp[i].getPagaMensual() + "\t\t" +
- "ganancias (A): " + emp[i].getPagaAnual() + "\t\t" +
- "impuesto: " + getImpuesto(emp[i])
- );
- }
- }
- }
Add Comment
Please, Sign In to add comment