Subversion Repositories bacoAlunos

Rev

Rev 1969 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="org.hibernate.Criteria" %>
<%@ page import="org.hibernate.criterion.Order" %>

<%@ page import="org.hibernate.criterion.Projections" %>
<%@ page import="pt.estgp.estgweb.domain.Course" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
<%@ page import="pt.estgp.estgweb.domain.TeacherImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="static org.hibernate.criterion.Restrictions.eq" %>
<%@ page import="java.util.List" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>

<%
    Long courseId = Long.parseLong(request.getParameter("courseId"));
    String importYear = request.getParameter("importYear");

    AbstractDao.getCurrentSession().beginTransaction();

    TeacherImpl tImpl = (TeacherImpl) DaoFactory.getTeacherDaoImpl().get(UserSession.getUser().getId());
    Course courseImpl = DaoFactory.getCourseDaoImpl().get(courseId);

    request.setAttribute("course",courseImpl);

%>
<div class="panel panel-default">
    <div class="panel-heading"><span class="glyphicon glyphicon-wrench"></span> ${course.code} - <bean:message key="course.${course.degree}"/> - ${course.name}</div>
    <div class="panel-body">


        <h2>DTP</h2>

        <table class="tablesorter tablesorterfiltered">
            <thead>
            <tr>
                <th>Cod.</th>
                <th class="filter-name filter-select">Sem.</th>
                <th>Nome</th>


                <th>Sums</th>
                <th>Sums Pre</th>
                <th>Sums Falt</th>

                <th>Plan</th>
                <th class="filter-name filter-select">Ficha</th>
                <th>Aval.Enu</th>
                <th>Aval.Paut</th>
                <th class="filter-name filter-select">Relat.</th>
                <th class="filter-name filter-select">Pedag.</th>
                <th class="filter-name filter-select">Detalhes</th>



            </tr>
            </thead>
            <tbody>

            <%

                Criteria c = AbstractDao.getCurrentSession().createCriteria(CourseUnit.class)
                .setProjection(Projections.distinct(Projections.property("id")))
                .createAlias("course", "c")
                .add(eq("importYear", importYear))
                .add(eq("c.id", courseId));
                c.addOrder(Order.asc("name"));
                List<Long> courseUnits = c.list();
                for(Long unit: courseUnits)
                {
                        Long unitId =  unit;
                        CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
                        request.setAttribute("cu",cu);
                    %>
                    <tr>
                        <td>${cu.code}</td>
                        <td>${cu.semestre}</td>
                        <td><html:link target="_blank" action="/user/startLoadCourseUnitFromHome?id=${cu.id}"> ${cu.name}</html:link></td>
                        <td>${cu.statdtpSumaries}</td>
                        <td>${cu.statdtpSumariesPrelancados}</td>
                        <td>${cu.statdtpSumariesMissing}</td>
                        <td>${cu.statdtpPlaneamentoFiles}</td>
                        <td><bean:message key="yes.no.${cu.statdtpFichaCurricularValid}"/></td>
                        <td>${cu.statdtpAvaliacaoEnunciadosFiles}</td>
                        <td>${cu.statdtpAvaliacaoPautasFiles}</td>
                        <td>${cu.statdtpEvaluationReportState}</td>
                        <td>${cu.statdtpInqueritoPedagogicoFiles}</td>
                        <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>
                    </tr>
                    <%
                }

                %>

            </tbody>
        </table>

        <h2>Tabela de Aproveitamento baseada nos Relatorios de Unidades</h2>

        <table class="tablesorter tablesorterfiltered">
            <thead>
                <tr>
                    <th>Cod.</th>
                    <th class="filter-name filter-select">Sem.</th>
                    <th>Nome</th>
                    <td> Estado </td>
                    <td> Insc. </td>
                    <td> s/elem </td>
                    <td> aprov. freq. </td>
                    <td> aprov. norm. </td>
                    <td> aprov. recu. </td>
                    <td> aprov. espe. </td>
                    <td> aprov. total </td>
                    <td> 10-13 </td>
                    <td> 14-16 </td>
                    <td> 17-20 </td>
                </tr>
            </thead>
            <tbody>
<%
    for(Long unit: courseUnits)
    {
        Long unitId =  unit;
        CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
        request.setAttribute("cu",cu);
    %>
        <tr>
        <%
        if(cu.getCourseUnitEvaluation() != null)
        {

                String estado;
                if(cu.getCourseUnitEvaluation().isClosed())
                {
                    estado = "COMPLETO";
                }else if(cu.getCourseUnitEvaluation().isTeacherComplete())
                {
                    estado = "ENTREGUE";
                }else
                {
                    estado = "NÃO TERMINADO";
                }
                %>
                <td> ${cu.code} </td>
                <td> ${cu.semestre} </td>
                <%--<td><html:link target="_blank" action="/user/startLoadCourseUnitFromHome?id=${cu.id}"> ${cu.name}</html:link></td>--%>
                <td><a href="#cu${cu.id}"> ${cu.name}</a></td>
                <td> <%=estado%> </td>
                <td> ${cu.courseUnitEvaluation.numAlunosInscritos} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprovFrequencia} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprovNormal} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprovRecurso} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprovEspecial} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprovTotal} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1013} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1416} </td>
                <td> ${cu.courseUnitEvaluation.numAlunosAprov1720} </td>


                <%
        }
        else
        {
                %>
                    <td> ${cu.code} </td>
                    <td> ${cu.semestre} </td>
                    <td> ${cu.name} </td>
                    <td class="danger" colspan="11">INEXISTENTE</td>

                <%
        }
        %>
        </tr>
        <%
    }



%>
           </tbody>
        </table>


        <h2>Relatórios das Unidades</h2>
        <%
            for(Long unit: courseUnits)
            {
                Long unitId =  unit;
                CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(unitId);
                request.setAttribute("cu",cu);

         %>

                <a name="cu${cu.id}"> </a>
        <div class="panel panel-info">
            <div class="panel-heading">${cu.name} (${cu.semestre})</div>
            <div class="panel-body">


                <%
                if(cu.getCourseUnitEvaluation() != null)
                {
                    String estado;
                    if(cu.getCourseUnitEvaluation().isClosed())
                    {
                        estado = "COMPLETO";
                    }
                    else if(cu.getCourseUnitEvaluation().isTeacherComplete())
                    {
                        estado = "ENTREGUE";
                    }
                    else
                    {
                        estado = "NÃO TERMINADO";
                    }
                    %>
                    <p>Estado: <%=estado%></p>
                    <h4>Apreciação dos resultados quantitativos obtidos pelos estudantes</h4>
                    <pre>
                        ${cu.courseUnitEvaluation.qualApreciacaoQuantitivos}
                    </pre>
                    <h4>Apreciação do funcionamento da UC
                        (Condições de funcionamento da UC; problemas detetados; identificação de práticas pedagógicas de mérito ou deficientes; etc.)    </h4>
                    <pre>
                        ${cu.courseUnitEvaluation.qualApreciacaoUC}
                    </pre>
                    <h4>Apreciação do cumprimento do programa da UC
                        (Adequação das metodologias de ensino/aprendizagem utilizadas; competências efetivamente adquiridas e cumprimento dos conteúdos planificados)       </h4>
                    <pre>
                        ${cu.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma}
                    </pre>
                    <h4>Conclusões
                        (Pontos fortes e fracos; sugestões de melhoria e respetivo plano de ação para a sua concretização) </h4>
                    <pre>
                        ${cu.courseUnitEvaluation.qualConclusoes}
                    </pre>
                    <%
                }
                else
                {
                    %>
                    <p>Estado: INEXISTENTE</p>
                    <%
                }
                %>

            </div>
        </div>
                <%
            }
         %>


    </div>
</div>


<%
    AbstractDao.getCurrentSession().getTransaction().commit();
%>

Generated by GNU Enscript 1.6.5.2.