Subversion Repositories bacoAlunos

Rev

Rev 1426 | 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.QuestionarioImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.dao.impl.QuestionarioDaoImpl" %>
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ 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" %>
<%@taglib prefix="bacoTemplates" tagdir="/WEB-INF/tags" %>
<%
    String qId = request.getParameter("questionarioId");
    if(qId == null)
        qId = request.getParameter("questionario.id");
    Long questionarioId = Long.parseLong(qId);

    IServiceManager sm = ServiceManager.getInstance();
    String[] names = {"questionarioId"};
    Object[] args = {questionarioId};
    QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names);


    request.setAttribute("Questionario", questionario);


    AbstractDao.getCurrentSession().beginTransaction();
    /*JobServiceTaskImpl job = questionario.getAnswerGenerationTaskId() > 0 ?
            (JobServiceTaskImpl) DaoFactory.getJobServiceTaskDaoImpl().load(questionario.getAnswerGenerationTaskId()) :
            null;
    request.setAttribute("Job", job);
    */
    List<String> institutionCodes = ConfigProperties.getListValues("questionario.instituition.");

%>



<html:form action="/user/questionariosPaeSelectCourses">
    <jsp:useBean id="QuestionarioForm" type="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" scope="request"/>

<div class="container-fluid">


<div class="panel panel-primary">
    <div class="panel-heading">
        Atribuição de Questionários/Alunos para o Questionário ${Questionario.id} - Periodo: ${Questionario.semestre} de ${Questionario.year}
    </div>
    <div class="panel-body">
        <html:errors/>
        <jomm:messages/>



        <div class="panel panel-primary" id="institutionGerarFinal">
            <div class="panel-heading">
                Atribuição de Questionários/Alunos ao Questionário
            </div>
            <div class="panel-body">

                    <div class="col-sm-6">
                        <baco:clearOperation name="Questionario" op="QUESTIONARIO_START_ASSIGN_ANSWERS">
                            <div class="alert alert-warning">Esta operação vai atribuir questionários aos alunos das unidades curriculares seleccionadas
                                para o questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}</div>
                            <div class="alert alert-info alert-small">Esta operação poderá ser revertida ou então repetida para atualizar os questionários atribuidos</div>
                            <div class="alert alert-info alert-small">Esta operação poderá demorar alguns instantes, consulte a barra de progresso</div>
                            <html:hidden property="questionario.id" value="${Questionario.id}"/>
                            <input type="hidden" name="questionarioId" value="${Questionario.id}"/>
                            <input type="hidden" name="dispatch" value="assignAnswers"/>
                            <button class="btn btn-warning" type="button" onclick="this.form.submit()">Atribuir</button>
                        </baco:clearOperation>

                        <baco:notClearOperation name="Questionario" op="QUESTIONARIO_START_ASSIGN_ANSWERS">
                            <baco:clearOperation name="Questionario" op="QUESTIONARIO_SEE_START_ASSIGN_ANSWERS">
                                <div class="alert alert-warning">O sistema agendou a atribuição de cursos e unidades ao questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}. Veja o progresso em baixo, caso não termine no final de 30 minutos esta tarefa ficará de novo disponivel</div>
                            </baco:clearOperation>
                            <baco:notClearOperation name="Questionario" op="QUESTIONARIO_SEE_START_ASSIGN_ANSWERS">
                                <div class="alert alert-warning">Não têm autorização para ver esta secção</div>
                            </baco:notClearOperation>

                        </baco:notClearOperation>
                        <a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioLogState.jsp?questionarioId=${Questionario.id}" data-title="Registo de mudanças de estado do questionario ${Questionario.id}" data-toggle="modal" data-target="#modalAjaxRequest">
                            Registo de Mudanças de Estado
                        </a>
                    </div>

                    <div class="col-sm-6">
                        <baco:clearOperation name="Questionario" op="QUESTIONARIO_SEE_START_ASSIGN_ANSWERS">


                            <bacoTemplates:schedulleTaskProgress
                                    targetUrlWithOutContextPath="/user/questionarioPedagogicoStartAssignAnswers.do?questionarioId=${Questionario.id}"
                                    taskId="${Questionario.answerGenerationTaskId}"
                                    transactional="true"
                                    logSizeXs="true"
                                    />
                            <%--
                                if(job != null)
                                {
                                    SchedulleTasksForm schedulleTasksForm = new SchedulleTasksForm();
                                    schedulleTasksForm.setJobServiceTask(job);
                                    schedulleTasksForm.setId(job.getId());
                                    request.setAttribute("SchedulleTasksForm",schedulleTasksForm);
                                    if(job.getStatusEnum() == JobServiceTaskImpl.JobStatus.FAILED ||
                                       job.getStatusEnum() == JobServiceTaskImpl.JobStatus.UNKNOWN_ERROR ||
                                       job.getStatusEnum() == JobServiceTaskImpl.JobStatus.FINISHED_ERRORS )
                                    {
                                %>
                                <div class="alert alert-danger"><%=MessageResources.getInstance(request).getMessage("job.status."+job.getStatus())%>, Consulte o Log</div>
                                <%
                                    }
                                %>
                                <div class="task-log task-log-xs" data-href="<%=request.getContextPath()%>/user/questionarioPedagogicoStartAssignAnswers.do?questionarioId=${Questionario.id}">
                                    <jsp:include page="/admin/configuration/taskLog.jsp"/>
                                </div>
                                <%
                                }
                                else
                                {
                                %>
                                <div class="alert alert-danger">O sistema não conseguiu encontrar a tarefa de atribuição nas tarefas agendadas, por favor verifique em todos os logs de tarefas <html:link action="/user/configurationJobTasks">Aqui</html:link> </div>
                                <%
                                    }
                                %>--%>

                        </baco:clearOperation>
                    </div>

                    <div class="col-sm-12" style="margin-top: 20px">

                        <%
                            QuestionarioDaoImpl.QuestionarioStatsVars questionarioStatsVars = DaoFactory.getQuestionarioDaoImpl().loadQuestionarioStatsPedagogico(questionarioId);



                        %>
                        <div class="alert alert-info">Por favor confira estes valores com os resultados apresentados no LOG</div>
                        <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 Selecionados</th>
                            <th>Professores Selecionados</th>
                            <th>Tipologias Selecionadas</th>
                            <th>Respondidos</th>
                            <th>Por Responder</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><%=questionarioStatsVars.alunosDeUsadas%></td>
                            <td><%=questionarioStatsVars.profsDeUsadas%></td>
                            <td><%=questionarioStatsVars.tipologiasUsadas%></td>
                            <td><label class="label label-success" style="font-size: 1em"><%=questionarioStatsVars.respostasObtidas%></label></td>
                            <td><label class="label label-danger" style="font-size: 1em"><%=(questionarioStatsVars.respostasRequisitadas-questionarioStatsVars.respostasObtidas)%></label></td>
                            <td><label class="label label-info" style="font-size: 1em"><%=questionarioStatsVars.respostasRequisitadas%></label></td>

                            </tbody>
                        </table>
                    </div>
            </div>

        </div>
        <div class="col-sm-12">
            <html:link action="/user/adminQuestionario?questionario.id=${Questionario.id}#NOWTASK" styleClass="btn btn-danger">Voltar à administração</html:link>
        </div>


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

</html:form>