Subversion Repositories bacoAlunos

Rev

Rev 1475 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.hibernate.Query" %>
<%@ page import="pt.estgp.estgweb.domain.Questionario" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" %>
<%@ page import="pt.ipportalegre.siges.web.services.Aluno" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ 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()%> (<%=cursoAfeto.getCodigoCurso()%>)</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" >
                            <div class="col-sm-7">
                                <label class="bg-primary" style="padding: 2px"><%=tipologiaRequisitada.getUnidadeAfeta().getCodigoUnidade()%></label>
                                <label class="bg-info " style="padding: 2px"><%=tipologiaRequisitada.getUnidadeAfeta().getNome()%></label>
                                <label class="bg-primary " style="padding: 2px"><%=tipologiaRequisitada.getCdTurma()%></label>
                                <label class="badge badge-info"><%=tipologiaRequisitada.getDsTipologia()%></label>
                            </div>
                            <div class="col-sm-3">
                                <%
                                    int respostas = respondidos == null ? 0 : (int) ((Long) respondidos).longValue();
                                    int total = tipologiaRequisitada.getAlunosRequisitados().size();
                                %>

                                <%
                                int percentage = (int) (100.0 * ( ((float)respostas/((float)total))));
                                String percentageColor = "danger";
                                if(percentage < 20)
                                    percentageColor = "danger";
                                else if(percentage < 40)
                                    percentageColor = "warning";
                                else if(percentage < 60)
                                    percentageColor = "info";
                                else
                                    percentageColor = "success";
                            %>
                                <label class="label label-pill label-<%=percentageColor%>" style="font-size: 1em"><%=respondidos == null ? 0 : ((Long)respondidos)%></label>
                                <span class="icon icon-user"> </span> /
                                <label class="label label-pill label-primary" style="font-size: 1em"><%=tipologiaRequisitada.getAlunosRequisitados().size()%></label> <span class="icon icon-users"> </span>
                                <%
                                    if(UserSession.getUser().isSuperuser() && request.getParameter("super")!=null)
                                    {
                                %>
                                <a href="#" class="btn btn-default" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/unidadeAlunosNaoRespondidos.jsp?id=<%=tipologiaRequisitada.getId()%>" data-title="Alunos sem resposta (<%=tipologiaRequisitada.getUnidadeAfeta().getNome()%>) <%=cursoAfeto.getNome()%>  da <%=cursoAfeto.getNomeInstituicao()%> )" data-toggle="modal" data-target="#modalAjaxRequest">
                                    S/R
                                </a>
                                <%
                                    }
                                %>
                            </div>
                            <div class="col-sm-2">
                                <div class="progress" >
                                    <div class="progress-bar progress-bar-<%=percentageColor%>" role="progressbar" aria-valuenow="<%=percentage%>"
                                         aria-valuemin="0" aria-valuemax="100" style="width:<%=percentage%>%">
                                        <%=percentage%>%
                                        <span class="icon icon-users"> </span>
                                    </div>
                                </div>
                            </div>
                        </div>
                    <%
                                }
                            }
                        }
                    %>
                </div>
                <%
                        }
                    }
                %>
            </div>
        </div>
    </div>
</div>

<%
    }
    AbstractDao.getCurrentSession().getTransaction().commit();
%>

Generated by GNU Enscript 1.6.5.2.