Java tutorial
/* * 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 mx.avanti.siract.integration.persistence; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import mx.avanti.common.integration.persistence.HibernateUtil; import mx.avanti.siract.application.helper.ReporteAux; import mx.avanti.siract.business.entity.Areaconocimiento; import mx.avanti.siract.business.entity.Calendarioreporte; import mx.avanti.siract.business.entity.CalendarioreporteTieneAlerta; import mx.avanti.siract.business.entity.Configuracion; import mx.avanti.siract.business.entity.Coordinadorareaadministrativa; import mx.avanti.siract.business.entity.Planestudio; import mx.avanti.siract.business.entity.Profesor; import mx.avanti.siract.business.entity.Programaeducativo; import mx.avanti.siract.business.entity.Reporteavancecontenidotematico; import mx.avanti.siract.business.entity.Unidadaprendizaje; import mx.avanti.siract.business.entity.UnidadaprendizajeImparteProfesor; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; /** * * @author Ricardo */ public class reportesDAO { //atributos para iniciar sesion de criteria y el objeto donde //se guardar el criteria Session session; Criteria criteria; public reportesDAO() { } //inicia la sesin del criteria public void initSession() { session = HibernateUtil.getSessionFactory().openSession(); } //criteria basico mas utilizado para Generador de reportes, donde se //agregan los alias o inner join de una tabla a otra siguiendo la ruta //del modelo de la base de datos de uno a uno public void initCriteria() { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default criteria.createAlias("programaeducativo.unidadacademica", "unidadacademica");//Inner Join by default } public void initCriteria4() { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.createAlias("profesor.", "");//Inner Join by default //criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default //criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("programaeducativo.unidadacademica", "unidadacademica");//Inner Join by default } //query para unir con Join Configuracin con CalendarioReporte con el //valor unico de confechaInicioSemestre para evitar la excepcion con los lazy //necesario para cual numero de ract le corresponde que fecha los tres: //A Tiempo, En fecha limite y Despues de fecha limite public List findFromWhereCalendReporte(Date confechaInicioSemestre) { //query anterior con id de configuracin //String queryCalendarios="from Configuracion as c join c.calendarioreportes as cr where c.conid="+conid; String queryCalendarios = "from Configuracion as c join c.calendarioreportes as cr where c.confechaInicioSemestre='" + confechaInicioSemestre + "'"; System.out.println(" "); System.out.println(queryCalendarios); List<Calendarioreporte> listaCalendario = null; Configuracion con = null; //ServiceLocator.getInstanceBaseDAO().setTipo(Configuracion.class); //con=(Configuracion) ServiceLocator.getInstanceBaseDAO().find(conid); listaCalendario = new ArrayList<Calendarioreporte>(); List<Object> listaObjetos = executeQuery(queryCalendarios); Iterator itr = listaObjetos.iterator(); while (itr.hasNext()) { Object[] obj = (Object[]) itr.next(); listaCalendario.add((Calendarioreporte) obj[1]); } System.out.println(" "); for (int x = 0; x < listaCalendario.size(); x++) { System.out.println(listaCalendario.get(x).getCrefechaCorte()); } //listaCalendario.sort(comparadorFechasCorte);//Ordena por fechas de corte return listaCalendario; } //query para unir con Join Configuracin con CalendarioReporte con el //valor unico de confechaInicioSemestre para evitar la excepcion con los lazy //necesario para cual numero de ract le corresponde que fecha los tres: //A Tiempo, En fecha limite y Despues de fecha limite public List findFromWhereAreaConT(int uapclave) { //query anterior con id de configuracin //String queryCalendarios="from Configuracion as c join c.calendarioreportes as cr where c.conid="+conid; Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Areaconocimiento.class, "areaconocimiento"); //criteria.createAlias("areaconocimiento.unidadaprendizajes", "unidadaprendizajes"); //si se tiene la clave de unidad academica diferente de cero(no vacio) //se pone la restriccin de que sea igual a esta clave if (uapclave != 0) { //criteria.add(Restrictions.eq("unidadaprendizajes.uapclave", uapclave)); } List listaUAp = criteria.list(); List<Areaconocimiento> listaAreaCon = null; session.close(); /*String queryAreaCon="from Areaconocimiento as a join a.unidadaprendizajes as ua where ua.uapclave='"+uapclave+"'"; System.out.println(" "); System.out.println(queryAreaCon); List<Areaconocimiento> listaAreaCon = null;*/ //Configuracion con=null; //ServiceLocator.getInstanceBaseDAO().setTipo(Configuracion.class); //con=(Configuracion) ServiceLocator.getInstanceBaseDAO().find(conid); //listaAreaCon=new ArrayList<Areaconocimiento>(); // List<Object> listaObjetos=executeQuery(queryCalendarios); /* List<Object> listaObjetos=executeQuery(queryAreaCon); Iterator itr=listaObjetos.iterator(); while(itr.hasNext()){ Object[] obj=(Object[])itr.next(); listaAreaCon.add((Areaconocimiento)obj[0]); }*/ // for(int x=0; x<listaCalendario.size(); x++){ // System.out.println(listaCalendario.get(x).getCrefechaCorte()); // } //listaCalendario.sort(comparadorFechasCorte);//Ordena por fechas de corte return listaUAp; // return listaObjetos; } public List findFromWhereAreaCon(int uapclave) { //query anterior con id de configuracin //String queryCalendarios="from Configuracion as c join c.calendarioreportes as cr where c.conid="+conid; String queryAreaCon = "from Areaconocimiento as a join a.unidadaprendizajes as ua where ua.uapclave='" + uapclave + "'"; System.out.println(" "); System.out.println(queryAreaCon); List<Areaconocimiento> listaAreaCon = null; //Configuracion con=null; //ServiceLocator.getInstanceBaseDAO().setTipo(Configuracion.class); //con=(Configuracion) ServiceLocator.getInstanceBaseDAO().find(conid); listaAreaCon = new ArrayList<Areaconocimiento>(); // List<Object> listaObjetos=executeQuery(queryCalendarios); List<Object> listaObjetos = executeQuery(queryAreaCon); Iterator itr = listaObjetos.iterator(); while (itr.hasNext()) { Object[] obj = (Object[]) itr.next(); listaAreaCon.add((Areaconocimiento) obj[0]); } System.out.println(" "); // for(int x=0; x<listaCalendario.size(); x++){ // System.out.println(listaCalendario.get(x).getCrefechaCorte()); // } //listaCalendario.sort(comparadorFechasCorte);//Ordena por fechas de corte return listaAreaCon; // return listaObjetos; } //metodo para ejecutar el query de Join de Configuracin con //CalendarioReporte o puede ser usado para ejecutar cualquier //query a la base de datos public List executeQuery(String query) { List result = null; HibernateUtil.getSession(); HibernateUtil.beingTransaccion(); try { //result = (List) HibernateUtil.getSession().createQuery("select c from Configuracion c join c.alerta a join c.calendarioreportes").list(); result = (List) HibernateUtil.getSession().createQuery(query).list(); System.out.println(" "); System.out.println(query); System.out.println(" "); if (result == null) { System.out.println("nulo"); } } catch (Exception x) { x.printStackTrace(); HibernateUtil.rollbackTransaction(); } finally { HibernateUtil.closeSession(); } return result; } //metodo generico para hacer dos join que no utilizamos public List findFromWhereAnterior(String de, String campo, String criterio) { List result = null; HibernateUtil.getSession(); HibernateUtil.beingTransaccion(); try { result = (List) HibernateUtil.getSession() .createQuery("select c from Configuracion c join c.alerta a join c.calendarioreportes").list(); if (result == null) { System.out.println("nulo"); } } catch (Exception x) { x.printStackTrace(); HibernateUtil.rollbackTransaction(); } finally { HibernateUtil.closeSession(); } return result; } //metodo de criteria para obtener los programas educativos que corresponden //a la misma UnidadAcademica por su misma clave public List findByCriteriaDetalladoProgEdUnidadAcademica(int uacclave) { Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Programaeducativo.class, "programaeducativo"); criteria.createAlias("programaeducativo.unidadacademica", "unidadacademica"); //si se tiene la clave de unidad academica diferente de cero(no vacio) //se pone la restriccin de que sea igual a esta clave if (uacclave != 0) { criteria.add(Restrictions.eq("unidadacademica.uacclave", uacclave)); } List listaUAp = criteria.list(); session.close(); return listaUAp; } public List<UnidadaprendizajeImparteProfesor> findByUnidadAprendisaje(Integer uapid) { Session sessionTH = HibernateUtil.getSessionFactory().openSession(); Criteria criteriaTH = sessionTH.createCriteria(UnidadaprendizajeImparteProfesor.class, "UnidadaprendizajeImparteProfesor"); criteriaTH.createAlias("UnidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default criteriaTH.createAlias("UnidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default // kitar cuando ya este criteriaTH.add(Restrictions.eq("UnidadaprendizajeImparteProfesor.uipid", uapid)); //criteria.setMaxResults(10); List<UnidadaprendizajeImparteProfesor> listUnidadImparteProf = criteriaTH.list(); sessionTH.close(); return listUnidadImparteProf; } public List<Reporteavancecontenidotematico> findByUnidadImparte(Integer uipid) { Session sessionTH = HibernateUtil.getSessionFactory().openSession(); Criteria criteriaTH = sessionTH.createCriteria(Reporteavancecontenidotematico.class, "Reporteavancecontenidotematico"); criteriaTH.createAlias("Reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteriaTH.add( Restrictions.eq("Reporteavancecontenidotematico.unidadaprendizajeImparteProfesor.uipid", uipid)); List<Reporteavancecontenidotematico> listUnidadImparteProf; listUnidadImparteProf = criteriaTH.list(); sessionTH.close(); return listUnidadImparteProf; } //metodo principal para hacer todos los tipos de criteria con la //misma estructura filtrando primero por el op=opcion y luego por //el tipo que ya estan definidos en este mtodo el objeto que recibe //y identifican la consulta o criteria a realizar desde el metodo //que lo llama guardando el resultado en una lista de cada opcion //que es el resultado o return de este mtodo public List findByCriteria4(ReporteAux reporte) { List listaUAp = null; initSession(); initCriteria4(); //--------------------------Entregados y no entregados general--------------------------------// //parte del metodo que busca los entregados y no entrados en cada caso// if (reporte.op.equals("EntregadosYNo")) { if (reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } //los siguientes condiciones con atributos sirven para filtrar con la //restriccin si es cero o nulo lo ignora si no busca agregar la restriccin //indicada para el filtro correspondiente o que correspondan los resultados //al atributo o valor indicado como restriccin o igualdad de la consulta if (reporte.uacclave == 0) { } else { criteria.add(Restrictions.eq("unidadacademica.uacclave", reporte.uacclave)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } listaUAp = criteria.list(); } //-----------------------Calendario de reportes----------------------------------------------// if (reporte.op.equals("CalendReport")) { criteria = session.createCriteria(Calendarioreporte.class, "calendarioreporte"); listaUAp = criteria.list(); } //-----------------------Calendario de reporte tiene alerta----------------------------------------------// if (reporte.op.equals("CalendReportTieneAlerta")) { criteria = session.createCriteria(CalendarioreporteTieneAlerta.class, "calendarioreportetienealerta"); criteria.createAlias("calendarioreportetienealerta.calendarioreporte", "calendarioreporte"); if (reporte.creid == 0) { } else { criteria.add(Restrictions.eq("calendarioreporte.creid", reporte.creid)); } if (reporte.calnumeroReporte == 0) { } else { criteria.add( Restrictions.eq("calendarioreportetienealerta.calnumeroReporte", reporte.calnumeroReporte)); } listaUAp = criteria.list(); } //------------------------Area con todos------------------------------------------------------// if (reporte.op.equals("AreaConTodos")) { criteria = session.createCriteria(Areaconocimiento.class, "areaconocimiento"); criteria.createAlias("areaconocimiento.planestudio", "planestudio"); criteria.createAlias("planestudio.programaeducativo", "programaeducativo"); if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } listaUAp = criteria.list(); } //------------------------ConfiguracionTodos------------------------------------------------------// if (reporte.op.equals("ConfiguracionTodos")) { criteria = session.createCriteria(Configuracion.class, "configuracion"); criteria.createAlias("configuracion.alerta", "alerta"); criteria.createAlias("configuracion.cicloescolar", "cicloescolar"); listaUAp = criteria.list(); } //------------------------CalendarioReporteTieneAlerta------------------------------------------------------// if (reporte.op.equals("CalendarioReporteTieneAlertaTodos")) { criteria = session.createCriteria(CalendarioreporteTieneAlerta.class, "calendarioreportetienealerta"); criteria.createAlias("calendarioreportetienealerta.calendarioreporte", "calendarioreporte"); criteria.createAlias("calendarioreportetienealerta.alerta", "alerta"); listaUAp = criteria.list(); } //--------------------Enviados y parciales-----------------------------------------------------------------------------// if (reporte.op.equals("EnviadosYParciales")) { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default //criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor",JoinType.RIGHT_OUTER_JOIN);//Inner Join by default criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default // criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default // //criteria.setMaxResults(10); // criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } // if(reporte.acoclave==0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //--------------------No entregados vacio-----------------------------------------------------------------------------// if (reporte.op.equals("NoEntregadoVacio")) { criteria = session.createCriteria(UnidadaprendizajeImparteProfesor.class, "unidadaprendizajeImparteProfesor"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default //criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default // criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default // //criteria.setMaxResults(10); // criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } // if(reporte.acoclave==0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //--------------------ATiempoYNo-----------------------------------------------------------------------------// if (reporte.op.equals("ATiempoYNo")) { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default // criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default // //criteria.setMaxResults(10); // criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); //quite la siguiente linea para que obtenga resultados de Enviados y Parciales // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("EnFechaLimite")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } // if(reporte.acoclave==0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //------------------------ConfigSet-----------------------------------------------------------// if (reporte.op.equals("ConfigSet")) { criteria = session.createCriteria(Configuracion.class, "configuracion"); criteria.createAlias("configuracion.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("configuracion.alerta", "alerta");//Inner Join by default //criteria.createAlias("configuracion.calendarioreportes", "calendarioreportes");//Inner Join by default //criteria.createAlias("alerta.calendarioreporteTieneAlertas", "calendarioreporteTieneAlerta");//Inner Join by default //criteria.add(Restrictions.eq("calendarioreporteTieneAlerta.calnumeroReporte",reporte.calnumeroReporte)); listaUAp = criteria.list(); } //----------------------CompararAreaCon------------------------------------------------------// if (reporte.op.equals("CompararAreaCon")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } // if(reporte.acoclave == 0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //-----------------------------ProgEducatTodos------------------------------------------------// if (reporte.op.equals("ProgEducatTodos")) { criteria = session.createCriteria(Planestudio.class, "planestudio"); criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default listaUAp = criteria.list(); } //-----------------------------PAGC------------------------------------------------// if (reporte.op.equals("PAGC")) { criteria = session.createCriteria(UnidadaprendizajeImparteProfesor.class, "unidadaprendizajeimparteprofesor"); criteria.createAlias("unidadaprendizajeimparteprofesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeimparteprofesor.grupo", "grupo");//Inner Join by default criteria.createAlias("unidadaprendizajeimparteprofesor.profesor", "profesor");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default // criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default // criteria.createAlias("areaconocimiento.planestudio", "planestudio");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default criteria.createAlias("programaeducativo.unidadacademica", "unidadacademica");//Inner Join by default listaUAp = criteria.list(); } //-----------------------------CompararProfGrupo----------------------------------------------// if (reporte.op.equals("CompararProfGrupo")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } // if(reporte.acoclave == 0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------CompararProgramaEducativo------------------------------------------// if (reporte.op.equals("CompararProgEduc")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------PorcentAvanceSolo------------------------------------------// if (reporte.op.equals("PorcentAvanceSolo")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------CompararUAGrupo------------------------------------------// if (reporte.op.equals("CompararUAGrupo")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } // if(reporte.acoclave == 0){ // // }else{ // criteria.add(Restrictions.eq("areaconocimiento.acoclave",reporte.acoclave)); // } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } session.close(); return listaUAp; } public List findByCriteriaDetalladoCordAreaAdminProfUAprend(int uapclave) { Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Coordinadorareaadministrativa.class, "coordinadorareaadministrativa"); criteria.createAlias("coordinadorareaadministrativa.profesor", "profesor"); criteria.createAlias("coordinadorareaadministrativa.unidadaprendizaje", "unidadaprendizaje"); //si se tiene la clave de unidad academica diferente de cero(no vacio) //se pone la restriccin de que sea igual a esta clave if (uapclave != 0) { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", uapclave)); } List listaCAAp = criteria.list(); session.close(); return listaCAAp; } //metodo principal para hacer todos los tipos de criteria con la //misma estructura filtrando primero por el op=opcion y luego por //el tipo que ya estan definidos en este mtodo el objeto que recibe //y identifican la consulta o criteria a realizar desde el metodo //que lo llama guardando el resultado en una lista de cada opcion //que es el resultado o return de este mtodo public List findByCriteria(ReporteAux reporte) { List listaUAp = null; initSession(); initCriteria(); //--------------------------Entregados y no entregados general--------------------------------// //parte del metodo que busca los entregados y no entrados en cada caso// if (reporte.op.equals("EntregadosYNo")) { if (reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } //los siguientes condiciones con atributos sirven para filtrar con la //restriccin si es cero o nulo lo ignora si no busca agregar la restriccin //indicada para el filtro correspondiente o que correspondan los resultados //al atributo o valor indicado como restriccin o igualdad de la consulta if (reporte.uacclave == 0) { } else { criteria.add(Restrictions.eq("unidadacademica.uacclave", reporte.uacclave)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } listaUAp = criteria.list(); } //-----------------------Calendario de reportes----------------------------------------------// if (reporte.op.equals("CalendReport")) { criteria = session.createCriteria(Calendarioreporte.class, "calendarioreporte"); listaUAp = criteria.list(); } //-----------------------Calendario de reporte tiene alerta----------------------------------------------// if (reporte.op.equals("CalendReportTieneAlerta")) { criteria = session.createCriteria(CalendarioreporteTieneAlerta.class, "calendarioreportetienealerta"); criteria.createAlias("calendarioreportetienealerta.calendarioreporte", "calendarioreporte"); if (reporte.creid == 0) { } else { criteria.add(Restrictions.eq("calendarioreporte.creid", reporte.creid)); } if (reporte.calnumeroReporte == 0) { } else { criteria.add( Restrictions.eq("calendarioreportetienealerta.calnumeroReporte", reporte.calnumeroReporte)); } listaUAp = criteria.list(); } //------------------------Area con todos------------------------------------------------------// if (reporte.op.equals("AreaConTodos")) { criteria = session.createCriteria(Areaconocimiento.class, "areaconocimiento"); criteria.createAlias("areaconocimiento.planestudio", "planestudio"); criteria.createAlias("planestudio.programaeducativo", "programaeducativo"); if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } listaUAp = criteria.list(); } //------------------------ConfiguracionTodos------------------------------------------------------// if (reporte.op.equals("ConfiguracionTodos")) { criteria = session.createCriteria(Configuracion.class, "configuracion"); criteria.createAlias("configuracion.alerta", "alerta"); criteria.createAlias("configuracion.cicloescolar", "cicloescolar"); listaUAp = criteria.list(); } //------------------------CalendarioReporteTieneAlerta------------------------------------------------------// if (reporte.op.equals("CalendarioReporteTieneAlertaTodos")) { criteria = session.createCriteria(CalendarioreporteTieneAlerta.class, "calendarioreportetienealerta"); criteria.createAlias("calendarioreportetienealerta.calendarioreporte", "calendarioreporte"); criteria.createAlias("calendarioreportetienealerta.alerta", "alerta"); listaUAp = criteria.list(); } //--------------------Enviados y parciales-----------------------------------------------------------------------------// if (reporte.op.equals("EnviadosYParciales")) { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default //criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor",JoinType.RIGHT_OUTER_JOIN);//Inner Join by default criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default //criteria.setMaxResults(10); criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //--------------------No entregados vacio-----------------------------------------------------------------------------// if (reporte.op.equals("NoEntregadoVacio")) { criteria = session.createCriteria(UnidadaprendizajeImparteProfesor.class, "unidadaprendizajeImparteProfesor"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default //criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default //criteria.setMaxResults(10); criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //--------------------ATiempoYNo-----------------------------------------------------------------------------// if (reporte.op.equals("ATiempoYNo")) { criteria = session.createCriteria(Reporteavancecontenidotematico.class, "reporteavancecontenidotematico"); //criteria.createAlias("reporte.reporteavancecontenidotematico", "reporteavancecontenidotematico");//Inner Join by default criteria.createAlias("reporteavancecontenidotematico.unidadaprendizajeImparteProfesor", "unidadaprendizajeImparteProfesor");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.unidadaprendizaje", "unidadaprendizaje");//Inner Join by default criteria.createAlias("unidadaprendizajeImparteProfesor.profesor", "profesor");//Inner Join by default //criteria.setFetchMode("programaeducativo.profesors", FetchMode.JOIN); criteria.createAlias("unidadaprendizajeImparteProfesor.grupo", "grupo");//Inner Join by default criteria.createAlias("grupo.planestudio", "planestudio");//Inner Join by default criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default //criteria.setMaxResults(10); criteria.createAlias("areaconocimiento.planestudio", "planestudio2");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default //criteria.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE); //quite la siguiente linea para que obtenga resultados de Enviados y Parciales // criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", UIPid)); if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("EnFechaLimite")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } //criteria.add(Restrictions); if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); //session.close(); //return listaUAp; } //------------------------ConfigSet-----------------------------------------------------------// if (reporte.op.equals("ConfigSet")) { criteria = session.createCriteria(Configuracion.class, "configuracion"); criteria.createAlias("configuracion.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("configuracion.alerta", "alerta");//Inner Join by default criteria.createAlias("configuracion.calendarioreportes", "calendarioreportes");//Inner Join by default criteria.createAlias("alerta.calendarioreporteTieneAlertas", "calendarioreporteTieneAlerta");//Inner Join by default //criteria.add(Restrictions.eq("calendarioreporteTieneAlerta.calnumeroReporte",reporte.calnumeroReporte)); listaUAp = criteria.list(); } //----------------------CompararAreaCon------------------------------------------------------// if (reporte.op.equals("CompararAreaCon")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //-----------------------------ProgEducatTodos------------------------------------------------// if (reporte.op.equals("ProgEducatTodos")) { criteria = session.createCriteria(Planestudio.class, "planestudio"); criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default listaUAp = criteria.list(); } //-----------------------------PAGC------------------------------------------------// if (reporte.op.equals("PAGC")) { criteria = session.createCriteria(Unidadaprendizaje.class, "unidadaprendizaje"); criteria.createAlias("unidadaprendizaje.cicloescolar", "cicloescolar");//Inner Join by default criteria.createAlias("unidadaprendizaje.areaconocimiento", "areaconocimiento");//Inner Join by default criteria.createAlias("areaconocimiento.planestudio", "planestudio");//Inner Join by default criteria.createAlias("planestudio.programaeducativo", "programaeducativo");//Inner Join by default criteria.createAlias("programaeducativo.unidadacademica", "unidadacademica");//Inner Join by default listaUAp = criteria.list(); } //-----------------------------CompararProfGrupo----------------------------------------------// if (reporte.op.equals("CompararProfGrupo")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.pronumeroEmpleado == 0) { } else { criteria.add(Restrictions.eq("profesor.pronumeroEmpleado", reporte.pronumeroEmpleado)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------CompararProgramaEducativo------------------------------------------// if (reporte.op.equals("CompararProgEduc")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------PorcentAvanceSolo------------------------------------------// if (reporte.op.equals("PorcentAvanceSolo")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clave == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clave)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } //------------------------------------CompararUAGrupo------------------------------------------// if (reporte.op.equals("CompararUAGrupo")) { if (reporte.tipo.equalsIgnoreCase("ATiempo") || reporte.tipo.equalsIgnoreCase("FueraTiempo") || reporte.tipo.equalsIgnoreCase("Enviado")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); } if (reporte.tipo.equalsIgnoreCase("Parcial")) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("EnviadoYParcial")) { //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Enviado")); //criteria.add(Restrictions.eq("reporteavancecontenidotematico.racstatus", "Parcial")); } if (reporte.tipo.equalsIgnoreCase("ATiempo")) { criteria.add(Restrictions.le("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.tipo.equalsIgnoreCase("FueraTiempo")) { criteria.add(Restrictions.gt("reporteavancecontenidotematico.racfechaElaboracion", reporte.fecha1)); } if (reporte.clavepe == 0) { } else { criteria.add(Restrictions.eq("programaeducativo.pedclave", reporte.clavepe)); } if (reporte.pesvigencia == null || reporte.pesvigencia.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("planestudio.pesvigenciaPlan", reporte.pesvigencia)); } if (reporte.cescicloEscolar == null || reporte.cescicloEscolar.equalsIgnoreCase("")) { } else { criteria.add(Restrictions.eq("cicloescolar.cescicloEscolar", reporte.cescicloEscolar)); } if (reporte.acoclave == 0) { } else { criteria.add(Restrictions.eq("areaconocimiento.acoclave", reporte.acoclave)); } if (reporte.uapclave == 0) { // } else { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", reporte.uapclave)); } if (reporte.gponumero == 0) { } else { criteria.add(Restrictions.eq("grupo.gponumero", reporte.gponumero)); } if (reporte.numRact == 1) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "1")); } if (reporte.numRact == 2) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "2")); } if (reporte.numRact == 3) { criteria.add(Restrictions.eq("reporteavancecontenidotematico.racnumero", "3")); } if (reporte.numProfUIPid == 0) { } else { criteria.add(Restrictions.eq("unidadaprendizajeImparteProfesor.uipid", reporte.numProfUIPid)); } listaUAp = criteria.list(); } session.close(); return listaUAp; } public List findByCriteriaDetalladoCordAreaAdminProfUAprend(int uapclave, int pedclave, int aadid) { Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Coordinadorareaadministrativa.class, "coordinadorareaadministrativa"); criteria.createAlias("coordinadorareaadministrativa.profesor", "profesor"); criteria.createAlias("coordinadorareaadministrativa.unidadaprendizaje", "unidadaprendizaje"); criteria.createAlias("coordinadorareaadministrativa.areaadministrativa", "areaadministrativa"); criteria.createAlias("areaadministrativa.programaeducativo", "programaeducativo"); //si se tiene la clave de unidad academica diferente de cero(no vacio) //se pone la restriccin de que sea igual a esta clave if (uapclave != 0) { criteria.add(Restrictions.eq("unidadaprendizaje.uapclave", uapclave)); } if (pedclave != 0) { criteria.add(Restrictions.eq("programaeducativo.pedclave", pedclave)); } if (aadid != 0) { criteria.add(Restrictions.eq("areaadministrativa.aadid", aadid)); } List listaCAAp = criteria.list(); session.close(); return listaCAAp; } }