Subversion Repositories bacoAlunos

Rev

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

Rev Author Line No. Line
1817 jmachado 1
<%@ page import="jomm.dao.impl.AbstractDao" %>
2
<%@ page import="org.hibernate.Criteria" %>
3
<%@ page import="org.hibernate.criterion.Order" %>
4
 
5
<%@ page import="org.hibernate.criterion.Projections" %>
6
<%@ page import="pt.estgp.estgweb.domain.Course" %>
7
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
8
<%@ page import="pt.estgp.estgweb.domain.TeacherImpl" %>
9
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
10
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
11
<%@ page import="java.util.List" %>
12
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
13
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
14
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
15
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
16
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
17
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
18
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
19
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
20
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
21
 
22
<%
23
    Long courseId = Long.parseLong(request.getParameter("courseId"));
24
    String importYear = request.getParameter("importYear");
25
 
26
    AbstractDao.getCurrentSession().beginTransaction();
27
 
28
    TeacherImpl tImpl = (TeacherImpl) DaoFactory.getTeacherDaoImpl().get(UserSession.getUser().getId());
29
    Course courseImpl = DaoFactory.getCourseDaoImpl().get(courseId);
30
 
31
    request.setAttribute("course",courseImpl);
32
 
33
%>
34
<div class="panel panel-default">
35
    <div class="panel-heading"><span class="glyphicon glyphicon-wrench"></span> ${course.code} - <bean:message key="course.${course.degree}"/> - ${course.name}</div>
36
    <div class="panel-body">
37
 
38
 
39
        <h2>DTP</h2>
40
 
41
        <table class="tablesorter tablesorterfiltered">
42
            <thead>
43
            <tr>
44
                <th>Cod.</th>
45
                <th class="filter-name filter-select">Sem.</th>
46
                <th>Nome</th>
47
 
48
 
49
                <th>Sums</th>
50
                <th>Sums Pre</th>
51
                <th>Sums Falt</th>
52
 
53
                <th>Plan</th>
54
                <th class="filter-name filter-select">Ficha</th>
55
                <th>Aval.Enu</th>
56
                <th>Aval.Paut</th>
57
                <th class="filter-name filter-select">Relat.</th>
58
                <th class="filter-name filter-select">Pedag.</th>
59
                <th class="filter-name filter-select">Detalhes</th>
60
 
61
 
62
 
63
            </tr>
64
            </thead>
65
            <tbody>
66
 
67
            <%
68
 
69
                Criteria c = AbstractDao.getCurrentSession().createCriteria(CourseUnit.class)
70
                .setProjection(Projections.distinct(Projections.property("id")))
71
                .createAlias("course", "c")
72
                .add(eq("importYear", importYear))
73
                .add(eq("c.id", courseId));
74
                c.addOrder(Order.asc("name"));
75
                List<Long> courseUnits = c.list();
76
                for(Long unit: courseUnits)
77
                {
78
                        Long unitId =  unit;
79
                        CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
80
                        request.setAttribute("cu",cu);
81
                    %>
82
                    <tr>
83
                        <td>${cu.code}</td>
84
                        <td>${cu.semestre}</td>
85
                        <td><html:link target="_blank" action="/user/startLoadCourseUnitFromHome?id=${cu.id}"> ${cu.name}</html:link></td>
86
                        <td>${cu.statdtpSumaries}</td>
87
                        <td>${cu.statdtpSumariesPrelancados}</td>
88
                        <td>${cu.statdtpSumariesMissing}</td>
89
                        <td>${cu.statdtpPlaneamentoFiles}</td>
90
                        <td><bean:message key="yes.no.${cu.statdtpFichaCurricularValid}"/></td>
91
                        <td>${cu.statdtpAvaliacaoEnunciadosFiles}</td>
92
                        <td>${cu.statdtpAvaliacaoPautasFiles}</td>
93
                        <td>${cu.statdtpEvaluationReportState}</td>
94
                        <td>${cu.statdtpInqueritoPedagogicoFiles}</td>
95
                        <td><button class="btn btn-default" data-href="<%=request.getContextPath()%>/user/courseunits/statsAjax.jsp?courseUnitId=${cu.id}" data-title="Estatisticas da Unidade ${cu.name} (${cu.code})" data-toggle="modal" data-target="#modalAjaxRequest"><span class="glyphicon glyphicon-zoom-in"/></button> </td>
96
                    </tr>
97
                    <%
98
                }
99
 
100
                %>
101
 
102
            </tbody>
103
        </table>
104
 
105
        <h2>Tabela de Aproveitamento baseada nos Relatorios de Unidades</h2>
106
 
107
        <table class="tablesorter tablesorterfiltered">
108
            <thead>
109
                <tr>
110
                    <th>Cod.</th>
111
                    <th class="filter-name filter-select">Sem.</th>
112
                    <th>Nome</th>
113
                    <td> Estado </td>
114
                    <td> Insc. </td>
115
                    <td> s/elem </td>
116
                    <td> aprov. freq. </td>
117
                    <td> aprov. norm. </td>
118
                    <td> aprov. recu. </td>
119
                    <td> aprov. espe. </td>
120
                    <td> aprov. total </td>
121
                    <td> 10-13 </td>
122
                    <td> 14-16 </td>
123
                    <td> 17-20 </td>
124
                </tr>
125
            </thead>
126
            <tbody>
127
<%
128
    for(Long unit: courseUnits)
129
    {
130
        Long unitId =  unit;
131
        CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
132
        request.setAttribute("cu",cu);
133
    %>
134
        <tr>
135
        <%
136
        if(cu.getCourseUnitEvaluation() != null)
137
        {
138
 
139
                String estado;
140
                if(cu.getCourseUnitEvaluation().isClosed())
141
                {
142
                    estado = "COMPLETO";
143
                }else if(cu.getCourseUnitEvaluation().isTeacherComplete())
144
                {
145
                    estado = "ENTREGUE";
146
                }else
147
                {
148
                    estado = "NÃO TERMINADO";
149
                }
150
                %>
151
                <td> ${cu.code} </td>
152
                <td> ${cu.semestre} </td>
153
                <%--<td><html:link target="_blank" action="/user/startLoadCourseUnitFromHome?id=${cu.id}"> ${cu.name}</html:link></td>--%>
154
                <td><a href="#cu${cu.id}"> ${cu.name}</a></td>
155
                <td> <%=estado%> </td>
156
                <td> ${cu.courseUnitEvaluation.numAlunosInscritos} </td>
157
                <td> ${cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao} </td>
158
                <td> ${cu.courseUnitEvaluation.numAlunosAprovFrequencia} </td>
159
                <td> ${cu.courseUnitEvaluation.numAlunosAprovNormal} </td>
160
                <td> ${cu.courseUnitEvaluation.numAlunosAprovRecurso} </td>
161
                <td> ${cu.courseUnitEvaluation.numAlunosAprovEspecial} </td>
162
                <td> ${cu.courseUnitEvaluation.numAlunosAprovTotal} </td>
163
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1013} </td>
164
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1416} </td>
165
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1720} </td>
166
 
167
 
168
                <%
169
        }
170
        else
171
        {
172
                %>
173
                    <td> ${cu.code} </td>
174
                    <td> ${cu.semestre} </td>
175
                    <td> ${cu.name} </td>
176
                    <td class="danger" colspan="11">INEXISTENTE</td>
177
 
178
                <%
179
        }
180
        %>
181
        </tr>
182
        <%
183
    }
184
 
185
 
186
 
187
%>
188
           </tbody>
189
        </table>
190
 
191
 
192
        <h2>Relatórios das Unidades</h2>
193
        <%
194
            for(Long unit: courseUnits)
195
            {
196
                Long unitId =  unit;
197
                CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
198
                request.setAttribute("cu",cu);
199
 
200
         %>
201
 
202
                <a name="cu${cu.id}"> </a>
203
        <div class="panel panel-info">
204
            <div class="panel-heading">${cu.name} (${cu.semestre})</div>
205
            <div class="panel-body">
206
 
207
 
208
                <%
209
                if(cu.getCourseUnitEvaluation() != null)
210
                {
211
                    String estado;
212
                    if(cu.getCourseUnitEvaluation().isClosed())
213
                    {
214
                        estado = "COMPLETO";
215
                    }
216
                    else if(cu.getCourseUnitEvaluation().isTeacherComplete())
217
                    {
218
                        estado = "ENTREGUE";
219
                    }
220
                    else
221
                    {
222
                        estado = "NÃO TERMINADO";
223
                    }
224
                    %>
225
                    <p>Estado: <%=estado%></p>
226
                    <h4>Apreciação dos resultados quantitativos obtidos pelos estudantes</h4>
227
                    <pre>
228
                        ${cu.courseUnitEvaluation.qualApreciacaoQuantitivos}
229
                    </pre>
230
                    <h4>Apreciação do funcionamento da UC
231
                        (Condições de funcionamento da UC; problemas detetados; identificação de práticas pedagógicas de mérito ou deficientes; etc.)	</h4>
232
                    <pre>
233
                        ${cu.courseUnitEvaluation.qualApreciacaoUC}
234
                    </pre>
235
                    <h4>Apreciação do cumprimento do programa da UC
236
                        (Adequação das metodologias de ensino/aprendizagem utilizadas; competências efetivamente adquiridas e cumprimento dos conteúdos planificados)	</h4>
237
                    <pre>
238
                        ${cu.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma}
239
                    </pre>
240
                    <h4>Conclusões
241
                        (Pontos fortes e fracos; sugestões de melhoria e respetivo plano de ação para a sua concretização)	</h4>
242
                    <pre>
243
                        ${cu.courseUnitEvaluation.qualConclusoes}
244
                    </pre>
245
                    <%
246
                }
247
                else
248
                {
249
                    %>
250
                    <p>Estado: INEXISTENTE</p>
251
                    <%
252
                }
253
                %>
254
 
255
            </div>
256
        </div>
257
                <%
258
            }
259
         %>
260
 
261
 
262
    </div>
263
</div>
264
 
265
 
266
<%
267
    AbstractDao.getCurrentSession().getTransaction().commit();
268
%>