Subversion Repositories bacoAlunos

Rev

Rev 1418 | 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 a from a in class " + QuestionarioPedagogicoAlunoRequisitado.class.getName() +
14
                    " join a.aluno u " +
15
                    " where a.respostaRequisitada.resposta is null and u.id = " + UserSession.getUser().getId() + " and " +
16
                    " (a.respostaRequisitada.questionario.state = :s1 OR a.respostaRequisitada.questionario.state = :s2)"
17
    );
18
    q.setString("s1","PROCESSING_WITH_ANSWERS");
19
    q.setString("s2","PROCESSING");
20
    List<QuestionarioPedagogicoAlunoRequisitado> alunosRequisitados = q.list();
21
 
22
    if(alunosRequisitados.size() == 0)
23
    {
24
%>
25
 
1411 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 em falta da tua parte.</div>
28
    <div class="alert alert-success">Vai consultando o sistema pois poderemos ativar algum questionário e a tua opinião é muito importante para nós. Obrigado</div>
29
</div>
30
 
31
<%
32
}
33
else if(alunosRequisitados.size() > 0)
34
{
35
%>
36
 
1411 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}. Tens questinários por responder <span class="glyphicon glyphicon-alert"/></div>
40
        <div class="panel-body">
41
            <div class="list-group">
42
                <%
43
                    HashMap<Questionario,List<QuestionarioPedagogicoAlunoRequisitado>> alunosOrdenados = new HashMap<Questionario, List<QuestionarioPedagogicoAlunoRequisitado>>();
44
                    for(QuestionarioPedagogicoAlunoRequisitado alunoRequisitado: alunosRequisitados)
45
                    {
46
                        List<QuestionarioPedagogicoAlunoRequisitado> alunos = alunosOrdenados.get(alunoRequisitado.getRespostaRequisitada().getQuestionario());
47
                        if(alunos == null)
48
                        {
49
                            alunos = new ArrayList<QuestionarioPedagogicoAlunoRequisitado>();
50
                            alunosOrdenados.put(alunoRequisitado.getRespostaRequisitada().getQuestionario(),alunos);
51
                        }
52
                        alunos.add(alunoRequisitado);
53
                    }
54
                    for(Questionario questionario: alunosOrdenados.keySet())
55
                    {
56
                %>
57
                <h2><%=questionario.getDescription()%></h2>
58
                <%
59
                    HashMap<QuestionarioPedagogicoCursoAfeto,Boolean> cursosAfetoHashMap = new HashMap<QuestionarioPedagogicoCursoAfeto, Boolean>();
60
                    for(QuestionarioPedagogicoAlunoRequisitado alunoRequisitado: alunosOrdenados.get(questionario))
61
                    {
62
                        cursosAfetoHashMap.put(alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getCursoAfeto(),true);
63
                    }
1418 jmachado 64
                    if(cursosAfetoHashMap.size() > 1)
1406 jmachado 65
                    {
66
                %>
67
                <div class="alert alert-info">${UserSession.shortName} tens mais que um curso, isto pode acontecer por teres unidades extra-curriculares, deves responder a todos os questionários mesmo os que não são do teu curso</div>
68
                <%
69
                    }
70
                    for(QuestionarioPedagogicoCursoAfeto cursoAfeto: cursosAfetoHashMap.keySet())
71
                    {
72
                %>
73
                <h3><%=cursoAfeto.getNome()%></h3>
74
                <div class="list-group">
75
                    <div class="list-group-item list-group-item-heading clearfix">
76
                        Unidade Curricular (Código da Unidade) <label class="label label-pill label-info" style="font-size: 1em">Professor</label> <label class="badge badge-info">Tipologia de Aula</label>
77
                    </div>
78
                    <%
79
                        for(QuestionarioPedagogicoAlunoRequisitado alunoRequisitado: alunosOrdenados.get(questionario))
80
                        {
81
                            if(alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getCursoAfeto() == cursoAfeto)
82
                            {
83
                    %>
84
                    <div class="list-group-item clearfix" >
85
 
1458 jmachado 86
                        <label class="bg-info" style="padding: 2px">
87
                            <a href="<%=request.getContextPath()%>/user/startRespostaQuestionario.do?alunoRequisitadoId=<%=alunoRequisitado.getId()%>">
1406 jmachado 88
                            <%=alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getNome()%>
89
                            (<%=alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getCodigoUnidade()%>)
1458 jmachado 90
                            </a>
91
                        </label>
1406 jmachado 92
                        <label class="label label-pill label-info" style="font-size: 1em"><%=alunoRequisitado.getTipologiaRequisitada().getNomeDocente()%></label>
93
                        <label class="badge badge-info"><%=alunoRequisitado.getTipologiaRequisitada().getDsTipologia()%></label>
94
                    </div>
95
                    <%
96
                            }
97
                        }
98
                    %>
99
                </div>
100
                <%
101
                        }
102
                    }
103
                %>
104
            </div>
105
        </div>
106
    </div>
107
</div>
108
 
109
<%
110
    }
111
    AbstractDao.getCurrentSession().getTransaction().commit();
112
%>