Rev 1434 | Rev 1474 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.hibernate.Query" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.domain.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<%
AbstractDao.getCurrentSession().beginTransaction();
Query q = AbstractDao.getCurrentSession().createQuery(
"select t from t in class " + QuestionarioPedagogicoTipologiaRequisitada.class.getName() +
" JOIN t.unidadeAfeta ua " +
" where ua.usar = true and t.docenteAfeto.id = " + UserSession.getUser().getId() + " and " +
" (t.unidadeAfeta.cursoAfeto.questionario.state = :s1 OR t.unidadeAfeta.cursoAfeto.questionario.state = :s2)"
);
q.setString("s1","PROCESSING_WITH_ANSWERS");
q.setString("s2","PROCESSING");
List<QuestionarioPedagogicoTipologiaRequisitada> tipologiaRequisitadas = q.list();
if(tipologiaRequisitadas.size() == 0)
{
%>
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="alert alert-success">Olá ${UserSession.shortName} não existem quaisquer questionários ativos nos quais esteja a ser avaliado.</div>
<div class="alert alert-success">Vá consultando o sistema pois poderemos ativar algum questionário e poderá saber por aqui se os seus alunos estão a responder. Obrigado</div>
</div>
<%
}
else if(tipologiaRequisitadas.size() > 0)
{
%>
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="panel panel-info">
<div class="panel-heading">Olá ${UserSession.shortName}. Existem questinários onde está a ser avaliado <span class="glyphicon glyphicon-alert"/></div>
<div class="panel-body">
<div class="list-group">
<%
HashMap<Questionario,List<QuestionarioPedagogicoTipologiaRequisitada>> tipologiasOrdenadas = new HashMap<Questionario, List<QuestionarioPedagogicoTipologiaRequisitada>>();
for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiaRequisitadas)
{
List<QuestionarioPedagogicoTipologiaRequisitada> tipologias = tipologiasOrdenadas.get(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto().getQuestionario());
if(tipologias == null)
{
tipologias = new ArrayList<QuestionarioPedagogicoTipologiaRequisitada>();
tipologiasOrdenadas.put(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto().getQuestionario(),tipologias);
}
tipologias.add(tipologiaRequisitada);
}
for(Questionario questionario: tipologiasOrdenadas.keySet())
{
%>
<h2 class="well">Questionário: <%=questionario.getDescription()%></h2>
<%
HashMap<QuestionarioPedagogicoCursoAfeto,Boolean> cursosAfetoHashMap = new HashMap<QuestionarioPedagogicoCursoAfeto, Boolean>();
for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiasOrdenadas.get(questionario))
{
cursosAfetoHashMap.put(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto(),true);
}
for(QuestionarioPedagogicoCursoAfeto cursoAfeto: cursosAfetoHashMap.keySet())
{
%>
<div class="well well-sm"><%=cursoAfeto.getNome()%></div>
<div class="list-group">
<%--<div class="list-group-item list-group-item-heading clearfix">
Unidade Curricular (Código da Unidade) <label class="label label-pill label-success" style="font-size: 1em">Questionários Preenchidos</label> de <label class="label label-pill label-info" style="font-size: 1em">Número de Solicitados</label> <label class="badge badge-info">Tipologia de Aula</label>
</div>--%>
<%
for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiasOrdenadas.get(questionario))
{
if(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto() == cursoAfeto)
{
%>
<%
Query qRespondidos = AbstractDao.getCurrentSession().createQuery("" +
"select count(distinct r.id) from t in class " + QuestionarioPedagogicoTipologiaRequisitada.class.getName() + " " +
" join t.alunosRequisitados a " +
" join a.respostaRequisitada rR " +
" join rR.resposta r " +
" where t.id = :id group by t "
);
qRespondidos.setLong("id",tipologiaRequisitada.getId());
//List e = qRespondidos.list();
Object respondidos = qRespondidos.uniqueResult();
if(tipologiaRequisitada.getAlunosRequisitados().size() > 0)
{
%>
<div class="list-group-item clearfix" >
<label class="label label-pill <%=respondidos == null ? "label-warning" : "label-success"%>" style="font-size: 1em"><%=respondidos == null ? 0 : ((Long)respondidos)%></label>
respondidos de
<label class="label label-pill label-info" style="font-size: 1em"><%=tipologiaRequisitada.getAlunosRequisitados().size()%></label>
<span style="margin-left: 10px" class="glyphicon glyphicon-arrow-right"> </span>
<label class="bg-info " style="padding: 2px"><%=tipologiaRequisitada.getUnidadeAfeta().getNome()%></label>
(<%=tipologiaRequisitada.getUnidadeAfeta().getCodigoUnidade()%>)
<label class="bg-primary " style="padding: 2px"><%=tipologiaRequisitada.getCdTurma()%></label>
<label class="badge badge-info"><%=tipologiaRequisitada.getDsTipologia()%></label>
</div>
<%
}
}
}
%>
</div>
<%
}
}
%>
</div>
</div>
</div>
</div>
<%
}
AbstractDao.getCurrentSession().getTransaction().commit();
%>
Generated by GNU Enscript 1.6.5.2.