Subversion Repositories bacoAlunos

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1405 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
 
26
    <div class="col-md-8 col-sm-12 col-xs-12">
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
 
37
    <div class="col-md-8 col-sm-12 col-xs-12">
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 alunosRequisitado: alunosRequisitados)
45
                    {
46
                        List<QuestionarioPedagogicoAlunoRequisitado> alunos = alunosOrdenados.get(alunosRequisitado.getRespostaRequisitada().getQuestionario());
47
                        if(alunos == null)
48
                        {
49
                            alunos = new ArrayList<QuestionarioPedagogicoAlunoRequisitado>();
50
                            alunosOrdenados.put(alunosRequisitado.getRespostaRequisitada().getQuestionario(),alunos);
51
                        }
52
                        alunos.add(alunosRequisitado);
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
                        }
64
                        if(cursosAfetoHashMap.size() == 1)
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
                            <%
76
                            for(QuestionarioPedagogicoAlunoRequisitado alunoRequisitado: alunosOrdenados.get(questionario))
77
                            {
78
                                if(alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getCursoAfeto() == cursoAfeto)
79
                                {
80
                        %>
81
                                <div class="list-group-item">
82
 
83
                                    <a href="#">
84
                                    <%=alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getNome()%>
85
                                    (<%=alunoRequisitado.getTipologiaRequisitada().getUnidadeAfeta().getCodigoUnidade()%>)
86
                                    </a>
87
                                    <label class="label label-pill label-info" style="font-size: 1.2em"><%=alunoRequisitado.getTipologiaRequisitada().getNomeDocente()%></label>
88
                                    <label class="badge badge-info" style="font-size: 1.1em"><%=alunoRequisitado.getTipologiaRequisitada().getDsTipologia()%></label>
89
                                </div>
90
                        <%
91
                                }
92
                            }
93
                            %>
94
                            </div>
95
                            <%
96
                        }
97
                    }
98
                %>
99
                </div>
100
            </div>
101
        </div>
102
    </div>
103
 
104
<%
105
    }
106
    AbstractDao.getCurrentSession().getTransaction().commit();
107
%>