/*
 * 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.DAO;

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

/**
 *
 * @author sistem16user
 */
public interface DocenteDAO {
    
    public String darDeBaja(String codigo, String periodo, int usuario, String ultimoDia) throws Exception;

    public ArrayList<Docente> listaDocentes() throws Exception;
    
    public ArrayList<HorarioCF> listarCambiosFijo(String fechaDesde,String fechaHasta) throws Exception;
    public ArrayList<HorarioCF> listarRegistrosNuevosYEliminados(String fechaDesde,String fechaHasta) throws Exception;
    public ArrayList<HorarioCF> listarEliminados(String fechaDesde,String fechaHasta) throws Exception;
    public ArrayList<Horario> listarCambiosDia(String fechaDesde,String fechaHasta) throws Exception;
    public ArrayList<Horario> listarCambiosDiaDocente(String cadenaAulas,String dia,String codigoDocente) throws Exception;
    public ArrayList<Horario> listarBajasDocente(String fechaDesde,String fechaHasta) throws Exception;

    public ArrayList<Docente> listaDocentes(String apellido) throws Exception;

    public ArrayList<Docente> listarDocenteScundaria() throws Exception;

    public ArrayList<Docente> listarDocenteScundaria(String apellido) throws Exception;

    public Docente NombreDocente(String cod) throws Exception;

    public ArrayList<Docente> buscarUsuarioDocente(String apellido, int inicio, int cantidad) throws Exception;

    public ArrayList<Docente> buscarUsuarioDocente(String apellido) throws Exception;

    public ArrayList<Docente> listarTodoUsuDocente() throws Exception;

    public Docente datosDocente(String codigoDocente) throws Exception;

    public int registroDatos(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis) throws Exception;

    public int registrarDatosEdit(String codDocente, String telefono, String mail, int cod_dep, int cod_pro, int cod_dis) throws Exception;

    public ArrayList<Docente> consultarDatos(String codDocente,String codPeriodo) throws Exception;

    public void actualizarDatos(String codDocente, String telefono, String zona, String email) throws Exception;

    public int cantidadDocenteDatos(String codDocente) throws Exception;

    public ArrayList<Docente> consultarCodigoDocentesHorario() throws Exception;

    public ArrayList<Docente> consultarCodigoDocentesHorario(String periodo) throws Exception;

    public ArrayList<Docente> consultarCodigoDocentesHorario(String periodo, String plana) throws Exception;

    public int verificarCruces(String codDocente, String codigoArea) throws Exception;

    public int cantListaDocente(String apellidoDocente) throws Exception;

    public ArrayList<Docente> listaDocentes(String apellido, int inicio, int cantidad) throws Exception;
//------------------------

    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) throws Exception;

    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) throws Exception;

    public ArrayList<Docente> cargarDocentePrimaria(String codcurso) throws Exception;
    public ArrayList<Docente> cargarDocentePrimaria2(String codcurso, String apellido, int inicio, int cantidad) throws Exception;

    public Docente listarDocenteSede(String local) throws Exception;

    public ArrayList<Docente> listarDocSecPri(String codPri, String codSec) throws Exception;

    public int registrarInforme(String cod_doc, String nom_doc, String mot, String arg, String cod_sed, String nom_sed) throws Exception;

    public ArrayList<Docente> listarBandeja() throws Exception;

    public int registrarRespuesta(String codInforme, String accion) throws Exception;

    public String verEstado(String codDocente, String local) throws Exception;

    public ArrayList<Docente> listarEncuestas() throws Exception;

    public ArrayList<Docente> migrarPuntaje(String codEnc) throws Exception;

    public int insertar(String codEnc, String codDoc, String nomDoc, String puntaje, String cadenaCurso) throws Exception;

    public ArrayList<Docente> listarDatosMigrados() throws Exception;

    public ArrayList<Docente> listaDocentesSec(String cod_per) throws Exception;

    public String puntajeDocente(String codDoc) throws Exception;

    public String consultarCodigoEncuesta() throws Exception;
//------------------------

    public int registrarFichaEvaluacion(String codigoDocente, String nombreDocente, String codigoPeriodoAcademico, String anio, String codigoPeriodo, String puntajeEncuesta, String puntajeAsistencia, String puntajeExamen, String puntajeMateriales, String promedio) throws Exception;

    public int actualizarFichaEvaluacion(String codigoDocente, String nombreDocente, String codigoPeriodoAcademico, String anio, String codigoPeriodo, String puntajeEncuesta, String puntajeAsistencia, String puntajeExamen, String puntajeMateriales, String promedio) throws Exception;

    public int insertarTemporal(String cadena) throws Exception;

    public ArrayList<Docente> filtroDocentesPrimSec(String periodo) throws Exception;

    public ArrayList<Docente> filtroDocentesPrimSec(String periodo, String filtro) throws Exception;

    public Docente consultarInforme(String codigoDocente,String codSede) throws Exception;

    public ArrayList<Docente> listaDocentesPorArea(String codigoArea, String apellidoDocente, int inicio, int cant) throws Exception;

    public int cantListaDocentePorArea(String codigoArea, String apellidoDocente) throws Exception;

    public int verificarCrucesPorPeriodo(String codDocente, String codigoArea, String codigoPeriodo) throws Exception;

    public Docente consultarDatosDocenteConArea(String codigoDocente, String codigoPeriodo) throws Exception;

    public Docente consultarDatosDocenteConPlana(String codigoDocente, String codigoPeriodo, String codigoArea) throws Exception;

    public ArrayList<Docente> listaDocentesTablaMerito(String codigoPlana, String codigoPeriodoAcademico) throws Exception;    
    
    public ArrayList<Docente> listaDocentesPorArea(String codigoArea, String apellidoDocente) throws Exception;
    
    public int consultarCoordinadorArea(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) throws Exception;
    
    public int cantidadCoordinadorAsignado(String codigoArea,String codigoPeriodoAcademico) throws Exception;
    
    public int quitarAsignacionCoordinador(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) throws Exception;
    
    public int asignarCoordinador(String codigoDocente, String codigoPeriodoAcademico, String codigoArea) throws Exception;
    
    public ArrayList<Docente> listaDocentesPorPlana(String codigoPlana,String codigoPeriodoAcademico,String apellidoDocente) throws Exception;
    
    public int cantidadCoordinadorAsignadoPlana(String codigoPlana, String codigoPeriodoAcademico) throws Exception;
    
    public int consultarCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) throws Exception;
    
    public int quitarAsignacionCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) throws Exception;
    
    public int asignarCoordinadorPlana(String codigoDocente, String codigoPeriodoAcademico, String codigoPlana) throws Exception;
//    public int validarSiExisteCoordinador(String codigoDocente,String codigoPeriodoAcademico,String codigoPlana) throws Exception;
    
    public ArrayList<Docente> filtroDocentesPrimSec(String periodo, String filtro,String codigoAula) throws Exception;
//		
//		public Docente obtenerNombreDocente(String codigoDocente)throws Exception;
    public int validarDni(String dni)throws Exception;
}   
