/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.siso.horario.Services;

import java.util.ArrayList;
import pe.siso.horario.Beans.Docente;
import pe.siso.horario.Beans.Horario;
import pe.siso.horario.Beans.HorarioCF;
import pe.siso.horario.DAO.DAOFactory;
import pe.siso.horario.DAO.DocenteDAO;

/**
 *
 * @author sistem16user
 */
public class DocenteServices {

    DAOFactory fabrica = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
    DocenteDAO objDocenteDAO = fabrica.getDocenteDAO();

    public ArrayList<HorarioCF> listarCambiosFijo(String fechaDesde, String fechaHasta) {
        ArrayList<HorarioCF> lista = null;
        try {
            lista = objDocenteDAO.listarCambiosFijo(fechaDesde, fechaHasta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<HorarioCF> listarRegistrosNuevosYEliminados(String fechaDesde, String fechaHasta) {
        ArrayList<HorarioCF> lista = null;
        try {
            lista = objDocenteDAO.listarRegistrosNuevosYEliminados(fechaDesde, fechaHasta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<HorarioCF> listarEliminados(String fechaDesde, String fechaHasta) {
        ArrayList<HorarioCF> lista = null;
        try {
            lista = objDocenteDAO.listarEliminados(fechaDesde, fechaHasta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Horario> listarCambiosDia(String fechaDesde, String fechaHasta) {
        ArrayList<Horario> lista = null;
        try {
            lista = objDocenteDAO.listarCambiosDia(fechaDesde, fechaHasta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Horario> listarCambiosDiaDocente(String cadenaAulas, String dia, String codigoDocente) {
        ArrayList<Horario> lista = null;
        try {
            lista = objDocenteDAO.listarCambiosDiaDocente(cadenaAulas, dia, codigoDocente);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Horario> listarBajasDocente(String fechaDesde, String fechaHasta) {
        ArrayList<Horario> lista = null;
        try {
            lista = objDocenteDAO.listarBajasDocente(fechaDesde, fechaHasta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listaDocentes() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentes();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public String darDeBaja(String codigo, String periodo, int usuario, String ultimoDia) {
        String respuesta = "";
        try {
            respuesta = objDocenteDAO.darDeBaja(codigo, periodo, usuario, ultimoDia);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return respuesta;
    }

    public ArrayList<Docente> listaDocentes(String apellido) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentes(apellido);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listarDocenteScundaria() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarDocenteScundaria();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public Docente NombreDocente(String cod) {

        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.NombreDocente(cod);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return docente;
    }

    public ArrayList<Docente> listarDocenteScundaria(String apellido) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarDocenteScundaria(apellido);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> buscarUsuarioDocente(String apellido, int inicio, int cantidad) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.buscarUsuarioDocente(apellido, inicio, cantidad);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> buscarUsuarioDocente(String apellido) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.buscarUsuarioDocente(apellido);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listarTodoUsuDocente() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarTodoUsuDocente();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public Docente datosDocente(String codigoDocente) {
        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.datosDocente(codigoDocente);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return docente;
    }

    public int registrarDatos(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registroDatos(codDocente, telefono, mail, cod_dep, cod_pro, cod_dis);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> consultarDatos(String codDocente,String codPeriodo) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.consultarDatos(codDocente,codPeriodo);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public void actualizarDatos(String codDocente, String telefono, String zona, String mail) {

        try {
            objDocenteDAO.actualizarDatos(codDocente, telefono, zona, mail);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public int cantidadDocenteDatos(String codDocente) {
        int dato = 0;
        try {
            dato = objDocenteDAO.cantidadDocenteDatos(codDocente);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int registrarDatosEdit(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registrarDatosEdit(codDocente, telefono, mail, cod_dep, cod_pro, cod_dis);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> consultarCodigoDocentesHorario() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.consultarCodigoDocentesHorario();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listaDocentes(String apellido, int inicio, int cantidad) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentes(apellido, inicio, cantidad);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public int verificarCruces(String codDocente, String codigoArea) {
        int dato = 0;
        try {
            dato = objDocenteDAO.verificarCruces(codDocente, codigoArea);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int cantListaDocente(String apellidoDocente) {
        int dato = 0;
        try {
            dato = objDocenteDAO.cantListaDocente(apellidoDocente);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int registroDatos(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis, String cel, String dir,int numhijos,int codarea,int codplana,int codperiodo) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registroDatos(codDocente, telefono, mail, cod_dep, cod_pro, cod_dis, cel, dir,numhijos,codarea,codplana,codperiodo);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int registrarDatosEdit(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis, String cel, String dir,int cantHijos,int codArea,int codPlana,int periodo) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registrarDatosEdit(codDocente, telefono, mail, cod_dep, cod_pro, cod_dis, cel, dir,cantHijos,codArea,codPlana,periodo);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> consultarCodigoDocentesHorario(String periodo) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.consultarCodigoDocentesHorario(periodo);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> consultarCodigoDocentesHorario(String periodo, String plana) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.consultarCodigoDocentesHorario(periodo, plana);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> cargarDocentePrimaria(String codcurso) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.cargarDocentePrimaria(codcurso);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> cargarDocentePrimaria2(String codcurso, String apellido, int inicio, int cantidad) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.cargarDocentePrimaria2(codcurso, apellido, inicio, cantidad);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public Docente listarDocenteSede(String local) {
        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.listarDocenteSede(local);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return docente;
    }

    public ArrayList<Docente> listarDocSecPri(String codPri, String codSec) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarDocSecPri(codPri, codSec);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public int registrarInforme(String cod_doc, String nom_doc, String mot, String arg, String cod_sed, String nom_sed) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registrarInforme(cod_doc, nom_doc, mot, arg, cod_sed, nom_sed);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> listarBandeja() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarBandeja();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public int registrarRespuesta(String codInforme, String accion) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registrarRespuesta(codInforme, accion);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public String verEstado(String codDocente, String local) {
        String dato = "";
        try {
            dato = objDocenteDAO.verEstado(codDocente, local);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> listarEncuestas() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarEncuestas();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> migrarPuntaje(String codEnc) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.migrarPuntaje(codEnc);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public int insertar(String codEnc, String codDoc, String nomDoc, String puntaje, String cadenaCurso) {
        int dato = 0;
        try {
            dato = objDocenteDAO.insertar(codEnc, codDoc, nomDoc, puntaje, cadenaCurso);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> listarDatosMigrados() {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listarDatosMigrados();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listaDocentesSec(String cod_per) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentesSec(cod_per);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lista;
    }

    public String puntajeDocente(String codDoc) {
        String dato = "";
        try {
            dato = objDocenteDAO.puntajeDocente(codDoc);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public String consultarCodigoEncuesta() {
        String dato = "";
        try {
            dato = objDocenteDAO.consultarCodigoEncuesta();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int registrarFichaEvaluacion(String codigoDocente, String nombreDocente, String codigoPeriodoAcademico, String anio, String codigoPeriodo, String puntajeEncuesta, String puntajeAsistencia, String puntajeExamen, String puntajeMateriales, String promedio) {
        int dato = 0;
        try {
            dato = objDocenteDAO.registrarFichaEvaluacion(codigoDocente, nombreDocente, codigoPeriodoAcademico, anio, codigoPeriodo, puntajeEncuesta, puntajeAsistencia, puntajeExamen, puntajeMateriales, promedio);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public int actualizarFichaEvaluacion(String codigoDocente, String nombreDocente, String codigoPeriodoAcademico, String anio, String codigoPeriodo, String puntajeEncuesta, String puntajeAsistencia, String puntajeExamen, String puntajeMateriales, String promedio) {
        int dato = 0;
        try {
            dato = objDocenteDAO.actualizarFichaEvaluacion(codigoDocente, nombreDocente, codigoPeriodoAcademico, anio, codigoPeriodo, puntajeEncuesta, puntajeAsistencia, puntajeExamen, puntajeMateriales, promedio);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public int insertarTemporal(String cadena) {
        int dato = 0;
        try {
            dato = objDocenteDAO.insertarTemporal(cadena);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> filtroDocentesPrimSec(String periodo) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.filtroDocentesPrimSec(periodo);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> filtroDocentesPrimSec(String periodo, String filtro) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.filtroDocentesPrimSec(periodo, filtro);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public Docente consultarInforme(String codigoDocente, String codSede) {
        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.consultarInforme(codigoDocente, codSede);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return docente;
    }

    public ArrayList<Docente> listaDocentesPorArea(String codigoArea, String apellidoDocente, int inicio, int cantidad) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentesPorArea(codigoArea, apellidoDocente, inicio, cantidad);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public int cantListaDocentePorArea(String codigoArea, String apellidoDocente) {
        int cantidad = 0;
        try {
            cantidad = objDocenteDAO.cantListaDocentePorArea(codigoArea, apellidoDocente);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return cantidad;
    }

    public int verificarCrucesPorPeriodo(String codDocente, String codigoArea, String codigoPeriodo) {
        int dato = 0;
        try {
            dato = objDocenteDAO.verificarCrucesPorPeriodo(codDocente, codigoArea, codigoPeriodo);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return dato;
    }

    public Docente consultarDatosDocenteConArea(String codigoDocente, String codigoPeriodo) {
        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.consultarDatosDocenteConArea(codigoDocente, codigoPeriodo);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return docente;
    }

    public Docente consultarDatosDocenteConPlana(String codigoDocente, String codigoPeriodo, String codigoArea) {
        Docente docente = new Docente();
        try {
            docente = objDocenteDAO.consultarDatosDocenteConPlana(codigoDocente, codigoPeriodo, codigoArea);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return docente;
    }

    public ArrayList<Docente> listaDocentesTablaMerito(String codigoPlana, String codigoPeriodoAcademico) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentesTablaMerito(codigoPlana, codigoPeriodoAcademico);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public ArrayList<Docente> listaDocentesPorArea(String codigoArea, String apellidoDocente) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentesPorArea(codigoArea, apellidoDocente);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public int cantidadCoordinadorAsignado(String codigoArea, String codigoPeriodoAcademico) {
        int dato = 0;
        try {
            dato = objDocenteDAO.cantidadCoordinadorAsignado(codigoArea, codigoPeriodoAcademico);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public int consultarCoordinadorArea(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) {
        int coor = 0;
        try {
            coor = objDocenteDAO.consultarCoordinadorArea(codigoDocente, codigoPeriodoAcademico, codigoArea);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return coor;
    }

    public int quitarAsignacionCoordinador(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) {
        int dato = 0;
        try {
            dato = objDocenteDAO.quitarAsignacionCoordinador(codigoDocente, codigoPeriodoAcademico, codigoArea);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public int asignarCoordinador(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) {
        int dato = 0;
        try {
            dato = objDocenteDAO.asignarCoordinador(codigoDocente, codigoPeriodoAcademico, codigoArea);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> listaDocentesPorPlana(String codigoPlana, String codigoPeriodoAcademico, String apellidoDocente) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.listaDocentesPorPlana(codigoPlana, codigoPeriodoAcademico, apellidoDocente);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public int cantidadCoordinadorAsignadoPlana(String codigoPlana, String codigoPeriodoAcademico) {
        int dato = 0;
        try {
            dato = objDocenteDAO.cantidadCoordinadorAsignadoPlana(codigoPlana, codigoPeriodoAcademico);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public int consultarCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) {
        int coor = 0;
        try {
            coor = objDocenteDAO.consultarCoordinadorPlana(codigoDocente, codigoPeriodoAcademico, codigoPlana);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return coor;
    }

    public int quitarAsignacionCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) {
        int dato = 0;
        try {
            dato = objDocenteDAO.quitarAsignacionCoordinadorPlana(codigoDocente, codigoPeriodoAcademico, codigoPlana);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public int asignarCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) {
        int dato = 0;
        try {
            dato = objDocenteDAO.asignarCoordinadorPlana(codigoDocente, codigoPeriodoAcademico, codigoPlana);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }

    public ArrayList<Docente> filtroDocentesPrimSec(String periodo, String filtro, String codigoAula) {
        ArrayList<Docente> lista = null;
        try {
            lista = objDocenteDAO.filtroDocentesPrimSec(periodo, filtro, codigoAula);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }

    public int validarDni(String dni) {
        int coddocente = 0;
        try {
            coddocente = objDocenteDAO.validarDni(dni);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return coddocente;
    }
}
