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 | %> |