Subversion Repositories bacoAlunos

Rev

Rev 1434 | Rev 1474 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1406 jmachado 1
<%@ page import="jomm.dao.impl.AbstractDao" %>
2
<%@ page import="org.hibernate.Query" %>
3
<%@ page import="java.util.ArrayList" %>
4
<%@ page import="java.util.HashMap" %>
5
<%@ page import="java.util.List" %>
6
<%@ page import="pt.estgp.estgweb.domain.*" %>
7
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
8
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
9
<%
10
    AbstractDao.getCurrentSession().beginTransaction();
11
 
12
    Query q = AbstractDao.getCurrentSession().createQuery(
13
            "select t from t in class " + QuestionarioPedagogicoTipologiaRequisitada.class.getName() +
1471 jmachado 14
                    " JOIN t.unidadeAfeta ua " +
15
                    " where ua.usar = true and t.docenteAfeto.id = " + UserSession.getUser().getId() + " and " +
1406 jmachado 16
                    " (t.unidadeAfeta.cursoAfeto.questionario.state = :s1 OR t.unidadeAfeta.cursoAfeto.questionario.state = :s2)"
17
    );
18
    q.setString("s1","PROCESSING_WITH_ANSWERS");
19
    q.setString("s2","PROCESSING");
20
    List<QuestionarioPedagogicoTipologiaRequisitada> tipologiaRequisitadas = q.list();
21
 
22
    if(tipologiaRequisitadas.size() == 0)
23
    {
24
%>
25
 
1408 jmachado 26
<div class="col-md-12 col-sm-12 col-xs-12">
1406 jmachado 27
    <div class="alert alert-success">Olá ${UserSession.shortName} não existem quaisquer questionários ativos nos quais esteja a ser avaliado.</div>
28
    <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>
29
</div>
30
 
31
<%
32
}
33
else if(tipologiaRequisitadas.size() > 0)
34
{
35
%>
36
 
1408 jmachado 37
<div class="col-md-12 col-sm-12 col-xs-12">
1406 jmachado 38
    <div class="panel panel-info">
39
        <div class="panel-heading">Olá ${UserSession.shortName}. Existem questinários onde está a ser avaliado <span class="glyphicon glyphicon-alert"/></div>
40
        <div class="panel-body">
41
            <div class="list-group">
42
                <%
43
                    HashMap<Questionario,List<QuestionarioPedagogicoTipologiaRequisitada>> tipologiasOrdenadas = new HashMap<Questionario, List<QuestionarioPedagogicoTipologiaRequisitada>>();
44
                    for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiaRequisitadas)
45
                    {
46
                        List<QuestionarioPedagogicoTipologiaRequisitada> tipologias = tipologiasOrdenadas.get(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto().getQuestionario());
47
                        if(tipologias == null)
48
                        {
49
                            tipologias = new ArrayList<QuestionarioPedagogicoTipologiaRequisitada>();
50
                            tipologiasOrdenadas.put(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto().getQuestionario(),tipologias);
51
                        }
52
                        tipologias.add(tipologiaRequisitada);
53
                    }
54
                    for(Questionario questionario: tipologiasOrdenadas.keySet())
55
                    {
56
                %>
1434 jmachado 57
                <h2 class="well">Questionário: <%=questionario.getDescription()%></h2>
1406 jmachado 58
                <%
59
                    HashMap<QuestionarioPedagogicoCursoAfeto,Boolean> cursosAfetoHashMap = new HashMap<QuestionarioPedagogicoCursoAfeto, Boolean>();
60
                    for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiasOrdenadas.get(questionario))
61
                    {
62
                        cursosAfetoHashMap.put(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto(),true);
63
                    }
64
 
65
                    for(QuestionarioPedagogicoCursoAfeto cursoAfeto: cursosAfetoHashMap.keySet())
66
                    {
67
                %>
1434 jmachado 68
 
69
                <div class="well well-sm"><%=cursoAfeto.getNome()%></div>
70
 
1406 jmachado 71
                <div class="list-group">
1407 jmachado 72
                    <%--<div class="list-group-item list-group-item-heading clearfix">
1406 jmachado 73
                        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>
1407 jmachado 74
                    </div>--%>
1406 jmachado 75
                    <%
76
                        for(QuestionarioPedagogicoTipologiaRequisitada tipologiaRequisitada: tipologiasOrdenadas.get(questionario))
77
                        {
78
                            if(tipologiaRequisitada.getUnidadeAfeta().getCursoAfeto() == cursoAfeto)
79
                            {
80
                    %>
81
 
82
 
1407 jmachado 83
 
84
 
85
 
86
 
1471 jmachado 87
 
1407 jmachado 88
                            <%
89
                                Query qRespondidos = AbstractDao.getCurrentSession().createQuery("" +
90
                                        "select count(distinct r.id) from t in class " + QuestionarioPedagogicoTipologiaRequisitada.class.getName() + " " +
91
                                        " join t.alunosRequisitados a " +
92
                                        " join a.respostaRequisitada rR " +
93
                                        " join rR.resposta r " +
94
                                        " where t.id = :id group by t "
95
                                );
96
                                qRespondidos.setLong("id",tipologiaRequisitada.getId());
97
                                //List e = qRespondidos.list();
98
                                Object respondidos = qRespondidos.uniqueResult();
99
 
1471 jmachado 100
                                if(tipologiaRequisitada.getAlunosRequisitados().size() > 0)
101
                                {
1407 jmachado 102
                            %>
1471 jmachado 103
                        <div class="list-group-item clearfix" >
104
                            <label class="label label-pill <%=respondidos == null ? "label-warning" : "label-success"%>" style="font-size: 1em"><%=respondidos == null ? 0 : ((Long)respondidos)%></label>
105
                            respondidos de
106
                            <label class="label label-pill label-info" style="font-size: 1em"><%=tipologiaRequisitada.getAlunosRequisitados().size()%></label>
1434 jmachado 107
 
1471 jmachado 108
                            <span style="margin-left: 10px" class="glyphicon glyphicon-arrow-right"> </span>
1434 jmachado 109
 
1471 jmachado 110
                            <label class="bg-info " style="padding: 2px"><%=tipologiaRequisitada.getUnidadeAfeta().getNome()%></label>
111
 
112
                            (<%=tipologiaRequisitada.getUnidadeAfeta().getCodigoUnidade()%>)
113
                            <label class="bg-primary " style="padding: 2px"><%=tipologiaRequisitada.getCdTurma()%></label>
114
                            <label class="badge badge-info"><%=tipologiaRequisitada.getDsTipologia()%></label>
115
                        </div>
1406 jmachado 116
                    <%
1471 jmachado 117
                                }
1406 jmachado 118
                            }
119
                        }
120
                    %>
121
                </div>
122
                <%
123
                        }
124
                    }
125
                %>
126
            </div>
127
        </div>
128
    </div>
129
</div>
130
 
131
<%
132
    }
133
    AbstractDao.getCurrentSession().getTransaction().commit();
134
%>