Subversion Repositories bacoAlunos

Rev

Rev 1476 | 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.domain.Questionario" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.dao.impl.QuestionarioDaoImpl" %>
<%@ page import="pt.estgp.estgweb.web.form.questionarios.QuestionarioMessage" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ 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" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<html:errors/>
<jomm:messages/>
<%
    String questionarioIdStr = request.getParameter("questionarioId");
    if(questionarioIdStr == null)
        questionarioIdStr = (String) request.getAttribute("questionarioId");
    if(questionarioIdStr == null)
    {
        if(request.getAttribute("Questionario")!=null)
        {
            Questionario quest = (Questionario) request.getAttribute("Questionario");
            questionarioIdStr = quest.getId() + "";
        }

        if(request.getAttribute("QuestionarioMessage") != null)
        {
            questionarioIdStr = "" + ((QuestionarioMessage) request.getAttribute("QuestionarioMessage")).getQuestionarioId();
        }
    }

    long questionarioId = Long.parseLong(questionarioIdStr);

    AbstractDao.getCurrentSession().beginTransaction();

    QuestionarioImpl questionario = (QuestionarioImpl) DaoFactory.getQuestionarioDaoImpl().load(questionarioId);
    questionario.initClearances(UserSession,true);
    request.setAttribute("Questionario",questionario);

    if(!questionario.isClear(UserSession,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SEE_DASHBOARD.name()))
    {
        return; //NAO PODE VER O PAINEL
    }
    else
    {
        QuestionarioDaoImpl.QuestionarioStatsVars questionarioStatsVars = DaoFactory.getQuestionarioDaoImpl().loadQuestionarioStatsPedagogico(questionarioId);
%>
<div class="col-sm-6">
    <div class="alert alert-info">
        <%=questionarioStatsVars.respostasObtidas%> respostas obtidas de <%=questionarioStatsVars.respostasRequisitadas%> possiveis
    </div>
</div>
<div class="col-sm-6">
    <baco:clearOperation name="Questionario" op="QUESTIONARIO_STOP_PROCESSEMENT">
        <button class="btn btn-danger" type="button" data-toggle="modal" data-target="#confirm-ModalGeneric" data-message="Esta operação irá parar o questionário e os alunos não poderão responder!! Tem a certeza que deseja prosseguir?" data-href="<%=request.getContextPath()%>/user/questionariosPaeYearSemestre.do?dispatch=stopProcessement&questionarioId=${Questionario.id}"><span class="icon icon-stop"> </span> Parar Questionário</button>
    </baco:clearOperation>
    <baco:clearOperation name="Questionario" op="QUESTIONARIO_START_PROCESSEMENT">
        <button class="btn btn-success" type="button" data-toggle="modal" data-target="#confirm-ModalGeneric" data-message="Esta operação irá abrir o questionário para os alunos!! Tem a certeza que deseja prosseguir?" data-href="<%=request.getContextPath()%>/user/questionariosPaeYearSemestre.do?dispatch=startProcessement&questionarioId=${Questionario.id}"><span class="icon icon-play"> </span> Iniciar Questionário</button>
    </baco:clearOperation>

    <td>
        <%
            String descEncoded = URLEncoder.encode(questionario.getDescription(),"ISO-8859-1");
            request.setAttribute("descEncoded",descEncoded);
        %>
        <baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director">
            <html:link styleClass="btn btn-default" action="/user/startQuestionariosPaeMessagePedagogico.do?questionarioId=${Questionario.id}&formDescription=Mensagem para os alunos: ${descEncoded}&targetDispatch=sendEmailQuestionario&cursoAfetoOrUnidadeAfetaOrQuestionarioAfetoId=${Questionario.id}">
                <span class="glyphicon glyphicon-envelope"> </span> Enviar para todos os Cursos
            </html:link>
        </baco:hasRole>
    </td>


</div>
<div class="col-sm-12">
        <table class="tablesorter-blue">
            <thead>
            <th>Cursos Selecionados</th>
            <th>Total de Unidades</th>
            <th>Unidades Não Selecionadas</th>
            <th>Unidades Selecionadas</th>
            <th>Turmas Selecionadas</th>
            <th>Alunos com Resposta %</th>
            <th>Alunos com Resposta</th>
            <th>Alunos Selecionados</th>
            <th>Professores Selecionados</th>
            <th>Tipologias Selecionadas</th>
            <th>Respostas %</th>
            <th>Respostas</th>
            <th>Respostas Requisitadas</th>

            </thead>
            <tbody>
            <td><%=questionarioStatsVars.cursos%></td>
            <td><%=questionarioStatsVars.unidades%></td>
            <td><%=questionarioStatsVars.unidades - questionarioStatsVars.unidadesUsadas%></td>
            <td><%=questionarioStatsVars.unidadesUsadas%></td>
            <td><%=questionarioStatsVars.turmas%></td>
            <td>
                <%
                    int percentage = (int) (100.0 * ( ((float)questionarioStatsVars.alunosQueResponderam/((float)questionarioStatsVars.alunosDeUsadas))));

                    String percentageColor = "danger";
                    if(percentage < 20)
                        percentageColor = "danger";
                    else if(percentage < 40)
                        percentageColor = "warning";
                    else if(percentage < 60)
                        percentageColor = "info";
                    else
                        percentageColor = "success";
                %>
                <div class="progress">
                    <div class="progress-bar progress-bar-<%=percentageColor%>" role="progressbar" aria-valuenow="<%=percentage%>"
                         aria-valuemin="0" aria-valuemax="100" style="width:<%=percentage%>%">
                        <%=percentage%>%
                        <span class="icon icon-users"> </span>
                    </div>
                </div>
            </td>
            <td><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=questionarioStatsVars.alunosQueResponderam%></label>  <span class="icon icon-user"> </span></td>
            <td><label class="label label-primary"><%=questionarioStatsVars.alunosDeUsadas%></label>   <span class="icon icon-users"> </span></td>
            <td><%=questionarioStatsVars.profsDeUsadas%></td>
            <td><%=questionarioStatsVars.tipologiasUsadas%></td>
            <td>
                <%
                     percentage = (int) (100.0 * ( ((float)questionarioStatsVars.respostasObtidas/((float)questionarioStatsVars.respostasRequisitadas))));
                     percentageColor = "danger";
                    if(percentage < 20)
                        percentageColor = "danger";
                    else if(percentage < 40)
                        percentageColor = "warning";
                    else if(percentage < 60)
                        percentageColor = "info";
                    else
                        percentageColor = "success";
                %>
                <div class="progress">
                    <div class="progress-bar progress-bar-<%=percentageColor%>" role="progressbar" aria-valuenow="<%=percentage%>"
                         aria-valuemin="0" aria-valuemax="100" style="width:<%=percentage%>%">
                        <%=percentage%>%
                    </div>
                </div>
            </td>
            <td class="text-nowrap"><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=questionarioStatsVars.respostasObtidas%></label> <span class="icon icon icon-file-text2"> </span></td>
            <td class="text-nowrap"><label class="label label-primary" style="font-size: 1em"><%=questionarioStatsVars.respostasRequisitadas%></label> <span class="icon icon icon-files-empty"> </span> </td>

            </tbody>
        </table>
</div>
<div class="col-sm-12">
    <table class="tablesorterfiltered">
        <thead>
            <th class="filter-name filter-select">Instituição</th>
            <th>Código</th>
            <th>Curso</th>
            <th>Unidades</th>
            <th>% Alunos</th>
            <th>Alunos com resposta</th>
            <th>Alunos</th>
            <th>% Respostas</th>
            <th>Respostas</th>
            <th>Total</th>
            <baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director">
                <th></th>
            </baco:hasRole>

        </thead>
        <tbody>
    <%
        List<Long> cursos = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().findCursosAfetosIds(questionarioId);
        for(Long cursoId: cursos)
        {
            QuestionarioPedagogicoCursoAfeto cursoAfeto = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().load(cursoId);
            long respostasCurso = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().countRespostas(cursoId);
            long alunosComRespostasCurso = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().countAlunosComRespostas(cursoId);
            long alunosTotalCurso = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().countAlunos(cursoId);
            if(alunosTotalCurso == 0)
                alunosTotalCurso = 1;
            if(alunosTotalCurso == 0)
                alunosTotalCurso = 1;

            request.setAttribute("cursoAfeto",cursoAfeto);
            if(cursoAfeto.getStatRespostasRequisitadas() > 0)
            {
    %>
        <tr>
            <td><%=cursoAfeto.getNomeInstituicao()%></td>
            <td><%=cursoAfeto.getCodigoCurso()%></td>
            <td><%=cursoAfeto.getNome()%></td>
            <td>
                <a class="btn btn-default link-effect" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioCourseDashBoard.jsp?cursoAfetoId=${cursoAfeto.id}" data-title="Acompanhamento de questionários do curso (${cursoAfeto.codigoCurso}) ${cursoAfeto.nome} da ${cursoAfeto.nomeInstituicao})" data-toggle="modal" data-target="#modalAjaxRequest">
                    <%=cursoAfeto.getUnidadesAfetas().size()%> UC's
                </a>

            </td>
            <td>
                <%
                    percentage = (int) (100.0 * ( ((float)alunosComRespostasCurso/((float)alunosTotalCurso))));
                    percentageColor = "danger";
                    if(percentage < 20)
                        percentageColor = "danger";
                    else if(percentage < 40)
                        percentageColor = "warning";
                    else if(percentage < 60)
                        percentageColor = "info";
                    else
                        percentageColor = "success";
                %>
                <div class="progress">
                    <div class="progress-bar progress-bar-<%=percentageColor%>" role="progressbar" aria-valuenow="<%=percentage%>"
                         aria-valuemin="0" aria-valuemax="100" style="width:<%=percentage%>%">
                        <%=percentage%>%
                        <span class="icon icon-users"> </span>
                    </div>
                </div>

            </td>
            <td><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=alunosComRespostasCurso%> </label> <span class="icon icon-user"> </span> </td>
            <td><label class="label label-primary" style="font-size: 1em"><%=alunosTotalCurso%></label> <span class="icon icon-users"> </span></td>
            <td>
                <%
                    percentage = (int) (100.0 * ( ((float)respostasCurso/((float)cursoAfeto.getStatRespostasRequisitadas()))));
                    percentageColor = "danger";
                    if(percentage < 20)
                        percentageColor = "danger";
                    else if(percentage < 40)
                        percentageColor = "warning";
                    else if(percentage < 60)
                        percentageColor = "info";
                    else
                        percentageColor = "success";
                %>
                <div class="progress">
                    <div class="progress-bar progress-bar-<%=percentageColor%>" role="progressbar" aria-valuenow="<%=percentage%>"
                         aria-valuemin="0" aria-valuemax="100" style="width:<%=percentage%>%">
                        <%=percentage%>%

                        <span class="icon icon-stack"> </span>
                    </div>
                </div>
            </td>
            <td><label class="label label-<%=percentageColor%>" style="font-size: 1em"><%=respostasCurso%></label> <span class="icon icon-file-text2"> </span></td>
            <td><label class="label label-primary" style="font-size: 1em"><%=cursoAfeto.getStatRespostasRequisitadas()%></label> <span class="icon icon icon-files-empty"> </span></td>
            <baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director">
            <td>
                <%
                    String nomeCursoEncoded = URLEncoder.encode(cursoAfeto.getNome(),"ISO-8859-1");
                    request.setAttribute("nomeCursoEncoded",nomeCursoEncoded);
                %>
                <html:link styleClass="btn btn-default" action="/user/startQuestionariosPaeMessagePedagogico.do?questionarioId=${Questionario.id}&formDescription=Mensagem para os alunos do curso ${nomeCursoEncoded} (${cursoAfeto.codigoCurso})&targetDispatch=sendEmailQuestionarioCursoAfeto&cursoAfetoOrUnidadeAfetaOrQuestionarioAfetoId=${cursoAfeto.id}">
                    <span class="glyphicon glyphicon-envelope"> </span>
                </html:link>
            </td>
            </baco:hasRole>
        </tr>
    <%
            }
        }
        AbstractDao.getCurrentSession().getTransaction().commit();
    %>
        </tbody>
    </table>

</div>
<%
    }//FIM DE PAINEL CLEARED
%>

Generated by GNU Enscript 1.6.5.2.