Subversion Repositories bacoAlunos

Rev

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>