Rev 1353 | Rev 1699 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.Student" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="org.hibernate.Criteria" %>
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
<%@ page import="org.hibernate.criterion.Criterion" %>
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
<%@ page import="static org.hibernate.criterion.Restrictions.or" %>
<%@ page import="static org.hibernate.criterion.Restrictions.*" %>
<%@ page import="org.hibernate.criterion.Order" %>
<%@ page import="org.hibernate.criterion.Projections" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<div class="panel panel-default">
<div class="panel-heading">
Listagem de alunos das comissões de curso
</div>
<div class="panel-body">
<%
UserSession.getUser().getRolesList();
List<String> comissionsRoles = new ArrayList<String>();
for(String role: UserSession.getUser().getRolesList())
{
if(role.startsWith(Globals.COURSE_COMMISSION_PROGRAMS_ROLES_PREFIX))
comissionsRoles.add(role);
}
if(comissionsRoles.size() == 0)
{
%>
<div class="alert alert-warning">
Lamentamos mas não têm qualquer comissão de curso associada
</div>
<%
}
else
{
AbstractDao.getCurrentSession().beginTransaction();
for(String roleCourse: comissionsRoles)
{
request.setAttribute("roleCourse",roleCourse);
Criteria c = AbstractDao.getCurrentSession().createCriteria(Student.class)
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("id"))
.add(Projections.countDistinct("su.id"))
.add(Projections.property("course.name"))
.add(Projections.property("course.id"))
.add(Projections.property("course.code")))
.createAlias("subscribedUnits", "su")
.createAlias("su.course", "course")
.add(eq("su.importYear", "201516"))
.add(eq("course.validationRole", roleCourse))
;
c.addOrder(Order.asc("name"));
List<Object[]> students = c.list();
if(students.size() == 0)
{
%>
<h2><bean:message key="user.role.${roleCourse}"/> </h2>
<div class="alert alert-info alert-small">
Não foram encontrados <%=students.size()%> alunos, inscritos no ano ${UserSession.nowConfiguration.interfaceImportYear}
</div>
<%
}
else
{
//
// List<Student> students = DaoFactory.getStudentDaoImpl().loadFromCoursesWithValidationRoles(comissionsRoles,UserSession.getNowConfiguration().getInterfaceImportYear());
%>
<h2><bean:message key="user.role.${roleCourse}"/></h2>
<div class="alert alert-info alert-small">
Foram encontrados <%=students.size()%> alunos, inscritos no ano ${UserSession.nowConfiguration.interfaceImportYear}
</div>
<table class="tablesorterfiltered">
<thead>
<tr>
<th>Número</th>
<th>Nome</th>
<th>Email</th>
<th>Telefone</th>
<th class="filter-name filter-select">Situação de Propinas</th>
<th>Cadeiras Inscrito em ${UserSession.nowConfiguration.interfaceImportYear}</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<%
for(Object[] student: students)
{
Long studentId = (Long) student[0];
Integer cadeirasInscrito = (Integer) student[1];
String courseName = (String) student[2];
Long courseId = (Long) student[3];
String courseCode = (String) student[4];
Student s = DaoFactory.getStudentDaoImpl().load(studentId);
request.setAttribute("student",s);
%>
<tr>
<td>${student.sigesCode}</td>
<td>${student.name}</td>
<td>${student.email}</td>
<td>${student.phonenumber}</td>
<td><bean:message key="yes.no.${student.propinasEmDia}"/></td>
<td>
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/public/profile/profileHomeAjax.jsp?userId=${student.id}" data-title="Notas do aluno ${student.name} (${student.sigesCode})" data-toggle="modal" data-target="#modalAjaxRequest">
<%=cadeirasInscrito%>
</a>
<td>
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/public/profile/profileGradesAjax.jsp?userId=${student.id}" data-title="Notas do aluno ${student.name} (${student.sigesCode})" data-toggle="modal" data-target="#modalAjaxRequest">
Notas
</a>
</td>
</tr>
<%
}
%>
</tbody>
</table>
<%
}
}
AbstractDao.getCurrentSession().getTransaction().commit();
}
%>
</div>
</div>