Rev 1406 | Rev 1583 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskImpl" %>
<%@ 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.form.configuration.SchedulleTasksForm" %>
<%@ 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" %>
<%
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">
<%
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>